Код:
ROM:FE72 kbd_scan2: ; CODE XREF: j_kbd_scan2j
ROM:FE72 ; sub_F9A4p ...
ROM:FE72 ld a, (byte_8002)
ROM:FE75 and 80h ; 'А'
ROM:FE77 jp nz, loc_FE7D
ROM:FE7A ld a, 0FEh ; '¦'
ROM:FE7C ret
ROM:FE7D ; ---------------------------------------------------------------------------
ROM:FE7D
ROM:FE7D loc_FE7D: ; CODE XREF: kbd_scan2+5j
ROM:FE7D xor a
ROM:FE7E ld (byte_8000), a
ROM:FE81 ld (byte_8002), a
ROM:FE84 ld a, (byte_7606)
ROM:FE87 and 1
ROM:FE89 or 6
ROM:FE8B ld (byte_8003), a
ROM:FE8E ld a, (byte_8001)
ROM:FE91 inc a
ROM:FE92 jp nz, loc_FE97
ROM:FE95 dec a
ROM:FE96 ret
ROM:FE97 ; ---------------------------------------------------------------------------
ROM:FE97
ROM:FE97 loc_FE97: ; CODE XREF: kbd_scan2+20j
ROM:FE97 push hl
ROM:FE98 ld l, 1
ROM:FE9A ld h, 7
ROM:FE9C
ROM:FE9C loc_FE9C: ; CODE XREF: kbd_scan2+3Aj
ROM:FE9C ld a, l
ROM:FE9D rrca
ROM:FE9E ld l, a
ROM:FE9F cpl
ROM:FEA0 ld (byte_8000), a
ROM:FEA3 ld a, (byte_8001)
ROM:FEA6 cpl
ROM:FEA7 or a
ROM:FEA8 jp nz, loc_FEB3
ROM:FEAB dec h
ROM:FEAC jp p, loc_FE9C
ROM:FEAF
ROM:FEAF loc_FEAF: ; CODE XREF: kbd_scan2+48j
ROM:FEAF ld a, 0FFh
ROM:FEB1 pop hl
ROM:FEB2 ret
ROM:FEB3 ; ---------------------------------------------------------------------------
ROM:FEB3
ROM:FEB3 loc_FEB3: ; CODE XREF: kbd_scan2+36j
ROM:FEB3 ld l, 20h ; ' '
ROM:FEB5
ROM:FEB5 loc_FEB5: ; CODE XREF: kbd_scan2+4Cj
ROM:FEB5 ld a, (byte_8001)
ROM:FEB8 cpl
ROM:FEB9 or a
ROM:FEBA jp z, loc_FEAF
ROM:FEBD dec l
ROM:FEBE jp nz, loc_FEB5
ROM:FEC1 ld l, 8
ROM:FEC3
ROM:FEC3 loc_FEC3: ; CODE XREF: kbd_scan2+53j
ROM:FEC3 dec l
ROM:FEC4 rlca
ROM:FEC5 jp nc, loc_FEC3
ROM:FEC8 ld a, h
ROM:FEC9 ld h, l
ROM:FECA ld l, a
ROM:FECB cp 1
ROM:FECD jp z, loc_FEFA
ROM:FED0 jp c, loc_FEF3
ROM:FED3 rlca
ROM:FED4 rlca
ROM:FED5 rlca
ROM:FED6 add a, 20h ; ' '
ROM:FED8 or h
ROM:FED9 cp 5Fh ; '_'
ROM:FEDB jp nz, loc_FF06
ROM:FEDE ld a, 20h ; ' '
ROM:FEE0 pop hl
ROM:FEE1 ret
ROM:FEE1 ; ---------------------------------------------------------------------------
ROM:FEE2 unk_FEE2: db 9 ; DATA XREF: kbd_scan2+89o
ROM:FEE3 db 0Ah
ROM:FEE4 db 0Dh
ROM:FEE5 db 7Fh ;
ROM:FEE6 db 8
ROM:FEE7 db 19h
ROM:FEE8 db 18h
ROM:FEE9 db 1Ah
ROM:FEEA unk_FEEA: db 0Ch ; DATA XREF: kbd_scan2+82o
ROM:FEEB db 1Fh
ROM:FEEC db 1Bh
ROM:FEED db 0
ROM:FEEE db 1
ROM:FEEF db 2
ROM:FEF0 db 3
ROM:FEF1 db 4
ROM:FEF2 db 5
ROM:FEF3 ; ---------------------------------------------------------------------------
ROM:FEF3
ROM:FEF3 loc_FEF3: ; CODE XREF: kbd_scan2+5Ej
ROM:FEF3 ld a, h
ROM:FEF4 ld hl, unk_FEEA
ROM:FEF7 jp loc_FEFE
ROM:FEFA ; ---------------------------------------------------------------------------
ROM:FEFA
ROM:FEFA loc_FEFA: ; CODE XREF: kbd_scan2+5Bj
ROM:FEFA ld a, h
ROM:FEFB ld hl, unk_FEE2
ROM:FEFE
ROM:FEFE loc_FEFE: ; CODE XREF: kbd_scan2+85j
ROM:FEFE add a, l
ROM:FEFF ld l, a
ROM:FF00 ld a, (hl)
ROM:FF01 cp 40h ; '@'
ROM:FF03 pop hl
ROM:FF04 ret c
ROM:FF05 push hl
ROM:FF06
ROM:FF06 loc_FF06: ; CODE XREF: kbd_scan2+69j
ROM:FF06 ld l, a
ROM:FF07 ld a, (byte_8002)
ROM:FF0A ld h, a
ROM:FF0B and 40h ; '@'
ROM:FF0D jp nz, loc_FF1A
ROM:FF10 ld a, l
ROM:FF11 cp 40h ; '@'
ROM:FF13 jp m, loc_FF3F
ROM:FF16 and 1Fh
ROM:FF18 pop hl
ROM:FF19 ret
ROM:FF1A ; ---------------------------------------------------------------------------
ROM:FF1A
ROM:FF1A loc_FF1A: ; CODE XREF: kbd_scan2+9Bj
ROM:FF1A ld a, (byte_7606)
ROM:FF1D or a
ROM:FF1E jp z, loc_FF2A
ROM:FF21 ld a, l
ROM:FF22 cp 40h ; '@'
ROM:FF24 jp m, loc_FF2A
ROM:FF27 or 20h ; ' '
ROM:FF29 ld l, a
ROM:FF2A
ROM:FF2A loc_FF2A: ; CODE XREF: kbd_scan2+ACj
ROM:FF2A ; kbd_scan2+B2j
ROM:FF2A ld a, h
ROM:FF2B and 20h ; ' '
ROM:FF2D jp nz, loc_FF3F
ROM:FF30 ld a, l
ROM:FF31 cp 40h ; '@'
ROM:FF33 jp m, loc_FF3B
ROM:FF36 ld a, l
ROM:FF37 xor 20h ; ' '
ROM:FF39 pop hl
ROM:FF3A ret
ROM:FF3B ; ---------------------------------------------------------------------------
ROM:FF3B
ROM:FF3B loc_FF3B: ; CODE XREF: kbd_scan2+C1j
ROM:FF3B ld a, l
ROM:FF3C and 2Fh ; '/'
ROM:FF3E ld l, a
ROM:FF3F
ROM:FF3F loc_FF3F: ; CODE XREF: kbd_scan2+A1j
ROM:FF3F ; kbd_scan2+BBj
ROM:FF3F ld a, l
ROM:FF40 cp 40h ; '@'
ROM:FF42 pop hl
ROM:FF43 ret p
ROM:FF44 push hl
ROM:FF45 ld l, a
ROM:FF46 and 0Fh
ROM:FF48 cp 0Ch
ROM:FF4A ld a, l
ROM:FF4B jp m, loc_FF50
ROM:FF4E xor 10h
ROM:FF50
ROM:FF50 loc_FF50: ; CODE XREF: kbd_scan2+D9j
ROM:FF50 pop hl
ROM:FF51 ret
ROM:FF51 ; End of function kbd_scan2
собственно вот тут я её дербаню