Prev: F4F0 Up: Map Next: F56A
F544: Print Message
Used by the routine at JumpTable_PrintMessage.
Prints a control-byte string: bytes below C8 are characters, D8 sets ATTR_T, other values set the print position, and FF terminates.
Input
HL Message address
Print_Message F544 LD A,(HL) Jump to Print_Message_Branch if this byte is a character.
F545 CP $C8
F547 JR C,Print_Message_Branch
F549 CP $FF Return if the terminator is reached.
F54B RET Z
F54C CP $D8 Jump to Print_Message_Skip if this byte sets ATTR_T.
F54E JR Z,Print_Message_Skip
Else this is a print-position pair.
F550 INC HL Fetch the column and row into BC.
F551 LD A,(HL)
F552 LD C,A
F553 INC HL
F554 LD A,(HL)
F555 LD B,A
F556 CALL Set_PrintPosition Call Set_PrintPosition.
F559 INC HL Advance the message pointer.
F55A JR Print_Message Jump to Print_Message.
Print_Message_Branch F55C CALL Print_Character Call Print_Character.
F55F INC HL Advance the message pointer.
F560 JR Print_Message Jump to Print_Message.
Print_Message_Skip F562 INC HL Advance the message pointer.
F563 LD A,(HL) Write the next byte to *ATTR_T.
F564 LD ($5C8F),A
F567 INC HL Advance the message pointer.
F568 JR Print_Message Jump to Print_Message.
Prev: F4F0 Up: Map Next: F56A