log in | register | forums
Show:
Go:
Forums
Username:

Password:

User accounts
Register new account
Forgot password
Forum stats
List of members
Search the forums

Advanced search
Recent discussions
- WROCC Newsletter Volume 41:11 reviewed (News:)
- WROCC March 2024 meeting o... Hughes and Peter Richmond (News:1)
- Rougol March 2024 meeting on monday with Bernard Boase (News:)
- Drag'n'Drop 13i2 edition reviewed (News:)
- South-West Show 2024 talks (News:4)
- February 2024 News Summary (News:1)
- Next developer fireside chat (News:)
- DDE31d released (News:)
- South-West Show 2024 Report (News:)
- South-West Show 2024 in pictures (News:)
Latest postings RSS Feeds
RSS 2.0 | 1.0 | 0.9
Atom 0.3
Misc RDF | CDF
 
View on Mastodon
@www.iconbar.com@rss-parrot.net
Site Search
 
Article archives
The Icon Bar: General: ADF floppy disc image reader
 
  ADF floppy disc image reader
  This is a long thread. Click here to view the threaded list.
 
Señor Nueces Message #121117, posted by gaula92 at 19:33, 21/9/2012, in reply to message #121115
Member
Posts: 43
Thanks for your responses, all of you. I still have some questions, anyway:


- Stub ADFS added for Pi users
This seems to indicate ADFFS will work on a Raspberry Pi now. But then you say it's for old Acorn hardware only... I don't get it.

Do you mean APD disc images can now be read on a Pi but theit Archimedes contents can't be executed outside an emulator?


- ADFForceVSync added to allow games to be slowed down
Does this mean that, in conjunction with ArcEm, games will now run without tearing artifacts on the Pi? (smoothscrollers like pacmania, etc)
  ^[ Log in to reply ]
 
Jon Abbott Message #121118, posted by sirbod at 19:51, 21/9/2012, in reply to message #121116
Member
Posts: 563
Remember that ADFFS may well have an important role to preserve copy-protected non-game discs
Although I've added a few extras recently, ADFFS' main role is to simply emulate a floppy with copy-protection intact.

The wider project however has several goals:

1. Seek permission or purchase rights to make games available for free
2. Provide an environment to run said games, be it software emulation or hardware
3. Collate manuals, marketing material etc
4. Image floppies and make available those permissible

I'll need a lot of help from the community though, if this is ever going to happen.
  ^[ Log in to reply ]
 
Jon Abbott Message #121130, posted by sirbod at 06:02, 28/9/2012, in reply to message #119561
Member
Posts: 563
2.04 available

Changes since 2.03
- SA compatibility fixed
- Added additional environment variables, for scripting OS/CPU specific commands: ADFFS$OSVersion, ADFFS$CPUID (see !Help file)
- Additional info now stored in JFD files, such as CPU/OS compatibility, write protect status, flush status, FPS of the original game and an Obey script, to automate specific game patches listed in the first post. The Obey file is run when "Boot floppy" is selected
- ADFForceVSync rewritten as it was dependent on the video refresh rate. It's now tied to 100Hz and waits N centiseconds, before then waiting for the next VSync
- ADFWriteProtect / ADFWriteUnprotect added to allow floppies to be write protected
- ADFCacheOff added to turn the CPU cache off for N centiseconds

Known issues
- Games that check the read speed of files currently don't work (eg Technodream, see potential fixes section for a workaround)
- Fire & Ice fails the protection check, if not run from the Harddisc
- Protection used by RTFM software is not currently supported (extended GAP3, no data, single sector tracks)

[Edited by sirbod at 07:05, 28/9/2012]
  ^[ Log in to reply ]
 
Jon Abbott Message #121262, posted by sirbod at 18:30, 18/10/2012, in reply to message #119561
Member
Posts: 563
2.06 available

Changes since 2.04
- Source code switched to extASM (you need extASM 2.01 to compile)
- Video memory remapping re-written from scratch to use the Data Abort vector, to allow future support for RO4+
- ADFEmulateFDC added to switch emulation between 71x/1772 floppy disc controllers (eg Fire & Ice requires 71x, Slappit 1772)
- Protection used in Slappit is now supported
- ConvRec now supports: Manually forced sector ID's, slow sectors and DiscOp 3 track data
- Instructions on imaging floppies and the current list of missing games are now within the !Help file

