Prev: 5F07 Up: Map Next: 5F97
5F6C: Game Selection Menu
Used by the routine at GameInitialisation.
GameMenu 5F6C LD A,$68 Write 68 to Temp_Text_Pos_X.
5F6E LD ($5E48),A
5F71 LD DE,$5FA7 DE=GameSelection_Attributes.
5F74 EXX Switch to the shadow registers.
5F75 LD HL,$5FAC HL'=GameSelection_Position.
5F78 LD DE,$5FB1 DE'=GameSelection_Text.
There are five lines of text.
5F7B LD B,$05 B'=05 (counter).
This entry point is used by the routine at DisplayCongratsMessaging.
GameMenu_Loop 5F7D EXX Switch back to the normal registers.
5F7E LD A,(DE) Copy a byte from DE to Current_MenuAttr.
5F7F LD ($5E3F),A
5F82 INC DE Increment DE by one.
5F83 EXX Switch to the shadow registers.
5F84 PUSH BC Stash BC' on the stack.
5F85 LD A,(HL) A=HL' (grab the position data).
5F86 INC HL Increment HL' (position data pointer) by one.
5F87 PUSH HL Stash HL' (position data pointer) on the stack.
5F88 LD H,A H'=A.
5F89 LD A,($5E48) L'=Temp_Text_Pos_X.
5F8C LD L,A
5F8D CALL MenuWriteText Call MenuWriteText.
5F90 EXX Switch back to the normal registers.
5F91 POP HL Restore HL and BC from the stack.
5F92 POP BC
5F93 INC DE Increase DE by one.
5F94 DJNZ GameMenu_Loop Decrease counter by one and loop back to GameMenu_Loop until counter is zero.
5F96 RET Return.
View the equivalent code in;
Prev: 5F07 Up: Map Next: 5F97