MartinB wrote:the Acorn CP/M ssd images that I can see are not suitable for transfer by any standard means.
Define "standard means".
This is because these so-called ssd are in fact double-sided images but arranged in an ssd fashion.
Yerrs, because they are sequential
images, not interleaved
images, and SSD images are sequential
One of these 400k images contains 160 track images but they are not interleaved to form a true dsd image as we know it, they are sequential tracks from 0 to 159 which is in fact how Acorn CP/M views a disc.
That's because Acorn CPM disks are not
interleaved, they are sequential. Side 0/track 0 is followed by side0
is followed by side still 0
/track 2 etc etc etc all the way to the end the disk.
A DSD image goes side 0/track 0, side 1
track 0, side 0
again, track 1, side 1
track 1, swapping between the logical structure every 2560 bytes
A SDS image follows the logical structure of the image, goes side 0/track 0, side still 0
/track 1, side STILL 0
/track 2 etc, all the way to side 0/track 79, AND THEN CONTINUES WITH THE LOGICAL FILESYSTEM STRUCTURE
to side 1/track 0, side 1/track 1 etc.
No 8-bit filing system goes side0/1/0/1/0/1/0/1. All 8-bit filing systems do all
of one side before starting on the next side.
As background for those interested, the Acorn CP/M format is unusual in that virtual sectors of 512 bytes are used and these are formed by reading two physical 256 byte sectors per access. Also, the disc is treated a single 160 track disc (similar to ADFS) but track 80 is on side 2 at the hub with successive tracks out to 159 progressing towards the outer edge of the disc.
You're mixing up the logical and physical structure of the filesystem and the disk it is written to and the blocking and deblocking of data within the filesystem. See http://mdfs.net/Docs/Comp/Disk/Format/AcornCPM
for details andCPMFiler
for code to access the filesystem.
Anyway, best thing is just to try it as you say
And also do the background research to find pre-existing documentation and code that does the job you're trying to do.