Open Sanqui opened 3 years ago
Ideally, the firmware system should temporarily service firmware requests with the hash specified in the movie when loading movies.
@Sanqui How did you make this movie? GBHawk should only load with the official BIOS files. I can't play the movie in 2.5.2. with only the Sameboy BIOS in the Firmware folder.
@JL2210 made this movie, but I can sync it with this setting:
I presume he reacted to this prompt to choose a firmware file, and just picked a (free) firmware he had on hand.
Ok, so you can right click on a firmware and set customization, I didn't even know you could do that.
Anyway, the movie firmware hash doesn't get sent to the core constructor, so this case will always be missed.
I guess it could get sent in with GameInfo.FirmwareHash, but the rom loader which creates the core doesn't know about it either.
Currently, the queued movie information which contains the hash is not accessible from where we need to get it in MainForm.
So, fixing this would be a pretty significant refactor.
Remaining work:
FirmwareSHA1
(seems to be old+new BSNES, CPCHawk, PCEHawk, and ZXHawk)FirmwareManager
scan for and remember all options, not just the final customisations (and use these when calling from CanProvideFirmware
)CoreFileProvider
when loading a movie (not sure when/where to clear)FirmwareManager
to apply patches when calling from CanProvideFirmware
The movie was made in BizHawk version 2.5.2 and with the Sameboy bootrom (free to distribute). I'm attaching both as a zip as GitHub doesn't allow other file extensions:
bizhawk_sml_movie.zip
When loading this movie into BizHawk with a different bootrom loaded, BizHawk will just attempt to replay it and it will desync. It should give some sort of warning.
This is happening on Fedora but I believe @CasualPokePlayer reproduced it on Windows.