68K/OS "ROM" based disk attempt

Anything QL Software or Programming Related.
User avatar
Chr$
QL Wafer Drive
Posts: 1317
Joined: Mon May 27, 2019 10:03 am
Location: Sachsen, Germany
Contact:

Re: 68K/OS "ROM" based disk attempt

Post by Chr$ »

M68008 wrote: Mon May 13, 2024 10:53 pm I'm thinking about what format to use for the resulting microdrive image. QLay's MDV image looks general on the surface, but it's not, it only works because emulators know the image format and that is specific to QDOS (512-byte sectors, etc.). Another issue is that it doesn't explicitly store the microdrive gaps and their locations, which are necessary to generate the ZX8302 gap interrupts.
So, as painful as that is (there are already two different MDV formats, the QLay one, and the mdump_task one that stores extra copies of damaged sectors to help recovery), I think that a lower-level image file format may be needed.

Existing formats like .scp that record all magnetic transitions should be able to store the information, but they are too low level to be practical for tools and emulators.
I have also looked at some of the tape and mdv formats for the Spectrum, but they don't seem suitable for one reason or another. Some of them also seem to be conceived for read-only playback, but it would be hard to support low-level format operations with them. Perhaps someone knows of simple but more generic tape formats devised for other machines?
Another option would be to have a QLay format variant specific to 68K/OS (1 KB sectors, etc.), then in case another way of formatting microdrives is ever discovered or devised, create yet another variant, and so on.

Currently, my plan is to create a new .mdvraw format that is generic enough to support any potential QL formats. It would consist of a QLay-image-style stream of bytes, but also include space for the gaps, and a separate 'gap map' section that indicates whether each byte or word is actual data vs. gap (i.e. no magnetic transitions).
It would still be a relatively simple format and allow writing or even reformatting in different formats without changing the size and structure of the image. Approximate image size to store 7.5 seconds of tape would be 105 KB.
Just out of interest - I assume this capture of mdv non QL format data you've been working on with Tony could also be used for the ICL OPD cartridges so that they can be captured/dumped and then viewed or manipulated to some degree in QemuLator or even on a real QL? That would be interesting.


https://QXL.WIN
Collector of QL related computers, accessories and QL games/software.
Ask me about felt pads - I can cut them to size and they have proved excellent for mdv data recovery.
User avatar
XorA
Site Admin
Posts: 1381
Joined: Thu Jun 02, 2011 11:31 am
Location: Shotts, North Lanarkshire, Scotland, UK

Re: 68K/OS "ROM" based disk attempt

Post by XorA »

M68008 wrote: Mon May 13, 2024 10:53 pm I'm thinking about what format to use for the resulting microdrive image. QLay's MDV image looks general on the surface, but it's not, it only works because emulators know the image format and that is specific to QDOS (512-byte sectors, etc.). Another issue is that it doesn't explicitly store the microdrive gaps and their locations, which are necessary to generate the ZX8302 gap interrupts.
So, as painful as that is (there are already two different MDV formats, the QLay one, and the mdump_task one that stores extra copies of damaged sectors to help recovery), I think that a lower-level image file format may be needed.

Existing formats like .scp that record all magnetic transitions should be able to store the information, but they are too low level to be practical for tools and emulators.
I have also looked at some of the tape and mdv formats for the Spectrum, but they don't seem suitable for one reason or another. Some of them also seem to be conceived for read-only playback, but it would be hard to support low-level format operations with them. Perhaps someone knows of simple but more generic tape formats devised for other machines?
Another option would be to have a QLay format variant specific to 68K/OS (1 KB sectors, etc.), then in case another way of formatting microdrives is ever discovered or devised, create yet another variant, and so on.

Currently, my plan is to create a new .mdvraw format that is generic enough to support any potential QL formats. It would consist of a QLay-image-style stream of bytes, but also include space for the gaps, and a separate 'gap map' section that indicates whether each byte or word is actual data vs. gap (i.e. no magnetic transitions).
It would still be a relatively simple format and allow writing or even reformatting in different formats without changing the size and structure of the image. Approximate image size to store 7.5 seconds of tape would be 105 KB.
I agree on your analysis of the qlay MDV format from my efforts to try and implement it in sqlay3.

Id happilly implement your new format as a 2nd implementation in sqlay3!


User avatar
M68008
Trump Card
Posts: 234
Joined: Sat Jan 29, 2011 1:55 am
Contact:

Re: 68K/OS "ROM" based disk attempt

Post by M68008 »

Chr$ wrote: Mon May 13, 2024 11:08 pm Just out of interest - I assume this capture of mdv non QL format data you've been working on with Tony could also be used for the ICL OPD cartridges so that they can be captured/dumped and then viewed or manipulated to some degree in QemuLator or even on a real QL? That would be interesting.
I didn't know the ICL OPD used a different format. I actually have a few cartridges, I could re-felt them and check whether they are still readable.

Yes, the same process can be used for any microdrive cartridge intended for the QL's ZX8302 ULA.
It would also be interesting to see if (with additional coding) it could recover any standard QL MDV carts that appear damaged.

Interesting idea about the "real QL", I guess one could modify drives like the OqtaDrive to support the image format and 68K/OS should then be able to access it.


User avatar
M68008
Trump Card
Posts: 234
Joined: Sat Jan 29, 2011 1:55 am
Contact:

Re: 68K/OS "ROM" based disk attempt

Post by M68008 »

XorA wrote: Mon May 13, 2024 11:28 pm Id happilly implement your new format as a 2nd implementation in sqlay3!
That would be great!


User avatar
M68008
Trump Card
Posts: 234
Joined: Sat Jan 29, 2011 1:55 am
Contact:

Re: 68K/OS "ROM" based disk attempt

Post by M68008 »

Block sizes (including checksums, block IDs, etc.) appear to be:

Code: Select all

OS     | Header | Sector
============================
QDOS   |     16 |  526
OPD    |     14 |  532
68K/OS |     16 |  1028


Post Reply