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 |