| Routines

6E00: Print a message

Used by the routines at 6E1A and 6EC5.
Input
DE | Display file address
HL | Message address
6E00 | LD A,(HL) | Pick up the ASCII code of the next character to print
6E01 | ADD A,A | Have we reached the end of the message?
6E02 | RET Z | Return if so
6E03 | NOP |
6E04 | NOP |
6E05 | INC HL | Point HL at the next character in the message
6E06 | PUSH HL | Save this pointer for now
6E07 | PUSH DE | Save the display file address
6E08 | LD H,$0F | Point HL at the base address of the graphic data for the font character (in the ROM)
6E0A | LD L,A
6E0B | ADD HL,HL
6E0C | ADD HL,HL
6E0D | LD B,$08 | Print the character on the screen
6E0F | LD A,(HL)
6E10 | LD (DE),A
6E11 | INC L
6E12 | INC D
6E13 | DJNZ $6E0F
6E15 | POP DE | Restore the display file address to DE
6E16 | POP HL | Restore the pointer to the next character in the message
6E17 | INC E | Point DE at the next display file location
6E18 | JR $6E00 | Jump back to print the next character