![]() |
Routines |
| Prev: 37566 | Up: Map | Next: 37613 |
| 37571 | LD HL,33014 | Load HL with opcode for OR 128 (apply FLASH attribute) | ||
|
This entry point is used by the routine at 37566.
|
||||
| 37574 | LD (37609),HL | Modify attribute modification code below with opcode stored in HL | ||
| 37577 | LD A,(23493) | Load A with x-coordinate of left edge of current window... | ||
| 37580 | LD C,A | ...and copy into C | ||
| 37581 | LD A,(23475) | Load hand cursor's current y-coordinate into A | ||
| 37584 | ADD A,5 | Add five (as the "finger" of the cursor naturally points five pixels below the cursor's actual position) | ||
| 37586 | CALL 30123 | Divide this new y-coordinate by eight to get y-coordinate in characters | ||
| 37589 | LD B,A | Load this y-coordinate into B | ||
| 37590 | LD A,(23489) | Load initial y-coordinate of top of hand cursor relative to current window, into A | ||
| 37593 | ADD A,B | Add this to y-coordinate of "finger" | ||
| 37594 | LD B,A | Load this into B, so that B now contains y-coordinate of "finger" relative to top of window (characters) | ||
| 37595 | LD A,(23494) | Load y-coordinate of top edge of current window into A | ||
| 37598 | ADD A,B | Add... | ||
| 37599 | INC A | ...then add one (for window frame at top) so we now have y-coordinate of "finger" relative to screen | ||
| 37600 | LD B,A | Load into B | ||
| 37601 | LD (23472),BC | Store coordinates at 23472 | ||
| 37605 | CALL 36569 | Update virtual attribute cursor storage location to position (C, B) and point HL to corresponding attribute file address | ||
| 37608 | LD A,(HL) | Load current attribute at this location into A | ||
| 37609 | NOP | Update FLASH flag as required... | ||
| 37610 | NOP | ... | ||
| 37611 | LD (HL),A | Load modified attribute back into attribute file at coordinates X=C, Y=B | ||
| 37612 | RET | Return | ||
| Prev: 37566 | Up: Map | Next: 37613 |