ADFFS 2.71 beta

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

ADFFS 2.71 beta

Post by JonAbbott » Tue Dec 18, 2018 1:22 pm

The packaged beta of ADFFS 2.71 is now up for testers, as is Fervour which now works - with the usual Wimp caveats. It does randomly hang when going into the Wimp based options, which I've been investigating but haven't figured a workable solution yet.

I've made some substantial changes to the way the stack is setup when 26bit Module entries are called to resolve reentrancy issues; they're now allocated dynamically on Module entry and released on exit, so each entry point is using a unique stack. At some point I'll extend this to IOC and IRQ interrupt entry points.

The following WIMP games work:
  • F1004301 Black Angel (1992) (The Fourth Dimension)
  • F1007401 Chaos Engine, The (2000) (R-Comp Interactive)
  • F1013001 Elite [v1.02] (1991) (Hybrid Technology)
  • F1064501 Elite [v1.14] (1999) (Ian Bell)
  • F1013101 Emotions - Search for Humanity (1997) (The Datafile)
  • F1014101 E-Type II (1994) (The Fourth Dimension)
  • F1016301 Flying High: Euroblaster (1997) (GEK)
  • F1016302 Flying High: Joust (1997) (GEK)
  • F1016501 Frak! (1998) (R-Comp Interactive)
  • F1017101 Global Effect (1995) (Eclipse)
  • F1020901 Ixion (1992) (Software 42)
  • F1021901 Karma - The Flight Trainer (1992) (Periscope Software)
  • F1022901 Logic Mania: Atomix (1996) (The Fourth Dimension)
  • F1025202 Merp (1996) (TBA Software)
  • F1028701 Premier Manager (1994) (Gremlin Graphics)
  • F1045901 Sally and Wally (1995) (Oregan Developments)
  • F1033001 Sim City (1993) (Krisalis Software)
  • F1036301 T.A.N.K.S. (1996) (Werewolf Software)
  • F1036501 TEK 1608 (2002) (R-Comp Interactive)
  • F1000501 Virtual Golf (1993) (The Fourth Dimension)
  • F1038001 WaveLength (1994) (GamesWare)
  • F1003003 Zodiac - Aries: Hamsters (1994) (GamesWare)
