I am not sure why, but it registers as a 512KByte file when it should be a 1024KByte file. The other 1024KByte game I have works fine, so am not sure why this one isn’t behaving.
Does Red Alarm use some sort of bank switching other games don’t use, or is there some other reason it may appear as only being half the size it should?
I’m not a hardware expert, but I know that no known VB game uses any kind of bank switching. There’s no need for it as ROMs can be up to 16 MB in size before bank switching would be needed (or 32 MB by using the address space meant for additional hardware, though it wouldn’t be contiguous), and if any game did use it, it wouldn’t work on a FlashBoy.
I’m curious what “registering as a 512K file” means, as there is no way for the hardware or software to know how large the ROM is, so if you tried to dump a 512K ROM as a 1 MB ROM, you would just get two identical copies of it (someone correct me if I’m wrong).
This reply was modified 7 years, 5 months ago by HorvatM.
I agree with HorvatM; without knowing how the firmware in the Retrode decides how big a file should be, any answer given would be pure speculation. It might have a database of sizes which contains an incorrect entry for RA, or it might be using some kind of heuristic which fails with RA for some reason. Is the source-code of the firmware available?
The only foolproof method would be to simply look for repetition in the entire ROM address space (on power-of-two boundaries) and take the repeated block as your ROM. You might also use the data from the header to construct your filename (although I can see how just calling everything “cart.bin” or whatever would make it easier to use with emulators).
Thank you both for your replies. While I haven’t done any coding for the Retrode, my understanding is that it uses heuristics if there is no ROM size in the header.
The source code is not publicly available, but is available upon request to the creator.