Prev: 24327 Up: Map Next: 24471
24428: Game Selection Menu
Used by the routine at GameInitialisation.
GameMenu 24428 LD A,104 Write 104 to Temp_Text_Pos_X.
24430 LD (24136),A
24433 LD DE,24487 DE=GameSelection_Attributes.
24436 EXX Switch to the shadow registers.
24437 LD HL,24492 HL'=GameSelection_Position.
24440 LD DE,24497 DE'=GameSelection_Text.
There are five lines of text.
24443 LD B,5 B'=5 (counter).
This entry point is used by the routine at DisplayCongratsMessaging.
GameMenu_Loop 24445 EXX Switch back to the normal registers.
24446 LD A,(DE) Copy a byte from DE to Current_MenuAttr.
24447 LD (24127),A
24450 INC DE Increment DE by one.
24451 EXX Switch to the shadow registers.
24452 PUSH BC Stash BC' on the stack.
24453 LD A,(HL) A=HL' (grab the position data).
24454 INC HL Increment HL' (position data pointer) by one.
24455 PUSH HL Stash HL' (position data pointer) on the stack.
24456 LD H,A H'=A.
24457 LD A,(24136) L'=Temp_Text_Pos_X.
24460 LD L,A
24461 CALL MenuWriteText Call MenuWriteText.
24464 EXX Switch back to the normal registers.
24465 POP HL Restore HL and BC from the stack.
24466 POP BC
24467 INC DE Increase DE by one.
24468 DJNZ GameMenu_Loop Decrease counter by one and loop back to GameMenu_Loop until counter is zero.
24470 RET Return.
View the equivalent code in;
Prev: 24327 Up: Map Next: 24471