Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ZX-Spectrum UDI format possible? #435

Open
Ldaborc opened this issue Feb 26, 2021 · 7 comments
Open

ZX-Spectrum UDI format possible? #435

Ldaborc opened this issue Feb 26, 2021 · 7 comments

Comments

@Ldaborc
Copy link

Ldaborc commented Feb 26, 2021

Dear Keirf, could you please add support for the FDI & UDI disk formats for the ZX-Spectrum. That would be great.

@Ldaborc
Copy link
Author

Ldaborc commented Feb 27, 2021

@keirf
Copy link
Owner

keirf commented Feb 27, 2021

Possible but lack of Flash space makes it unlikely. Can these convert to HFE (using HxC tools)?

@Volutar
Copy link

Volutar commented Feb 28, 2021

UDI is low-level, HFE-like format, but without track index data. And it has CRC data which makes writing troublesome. Actually it can be used for any other, non-zxspectrum disks (it stores low level track, de-MFMed with bitmap of sync bytes).

HxC can’t convert UDI, though can FDI. But FDI is not that really usable for most of protected disks as UDI. I’ve written HFE-UDI converter myself, but due to UDI data nature (particularly using synced stream) it tends to grow garbage bytes at the start of 4E gap areas. So native UDI would help not to grow with constant UDI-HFE-UDI-HFE-... reconvertion.

How much flash space is already used?

@keirf
Copy link
Owner

keirf commented Feb 28, 2021 via email

@Ldaborc
Copy link
Author

Ldaborc commented Feb 28, 2021

In fact, I thought for a long time what to answer to the author of the firmware. And here is actually... I came to the conclusion that there is no need to support FDI, since they can be easily converted to UDI for example. But UDI support would be just super useful for using images with copy protection(s) inside. Following from all of the above, the question remains for the author, whether he can fit the UDI support (read/write) in the remaining free memory. And I still have an idea for the author of the project: you can make a certain firmware compiler for specific needs, that is, the user selects the firmware parameters, and it in turn compiles only with what is selected.
P.S. There is nothing to convert UDI to HFE. And what there is does not give positive results.

@Volutar
Copy link

Volutar commented Feb 28, 2021

HFE is used in hardware floppy emulators like FlashFloppy for real computers.
UDI is used in emulators.
HFE isn’t supported by emulators and UDI isn’t supported by FF - that’s the problem.

Offline conversion is possible and I made python converter, but converting back and forth when moving data from emul to real and back causes gap area growth.

PS: while clock bits in UDI are removed, it still preserves MFM bits in special area, so images are as twice shorter as for HFE. Like, there is no point to store all sync bits for FM/MFM disks, only C2/A1 MFM bytes are preserved.

@Ldaborc
Copy link
Author

Ldaborc commented Mar 1, 2021

After reading all the comments, maybe it still makes sense to add UDI support ?

@keirf keirf changed the title ZX-Spectrum format add possible ? ZX-Spectrum UDI format possible? Jun 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants