mame icon indicating copy to clipboard operation
mame copied to clipboard

pc9801: new software list for original disks

Open rzero9 opened this issue 1 year ago • 3 comments

This is the first step in adding the PC-98 floppy dumps that krugman has been doing for a few months. At this point there are already more than 600 of them, so this is more or less a "proof of concept" PR with just a few ones, as I don't want to commit too much of my time to this until I'm sure I'm doing it properly.

The new softlist entries include the proper interface attributes (floppy_5_25 or floppy_3_5) matching the real disks they were dumped from. This will affect compatibility with the different emulated PC-98 models, unless the user manually swaps the drive type, but it's more accurate to how they would work on real hardware (and it's how the IBM-compatible drivers do it, for example).

The sector structure of the disks can actually vary quite a bit, even without taking protections into account. The most common ones are 77/8/2/1024 DOS-formatted HD disks, but there are also some DD disks (usually from very old pre-VM software), BASIC-formatted disks with 256-byte sectors, and even some custom ones. The HxC MFM image format can cover all of that and also a good number of protected disks, so I'm using it.

Some things that might need clarification:

  • pc98.xml has been renamed to pc98_flop_misc.xml to avoid confusion.
  • Software that shipped with protection has been added to pc98_flop_orig.xml, but the existing cracked versions are still in pc98_flop_misc.xml, marked as such.
  • Software that shipped without protection has been handled in a case-by-case basis, by comparing the existing images with the newly-dumped ones and choosing the ones that have the least amount of "defects" (added/modified/deleted files, alterations caused by Windows 9x like the infamous "IHC" OEM ID, and such)
  • In some cases, the new dumps are a different software revision compared to the existing images. In that case, both of them have been kept.
  • Existing comments about compatibility issues have been turned into a "notes" tag so they go through validation and the MAME UI can potentially use them at some point.
  • Brandish Renewal is a re-conversion of my own dump. I must have done something wrong while converting it to MFM last time and it didn't actually pass the protection check. This time I have made sure that it works properly.

rzero9 avatar Jun 01 '24 15:06 rzero9

For these cases, would it be possible to have MAME keep the parent/clone relationships between different softlists?

Something like <software name="anniversc" cloneof="pc98_flop_orig/annivers">, perhaps?

ICEknigh7 avatar Jun 01 '24 19:06 ICEknigh7

For these cases, would it be possible to have MAME keep the parent/clone relationships between different softlists?

Something like <software name="anniversc" cloneof="pc98_flop_orig/annivers">, perhaps?

I don't think that's possible right now. As far as I know MAME only tracks parent/clone relationships within the same list.

rzero9 avatar Jun 05 '24 07:06 rzero9

I think it’s better to limit the “_orig” lists to dumps believed to come from unmodified disks. For example I wouldn’t add the dump with an apparently corrupted boot sector to the “_orig” list.

cuavas avatar Jun 09 '24 20:06 cuavas

Sorry for not responding in a long time. Real life issues got in the way, and after that, a hard drive crash pretty much wiped out all the progress I had made with converting files and such. It's all recoverable with enough time, but for now I'm going to close this PR, and I'll get it started again when I'm ready, since I will have to take into account Kale's changes to pc98.xml anyway.

rzero9 avatar Dec 22 '24 16:12 rzero9