Prev: F916 Up: Map Next: F9BF
F981: Print Selection Screen
Used by the routine at SelectionScreen.
Print_SelectionScreen F981 LD HL,$D089 HL=Messaging_Credits.
F984 LD BC,$0F00 BC=0F00 (screen co-ordinates).
SelectionScreen_CreditsLoop F987 PUSH BC Stash BC on the stack.
F988 CALL PrintString Call PrintString.
F98B POP BC Restore BC from the stack.
F98C INC HL Move onto the start of the next message.
F98D INC B Move down one screen row.
Check if all lines of Messaging_Credits have been printed.
F98E LD A,B Jump to SelectionScreen_CreditsLoop if B is not equal to 17.
F98F CP $17
F991 JR NZ,SelectionScreen_CreditsLoop
Now display Messaging_SelectMenu (which doesn't use the same mechanism as the lines aren't sequential).
F993 LD HL,$D110 HL=Messaging_SelectMenu.
Prints "S - START".
F996 LD BC,$0501 BC=0501 (screen co-ordinates).
F999 CALL PrintString Call PrintString.
F99C INC HL Move onto the start of the next message.
Prints "GAME".
F99D LD BC,$0605 BC=0605 (screen co-ordinates).
F9A0 CALL PrintString Call PrintString.
F9A3 INC HL Move onto the start of the next message.
Prints "C - CHANGE".
F9A4 LD BC,$0901 BC=0901 (screen co-ordinates).
F9A7 CALL PrintString Call PrintString.
F9AA INC HL Move onto the start of the next message.
Prints "GAME".
F9AB LD BC,$0A05 BC=0A05 (screen co-ordinates).
F9AE CALL PrintString Call PrintString.
Prints "CONTROLS".
F9B1 LD BC,$0B05 BC=0B05 (screen co-ordinates).
F9B4 INC HL Move onto the start of the next message.
F9B5 CALL PrintString Call PrintString.
Output to the screen buffer.
F9B8 CALL ScreenBuffer_Update Call ScreenBuffer_Update.
F9BB CALL AttributeBuffer_Update Call AttributeBuffer_Update.
F9BE RET Return.
Prev: F916 Up: Map Next: F9BF