Prev: 25240 Up: Map Next: 25438
25394: Game Selection Menu
Used by the routine at GameInitialisation.
GameMenu 25394 LD DE,25438 DE=GameSelection_Attributes.
25397 EXX Switch to the shadow registers.
25398 LD HL,25445 HL'=GameSelection_Position.
25401 LD DE,25452 DE'=GameSelection_Text.
There are seven lines of text.
25404 LD B,7 B'=7 (counter).
GameMenu_Loop 25406 EXX Switch back to the normal registers.
25407 LD A,(DE) Copy a byte from DE to Current_MenuAttr.
25408 LD (24356),A
25411 INC DE Increment DE by one.
25412 EXX Switch to the shadow registers.
25413 PUSH BC Stash BC' on the stack.
25414 LD A,(HL) A=HL' (grab the position data).
25415 INC HL Increment HL' (position data pointer) by one.
25416 PUSH HL Stash HL' (position data pointer) on the stack.
25417 LD H,A H'=A L'=56.
25418 LD L,56
25420 CALL MenuWriteText Call MenuWriteText.
25423 EXX Switch back to the normal registers.
25424 POP HL Restore HL and BC from the stack.
25425 POP BC
25426 INC DE Increase DE by one.
25427 DJNZ GameMenu_Loop Decrease counter by one and loop back to GameMenu_Loop until counter is zero.
25429 LD HL,47104 HL=47104.
25432 LD DE,24462 DE=Message_Rights.
25435 JP PrintString Jump to PrintString.
View the equivalent code in;
Prev: 25240 Up: Map Next: 25438