Prev: 20650 Up: Map Next: 20706
20665: Print a message centred across the entire screen
Used by the routine at 21152.
Input
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 Prepare the message in screen-ready form in the buffer at 23296
20688 PUSH HL
20689 CALL 27419
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