Prev: CD86 Up: Map Next: CE41
CDD1: Display Title Screen
Used by the routines at DisplayIntroductionScreen and SetKempstonJoystick.
title-screen
TitleScreen CDD1 LD A,$00 Write INK: BLACK, PAPER: BLACK (00) to *ATTR_P.
CDD3 LD ($5C8D),A
CDD6 CALL ClearScreen Call ClearScreen.
CDD9 LD A,$00 Set the border to BLACK using BORDER.
CDDB CALL $229B
CDDE LD A,$00 Write INK: BLACK, PAPER: BLACK (00) to *Active_BorderColour.
CDE0 LD ($5BD0),A
Print_TitleScreen CDE3 LD DE,$D9FD DE=Messaging_TitleScreen.
CDE6 CALL PrintString Call PrintString.
CDE9 LD A,($5BEA) Call InverseOn if *ControlMethod is set to Keyboard Input (24).
CDEC CP $24
CDEE CALL Z,InverseOn
CDF1 CALL PrintString Call PrintString with Messaging_MenuKeyboard.
CDF4 LD A,($5BEA) Call InverseOn if *ControlMethod is set to Interface 2 joystick (1C).
CDF7 CP $1C
CDF9 CALL Z,InverseOn
CDFC CALL PrintString Call PrintString with Messaging_MenuInterface2Joystick.
CDFF LD A,($5BEA) Call InverseOn if *ControlMethod is set to Cursor joystick (14).
CE02 CP $14
CE04 CALL Z,InverseOn
CE07 CALL PrintString Call PrintString with Messaging_MenuCursorJoystick.
CE0A LD A,($5BEA) Call InverseOn if *ControlMethod is set to Kempston joystick (0C).
CE0D CP $0C
CE0F CALL Z,InverseOn
CE12 CALL PrintString Call PrintString with Messaging_MenuKempstonJoystick.
CE15 LD A,($5BEA) A=*ControlMethod (unused, A is overwritten immediately by PrintString on the next line).
CE18 CALL PrintString Call PrintString with Messaging_MenuDefineKeys.
CE1B CALL PrintString Call PrintString with Messaging_MenuStartGame.
Keep looping until we get user input.
TitleScreen_InputLoop CE1E CALL MenuKeypress Call MenuKeypress.
CE21 CP $24 Jump to SetDefaultKeys if A is set to Keyboard input (24).
CE23 JP Z,SetDefaultKeys
CE26 CP $1C Jump to SetInterface2Joystick if A is set to Interface 2 joystick (1C).
CE28 JP Z,SetInterface2Joystick
CE2B CP $14 Jump to SetCursorJoystick if A is set to Cursor joystick (14).
CE2D JP Z,SetCursorJoystick
CE30 CP $0C Jump to SetKempstonJoystick if A is set to Kempston joystick (0C).
CE32 JP Z,SetKempstonJoystick
CE35 CP $04 Jump to SetUserDefinedKeys if A is set to User-Defined key input (04).
CE37 JP Z,SetUserDefinedKeys
CE3A CP $23 Jump to TitleScreen_InputLoop if A is NOT set to start the game (23).
CE3C JR NZ,TitleScreen_InputLoop
Else, the player has selected "0" to start the game.
CE3E JP StartGame Jump to StartGame.
Prev: CD86 Up: Map Next: CE41