Prev: 25037 Up: Map Next: 25212
25168: Game Selection Menu
Used by the routine at GameInitialisation.
GameMenu 25168 LD DE,25212 DE=GameSelection_Attributes.
25171 EXX Switch to the shadow registers.
25172 LD HL,25218 HL'=GameSelection_Position.
25175 LD DE,25224 DE'=GameSelection_Text.
There are six lines of text.
25178 LD B,6 B'=6 (counter).
GameMenu_Loop 25180 EXX Switch back to the normal registers.
25181 LD A,(DE) Store the attribute byte to Current_MenuAttr.
25182 LD (24097),A
25185 INC DE Increment DE by one.
25186 EXX Switch to the shadow registers.
25187 PUSH BC Stash BC' on the stack.
25188 LD A,(HL) A=HL' (grab the position data).
25189 INC HL Increment HL' (position data pointer) by one.
25190 PUSH HL Stash HL' (position data pointer) on the stack.
25191 LD H,A H'=A and L'=56 (indentation).
25192 LD L,56
25194 CALL MenuWriteText Call MenuWriteText.
25197 EXX Switch back to the normal registers.
25198 POP HL Restore HL and BC from the stack.
25199 POP BC
25200 INC DE Increase DE by one.
25201 DJNZ GameMenu_Loop Decrease counter by one and loop back to GameMenu_Loop until counter is zero.
Print the copyright footer.
25203 LD HL,47104 HL=47104.
25206 LD DE,24309 DE=Message_Copyright.
25209 JP PrintString Jump to PrintString.
View the equivalent code in;
Prev: 25037 Up: Map Next: 25212