Prev: 37595 Up: Map Next: 37764
37689: Wait for interrupt then display and handle input device selection menu
Used by the routine at 64582.
Input
IY 23610
37689 HALT Wait for interrupt
37690 LD SP,23808 Set stack pointer to 23808
37693 XOR A Reset all interrupt routine flags...
37694 LD (IY+65),A ...
37697 IM 2 Set interrupt mode 2
37699 CALL 38003 Set border to black and clear temporary storage area of memory
This entry point is used by the routine at 37632
37702 CALL 37909 Draw input device selection menu and update currently selected input device
37705 CALL 47502 Process keyboard / joystick input on a menu and load A with selected item index
37708 CP 4 If "CHANGE GAME OPTIONS" selected...
37710 JP Z,37758 ...then skip ahead to 37758
37713 CP 5 If "INSTRUCTIONS" selected...
37715 JR Z,37752 ...then skip ahead to 37752
37717 CP 6 If "PLAY GAME" selected...
37719 JP Z,38024 ...then jump to 38024 (initialise data and start a new game)
37722 PUSH AF Store AF (A = index of selected menu item)
37723 LD A,(63653) Load A with index of currently selected input device (see trivia)
37726 PUSH AF Store AF (A = index of currently selected input device)
37727 LD C,A Load C with index of currently selected input device
37728 LD A,(49084) Load A with y-coordinate of top edge of window 6 (control selection window)
37731 ADD A,C Add index of currently selected input device...
37732 ADD A,2 ...and add two more to get y-coordinate of menu item for currently selected input device
37734 LD B,A Load value into B
37735 LD C,3 Load C with 3
37737 CALL 63219 Load HL with attribute file address for coordinates (C, B)
37740 LD (HL),71 Set attribute at this location to 71 (white INK, black PAPER, BRIGHT) (see trivia)
37742 POP DE Restore DE (D = index of currently selected input device, previously in AF)
37743 POP AF Store AF (A = index of selected menu item)
37744 LD (63653),A Set new selected input device index at 63653
37747 CALL 63598 Update currently selected input device...
37750 JR 37705 ...and loop back to 37705
37752 CALL 37951 Display instructions windows
37755 JP 37702 Jump back to 37702 to capture next menu selection
37758 CALL 37764 Display and handle Gadget X menu
37761 JP 37702 Jump back to 37702 to capture next menu selection
Prev: 37595 Up: Map Next: 37764