Page 2 of 2

Re: ADFFS 2.59 testing

Posted: Tue Oct 04, 2016 7:58 pm
by JonAbbott
RC3 gets Quest for Gold working on Pi1 - it wasn't allocating enough memory and consequently hasn't worked since 2.55f. The stack frame unwind is still occurring on Pi3.

Re: ADFFS 2.59 testing

Posted: Wed Oct 05, 2016 10:55 pm
by JonAbbott
I want to get this released before I go into hospital on the 26th as I have a bad track record with hospitals! I've unfortunately had to pull out of the London RISCOS show as well.

I'm not going to have time to fix Carnage Inc, after taking a look at what was required to patch the code, it was a fairly mammoth task. The only real fix is to figure out how to implement STR Rx, [PC, #-4] so it executes the following instruction once and then overwrites it.

I've prepped some of the games that can be released and if I get time to sort out the scans, there's a few more to add.

Re: ADFFS 2.59 testing

Posted: Thu Oct 06, 2016 7:23 am
by andretim
Don't be surprised for Carnage Inc if you have a few crashes ever after you fix. I remember playing it and crashing it a few time.

Re: ADFFS 2.59 testing

Posted: Thu Oct 06, 2016 8:20 am
by JonAbbott
andretim wrote:Don't be surprised for Carnage Inc if you have a few crashes ever after you fix. I remember playing it and crashing it a few time.
I may have fixed the bugs, which were errors in the code. It stopped working under the JIT in 2.57 when I changed the way a pipelined STR was handled to get more games working - essentially it's a botch job though, as its not easy to emulate pipelined instructions under a JIT.

The sequence Carnage Inc uses is:

Code: Select all

STR Rx, [PC, #-4]
B <addr>
The Branch needs to occur once, before being overwritten by the STR. The STR however will translate into a CODELET, so will always overwrite the branch several instructions before it gets to the pipeline.

Ahh...whilst writing this :idea:

Re: ADFFS 2.59 testing

Posted: Thu Oct 06, 2016 9:35 am
by JonAbbott
ADFFS 2.59 final on the dev site, which gets Carnage Inc working.

Re: ADFFS 2.59 testing

Posted: Fri Oct 07, 2016 2:44 pm
by JonAbbott
Updated ADFFS 2.59 final on the dev site, which removes the requirement for the original Lemmings disc in Oh, No! More Lemmings, and fixes the cursor wrap issue under the JIT. I've also uploaded an updated floppy image, if you've previously downloaded it you can delete disc 2 in the set.

Re: ADFFS 2.59 testing

Posted: Sat Oct 08, 2016 7:35 pm
by JonAbbott
Update ADFFS 2.59 final on the dev site. Spotted an issue in TrackerMod that was causing some games to have no sound effects.

Re: ADFFS 2.59 testing

Posted: Tue Nov 29, 2016 8:47 pm
by andretim
I was toying a little with Xenon2, and I got an "ADFF5001 Illegal vector value' error.
The way to reproduce it: start the game, switch to disc 2 as requested by the game and while it is displaying its credits press Ctrl+Esc.

I will try later on the 2.60 when I get the time to download it.

Edit, I have the same behaviour with 2.60 RC1

Re: ADFFS 2.59 testing

Posted: Wed Nov 30, 2016 7:28 am
by JonAbbott
I suspect CTRL-ESC quits the game and possibly writes something to the hardware vectors to lock the machine. Thanks for the Repro steps though, I'll take a look.

If I'm honest, we've not really tested quitting many "naturally" as CTRL-SHIFT-F12 does such a good job of terminating and cleaning up the current task. You'll probably find quite a few that do odd things if you can find their exit key sequence (they're often not documented in the instructions), I did err on causing and add a check for apps trying to manually reboot (reading the word from &3800000 and writing it too &0), these should terminate cleanly under RO5.

Re: ADFFS 2.59 testing

Posted: Wed Nov 30, 2016 12:26 pm
by JonAbbott
andretim wrote:I was toying a little with Xenon2, and I got an "ADFF5001 Illegal vector value' error.
The way to reproduce it: start the game, switch to disc 2 as requested by the game and while it is displaying its credits press Ctrl+Esc
CTRL-ESC doesn't quit the game, but does trigger a Page Zero access bug. I'm not going to attempt to fix it at this stage, as it not a straight forward fix.