Known issues
- Games that check the read speed of files currently don't work (eg Technodream, see potential fixes section for a workaround)
- Fire & Ice fails the protection check, if not run from the Harddisc
- Protection used by Chock Away Extra Missions currently hangs the machine on RO3.11
- May be incompatible with the 16bit SimTec IDE interface, it appears to conflict with the IDEFS module and hangs the machine after loading

[Edited by sirbod at 10:22, 24/10/2012]
  ^[ Log in to reply ]
 
Jon Abbott Message #121314, posted by sirbod at 21:10, 24/10/2012, in reply to message #119561
Member
Posts: 563
2.07 available

Changes since 2.06
- Various bug fixes, to prevent crashes
- Fixed a bug that caused discs to become write-protected when swapping discs
- Stub MemAlloc module included, all MemAlloc commands are now implemented within ADFFS
- Chocks Away Extra Missions protection now works under RO3.5-3.71

Known issues
- Games that check the read speed of files currently don't work (eg Technodream, see potential fixes section for a workaround)
- Fire & Ice fails the protection check, if not run from the Harddisc
- Protection used by Chock Away Extra Missions currently hangs the machine on RO3.11
- May be incompatible with the 16bit SimTec IDE interface, it appears to conflict with the IDEFS module and hangs the machine after loading
  ^[ Log in to reply ]
 
Philip Webster Message #121323, posted by pwx at 11:35, 25/10/2012, in reply to message #121314
Member
Posts: 227

- May be incompatible with the 16bit SimTec IDE interface, it appears to conflict with the IDEFS module and hangs the machine after loading
Any news on the 8-bit version of the same interface?
  ^[ Log in to reply ]
 
Jon Abbott Message #121324, posted by sirbod at 11:45, 25/10/2012, in reply to message #121323
Member
Posts: 563
Any news on the 8-bit version of the same interface?
There's no problem with the 8-bit version that I'm aware of.
  ^[ Log in to reply ]
 
Paul Vernon Message #121329, posted by PaulV at 13:12, 25/10/2012, in reply to message #121324
Member
Posts: 135
To confirm, I raised the issue with the 16-bit interface and the only way I can get ADFFS to run without hanging the machine is to RMKill IDEFS.

I've also got a Simtec 8-bit card in my A3000 and it behaves perfectly well with all versions of ADFFS.

I've gone back through all version 2 revisions and the only one that works without me having to kill the IDEFS module is v2.00.

Paul
  ^[ Log in to reply ]
 
Jon Abbott Message #121396, posted by sirbod at 14:11, 5/11/2012, in reply to message #119561
Member
Posts: 563
2.08 available

Changes since 2.07
- Various minor bug fixes
- Now works with the 16bit SimTec IDE card (thanks go to Paul Vernon for helping track this problem down)
- Data Abort handler now correctly releases the Prefetch and Address Exception vectors and handles re-entry

Known issues
- Fire & Ice fails the protection check, if not run from the Harddisc
- Protection used by Chock Away Extra Missions currently hangs the machine on RO3.11
- Mounting floppies on a Pi can crash FileCore
- ADFForceVSync causes Inferno to flicker

[Edited by sirbod at 22:39, 29/11/2012]
  ^[ Log in to reply ]
 
Jon Abbott Message #121576, posted by sirbod at 12:13, 30/11/2012, in reply to message #119561
Member
Posts: 563
2.09 available

Changes since 2.08
- Various fixes which caused problems after changing discs
- Forcing VSyncs no longer causes Inferno to flicker
- CTRL-SHIFT-Page Up / Page can now be used to slow down/speed up a game (NOTE: On a Pi, the flickering is caused by RO5 not supporting multiple frame buffers - fixed in the latest alpha ROM)
- SpriteFree no longer generates an error if the sprite area is currently 0 bytes

