Автор Тема: Атло 90Ф, не вижусь по USB и очень хочу дату-время.  (Прочитано 5262 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн tridentxp

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 7506
  • Похвалили: 1109 раз(а)
  • Он умер.
  • Откуда: ARMвиль
ЖЕСТЦТЬ! уже собрался кирпич подкидывать. просьба нервных беременных кормящих детей покинуть эту страницу. попадает в мои руки после другого хирурга поциент, определяющийся в системе как и положено двумя SOM портами, наотрез отказывающийся вязацо с ТД и жестоко клянчит в чеке ввести время. вход в любой режим заблокирован E163-030. жму из выбора умножить ->00-00-00, ИТ->00-00, ввожу время - ошибка E130-005. тех обнул с клавы не помогает. пинцечу при ВКЛ DD2 лапы 5 и 8, получаю вожделенную E130-025, бутяву в ON->eRASE. и опять нефига не помогает - хочу время и всё тут. пробовал акум и боторевку скинуть шоб как на элвесе выйти на запрос даты - времени - хрен там. сразу ВЫБОР и 163-030 на любой клавише. панян - кварёц как обычно моск полощет. меняю - обратно хрен вам. тыкаюсь осцилом - 32К на месте, разве что амплитуда в два раза меньше чем на атло55 в5.6. подкинул несколько - не, амплитуда мелкая. ну чо думаю - хана кирпичу ? почесал репу - не хотите по плохому, по - хорошему ещё хуже будет, всё равно затолкаю дату, хоть и ректально, но затолкаю. у мну же есть jlink и commander к нему (ВАААУУУ), значит я могу тормознуть ядро и насильственно затолкать дату_время в переферию керпеча. цепанулся, и думаю: мож преколоца и флеху утереть стопудово ? в загрузчике 2893 алтла 90 нашёлся адресок 0x1FF9, который пихает флехе команды unlock (06) & total erase (60). пинул туда керпич, И АЛЕЛУЯ, ПОЦИЕНТ ОЖИЛ ! сразу при вкл просит дату ввести. вот чо этой скотине надо было ?
то, что дарвин и вы называете эволюцией, является лишь умыслом Отца.
 

Оффлайн Nucukota

  • Активный форумчанин
  • Бывалый
  • **
  • Сообщений: 46
  • Похвалили: 15 раз(а)
  • Откуда: Нижний Новгород
А мож FlashMagicom надо было boot перешить с полным стиранием flash и последующей перепрошивкой с тех.обнулом и вводом даты-времени?
 

Оффлайн tridentxp

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 7506
  • Похвалили: 1109 раз(а)
  • Он умер.
  • Откуда: ARMвиль
А мож FlashMagicom надо было boot перешить с полным стиранием flash и последующей перепрошивкой с тех.обнулом и вводом даты-времени?
ставил проверенный временем образ бута + прошивы 3975. не помогло.
то, что дарвин и вы называете эволюцией, является лишь умыслом Отца.
 

Оффлайн Nucukota

  • Активный форумчанин
  • Бывалый
  • **
  • Сообщений: 46
  • Похвалили: 15 раз(а)
  • Откуда: Нижний Новгород
Кста, а jlink ты цепляешь через такой малюююсенький разьем? Песали, што разьем от web-камеры от ноута подходит. Это так?
 

Оффлайн Nucukota

  • Активный форумчанин
  • Бывалый
  • **
  • Сообщений: 46
  • Похвалили: 15 раз(а)
  • Откуда: Нижний Новгород
ставил проверенный временем образ бута
А jlink трет flash?
 

Оффлайн tridentxp

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 7506
  • Похвалили: 1109 раз(а)
  • Он умер.
  • Откуда: ARMвиль
Кста, а jlink ты цепляешь через такой малюююсенький разьем? Песали, што разьем от web-камеры от ноута подходит. Это так?
всю мастерскую олазил, не нашёл ничо похожего. отломал от разъёма верхнюю кромку, выломал SWO и 3V пины, да запаялся на CLK & DIO.
то, что дарвин и вы называете эволюцией, является лишь умыслом Отца.
 

Оффлайн Nucukota

  • Активный форумчанин
  • Бывалый
  • **
  • Сообщений: 46
  • Похвалили: 15 раз(а)
  • Откуда: Нижний Новгород
unlock (06) & total erase (60)
Пардон, пропустил.. )
 

