Add option to load roms by filename vs CRC
pjft opened this issue · 8 comments
In slow file systems, such as a network file share, the CRC operations are too slow, and cause a delay of over 1 min vs loading things the old way.
Not a critical thing, and honestly even just a setting in config.xml would do the trick.
Just out of interest, why would you load the ROMs over a network file share, when they are only 1mb in size? I will add an option to override this in the config.xml regardless!
I should also look into caching the CRC32 of the files in the directory and creating a lookup, rather than brute forcing this as I currently do.
You're absolutely right, there's no critical reason for them not to be in a local folder.
To be honest, I run this in RetroPie, and it happens that there's a symlink for the roms folder to be in the broader roms folder at /home/pi/RetroPie/roms/ports/cannonball - which, in my case, is in a NFS, together with all the other roms. I could certainly move the roms to the local folder if the load performance would annoy me too much, you're absolutely right. It's more of a convenience/file system structure thing more than anything else.
https://retropie.org.uk/docs/Cannonball/
I'm just thinking about those who may have it in a similar architecture but won't know how to go about it. Nothing more, really - thank you for asking.
Added CRC32 toggle to config.xml
Built hashmap of files when using CRC32 loading so it should be much faster now, even if loading off a cassette tape.
on that topic, shouldn't Cannonball also accept the patched version of OutRun Enhanced?
No. That would confuse matters and make the codebase unnecessarily complex as it's a hacked rom.
Cannonball is intended for modern hardware. Enhanced edition for original boardsets.
Understood. Thank you.
Then I guess I should go and modify my setup :'D
I know for a fact that I'm using the enhanced edition with cannonball in some instances. Oopsie.