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...
User avatar
Alessandro
Manic Miner
Posts: 245
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 » Tue May 01, 2018 8:53 am

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.
6 x

User avatar
Ast A. Moore
Manic Miner
Posts: 766
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 » Tue May 01, 2018 9:30 am

Alessandro wrote:
Tue May 01, 2018 8: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.
0 x
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
Manic Miner
Posts: 245
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 » Tue May 01, 2018 9:37 am

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.
1 x

User avatar
Ast A. Moore
Manic Miner
Posts: 766
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 » Tue May 01, 2018 9:49 am

Alessandro wrote:
Tue May 01, 2018 9: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.
0 x
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
Manic Miner
Posts: 766
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 » Tue May 01, 2018 12: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.
0 x
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
Manic Miner
Posts: 245
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 » Tue May 01, 2018 12:45 pm

Ast A. Moore wrote:
Tue May 01, 2018 12: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.
0 x

User avatar
Ast A. Moore
Manic Miner
Posts: 766
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 » Wed May 02, 2018 8:50 am

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.
0 x
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
Manic Miner
Posts: 766
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 » Wed May 02, 2018 9:22 pm

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.
1 x
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
Manic Miner
Posts: 766
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 » Wed May 02, 2018 10:02 pm

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).
2 x
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
Manic Miner
Posts: 766
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 » Thu May 03, 2018 8:39 am

cc @Alessandro

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.
3 x
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