greaseweazle icon indicating copy to clipboard operation
greaseweazle copied to clipboard

Meta issue: PC-88 support

Open tdaede opened this issue 1 year ago • 0 comments

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.

  1. 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.
  2. Reading image formats that directly specify sector layouts and writing them to disk. I think gw already can do this. (completed in #246 )
  3. FM sector encoding support (issue #136 )
  4. Support for FDI/D88/NFD images (issue #237 ).
  5. Support for writing truncated sectors.
  6. Mixed sector size support (completed in #246 ).
  7. Computing the optimal gap when reading D88 images (which don't contain this info).
  8. Optional: Solved fluxmap support for images that can't be represented in any of the above image formats.

tdaede avatar Oct 28 '22 08:10 tdaede