Page 8 of 12

Re: ADFFS 2.61 beta

Posted: Wed May 24, 2017 12:40 pm
by JonAbbott
Could you see if Wonderland works when installed to HD. I can't seem to get it working on any of my machines, even going back to build known to work.

Re: ADFFS 2.61 beta

Posted: Fri May 26, 2017 1:02 pm
by Vanfanel
@Jon: I re-installed Wonderland (had deinstalled it since it wasn't working anyway).
I installed it using the install utility it includes. It installs fine, and then I change "!Run" with the corresponding script inside the obey zip, as usual.
Then, I comment-out the line setting the ObeyDir to ADFS;;ONE.$.!wonderla.
Finally, when I try to run it, I get the nice Mad Hatter picture, and then I am thrown back to the desktop, as it happened before. I have never seen this game working installed.

Re: ADFFS 2.61 beta

Posted: Fri May 26, 2017 8:52 pm
by JonAbbott
Thanks for checking, that's exactly what I see. I definitely had it working at some point as it's in my "working" folder, I might have to roll back RISCOS to confirm and try to figure out when it stopped working.

Re: ADFFS 2.61 beta

Posted: Mon Jun 05, 2017 9:02 am
by JonAbbott
I've finally tracked down the root cause of the issues some games have when using a localised version of BASIC - it's those pesky Environment handlers. More specifically, it's releasing the managed handlers when the Exit or Error handler are called and it's passed up to RISCOS.

This issue isn't specific to BASIC, any app that calls the Exit handler to exit, without then running another application will trigger it. BASIC highlights the problem because the only way to exit the BASIC Module is via OS_Exit; when the next BASIC program is then run, the JIT is no longer managing the Environment handlers so any error generated in BASIC for example triggers an exit back to the OS. Stunt Racer 2000 highlights this particular issue when it checks for a Joystick and triggers an error.

A possible workaround is to ensure Environment handlers are being managed when their claimed, which I'll aim to code this week.

I still need to resolve the screen ratio in Raw Power and figure out why Service_ModeExtension is raised when the GPU geometry change. The later breaks Rockfall and Lemming 2, possibly others as well.

Re: ADFFS 2.61 beta

Posted: Mon Jun 05, 2017 4:06 pm
by Vanfanel
@Jon: I am glad to see you finally found the problem with localised Basic.
Lemmings 2 work on Pi, Pi2 and Pi3 nowadays, btw.

Re: ADFFS 2.61 beta

Posted: Wed Jun 07, 2017 8:26 pm
by JonAbbott
2.61p beta full ZIP is now on the dev site. Every game is going to need testing, I just hope the changes haven't broken anything :roll:

If you've installed RawPower to HD, you'll need to update its !Run, as I've switched if from emulating a RiscPC to emulating an Archimedes.

BASIC is now localised within the VMM and loads a 26bit version of BASIC when its entered. There's also been changes to the way Service_ModeExtension handles type 0/1/3 VIDC lists and changes to the managed Environment handlers.

RawPower's issue was three fold:
  • Service_ModeExtension was corrupting the VIDC20 registers due to rogue VIDC Type 3 Service_ModeExtension's being raise, I still don't know why these are being raised so for the time being Service_ModeExtension only calculates HCR/VCR
  • When emulating IOMD its MODE 99 is based on a VGA MODE 15 with a oversized VCR, this halves the height of the screen
  • When emulating IOC its MODE 99 requires monitor type 0, ADFFS wasn't forcing the monitor type to 0 when looking for legacy Service_ModeExtension, so MODE 99 failed and RISCOS then switched to MODE 28 instead
For future reference, the repro's for the Environment handler issue when using a localised BASIC:

Failure to reclaim handlers when BASIC is restarted:

Code: Select all

BASIC
QUIT
BASIC
*zzz (trigger the Error handler)
Failure to identify GOS had claimed the handlers:

Code: Select all

BASIC
GOS
BASIC
*zzz (trigger the Error handler)

Re: ADFFS 2.61 beta

Posted: Thu Jun 08, 2017 10:49 am
by Vanfanel
@Jon: I will start posting regressions I find here:

-Flashback: hangs when I try to enter "demonstration" mode.
-Chock's Away: exiting via CTRL+SHIFT+F12 does not work, so I tried to update it's !Run script. After I did, it's now trying to enter the .FLAPS dir which does not exist... any idea on what's this .FLAPS dir?
-Elite has stopped working :(

Re: ADFFS 2.61 beta

Posted: Thu Jun 08, 2017 2:29 pm
by JonAbbott
Vanfanel wrote:-Flashback: hangs when I try to enter "demonstration" mode
I've just installed it and its tested okay, assuming yours is an HD install try reinstalling to rule out missing files.
Vanfanel wrote:-Chock's Away: exiting via CTRL+SHIFT+F12 does not work, so I tried to update it's !Run script. After I did, it's now trying to enter the .FLAPS dir which does not exist... any idea on what's this .FLAPS dir?
I'd say you've used the wrong script, F1007801 instead of F1060601 for the Compendium version.
Vanfanel wrote:-Elite has stopped working :(
Elite will not work as it requires CLib to be accessible from the Wimp, which it isn't as its localised. Erase all memory of this having every worked :lol:

Re: ADFFS 2.61 beta

Posted: Thu Jun 08, 2017 4:32 pm
by Vanfanel
@Jon:
-Chock's Away is working again, and CTRL+SHIFT+F12 works now: I was using the wrong script.
-Flashback does not work here. I have tried both my installed version, and from the floppies: the game goes to a black screen as you enter the protection code. If you chose "demostration" instead, it freezes (on the hdd-installed version. Floppy version says "no demos available").

Re: ADFFS 2.61 beta

Posted: Fri Jun 09, 2017 9:32 am
by JonAbbott
Vanfanel wrote:-Flashback does not work here. I have tried both my installed version, and from the floppies: the game goes to a black screen as you enter the protection code. If you chose "demonstration" instead, it freezes (on the hdd-installed version. Floppy version says "no demos available").
I've just tested it from floppies, which also works and I've tested both getting past the protection screen and demo mode from both HD and FD. For demonstration to work, I believe you need to insert one of the level discs before selecting it.

Is something external to ADFFS having an affect? Try running the game from the command line to see if its crashing:

Code: Select all

F12
GOS
DIR $.Games (ie the directory where its installed)
!Flashback

when it crashes:
ECHO <22><0>
SHOWREGS

If SHOWREGS is all zeros try:
JITSHOWREGS
EDIT: I have spotted an issue which can be reproduced by running Air Supremacy, quitting (via either CTRL-SHIFT-F12 or the in-game Exit) and then trying to run it again. After doing this, OS_File 15 returns incorrect file info and the error handler in BASIC hangs. Reloading the ADFFS Module doesn't resolve the issue, a reboot is required.