Prev: 47592 Up: Map Next: 47665
47603: Move hand cursor up and update menu item highlighting
Used by the routine at 47502.
47603 LD A,(23479) Load menu hand cursor's current y-coordinate into A
47606 OR A If coordinate is zero...
47607 JP Z,47571 ...then jump to 47571 (return to menu input handling routine)
47610 LD (23478),A Store y-coordinate (pixels) at 23478
47613 PUSH AF Store AF (A = menu hand cursor's y-coordinate, in pixels)
47614 ADD A,5 Add five (as the "finger" of the cursor naturally points five pixels below the cursor's actual position)
47616 RRCA Divide this new y-coordinate by eight to get y-coordinate in characters...
47617 RRCA ...
47618 RRCA ...
47619 AND 31 ...
47621 LD C,A Load this y-coordinate into C
47622 POP AF Restore AF (A = menu hand cursor's y-coordinate, in pixels)
47623 DEC A Decrease y-coordinate (pixels) by two...
47624 DEC A ...
47625 LD (23479),A Store new y-coordinate (in pixels)
47628 PUSH BC Store BC (C = y-coordinate, in characters and before move, of menu hand cursor's finger)
47629 CALL 64354 Scroll a region of the display file up two pixel rows without wrapping...
47632 CALL 64354 ...
This entry point is used by the routine at 47665.
47635 POP BC Restore BC (C = y-coordinate, in characters and before move, of menu hand cursor's finger)
47636 LD A,(23479) Load menu hand cursor's new y-coordinate (in pixels) into A
47639 ADD A,5 Add five (as the "finger" of the cursor naturally points five pixels below the cursor's actual position)
47641 RRCA Divide this new y-coordinate by eight to get y-coordinate in characters...
47642 RRCA ...
47643 RRCA ...
47644 AND 31 ...
47646 CP C If new y-coordinate of menu hand cursor (in characters) is the same as its previous y-coordinate...
47647 JP Z,47571 ...then jump to 47571 (return to menu input handling routine)
47650 LD A,(23478) Load A with previous y-coordinate in pixels...
47653 CALL 47731 ...and invert INK and PAPER bits to remove highlighting at this location
47656 LD A,(23479) Load A with new y-coordinate in pixels...
47659 CALL 47731 and invert INK and PAPER bits to apply highlighting at this location
47662 JP 47571 Jump to 47571 (return to menu input handling routine)
Prev: 47592 Up: Map Next: 47665