Оффлайн PuRGen

  • Наш человек
  • Эксперт
  • ***
  • Сообщений: 4887
  • Похвалили: 1257 раз(а)
  • Роман
  • Откуда: Камышлов Свердловская обл.
Кста, а jlink ты цепляешь через такой малюююсенький разьем? Песали, што разьем от web-камеры от ноута подходит. Это так?
от орезчика штриха вроде брали, лишнее откусили кусачками.
 

Оффлайн tridentxp

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 7506
  • Похвалили: 1109 раз(а)
  • Он умер.
  • Откуда: ARMвиль
А jlink трет flash?
о какой флехе идёт речь ? внутреннюю флеху стирал FM-ом перед установкой образа. внешнюю SPI флеху тереть мона через JTAG-BOUNDARY SCAN - но это пипец морока. считай надо все правадки группы jtag поять, да писать софты - гемор вощем.
то, что дарвин и вы называете эволюцией, является лишь умыслом Отца.
 

Оффлайн Nucukota

  • Активный форумчанин
  • Бывалый
  • **
  • Сообщений: 46
  • Похвалили: 15 раз(а)
  • Откуда: Нижний Новгород
Я 29.12 получил аппарат для перепрошивки под ндс 20 и перевод этого чуда техники ффд 1.0 --> 1.05. И всё бы ничего, если бы загрузчик был 2893. А там, ссу-у-ука, 24-хер знает что. Пришлось курнуть схемку, там на незадействованный разьем uart выведен. Вот FlashMagicom и завалил 2893. Ну а дальше по накатанной.. Паять пришлось три проводка..
 

Оффлайн ser76

  • Активный форумчанин
  • Эксперт
  • **
  • Сообщений: 1018
  • Похвалили: 89 раз(а)
Кста, а jlink ты цепляешь через такой малюююсенький разьем? Песали, што разьем от web-камеры от ноута подходит. Это так?
Подходит от Штрих-М-ФРК,Ф  разъём от кабеля платы индикации.
 

Оффлайн tridentxp

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 7506
  • Похвалили: 1109 раз(а)
  • Он умер.
  • Откуда: ARMвиль
от орезчика штриха вроде брали, лишнее откусили кусачками.

не - первым делом попробовал. у штриха 4 пина, а в 90-ом - 5 и шаг меньше.
то, что дарвин и вы называете эволюцией, является лишь умыслом Отца.
 

Оффлайн tridentxp

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 7506
  • Похвалили: 1109 раз(а)
  • Он умер.
  • Откуда: ARMвиль
Паять пришлось три проводка..
об этом даже в яслях знают. дополнительно плясать приходица если вафля интегринная.
то, что дарвин и вы называете эволюцией, является лишь умыслом Отца.
 

Оффлайн maxkkt

  • Наш человек
  • Старожил
  • ***
  • Сообщений: 308
  • Похвалили: 21 раз(а)
  • Откуда: Краснодарский край
Я в ноуте нашёл на 6, аккуратно отрезал и как родной
 

Оффлайн PuRGen

  • Наш человек
  • Эксперт
  • ***
  • Сообщений: 4887
  • Похвалили: 1257 раз(а)
  • Роман
  • Откуда: Камышлов Свердловская обл.
Может про разные штрихи речь? Брали от штрих м фр к, он же модернизированый до штрих м 02ф, а может не отрезчик, но точно к принтеру.
Хотя не в 90ф примеряли, а в 92ф. должны быть одинаковые разьемы.
Мля, в понедельник посмотрю.
 

Оффлайн SER1

  • Активный форумчанин
  • Свой в доску
  • **
  • Сообщений: 57
  • Похвалили: 7 раз(а)
