Prev: 37566 Up: Map Next: 37613
37571: Apply FLASH attribute to menu letter shortcut next to hand menu cursor
Used by the routines at 37333, 37497 and 37523.
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
The instruction at 37609 represents the modification to make to the attribute value (either AND 127 which removes FLASH, or OR 128 which applies FLASH). This is modified by the instruction at 37574.
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