Page 1 of 7

Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Tue May 01, 2018 9:53 am
by Alessandro
Modifications to the ULA circuitry of the +3 and later +2A (and +2B) Spectrums carried out by Amstrad in 1987 caused incompatibility problems with a wide range of pre-existing games. Since May 2011, I have been tracking down such incompatibilities and the remedies for them. The complete list can be found on my website in both Italian and English.

After 7 years on the WOS forum, I decided to open the discussion on the SC forum as well.

Currently, we still have this incompatibility to resolve:

Camelot Warriors (Ariolasoft English release): The start menu restarts again and again, making the game impossible to start. It is as if a key would be continuously pressed.

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Tue May 01, 2018 10:30 am
by Ast A. Moore
Alessandro wrote: Tue May 01, 2018 9:53 am Currently, we still have this incompatibility to resolve:

Camelot Warriors (Ariolasoft English release): The start menu restarts again and again, making the game impossible to start. It is as if a key would be continuously pressed.
Why, though? The Mastertronic release works fine.

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Tue May 01, 2018 10:37 am
by Alessandro
There are some other differences between the two versions, apart from the fact that one works and the other doesn't.

Take a look at the first screen for an example - the Mastertronic version has a green bipedal monster which is absent from the Ariolasoft one but present on the original (Spanish) Dinamic one.

We cannot just point users to an alternative working version then.

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Tue May 01, 2018 10:49 am
by Ast A. Moore
Alessandro wrote: Tue May 01, 2018 10:37 am There are some other differences between the two versions
Curious. Didn’t know that. Thanks for pointing it out. I’ll try to remember to look into this.

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Tue May 01, 2018 1:42 pm
by Ast A. Moore
Well, the original version by Dinamic doesn’t play ball on the 128K Toast Rack, either. It crashes in 128K mode, and the music in the menu stops playing after the first note in 48K mode.

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Tue May 01, 2018 1:45 pm
by Alessandro
Ast A. Moore wrote: Tue May 01, 2018 1:42 pm Well, the original version by Dinamic doesn’t play ball on the 128K Toast Rack, either. It crashes in 128K mode, and the music in the menu stops playing after the first note in 48K mode.
Pre-128K games should normally be loaded in 48 BASIC mode anyway ;)

EDIT: The music issue doesn't show in Spectaculator, will try it on real hardware as soon as possible.

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Wed May 02, 2018 9:50 am
by Ast A. Moore
Okay, I sorta, kinda figured out why the menu keeps resetting, but a fix isn’t going to be trivial. So that’ll have to wait.

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Wed May 02, 2018 10:22 pm
by Ast A. Moore
Right, ahem. The cause of this conundrum is clear. It’s the case of reading the keyboard and not ignoring Bits 7–5. I suspect the original suffers from the same problem. I’m almost positive that both version also will not work on some 48K machines.

Anyway, I’m slowly rewriting keyboard polling routines throughout, trying to fit them inside the existing ones. Not easy. We’ll see how it goes.

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Wed May 02, 2018 11:02 pm
by Ast A. Moore
Just finished a preliminary fix. It works, but (a) it’s a snapshot and (b) there are a few naughty bits there. In a few instances, the keyboard polling routine is too tight (IN A,(C)/CP Fx/JR NZ,xxxx). No way to insert masking without replacing it with a call to a rewritten routine somewhere else in free RAM.

Also, I just checked, and the original (Spanish) game suffers from the exact same problem. Just as I’d suspected.

P.S. The fix also takes care of the music cutting out in the menu. Same issue (the keyboard is being polled in between the beeps).

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Thu May 03, 2018 9:39 am
by Ast A. Moore
cc [mention]Alessandro[/mention]

Some very, very sloppy coding in this game, let me tell ya.

In other news, I managed to apply all the fixes properly. Here’s the snapshot for testing (I ain’t gonna play it—that’s for sure :D ). If everything works as it should, I can start thinking of how to inject my fixes into the TZX, so the game can be played on all Spectrums.

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Thu May 03, 2018 2:12 pm
by Alessandro
Ast A. Moore wrote: Thu May 03, 2018 9:39 am (I ain’t gonna play it—that’s for sure :D ).
Pity - the game is brilliant in my opinion, I liked it a lot back in the day despite being unable to progress farther than about half of it.

