ADFFS 2.19

Floppy Disc Controller emulator and virtual IOC/IOMD/ARM JIT for modern RISC OS machines
Post Reply
Posts: 2980
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

ADFFS 2.19

Post by JonAbbott »

This is a major release, with some fundamental underlying changes, such as VIDC1 to VIDC20 translation on RPC/A7000 and use of Dynamic Areas on all versions of Risc OS. To implement the latter OS_DynamicArea and OS_ChangeDynamicArea were back-ported to RO3.1x and use of the RMA dropped. VIDC1 translation has taken eight months to get right, mainly due to the lack of documentation on IOMD and I'd like to thank Steve Harrison who's tirelessly assisted in the development of this.

Steve's LCDGameModes is now included with ADFFS and auto-loaded on all VIDC1/20 based machines up to and including RO5.x IOMD. For RO3.5+, there's a dedicated VIDC20 version which is auto-loaded if VIDC20 is detected, this is only available with ADFFS and not separately due to its dependence on ADFFS. On RO3.1x the publicly available LCDGameModes is auto-loaded. See the notes below to turn auto-loading of LCDGameModes off.

I'd also like to thank Paul Vernon for many hours of testing on the earlier Acorn machines, and for the development of AutoVIDC, which is also included and auto-loaded on Risc OS versions below 3.50. AutoVIDC is a pre-req for LCDGameModes and is used to control the VIDC clock rate.

Should updated versions of LCDGameModes or AutoVIDC be released by Paul or Steve, simply drop them into the !ADFFS folder to update them, or if you're loading them in the OS boot sequence, ADFFS will make use of the already loaded version if newer.

In summary, what all this means is, better memory management on RO3.1x, many games now work on the RPC/A7000 and most analogue monitor only games now work on LCD monitors.

You can report bugs and track development of ADFFS, AutoVIDC and LCDGameModes via the JASPP forum, or follow posts with an ATOM feed reader using the URL:

Changes since 2.09

- AutoVIDC is auto-loaded on RO3.1x machines, to control VIDC1 clock rate

- LCDGameModes is auto-loaded on RO3.1x to RO5.x IOMD machines, this will correct games designed for analogue monitors. To disable auto-loading, edit !ADFFS.!Boot and change "Set ADFFS$LCDGM Y" from "Y" to "N". The following games are known to now display on type 4 monitors:

Boogie Buggy
Chuck Rock
Chuck Rock [BUZZ version]
Gribbly's Day Out
Grievous Bodily 'ARM
James Pond
James Pond [Buzz version]
James Pond II Robocod
Manchester United
Manchester United Europe
No Excuses
Pesky Muskrats
Play It Again Sam 1: No Excuses
Play It Again Sam 4: Cyborg
Rockfall (RO3.1x only)
Swarm, The

NOTE: On RO3.5 and above, VIDC1 to VIDC20 translation must be on before LCDGameModes will work (via *ADFRemapVideoMemory), this restriction will be resolved in a later version of LCDGameModes.

- VIDC1 to VIDC20 translation added. Turn on via "*ADFRemapVideoMemory <mode> <memory>" eg "*ADFRemapVideoMemory 13 160K" will switch to MODE 13 and allocate 160K of screen memory. This will allow the following games to run on the Risc PC and A7000:

Work up to RO4.x
Arc/A3000 Christmas Box, The: Brixx!
Arc/A3000 Christmas Box, The: Zap the red wierdos from Mars
Boogie Buggy
Castle Black Heart
Caverns (scrolling doesn't work on RiscPC, A7000 is okay)
Chuck Rock
Chuck Rock [BUZZ version]
Dungeon, The
Fireball II
Formula Two Thousand
Games Minipack Five: Fireball II
Gods [BUZZ version]
Jahangir Khan World Championship Squash
Kaptain Konflict
Manchester United Europe (the cursor movement isn't smooth above RO3.5, but works otherwise)
No Excuses
Pesky Muskrats
Play It Again Sam 1: No Excuses
Rick Dangerous
Silver Ball
Twin World
Zool - Ninja of the 'Nth' Dimension
Zool - Ninja of the 'Nth' Dimension [Action Pack version]

Work up to RO3.71
Arc/A3000 Christmas Box, The: PON! in Winterland
James Pond
James Pond [Buzz version]
Lemmings [Learning Curve version]
Oh, No! More Lemmings
Saloon Cars Deluxe
Stunt Racer 2000
Tower of Babel
Zodiac - Aries: BlowPipe
Zodiac - Aries: Square Route

Work up to RO3.5
Magic Pockets
Manchester United
Paradroid 2000

- Files can now be loaded into screen memory, this fixes Kaptain Konflict and Deeva

- ADFFS' memory allocation system had been completely rewritten to use Dynamic Areas. On RO3.1x, ADFFS implements OS_DynamicArea and allocates DA's from the top of application space downwards (starting with 2mb at E00000 for ADFFS). Memory can be reserved for ADFFS by using "*ADFReserveMemory <kb>" eg "*ADFReserveMemory 1024" to reserve 1MB. A maximum of 2MB can be reserved. if you have problems swapping discs in games, reserving memory may fix it. The maximum an 800KB floppy JFD image will require is 832K

- Added external boot scripts for JFD files, to override the embeded ones. If <ADFFS$Dir>.obey.Fxxxxxnn exists (xxxxx is the ID, nn is the floppy no.), it's executed when "Boot floppy" is used. "obey" could also be an archive ( is provided with ADFFS), provided a suitable filesystem extender is loaded, such as SparkFS.

- The following commands have been changed to ON / OFF options: ADFProtectCMOS, ADFProtectModules, ADFWriteProtect, ADFHideHourglass

- "Boot floppy" now defaults to booting within the WIMP. You can hold CTRL when confirming the action, to exit from the desktop first. some games may require this to work correctly.

- Added *ADFScreenCaching to allow screen caching to be disabled on RISC OS 4, when a StrongARM is present.

Known issues
- Fire & Ice fails the protection check, if not run from the Harddisc
- 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+
- adfs:format doesn't work whilst ADFFS is loaded
- 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.

To get games that require VIDC1 translation working on RO5.x IOMD, you'll need to start them from the desktop via an obey script which both reduces WimpSlot to a sensible size (4MB should be the max required) and enables translation (via *ADFRemapVideoMemory 13 160 for example). "Boot floppy" will do this automatically for official JASPP releases.

VIDC translation does not work on ARM11, OMAP or X-Scale and there's no fixes for games that aren't StrongARM/32bit compatible. This will be provided in a future release.
(367.09 KiB) Downloaded 649 times
Posts: 17
Joined: Wed Oct 02, 2013 2:15 pm

Re: ADFFS 2.19 released

Post by tlsa1 »

Is the site abandoned? I'm linking to it from currently.
Posts: 2980
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

Re: ADFFS 2.19 released

Post by JonAbbott »

tlsa1 wrote:Is the site abandoned? I'm linking to it from currently.
I'm waiting for the access issues to be sorted out...I'm unable to log in to update the page.
Post Reply