Routines |
Prev: 6F77 | Up: Map | Next: 6F94 |
|
||||||||
HighlightMenuLine | 6F7B | LD C,$03 | C= MAGENTA. | |||||
6F7D | LD ($6F02),A | Write A to *ControlMethod. | ||||||
This entry point is used by the routine at ClearActiveMenuItem.
|
||||||||
SetActiveMenuItem | 6F80 | LD A,($6F02) | Fetch *ControlMethod. | |||||
Locate the desired line for highlighting.
|
||||||||
6F83 | LD HL,$58EB | HL=58EB (attribute buffer location). | ||||||
6F86 | LD DE,$0020 | DE=20 (one line). | ||||||
Keep moving down one line in relation to the active menu number.
|
||||||||
FindMenuLine | 6F89 | ADD HL,DE | HL+=DE. | |||||
6F8A | DEC A | Decrease A by one and jump back to FindMenuLine until the correct line is referenced. | ||||||
6F8B | JR NZ,FindMenuLine | |||||||
Highlight the line.
|
||||||||
6F8D | LD B,$12 | Set a counter of 12 (the maximum number of characters on any line). | ||||||
HighlightMenuLine_Loop | 6F8F | LD (HL),C | Write the attribute byte to the currently referenced attribute buffer location. | |||||
6F90 | INC HL | Increment the referenced attribute buffer location by one. | ||||||
6F91 | DJNZ HighlightMenuLine_Loop | Decrease the counter by one and loop back to HighlightMenuLine_Loop until the whole line is highlighted. | ||||||
6F93 | RET | Return. |
Prev: 6F77 | Up: Map | Next: 6F94 |