Prev: 6298 Up: Map Next: 635E
6332: Game Selection Menu
Used by the routine at GameInitialisation.
GameMenu 6332 LD DE,$635E DE=GameSelection_Attributes.
6335 EXX Switch to the shadow registers.
6336 LD HL,$6365 HL'=GameSelection_Position.
6339 LD DE,$636C DE'=GameSelection_Text.
There are seven lines of text.
633C LD B,$07 B'=07 (counter).
GameMenu_Loop 633E EXX Switch back to the normal registers.
633F LD A,(DE) Copy a byte from DE to Current_MenuAttr.
6340 LD ($5F24),A
6343 INC DE Increment DE by one.
6344 EXX Switch to the shadow registers.
6345 PUSH BC Stash BC' on the stack.
6346 LD A,(HL) A=HL' (grab the position data).
6347 INC HL Increment HL' (position data pointer) by one.
6348 PUSH HL Stash HL' (position data pointer) on the stack.
6349 LD H,A H'=A L'=38.
634A LD L,$38
634C CALL MenuWriteText Call MenuWriteText.
634F EXX Switch back to the normal registers.
6350 POP HL Restore HL and BC from the stack.
6351 POP BC
6352 INC DE Increase DE by one.
6353 DJNZ GameMenu_Loop Decrease counter by one and loop back to GameMenu_Loop until counter is zero.
6355 LD HL,$B800 HL=B800.
6358 LD DE,$5F8E DE=Message_Rights.
635B JP PrintString Jump to PrintString.
View the equivalent code in;
Prev: 6298 Up: Map Next: 635E