Prev: 49926 Up: Map Next: 50045
49942: Routine at C316
Used by the routine at 49850.
49942 LD A,(49448) A=*49448.
49945 AND A Set flags.
49946 CALL Z,PrintCharacter_6 Call PrintCharacter_6 if A is equal to 0.
49949 PUSH BC Stash BC, HL and DE on the stack.
49950 PUSH HL
49951 PUSH DE
49952 LD HL,16416 HL=16416 (screen buffer location).
49955 LD DE,16384 DE=16384.
49958 LD BC,17 BC=0017.
49961 LD A,(49448) A=*49448.
49964 AND A Set flags.
49965 LD A,32 A=32.
49967 JR Z,49971 Jump to 49971 if A is equal to A.
49969 LD A,16 A=16.
49971 PUSH HL Stash HL, DE and BC on the stack.
49972 PUSH DE
49973 PUSH BC
49974 LD C,8 C=8.
49976 PUSH HL Stash HL, DE and BC on the stack.
49977 PUSH DE
49978 PUSH BC
49979 LD C,A C=A.
49980 LDIR LDIR.
49982 POP BC Restore BC, DE and HL from the stack.
49983 POP DE
49984 POP HL
49985 INC H Increment H by one.
49986 INC D Increment D by one.
49987 DEC C Decrease C by one.
49988 JR NZ,49976 Jump to 49976 if C is not equal to A.
49990 POP BC Restore BC, DE and HL from the stack.
49991 POP DE
49992 POP HL
49993 PUSH AF Stash AF on the stack.
49994 CALL 50045 Call 50045.
49997 CALL 50045 Call 50045.
50000 POP AF Restore AF from the stack.
50001 DEC C Decrease C by one.
50002 JR NZ,49971 Jump to 49971 if C is not equal to A.
50004 CP 16 Jump to 50019 if A is equal to 16.
50006 JR Z,50019
50008 LD HL,22560 HL=22560 (attribute buffer location).
50011 LD DE,22528 DE=22528 (screen buffer location).
50014 LD BC,544 BC=544.
50017 LDIR LDIR.
50019 LD A,(49448) A=*49448.
50022 AND A Set flags.
50023 LD B,36 B=36.
50025 JR Z,50029 Jump to 50029 if A is equal to A.
50027 LD B,18 B=18.
50029 LD HL,20512 HL=20512 (screen buffer location).
50032 LD C,2 C=2.
50034 LD A,32 A=32.
50036 CALL PrintCharacter Call PrintCharacter.
50039 DJNZ 50036 Decrease counter by one and loop back to 50036 until counter is zero.
50041 POP DE Restore DE, HL and BC from the stack.
50042 POP HL
50043 POP BC
50044 RET Return.
Prev: 49926 Up: Map Next: 50045