Prev: 53460 Up: Map Next: 53512
53474: Set Kempston Joystick
Used by the routine at TitleScreen.
SetKempstonJoystick 53474 LD DE,55734 DE=Messaging_ReleaseJoystick.
53477 CALL PrintString Call PrintString.
Pause to let the message sink in...
53480 LD B,100 B=100 (pause loops).
SetKempstonJoystick_PauseLoop 53482 PUSH BC Stash the pause loop counter on the stack.
53483 CALL SmallPause Call SmallPause.
53486 POP BC Restore the pause loop counter from the stack.
53487 DJNZ SetKempstonJoystick_PauseLoop Decrease the pause loop counter by one and loop back to SetKempstonJoystick_PauseLoop until the counter is zero.
After the above loop we loop again, this gives the player the chance to abort setting this control method.
53489 LD BC,1000 BC=1000 (counter).
SetKempstonJoystick_Read 53492 IN A,(31) Read from the Kempston joystick port.
53494 CP 0 Jump to TitleScreen if any control is being pressed.
53496 JP NZ,TitleScreen
53499 DEC BC Decrease BC by one.
53500 LD A,B Jump to SetKempstonJoystick_Read until BC is zero.
53501 OR C
53502 JR NZ,SetKempstonJoystick_Read
Else, finally, set this control method.
53504 LD A,12 Set Kempston joystick (12) to *ControlMethod.
53506 LD (23530),A
53509 JP Print_TitleScreen Jump to Print_TitleScreen.
Prev: 53460 Up: Map Next: 53512