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
- September 2022 News Summary (News:1)
- PhotoDesk new release reviewed (News:2)
- Rougol September meeting (News:)
- Geminus (Gen:28)
- London Show 2022 is cancelled (News:1)
- PhotoDesk 3.17 released (News:)
- The Jolly Roger BBS (Gen:1)
- WROCC Newsletter Volume 40:4 (News:)
- Unboxing the Raspberry Pi 400 (News:4)
- First Impressions of The RISC OS Developments Network stack (News:2)
Latest postings RSS Feeds
RSS 2.0 | 1.0 | 0.9
Atom 0.3
Misc RDF | CDF
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.
 
Jon Abbott Message #120750, posted by sirbod at 16:17, 2/7/2012, in reply to message #120747
Member
Posts: 563
Is there an archive of earlier versions?
Yes: http://adffs.filecore.net/files/old/

And the betas: http://adffs.filecore.net/files/beta/


Oops, forgot to include the converters, just re-uploaded it.

[Edited by sirbod at 16:25, 2/7/2012]
  ^[ Log in to reply ]
 
Jon Abbott Message #120774, posted by sirbod at 12:39, 5/7/2012, in reply to message #119561
Member
Posts: 563
2.01 available

Quite a few additions for protecting essential modules from being RMKill'd, protecting the CMOS from being overwritten (why do games do this?!!) and to show or hide the hourglass during disc changes.

The hourglass is on by default, so will need hiding for Sensible Soccer to work.

"Boot floppy" has had a complete re-write and now works on all the games I've tested that will only load via a Shift-Reset. eg Arcade 3 now works, although make sure you use *ADFProtectCMOS before running, as it completely trashes the CMOS.

Changes since 2.00
- ADFProtectModules / ADFUnprotectModules added
- ADFProtectCMOS / ADFUnprotectCMOS added
- ADFShowHourglass / ADFHideHourglass added
- "Boot floppy" rewritten so that it doesn't need to change the Boot / NoBoot configuration option

Known issues
- Games that check if the disc is write protected currently don't work
- 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 isn't supported (extended GAP3, no data, single sector tracks)
- ADFRecord creates corrupt recordings, will be fixed in 2.02
- Doesn't work if the ADFS module is unavailable (eg on the RPi distro)
- ConvRec doesn't capture images correctly on a 1772 controller (ie A3xx, A4xx, A5xx), will be fixed in 2.02

[Edited by sirbod at 14:25, 4/9/2012]
  ^[ Log in to reply ]
 
Jon Abbott Message #120787, posted by sirbod at 13:38, 10/7/2012, in reply to message #120774
Member
Posts: 563
I'm just starting to look at ADFFS version 3, which will entail quite a few changes to the JFD file structure. As I'm doing that, does anyone have any feature requests?

The only request I have is to grey out filer menu option when an image isn't mounted, which I'm probably going to skip as it's a lot of work, for no gain.

Additions I will be including are:

- Disk write protection
- Automatic flushing of delta changes to JFD images that require it (ie save games / settings will be persistent)
- Automatic protection of CMOS / Modules and automatic hiding of the hourglass if the disc image requires it to work correctly.
- CPU / OS compatibility will be stored in the JFD file
- Slow sectors, to force certain sectors to be read at 500kbit/set (to fix Technodream)
- RMFaster to fail silently if module already in RAM
- Implement MemAlloc commands internally
- Implement OS_Module 9 (RMClear) internally
  ^[ Log in to reply ]
 
Philip Webster Message #120788, posted by pwx at 14:12, 10/7/2012, in reply to message #120787
Member
Posts: 227
I'm just starting to look at ADFFS version 3, which will entail quite a few changes to the JFD file structure.
If the file format is changing, will that break backwards-compatibility? Will there be a conversion utility of some sort for old disk images?
  ^[ Log in to reply ]
 
