ADFFS 2.43 beta

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

ADFFS 2.43 beta

Post by JonAbbott »

More games working on the Pi (2067BC, Battle Chess) and a few minor fixes for RO3.11.
NOTE: Some games that used to work may now fail on StrongARM/Pi. This is due to the extensive changes to the way memory is allocated in this version, please report any regressions.

To force your Pi to 50Hz and turn off the filtered upscaling, edit config.txt on the DOS partition and add the following lines. Uncomment one of the hdmi_mode values:

Code: Select all

hdmi_ignore_edid=0xa5000080
#
#set GPU upscaling to nearest neighbour
scaling_kernel=8
#
hdmi_group=1
#576p @ 50Hz
#hdmi_mode=17
#
#720p @ 50Hz
#hdmi_mode=19
#
#1080p @ 50Hz
hdmi_mode=31
At other monitor frequencies, games will still run at the correct rate but micro stutter may be noticeable where it pads extra frames to make up the difference.

NOTE: You must ensure fake_vsync_isr=1 is also uncommented in your config.txt file on the Pi. If you see a blank screen, try setting the monitor to Auto. Also ensure SparkFS is loaded.



Changes since 2.41
  • Fixes a bug in the KeyExtend module (it corrupts R4 on exit from OS_ReadLine)
  • SWI handler wasn't preserving exit flags on RO3.11
  • Frame pacing was being set to the wrong value in CovRec and when mounting floppies
  • FPS, Protect CMOS and Protect Modules are now set when booting a floppy
  • Sound_Configure now jumps into JIT space when the entry points are called (fixes 2067BC)
  • Sound_InstallVoice recoded to decode branch table when entry point is called
  • Fixed a but in IOC device calls that was corrupting the stack
  • EventV now switched to SVC and preserves CSPR/SPSR/R14 before any SWI calls
  • Restores Sound_Configure previous values with a game terminates
  • OS_ClaimDeviceVector was storing the wrong entry point in the device table
  • Codelet memory is now recycled as instructions are overwritten
  • JITMEMORYA now reports an error if it runs out of space
  • OS_Module Free now cleans any codelets in the block being released
  • OS_Exit handler wasn't entering SVC prior to shutting down interrupts
  • IOC register table was the wrong size
  • Service_ModeChange now recounts VSync's/sec after a mode change
  • On IOMD IOC device 9 is now translated to IOMD device 20
  • MEMC abort code was using the bottom 16 bits of MEMC writes, instead of 17 bits
  • Changes cache flushing code on StrongARM to read 32kb, as 16kb didn't always flush correctly

Known issues
  • Doesn't support the protection used by Chequered Flag (non-RO3 version), Fine Racer and KerBang! (they talk directly to the FDC via IOC)
  • Shelling out of the desktop (Ctrl-Shift-F12 twice) hangs if an HD floppy is mounted on RO3.5+ ARM710 under RedSquirrel
  • Although Caverns runs fine under VIDC translation on the A7000, on a RPC the scrolling isn't quite correct
  • Will not work on a RISC OS 3.1x machine with more than 13mb allocated to application space. To workaround increase another area until Applications (free) is below 13mb and ensure it never goes above it whilst ADFFS is loaded
  • RO5.x IOMD doesn't support direct access to VIDC1, VIDC20 or IOC
  • Some games don't display on Kinetic (eg Zarch)
  • No 26-bit module support on 32bit OS's
  • Requires 30mb of free memory to work on a StrongARM machine, if the game isn't natively StrongARM compatible
  • Does not work on OMAP3/4, untested on Iyonix
  • Games that update the display on event 4 currently flicker on Archimedes/Risc PC (eg Chuck Rock, James Pond)
  • Sometimes reports "Broken directory" after loading (exiting and reloading is a temporary fix)
  • Can't change discs in Apocalypse on RO4
  • Difficult to change discs on BlowPipe, Gods and Xenon 2: Megablast on the Pi (hold CTRL-SHIFT and keep hitting F2 until you see the hourglass)
  • Games will hang when quitting back to the desktop
  • ADFFS doesn't reset itself after the JIT is shutdown when a game quits (quit and reload ADFFS before trying to Boot another game)
  • Lemmings doesn't work with this beta, use 2.41