Может он хотел этого?
4. Проверить состояние ККТ, подав команду Запрос кода состояния ККТ (45h). Если ККТ находится в
режиме «Выбор», то ККТ готова к работе. Если ККТ находится в режиме 7.10 «ККТ не
инициализирована», но нужно выполнить пункты 5–9 данной инструкции.
5. Перейти на вкладку Нижний уровень. Подать команду аварийного выхода из дополнительного
режима 7.10 (EC 02).
 

Оффлайн ДОЛГОПОЛОВ

  • Наш человек
  • Эксперт
  • ***
  • Сообщений: 2252
  • Похвалили: 619 раз(а)
  • Работаю на алкоголе и табаке
  • Откуда: Киров
Может про разные штрихи речь? Брали от штрих м фр к
Шлейф платы индикации Штрих Лайт подходит.
ФН странный предмет, хочешь купить, его сразу нет.
 

Оффлайн tridentxp

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 7506
  • Похвалили: 1109 раз(а)
  • Он умер.
  • Откуда: ARMвиль
5. Перейти на вкладку Нижний уровень. Подать команду аварийного выхода из дополнительного
режима 7.10 (EC 02).
я ж сказал, что не вязался он с компом !
то, что дарвин и вы называете эволюцией, является лишь умыслом Отца.
 

Оффлайн Market-Master

  • Наш человек
  • Эксперт
  • ***
  • Сообщений: 2165
  • Похвалили: 295 раз(а)
  • ФП,ЭКЛЗ,ФН-ДАЛЬШЕ ЧТО?!!!
  • Откуда: Липецк
Про одно не написал,че тот хирюрг там наделал-как он керпич загнал в такой блудняк,талант однако.
 

Оффлайн eye13ss

  • Активный форумчанин
  • Постоялец
  • **
  • Сообщений: 142
  • Похвалили: 14 раз(а)
5. Перейти на вкладку Нижний уровень. Подать команду аварийного выхода из дополнительного
режима 7.10 (EC 02).
я ж сказал, что не вязался он с компом !

был такой аппарат, фн отсоединял, и связь с компьютером появлялась.
 

Оффлайн tridentxp

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 7506
  • Похвалили: 1109 раз(а)
  • Он умер.
  • Откуда: ARMвиль
такой аппарат, фн отсоединял, и связь с компьютером появлялась.
блин, вот чот не догадался такой вариант обыграть. но ведь он, собакин сын на кнопки реагировал . . . еже ли чо у мну нефискальный был.
то, что дарвин и вы называете эволюцией, является лишь умыслом Отца.
 

Оффлайн tridentxp

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 7506
  • Похвалили: 1109 раз(а)
  • Он умер.
  • Откуда: ARMвиль
Про одно не написал,че тот хирюрг там наделал-как он керпич загнал в такой блудняк,талант однако.
он у него сразу из коробки с компом не вязался. потом по моим подсказакам по телефону чо тока не делали. . . а чо он без моих подсказок делал - хз.
то, что дарвин и вы называете эволюцией, является лишь умыслом Отца.
 

Оффлайн Олег1950

  • Наш человек
  • Эксперт
  • ***
  • Сообщений: 1238
  • Похвалили: 168 раз(а)
  • Откуда: Питер
Почти аналогичный случай: было 2908 и 2893, перешиванию на 20%, не проходит, шью 6525 с использованием джампера , чек Автотестирование не выходит, перешиваю boot, пробую и на 6525 и на 6085, все шьется , но чека Автотестирования нет , с ПК не связаться, ККТ выходит на неверный код защиты и перезапуск самопроизвольно и постоянно, инициализацию не сделать.
Надоело, потратил уже час. Итог: заменил 25L1606, записал 6525, есть чек Автотестирование, сделал инициализацию и по новому через утилиту записал 10-7733.
И это уже четыре замены DD2 при почти аналогичных случаях. До начала прошивки все работало. Какая-то грязь залетает во Флеху и превращает ККТ в ХЗ-что.
Так что при следующем затыке и чтобы не тратить время , менять или почистить флеху.
tridentxp почистил флеху внутрисхемно как я понял. И это правильно. Но у него проблема во флехе проца скорее всего была , а у меня во внешней флехе.
« Последнее редактирование: 12/01/2019 01:32:02 от Олег1950 »
 