Andrew Rawnsley Message #120789, posted by arawnsley at 15:17, 10/7/2012, in reply to message #120787
R-Comp chap
Posts: 572
One non-game which I think might be worth investigating for ADFFS compatibility is Sibelius 7. This used a "install a credit from your key disc" protection scheme, which becoming harder and harder to support as most machines are now floppy-less.

I don't have a personal copy to test against, but with Aemulor allowing S7 to run on Beagle etc, using ADFFS to load an image of a user's S7 disc would seem an ideal way to solve the problem of how to deal with the protection.

I believe David Colenel at Data Store in Bromley is responsible for Acorn Sib these days...
  ^[ Log in to reply ]
 
Jon Abbott Message #120790, posted by sirbod at 16:32, 10/7/2012, in reply to message #120789
Member
Posts: 563
One non-game which I think might be worth investigating for ADFFS compatibility is Sibelius 7. This used a "install a credit from your key disc" protection scheme.
Depending on what it's doing, it may already work if imaged as either an ADF or JFD.

If the file format is changing, will that break backwards-compatibility? Will there be a conversion utility of some sort for old disk images?
You won't need to modify any existing floppy images, the JFD file structure was designed to be backward compatible.

[Edited by sirbod at 16:37, 10/7/2012]
  ^[ Log in to reply ]
 
Trevor Johnson Message #120796, posted by trevj at 09:22, 11/7/2012, in reply to message #120790
Member
Posts: 660
Sibelius 7.
Depending on what it's doing, it may already work if imaged as either an ADF or JFD.
Is the flickering edit screen (solved by SibAid) still relevant?
  ^[ Log in to reply ]
 
Michael Drake Message #120827, posted by tlsa at 13:38, 20/7/2012, in reply to message #120796

Posts: 1096
There's a bit of discussion of ADFFS on the RISC OS Open forum, in the "Any updates about RiscOS on the Raspberry Pi?" thread.

Specifically these posts:

https://www.riscosopen.org/forum/forums/9/topics/997?page=19#posts-13772
https://www.riscosopen.org/forum/forums/9/topics/997?page=19#posts-13802
https://www.riscosopen.org/forum/forums/9/topics/997?page=19#posts-13813
https://www.riscosopen.org/forum/forums/9/topics/997?page=19#posts-13817
  ^[ Log in to reply ]
 
Jon Abbott Message #120829, posted by sirbod at 19:15, 20/7/2012, in reply to message #120827
Member
Posts: 563
I've replied, ADFFS requires a stub ADFS module to work on the Pi, as it appears the current RISC OS build doesn't contain the ADFS module.
  ^[ Log in to reply ]
 
Chris Gransden Message #120832, posted by grannyg at 20:18, 20/7/2012, in reply to message #120829
Member
Posts: 51
I've replied, ADFFS requires a stub ADFS module to work on the Pi, as it appears the current RISC OS build doesn't contain the ADFS module.
I think it would be useful to have ADFFS working on newer hardware once Aemulator is released.
  ^[ Log in to reply ]
 
Paul Vernon Message #120875, posted by PaulV at 01:11, 8/8/2012, in reply to message #120832
Member
Posts: 135
Something just occurred to me and I can't find any evidence that the software to do it exists right now so I'm asking here as it seems most appropriate.

I've been thinking about .ssd and .dsd DFS disk images and accessing them on the Arc. Is there anything like adffs which would allow you to mount a DFS disk image.

I know you can use DFSReader to mount real DFS discs in the Arc's floppy drive but what about mounting DFS images? Is it possible? Would it make sense to do it?

I certainly know I would use such a tool as I could mount images, copy the files to the Econet server and then access those files from the Beebs on my Econet. It would make life very easy for me that's for sure.

Would it make sense to fork adffs into two versions, adffs and "dfsfs", "dfs" or vdfs (Virtual DFS) for want of a better name?

Paul
  ^[ Log in to reply ]
 
