Posted By
Waz on 2024-12-17 17:03:07
| Tower of Evil - Original C16 Only release versus Plus/4 compatible re-release
Good evening all,
As noted, I took a look at the two versions of Tower of Evil - the original Creative Sparks version and the Alternative Software re-release, so see what was changed between the two versions and indeed it being another case of $FF13 not being set correctly.
In fact, this was much easier than I thought, as a handy readme text file in the C16 only version revealed what proved to be true in the code of the original release. $FF13 isn't actually set at all in the game code, whatsoever, so just uses its power on value which is set to $D1. Of course the C16 would just read that as $11 and it works, but an expanded C16 or Plus/4 would see that as $D1 and fail, hence the readme text asking you to enter POKE65299,17 at the READY prompt after the initial load.
What's interesting is basically the first part load is just some code to load the main game and then use the SYS call:
20 IFA=0THENA=1:LOAD"TOE",1,1 30 SYS5120 In theory you could add line 25 to do the POKE and run, so:
25 POKE 65299,17 and then RUN accordingly to load the rest of the game in, and it works properly on the Plus/4 then (as the readme text file noted - well done to whoever put that in.)
In the Alternative Software re-release, this BASIC listing has been altered slightly, and comparing both TAP images, the second part load (TOE) is 4 blocks greater in the re-release. Here's the revised listing:
20 IFA=0THENA=1:LOAD"TOE",1,1 30 SYS14337 Note the revised SYS code, which is at $3801. When the re-release has loaded its main part, a check of the monitor shows pretty much all they did was explicitly set $FF13 to $10 and then call the original code (SYS5120 = G 1400):
.C:3801 A9 10 LDA #$10 .C:3803 8D 13 FF STA $FF13 .C:3806 4C 00 14 JMP $1400
Straightforward enough, but it works without having to alter anything during load. The load time does take a little longer due to 4 extra blocks loading with a standard blank screen loader.
|