ADFFS 2.41 beta

Discuss ADFFS development and download test releases
grannyg
Posts: 18
Joined: Fri Dec 13, 2013 3:47 pm

Re: ADFFS 2.41 beta

Post by grannyg »

JonAbbot wrote:Are you aware of any documentation on what changes were made to that build of RISCOS for HPV? Where for example is the data that was at page zero? Is it in the HPV page at FFFF0000?
FFFF0000 is metioned in the comments in 'castle.RiscOS.Sources.Kernel.hdr.Options'.

There are two places where a build option needs changing,

mixed.RiscOS.Sources.HWSupport.FPASC.riscos.Makefile

FPEANCHOR ?= High

castle.RiscOS.Sources.Kernel.hdr.Options

HiProcVecs SETL {TRUE}
JonAbbott
Posts: 2956
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.41 beta

Post by JonAbbott »

jonabbott wrote:
grannyg wrote:Also another game that runs is Repton4.
I'll create a Boot script for it for the next beta release.
Boot script is now in the dev obey.zip file, it just needed "GOARM3JIT 0" after the WimpSlot in the original !Run file. The music is slightly too fast and there's the odd audio glitch when it shuts down the voice generators, but we can live with those :)
JonAbbott
Posts: 2956
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.41 beta

Post by JonAbbott »

JonAbbott wrote:I've recoded two SWI's: Sound_Configure and Sound_InstallVoice to dynamically work out the entry points at runtime, hopefully there's not a knock on effect on any games. I quickly checked Conqueror, but it needs all games retesting.
I've spotted some bugs in Sound_Configure which I've corrected in the latest dev build, however 2067BC is still causing problems due to the way it sets the log tables, I need to add code to workaround the problem. Might be worth holding off testing until I've done that.
JonAbbott
Posts: 2956
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.41 beta

Post by JonAbbott »

JonAbbott wrote:I've spotted some bugs in Sound_Configure which I've corrected in the latest dev build, however 2067BC is still causing problems due to the way it sets the log tables, I need to add code to workaround the problem. Might be worth holding off testing until I've done that.
This is now resolved, the updated module is on the dev site. Sadly 2067BC still doesn't work, it looks like an IRQ is triggering and corrupting the return. The only IRQ's 2067BC sets up are sound related, so I'll need to NOP out all the "SWI Sound_InstallVoice" instructions to confirm it's a Voice Generator causing the issue.

The sequence of events leading up to the crash are:

97c84 SWI OS_CLI (*LOAD <PreHist$Dir>.Grafix.BkSpriteC1 9000)
97c88 ADR R0, &9000
97c94 ADR R1, &65000
97ca0 BL &97Ca0 (DietSprite_Expand) <-- the IRQ triggers whilst this is executing
67000 <-- next address the JIT sees (it should be 97ca4)

If I call 97c84 through the JIT after the crash, it works correctly, so its almost certainly IRQ related.

The music also sounds awful on the Pi, due to the buffer size difference. Now that the Voice Generators are hypervised I can implement a staging buffer, repeatedly call the Voice Generator's Fill code until the buffer overflows past the size the OS requires, then pass on the correct size buffer to the OS.

EDIT: After NOP'ing all the SWI Sound_Configure and SWI Sound_InstallVoice, 2067BC works, so there's almost certainly an issue with one of these. Oddly, it only shows up with the second Channel Manager that's enabled when you start a level. The title sequence Channel Manager and associated Voice Generators work okay. I'll look at a disassembly of them to see if I can figure out what's going on.

EDIT2: The issue is in the Channel Manager installed by Sound_Configure, it's jumping to the wrong address when it calls the Voice Generator Fill code.
Vanfanel
Posts: 576
Joined: Mon Sep 16, 2013 12:01 am

Re: ADFFS 2.41 beta

Post by Vanfanel »

I've detected a regression: Magic Pockets now hangs when moving the main characted for the first time.
Seems to be related to the walking sound effect playback.
JonAbbott
Posts: 2956
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.41 beta

Post by JonAbbott »

Vanfanel wrote:I've detected a regression: Magic Pockets now hangs when moving the main characted for the first time.
Seems to be related to the walking sound effect playback.
I'll roll the sound changes back to confirm it is sound related and not another change that's caused the regression.
JonAbbott
Posts: 2956
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.41 beta

Post by JonAbbott »

JonAbbott wrote:
Vanfanel wrote:I've detected a regression: Magic Pockets now hangs when moving the main characted for the first time.
Seems to be related to the walking sound effect playback.
I'll roll the sound changes back to confirm it is sound related and not another change that's caused the regression.
It is sound related and highlighted two bugs which I've now fixed. It's working on StrongARM, but still failing on the Pi so more debugging required.
JonAbbott
Posts: 2956
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.41 beta

Post by JonAbbott »

JonAbbott wrote:It is sound related and highlighted two bugs which I've now fixed. It's working on StrongARM, but still failing on the Pi so more debugging required.
I believe its now fixed, Magic Pockets seems to be working okay on the Pi again. It's on the dev site if you'd like to double check.

EDIT: This has surreptitiously fixed an issue with GODS that I wasn't aware of previously, it's now getting into the game before it crashes, I may be able to get it working soon with a bit of debugging.
JonAbbott
Posts: 2956
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.41 beta

Post by JonAbbott »

2067BC now works on the latest dev build. The sound is bad due to the buffer size difference, but that will get resolved in due course.
JonAbbott
Posts: 2956
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.41 beta

Post by JonAbbott »

Mr Doo also works, I've added a Boot script for it in the latest Obey.zip. It actually works natively*, provided you fix the bug on line 80:

!Vu=1 should be F%!Vu=1 :roll:

The inbuilt Voice Generator is hardcoded for a 208 byte sound buffer, so sounds bad at the minute. It's written in BASIC so could be modified in the Boot script easily, although I'll probably leave the JIT to fix it once I add the sound buffering.

* It's full of non-32bit compliant code, however as its all called in User mode it should work okay.
Post Reply