Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)
- Alessandro
- Dynamite Dan
- Posts: 1910
- 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)
@amazin, I looked into the code and found the problem - a classic case of incompatibility with the +2A/+3 ROM of the I register set as IM2 vector at address 14847 (39FFh). Changing the byte value at address 40005 from 57 to 59 solved it for both titles. Fixed files will follow soon.
- Ast A. Moore
- Rick Dangerous
- Posts: 2641
- Joined: Mon Nov 13, 2017 3:16 pm
Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)
Alessandro beat me to it.
I made a fix earlier and only just now got home and uploaded Kidnap to my website.
I made a fix earlier and only just now got home and uploaded Kidnap to my website.
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.
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.
- Ast A. Moore
- Rick Dangerous
- Posts: 2641
- Joined: Mon Nov 13, 2017 3:16 pm
Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)
Nice! Kudos for the Maxell tape in the Datacorder.
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.
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.
- Alessandro
- Dynamite Dan
- Posts: 1910
- 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)
The fixes have been put on the website.
Just one word of caution, both games should be loaded under 48 BASIC, otherwise the keyword SPECTRUM will appear all across the starting screens and kill the playing character upon impact, making them unplayable.
Just one word of caution, both games should be loaded under 48 BASIC, otherwise the keyword SPECTRUM will appear all across the starting screens and kill the playing character upon impact, making them unplayable.
Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)
AHHAH Thanks, they are indeed really good. I'm not an expert, but I got some Maxell, some Sony, some TDK.
Actually it is quite hard nowadays to find 60 minutes tapes. 90 minutes are more common.
Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)
Seems like Scaramouche is also incompatible with the +2A, as even being loaded in 48K mode the game would not start, screen freezes in the 1st stage:
https://spectrumcomputing.co.uk/entry/1 ... caramouche
Would there be an easy way to fix it, via Poke entered in the loader?
https://spectrumcomputing.co.uk/entry/1 ... caramouche
Would there be an easy way to fix it, via Poke entered in the loader?
- Alessandro
- Dynamite Dan
- Posts: 1910
- 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)
@Ivanzx, Scaramouche seems to be incompatible with the 128/+2 as well.
The game hangs here:
It seems the value of C and therefore of A after the LD A,C instruction is never equal to 128, so the conditional jump at location 25261 is executed in an endless loop.
Interestingly, if you load and run The Ghost before the game, it will work as expected.
The game hangs here:
Code: Select all
25254 LD A,(BC)
25255 LD E,A
25256 ADD HL,DE
25257 INC BC
25258 LD A,C
25259 CP 128
25261 JR NZ,25254
Interestingly, if you load and run The Ghost before the game, it will work as expected.
Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)
Thanks, Alessandro for the confirmation.Alessandro wrote: ↑Sat Aug 27, 2022 4:26 pm @Ivanzx, Scaramouche seems to be incompatible with the 128/+2 as well.
The game hangs here:
It seems the value of C and therefore of A after the LD A,C instruction is never equal to 128, so the conditional jump at location 25261 is executed in an endless loop.Code: Select all
25254 LD A,(BC) 25255 LD E,A 25256 ADD HL,DE 25257 INC BC 25258 LD A,C 25259 CP 128 25261 JR NZ,25254
Interestingly, if you load and run The Ghost before the game, it will work as expected.
Wow, this Ghost is such a discovery, isn´t it?? :O Theoretically will enable all the incompatible games work??
By the way, I am going to type it up and save it to one cassette, but there are 2 listings... Do I have to type them and save them separatedly one after the other?
- Alessandro
- Dynamite Dan
- Posts: 1910
- 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)
@Ivanzx : The Ghost is a bit of a hit-and-miss, but in this case it proved itself to be useful.
There is no need to follow the original instructions if you just wish to use it on real hardware. You can play the second and third block from the TAP file - the BASIC and machine code blocks - with a utility like Tapir and save them to a tape connected to your PC through the usual 3.5 mono cables. Start recording, then open the GHOST.TAP file in Tapir, highlight the "Prog: GHOST" header, select Block > Play from cursor and wait a few seconds until playback has stopped.
That is, until someone more expert than me in the exoteric art of understanding Z80 machine code comes up with a permanent solution...
There is no need to follow the original instructions if you just wish to use it on real hardware. You can play the second and third block from the TAP file - the BASIC and machine code blocks - with a utility like Tapir and save them to a tape connected to your PC through the usual 3.5 mono cables. Start recording, then open the GHOST.TAP file in Tapir, highlight the "Prog: GHOST" header, select Block > Play from cursor and wait a few seconds until playback has stopped.
That is, until someone more expert than me in the exoteric art of understanding Z80 machine code comes up with a permanent solution...
Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)
Hi Alessandro, unfortunately, I don´t have the knowledge and equipment you mentioned, so for me it is easier to do it in the old way, typing the program and saving it in the cassetteAlessandro wrote: ↑Sat Aug 27, 2022 7:43 pm @Ivanzx : The Ghost is a bit of a hit-and-miss, but in this case it proved itself to be useful.
There is no need to follow the original instructions if you just wish to use it on real hardware. You can play the second and third block from the TAP file - the BASIC and machine code blocks - with a utility like Tapir and save them to a tape connected to your PC through the usual 3.5 mono cables. Start recording, then open the GHOST.TAP file in Tapir, highlight the "Prog: GHOST" header, select Block > Play from cursor and wait a few seconds until playback has stopped.
That is, until someone more expert than me in the exoteric art of understanding Z80 machine code comes up with a permanent solution...
It is also interesting what you mentioned about the program being a hit and miss, will try it with many games, to see how it works out
Anybody could tell me if typing and loading the 2 listings of The Ghost is the right way?
- jpnz
- Manic Miner
- Posts: 330
- Joined: Tue Nov 14, 2017 4:07 pm
- Location: Hamilt[r]on - City Of The Future - NZ
Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)
Courtesy of the other forum, you can add The Rats to the list
I have a fix - will post about that after some more testing
I have a fix - will post about that after some more testing
- Alessandro
- Dynamite Dan
- Posts: 1910
- 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)
Thanks @jpnz, will wait for news from you then.
Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)
It was me who queried this on the other forum. Thank you for picking this up. Will look forward to seeing if you can provide a fix. I was a massive James Herbert fan but didn't know the game existed until I spotted it on eBay a couple of weeks ago.
I've got a DIVMMC Future on it's way to me, so a TAP version would be ideal (as far as I know TZX won't work on these devices?)
I'm quite out of touch to be honest. I've only just re-purchased a Spectrum after selling my whole collection dirt cheap about 20 years ago... I regret that now!
Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)
Alessandro, you're a little bit wrong.Alessandro wrote: ↑Sat Aug 27, 2022 4:26 pm @Ivanzx, Scaramouche seems to be incompatible with the 128/+2 as well.
The game hangs here:
It seems the value of C and therefore of A after the LD A,C instruction is never equal to 128, so the conditional jump at location 25261 is executed in an endless loop.Code: Select all
25254 LD A,(BC) 25255 LD E,A 25256 ADD HL,DE 25257 INC BC 25258 LD A,C 25259 CP 128 25261 JR NZ,25254
this piece of code counts the checksum of memory in the range (#0000- #007f) and then checks it with the template at 25267.
- Alessandro
- Dynamite Dan
- Posts: 1910
- 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)
Thanks for the clarification @goodboy.
I examined the code running on Spectaculator and noticed it was endlessly repeating this part, so I thought that the CP 128 operation never returned a value of zero, thus making the program counter continuously jumping back to 25254.
I examined the code running on Spectaculator and noticed it was endlessly repeating this part, so I thought that the CP 128 operation never returned a value of zero, thus making the program counter continuously jumping back to 25254.
- jpnz
- Manic Miner
- Posts: 330
- Joined: Tue Nov 14, 2017 4:07 pm
- Location: Hamilt[r]on - City Of The Future - NZ
Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)
Fix is tested and ready!Bolton80 wrote: ↑Thu Sep 01, 2022 9:36 am It was me who queried this on the other forum. Thank you for picking this up. Will look forward to seeing if you can provide a fix. I was a massive James Herbert fan but didn't know the game existed until I spotted it on eBay a couple of weeks ago.
I've got a DIVMMC Future on it's way to me, so a TAP version would be ideal (as far as I know TZX won't work on these devices?)
I'm quite out of touch to be honest. I've only just re-purchased a Spectrum after selling my whole collection dirt cheap about 20 years ago... I regret that now!
Download is here - includes TAP, TZX and source code
Just load in the TAP then playback the game tape
A note about the strange loader from the Crash review
While the game is loading it is easy to believe that an error has occurred the tape error warning used in the sequence is totally useless and it's difficult to tell whether the program is being received. This problem is aggravated by the disablement of the speaker, and for some totally inexplicable reason, some of the blocks are not actually received at all, to judge by the border during loading. It is natural to assume that the system has crashed but if you leave well alone, the game loads perfectly in the end. This weird pretence of failing to load is very annoying particularly since it isn't referred to in the instructions. Very unfriendly.
Yup, that's exactly it - alter the interrupt vector to 0x3B and we're good
Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)
Thank you! Looking forward to playing this. Out of interest, is there a way to combine the patch and Rats TAP file into a single TAP file, just for convenience?jpnz wrote: ↑Sat Sep 03, 2022 12:40 am Fix is tested and ready!
Download is here - includes TAP, TZX and source code
Just load in the TAP then playback the game tape
A note about the strange loader from the Crash review
Yup, that's exactly it - alter the interrupt vector to 0x3B and we're good
- jpnz
- Manic Miner
- Posts: 330
- Joined: Tue Nov 14, 2017 4:07 pm
- Location: Hamilt[r]on - City Of The Future - NZ
Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)
Sure thing, TAP/TZX with patch inserted is here
- Alessandro
- Dynamite Dan
- Posts: 1910
- 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)
Thank you @jpnz
The correction has been added to the list.
Now, if someone more knowledgeable than your humble writer could take a look at that issue with Scaramouche...
The correction has been added to the list.
Now, if someone more knowledgeable than your humble writer could take a look at that issue with Scaramouche...
Re: Definitive list of games incompatible with +2A/+3 and of compatible versions (if any)
Alessandro, check your emailAlessandro wrote: ↑Sat Sep 03, 2022 9:58 am Now, if someone more knowledgeable than your humble writer could take a look at that issue with Scaramouche...
- Alessandro
- Dynamite Dan
- Posts: 1910
- 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)
Already done
Thanks to @goodboy, a cure has been found for Scaramouche, and has been added to the list.
Thanks to @goodboy, a cure has been found for Scaramouche, and has been added to the list.