
Сообщение от
Alex_K
Вот где находится обработка управляющих команд и Esc-последовательностей?
У меня немножечко свои мнемоники в асме) Мне понятные.
Вот здесь выбирается одна из таблиц $608 или $648, в зависимости от системы команд.
Код:
; Если не служебный код(?), то --> $2CB
02B6 30 60 LD A,$60 ; Если (R7 & 0x60) <> 0,
02B8 97 AND A,R7 ; то --> $2CB
02B9 52 DECSN A ;
02BA 12 CA JMP $02CB ;
02BC DB LD A,R11 ;Если R11[1] = 0 (2-ая система команд),
02BD 35 ROR A ;то --> $02C7
02BE 35 ROR A ;
02BF 85 SKIPC S ;
02C0 12 C6 JMP $02C7 ;
;1-ая система команд
02C2 25 08 LD R5,$08
-->
02C4 D7 LD A,R7
02C5 16 02 JMP $0603 ;==> $0603
-->
02C7 25 48 LD R5,$48
02C9 12 C3 JMP $02C4
Затем из таблицы берется обработчик:
Код:
; Обработка служебного кода?
0603 D7 LD A,R7 ; --> (R5 + R7*2)
0604 33 ROL A ;
0605 05 ADD A,R5 ;
0606 E5 LD R5,A ;
0607 75 JMP R5 ;
---------- Post added at 12:49 ---------- Previous post was at 12:47 ----------

Сообщение от
Alex_K
Подергивания не заметил. Но прицепил к эмулятору dump5.bin, так там с обработкой управляющих кодов полный ахтунг. Возврат каретки работает как пробел, табуляция как перевод строки, Esc-последовательности не обрабатываются.
Наберите dir несколько раз, и при включенном дискретном скроллинге будут промелькивать на экране артефакты.
Да, что-то может не работать, я же мог и ошибиться в эмуляции процессора или каких-то флагов)
---------- Post added at 12:55 ---------- Previous post was at 12:49 ----------

Сообщение от
Alex_K
Как же это так залочили? А то в первой системе команд довольно интересные вещи есть, в том числе и с прокруткой экрана.
Залочил, т.к. не знал, как переключать)
Очень просто, установкой бита 1 в R11. Верхние 16 бит настроек - это регистры R11 и R10, соответственно.