Anyway, the correction works. I took a look at the code block loaded after the BASIC loader program and launched by it. It is clear that the turbo loading routine starts at 24600 and is moved to 65361, where it is executed each time a data block has to be loaded from tape. If you have to load the fixing patch code in a free RAM area, I think it would not be difficult to save it as a new data block, add the relative loading instruction to the code, execute a CALL to run the patch and then let the game begin with the JP 50600 instruction. How about it?

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Thu May 03, 2018 6:25 pm
by Ast A. Moore
Alessandro wrote: Thu May 03, 2018 2:12 pm
Ast A. Moore wrote: Thu May 03, 2018 9:39 am (I ain’t gonna play it—that’s for sure :D ).
Pity - the game is brilliant in my opinion, I liked it a lot back in the day despite being unable to progress farther than about half of it.
Too clunky and slow for me. Besides, I never got used to the QAOP controls, and not offering a redefinable controls options is a huge oversight.
Alessandro wrote: Thu May 03, 2018 2:12 pmIf you have to load the fixing patch code in a free RAM area, I think it would not be difficult to save it as a new data block, add the relative loading instruction to the code, execute a CALL to run the patch and then let the game begin with the JP 50600 instruction. How about it?
Too convoluted. There’s about a dozen disparate places where the code needs to be patched. I’d rather incorporate it in the main data loading block and recalculate the checksum.

If all goes well, I might patch the original Spanish version, too.

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Thu May 03, 2018 9:54 pm
by Ast A. Moore
[mention]Alessandro[/mention]

Awrighty, then. I incorporated all the patches into the original TZX. I also found and fixed a couple more instances of wonky keyboard polling (pressing “1” during the game quits it; pressing “2” pauses it).

It should now work on all Spectrums, including earlier issues of the 48K. The only issue I haven’t looked into is the crash in 128K BASIC mode on the Toast Rack. The game will work in 48K mode. On a +2A/+3, the game will work in either mode.

Download Camelot Warriors (re-release by Ariolasoft), fixed by Ast A. Moore.

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Thu May 03, 2018 10:41 pm
by Alessandro
That's great! Thank you. :D
Ast A. Moore wrote: Thu May 03, 2018 9:54 pmThe only issue I haven’t looked into is the crash in 128K BASIC mode on the Toast Rack.
You should not really bother with that because, again, pre-128K software should be loaded under 48 BASIC in the first place. There are a number of titles which won't load otherwise but it should not be considerered a real incompatibility.

The list has been updated!

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Thu May 03, 2018 11:28 pm
by Ast A. Moore
Alessandro wrote: Thu May 03, 2018 10:41 pm That's great! Thank you. :D
Glad I could help.
Alessandro wrote: Thu May 03, 2018 10:41 pm
Ast A. Moore wrote: Thu May 03, 2018 9:54 pmThe only issue I haven’t looked into is the crash in 128K BASIC mode on the Toast Rack.
You should not really bother with that because, again, pre-128K software should be loaded under 48 BASIC in the first place. There are a number of titles which won't load otherwise but it should not be considerered a real incompatibility.
Perhaps. But unless it’s completely unavoidable, games should load with minimum hassle on all machines, I think.

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Fri May 04, 2018 8:35 pm
by Ast A. Moore
[mention]Alessandro[/mention]
I spent the better part of the day investigating the 128K/+2 compatibility issues, but eventually came up with a fix. Now works on all machines in all modes.

Turned out to be the keypad polling routine in ROM 1 (as I’d suspected).

Same link. Please re-download.

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Sat May 05, 2018 3:31 pm
by Pegaz
Great job, indeed!
Together with the new Mac loading screen, it's just perfect. :)
http://s000.tinyupload.com/download.php ... 0130585112

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Sat May 05, 2018 3:38 pm
by Ast A. Moore
Just as well, I fixed the original version by Dinamic. The cheat/easter egg will work, too.

New link (with both versions included).

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Sat May 05, 2018 3:39 pm
by Ast A. Moore
Pegaz wrote: Sat May 05, 2018 3:31 pm Great job, indeed!
Together with the new Mac loading screen, it's just perfect. :)
http://s000.tinyupload.com/download.php ... 0130585112
I’ve uploaded the actual Dinamic release as well now (see my post above). That loading screen is more fitting there. ;)

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Sat May 05, 2018 5:44 pm
by Alessandro
I appreciate the effort but I won't update the list further with this issue. The original Dinamic version was not incompatible - it loaded and worked without hassle under 48K BASIC. I am not going to list games which load and work on the +2A/+3 only under 48K mode because - it's the third time I say that :roll: - it is the proper way to load software released before the launch of the 128K and newer models.

