ADFFS 2.34 beta

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

ADFFS 2.34 beta

Post by JonAbbott »

Games should now run smoothly on the Pi. To force your Pi to 50Hz, 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
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 the ARM is configured as ARMv5 and SparkFS is loaded.



Changes since 2.31
  • ADFFS IOC version has been cleaned of all ARM6x0 instructions
  • GraphicsV driver rewritten to work with the latest GraphicsV changes. Tested on the 20-01-14 Pi ROM build.
  • MusMod2 updated to 1.01 to fix the Chuck Rock titles
  • Now forces BCMVideo 2 to remove the VSync wait when swapping frame buffers
  • Unpredictable instructions are now modified (eg LDR R0, [R0], #0 > LDR R0, [R0, #0] and LDMIA R1!, {R0, R1} > LDMIA R1, {R0, R1})
  • OS_ReadVduVariables / OS_Module / ADFS_DiscOp are now hypervised
  • Blitter re-coded to use a 32bit MODE
  • Frame blitting now done independently of GPU frame swapping. DA2 blitting is done at the games FPS, GPU frame swapping is done at the monitor refresh rate
  • OS_Mouse now corrects the time it returns if booted outside of the WIMP
  • adfs:Format now works
  • CMOS protection / Module protection and Hide Hourglass are now automatically enabled when a JFD is mounted should it require them
  • OS_FSControl 4 is now taken over when the JIT it running (although only partially coded)
  • Norcroft C stack is now created below 16mb
  • LDR PC, [Rn, Rm ...] wasn't encoded correctly
  • LDMxx Rn{!}, {<reglist>} wasn't encoded correctly if Rn was in reglist
  • STR PC, ... wasn't encoded 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+
  • Although Caverns runs fine under VIDC translation on the A7000, on a RPC the scrolling is broken; with no VRAM, its completely broken. There's also an issue with the ship only appearing on the bottom half of the screen, although this is resolved with the boot script included with ADFFS.
  • 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
  • Does not currently work on RO5.x IOMD
  • RO4/SA some games don't display (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)

Games that are made StrongARM/Pi compatible with this version:
Conqueror
Humanoids (of Humanoids & Robotix)
Jet Fighter
The Krisalis Collection: Mad Professor Mariarti [BUZZ version]
The Krisalis Collection: Revelation! [BUZZ version]
The Krisalis Collection: Terramex
Mad Professor Mariarti
Magic Pockets
Pac-mania
Pac-mania [Learning Curve version]
Revelation!
Revelation! [BUZZ version]
Revolver
Rise in Crime
Terramex
Zarch

NOTE: The "Boot floppy" scripts have been updated for many games, so ensure you have !SparkFS or similar loaded before using "Boot floppy".
If you've contributed one of the unreleased titles and have the JFD floppy image, it should work provided you have !SparkFS or similar loaded. Alternatively, extract the relevant Obey file from !ADFFS.obey and launch manually.


Please provide feedback, let us know if it's working or see any issues.
Attachments
adffs234b.zip
(464.6 KiB) Downloaded 458 times
Vanfanel
Posts: 576
Joined: Mon Sep 16, 2013 12:01 am

Re: ADFFS 2.34 beta

Post by Vanfanel »

Hi, Jon!

I'm setting a new Raspberry Pi just for Risc OS and this, as you seem to have reached my dreamed "scrolling perfection" at last.
So, what Risc OS ROM/Hd-image should I use for this? Is 2013-07-10 distro OK, or should I need a recent ROM with the updated !Boot?

Knowing it beforehand will save me A LOT of trial and error with trivial things.
thanks
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.34 beta

Post by JonAbbott »

Vanfanel wrote:So, what Risc OS ROM/Hd-image should I use for this? Is 2013-07-10 distro OK, or should I need a recent ROM with the updated !Boot?
You need the latest alpha ROM and updated !Boot. ADFFS 2.34 was rewritten for the new GraphicsV changes and relies on several OS bug fixes to work currectly. The build I tested on was 20-01-14.

I'd like to see some feedback from people that scrolling is smooth, Pac-mania is certainly as smooth as my A310 here :D

It's damn hard to develop fixes without feedback!
Vanfanel
Posts: 576
Joined: Mon Sep 16, 2013 12:01 am

Re: ADFFS 2.34 beta

Post by Vanfanel »

OK, tried PACMANIA and I get no tearing on the tittle screen, but there's an occasional "jump" or "frame lost", once every few seconds.

But after the intro (with Pacman being chased by the ghosts) I get:

Internal error: abort on data transfer at &0138BFD0

and system crashes badly.

I'm using today's ROM.
It would be a good idea to upload your current boot partition contents every time you make a release.
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.34 beta

Post by JonAbbott »

Vanfanel wrote:OK, tried PACMANIA and I get no tearing on the tittle screen, but there's an occasional "jump" or "frame lost", once every few seconds.
Sounds like micro-stutter, could you confirm you set the Pi to 50Hz in config.txt, does the monitor also report 50Hz?
Vanfanel wrote:But after the intro (with Pacman being chased by the ghosts) I get:

Internal error: abort on data transfer at &0138BFD0
Can you confirm you have !SparkFS loaded and could you also re-download the Pac-mania floppy image, just to make sure it's not corrupt. I've looked at the code at that location and can't see why it would abort.
Vanfanel wrote:It would be a good idea to upload your current boot partition contents every time you make a release.
I've just tested with the 27-01-14 beta and latest bootcode.bin, fixup.dat and start.elf, I've also re-downloaded the floppy image just to double check - it should be working. My config.txt is stock, with the entries posted in the OP.
steve3000
Posts: 198
Joined: Thu May 02, 2013 9:25 pm

Re: ADFFS 2.34 beta

Post by steve3000 »

Nice work Jon.

Have downloaded onto my Pi. Will test properly at the weekend.

As there seems to be a need to ensure certain version of RO is present on the pi, would it be best to report an error on loading (on Pi), if an incorrect/old version of RO rom is present?
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.34 beta

Post by JonAbbott »

steve3000 wrote:As there seems to be a need to ensure certain version of RO is present on the pi
It just needs a version of RO with the various bugs in GraphicsV and associated drivers fixed :roll:

Jeffrey and I found at least five issues in RO whilst developing this, the last of which was fixed in the 20-01-14 build. The behaviour of GraphicsV 1 (VSync) also changed post GraphicsV enhancements, this version of ADFFS was updated to match.

The GPU messaging has also been a real pain, the combination of delays in changing the DAG (ie vinit) and palette forced me to go to a 32bit MODE until it's fixed. Should it not get resolved, I'll have to do yet another version of ADFFS for 32bit non-Pi - something I'd rather not do. Currently DAG and palette are sent as two messages to the GPU by RISC OS...the GPU can only process one message per VSync, so either the palette or DAG change is delayed by 1 VSync. I've asked if the messaging can be buffered and combined into one message per VSync to resolve.
steve3000 wrote:would it be best to report an error on loading (on Pi), if an incorrect/old version of RO rom is present?
If it's not listed as a known issue above then yes, could you also eMail me the DOS partition, so I can try to repro. If I can't, it will be either another program or RO config - either way, it would be nice to know what the issue is so it can be documented.
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.34 beta

Post by JonAbbott »

Today's Pi RISC OS beta (31-01-14) finally resolves the sound randomly cutting out.

I've not had a chance to personally check, but have had a few eMail today confirming it has definitely fixed the problem. A big thanks to Jeffrey Lee for tracking that bug down.
grannyg
Posts: 18
Joined: Fri Dec 13, 2013 3:47 pm

Re: ADFFS 2.34 beta

Post by grannyg »

Since upgrading to the latest RPi rom (31.01.14) running every game with 2.34beta results in a blank screen and a complete lockup.
Rockhawk
Posts: 2
Joined: Sun Feb 02, 2014 8:25 pm

Re: ADFFS 2.34 beta

Post by Rockhawk »

I've just been trying PACMANIA on a Raspberry Pi and get the same error as Vanfanel: abort on data transfer

I'm using 2014-01-31 ROM and !Boot + latest bootcode.bin, start.elf, fixup.dat from github.

Possibility there is some bit of upgrade I missed? I started from the RC11 image and updated the boot rom, !Boot and then got those files from github. Do I need to do anything else? Vanfanel, did you get it working?
Post Reply