Homebrew SCFW: Custom Firmware & Kernel for Supercard

Janni9009

Member
Newcomer
Joined
Sep 19, 2022
Messages
19
Trophies
0
Age
20
Location
-
XP
331
Country
Germany
I also know that at least one variation of the Supercars Lite (rumble, maybe?) has little or no SDRAM and isn't capable of running retail GBA ROMs.
The rumble series (also exists in fullsize... the old SD, not miniSD variant that is) lacks SDRAM indeed. Though, it does still have the GBA loader for some reason. But .gba or .mb files don't show at all (while technically it would still be able to load multiboots of course)
 
  • Like
Reactions: metroid maniac

Gully666uk

New Member
Newbie
Joined
Oct 21, 2023
Messages
2
Trophies
0
Age
46
XP
15
Country
United Kingdom
I have been using this with a 64gb card. Works much better than the stock firmware in terms of games working. Look forward to more progress
 
  • Like
Reactions: Peeteris

Localhorst86

Robert'); DROP TABLE members;--
Member
Joined
Jul 17, 2014
Messages
2,737
Trophies
1
Location
Nintendo works for my dad
XP
5,351
Country
Germany
  • Like
Reactions: Nikokaro

coreflake

New Member
Newbie
Joined
Apr 15, 2013
Messages
3
Trophies
1
Age
34
XP
95
Country
Belgium
Hi,

Thanks for all the great work you have put into making this card suck less !
I had a couple of questions tough :

  • Does it make a difference in loading speed when using SDHC cards instead of normal SD cards ? Or was this purly done because non-SDHC cards are getting more and more difficult to get ?
  • When loading the kernel trough the supercard firmware (without flashing the new firmware) I often end up in a white screen. After trying a couple of times the kernel boots and functions correctly. I'm wondering if I'm doing something wrong, is there a reason why it only works after a couple re-tries ?
  • I'm running 0.4.5 with the 32mb ROM patch and I'm trying to run pokemon flora sky (32mb romhack). After loading I get the nintendo advance logo but then it seems to be stuck. Any one got any luck with running this romhack ?

Thanks for all the support :) !
 

soukron

New Member
Newbie
Joined
Mar 19, 2024
Messages
2
Trophies
0
Age
43
Location
Valencia - Spain
XP
9
Country
Spain
This is cool! I was about to buy a new cart as the SuperCard is out of battery and can't save in any way.

So far what I do with this custom firmware is:
- enable autosave so it creates the initial .sav file the first time it saves a game
- disable autosave so it won't override the valid .sav file with empty/corrupted data (as the cart doesn't have battery and every time I boot the console it overrides the file contents=
- load the .sav to start playing
- poweroff/poweron quickly and then save the memory to the .sav file

Am I doing it okay? Is there any better method so far until the "autosave on soft reboot" is implemented?

More importantly, is there any donation button where I can send you a few euros? I am very grateful and won't mind sending some to buy you some beers (or whatever you drink).

Thanks!
Post automatically merged:

SCFW is a custom firmware and kernel for the Supercard SD.
Currently it is in a preview state with minimum functionality.

How difficult is to setup a development environment? I've seen the code and would like to make small pull requests if you accept them.
 
Last edited by soukron,
  • Like
Reactions: Nikokaro

xy1154

Well-Known Member
Newcomer
Joined
Feb 4, 2015
Messages
49
Trophies
0
Age
29
Location
Somewhere
XP
154
Country
Switzerland
Image.jpg

Just installed the custom firmware onto my Supercard SD. Rom files that were previously patched with Supercard utility would crash upon booting, but "clean" roms worked like a charm. I don't care about save state or cheat function, and the fact that it automatically manages save file in a way similar to that of EZ-Flash IV or M3 makes me happy. No more wonky key combination to backup sram.:grog: Thanks for the excellent work!
Edit: Any chance for a version that works with Supercard CF variant?
 
Last edited by xy1154,

davidgf