If it loads and works as it should, it's not incompatible, after all ;)

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Sat May 05, 2018 6:14 pm
by Ast A. Moore
Alessandro wrote: Sat May 05, 2018 5:44 pm I appreciate the effort but I won't update the list further. The original Dinamic version was not incompatible - it loaded and worked without hassle under 48K BASIC.
Not quite. The music stops playing on post–issue 2 48K machines. Also, on a +2A, it goes straight into the game, bypassing the menu altogether.

You’re probably referring to the version that is sometimes known to as the Small Orange Case version, which was released in 1988, as far as I can tell. Most of the keyboard polling routines are indeed fixed there—I just checked. The cheat, however, was missed and left unpatched, so it won’t work on anything but an Issue 1 or 2 of the Spectrum 48K. ;) My version is the only one (of the Spanish-language releases) that re-enables it.
Alessandro wrote: Sat May 05, 2018 5:44 pm I am not going to list games which load and work on the +2A/+3 only under 48K mode because - it's the third time I say that :roll: - it is the proper way to load software released before the launch of the 128K and newer models.
I don’t insist that you include it in your list. I just put it out here because someone else might be interested in a 100%–Spectrum compatible version. That’s the idea behind the fix, after all. ;)

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Sat May 05, 2018 6:32 pm
by Alessandro
All right, I guess there is the need for a separate thread for game bugs correction, then :lol: By the way, I didn't even know that an in-game cheat was available for Camelot Warriors. The Tipshop does not list it - would it be the case to tell Gerard about this?

On the WOS forum there is a discussion thread about bugs in games and relative fixes. I have some of them in my archive - let's see what I can do, then, since I only collected corrections for those titles I selected for my personal collection. Others will have to be retrieved from the thread.

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Sat May 05, 2018 7:37 pm
by Ast A. Moore
Alessandro wrote: Sat May 05, 2018 6:32 pm By the way, I didn't even know that an in-game cheat was available for Camelot Warriors.
Well, I only learned about it when I decided to fix the Spanish version (as the English version doesn’t seem to have it). The code is slightly different (the Spanish version doesn’t have the Kempston/keyboard selection in the menu), so when I was plowing through the code looking for anything related to keyboard polling, I noticed a completely new—and unnecessarily convoluted—routine. Since it suffered from the same problem of grabbing an entire byte from the keyboard port instead of testing the lowest five bits only, I rewrote it as well. Bingo—a cheat!

I then fired up the original unpatched version under the 48K machine and enabled the Issue 2 keyboard option in the emulator, and sure enough, it worked. So the cheat was intended to be there in the first place.
Alessandro wrote: Sat May 05, 2018 6:32 pmOn the WOS forum there is a discussion thread about bugs in games and relative fixes. I have some of them in my archive - let's see what I can do, then, since I only collected corrections for those titles I selected for my personal collection. Others will have to be retrieved from the thread.
Yeah, the versions of Camelot Warriors I worked on were all from my personal archive. That’s why I didn’t know about the almost-fully-patched Small Orange Case version until you said your version worked fine on the +2A. Since mine didn’t, I had to investigate.

Ah, details, details . . . :D

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Sat May 05, 2018 10:49 pm
by Pegaz
Ast A. Moore wrote: Sat May 05, 2018 3:39 pm
Pegaz wrote: Sat May 05, 2018 3:31 pm Great job, indeed!
Together with the new Mac loading screen, it's just perfect. :)
http://s000.tinyupload.com/download.php ... 0130585112
I’ve uploaded the actual Dinamic release as well now (see my post above). That loading screen is more fitting there. ;)
You're right, here's the definitive version, the original Dynamic title with your fix and Mac loading screen.
http://s000.tinyupload.com/download.php ... 4954175155
Btw, this is a really good game, I think there's a chance you like it. :)

Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)

Posted: Sat May 05, 2018 11:24 pm
by Ast A. Moore
Pegaz wrote: Sat May 05, 2018 10:49 pm
Ast A. Moore wrote: Sat May 05, 2018 3:39 pm I’ve uploaded the actual Dinamic release as well now (see my post above). That loading screen is more fitting there. ;)
You're right, here's the definitive version, the original Dynamic title with your fix and Mac loading screen.
http://s000.tinyupload.com/download.php ... 4954175155
Btw, this is a really good game, I think there's a chance you like it. :)
Oh, yeah. Now it looks like it belongs. ;)

I’m not much of a gamer, and this kind of a game is not my cup of tea. However, I watched the walkthrough on YouTube, and it does get a better toward the middle. I liked the part where you turn into a frog. That’s kind of cute.