libretro / libretro-database

Repository containing cheatcode files, content data files, etc.
Creative Commons Attribution Share Alike 4.0 International
873 stars 784 forks source link

[REQ] PC-98 rdb database for use with np2 and np2kai #568

Open gingerbeardman opened 6 years ago

gingerbeardman commented 6 years ago

The best source of discs/dumps is: https://archive.org/details/@neo_kobe_team

Happy to have a go myself with some guidance? Anybody?

i30817 commented 6 years ago

Ok, this will work, but there is something 'interesting' about this. You can't do anything about it (there is a workaround which i use, which is use a copyonwrite filesystem).

HDI files or any other sort of hard drive disc image files don't have a stable crc for obvious reasons. So the 'first' time you do a scan, it might work if the user didn't boot the game before, but if you ever delete the playlist and expect to regenerate it after playing even once, it will probably not work.

Floppies 'supposedly' only have this problem for the dedicated savegame floppy. This isn't a very safe assumption though so i use a cow filesystem for Amiga, X68000, dosbox and pc-98.

Or i 'would' use it for Amiga, if i didn't use WHDLoad exclusively which doesn't need this since it keeps game files and saves files outside on a mirror (it's basically the same thing as a copy-on-write filesystem but designed 'just for' WHDLoad archives in the emulator - fs-uae in this case).

My main suggestion is not even start the files you download in the emulator, at least without using a copy on write filesystem - i have a script using one in my dosbox ppa if you use ubuntu here: https://code.launchpad.net/~i30817/+recipe/dosbox-daily

This will allow you to regenerate the DAT file you create for distribution without having to worry about the emulator bit twiddling the crcs away from the 'standard'.

Well as long as you're disciplined to start the drive when you want to run the games. If you have the space its even safer to duplicate the dir and mark the duplicate dir 'readonly' in depth to prevent 'accidents' that then filter down to the DAT you distribute.

i30817 commented 6 years ago

I also like this idea because this is the first step in having autoconfigurations for these 'pc-like' games. First, you need a crc database Then you need to turn something which is 'not ROM' into 'pretend it's a ROM with a copy-on-write scheme' (like WHDLoad on fs-uae) Then 'fetch ideal configuration from database and autoconfig emulator for this hash'.

The amiga has the open-retro database, which fs-uae uses to autoconfig amiga floppies and WHDLoad, and it's great to prevent annoyances.

And pc-98, x68000, DOS, etc configuration has a lot of annoyances. Though dos is better 'handled' by the users most times because dosbox performance 'floats' with the host cpu too much (and there are loooots of fanpatches, ideal config is 'debatable' because of music devices, and several hacks to organize game files and minimize wasted space that wouldn't fly on a dump set).

i30817 commented 6 years ago

Another alternative would to be to distribute a 'config' file for the emulators/game that RA can use to configure them and has a 'stable' crc.

But users would still need to match a 'config' to a 'hdi' manually and that's a lot of work anyway.