Work with issues:
  • F1000301 Abuse (1998) (R-Comp Interactive) (works provided the install path is short)
  • F1011001 Demon's Lair (1993) (The Fourth Dimension) (sets wrong MODE on return to desktop)
  • F1060701 Demon's Lair [SA version] (1997) (The Fourth Dimension) (sets wrong MODE on return to desktop)
  • F1015101 Fervour (1992) (Clares Micro Supplies) (Wimp options window randomly hangs)
  • F1061101 Haunted House [SA version] (1999) (The Fourth Dimension) (graphics aren't updated correctly, randomly hangs, doesn't run from HD)
  • F1018701 Haunted House (1993) (The Fourth Dimension) (Wimp menu crashes, randomly hangs, dragged object don't refresh the screen correctly and sound issues)
  • F1019701 High Risc Racing (1995) (Modus Software) (crashes when quitting)
  • F1021701 K.V. (1993) (High Risc Software Developments) (Info window hangs)
  • F1023901 Mah-Jong Patience (1990) (Cambridge International Software) (randomly hangs)
  • F1032401 Scrabble (1994) (U.S. Gold) (randomly hangs)
  • F1032801 Shuggy (1997) (Werewolf Software) (Info window hangs)
Require Wimp_StartTask support:
  • F1016401 Formula Two Thousand (1994) (TBA Software)
  • F1043801 SimCity 2000 [A5000 version] (1994) (Krisalis Software) (installer only, packaged version doesn't need Wimp support)
  • F1033101 SimCity 2000 [RPC version] (1994) (Krisalis Software) (installer only, packaged version doesn't need Wimp support)
Regressions (resolved):
  • All (randomly crashes swapping discs) (bug introduced in 2.71x OS_Byte 19 change, fixed in 2.72f)
  • Random crash when changing MODE from a shelled window with BASIC26 loaded under the JIT. Issue first occurs in 2.67c (fixed in 2.72g)
  • Fourth Dimension titles (most hang with StrongEd is loaded before ADFFS) (fixed in 2.72j)
  • F1045101 Acheton & Kingom of Hamil (1987) (TOPOLOGIKA) (Acheton crashes when quit cleanly) (fixed in 2.72a)
  • F1000402 Adventures, classic complication [Philosopher's Quest, Countdown to Doom, Return to Doom, Kingdom of Hamil, Acheton] (1988) (TOPOLOGIKA) (Acheton crashes when quit cleanly) (fixed in 2.72a)
  • F1002001 Arcendium (1988) (Alien Images) (crashes when it load the Nuthatch Module via *NUTHATCH) (fixed in 2.72f)
  • F1002401 ArcPinball (1990) (Shibumi Soft) (quits back to the desktop when it RMRun's the sounds modules from BASIC) (fixed in 2.72c)
  • F1048901 Avon & Murdac (1989) (TOPOLOGIKA) (error in !Run) (package corrected)
  • F1048901 Avon & Murdac (1989) (TOPOLOGIKA) (Murdac crashes when quit cleanly) (fixed in 2.72a)
  • F1003601 Ballarena (1994) (Uffenkamp Computer Systeme) (doesn't get past the title screen) (fixed in 2.71o/package - bug in game code)
  • F1003901 Battle Tank (1990) (Minerva) (crashes when launched) (fixed in 2.71v)
  • F1004101 Big Bang (1996) (Psycore) (hangs when quit via CTRL-ESC) (package updated)
  • F1064001 BlastOn (1991) (Eterna) (might crash after running something else, due to code being located at &4400) (fixed in 2.72b)
  • F1045201 Bouncer (1991) (RTFM Software) (title page doesn't display correctly) (fixed in 2.71o/package - bug in game code)
  • F1005601 Break 147 & Superpool (1991) (The Fourth Dimension) (reports badly nested error handler) (package corrected)
  • F1006001 Bug Hunter in Space (1990) (Minerva) (reports Window Manager in use when quit via ESC) (package corrected)
  • F1007201 Caverns (1991) (Minerva) (hangs after title screen) (package corrected)
  • F1062401 Chequered Flag [RO3 version] (1992) (Cambridge International Software) (crashes after the title screen - works with 2.68c) (fixed in 2.72a)
  • F1008801 Command Ship (1995) (TBA Software) (page zero accesses on level selection screen) (package updated)
  • F1008901 Confusion (1989) (Cambridge International Software) (crashing with a Page Zero access issue in its CallBack handler) (fixed in 2.72b)
  • F1009301 Corruption (1989) (Rainbird) (crashes when quit) (fixed in 2.72e)
  • F1009601 Crystal Maze, The (1993) (Sherston Software) (branches to the wrong address when entering a level) (package updated)
  • F1010301 Cycloids (1993) (Software 42) (gets stuck on the loading screen) (package corrected)
  • F1010301 Cycloids (1993) (Software 42) (attempts a reboot 20 seconds after starting a game) (package corrected)
  • F1012501 Drifter (1997) (The Fourth Dimension) (very slow to load due to RISC OS SMP changes) (fixed in 2.72f)
  • F1053501 Dune II Battle for Arrakis [CD version] (1997) (Eclipse) (reports an error prior to the intro and main game doesn't run - works with 2.71q) (fixed in 2.71v/package corrected)
  • F1013501 Enthar Seven (1988) (Robico Software) (crashes loading) (fixed in 2.72f)
  • F1013501 Enthar Seven (1988) (Robico Software) (crashes when terminated via CTRL-SHIFT-F12) (fixed in 2.72f)
  • F1015101 Fervour (1992) (Clares Micro Supplies) (stops working with 2.71h) (fixed in 2.71m)
  • F1015701b Fireball from Fireball II (1990) (Cambridge International Software) (crashes after loading) (package corrected)
  • F1015701b Fireball from Fireball II (1990) (Cambridge International Software) (flickers) (fixed in 2.71x)
  • F1063101 Formula Fun (1993) (Mystery Software) (crashes when terminated via CTRL-SHIFT-F12) (fixed in 2.72f)
  • F1063101 Formula Fun (1993) (Mystery Software) (desktop palette changes when quit) (uses Palette files, which set the Wimp Palette
  • F1024501 Grievous Bodily 'ARM (1991) (The Fourth Dimension) (doesn't quit to the desktop) (fixed in 2.72g)
  • F1018001 Groundhog (1998) (The Fourth Dimension) (crashes when it tries to change MODE) (fixed in 2.72g)
  • F1041101 Guild of Thieves, The (1987) (Rainbird) (crashes when quit) (fixed in 2.72e)
  • F1020101 Hostages (1990) (Superior Software) (crashes under RISC OS 3.11) (fixed in 2.72g)
  • F1020101 Hostages (1990) (Superior Software) (music should not start playing when loaded) (fixed in 2.72g)
  • F1021401 Jinxter (1989) (Rainbird) (crashes when quit) (fixed in 2.72e)
  • F1008401 Last Days of Doom, The & Hezarin (1990) (TOPOLOGIKA) (Hezarin crashes when quit cleanly) (fixed in 2.72a)
  • F1022501 Legend of the Lost Temple, The (1992) (Eterna) (doesn't quit cleanly via CTRL-SHIFT-F12) (package corrected)
  • F1056401 Memory Magic (1990) (Cambridge International Software) (attempts to reboot when quit cleanly) (package corrected)
  • F1026601 OddBall (1995) (Digital Psychosis) (hangs when quit) (package corrected)
  • F1026901 Omar Sharif's Bridge (1992) (Krisalis Software) (reports ambiguous instruction in exit handler) (fixed in 2.72a)
  • F1026901 Omar Sharif's Bridge (1992) (Krisalis Software) (sits on the logo screen when run for the first time, terminate then run again and it works) (package updated)
  • F1028501 Populous (1992) (Krisalis Software) (mouse buttons don't work with USBJoystick loaded) (fixed in USBJoystick 0.15)
  • F1028501 Populous (1992) (Krisalis Software) (reports ambiguous instruction in exit handler) (fixed in 2.72a)
  • F1033201 Simon the Sorcerer (1994) (GamesWare) (leaves the machine in a bad state when terminated) (fixed in 2.71t)
  • F1033901 Spheres of Chaos (1992) (Matt Black) (hangs when you start a game) (fixed in 2.72b)
  • F1035901 S.W.I.V. (1992) (Krisalis Software) (can't start game via keyboard with USBJoystick loaded) (press F1 and select Keyboard)
  • F1062901 Tactic (1990) (Eterna) (blank screen) (fixed in 2.71w)
  • F1036201 Talisman (1989) (Minerva) (quits back to the desktop when it RMRun's the sounds modules from BASIC) (fixed in 2.72c)
  • F1040201 Zarch (1987) (Superior Software) (doesn't clear the screen and ADFRemapVideoMemory 15 160 maps in more than 160KB) (fixed in 2.72g)

Regressions (outstanding):
  • F1000901 Aldebaran (1993) (Evolution Trading) (crashes when launched)
  • F1012701 Drop Ship (1990) (The Fourth Dimension) (modifies permissions of !Drop Ship.GameDir.<160>)

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

Re: ADFFS 2.71 beta

Post by JonAbbott » Wed Dec 19, 2018 10:21 pm

The packaged 2.71c beta is now available for testers, along with the following packages for testing:
  • F1021901 Karma - The Flight Trainer (1992) (Periscope Software)
  • F1019701 High Risc Racing (1995) (Modus Software)
  • F1000501 Virtual Golf (1993) (The Fourth Dimension)

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

Re: ADFFS 2.71 beta

Post by JonAbbott » Thu Dec 20, 2018 5:56 pm

2.71d beta package now available for testers, along with:
  • F1017101 Global Effect (1995) (Eclipse)
When prompted for the protection, press SPACE, which appears to bypass it.

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

Re: ADFFS 2.71 beta

Post by JonAbbott » Sat Dec 22, 2018 9:26 pm

I've noticed the screen size in Cartoon Line part one (UCS) is incorrect under recent RISC OS 5 builds. It started sometime between the 01-11-18 and 16-11-18 builds, so is related to the changes to the MODE change process. Other games that alter the screen geometry may also be affected.

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

Re: ADFFS 2.71 beta

Post by JonAbbott » Mon Dec 24, 2018 3:23 pm

JonAbbott wrote:
Sat Dec 22, 2018 9:26 pm
I've noticed the screen size in Cartoon Line part one (UCS) is incorrect under recent RISC OS 5 builds. It started sometime between the 01-11-18 and 16-11-18 builds, so is related to the changes to the MODE change process. Other games that alter the screen geometry may also be affected.
On further investigation, this appears to be a bug in the game. I've fixed the package/obey.zip locally and they'll be distributed with the next update, in the meantime the fix is to add the following to the boot script / !Run:

Code: Select all

IF ADFFS$OSVersion>=&50000 THEN JITMEMORYA 8300 1A000011 2A000011
The game issues OS_ServiceCall &50 to see if MODE 9 is supported. If it is, it then checks the VIDC List type returned, but wasn't checking for type 3 correctly.
Vubars in Overload (2000) (Paradise Games) help pages cause a crash
2.71 fixes this issue.

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

Re: ADFFS 2.71 beta

Post by Vanfanel » Wed Dec 26, 2018 4:47 pm

@Jon: I see Elite listed as supposedly working. I have installed it via Packman, along with the latest ADFFS beta, and it crashes here. Do you know what's going on?

I have also noticed that some games don't install right from PackMan
-PacMania [Learning Curve], Mad Professor (Standalone version), PipeMania (Standalone version), Stunt Racer 2000 [SA version], Pandora's Box [SA version], Cataclysm [SA version], Chocks Away Compendium... All these install into directories with numbers. PacMania installs into a dir called 1044700, etc.
Maybe it's intentional to install them in different locations so they don't overlap with the versions you consider "the most popular" ones?
-Zarch [original version, not the 32bit one] installs ok but lacks icon, a generic icon appears instead.

Also, I have observed that Zarch in 32bit version runs choppy on 50Hz video mode. Original version runs perfectly well.

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

Re: ADFFS 2.71 beta

Post by JonAbbott » Wed Dec 26, 2018 8:43 pm

Vanfanel wrote:
Wed Dec 26, 2018 4:47 pm
I see Elite listed as supposedly working. I have installed it via Packman, along with the latest ADFFS beta, and it crashes here.
Appears to be a bug. OS_CallASWI and OS_CallSWIR12 calls that need to bypass the JIT aren't being passed to the OS correctly.
Vanfanel wrote:
Wed Dec 26, 2018 4:47 pm
-PacMania [Learning Curve], Mad Professor (Standalone version), PipeMania (Standalone version), Stunt Racer 2000 [SA version], Pandora's Box [SA version], Cataclysm [SA version], Chocks Away Compendium... All these install into directories with numbers. PacMania installs into a dir called 1044700, etc.
Maybe it's intentional to install them in different locations so they don't overlap with the versions you consider "the most popular" ones?
Where there's a duplicate !App folder, they currently end up in a subfolder based on the game ID. I've yet to go through all the games and rename the !App folders so they're unique.
Vanfanel wrote:
Wed Dec 26, 2018 4:47 pm
-Zarch [original version, not the 32bit one] installs ok but lacks icon, a generic icon appears instead.
25 currently don't have icons. Zarch isn't one of them though, so I'll fix that on the next update.
Vanfanel wrote:
Wed Dec 26, 2018 4:47 pm
I have observed that Zarch in 32bit version runs choppy on 50Hz video mode.
Terminate ADFFS before you run it. Zarch32 is coded to run native on the Pi, ADFFS however is taking over and emulating all legacy MODE's, including MODE 13.

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

Re: ADFFS 2.71 beta

Post by Vanfanel » Wed Dec 26, 2018 10:16 pm

@Jon: Thanks for the responses! Will keep up with the updates and tests. This is getting better than ever!!!

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

Re: ADFFS 2.71 beta

Post by JonAbbott » Thu Dec 27, 2018 10:05 am

JonAbbott wrote:
Wed Dec 26, 2018 8:43 pm
Appears to be a bug. OS_CallASWI and OS_CallSWIR12 calls that need to bypass the JIT aren't being passed to the OS correctly.
I examined the 2.68 code and couldn't honestly see how it was working in the first place. In 2.68 the JIT SWI dispatcher calls the JIT and asks it to construct a codelet for the SWI OS_CallASWI wants to raise, when the SWI in question needs to go directly to the OS; it then hands off control to it. It didn't however appear to be doing that and looks like it was overwriting the original "SWI OS_CallASWI".

The initial idea was okay...use a codelet...but it really needs to be a codelet containing OS_CallASWI, not the SWI it's trying to raise. SWI affected by this are OS_IntOn, OS_IntOff, OS_EnterOS, OS_LeaveOS (not sure any of these are actually legal in this sense, but we'll cover our bases so to speak!), OS_CLI, Wimp_Poll and Wimp_PollIdle. Moving to a codelet for OS_CallASWI and OS_CallASWIR12 however neatly removes the need for any special treatment.

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

Re: ADFFS 2.71 beta

Post by JonAbbott » Fri Dec 28, 2018 6:22 pm

JonAbbott wrote:
Wed Dec 26, 2018 8:43 pm
Appears to be a bug. OS_CallASWI and OS_CallSWIR12 calls that need to bypass the JIT aren't being passed to the OS correctly.
The packaged 2.71e build is now available, which fixes this issue.

Post Reply