Jon Abbott Message #120878, posted by sirbod at 14:35, 8/8/2012, in reply to message #120875
Member
Posts: 563
Depending on the file formats, it may be possible to add support for them without a fork.

I can't find any info on the file format though.
  ^[ Log in to reply ]
 
Philip Webster Message #120880, posted by pwx at 15:24, 8/8/2012, in reply to message #120875
Member
Posts: 227

I certainly know I would use such a tool
+1 to this. I have a BBC, as do my parents, and while GoMMC is fab, a disk emulation solution is arguably better.
  ^[ Log in to reply ]
 
Paul Vernon Message #120881, posted by PaulV at 17:30, 8/8/2012, in reply to message #120878
Member
Posts: 135
As far as I'm aware, SSD are a straight data dump of the floppy whereas DSD are interleaved images.

This document covers Acorn DFS, Watford DFS and HDFS.

http://mdfs.net/Docs/Comp/Disk/Format/DFS

Having looked at a DSD containing the source code for Kermit, on a very cursory look the empirical evidence concurs with my understanding in that the Track 0 side 0 takes up 0 to &9FF and then Track 0 side 1 begins at &A00 ending at &13FF etc.

Paul
  ^[ Log in to reply ]
 
Jon Abbott Message #120884, posted by sirbod at 17:58, 8/8/2012, in reply to message #120881
Member
Posts: 563
Interleaved...nasty!

I don't believe there's a standard for detecting DFS discs, so we'll need a new file type...or are there already file types for SSD / DSD?

I can probably add support to mount SSD's, DSD might be a bit problematic as it will depend on how the DFS reader addresses the disc.

Does DFSReader read physical floppies then? ie will it work if an image is presented as :0?
  ^[ Log in to reply ]
 
Paul Vernon Message #120886, posted by PaulV at 19:58, 8/8/2012, in reply to message #120884
Member
Posts: 135
Nasty indeed. I seem to recall seeing somewhere that some DSD images weren't interleaved but those were an anomaly that shouldn't normally be. If memory serves me correctly, that issue was around imaging Acorn CPM discs which were double sided but are sequential rather than interleaved in their format but when imaged are tagged with the extension .dsd and thereby cause problems for systems that expect a DSD disc to be interleaved. Given that the file format is a straight data dump and there's no meta data, it doesn't make for a particularly good archival format... I guess that the only way to auto check whether a file is SSD or DSD would be to inspect the area of the image starting at &A00 and if it looks like a disc catalogue for the second side then it's a DSD file.

DFSReader creates two extra drive icons on the icon bar for DFS drive :0 and :2 respectively as each side of a DFS disc is treated as a drive. It then provides direct physical access to DFS formatted floppy discs inserted into the Archimedes through a DFS Filer called ArcDFS. With that in mind, I think the answer to your question will most likely be a NO regarding DFSReader working with images presented as :0.

I know I was the one that mentioned DFSReader as part of my original question but I think that it might be a red herring in terms of being able to mount DFS disc images and my main reason for suggesting a fork of adffs for DFS discs was driven from the fact that I understood DFS and ADFS to be sufficiently different that supporting both formats in one application would be messy.

Paul
  ^[ Log in to reply ]
 
Paul Vernon Message #120888, posted by PaulV at 22:52, 8/8/2012, in reply to message #120886
Member
Posts: 135
I've been looking at DFSReader a little more since my last post. It actually has the potential to be extended to do what I've been asking about but unfortunately its current implementation stops short of actually doing it.

The ArcDFS module has a command "RamDisc" along with supporting commands and issuing the command RamDisc <drive> which creates a blank 200KB disc image in memory to which you can add files. Unfortunately, there's no way to export that 200KB image to a SSD file or in fact create the 200KB image from an existing SSD file. The only thing you can do to keep a permanent image of the virtual image is to use the DFS *BACKUP command to write the image to a real floppy.

If only the RamDisc command had the syntax RamDisc <drive> [<drive>] [disc image filename]. With that you could import an SSD or DSD into one or two 200KB virtual images.

