ADFFS 2.61 beta
Re: ADFFS 2.61 beta
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
@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.
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
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
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.
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
@Jon: I am glad to see you finally found the problem with localised Basic.
Lemmings 2 work on Pi, Pi2 and Pi3 nowadays, btw.
Lemmings 2 work on Pi, Pi2 and Pi3 nowadays, btw.
Re: ADFFS 2.61 beta
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
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:
Failure to reclaim handlers when BASIC is restarted:
Failure to identify GOS had claimed the handlers:
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
Failure to reclaim handlers when BASIC is restarted:
Code: Select all
BASIC
QUIT
BASIC
*zzz (trigger the Error handler)
Code: Select all
BASIC
GOS
BASIC
*zzz (trigger the Error handler)
Re: ADFFS 2.61 beta
@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
-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
I've just installed it and its tested okay, assuming yours is an HD install try reinstalling to rule out missing files.Vanfanel wrote:-Flashback: hangs when I try to enter "demonstration" mode
I'd say you've used the wrong script, F1007801 instead of F1060601 for the Compendium version.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?
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 workedVanfanel wrote:-Elite has stopped working
Re: ADFFS 2.61 beta
@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").
-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
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.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").
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