Routines |
Prev: 5F07 | Up: Map | Next: 5F97 |
Used by the routine at GameInitialisation.
|
||||
GameMenu | 5F6C | LD A,$68 | Write 68 to Temp_Text_Pos_X. | |
5F6E | LD ($5E48),A | |||
5F71 | LD DE,$5FA7 | DE=GameSelection_Attributes. | ||
5F74 | EXX | Switch to the shadow registers. | ||
5F75 | LD HL,$5FAC | HL'=GameSelection_Position. | ||
5F78 | LD DE,$5FB1 | DE'=GameSelection_Text. | ||
There are five lines of text.
|
||||
5F7B | LD B,$05 | B'=05 (counter). | ||
This entry point is used by the routine at DisplayCongratsMessaging.
|
||||
GameMenu_Loop | 5F7D | EXX | Switch back to the normal registers. | |
5F7E | LD A,(DE) | Copy a byte from DE to Current_MenuAttr. | ||
5F7F | LD ($5E3F),A | |||
5F82 | INC DE | Increment DE by one. | ||
5F83 | EXX | Switch to the shadow registers. | ||
5F84 | PUSH BC | Stash BC' on the stack. | ||
5F85 | LD A,(HL) | A=HL' (grab the position data). | ||
5F86 | INC HL | Increment HL' (position data pointer) by one. | ||
5F87 | PUSH HL | Stash HL' (position data pointer) on the stack. | ||
5F88 | LD H,A | H'=A. | ||
5F89 | LD A,($5E48) | L'=Temp_Text_Pos_X. | ||
5F8C | LD L,A | |||
5F8D | CALL MenuWriteText | Call MenuWriteText. | ||
5F90 | EXX | Switch back to the normal registers. | ||
5F91 | POP HL | Restore HL and BC from the stack. | ||
5F92 | POP BC | |||
5F93 | INC DE | Increase DE by one. | ||
5F94 | DJNZ GameMenu_Loop | Decrease counter by one and loop back to GameMenu_Loop until counter is zero. | ||
5F96 | RET | Return. | ||
View the equivalent code in;
|
Prev: 5F07 | Up: Map | Next: 5F97 |