Prev: ED4D Up: Map Next: EDD6
ED6D: Routine at ED6D
Used by the routine at redefine_keys.
ED6D PUSH DE Preserve DE, BC
ED6E PUSH BC
ED6F CALL define_keys Call define_keys
ED72 CALL keyscan_all Call keyscan_all
ED75 JR NZ,$ED6F ?Loop while keys are pressed
ED77 INC D ?No keys were pressed
ED78 JR Z,$ED6F
ED7A DEC D D--
ED7B LD A,D A = D
ED7C POP BC Retrieve BC
ED7D PUSH BC
ED7E LD HL,$EE38
ED81 LD B,C B = C
ED82 DEC B B--
ED83 JR Z,$ED8B
ED85 CP (HL)
ED86 JR Z,$ED6F
ED88 INC HL HL++
ED89 DJNZ $ED85
ED8B POP BC
ED8C PUSH BC
ED8D LD HL,$EE37 Last byte of 'shocked'
ED90 LD B,$00 B = 0
ED92 ADD HL,BC HL += BC
ED93 LD (HL),A *HL = A
ED94 LD HL,$EDD6 -> "B N M ..."
ED97 LD D,$00 D = 0
ED99 LD B,A B = A & 7
ED9A AND $07
ED9C LD C,A A *= 5
ED9D ADD A,A
ED9E ADD A,A
ED9F ADD A,C
EDA0 SRL B B >>= 3
EDA2 SRL B
EDA4 SRL B
EDA6 ADD A,B A += B
EDA7 ADD A,A A += A
EDA8 LD E,A E = A
EDA9 ADD HL,DE HL += DE
EDAA POP BC
EDAB POP DE
EDAC PUSH BC
EDAD PUSH DE
EDAE LD ($EADD),DE
EDB2 LD A,(HL) A = *HL
EDB3 LD ($EADF),A
EDB6 INC HL HL++
EDB7 LD A,(HL) A = *HL
EDB8 SET 7,A Terminate the string
EDBA LD ($EAE0),A Write new character
EDBD LD HL,$EADC -> test mode strings
EDC0 CALL menu_draw_string Call menu_draw_strings
EDC3 POP DE
EDC4 CALL $EDCC
EDC7 POP BC
EDC8 LD A,B A = B
EDC9 CP $04 Return if A != 4
EDCB RET NZ
EDCC LD A,E E += $20
EDCD ADD A,$20
EDCF LD E,A
EDD0 RET NC
EDD1 LD A,D D += 8
EDD2 ADD A,$08
EDD4 LD D,A
EDD5 RET Return
Prev: ED4D Up: Map Next: EDD6