![]() |
Routines |
| Prev: F6C6 | Up: Map | Next: F70A |
|
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 | F6D6 | LD HL,$F741 | Point HL at the logo font + 01 (Font_MainMenuLogo + 01), then store it as the current character set. | ||
| F6D9 | LD ($72F9),HL | ||||
| F6DC | XOR A | Clear the current text attribute. | |||
| F6DD | LD ($7307),A | ||||
| F6E0 | LD D,A | Clear D. | |||
| F6E1 | LD IX,$F6C6 | Point IX at Table_MainMenuLogoAttributes. | |||
| F6E5 | LD B,$08 | There are 08 logo cells to draw. | |||
|
Draw one of the eight main-menu logo cells from the UDG font at Font_MainMenuLogo.
|
|||||
| Draw_MainMenuLogo_CellLoop | F6E7 | PUSH BC | Stash BC on the stack. | ||
| F6E8 | LD L,(IX+$00) | Fetch this cell's attribute address into HL. | |||
| F6EB | LD H,(IX+$01) | ||||
| F6EE | LD E,$01 | Start the glyph index at 01. | |||
| F6F0 | LD C,$06 | There are 06 rows in each logo cell. | |||
|
Draw one 09-character row inside the current logo cell.
|
|||||
| Draw_MainMenuLogo_RowLoop | F6F2 | LD B,$09 | There are 09 characters in each logo row. | ||
|
Print one logo glyph via Print_Character and advance along the row.
|
|||||
| Draw_MainMenuLogo_CharLoop | F6F4 | CALL Print_Character | Call Print_Character to print glyph E at HL. | ||
| F6F7 | INC HL | Move to the next character cell on screen. | |||
| F6F8 | INC E | Move on to the next logo glyph. | |||
| F6F9 | DJNZ Draw_MainMenuLogo_CharLoop | Decrease the column counter and jump to Draw_MainMenuLogo_CharLoop while columns remain. | |||
| F6FB | PUSH DE | Stash DE on the stack. | |||
| F6FC | LD E,$17 | Load E with 17 (bytes from row end to the next logo row). | |||
| F6FE | ADD HL,DE | Step HL onto the next logo row. | |||
| F6FF | POP DE | Restore DE from the stack. | |||
| F700 | DEC C | Decrease the row counter. | |||
| F701 | JR NZ,Draw_MainMenuLogo_RowLoop | Jump to Draw_MainMenuLogo_RowLoop while rows remain. | |||
| F703 | INC IX | Move IX to the next attribute address in the table. | |||
| F705 | INC IX | ||||
| F707 | POP BC | Restore BC from the stack. | |||
| F708 | DJNZ Draw_MainMenuLogo_CellLoop | Decrease the cell counter and jump to Draw_MainMenuLogo_CellLoop while cells remain. | |||
|
Continue on to ColourCycle_MainMenuLogo.
|
|||||
| Prev: F6C6 | Up: Map | Next: F70A |