ADFFS 2.71 beta

Discuss ADFFS development and download test releases
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.71 beta

Post by JonAbbott »

JonAbbott wrote: Wed Feb 06, 2019 6:50 pm
Vanfanel wrote: Mon Feb 04, 2019 4:45 pm @Jon: I was testing latest beta with Fireball (the first part) and after a while playing the game started to slowdown and the ship and balls partially disappeared, as if only a part of the screen was being redrawn.
It implies there's a major issue somewhere.
And the major issue turned out to be within OS_Byte 19.

ADFFS 2.71x package now available, along with an updated Fireball II package. The scrolling font on the title page is now correct and hopefully no longer flickers.
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.71 beta

Post by JonAbbott »

I think I'm done with code changes, I'll temporarily fix the ambiguous instruction reported by Populous and Omar Sharif's Bridge when terminated/quit in their scripts/packages, as I don't want to modify the JIT this late into testing and risk breaking something.

The remaining regressions are all related to Exit Environment Handlers. To fix them requires some major changes to the way they're handled, with I've pushed back to 2.80. It's possible the TOPOLOGIKA title issues are bugs in the game code, in which case I'll fix the boot scripts prior to release. I modified some to exit cleanly in the past and have possibly missed these ones.
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.71 beta

Post by JonAbbott »

JonAbbott wrote: Wed Feb 06, 2019 10:33 pm I'll temporarily fix the ambiguous instruction reported by Populous and Omar Sharif's Bridge when terminated/quit in their scripts/packages, as I don't want to modify the JIT this late into testing and risk breaking something.
Just started looking at this and realised the code is being dynamically allocated, so its not going to be easy to fix via script. Looks like I will have implement the instructions in the JIT after all :oops:
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.71 beta

Post by JonAbbott »

Appears I forgot to put the updated Fireball package on the distribution server, which I've now corrected. Hopefully you can now update to it.
JonAbbott wrote: Wed Feb 06, 2019 10:33 pm The remaining regressions are all related to Exit Environment Handlers. To fix them requires some major changes to the way they're handled, with I've pushed back to 2.80. It's possible the TOPOLOGIKA title issues are bugs in the game code, in which case I'll fix the boot scripts prior to release. I modified some to exit cleanly in the past and have possibly missed these ones.
I've checked through all the TOPOLOGIKA titles and I did fix the code in their boot scripts. Their exit issues are all Exit Handler related as I originally suspected.
Vanfanel
Posts: 576
Joined: Mon Sep 16, 2013 12:01 am

Re: ADFFS 2.71 beta

Post by Vanfanel »

@jon: I have updated the Fireball package with no problem now :)
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.71 beta

Post by JonAbbott »

JonAbbott wrote: Thu Feb 07, 2019 10:40 am
JonAbbott wrote: Wed Feb 06, 2019 10:33 pm I'll temporarily fix the ambiguous instruction reported by Populous and Omar Sharif's Bridge when terminated/quit in their scripts/packages, as I don't want to modify the JIT this late into testing and risk breaking something.
Just started looking at this and realised the code is being dynamically allocated, so its not going to be easy to fix via script. Looks like I will have implement the instructions in the JIT after all :oops:
Turns out I did implement the instruction a while back - STM Rn!,{<Rn in reglist>}, but it was reporting it when it should have only reported the ^ variation of it. With that fixed it highlighted an issue with the implementation of LDM Rn!,{<Rn in reglist>}, which I've also fixed.

Now there's another issue as the game quits cleanly but its Exit handler is getting called after the JIT closes down, so something isn't resetting the Exit handler. I might spend some time over the weekend to see I can implement an Exit handler for ADFFS, so it tidies up if a process doesn't exit cleanly.
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.71 beta

Post by JonAbbott »

ADFFS 2.71y package is now available, which fixes a bug I introduced in 2.71w that caused Module * commands to fail. It also now releases the Environment handlers prior to starting an application to fix the crash when quitting Populous and Omar Sharif's Bridge.

Unfortunately it doesn't fix the Exit handler crash when quitting the TOPOLOGIKA titles, which I still don't understand as there's no Exit handler involved other than the one Obey sets up.
JonAbbott wrote: Fri Feb 08, 2019 8:47 pm I might spend some time over the weekend to see I can implement an Exit handler for ADFFS, so it tidies up if a process doesn't exit cleanly.
It doesn't look like the OS always raises SeriousErrorV when an Abort occurs, so I can't currently trap aborts. I did code the handler up, but its obviously not getting called, so I've commented it out just in case there's a knock on effect down the line. Implementing it via an Exit handler isn't that easy as ADFFS is sitting under several layers of OS Exit handlers and it really needs to sit just below the Wimp so it can clean up before returning back to the desktop.
Vanfanel
Posts: 576
Joined: Mon Sep 16, 2013 12:01 am

Re: ADFFS 2.71 beta

Post by Vanfanel »

@Jon: I've been playing Alone in the Dark, and it hangs after some minutes playing. You have to let the full intro run, then try to play from the start with the keyboard, and you will see that the game just hangs after a while.
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.71 beta

Post by JonAbbott »

Vanfanel wrote: Sun Feb 10, 2019 1:11 am I've been playing Alone in the Dark, and it hangs after some minutes playing. You have to let the full intro run, then try to play from the start with the keyboard, and you will see that the game just hangs after a while.
I'll see if I can reproduce it and will watch what it does in debug mode if I can. I've probably intruded a bug somewhere.
JonAbbott wrote: Sat Feb 09, 2019 9:53 pm It doesn't look like the OS always raises SeriousErrorV when an Abort occurs, so I can't currently trap aborts.
This has been confirmed, so back to the drawing board.

Thinking aloud, I'll try adding an Exit handler when OS_FSControl 4 sees an Obey, prior to handing it off to OS SWI dispatch. That might actually work, as it can point into the Module at that point.

I've previously tried adding an Exit handler when a 26 bit task starts up, but Obey does some odd things with the Error and Exit handlers so it can clean itself up and that seems to somehow bypass any Exit handler I add. The OS also sets any handlers to default at certain points, if they're within Appspace, which is not helpful as all the environment handler shims (which allow 26bit handlers to directly call 32bit handlers - bad practice but lots of games do it) have to be with 26bit address
Vanfanel
Posts: 576
Joined: Mon Sep 16, 2013 12:01 am

Re: ADFFS 2.71 beta

Post by Vanfanel »

@Jon: The "Alone in the Dark" problem happens in the latest stable ADDFs, too. Just in case ir can help.
Post Reply