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

General software. From trouble with the Banyan Tree to OCP Art Studio, post any general software chat here. Could include game challenges...
Post Reply
User avatar
Alessandro
Dynamite Dan
Posts: 1908
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

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

Post 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.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

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

Post 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.
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
User avatar
Alessandro
Dynamite Dan
Posts: 1908
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

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

Post 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.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

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

Post 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.
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

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

Post 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.
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
User avatar
Alessandro
Dynamite Dan
Posts: 1908
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

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

Post 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.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

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

Post 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.
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

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

Post 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.
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

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

Post 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).
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

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

Post 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.
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
User avatar
Alessandro
Dynamite Dan
Posts: 1908
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

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

Post 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?
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

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

Post 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.
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

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

Post 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.
Last edited by Ast A. Moore on Thu May 03, 2018 11:19 pm, edited 1 time in total.
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
User avatar
Alessandro
Dynamite Dan
Posts: 1908
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

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

Post 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!
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

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

Post 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.
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

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

Post 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.
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
User avatar
Pegaz
Dynamite Dan
Posts: 1209
Joined: Mon Nov 13, 2017 1:44 pm

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

Post by Pegaz »

Great job, indeed!
Together with the new Mac loading screen, it's just perfect. :)
http://s000.tinyupload.com/download.php ... 0130585112
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

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

Post 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).
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

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

Post 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. ;)
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
User avatar
Alessandro
Dynamite Dan
Posts: 1908
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

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

Post 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 ;)
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

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

Post 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. ;)
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
User avatar
Alessandro
Dynamite Dan
Posts: 1908
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

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

Post 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.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

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

Post 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
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
User avatar
Pegaz
Dynamite Dan
Posts: 1209
Joined: Mon Nov 13, 2017 1:44 pm

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

Post 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. :)
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

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

Post 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.
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Post Reply