As it stands you can only have one virtual image at once. Issuing RamDisc 0 followed by RamDisc 2 makes :2 active and dismounts the virtual image assigned to :0

Close but no cigar.

Paul
  ^[ Log in to reply ]
 
Jon Abbott Message #120889, posted by sirbod at 23:02, 8/8/2012, in reply to message #120886
Member
Posts: 563
Will ArcDFS do it? Try formatting ADFFS and then try formatting a drive in DFS to see if it goes through ADFS or direct to the physical drive.

http://homepages.paradise.net.nz/mjfoot/bbc.htm

ADFFS actually knows very little about mounted images, it emulates low level ADFS disc access and the 1772 FDC. it relies on a file system being present to access the data, so even if I add specific support for SSD / DSD you'll still need a file system to read the images.

[Edited by sirbod at 23:04, 8/8/2012]
  ^[ Log in to reply ]
 
Paul Vernon Message #120890, posted by PaulV at 01:19, 9/8/2012, in reply to message #120889
Member
Posts: 135
Well, it appears that ArcDFS works with ADFFS as per your instructions just fine big grin

Even better though is the fact that I've realised that DFSReader can mount SSD images already...

After more experimentation with DFSReader I found the the rather unintuitively named command "Partition" which is used as follows:

*Partition 0 myimg/ssd

This mounts myimg/ssd into DFSReader drive :0 and makes it accessible via the filer. You can edit the image and then use *PartitionOff to dismount it again.

The problem I've found with this is that *PartitionOff dismounts it but leaves the ssd file handle open so you have to issue a *close to close the file handle correctly.

So thanks for entertaining my ramblings. I guess that now I know how to do this without ADFFS the idea goes from a "would be brilliant in ADFFS" to a "nice to have in ADFFS if you have the time" request big grin

Paul
  ^[ Log in to reply ]
 
Paul Vernon Message #120892, posted by PaulV at 14:27, 9/8/2012, in reply to message #120890
Member
Posts: 135
Just as an update to this, I was apparently not using the latest version for ArcDFS/DFSReader which was 1.00. Upgrading to 1.03 fixed the bug that kept the file handle open. Happy days! big grin

Paul
  ^[ Log in to reply ]
 
Jon Abbott Message #121027, posted by sirbod at 12:54, 9/9/2012, in reply to message #119561
Member
Posts: 563
2.02 available

Essential bug fixes

Changes since 2.01
- Now checks the version of ADFFS JFD files require
- ADFRecord no longer corrupts recordings
- ConvRec now has a toggle for 1772 controller support

Known issues
- Games that check if the disc is write protected currently don't work
- 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 isn't supported (extended GAP3, no data, single sector tracks)
- Doesn't work if the ADFS module is unavailable (eg on the RPi distro)
  ^[ Log in to reply ]
 
Seņor Nueces Message #121056, posted by gaula92 at 17:43, 11/9/2012, in reply to message #121027
Member
Posts: 43
Thanks for your work on this, Jon!
It's called to become a vital tool to keep old games running on new hardware like Rpi, Beagleboard or Pandaboard!

However, I have to use 1.02 version as 2.0x will complain about the missing ADFS module, wich, from what I understood, must be in the Risc OS ROM.
So, how can I make these newer versions work? I'd like to try some APD disks but it seems they are only mount-able in the 2.0x versions with the module.

Would the solution be in getting the Risc OS people to include the module in the ROM? Couldn't it be loaded later?
  ^[ Log in to reply ]
 
Jon Abbott Message #121058, posted by sirbod at 20:45, 11/9/2012, in reply to message #121056
Member
Posts: 563
Would the solution be in getting the Risc OS people to include the module in the ROM? Couldn't it be loaded later?
It's on the list to fix, someone needs to write a stub ADFS module with all the correct entry points and SWI's that simply return. The only thing it needs to actually do, is create the ADFS filesystem via Filecore.

