Prev: CB99 Up: Map Next: CC3E
CB9C: Routine at CB9C
Used by the routines at Controller_NameSelect, PressAnyKey and StartGame.
CB9C LD HL,$CC3D HL=CC3D.
CB9F RES 7,(HL) Reset bit 7 of *HL.
CBA1 LD A,(HL) A=*HL.
CBA2 RRCA Rotate A right one bit (with carry).
CBA3 JR C,$CBD0 Jump to CBD0 if the carry bit was set.
CBA5 RRCA Rotate A right one bit (with carry).
CBA6 JR C,$CBFB Jump to CBFB if the carry bit was set.
CBA8 RRCA Rotate A right one bit (with carry).
CBA9 JR C,$CC0B Jump to CC0B if the carry bit was set.
CBAB RRCA Rotate A right one bit (with carry).
CBAC JR C,$CBBC Jump to CBBC if the carry bit was set.
CBAE RRCA Rotate A right one bit (with carry).
CBAF JR C,$CBC7 Jump to CBC7 if the carry bit was set.
CBB1 RRCA Rotate A right one bit (with carry).
CBB2 JR C,$CBF2 Jump to CBF2 if the carry bit was set.
CBB4 LD A,$06 Set border to YELLOW.
CBB6 OUT ($FE),A
CBB8 HALT Halt operation (suspend CPU until the next interrupt).
CBB9 RES 7,(HL) Reset bit 7 of *HL.
CBBB RET Return.
CBBC LD DE,$0070 DE=0070.
CBBF LD ($CC3B),DE Write DE to *CC3B.
CBC3 RES 3,(HL) Reset bit 3 of *HL.
CBC5 JR $CBD0 Jump to CBD0.
CBC7 LD DE,$0100 DE=0100.
CBCA LD ($CC3B),DE Write DE to *CC3B.
CBCE RES 4,(HL) Reset bit 4 of *HL.
CBD0 RES 0,(HL) Reset bit 0 of *HL.
CBD2 LD A,$06 A=06.
CBD4 LD DE,$FFFF DE=FFFF.
CBD7 LD IX,($CC3B) IX=CC3B.
CBDB ADD IX,DE IX+=DE.
CBDD JR NC,$CBE5 Jump to CBE5 if {} is higher.
CBDF BIT 7,(HL) Jump to CBEF if bit 7 of *HL is not zero.
CBE1 JR NZ,$CBEF
CBE3 JR $CBDB Jump to CBDB.
CBE5 BIT 7,(HL) Jump to CBEF if bit 7 of *HL is not zero.
CBE7 JR NZ,$CBEF
CBE9 XOR %00011000 XOR bits 3-4 (if they are set, unset them and if they are unset, set them).
CBEB OUT ($FE),A OUT FE
CBED JR $CBD7 Jump to CBD7.
CBEF RES 7,(HL) Reset bit 7 of *HL.
CBF1 RET Return.
CBF2 RES 5,(HL) Reset bit 5 of *HL.
CBF4 LD C,$00 C=00.
CBF6 LD DE,$0040 DE=0040.
CBF9 JR $CC12 Jump to CC12.
CBFB RES 1,(HL) Reset bit 1 of *HL.
CBFD CALL $C1CD Call C1CD.
CC00 BIT 0,(IX+$00) Jump to CBA8 if bit 0 of *IX+00 is not zero.
CC04 JR NZ,$CBA8
CC06 LD DE,$0020 DE=0020.
CC09 JR $CC10 Jump to CC10.
CC0B RES 2,(HL) Reset bit 2 of *HL.
CC0D LD DE,$0060 DE=0060.
CC10 LD C,$06 C=06.
CC12 LD ($CC3B),DE Write DE to *CC3B.
CC16 LD DE,$FFFF DE=FFFF.
CC19 LD IX,($CC3B) IX=CC3B.
CC1D ADD IX,DE IX+=DE.
CC1F JR NC,$CC27 Jump to CC27 if {} is higher.
CC21 BIT 7,(HL) Jump to CC38 if bit 7 of *HL is not zero.
CC23 JR NZ,$CC38
CC25 JR $CC1D Jump to CC1D.
CC27 BIT 7,(HL) Jump to CC38 if bit 7 of *HL is not zero.
CC29 JR NZ,$CC38
CC2B CALL $C1CD Call C1CD.
CC2E LD A,($C1E5) A=*C1E5.
CC31 AND %00011000 Keep only bits 3-4.
CC33 OR C Set the bits from C.
CC34 OUT ($FE),A OUT FE
CC36 JR $CC19 Jump to CC19.
CC38 RES 7,(HL) Reset bit 7 of *HL.
CC3A RET Return.
CC3B DEFW $0100
CC3D DEFB $00
Prev: CB99 Up: Map Next: CC3E