Routines |
Prev: 46946 | Up: Map | Next: 47043 |
Used by the routine at 46830.
|
||||||||
46968 | CP 75 | If pressed key was not 75 (K)... | ||||||
46970 | JR NZ,46900 | ...then jump to main menu handling routine at 46900 | ||||||
46972 | LD B,7 | Load B with 7 (as there are seven controls to define) | ||||||
46974 | LD HL,46683 | Point HL at start of table of current keyboard controls | ||||||
46977 | LD (HL),63 | Set current entry in table to 63 (ASCII code for "?") | ||||||
46979 | INC HL | Advance HL to next entry | ||||||
46980 | DJNZ 46977 | Decrease remaining number of controls to change and loop back to 46977 if not zero | ||||||
46982 | LD A,112 | Load A with the attribute value for black INK, yellow PAPER, BRIGHT | ||||||
46984 | CALL 47084 | Print keyboard controls on main menu | ||||||
46987 | LD IY,46683 | Point IY at table of current keyboard controls | ||||||
46991 | LD IX,46696 | Point IX at entry for " RIGHT " text in table of attribute file addresses at which to print for main menu | ||||||
46995 | LD B,7 | Load B with 7 (as there are seven controls to define) | ||||||
46997 | PUSH BC | Store BC (remaining number of controls to define) | ||||||
46998 | LD A,198 | Load A with 198 (yellow INK, black PAPER, BRIGHT, FLASH) | ||||||
47000 | LD E,32 | Load E with 32 (" ") | ||||||
47002 | CALL 47071 | Set attribute to A and location to (IX) and print double-height character in E | ||||||
47005 | CALL 47955 | Wait for key-press, store pressed key code in A and play main menu sound | ||||||
47008 | CALL 47060 | If key pressed matches a direction, or the Berk / Drutt key... | ||||||
47011 | JR Z,47005 | ...then loop back to 47005 | ||||||
47013 | LD E,A | Load keycode of pressed control into E... | ||||||
47014 | LD (IY+0),E | ...and store in table of current keyboard controls | ||||||
47017 | INC IY | Advance IY to next control | ||||||
47019 | LD A,113 | Load A with 113 (blue INK, yellow PAPER, BRIGHT) | ||||||
47021 | CALL 47071 | Set attribute to A and location to (IX) and print double-height character in E | ||||||
47024 | INC IX | Advance IX to next entry in table of attribute file addresses... | ||||||
47026 | INC IX | ... | ||||||
47028 | POP BC | Restore BC (remaining number of controls to define) | ||||||
47029 | DJNZ 46997 | Decrease remaining number of controls to define and loop back to 46997 if not zero | ||||||
47031 | XOR A | Switch joystick mode to off... | ||||||
47032 | LD (34298),A | ... | ||||||
47035 | LD A,114 | Load A with the attribute value for red INK, yellow PAPER, BRIGHT | ||||||
47037 | CALL 47084 | Print keyboard controls on main menu | ||||||
47040 | JP 46900 | Jump to main menu handling routine at 46900 |
Prev: 46946 | Up: Map | Next: 47043 |