![]() |
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 |