![]() |
Routines |
| Prev: 32812 | Up: Map | Next: 33021 |
|
Used by the routine at Game_Restart.
|
||||
| GameMenu | 32977 | LD DE,33038 | DE=GameSelection_Attributes. | |
| 32980 | EXX | Switch to the shadow registers. | ||
| 32981 | LD HL,33045 | HL'=GameSelection_Position. | ||
| 32984 | LD DE,33052 | DE'=String_GameSelection. | ||
|
There are seven lines of text.
|
||||
| 32987 | LD B,7 | B'=7 (counter). | ||
| GameMenu_Loop | 32989 | EXX | Switch back to the normal registers. | |
| 32990 | LD A,(DE) | Copy a byte from DE to Current_MenuAttr. | ||
| 32991 | LD (24166),A | |||
| 32994 | INC DE | Increment DE by one. | ||
| 32995 | EXX | Switch to the shadow registers. | ||
| 32996 | PUSH BC | Stash BC' on the stack. | ||
| 32997 | LD A,(HL) | A=HL' (grab the position data). | ||
| 32998 | INC HL | Increment HL' (position data pointer) by one. | ||
| 32999 | PUSH HL | Stash HL' (position data pointer) on the stack. | ||
| 33000 | LD H,A | H'=A L'=56. | ||
| 33001 | LD L,56 | |||
| 33003 | CALL MenuWriteText | Call MenuWriteText. | ||
| 33006 | EXX | Switch back to the normal registers. | ||
| 33007 | POP HL | Restore HL and BC from the stack. | ||
| 33008 | POP BC | |||
| 33009 | INC DE | Increment DE by one. | ||
| 33010 | DJNZ GameMenu_Loop | Decrease counter by one and loop back to GameMenu_Loop until counter is zero. | ||
| 33012 | LD HL,47104 | HL=47104 (screen buffer location). | ||
| 33015 | LD DE,33162 | DE=String_Copyright. | ||
| 33018 | JP PrintStringColour | Jump to PrintStringColour. | ||
| Prev: 32812 | Up: Map | Next: 33021 |