Games that are made StrongARM/Pi compatible with this version:
10001 2067BC (audio isn't correct currently)
10034 Axis
10038 Battle Chess
10049 BlowPipe
10072 Caverns (although unplayable until we update the blitter)
10090 Conqueror
10307 Ego: Repton 4
10167 Freddy's Folly
10202 HoverBod (although needs slowing down)
10210 Jahangir Khan World Championship Squash
10211 James Pond (although scrolling wont be correct until we update the blitter)
10590 James Pond [BUZZ version]
10213 Jet Fighter
10484 Krisalis Collection, The: Mad Professor Mariarti [BUZZ version]
10484 Krisalis Collection, The: Revelation! [BUZZ version]
10484 Krisalis Collection, The: Terramex
10277 Lemmings (although requires the new blitter to correct the palette swap)
10233 Mad Professor Mariarti
10593 Mad Professor Mariarti [BUZZ version]
10236 Magic Pockets
10270 Orion
10507 Pac-mania
10447 Pac-mania [Learning Curve version]
10275 Paradroid 2000 (sound effects aren't correct yet)
10385 Populous
10298 Quest For Gold
10480 Quest For Gold [Learning Curve version]
10308 Revelation!
10595 Revelation! [BUZZ version]
10309 Revolver
10315 Rockfall (although no audio yet)
10366 Terramex
10393 World Class Leaderboard (although needs slowing down)
10396 Xenon 2: Megablast
10402 Zarch

NOTE: You must have !SparkFS loaded and use "Boot floppy" to run a game. If you don't, you could end up with a machine that isn't bootable, as some games try to alter the CMOS. Provided "Boot floppy" is used, ADFFS will prevent games from altering both the CMOS and unplugging modules.
DO NOT try to run a game by launching it's Icon - it will almost certainly damage your machine.

adffs243b.zip
(557.25 KiB) Downloaded 389 times
cowboystyle
Posts: 2
Joined: Thu Jul 17, 2014 12:16 pm

Re: ADFFS 2.43 beta

Post by cowboystyle »

Hi Jon,

First of all - HUGE thanks for your work - I was absolutely obsessed with my school's A3020 in the early 90s, and ended up playing about with RISC OS 3 until about '99 - thrilled its on Pi and can now run legacy soft! I'll play around with some of the game downloads to report any issues but in the meantime here's a regression for 2.43 - Lemmings on 5.21 hangs at either menu screen or start of level 1. System beep and freeze.
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.43 beta

Post by JonAbbott »

cowboystyle wrote:Lemmings on 5.21 hangs at either menu screen or start of level 1. System beep and freeze.
Thanks, I'll look into why and get it fixed.
danielj
Posts: 64
Joined: Sun May 12, 2013 9:08 pm

Re: ADFFS 2.43 beta

Post by danielj »

Ergh.... On my A3020 I'm getting an "Abort on data transfer at &01927934" when I tried to load a disc image. Went all the way back to 2.09 and I'm now getting the same thing with that. Even with a Shift-boot to bypass !Boot. AcornURI and BorderUtils seem to be getting loaded from somewhere, and the data transfer address seems to be in the vicinity of the AcornURI module. Any way I can stop them being found and loaded? Or is it likely to be something else that's the problem? (I have no idea where they're living on my HDD).

d.
danielj
Posts: 64
Joined: Sun May 12, 2013 9:08 pm

Re: ADFFS 2.43 beta

Post by danielj »

Okay, ignore me, it was a hosed Uniboot (goodness knows what exactly), but must have been something I did when installing the Acorn Level4 FS on that machine.

d.
Post Reply