Neo TeAm Forum

NEO Team's Project for SEGA MK3/MD5/32X => NEO SUPER MK3/MD5/32X 3in1 Flash Cart => Topic started by: joyeux on July 09, 2013, 07:06:45 PM

Title: BRAM Issue
Post by: joyeux on July 09, 2013, 07:06:45 PM
Since I bought my Neo2 and Neo3SD, I have never been able to use the BRAM without data corruption. But I guess I have some clues of the cause of the problem. Researching the forum, I've found this:

... The value used to make SCD_BRAM.bin given us by the hardware guy was wrong - it was twice as big as it should be. It was setting the BRAM to 128KB, but the GBA carts can only make 64KB available in one bank. So when the runmode is 9 (SCD BRAM enabled), I generate the proper value instead of what's in the file. As a result, you only get half as many blocks, but you do have (up to) four banks you could use....

When the Deluxe Menu 2.9 shows the SCD_SRAM.bin file on my SD Card (NEO3SD), it shows a total amount of 1024kbits of SRAM, which equals 128Kbytes. Though it's a very old quote, Chilly has stated that "GBA carts can only make 64KBytes available". So I guess this may be the issue behing the data corruption. Please correct me if I'm wrong. A screenshot with SCD_BRAM.bin on the screen is attached.

EDIT: NEO2 Flash pic, but same problem for NEO3SD.
Title: Re: BRAM Issue
Post by: ChillyWilly on July 10, 2013, 08:10:20 AM
The size of the BRAM is in the SPACE it occupies in the memory, in bits. So 1024 Kbits, which is indeed 128KB, is right as only every other byte is used, meaning it actually uses 64KB of save ram.

Someone once reported that BRAM worked for them if they selected something other than bank 0 (or was it bank 3?) - try a different bank and see what happens. The last time I tried BRAM, it was working fine.
Title: Re: BRAM Issue
Post by: joyeux on July 11, 2013, 09:56:18 PM
Now I can understand, thanks for the explanation. Looking through the menu folder structure, in menu\md\saves I found the SCD_SRAM.brm file using exactly 64KB (512Kb of the Myth SRAM). I can load this file in Kega Fusion in the "Load Backup RAM cart" renaming it to SCD_SRAM.crm. Once loaded, it will present the same behavior of the console, garbled save names with absurd block usage.

I discovered that when I create a new 64KB .CRM file in Kega Fusion and then copy it to the SD Card, I can load the BRAM file correctly and then copy the saves to my SCD Internal Memory for a first time. Getting out of the SCD Memory Manager and entering again (even not resetting the SCD) will corrupt the 64KB file again. So I give up trying to copy anything from the SCD to my SD Card.

From time to time I try to study this issue to see if I can find something new. The truth is that I am learning a lot, but in the end I'm getting the same bug all the time. Using every slot, 0,1,2 and 3 I can't even copy a single small save data (1 block) without it getting trashed in the way, in milliseconds or less. :-(

As you say that you use this feature without anomalies, I can only assume that, if my Myth Cart is using a relatively high SRAM amount (512Kb, instead of mere 64Kb of any single MD SRAM game), it is possible that the SRAM is corrupted at some point, meaning it will never work. I'm pretty convinced of that, after all.

Sorry if I am sounding a little harsh, but it's very annoying to buy two expensive pieces of hardware with high expectations and it won't correspond.

I've attached my CRM generated file if you want to see what I get in the emu. At this example, I tried to copy Sonic 1 Megamix CD save data (25 blocks), which after reentering SCD Memory Manager turned into a beast of 6177 blocks with a very strange name.

Thanks again for the usual attention.

EDIT: Added 4Mbit (512KB) NEO2 Full SRAM dump after full clear and BRAM use in slot 1
Title: Re: BRAM Issue
Post by: ChillyWilly on July 18, 2013, 08:58:42 AM
I'll look into it and see what I can find.