![]()  | 
Routines | 
| Prev: 25240 | Up: Map | Next: 25438 | 
| 
 
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 |