Оффлайн tridentxp

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 7506
  • Похвалили: 1109 раз(а)
  • Он умер.
  • Откуда: ARMвиль
tridentxp почистил флеху внутрисхемно как я понял. И это правильно. Но у него проблема во флехе проца скорее всего была , а у меня во внешней флехе.
у мну как раз и была проблема с внешней флехой. утёр её да средством swd (НЕ ISP ! ! ! заставить кирпич выполнить задачи SPI), не выпаивая, а догадываясь о скрытых возможностях бута версии 2893. тут просто надо знать чо в консоле jtag commander посылать. парни, простите, внешне может показаца что МНУ ГОРДЫНЯ прёт. нет (ну может малясь - простите дурака грешного). просто если кому интересно и есть аппаратура - подскажем. тоесть можно утрахаца: сдуть флеху (Слава Богу всего 8 лап, а не 56 TSOP), на программаторе её зачистить, потом обратно в зать вертать. а можно жлинком накинуть 2 IF + 1 GND проводка и в консоле мало мало побарабанить. кому чо проще.
то, что дарвин и вы называете эволюцией, является лишь умыслом Отца.
 

Оффлайн PuRGen

  • Наш человек
  • Эксперт
  • ***
  • Сообщений: 4887
  • Похвалили: 1257 раз(а)
  • Роман
  • Откуда: Камышлов Свердловская обл.
tridentxp, Кто хотел, с первого поста понял, что в буте есть некий фрагмент кода, который чистит флеху.
Но не всем понятно где этот код и как жлинком полать проц к этому черту.
Так чистить, всяко быстрей, чем сдувать.
А от мусора во флехе, чудеса непредсказуемые случаются.
« Последнее редактирование: 12/01/2019 12:59:46 от PuRGen »
 

Оффлайн Олег1950

  • Наш человек
  • Эксперт
  • ***
  • Сообщений: 1238
  • Похвалили: 168 раз(а)
  • Откуда: Питер
tridentxp, Кто хотел, с первого поста понял, что в буте есть некий фрагмент кода, который чистит флеху.
Но не всем понятно где этот код и как жлинком полать проц к этому черту.
Так чистить, всяко быстрей, чем сдувать.
А от мусора во флехе, чудеса непредсказуемые случаются.
. Все делается быстро, когда локализовался до дефектной точки. И сдуть микру 8 ног быстро и почистить флеху быстро.
Последний момент современнее и интереснее, но нужны какие-то знания программиста. Я в этом не спец и судить не могу. Но очень интересно. Я ремонтник и мне проще найти и заменить.
 

Оффлайн PuRGen

  • Наш человек
  • Эксперт
  • ***
  • Сообщений: 4887
  • Похвалили: 1257 раз(а)
  • Роман
  • Откуда: Камышлов Свердловская обл.
Олег1950, Если понадобится делать в полях, то проще иметь ноут с жлинком, чем ноут с программатором и паяльной станцией.
 

Оффлайн PuRGen

  • Наш человек
  • Эксперт
  • ***
  • Сообщений: 4887
  • Похвалили: 1257 раз(а)
  • Роман
  • Откуда: Камышлов Свердловская обл.
Может про разные штрихи речь? Брали от штрих м фр к
Шлейф платы индикации Штрих Лайт подходит.
Точно! Поскольку занесло в офис, посмотрел окуда брали.
Просто эта плата прикручена к отрезчику вот в голове такое и отложилось.
 
Это сообщение считают полезным: Олег1950

Оффлайн Олег1950

  • Наш человек
  • Эксперт
  • ***
  • Сообщений: 1238
  • Похвалили: 168 раз(а)
  • Откуда: Питер
Олег1950, Если понадобится делать в полях, то проще иметь ноут с жлинком, чем ноут с программатором и паяльной станцией.
Согласен с Вами насчет полей, но я на капиталке и все несут мне в офис.
А Вам  с  tridentxp  большая уважуха.
 

Оффлайн MOTOR

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 3591
  • Похвалили: 784 раз(а)
