|  | Routines | 
| Prev: 61EB | Up: Map | Next: 628D | 
| 
Used by the routine at GameInitialisation.
 | ||||
| GameMenu | 6260 | LD DE,$628D | DE=GameSelection_Attributes. | |
| 6263 | EXX | Switch to the shadow registers. | ||
| 6264 | LD HL,$6293 | HL'=GameSelection_Position. | ||
| 6267 | LD DE,$6299 | DE'=GameSelection_Text. | ||
| 
There are six lines of text.
 | ||||
| 626A | LD B,$06 | B'=06 (counter). | ||
| GameMenu_Loop | 626C | EXX | Switch back to the normal registers. | |
| 626D | LD A,(DE) | Copy a byte from DE to Current_MenuAttr. | ||
| 626E | LD ($5DD6),A | |||
| 6271 | INC DE | Increment DE by one. | ||
| 6272 | EXX | Switch to the shadow registers. | ||
| 6273 | PUSH BC | Stash BC' on the stack. | ||
| 6274 | LD A,(HL) | A=HL' (grab the position data). | ||
| 6275 | INC HL | Increment HL' (position data pointer) by one. | ||
| 6276 | PUSH HL | Stash HL' (position data pointer) on the stack. | ||
| 6277 | LD H,A | H'=A L'=30. | ||
| 6278 | LD L,$30 | |||
| 627A | CALL PrintMenuItem | Call PrintMenuItem. | ||
| 627D | EXX | Switch back to the normal registers. | ||
| 627E | POP HL | Restore HL and BC from the stack. | ||
| 627F | POP BC | |||
| 6280 | INC DE | Increase DE by one. | ||
| 6281 | DJNZ GameMenu_Loop | Decrease counter by one and loop back to GameMenu_Loop until counter is zero. | ||
| 6283 | LD HL,$B800 | HL=B800 (screen buffer position). | ||
| 6286 | LD DE,$6040 | DE=Message_Rights. | ||
| 6289 | CALL PrintString | Call PrintString. | ||
| 628C | RET | Return. | ||
| 
View the equivalent code in; 
 | ||||
| Prev: 61EB | Up: Map | Next: 628D |