geraldholdsworth / discimagemanager Goto Github PK
View Code? Open in Web Editor NEWTo manage retro floppy disc images
Home Page: https://www.geraldholdsworth.co.uk
License: GNU General Public License v3.0
To manage retro floppy disc images
Home Page: https://www.geraldholdsworth.co.uk
License: GNU General Public License v3.0
Attempting to run on Ubuntu, file fails to run, giving "cannot execute: required file not found".
File version: 1.47
System details:
Kubuntu 24.04
Kernal: 6.8.0-35-generic (64-bit)
Graphics Platform: X11
The opening of ADFS 'L' files, with the extension of adl, are interleaved. This means that the first track of side 0 is the first 4096 bytes of the file, then the first track of side 1 follows (the next 4096 bytes), and so on.
Currently, the tracks are dealt with sequentially meaning that there will be data corruption when extracting files. All other ADFS formats (S and M - *.ads and *.adm - are single sided, and hence sequential, while D,E,E+,F, and F+ - *.adf - are double sided but sequential) are handled OK - although there is some speculation that these double sided images are also interleaved (I've never come across any though).
Thanks for creating such a comprehensive disc management tool, this is very handy!
Whilst running on my 4K monitor, the icons and text within the tool window appear very small, making it difficult to use. I have the display set to 225% scale which is sufficient for most applications to behave correctly.
The following print-screen doesn't quite capture the issue (the window is a fraction of this size) but you hopefully get the idea:
The application needs to be able to write back to images.
Asked by lurkio on Stardot forum:
Are you planning to output a .INF metadata file together with the actual base file when the user wants to export a file from a .SSD? That's the standard way that previous Beeb disc apps have settled on in order to export a file's directory name and load and exec addresses and lock-status (so that the file can later be imported onto another disc-image if the user wants to).
Some SS DFS images are IDed as DS images when 'Allow zero sectors' is selected in the preferences. - UNABLE TO REPLICATE
The application needs to be able to write back to images. The code for DFS has already been written in the class, but not implemented in the front end or tested.
HCCS !IDEMgr has a !Sprites22 file. This file's filename is not read correctly, but the !HForm.!Sprites22 filename is.
There are some instances where ADFS directories are reported as broken, when they are not, and an error code out of the range of 0x00 to 0x0F (this is the only range currently used).
This has only been noticed with broken directories, but it could possibly happen at other times.
It is reported that Arculator does not like hard drive images created by Disc Image Manager - lack of 512-byte emulator header?
This does look like an Arculator issue, in itself, as Arculator leaves the disc handling to RISC OS.
The application needs to be able to write back to images.
When you have an adfs image with a dos partition and you rename a file in the adfs area you get an access violation.
Currently Disc Image Manager loads the entire disc image into memory then works on it from there. This is fine for speed, and for floppy images and most RISC OS and AmigaDOS hard disc images. But for bigger images - RISC OS 4.39 could access a 40GB drive, while the latest, 5.28, can access much bigger drives, particularly on a Raspberry Pi. This leaves this application open for a crash should it be presented with a file much bigger than memory allows.
The other advantage to streaming the disc image is that the application can access what it needs, much like a floppy or hard drive head in a physical machine.
Currently unable to replicate this, due to the lack of owning Windows 11.
I have identified a bug, which has been present since Disc Image Reader (the predecessor to Disc Image Manager) was written, whereby a file stored on an ADFS New Map disc image (ADFS E, F, E+, F+ and some Hard Drives) where it is fragmented will get corrupted when exported off the image to the host operating system.
The bad news is that there is no way of knowing if a file is fragmented or not, until you export it off then examine it for corruption.
The good news is that I have fixed this bug as of version 1.05.10.
I am only putting this issue up to document it, as there may be some people still using older versions of this application.
Disc Image Manager currently only supports a second, 'foreign' partition. It requires the code to be changed in order to allow multiple (>2) partitions so that AmigaDOS RDSK format, HCCS IDEFS format, multi-DOS within ADFS, and MMFS formats can be handled correctly.
See post on Stardot:
https://stardot.org.uk/forums/viewtopic.php?p=316079#p316079
Maybe your work is based on previous people work, why not citing them?
Asked by 0xC0DE on Stardot:
Are you considering adding command line functionality to the Windows version? So I can integrate writing DFS and ADFS disk images (for instance) in my workflow?
The application needs to be able to write back to images.
Adding a file to a DFS double sided image will result in the data being placed in the wrong place.
This will be fixed in 1.05.6
I have identified a potential bug when reading ADFS New Map images. If a directory is split across fragments then the application will fail to read parts of it. This could range from simply broken directory error and missing files to the application crashing. This is more likely to affect Big Directories, which would get extended as more items are added to them, than New Directories, and where the image is getting towards being full.
On the plus side, ADFS is really efficient at keeping all its objects in a single fragment.
Access violation has been reported when creating an ADFS HDD image (default options) on Windows. - UNABLE TO REPLICATE
This has been found on Acorn DFS discs where the last name of the filename is a '/'.
Any attempt to access this file fails as Disc Image Manager cannot find it.
Asked by lurkio on Stardot:
Also, I wonder if it would be better to omit the backslash at the start of the filename of the exported file?
Allow images and files to be dragged into the application, and files to be dragged out, in addition to menus and buttons.
'Bad FS Map' from BeebEm when loading an ADFS/AFS hybrid image after making a change to the ADFS partition. - UNABLE TO REPLICATE
If the Indirect address of the file, in an ADFS New Map, is the same as the root address (usually 0x800), then the root directory will be downloaded instead of the file, and repeated for the length of the file.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.