Prev: 61CD Up: Map Next: 627C
6250: Game Selection Menu
Used by the routine at GameInitialisation.
GameMenu 6250 LD DE,$627C DE=GameSelection_Attributes.
6253 EXX Switch to the shadow registers.
6254 LD HL,$6282 HL'=GameSelection_Position.
6257 LD DE,$6288 DE'=GameSelection_Text.
There are six lines of text.
625A LD B,$06 B'=06 (counter).
GameMenu_Loop 625C EXX Switch back to the normal registers.
625D LD A,(DE) Store the attribute byte to Current_MenuAttr.
625E LD ($5E21),A
6261 INC DE Increment DE by one.
6262 EXX Switch to the shadow registers.
6263 PUSH BC Stash BC' on the stack.
6264 LD A,(HL) A=HL' (grab the position data).
6265 INC HL Increment HL' (position data pointer) by one.
6266 PUSH HL Stash HL' (position data pointer) on the stack.
6267 LD H,A H'=A and L'=38 (indentation).
6268 LD L,$38
626A CALL MenuWriteText Call MenuWriteText.
626D EXX Switch back to the normal registers.
626E POP HL Restore HL and BC from the stack.
626F POP BC
6270 INC DE Increase DE by one.
6271 DJNZ GameMenu_Loop Decrease counter by one and loop back to GameMenu_Loop until counter is zero.
Print the copyright footer.
6273 LD HL,$B800 HL=B800.
6276 LD DE,$5EF5 DE=Message_Copyright.
6279 JP PrintString Jump to PrintString.
View the equivalent code in;
Prev: 61CD Up: Map Next: 627C