ADFFS 2.41 beta

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

ADFFS 2.41 beta

Post by JonAbbott »

A few more games working on the Pi: BlowPipe, Ego: Repton 4, Lemmings, Populous, Paradroid 2000, Quest For Gold (provided you don't change trainer), Rockfall

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.40
  • The following instructions weren't encoded correctly:
    • <ALU> PC, .. (was encoded incorrectly for conditional instructions)
    • <ALU>{S} PC, ... (was encoded incorrectly when R1 was used to encode the instruction)
    • B <address> wasn't encoded correctly for jumps outside of JIT appspace
    • Co-Pro instructions in ROM and codelets weren't being passed on correctly
    • SWI OS_RemoveCallBack wasn't being hypervised
    • SWP wasn't handled by the JIT abort handler
    • LDF/LFM/STF/SFM weren't previously encoded
  • APCS-R now veneered to APCS-32 by the SWI hypervisor
  • IRQ1V release now detected
  • LDR PC, ... encoding improved
  • Fix the error reported by Richard Walker, where the filer would open <discname> instead of <discname>.$
  • OS_ReadDynamicArea -1 now return the correct end of appspace
  • OS_CallASWI, OS_CallASWIR12 and OS_GBPB now hypervised
  • Added a 32bit version of VoxLib
  • Lazy page swapping is now disabled for JIT appspace

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)

Games that are made StrongARM/Pi compatible with this version:
10034 Axis
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
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.

adffs241b.zip
(548.12 KiB) Downloaded 393 times
Please provide feedback, let us know if it's working or see any issues.
JonAbbott
Posts: 2954
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.41 beta

Post by JonAbbott »

For that true retro experience, add "scaling_kernel=8" to your config.txt, which will turn this:
scaling_kernel=6
scaling_kernel=6
scaling_kernel6.png (15.79 KiB) Viewed 7158 times
into this:
scaling_kernel=8
scaling_kernel=8
scaling_kernel8.png (9.25 KiB) Viewed 7158 times
Just make sure the default desktop resolution matches your monitor, otherwise the desktop will also be affected.
Vanfanel
Posts: 576
Joined: Mon Sep 16, 2013 12:01 am

Re: ADFFS 2.41 beta

Post by Vanfanel »

Heh, interesting trick, John.
But unless you're on a native resolution (or an integer multiple) the results are very ugly in TFT screens...
JonAbbott
Posts: 2954
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.41 beta

Post by JonAbbott »

I think I've fixed the crash in the Quest for Gold trainer screen, in the latest dev build. Disc swapping on the original seems to be okay now as well, so I'll sort out the manual, box art etc and get it released with the next ADFFS release.

Two issues remain:
  1. The trainer selection screen needs slowing down
  2. Sample speed seems to be a issue below RO5. I'll have a chat with Steve, as I've no idea why this would be the case.
jpolo
Posts: 3
Joined: Wed Apr 02, 2014 2:17 am

Re: ADFFS 2.41 beta

Post by jpolo »

Having a problem with Xenon 2, I have the adfs named correctly with a 1 and 2 at the end, but when prompted for the second disk no amount of "ctrl-shift-f2" will cause it to read the disk, the hourglass pops up for a second and disappears. Is there some trick to this?
JonAbbott
Posts: 2954
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.41 beta

Post by JonAbbott »

jpolo wrote:Is there some trick to this?
One of the known issues, it can take a while sometimes:
Difficult to change discs on BlowPipe and Xenon 2: Megablast on the Pi (hold CTRL-SHIFT and keep hitting F2 until you see the hourglass)
grannyg
Posts: 18
Joined: Fri Dec 13, 2013 3:47 pm

Re: ADFFS 2.41 beta

Post by grannyg »

I'm running a build of the RISC OS rom with zero page protection (High processor vectors. I get the following abort as soon as ADFFS is run.

*where
Address &21ACAD10 is at offset &01ACAD10 in dynamic area Module area
*
*showregs
Register dump (stored at &20009B90) is:
R0 = 00000008 R1 = 21ACC364 R2 = 00000004 R3 = 000007D8
R4 = 00000001 R5 = FB406770 R6 = 00052100 R7 = FFFFFFFF
R8 = 00000000 R9 = FB420A74 R10 = FAF4542D R11 = 00000000
R12 = FB420A8C R13 = FA207A60 R14 = 21ACF254 R15 = 21ACAD10
Mode SVC32 flags set: nzCvqjggggeAift PSR = 20000113
*

Also another game that runs is Repton4.
JonAbbott
Posts: 2954
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.41 beta

Post by JonAbbott »

grannyg wrote:I'm running a build of the RISC OS rom with zero page protection (High processor vectors. I get the following abort as soon as ADFFS is run.
It doesn't support High processor vectors currently, I have however been considering forcing them at some point as it allows me to trap page zero reads, which is currently a bit of a problem. The only thing that's stopped me is the fact it doesn't help fix the page zero read issue on StrongARM.

However, I added the bulk of the code to the page zero abort handler in preparation and commented it out, so I'll look at what other changes are required to support HPV.

Are you aware of any documentation on what changes were made to that build of RISCOS for HPV? Where for example is the data that was at page zero? Is it in the HPV page at FFFF0000?
grannyg wrote:Also another game that runs is Repton4.
Great, I'll create a Boot script for it for the next beta release.

There's quite a lot of games I haven't tested yet, so long as they don't require 26 module support, WIMP or APCS-A there's a chance they may work.
JonAbbott
Posts: 2954
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.41 beta

Post by JonAbbott »

In the latest dev build, I've recoded two SWI's: Sound_Configure and Sound_InstallVoice to dynamically work out the entry points at runtime, hopefully there's not a knock on effect on any games. I quickly checked Conqueror, but it needs all games retesting.

The reason for the recode was to get around the fact 2067BC doesn't set the entry points for the Channel Handler until after it's issued SWI Sound_Configure. The only reason that doesn't crash RISCOS on a real Arc is because it disables IRQ's until it's written them. 2067BC now loads and plays the title music, it hangs when you start a level though, so it's probably close to working.
Vanfanel
Posts: 576
Joined: Mon Sep 16, 2013 12:01 am

Re: ADFFS 2.41 beta

Post by Vanfanel »

I need to test many games! I don't know if I'll be able this weekend, but count on me!
Post Reply