Prev: BF33 Up: Map Next: BF9D
BF60: Start game
Used by the routine at BF1A.
BF60 LD HL,($5C3D) Replace ERRSP stack pointer with the address C763 (start of pause game routine)
BF63 LD SP,HL
BF64 POP HL
BF65 LD HL,$C763
BF68 PUSH HL
Identify the control method (1-4) that was selected on the first game menu (8BC2).
Sets the HL register pair to point to the address containing the input values to check for that control method.
BF69 LD A,($BF18) Game control choice (1-4)
BF6C CP $01
BF6E JR NZ,$BF75
BF70 LD HL,$EB08 Kempston joystick selected
BF73 JR $BF8A
BF75 CP $02 AGF/cursor joystick selected
BF77 JR NZ,$BF7E
BF79 LD HL,$EB1E
BF7C JR $BF8A
BF7E CP $03
BF80 JR NZ,$BF87
BF82 LD HL,$EB33 Sinclair joystick selected
BF85 JR $BF8A
BF87 LD HL,$EB0E Keyboard selected
Store the address holding the set of control input values.
BF8A LD ($EB06),HL
...and check if we need to set up a new game or not:
BF8D LD A,($BF19) Is it a new game, or has a saved game been loaded?
BF90 CP $00
BF92 JR Z,$BF9D New game - jump to game setup
BF94 LD A,($EAB7) Game loaded. Copy room number into buffer.
BF97 LD ($EAB0),A
BF9A JP $D94C No need for intro/game setup for loaded data - jump straight into game
Prev: BF33 Up: Map Next: BF9D