Active Member
Newcomer
Joined
Mar 25, 2011
Messages
29
Trophies
1
XP
438
Country
Pretty cool project I must say! I stumbled across the original post by coincidence and to my surprise a few weeks later boom!
Do you have some more information about the hardware? I know it has a flash and an SDRAM chip (used to hold the ROM), but would be nice to understand how things are wired. Lookin in the repo I noticed there's a bunch of interesting commands to enable/disable stuff. How did you guys discover this? I assume reversing the official kernel? Are there more unknown (to you) commands?
For the game patching I checked Twilight's patcher and looks surprisingly simple! I assume that's why it fails on some games. However we could improve this (ie. using the official patcher and diffing the ROMs to see what else is being patched that we are missing or perhaps wrongly patching). Is there a compatibility list being worked on? Perhaps we can reuse Twilights's one for now.
Congrats on your great work!
 

metroid maniac

An idiot with an opinion
OP
Member
Joined
May 16, 2009
Messages
2,088
Trophies
2
XP
2,634
Country
Do you have some more information about the hardware? I know it has a flash and an SDRAM chip (used to hold the ROM), but would be nice to understand how things are wired.
I'm not a hardware guy, so I don't really know anything about that I'm afraid.
Lookin in the repo I noticed there's a bunch of interesting commands to enable/disable stuff. How did you guys discover this? I assume reversing the official kernel? Are there more unknown (to you) commands?
I've mostly been retreading the steps of other homebrew developers from years ago based on the sources and binaries which are still available. Reversing the official kernel is probably how they did it.
For the game patching I checked Twilight's patcher and looks surprisingly simple! I assume that's why it fails on some games. However we could improve this (ie. using the official patcher and diffing the ROMs to see what else is being patched that we are missing or perhaps wrongly patching). Is there a compatibility list being worked on? Perhaps we can reuse Twilights's one for now.
The "easy" patches are SRAM (save) patches, because they target SDK functions which are the same across all GBA games. Waitstate + AP (white screen) patching is a little trickier because games don't all do it in quite the same way. Using the official patcher to find the patches is a good idea though.
How difficult is to setup a development environment? I've seen the code and would like to make small pull requests if you accept them.
You need to use the devkitPro package included in the repository, some bug breaks the driver I'm using in newer versions.
What did you have in mind? I'm open to PRs but I don't want you to waste your time.
 

davidgf

Active Member
Newcomer
Joined
Mar 25, 2011
Messages
29
Trophies
1
XP
438
Country
Thanks for your reply!
Yeah, diffing ROMs might be very helpful to find how they are patched and fix non-working games. I saw that some games have very specific patches (tho only a handful) and the majority are properly patched with the WAITCNT register write finder. But perhaps there's room to improve (I can imagine funny bugs since the patcher is so simple!)
So are there any features that need yet discovering, related to some more magic commands, any missing memory-mapped registers...? Asking cause I'm good with HW and could help somehow. For instance we could man-in-the-middle the ROM bus and see what reads/writes happen while using the original firmware. I did something similar, albeit much simpler, to reverse the wireless adapter.
Another funny option would be to emulate some of this on mgba/gpsp/vba to simplify the whole development process. AFAIU it would entail: adding writtable ROM (and RW switch), emulate the SD card interface and some of the mode switching bits...?
 

metroid maniac

An idiot with an opinion
OP
Member
Joined
May 16, 2009
Messages
2,088
Trophies
2
XP
2,634
Country
I'm not aware of any hardware in the cartridge that yet needs to be reverse engineered, I'm afraid.

As for adding emulator support for flashcarts for the sake of debugging - the idea does appeal to me, and I did something similar when writing the auto batteryless patcher, but I'm not sure whether it would be worth the development effort.
 

xy1154

Well-Known Member
Newcomer
Joined
Feb 4, 2015
Messages
49
Trophies
0
Age
29
Location
Somewhere
XP
154
Country
Switzerland
微信图片_20240324111900.jpg

Test more roms last night. While most of the games are playable (thanks again for the excellent custom firmware!), the following issues have been noted so far:
GT Advance 3: Random graphic glitches on road surface in the first race (after 3 simple stages to obtain the driving license). Not sure if it's related to the sdram that Supercard employs.
Final Fantasy V, VI: blank screen after the Gameboy Advance boot sequence. Note that Supercard utility doesn't handle these games properly either, showing "FAIL" message upon patching them.
 

soukron

New Member
Newbie
Joined
Mar 19, 2024
Messages
2
Trophies
0
Age
43
Location
Valencia - Spain
XP
9
Country
Spain
You need to use the devkitPro package included in the repository, some bug breaks the driver I'm using in newer versions.
What did you have in mind? I'm open to PRs but I don't want you to waste your time.
In windows, isn't it? I'll give it a try.

Not so complex changes, to be honest, but I'm more the kind of person that tries to code what it needs and offer it instead of just asking for silly changes (you have things more important to do with the firmware).

In this case I would like to try (for fun and for my own usage) to hide the files starting with dot (.) in the card, including a option in the settings to enable/disable them. I took a look to the code and it would be easy to implement.

Also, I would invest some time in another feature that would help me: soft reboot (based on buttons) and autosave only if there's a soft reboot (and not every single time). Again, as my flash card ran out of battery I can't autosave every single time as the save file is blanked after a "long" period of inactivity. Being able to reboot with a buttons combination and then (and only then) auto save the game, would be a game changer for me (and others as I have read).

Those two things would be what I would try to implement, even though you don't accept them for your official build. I can build it for myself and rebase it whenever there's a new version, so don't worry about accepting the pull requests.
 
Last edited by soukron,
  • Like
Reactions: Peeteris

KWG-08C

Member
Newcomer
Joined
Jan 2, 2017
Messages
5
Trophies
0
Age
29
XP
91
Country
I got so excited when I found out about your kernel (thank you so much btw, tthis means a lot to me and possibly lots of people who either were nostalgic about this card or couldn't afford any of the "good ones") and decided to use it with my card, I got a Super Card Micro SD in case that matters.

This is the list of ROMs I tried so far

Digimon Battle Spirit: Doesn't work. It seemingly applies the patches and creates a .sav file but it's stuck on a white screen. Patching the ROM with GBATA does nothing.

Mario & Luigi SuperStar Saga: Both games (SuperStar Saga and Mario Bros) work but SuperStar Saga has some visual glitches that make the sprites go translucent and/or blink if I move the character and sometimes during cutscenes. I was so happy when I saw it saved however.

Zoids Legacy: Works fine so far.


Medabots Metabee: Works fine so far.

Baldur's Gate Dark Alliance: Works fine so far

I'll try to test some more roms in the next few days/hours


EDIT:
Digimon Racing: Surprisingly works and saves just fine, not idea why or how this one works but Battle Spirit doesn't. I honestly expected it to be the other way around.

Metal Slug Advance: Seems to work fine, played for a while without any issues. Or at least not that I could notice.

Yo-Gi-Oh Worldwide edition: Works great! No issues whatsoever


KOF EX Neo Blood: It kinda works? There's noticeable slowdowns in the game's music but you can get to the character selection just fine. However, actually playing the game is where issues start happening. There were some visual glitches such as characters twitching mid air and it came to a point both characters froze mid air. The music kept playing but nothing other than the start menu responded.


Medarot Navi Kuwagata Version:
The game works fine. I don't seem to notice any glitches or slowdowns of any kind, however, the game doesn't save. If I save in-game then I don't get any errors and the game says it saved. If I reboot the card/kernel then it shows "saving SRAM to FAT" as it would do with any other game but as soon as I start the game I realize I only the get "Setings" and "new game" options.
 
Last edited by KWG-08C,
  • Like
Reactions: Peeteris

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: The only CoD game I played that I truly enjoyed was Black Ops 1, and only the single player...