ADFFS 2.54

Discuss development specific to the Pi version of ADFFS
JonAbbott
Posts: 2277
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.54

Post by JonAbbott » Sat Mar 12, 2016 1:01 pm

Today's build hopefully fixes Diggers, a bug in the encoding of CMP PC, #0 was corrupting R0 and causing random crashes.

Vanfanel
Posts: 507
Joined: Mon Sep 16, 2013 12:01 am

Re: ADFFS 2.54

Post by Vanfanel » Sat Mar 12, 2016 1:49 pm

@Jon: At some point from initial 2.54, Cannon Fodder has became slow. Look at the intro with the helicopter before each mission to know what I mean. It's running at like half the speed.

JonAbbott
Posts: 2277
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.54

Post by JonAbbott » Sun Mar 13, 2016 10:59 am

Vanfanel wrote:At some point from initial 2.54, Cannon Fodder has became slow. Look at the intro with the helicopter before each mission to know what I mean. It's running at like half the speed.
I can't seem to repeat this, so it could be specific to a 50hz monitor. I suspect its normal speed but dropping alternate frames

Vanfanel
Posts: 507
Joined: Mon Sep 16, 2013 12:01 am

Re: ADFFS 2.54

Post by Vanfanel » Sun Mar 13, 2016 11:41 am

@Jon: no, it's running slow, really. I don't think it's dropping any frames, just running them too slow. And yes, I use a 50HZ video mode, since that's the only way for games to move right :)

JonAbbott
Posts: 2277
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.54

Post by JonAbbott » Sun Mar 13, 2016 1:10 pm

JonAbbott wrote:
-BattleChess: crashes with Internal error, no stack for trap handler: SWI &100810 not known, pc = FC28439C: registers at 000246F0
Not working with UO modules either.
I had a quick look, but couldn't find any obvious cause of the crash. Needs more detailed investigation.
It's putting code on the stack and then executing it. The SWI &100810 error is being caused by a cached SWI instruction at that address, which causes the SWI handler to be entered, prior to the cache being cleaned. The actual instruction at that address (if the cache was clean) is a hypervisor call, which when converted to an SWI number becomes &10810.

This means that either the Abort handler isn't cleaning the instruction cache correctly, or the Abort handler isn't being triggered in the first place.

EDIT: The Abort handler wasn't flushing the cache correctly for STMDA/DB - now fixed in today's build. Battle Chess now gets past this issue, but hangs at another issue seconds later.

JonAbbott
Posts: 2277
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.54

Post by JonAbbott » Mon Mar 14, 2016 8:36 am

Vanfanel wrote:@Jon: no, it's running slow, really. I don't think it's dropping any frames, just running them too slow. And yes, I use a 50HZ video mode, since that's the only way for games to move right :)
I couldn't recreate it at 50hz either. I did note on ROOL that recent RISCOS builds have had a cache policy problem, that could impact games that generate a high amount of Aborts. Can't think what else is different other than our RISCOS builds.

I'll put all the 2.54 builds up on the dev site later today, roll back to see at which build the problem started.

EDIT: 2.54a thru 2.54e are now on the dev site

JonAbbott
Posts: 2277
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.54

Post by JonAbbott » Mon Mar 14, 2016 8:23 pm

I believe Talisman is now working, although there's an issue with the audio I need to resolve, that relies on a quirk in RO2/3 to sound correct.

Vanfanel
Posts: 507
Joined: Mon Sep 16, 2013 12:01 am

Re: ADFFS 2.54

Post by Vanfanel » Mon Mar 14, 2016 11:01 pm

@Jon: slowdowns in Cannon Fodder started in the E version (which was the latest version when I reported it), but latest version is OK again, so I guess we can forget about that for now.
Talisman works, with these small sound problems you know :)

JonAbbott
Posts: 2277
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.54

Post by JonAbbott » Tue Mar 15, 2016 12:05 pm

Vanfanel wrote:@Jon: slowdowns in Cannon Fodder started in the E version (which was the latest version when I reported it), but latest version is OK again, so I guess we can forget about that for now.
That's odd, they should have been the same file. Could you retest with today's build to double check it's still okay.
Talisman works, with these small sound problems you know :)
Talisman should now be fixed, it was a long running bug in the N:1 sample fill handler. ie When RISC OS is running at a slower sample rate than the game is expecting and ADFFS has to skip samples to correct the pitch.

I've spent countless hours staring at the N:1 Phase code and thinking..."there's nothing wrong with it" - finally figured out it wasn't the phase code at fault, it was the sample fill code failing to advance to the next sample, after it had copied one across to the fill buffer :roll:

Vanfanel
Posts: 507
Joined: Mon Sep 16, 2013 12:01 am

Re: ADFFS 2.54

Post by Vanfanel » Tue Mar 15, 2016 3:36 pm

@Jon, Talisman is now sounding well on the Pi! :)
The fix you did sounds complicated to figure out, you must have a very deep knowledge of graphics, sound, and RISC OS to fix all these games...

About Cannon Fodder, it seems to slow down sometimes! It's not this version, the problem is that you boot the game, and it runs fine, and then next time you boot the game it runs in slow-motion... I don't know why. Didn't something like this happen on The Dungeon at some point?

Also, Dark Wood works fine when installed to HDD, it only hangs when playing from floppy, in case it helps you to know what the problem is.

Post Reply