Prev: 28159 Up: Map Next: 28186
28160: Print a message
Used by the routines at 28186 and 28357.
Input
DE Display file address
HL Message address
28160 LD A,(HL) Pick up the ASCII code of the next character to print
28161 ADD A,A Have we reached the end of the message?
28162 RET Z Return if so
28163 NOP
28164 NOP
28165 INC HL Point HL at the next character in the message
28166 PUSH HL Save this pointer for now
28167 PUSH DE Save the display file address
28168 LD H,15 Point HL at the base address of the graphic data for the font character (in the ROM)
28170 LD L,A
28171 ADD HL,HL
28172 ADD HL,HL
28173 LD B,8 Print the character on the screen
28175 LD A,(HL)
28176 LD (DE),A
28177 INC L
28178 INC D
28179 DJNZ 28175
28181 POP DE Restore the display file address to DE
28182 POP HL Restore the pointer to the next character in the message
28183 INC E Point DE at the next display file location
28184 JR 28160 Jump back to print the next character
Prev: 28159 Up: Map Next: 28186