|  | Routines | 
| Prev: 37689 | Up: Map | Next: 37880 | 
| 
 | ||||||||
| 37764 | LD A,11 | Set y-coordinate of top edge (characters) of window 7 to 11... | ||||||
| 37766 | LD (49092),A | ... | ||||||
| 37769 | LD A,7 | Load A with index of redefine-the-game window | ||||||
| 37771 | CALL 47185 | ...and draw | ||||||
| 37774 | LD HL,50449 | Point HL at Gadget X menu text... | ||||||
| 37777 | CALL 46902 | ...and print | ||||||
| 37780 | CALL 47897 | Play upward scale sound | ||||||
| 37783 | CALL 47502 | Process keyboard / joystick input on a menu and load A with selected item index | ||||||
| 37786 | OR A | If REDEFINE KEYBOARD selected... | ||||||
| 37787 | JP Z,37824 | ...then skip ahead to 37824 | ||||||
| 37790 | CP 1 | If PLAYER ATTRIBUTE IGNORE selected... | ||||||
| 37792 | JR Z,37815 | ...then skip ahead to 37815 | ||||||
| 37794 | CP 2 | If PLAYER ATTRIBUTE UPDATE selected... | ||||||
| 37796 | JR Z,37820 | ...then skip ahead to 37820 | ||||||
| 37798 | CP 5 | If DO NOTHING selected... | ||||||
| 37800 | RET Z | ...then return | ||||||
| 37801 | BIT 0,(IY+65) | If game-in-progress flag is reset... | ||||||
| 37805 | JR Z,37863 | ...then skip ahead to 37863 | ||||||
| 37807 | CP 3 | If SAVE THE GAME selected... | ||||||
| 37809 | JR Z,37841 | ...then skip ahead to 37841 | ||||||
| 37811 | CP 4 | If LOAD AN OLD GAME selected... | ||||||
| 37813 | JR Z,37848 | ...then skip ahead to 37848 | ||||||
| 37815 | XOR A | Reset player-attribute-update flag (player attribute ignore mode)... | ||||||
| 37816 | LD (23706),A | ... | ||||||
| 37819 | RET | Return | ||||||
| 37820 | LD A,1 | Set player-attribute-update flag (player attribute update mode)... | ||||||
| 37822 | JR 37816 | ...and return | ||||||
| 37824 | CALL 47897 | Play upward scale sound | ||||||
| 37827 | LD A,8 | Draw window 8... | ||||||
| 37829 | CALL 47193 | ... | ||||||
| 37832 | LD HL,50513 | Point HL at "redefine keys window" text... | ||||||
| 37835 | CALL 46902 | ...and print to screen | ||||||
| 37838 | JP 63740 | Redefine keyboard controls | ||||||
| 37841 | CALL 37880 | Clear stack and prepare to save data | ||||||
| 37844 | CALL 1218 | Jump to ROM routine to save game data | ||||||
| 37847 | RET | Return (to start of main game loop - see PUSH at 37887) | ||||||
| 37848 | CALL 37880 | Clear stack and prepare to load data | ||||||
| 37851 | SCF | Set carry flag as we are LOADing, not VERIFYing | ||||||
| 37852 | LD SP,22528 | Set stack pointer to 22528 | ||||||
| 37855 | CALL 1366 | Jump to ROM routine to load game data | ||||||
| 37858 | LD SP,(23613) | Restore stack pointer from 23613 (set to 23808 in routine at 37880) | ||||||
| 37862 | RET | Return (to start of main game loop - see PUSH at 37887) | ||||||
| 37863 | LD A,5 | Draw window 5... | ||||||
| 37865 | CALL 47193 | ... | ||||||
| 37868 | LD HL,50594 | Point HL at "SAVE & LOAD ARE NOT ALLOWED HERE..." text... | ||||||
| 37871 | CALL 46902 | ...and print to screen | ||||||
| 37874 | CALL 47897 | Play upward scale sound | ||||||
| 37877 | JP 64230 | Wait for interrupt then display "PRESS FIRE TO CONTINUE" window and wait for fire to be pressed and return | ||||||
| Prev: 37689 | Up: Map | Next: 37880 |