Prev: AC24 Up: Map Next: AC77
AC28: Routine at AC28
Used by the routines at 9A1D, GameComplete and HandlerPoems.
AC28 EI Enable interrupts.
AC29 LD A,$7E Read from the keyboard;
Port Number Bit
0 1 2 3 4
7E SPACE FULL-STOP M N B
Shift Z X C V
AC2B OUT ($FD),A
AC2D IN A,($FE)
AC2F BIT 0,A
AC31 RET NZ
AC32 CPL Flip the bits.
AC33 AND %00011110 Keep only bits 1-4.
AC35 RET NZ
AC36 LD A,$7E Read from the keyboard;
Port Number Bit
0 1 2 3 4
7E SPACE FULL-STOP M N B
Shift Z X C V
AC38 OUT ($FD),A
AC3A IN A,($FE)
AC3C BIT 0,A
AC3E JR Z,$AC36
AC40 LD HL,$5C78 HL=FRAMES.
AC43 LD A,(HL)
AC44 CP (HL)
AC45 JR Z,$AC44
AC47 LD A,D
AC48 ADD A,$04
AC4A LD D,A
AC4B RLCA
AC4C RLCA
AC4D AND %00000010 Keep only bit 1.
AC4F OR %00000001
AC51 OUT ($FE),A
AC53 LD A,$7E Read from the keyboard;
Port Number Bit
0 1 2 3 4
7E SPACE FULL-STOP M N B Shift Z X C V
AC55 OUT ($FD),A
AC57 IN A,($FE)
AC59 BIT 0,A
AC5B JR NZ,$AC40
AC5D LD A,$7E Read from the keyboard;
Port Number Bit
0 1 2 3 4
7E SPACE FULL-STOP M N B Shift Z X C V
AC5F OUT ($FD),A
AC61 IN A,($FE)
AC63 BIT 0,A
AC65 JR Z,$AC5D
AC67 XOR A
AC68 OUT ($FE),A
AC6A RET Return.
This entry point is used by the routine at B21E.
AC6B LD HL,$AC77 Copy 90 bytes of data from AC77 to ImmortalData.
AC6E LD DE,$9702
AC71 LD BC,$0090
AC74 LDIR
AC76 RET Return.
Prev: AC24 Up: Map Next: AC77