Routines |
Prev: 37633 | Up: Map | Next: 38194 |
|
||||||||||||||||||||
GameEntry | 38000 | LD HL,64244 | Write 64244 to CHARS. | |||||||||||||||||
38003 | LD (23606),HL | |||||||||||||||||||
38006 | LD A,1 | Write 1 to DF_SZ. | ||||||||||||||||||
38008 | LD (23659),A | |||||||||||||||||||
38011 | LD A,1 | Write 1 to ControlMethod. | ||||||||||||||||||
38013 | LD (23464),A | |||||||||||||||||||
This entry point is used by the routines at InstructionsPrint, BestScoresPrint and StartGame.
|
||||||||||||||||||||
GameEntry_0 | 38016 | LD HL,16384 | Writes 0 to all 6144 screen buffer address locations (clears the screen). | |||||||||||||||||
38019 | LD DE,16385 | |||||||||||||||||||
38022 | LD (HL),0 | |||||||||||||||||||
38024 | LD BC,6143 | |||||||||||||||||||
38027 | LDIR | |||||||||||||||||||
38029 | LD A,7 | Write 7 to BORDCR. | ||||||||||||||||||
38031 | LD (23624),A | |||||||||||||||||||
38034 | XOR A | Set the border colour to BLACK. | ||||||||||||||||||
38035 | OUT (254),A | |||||||||||||||||||
38037 | LD A,3 | Write 3 to TemporaryCounter. | ||||||||||||||||||
38039 | LD (23482),A | |||||||||||||||||||
38042 | CALL 38234 | Call 38234. | ||||||||||||||||||
38045 | CALL TitleScreenPrint | Call TitleScreenPrint. | ||||||||||||||||||
38048 | LD A,(23464) | If ControlMethod is 1 jump to TitleScreenInit. | ||||||||||||||||||
38051 | CP 1 | |||||||||||||||||||
38053 | JP Z,TitleScreenInit | |||||||||||||||||||
38056 | LD A,(23464) | If ControlMethod is 2 jump to Input_KempstonJoystick. | ||||||||||||||||||
38059 | CP 2 | |||||||||||||||||||
38061 | JP Z,Input_KempstonJoystick | |||||||||||||||||||
38064 | LD A,(23464) | If ControlMethod is 3 jump to Input_ProtekJoystick. | ||||||||||||||||||
38067 | CP 3 | |||||||||||||||||||
38069 | JP Z,Input_ProtekJoystick | |||||||||||||||||||
38072 | LD A,(23464) | If ControlMethod is 5 jump to Input_Interface2. | ||||||||||||||||||
38075 | CP 5 | |||||||||||||||||||
38077 | JP Z,Input_Interface2 | |||||||||||||||||||
Handles selecting "1. KEYBOARD".
|
||||||||||||||||||||
TitleSelectInput | 38080 | LD A,247 | Read from the keyboard;
|
|||||||||||||||||
38082 | IN A,(254) | |||||||||||||||||||
38084 | AND %00000001 | Keep only bit 0. | ||||||||||||||||||
38086 | JP Z,InputTest_Keyboard | If "1" was pressed then jump to InputTest_Keyboard. | ||||||||||||||||||
Handles selecting "2. KEMPSTON JOYSTICK".
|
||||||||||||||||||||
38089 | LD A,247 | Read from the keyboard;
|
||||||||||||||||||
38091 | IN A,(254) | |||||||||||||||||||
38093 | AND %00000010 | Keep only bit 1. | ||||||||||||||||||
38095 | JP Z,InputTest_KempstonJoystick | If "2" was pressed then jump to InputTest_KempstonJoystick. | ||||||||||||||||||
Handles selecting "3. PROTEK JOYSTICK".
|
||||||||||||||||||||
38098 | LD A,247 | Read from the keyboard;
|
||||||||||||||||||
38100 | IN A,(254) | |||||||||||||||||||
38102 | AND %00000100 | Keep only bit 2. | ||||||||||||||||||
38104 | JP Z,InputTest_ProtekJoystick | If "3" was pressed then jump to InputTest_ProtekJoystick. | ||||||||||||||||||
Handles selecting "4. INTERFACE 2".
|
||||||||||||||||||||
38107 | LD A,247 | Read from the keyboard;
|
||||||||||||||||||
38109 | IN A,(254) | |||||||||||||||||||
38111 | AND %00001000 | Keep only bit 3. | ||||||||||||||||||
38113 | JP Z,InputTest_Interface2 | If "4" was pressed then jump to InputTest_Interface2. | ||||||||||||||||||
Handles ... cheat codes?
|
||||||||||||||||||||
CHEATCODES | 38116 | LD A,253 | Read from the keyboard;
|
|||||||||||||||||
38118 | IN A,(254) | |||||||||||||||||||
38120 | AND %00000011 | Keep only bits 0-1. | ||||||||||||||||||
38122 | JP Z,39210 | If "A" and "S" was pressed then jump to 39210. | ||||||||||||||||||
38125 | LD A,253 | Read from the keyboard;
|
||||||||||||||||||
38127 | IN A,(254) | |||||||||||||||||||
38129 | AND %00000001 | Keep only bit 0. | ||||||||||||||||||
38131 | JP Z,39236 | If "A" was pressed then jump to 39236. | ||||||||||||||||||
Handles selecting "5. INSTRUCTIONS".
|
||||||||||||||||||||
38134 | LD A,247 | Read from the keyboard;
|
||||||||||||||||||
38136 | IN A,(254) | |||||||||||||||||||
38138 | AND %00010000 | Keep only bit 4. | ||||||||||||||||||
38140 | JP Z,InstructionsPrint | If "5" was pressed then jump to InstructionsPrint. | ||||||||||||||||||
Handles selecting "6. PLAY".
|
||||||||||||||||||||
38143 | LD A,239 | Read from the keyboard;
|
||||||||||||||||||
38145 | IN A,(254) | |||||||||||||||||||
38147 | AND %00010000 | Keep only bit 4. | ||||||||||||||||||
38149 | JP Z,StartGame | If "6" was pressed then jump to StartGame. | ||||||||||||||||||
38152 | LD HL,(23449) | Increment the value at RandomNumberSeed by one. | ||||||||||||||||||
38155 | INC HL | |||||||||||||||||||
38156 | LD (23449),HL | |||||||||||||||||||
38159 | LD A,31 | A=31. | ||||||||||||||||||
38161 | CP H | |||||||||||||||||||
38162 | CALL Z,ResetRandomSeed | |||||||||||||||||||
38165 | LD HL,(23480) | Increment the value at TemporaryAddress by one. | ||||||||||||||||||
38168 | INC HL | |||||||||||||||||||
38169 | LD (23480),HL | |||||||||||||||||||
38172 | XOR A | A=0. | ||||||||||||||||||
38173 | CP H | |||||||||||||||||||
38174 | JP NZ,TitleSelectInput | |||||||||||||||||||
38177 | CP L | |||||||||||||||||||
38178 | JP NZ,TitleSelectInput | |||||||||||||||||||
38181 | LD A,(23482) | Increment the value at TemporaryCounter by one. | ||||||||||||||||||
38184 | DEC A | |||||||||||||||||||
38185 | LD (23482),A | |||||||||||||||||||
38188 | JP NZ,TitleSelectInput | |||||||||||||||||||
38191 | JP BestScoresPrint | Jump to BestScoresPrint. |
Prev: 37633 | Up: Map | Next: 38194 |