Prev: C29C Up: Map Next: C306
C2BA: Routine at C2BA
Used by the routine at C1E1.
C2BA PUSH HL Stash HL, BC and AF on the stack.
C2BB PUSH BC
C2BC PUSH AF
C2BD LD HL,($C1F8) HL=*C1F8.
C2C0 LD A,($C1FA) C=*C1FA.
C2C3 LD C,A
C2C4 POP AF Restore AF from the stack.
C2C5 PUSH AF Stash AF on the stack.
C2C6 CP $0D Jump to C2EE if A is not equal to 0D.
C2C8 JR NZ,$C2EE
C2CA LD A,($A019) A=*A019.
C2CD CP $0F Jump to C2D6 if A is not equal to 0F.
C2CF JR NZ,$C2D6
C2D1 CALL $C306 Call C306.
C2D4 LD A,$FF A=FF.
C2D6 INC A Increment A by one.
C2D7 LD ($A019),A Write A to *A019.
C2DA LD HL,$5020 HL=5020 (screen buffer location).
C2DD LD C,$02 C=02.
C2DF CALL $C316 Call C316.
C2E2 LD A,($C128) A=*C128.
C2E5 AND A Set flags.
C2E6 LD A,$24 A=24.
C2E8 JR Z,$C2F8 Jump to C2F8 if A is equal to A.
C2EA LD A,$12 A=12.
C2EC JR $C2F8 Jump to C2F8.
C2EE CALL PrintCharacter Call PrintCharacter.
C2F1 LD A,($C1F5) A=*C1F5.
C2F4 DEC A Decrease A by one.
C2F5 JP Z,$C2CA Jump to C2CA if A is zero.
C2F8 LD ($C1F5),A Write A to *C1F5.
C2FB LD ($C1F8),HL Write HL to *C1F8.
C2FE LD A,C Write C to *C1FA.
C2FF LD ($C1FA),A
C302 POP AF Restore AF, BC and HL from the stack.
C303 POP BC
C304 POP HL
C305 RET Return.
Prev: C29C Up: Map Next: C306