Known issues
- Fire & Ice fails the protection check, if not run from the Harddisc
- Protection used by Chock Away Extra Missions / Saloon Cards currently hangs the machine on RO3.11
- Doesn't yet include the code to get Zarch working on the Pi
- Doesn't support protection used by Chequered Flag, KerBang!, or Bubble Fair
- Shelling out of the desktop (Ctrl-Shift-F12 twice) hangs if an HD floppy is mounted on RO3.5+

[Edited by sirbod at 06:28, 2/6/2013]
  ^[ Log in to reply ]
 
Jeffrey Lee Message #121578, posted by Phlamethrower at 14:38, 30/11/2012, in reply to message #121576
PhlamethrowerHot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff

Posts: 15100
(NOTE: On a Pi, the flickering is caused by RO5 not supporting multiple frame buffers)
<panto>Oh yes it does!</panto>

https://www.riscosopen.org/forum/forums/5/topics/1494#posts-18181
  ^[ Log in to reply ]
 
Jon Abbott Message #121579, posted by sirbod at 15:32, 30/11/2012, in reply to message #121578
Member
Posts: 563
<panto>Oh yes it does!</panto>
I somehow managed to miss that thread! And I was watching ROOL daily for updates!

The irony is...I made a change today which, had I not, would have fixed the vsync/frame swap issue!
  ^[ Log in to reply ]
 
Jon Abbott Message #121594, posted by sirbod at 08:32, 4/12/2012, in reply to message #121578
Member
Posts: 563
(NOTE: On a Pi, the flickering is caused by RO5 not supporting multiple frame buffers)
<panto>Oh yes it does!</panto>
Jeffrey, take a look at my update to the thread.

It looks like there may be some issues in the driver, which are causing the VSync/Bankswap reversing from fixing the frame lags.
  ^[ Log in to reply ]
 
Jon Abbott Message #121597, posted by sirbod at 21:00, 4/12/2012, in reply to message #121594
Member
Posts: 563
Attached is a beta of just the ADFFS module for Pi/OMAP users, to fix the issues caused by the VSync being late.

To turn on the feature, issue the following commands from an F12 prompt:

ADFForceVSync 1
ADFIgnoreVSync Y

It should only be turned on for games which exhibit the problem and can be turned off via:

ADFForceVSync 0
ADFIgnoreVSync N

This should fix both Zool and Twin World.

EDIT: Attachment removed, awaiting changes in the OS build to resolve delays, a fix will hopefully be in the next release of ADFFS.

[Edited by sirbod at 20:16, 24/1/2013]
  ^[ Log in to reply ]
 
