Prev: 31888 Up: Map Next: 31978
31919: Game Selection Menu
Used by the routine at GameInitialisation.
GameMenu 31919 LD HL,48716 HL=MainFont.
31922 LD (24065),HL Write MainFont to FontPointer.
31925 LD DE,31978 DE=GameSelection_Attributes.
31928 EXX Switch to the shadow registers.
31929 LD HL,31985 HL=GameSelection_Position.
31932 LD DE,31992 DE=GameSelection_Text.
There are seven lines of text.
31935 LD B,7 B'=7 (counter).
GameMenu_Loop 31937 EXX Switch back to the normal registers.
31938 LD A,(DE) Copy a byte from DE to Current_MenuAttr.
31939 LD (24098),A
31942 INC DE Increment DE by one.
31943 EXX Switch to the shadow registers.
31944 PUSH BC Stash BC' on the stack.
31945 LD A,(HL) A=HL' (grab the position data).
31946 INC HL Increment HL' (position data pointer) by one.
31947 PUSH HL Stash HL' (position data pointer) on the stack.
31948 LD H,A H'=A L'=88.
31949 LD L,88
31951 CALL MenuWriteText Call MenuWriteText.
31954 EXX Switch back to the normal registers.
31955 POP HL Restore HL and BC from the stack.
31956 POP BC
31957 INC DE Increase DE by one.
31958 DJNZ GameMenu_Loop Decrease counter by one and loop back to GameMenu_Loop until counter is zero.
31960 LD HL,47104 HL=47104.
31963 LD DE,32081 DE=Message_Copyright.
31966 CALL PrintStringColour Call PrintStringColour.
31969 LD HL,32 HL=0032.
31972 LD DE,32114 DE=GameSelection_Title.
31975 JP PrintStringColour Jump to PrintStringColour.
View the equivalent code in;
Prev: 31888 Up: Map Next: 31978