![]() |
Routines |
Prev: 25067 | Up: Map | Next: 25229 |
Used by the routine at GameInitialisation.
|
||||
GameMenu | 25184 | LD DE,25229 | DE=GameSelection_Attributes. | |
25187 | EXX | Switch to the shadow registers. | ||
25188 | LD HL,25235 | HL'=GameSelection_Position. | ||
25191 | LD DE,25241 | DE'=GameSelection_Text. | ||
There are six lines of text.
|
||||
25194 | LD B,6 | B'=6 (counter). | ||
GameMenu_Loop | 25196 | EXX | Switch back to the normal registers. | |
25197 | LD A,(DE) | Copy a byte from DE to Current_MenuAttr. | ||
25198 | LD (24022),A | |||
25201 | INC DE | Increment DE by one. | ||
25202 | EXX | Switch to the shadow registers. | ||
25203 | PUSH BC | Stash BC' on the stack. | ||
25204 | LD A,(HL) | A=HL' (grab the position data). | ||
25205 | INC HL | Increment HL' (position data pointer) by one. | ||
25206 | PUSH HL | Stash HL' (position data pointer) on the stack. | ||
25207 | LD H,A | H'=A L'=48. | ||
25208 | LD L,48 | |||
25210 | CALL PrintMenuItem | Call PrintMenuItem. | ||
25213 | EXX | Switch back to the normal registers. | ||
25214 | POP HL | Restore HL and BC from the stack. | ||
25215 | POP BC | |||
25216 | INC DE | Increase DE by one. | ||
25217 | DJNZ GameMenu_Loop | Decrease counter by one and loop back to GameMenu_Loop until counter is zero. | ||
25219 | LD HL,47104 | HL=47104 (screen buffer position). | ||
25222 | LD DE,24640 | DE=Message_Rights. | ||
25225 | CALL PrintString | Call PrintString. | ||
25228 | RET | Return. | ||
View the equivalent code in;
|
Prev: 25067 | Up: Map | Next: 25229 |