Jon Abbott Message #122665, posted by sirbod at 21:01, 13/9/2013, in reply to message #119561
Member
Posts: 563
2.19 available

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: http://forums.jaspp.org.uk:9000/forum/feed.php



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
Caverns
Chuck Rock
Chuck Rock [BUZZ version]
Cyborg
Diggers
Fervour
Gribbly's Day Out
Grievous Bodily 'ARM
James Pond
James Pond [Buzz version]
James Pond II Robocod
K.V.
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
YAIG

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
BlowPipe
Boogie Buggy
Castle Black Heart
Caverns (scrolling doesn't work on RiscPC, A7000 is okay)
Chuck Rock
Chuck Rock [BUZZ version]
Deeva
Dungeon, The
Fireball II
Formula Two Thousand
Games Minipack Five: Fireball II
Gods
Gods [BUZZ version]
Heimdall
HoverBod
Jahangir Khan World Championship Squash
Kaptain Konflict
Manchester United Europe (the cursor movement isn't smooth above RO3.5, but works otherwise)
Nevryon
No Excuses
Pesky Muskrats
Play It Again Sam 1: No Excuses
Quazer
Rick Dangerous
Rockfall
Silver Ball
Thundermonk
Twin World
Warlocks
Xacretan
YAIG
Zarch
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
Lemmings [Learning Curve version]
Oh, No! More Lemmings
Quark
Rekall
Saloon Cars Deluxe
Slappit
Stunt Racer 2000
Tower of Babel
Zodiac - Aries: BlowPipe
Zodiac - Aries: Square Route

Work up to RO3.5
Fervour
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 embedded 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 (obey.zip 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 Bubble Fair, 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.


NOTE
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.
  ^[ Log in to reply ]
 
Jon Abbott Message #122681, posted by sirbod at 18:42, 6/10/2013, in reply to message #119561
Member
Posts: 563
2.20 available

Mainly bug fixes and improvements in preparation for the release of game images

Changes since 2.19

- 32bit TrackerModule to QTM shim added (QTeM), thanks go to Jeffrey Lee for letting us extend and use this
- 32bit TrackerMod module added (for the trackers QTM doesn't support presently)
- 32bit MusicModule to QTM shim added
- Now releases memory correctly if memory is reserved
- Fire & Ice now works correctly
- Lots of game Boot Scripts have been updated to support running under the Wimp
  ^[ Log in to reply ]
 
Señor Nueces Message #122683, posted by gaula92 at 20:04, 7/10/2013, in reply to message #122681
Member
Posts: 43
I'm following your progress VERY closely, Jon!
I hope we get Raspberry Pi compatibility soon: it's the reference Risc OS platform after all tongue
Can't wait for day ADFFS starts fixing games for Raspberry Pi native execution! big grin
  ^[ Log in to reply ]
 
Richard Walker Message #122684, posted by richw at 20:21, 8/10/2013, in reply to message #122683
Member
Posts: 66
I would guess that Pi (32 bit) compatibility is a big ask! All the same hoops as you need to jump through for RPC/SA/OS4, plus a significantly different OS and CPU mode!

Have you tried ArcEm or A310Emu running on a more modern RISC OS system?
  ^[ Log in to reply ]
 
Señor Nueces Message #122694, posted by gaula92 at 19:05, 14/10/2013, in reply to message #122684
Member
Posts: 43
Yes, I suppose it's a great task, but last time I heard Jon was going for it, so... big grin
  ^[ Log in to reply ]
 
Jon Abbott Message #122696, posted by sirbod at 19:23, 15/10/2013, in reply to message #122694
Member
Posts: 563
We certainly won't be getting every game to work, but will try to get a good majority going. The rest will need full emulation.

The biggest issue is tracking down SWI behaviour differences between RISC OS versions. Many simply aren't documented, so it's trial and error, for example, it took me 4 days to track down the fact OS_Byte 106,2 behavior had changed between RO3.6 and RO3.7 causing the mouse pointer to not display on the top half of the screen in Caverns.

It's going to be a case of getting the 26 bit CPU support coded, then VIDC1/20 emulation/translation and seeing what's broken. At this point it's down to good old disassembly and manually tracking down what's at fault.

Zero Page, MEMC and IOC will also be an issue for some games so they'll need adding at some point as well.
  ^[ Log in to reply ]
 
Jan Rinze Message #122738, posted by janrinze at 12:20, 29/10/2013, in reply to message #122696
Member
Posts: 1
Hi Jon,

Great work!
What would it take to have only the ADFS access to ADF floppies on ARMv7 machines?
Running 26 bit code can be done by Aemulor so only the disk part would suffice.
Next to that there are a couple of old titles that need to be installed from adfs floppies. These systems lack floppy. (Beagle and Panda boards)
  ^[ Log in to reply ]
 
jon black Message #122775, posted by forestman at 19:42, 12/11/2013, in reply to message #122665
Member
Posts: 25
I have the obligatory stupid question.

I am running !ADDFS native on RISCOS 3.71 StrongARM RISCPC

Version 2.09 works nicely.

I have tried upgrading to 2.19 or 2.20 but both say "Unknown operand". Am I doing something terribly stupid???

Thanks!!!
  ^[ Log in to reply ]
 
Jon Abbott Message #122776, posted by sirbod at 20:33, 12/11/2013, in reply to message #122775
Member
Posts: 563
At what point do you get the error? Loading !ADFFS, mounting a floppy, or trying to launch a specific game.

I'm not in a position to test until the weekend, so as much information as possible so I can repro the issue please.
  ^[ Log in to reply ]
 
Pages (8): |< < 8

The Icon Bar: General: ADF floppy disc image reader