First, thanks for reviving this awesome project, it's a joy to be able to use WHDload slaves on my CDTV from CD :-)
I was thinking, what about those games that want to save relatively small savegames or highscores? Afaics whdload's resload_SaveFile redirects to WriteFileHD. Could we add the required routing to try to save it as a CDTV bookmark instead?
Since bookmarks aren't really addressable like a filesystem, but there are 32bits, so mapping the slave into the 16 "manufacturer id" bits and doing a CRC for the filepath into the 16 "product id" bits might give few enough collisions for most game's purposes to be feasible. Then it only depends on how big the savegame is. IIRC the CDTV has only 4K of bookmark memory built-in, of which it will refuse to hand out more than 256 bytes to any one bookmark. But with a memory card, more would be available, and the code is analogous (just trying to open "cardmark.device" instead of "bookmark.device")
Is that something you think would be feasible and worth trying?
First, thanks for reviving this awesome project, it's a joy to be able to use WHDload slaves on my CDTV from CD :-)
I was thinking, what about those games that want to save relatively small savegames or highscores? Afaics whdload's
resload_SaveFileredirects toWriteFileHD. Could we add the required routing to try to save it as a CDTV bookmark instead?Since bookmarks aren't really addressable like a filesystem, but there are 32bits, so mapping the slave into the 16 "manufacturer id" bits and doing a CRC for the filepath into the 16 "product id" bits might give few enough collisions for most game's purposes to be feasible. Then it only depends on how big the savegame is. IIRC the CDTV has only 4K of bookmark memory built-in, of which it will refuse to hand out more than 256 bytes to any one bookmark. But with a memory card, more would be available, and the code is analogous (just trying to open
"cardmark.device"instead of"bookmark.device")Is that something you think would be feasible and worth trying?