"Patrulha Espacial" Patch for 50Hz ZX81
Posted: Sun May 27, 2018 12:04 pm
Kelly Murta has made available some excellent games here: http://zx81.eu5.org/
All games were originally released for the Brazilian TK85 clone of the ZX81.
One of the games is 'Patrulha Espacial' (Space Patrol), which is a cracking shoot 'em up style game. This can be played with the EightyOne emulator but only if configured as a TK85 or as a 60Hz ZX81 ('NTSC TV' option in EightyOne). This is because the game reads the keyboard port but does not mask off the top 3 bits. Bit 6 indicates whether the ZX81 is set to 50Hz or 60Hz operation, and the game expects it to be 0, i.e. 60 Hz operation.
I've produced a patched version that allows it to work on any ZX81. There is an unused area of memory in the program (which looks to be the unused end of a REM statement that holds the machine code) and so I have placed a patch here that discards the upper 3 bits and then sets bit 5 to 1. This results in values that the game is expecting. The changes are as follows:
$450D: CALL $5EC5
$5EC5: AND $1F
$5EC7: OR $20
$5EC9: LD ($4503),A
$5ECC: RET
And here is the patched version of the game:
All games were originally released for the Brazilian TK85 clone of the ZX81.
One of the games is 'Patrulha Espacial' (Space Patrol), which is a cracking shoot 'em up style game. This can be played with the EightyOne emulator but only if configured as a TK85 or as a 60Hz ZX81 ('NTSC TV' option in EightyOne). This is because the game reads the keyboard port but does not mask off the top 3 bits. Bit 6 indicates whether the ZX81 is set to 50Hz or 60Hz operation, and the game expects it to be 0, i.e. 60 Hz operation.
I've produced a patched version that allows it to work on any ZX81. There is an unused area of memory in the program (which looks to be the unused end of a REM statement that holds the machine code) and so I have placed a patch here that discards the upper 3 bits and then sets bit 5 to 1. This results in values that the game is expecting. The changes are as follows:
$450D: CALL $5EC5
$5EC5: AND $1F
$5EC7: OR $20
$5EC9: LD ($4503),A
$5ECC: RET
And here is the patched version of the game: