• Welcome to SCdev.org. Please log in.

Welcome to the new SCdev forums!

SuperCard Slowdown - The RAW Deal

Started by brakken, September 19, 2005, 06:49:51 AM

Previous topic - Next topic

brakken

The SuperCard, mind you, was the first Game Boy Advance Development/Backup Unit to feature loading from low-cost high capacity media and of course there were going to be issues to work out, but luckily due to the companies dedication to supporting their products these bug's have been getting hammered away at no cost to the consumer. One of the bugs, which in fact isn't a bug at all, is the commonly referred to "slow down" condition. To explain this phenomenon one should briefly understand how the SuperCard works.

The SuperCard will read the image off of the Compact Flash (CF) or Secure Digital (SD) media (depending on which model you have) and store it into it's internal SDRAM. Once it is loaded into the SDRAM your Game Boy Advance (GBA) compatible device will boot the image in the SDRAM. The SDRAM used in the SuperCard transfers data at the speed of light and there is no slowdown involved here.

So where is the slowdown coming from? It's quite simply. Before you put the image(s) on your CF/SD card(s) you must first convert it into a format that the SuperCard can load. When you go to do this you are presented with the option to add various functions to your GBA images which are: Compress, Save, Cheat Restart and RTS. Excluding the Compression each of these options are actually small programs that are loaded into the EEPROM along with the image (commonly referred to TSR's). TSR's take up the Game Boy Advance compatible device's RAM and CPU speed. Therefor the more TSR's you use the more slowdown will incur.

There is a simple solution to this which is to only use one patch, which is the SAVE patch, when needed. This will alleviate 99% of the slowdown issues. Personally, I use only the RTS patch and encounter only a small bit of slowdown that you would not even be able to notice if you never played the image from an original cartridge. The TSR that takes up the most RAM and CPU is the Cheat option, but why would you need to cheat to begin with (unless you really suck at games that is).

Now, with this in mind one must understand that the only TSR that the Nintendo DS images are patched with is the SRAM (Save) patch and there is NO slowdown at all. I hope this clears some things up. Just don't cheat and you'll be fine!

* Corrected Error: The SuperCard uses SDRAM *NOT* EEPROM. Sorry for the mistake.
url=http://www.iso420.com]ISO-420 Reviews[/url]

TehSkeen Administrator

Trenton_net

Uh, this is really old news. Did you even check the forums?

brakken

I have not seen an explanation of this problem presented in an professional format anywhere and in most of the recent discussions I see people whining about the slowdown issue and wanted to help explain to them why it was happening. Thanks for being an ass.
url=http://www.iso420.com]ISO-420 Reviews[/url]

TehSkeen Administrator

LanceSteel

Quote from: "brakken"I have not seen an explanation of this problem presented in an professional format anywhere and in most of the recent discussions I see people whining about the slowdown issue and wanted to help explain to them why it was happening. Thanks for being an ass.
You are right, I definitely didn't know the reason for the slow-downs.  Your report was well written and easy to understand.  Thanks brakken!!

DeVS

I didn't know the reason either and found brakkens explanation very helpful.
Laugh Hard, It's A Long Ways To The Bank

fitzie


[Jez]

Indeed, useful for the newbies, good work man.. try and get someone to sticky it

memyselfandi

 am The Best and you Know it!!!

NT

This is a good guide, but I know of a couple of inconsistencies.  

1.  The Supercard uses SRAM for running GBA ROMs after they're copied from the CF, not EEPROM.

2.  There are games such as Yoshi's Island which always have bad slowdown even when only the save patch is applied.

brakken

I was under the impression that the SuperCard had internal EEPROM chips for memory. I haven't opened mine up yet to check, but will later. Not that I don't believe you, but I always double (or sometimes triple) check everything. :)
url=http://www.iso420.com]ISO-420 Reviews[/url]

TehSkeen Administrator

chek

Actually the slow down is caused by the SC patch software which patch the ROM in order for it to run on the GBA.

This whole problem is due to the fact that the supercard does not support CLEAN GBA rom file without patching.

I tried some SC patched ROM on the M3 adapter, it proof to suffer the same slow down and screen flashing on the M3 adapter.  Because these game does not suffer these slow down as it is.

Unless ROMMAN can come out with a new firmware that support clean ROM without patching for the GBA, the slow down issues will always be there for all games.  Some people says mild slow down, but when you play Yoshi's Island, then I think you will think otherwise.  It is NOT mild slow down but MAJOR slow down.

takuma

Yeah This is pretty old info but nicely done anyway.  Plus games like Mario Kart always have slowdown even without the save patch or anything.

joele

^^^ I was thinking the same thing even with no patching Mario Kart is very slow, but patched on my XGTurbo cart it works 100%, so I just use that for games like mario kart..

torne

The way to avoid patching-induced slowdown (nothing can be done about the slow SRAM other than replacing the chip) would be to patch the roms so that they save directly to CF/SD. See, what the patch tool currently does is patch them the same way as other carts do - so that they save to SRAM. However, the SRAM allocated for saving in the SC is not battery backed, so its contents  vanish when you turn the GBA/DS off. So, you have to either use the reboot patch (which causes slowdown as it hooks the vblank interrupt) or the quick power reset method, to get back to the SC software and actually copy the data from SRAM to CF/SD.

However, there's nothing technically stopping you from replacing the save code in the game with code that saves direct to SD/CF. GBA games all use one of the various versions of the Nintendo backup library to access their save memory, whether it's SRAM, EEPROM or Flash - and all of these libraries can be recognised and their entry points found in the rom (that's how flash/eeprom -> sram patches work for other flashcarts). All that would be needed was some clever trickery - append the supercard's SD/CF access code to the end of the rom, and patch the backup library entry points to branch to it via a suitable saving interface.

This won't solve the slow-ram issue, of course (the games that run slow even with no patches enabled). But, it's a start, and it'd be significantly more convenient. It's possible that this will be done as a side effect of getting NDS games to save to CF/SD, but how long that's going to take is unclear, and whether it will work on GBA games as well is unspecified ;)

So.. with that in mind, how receptive is romman to getting help, does anyone know? I'm intending to have a look at this, but it'd be significantly easier with some details from the developer. If not, then I guess I'll just be back to sticking the firmware into IDA and disassembling it..

It's almost certainly not possible for a firmware update to solve this, btw, as the savegame SRAM is unlikely to be wired for write notification and thus there's no way around having to patch the game in some fashion - you just want to do it in a way that doesn't require checking for button presses, as that's what's causing it to slow down.

chek

I think by replacing the RAM chip on the supercard will NOT solved the supercard Speed problem.  Because all GBA ROMs must be patched in a manner for them to work or work around the supercard problem.  These Patched ROMs will NOT work with VisualboyAdvance also.

I owned both supercard and M3 adapter.  All .GBA files must be patched before they can be copied and run from supercard.  or you will get white screen.  WHY? because they are patched to accomodate the supercard.

Whereas on the M3 is slightly different.  These .GBA files does not need to patched with any software at all.  And when you tried these original unpatched .GBA files on this M3, by using the Microsoft Windows COPY and PASTE method to copy these .GBA files to the CF card. NO SLOW DOWN.  BUT when you copy the SC patched ROMs to the CF card.  SAME PERFORMANCE as supercard.  SLOW DOWN.  This conclude the problem is actually lies in the SC Patch software, which also boil down to supercard design flaw which does not support clean ROM without patching.

I am just wondering whether a Supercard firmware patch can allows support of clean rom like the M3 which ultimately solved the speed problem