User Tag List

Показано с 1 по 10 из 95

Тема: Косметический ремонт REX-2

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,101
    Спасибо Благодарностей отдано 
    1,335
    Спасибо Благодарностей получено 
    322
    Поблагодарили
    151 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А вот что выяснилось на последнем стриме. Ввод пароля на Еве не получался. Буковки выстреливали с немыслимой скоростью. Нажав "8" получали "88888888888".
    Покопался. Оказалось что отжатие кнопки ждётся... изменением считанного из порта байта. Вместе со старшими тремя битами. А если в них шум, или сигнал с мафона, то вот и получается резкое "отжатие", хотя физически кнопку палец ещё держит. А значит следом будет резкое нажатие, и так далее.
    Подправил код, чтобы учитывалось изменение только младших 5 бит.
    Попутно выяснилось, что вводить можно весьма странно, нажимая и пережимая одновременно несколько клавиш. А кнопку аш("H") и пробел ввести не получается.

    Подробности

    Код:
            ORG  0DD9BH          ORG  0DD9BH
                    ; DD9B - jump/call references:
                    ; JP from DDF6H, DDFBH, DE07H
            PUSH IY                         ;DD9B   FDE5
                    ; DD9D - jump/call references:
                    ; JP from DDCCH
            LD   IX,AE1AH                   ;DD9D   DD211AAE
            LD   IY,AE2AH                   ;DDA1   FD212AAE
            LD   B,08H                      ;DDA5   0608
                    ; DDA7 - jump/call references:
                    ; DJNZ from DDCAH
            PUSH BC                         ;DDA7   C5
            LD   C,(IX+00H,AE24H)           ;DDA8   DD4E00
            LD   B,(IX+01H,AE25H)           ;DDAB   DD4601
            LD   (A244H),BC                 ;DDAE   ED4344A2
            IN   A,(C)                      ;DDB2   ED78
    ; Сканируем порты
            LD   B,05H                      ;DDB4   0605
            LD   E,00H                      ;DDB6   1E00
            LD   D,A                        ;DDB8   57
                ; DDB9 - jump/call references:
                ; DJNZ from DDBEH
            RRCA                            ;DDB9   0F
    ; Сканируем кнопки
            JP   NC,DDCFH                   ;DDBA   D2CFDD
    ; в поисках нажатой
            INC  E                          ;DDBD   1C
            DJNZ DDB9H                      ;DDBE   10F9
            POP  BC                         ;DDC0   C1
            INC  IX                         ;DDC1   DD23
            INC  IX                         ;DDC3   DD23
            LD   DE,0005H                   ;DDC5   110500
            ADD  IY,DE                      ;DDC8   FD19
            DJNZ DDA7H                      ;DDCA   10DB
            JP   DD9DH                      ;DDCC   C39DDD
                ; DDCF - jump/call references:
                ; JP from DDBAH
    ; нашли нажатую кнопку
            POP  BC                         ;DDCF   C1
            PUSH DE                         ;DDD0   D5
    ; Совершенно ненужный пуш
                ; DDD1 - jump/call references:
                ; JP from DDDAH
            LD   C,(IX+00H,AE24H)           ;DDD1   DD4E00
            LD   B,(IX+01H,AE25H)           ;DDD4   DD4601
            IN   A,(C)                      ;DDD7   ED78
    ; Читаем снова, из того-же порта
            CP   D                          ;DDD9   BA
    ; Сравниваем, совпадает ли с первоначальным значением !!!!!!!!!
            JP   Z,DDD1H                    ;DDDA   CAD1DD
    ; Если не совпадает, то значит кнопку отжали!!!????
     ; А может не отжали, а просто скачат биты 5,6,7, один из которых сигнал с мафона!
            LD   A,E                        ;DDDD   7B
            SLA  A                          ;DDDE   CB27
            SLA  A                          ;DDE0   CB27
            SLA  A                          ;DDE2   CB27
            LD   D,47H                      ;DDE4   1647
            ADD  D                          ;DDE6   82
    ; лишняя пересылка в D. Можно сразу ADD 47h
            LD   (A246H),A                  ;DDE7   3246A2
            POP  DE                         ;DDEA   D1
    ; соотретственно ненужный поп, в E и так нужное значение.
            LD   D,00H                      ;DDEB   1600
            ADD  IY,DE                      ;DDED   FD19
            LD   A,(IY+00H,AE43H)           ;DDEF   FD7E00
            POP  IY                         ;DDF2   FDE1
            CP   A,20H                      ;DDF4   FE20
            JP   Z,DD9BH                    ;DDF6   CA9BDD
            CP   A,48H                      ;DDF9   FE48
            JP   Z,DD9BH                    ;DDFB   CA9BDD
            LD   IY,DE13H                   ;DDFE   FD2113DE
            LD   B,05H                      ;DE02   0605
                ; DE04 - jump/call references:
                ; DJNZ from DE0CH
            CP   (IY+00H,AE43H)             ;DE04   FDBE00
            JP   Z,DD9BH                    ;DE07   CA9BDD
            INC  IY                         ;DE0A   FD23
            DJNZ DE04H                      ;DE0C   10F6
            LD   IY,DE13H                   ;DE0E   FD2113DE
            RET                             ;DE12   C9
    
    
    Патч заключался в замене
            CP   D                          ;DDD9   BA
    На
            XOR  D
            AND  1Fh
    То есть на сравнение не всего байта, а только младших 5-ти бит.
    [свернуть]
    Вложения Вложения
    • Тип файла: zip REX2m4.zip (28.7 Кб, Просмотров: 120)
    Последний раз редактировалось Reobne; 02.06.2022 в 21:32. Причина: Вставил подробности

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    4,967
    Спасибо Благодарностей отдано 
    1,074
    Спасибо Благодарностей получено 
    1,170
    Поблагодарили
    913 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    А кнопку аш("H") и пробел ввести не получается.
    Это потому что они захардкожены на Паузу и Смарт-бомбу, видимо.
    Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.

    Seamos realistas y hagamos lo imposible!

    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

    Скрытый текст

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

  4. #3

    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,691
    Спасибо Благодарностей отдано 
    302
    Спасибо Благодарностей получено 
    223
    Поблагодарили
    159 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    Ввод пароля на Еве не получался. Буковки выстреливали с немыслимой скоростью.
    Оно не только на Еве. Именно по этой причине не смог когда-то давно играть на 48м клоне.
    Heavy on the disasm
    Eric and the disasm
    Mask 3: Venom strikes disasm
    Bard's disasm

  5. #4

    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,101
    Спасибо Благодарностей отдано 
    1,335
    Спасибо Благодарностей получено 
    322
    Поблагодарили
    151 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Bedazzle, Авторы Rex-а торопились наверное. Как вообще это раньше не замечали.

    Хорошо, что они оставили совершенно ненужные PUSH-POP, и LD D,NN: ADD D вместо ADD NN. Легко было пропатчить, стерев этот балласт.

    - - - Добавлено - - -

    А кто нибудь замечал, что лазер на максимальной энергии коротко бьёт? Как думаете, глюк или так и надо?

  6. #5

    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    4,967
    Спасибо Благодарностей отдано 
    1,074
    Спасибо Благодарностей получено 
    1,170
    Поблагодарили
    913 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    Подправил код, чтобы учитывалось изменение только младших 5 бит.
    Работает отлично! Никаких дребезгов!

    - - - Добавлено - - -

    Цитата Сообщение от Reobne Посмотреть сообщение
    А кто нибудь замечал, что лазер на максимальной энергии коротко бьёт? Как думаете, глюк или так и надо?
    Что коротко бьет замечал, не смотрел на прокачку. Может так и хотели, а может перепутали.
    Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.

    Seamos realistas y hagamos lo imposible!

    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

    Скрытый текст

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

    Эти 2 пользователя(ей) поблагодарили Black Cat / Era CG за это полезное сообщение:

    Oleg N. Cher(08.06.2022), Reobne(02.06.2022)

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ремонт Пентагона
    от geners в разделе Pentagon
    Ответов: 56
    Последнее: 29.11.2011, 09:47
  2. Ремонт Профи
    от molodcov_alex в разделе Profi
    Ответов: 7
    Последнее: 19.06.2008, 15:42
  3. Ремонт Профи
    от spleen в разделе Profi
    Ответов: 2
    Последнее: 07.04.2006, 13:23
  4. Ремонт дисководов в PDF
    от fk0 в разделе Пресса
    Ответов: 0
    Последнее: 06.02.2006, 12:18
  5. Ремонт фирменного 48-го
    от kgbplus в разделе Зарубежные модели
    Ответов: 2
    Последнее: 11.03.2005, 20:43

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •