djyt/cannonball

Add option to load roms by filename vs CRC

pjft opened this issue · 8 comments

pjft commented

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.

djyt commented

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!

djyt commented

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.

pjft commented

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.

djyt commented

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?

djyt commented

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.