Vulcalien / minicraft-gba

Minicraft ported to the GBA
GNU General Public License v3.0
84 stars 3 forks source link

Stuck on saving #4

Open BramofDoom opened 1 year ago

BramofDoom commented 1 year ago

Love this port, a real throwback to playing this in highschool on the school computers!

I tried flashing this ROM to a cart to play on my Gameboy.

Everything seems to work, except for saving. The game freezes when trying to save.

My Joey Jr V2++ shows the following information for the flash cart: Flash Detected. D0:D1 swapped. CFI Interrogation: Flash Capacity:0x02000000 Buffer Size:0x0400 Number of Erase Block Regions:0x0001 Region 1 consists of:0x00FF Blocks each:0x00020000 bytes each. Flash ID:0x897E 28EW256 Flash Detected

Vulcalien commented 1 year ago

I'm not familiar with that specific cartridge, so I don't know how the saving works in there.

I've heard that, when the save memory is erased, some flash cartridges do not set all the bytes to 0xff, unlike emulators (and, I think, officially released game cartridges) do. Now, Minicraft for GBA waits for a byte to change to 0xff indefinitely.

You can try this modified version, that removes the wait for 0xff and just assumes that the memory erasing went well. ~minicraft-gba_1.2.1_modified.zip~

Vulcalien commented 8 months ago

I made a few changes to the saving system, adding a checksum verification step that should tell the player if a save file was corrupted. If the checksum verification failed, next to 'LOAD GAME' there will be a (!) symbol.

minicraft_2023_12_24_exp_saving.zip