![]() |
Routines |
| Prev: 63174 | Up: Map | Next: 63242 |
|
Used by the routine at MainMenu.
Draw the eight-cell main-menu logo using the UDG font at Font_MainMenuLogo and the attribute-address table at Table_MainMenuLogoAttributes
|
|||||
|
Point the character set at the logo font and walk eight attribute cells.
|
|||||
| Draw_MainMenuLogo | 63190 | LD HL,63297 | Point HL at the logo font + 1 (Font_MainMenuLogo + 1), then store it as the current character set. | ||
| 63193 | LD (29433),HL | ||||
| 63196 | XOR A | Clear the current text attribute. | |||
| 63197 | LD (29447),A | ||||
| 63200 | LD D,A | Clear D. | |||
| 63201 | LD IX,63174 | Point IX at Table_MainMenuLogoAttributes. | |||
| 63205 | LD B,8 | There are 8 logo cells to draw. | |||
|
Draw one of the eight main-menu logo cells from the UDG font at Font_MainMenuLogo.
|
|||||
| Draw_MainMenuLogo_CellLoop | 63207 | PUSH BC | Stash BC on the stack. | ||
| 63208 | LD L,(IX+0) | Fetch this cell's attribute address into HL. | |||
| 63211 | LD H,(IX+1) | ||||
| 63214 | LD E,1 | Start the glyph index at 1. | |||
| 63216 | LD C,6 | There are 6 rows in each logo cell. | |||
|
Draw one 9-character row inside the current logo cell.
|
|||||
| Draw_MainMenuLogo_RowLoop | 63218 | LD B,9 | There are 9 characters in each logo row. | ||
|
Print one logo glyph via Print_Character and advance along the row.
|
|||||
| Draw_MainMenuLogo_CharLoop | 63220 | CALL Print_Character | Call Print_Character to print glyph E at HL. | ||
| 63223 | INC HL | Move to the next character cell on screen. | |||
| 63224 | INC E | Move on to the next logo glyph. | |||
| 63225 | DJNZ Draw_MainMenuLogo_CharLoop | Decrease the column counter and jump to Draw_MainMenuLogo_CharLoop while columns remain. | |||
| 63227 | PUSH DE | Stash DE on the stack. | |||
| 63228 | LD E,23 | Load E with 23 (bytes from row end to the next logo row). | |||
| 63230 | ADD HL,DE | Step HL onto the next logo row. | |||
| 63231 | POP DE | Restore DE from the stack. | |||
| 63232 | DEC C | Decrease the row counter. | |||
| 63233 | JR NZ,Draw_MainMenuLogo_RowLoop | Jump to Draw_MainMenuLogo_RowLoop while rows remain. | |||
| 63235 | INC IX | Move IX to the next attribute address in the table. | |||
| 63237 | INC IX | ||||
| 63239 | POP BC | Restore BC from the stack. | |||
| 63240 | DJNZ Draw_MainMenuLogo_CellLoop | Decrease the cell counter and jump to Draw_MainMenuLogo_CellLoop while cells remain. | |||
|
Continue on to ColourCycle_MainMenuLogo.
|
|||||
| Prev: 63174 | Up: Map | Next: 63242 |