greaseweazle
greaseweazle copied to clipboard
Meta issue: PC-88 support
The NEC PC-8801 was a very popular Japanese computer. It uses a upd765a floppy controller, just like an IBM PC. This means that it is already supported at the most basic level by gw. However, the system has a second z80 dedicated to floppy access, and this results in quite creative usage of the upd765a. The support needed to handle the majority of PC-8801 floppies will also improve IBM PC, PC-98, Sharp X68000, and MSX floppy support, though.
I've been working on adding a bunch of support to the fluxengine codebase (my current working branch is here: https://github.com/tdaede/fluxengine/tree/pc88 ). I would like to add similar functionality to the Greaseweazle codebase.
Here are the items that need to be done. I'd like some thoughts before I start writing code.
- Reading unknown sector layouts and writing them to flexible image formats (D88/NFD/etc), e.g. IBM format, tracks, density would be chosen, but the layout created would depend on the sector headers read from the disk. This is missing in upstream fluxengine.
- Reading image formats that directly specify sector layouts and writing them to disk. I think gw already can do this. (completed in #246 )
- FM sector encoding support (issue #136 )
- Support for FDI/D88/NFD images (issue #237 ).
- Support for writing truncated sectors.
- Mixed sector size support (completed in #246 ).
- Computing the optimal gap when reading D88 images (which don't contain this info).
- Optional: Solved fluxmap support for images that can't be represented in any of the above image formats.