There is no other way around it, as all protected games expect ADFS to be there.
  ^[ Log in to reply ]
 
Seņor Nueces Message #121060, posted by gaula92 at 21:07, 11/9/2012, in reply to message #121058
Member
Posts: 43
It will take some time, and I'd like to test some APD-only games with Aemulor for my WIP Pandaboard & Rpi games compatibility list.
Do you know if there's a dump of "Dungeon, The" in ADF format around?
  ^[ Log in to reply ]
 
Jon Abbott Message #121111, posted by sirbod at 23:13, 20/9/2012, in reply to message #119561
Member
Posts: 563
2.03 available

May now work on a Pi

Changes since 2.02
- ADFRemapVideoMemory added to remap video memory on Acorn machines to match RISC OS 3.1. Only works on RISC OS 3.5 > 3.71 and should be considered beta
- ADFForceVSync added to allow games to be slowed down
- Stub ADFS added for Pi users

Known issues
- Games that check if the disc is write protected currently don't work
- 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 isn't supported (extended GAP3, no data, single sector tracks)
- SA support has been broken since v1.38

[Edited by sirbod at 23:37, 20/9/2012]
  ^[ Log in to reply ]
 
Seņor Nueces Message #121112, posted by gaula92 at 13:10, 21/9/2012, in reply to message #121111
Member
Posts: 43
2.03 available

May now work on a Pi
Is your intention to make this program a full 26-bit emulator so we can run Archimedes games in ADF/ADP format on the Pi?
Or should this program + Aemulor make it possible?
As far as I know, the new Aemulor doesn't still run on the Pi.
  ^[ Log in to reply ]
 
Michael Drake Message #121113, posted by tlsa at 13:32, 21/9/2012, in reply to message #121112

Posts: 1096
You can run ADFFS under ArcEm on the Raspberry Pi. ArcEm is an Acorn Archimedes emulator, so it won't help for RiscPC games though.

[Edited by tlsa at 13:33, 21/9/2012]
  ^[ Log in to reply ]
 
Martin Bazley Message #121114, posted by swirlythingy at 18:57, 21/9/2012, in reply to message #121113

Posts: 460
ArcEm is an Acorn Archimedes emulator, so it won't help for RiscPC games though.
But then again, if a game is well-behaved enough to work on a RiscPC it has a much higher chance of working on the newest hardware, especially when combined with Aemulor.

I mean, most of the really dodgy stuff games do was last possible on the Archimedes series, and there was a tremendous compatibility crisis when the RiscPC came out. So I might even say that if a game runs on a RiscPC then it's already most of the way there.
  ^[ Log in to reply ]
 
Jon Abbott Message #121115, posted by sirbod at 19:30, 21/9/2012, in reply to message #121112
Member
Posts: 563
Is your intention to make this program a full 26-bit emulator so we can run Archimedes games in ADF/ADP format on the Pi?
Or should this program + Aemulor make it possible?
As far as I know, the new Aemulor doesn't still run on the Pi.
ADFFS is for Acorn machines only, up to RO3.71. I'm not even sure ADFFS currently works past 3.71, I tried it on 4.03/Kinetic last night and it failed to even load.

Getting games to work past true Acorn kit is going to be tricky at best, due to hardware and OS changes, we'll see though.
  ^[ Log in to reply ]
 
Andrew Rawnsley Message #121116, posted by arawnsley at 19:42, 21/9/2012, in reply to message #121115
R-Comp chap
Posts: 572
Remember that ADFFS may well have an important role to preserve copy-protected non-game discs on modern hardware via Aemulor. For example, I think it might well allow Sib7 to be installed on modern hardware (it works fine under aemulor). It may also allow Impression discs to be installed, and possibly other apps.
  ^[ Log in to reply ]
 
Pages (8): |< < 7 > >|

The Icon Bar: General: ADF floppy disc image reader