![]() |
Routines |
Prev: 20650 | Up: Map | Next: 20706 |
A | Message number |
20665 | LD HL,20480 | 20480=display file address |
This entry point is used by the routines at 20896, 21152, 21425 and 21664 with HL holding the appropriate display file address.
|
||
20668 | PUSH HL | Save the display file address |
20669 | LD L,A | L=message number |
20670 | BIT 7,A | Is the message number < 128? |
20672 | JR Z,20680 | Jump if so |
20674 | LD H,80 | Point HL at the appropriate entry in the message address table at 20724 |
20676 | LD E,(HL) | E=LSB of the message address |
20677 | INC HL | Point HL at the MSB |
20678 | JR 20684 | |
20680 | LD H,254 | Use the regular message address table for message numbers < 128 |
20682 | LD E,(HL) | E=LSB of the message address |
20683 | INC H | Point HL at the MSB |
20684 | LD D,(HL) | Now DE=address of the message to print |
20685 | LD HL,23296 | Point HL at the printer buffer |
20688 | PUSH HL | |
20689 | CALL 27419 | Prepare the message in screen-ready form in the printer buffer (23296-23551) |
20692 | POP HL | |
20693 | POP DE | Restore the display file address to DE |
20694 | PUSH DE | Display the message on-screen |
20695 | LD C,32 | |
20697 | LDIR | |
20699 | POP DE | |
20700 | INC D | |
20701 | BIT 0,H | |
20703 | JR NZ,20694 | |
20705 | RET |
Prev: 20650 | Up: Map | Next: 20706 |