Если понадобится делать в полях, то проще иметь ноут с жлинком, чем ноут с программатором и паяльной станцией.
А еще лучше башку, как у Трайдента (Валентин, не забывай надевать каску)
 

Оффлайн PuRGen

  • Наш человек
  • Эксперт
  • ***
  • Сообщений: 4887
  • Похвалили: 1257 раз(а)
  • Роман
  • Откуда: Камышлов Свердловская обл.
У меня был похожий случай, тоже сильно хотел дату. Перешил в него всякие прошивки, включая стирание заводского номера, в итоге увиделся и ec 02 его оживил.
Но у того и до прошивки был прикол, он работал только при подключенном сетевом питании, стоиловыдернуть из сети и на экране надпись атол, как в режиме фр, владельза это не сильно парило. Как я его перешил в 1.05 с заменой фн, он ушел в себя))
 

Оффлайн tridentxp

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 7506
  • Похвалили: 1109 раз(а)
  • Он умер.
  • Откуда: ARMвиль
(1)Но не всем понятно где этот код и (2) как жлинком полать проц к этому черту.
1) опыт - дело наживное. своим подскажем где и что.
2) тут веселее. отчего то мой клон не пишет в PC (R15), тоесть взять и скондочка заставить прыгнуть ядро в куда я хочу чот не получется. приходица делать через попу: кидаю halt (или просто h) - усё - стоим. commander сразу отплёвывает состояние ядра. по R15 (PC) видим где стоим. смотрим IDAу. находим выход из функции - как правило BX LR. может и не повезти в следствии многозадачности - BX R_любой. вощем ставим бряк на выходе - wrbp ADR. жмём g (go), на бряке пишем wreg r14,1ff9 если BX LR, или wreg r_какой_хз если прыжок на нём завязан, ну и опять go. кстати, загрузчики 55-ых и 22-ых не смотря на идентичность железа  отличаюца.
у ARMов 16 регистров. r0-r15. r0-r12 - как говорил Ленин о Троцком - делай чо хошь, но с вот этими тремя лучше не связываца в контексте кода:
R15 - подпольная кличка PC (program counter) - характер нордический.
R14 - подпольная кличка LR (link register) - характер мягкий, покладистый.
R13 - подпольная кличка SP (stack pointer) - со стеком вааще шутки плохи.
армы могут arbeit в двух режимах: arm и thumb (thumb2 у кортехов). различаюца эти режимы размером инструкции 4 или 2 байта соответственно. переход между этими режимами осуществляется с помощью комманды прыжка. если переход осуществляется по чётному адресу, то ядро переходит в режим arm. если нечётному, то thumb. в отличии например от интельской архитекутры, армы кастрированы на инструкцию call, из за чего быдлокодеру компилятору приходица следить за адресом возврата. благо ARM Ltd. слегка пошла на встречу человечеству копируя адрес возврата для инструкций BL (branch with link) в R14. а ещё у армов нириальные траблы с константами. вощем то следствие архитектуры. шоб в какой нить регистр загнать чесло а ля 0xF3689561 приходица мучицо. самый простой способ - это число прописать как кусок кода, а потом его косвенно загружать типа mov r0,[r15,#some_offset] и постоянно вcё это безобразие всячески обходить и перепрыгивать.
« Последнее редактирование: 13/01/2019 11:14:30 от tridentxp »
то, что дарвин и вы называете эволюцией, является лишь умыслом Отца.
 
Это сообщение считают полезным: Nucukota

Оффлайн Two_byte

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 1773
  • Похвалили: 300 раз(а)
  • Не впихуйте невпихуемое!
  • Откуда: Ногинск
шоб в какой нить регистр загнать чесло а ля 0xF3689561 приходица мучицо. самый простой способ - это число прописать как кусок кода, а потом его косвенно загружать типа mov r0,[r15,#some_offset] и постоянно вcё это безобразие всячески обходить и перепрыгивать.
А я то думал, что за извраты в коде???, грешил на компилятор ну и воспринимал как должное. Просто арму пока не очень знаю.
 

Оффлайн svv

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 3470
  • Похвалили: 1271 раз(а)
Кста, а jlink ты цепляешь через такой малюююсенький разьем? Песали, што разьем от web-камеры от ноута подходит. Это так?
от орезчика штриха вроде брали, лишнее откусили кусачками.
и шо ви мучаетесь, есть же готовый 5 пиновый: Кабель модуля индикатора Атол 77  AL.P070.62.000
 

Оффлайн zival

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 1124
  • Похвалили: 287 раз(а)
  • Откуда: Челябинск
Попал в подобную ситуацию в полях 3 ККМ удаленно проверил, на каждом загрузчик 2893, прошивка 2908. Прошиваю НДС-ную прошивку, неверный код защиты- перезагрузка и по циклу. Зашиваю обратно 2908 -все работает. Все три ККМ ведут себя абсолютно одинаково.
Проблема решал следующим образом, метод на уровне шаманства, но все три ККМ прошил на месте.
1. Прошиваем ККМ прошивкой 2908, ККМ выходит на связь с компьютером.
2. Изымаем ФН и не ставим ее до самого конца прошивки.
3. Изымаем батарейку и снова ее ставим.
4. Делаем тех. обнуление из 8 дров. Тут получается какой то затык, если делать тех. обнуление из 10 дров, то ККМ после обнуления не видится ни в какую, если делать с 8 дров, то все проходит успешно. Проверял несколько раз каждый раз на 10 затыкалось, на  все проходило на 8 дровах. Как человек понимающий немного в протоколах обмена ККМ-ПК понимаю, что это невозможно, как практик - проверял несколько раз, ситуация повторялась стабильно. 
5. Важно! Проверяем, что ККМ видит АКБ, для этого запускаем информацию о ККМ (00-30-ИТ-1) , напротив строчки аккумулятор должно стоять напряжение в вольтах. Если стоит слово "нет", прошивать бесполезно - не прошьется, гарантия 100%.  Дрочим включение-выключение пока слово "нет" не сменится на на напряжение в вольтах.
6. Не выдергиваем блок питания из розетки, а выдергиваем разъем из ККМ.
7. Заходим в программирование, ИТ на выключенном ККМ втыкаем разъем в ККМ (не блок питания в розетку, а именно разъем в ККМ).
8. Прошиваем ККМ НДС-ной прошивкой.
9. О чудо! ККМ прошивается, но при этом хочет  EC 02 и установку времени при этом не видится в 10 дровах, в 8 дровах видится без проблем. При попытке подключится 10 дровами уходит в задумчивость и больше не видится даже в 8 дровах (смотри пункт 1). Если сразу подключится 8 дровами, то команда EC 02 проходит, дата время программируется
10. Еще раз прошиваем ККМ НДС-ной прошивкой.
11. Ставим ФН на место.

Проверено на 3 ККМ
 
В чем разница между 10 и 8 дровами не понял, если бы не сам прошивал, то ни за что бы не поверил. Но однозначно команда техобнуления и инициализация таблиц уводит ККМ в НДС-ной прошивке состояние задумчивости при этом ККМ не теряет основных функций, брызжет разнообразными ошибками, реагирует на бумагу и клавиатуру, причем как ее их этого состояния вывести так и не понял,кроме как вернуться обратно на 2908.                                                                                                                     
 
Это сообщение считают полезным: jindos, tridentxp, 7SSS7

Оффлайн tridentxp

  • Резидент
  • Эксперт
  • ****
  • Сообщений: 7506
  • Похвалили: 1109 раз(а)
  • Он умер.
  • Откуда: ARMвиль
А я то думал, что за извраты в коде???, грешил на компилятор ну и воспринимал как должное. Просто арму пока не очень знаю.
угумс. простые числа (от 0 до 255 и сдвинутые в лево на произвольное от 0 до 32 бит) можно присвоить одной коммандой. осталные - как писал выше или суммированием и наложением простых. вот 0x0200001 - сложное. получить можно:
MOV R0,#1 
ORRS R0,R0,LSL#21

« Последнее редактирование: 14/01/2019 15:42:46 от tridentxp »
то, что дарвин и вы называете эволюцией, является лишь умыслом Отца.
 
Это сообщение считают полезным: dan

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23