gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS Flash Equipment > Chishm's SuperCard Lite hacks

#116953 - chishm - Wed Jan 31, 2007 8:35 am

I've gotten more than just a simple injector/extractor for the firmware now. So I'm going to repurpose this thread to report my progress in hacking the SC Lite.

Things done so far:
  • Firmware update extractor/injector
  • Stop auto-booting by FlashMe
  • Auto-boot _BOOT_SC.NDS before the SC firmware menu has loaded
  • Load normal firmware if L is held or no boot file is found
  • Redirect homebrew *.nds file booting to my own loader


A hacked firmware (1.7a) has been released. See below for more details.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com


Last edited by chishm on Wed Feb 07, 2007 5:46 am; edited 3 times in total

#116954 - chishm - Wed Jan 31, 2007 8:41 am

This is a tool to extract the firmware from the micro_eng_170.bin update. It can also inject a new firmware into update. The code is released into the public domain with absolutely no warranty of any kind. You'll need to compile it from the source. If you can't do this, then you probably shouldn't be using it.

Code:
#include <stdio.h>
#include <malloc.h>
#include <string.h>

typedef unsigned int u32;
typedef unsigned short u16;
typedef unsigned char u8;

#define FW_SIZE 0x76000
#define FW_OFFSET 0x34000
#define CHECKSUM_OFFSET 0x1A78

void crypt_fw (u8* fw_data) {
   int i;
   u16* data;

   data = (u16*)fw_data;

   for (i = 0; i < FW_SIZE/2; i++) {
      data[i] = data[i] ^ (i * 2 * 0x1dea3470) ^ 0xaf2753b7;
   }
}   

u32 checksum_fw (u8* fw_data) {
   int i;
   u32 sum = 0;

   for (i = 0; i < FW_SIZE; i++) {
      sum += fw_data[i];
   }

   return sum;
}

int main(int argc, char* argv[]) {
   FILE* sc_upgrade;
   FILE* sc_fw;
   u8* fw_data;
   u32 checksum;

   if ((argc != 4) || (argv[1][0] != '-') || ((argv[1][1] != 'e') && (argv[1][1] != 'i'))) {
      printf ("Usage: %s [-e|-i] <upgrade> <firmware>\n", argv[0]);
      return -1;
   }

   if (argv[1][1] == 'e') {
      sc_upgrade = fopen (argv[2], "rb");
      sc_fw = fopen (argv[3], "wb");

      if ((sc_upgrade == NULL) || (sc_fw == NULL)) {
         printf ("File open error\n");
         return -1;
      }
      
      fw_data = (u8*) malloc (FW_SIZE);

      fseek (sc_upgrade, FW_OFFSET, SEEK_SET);
      fread (fw_data, 1, FW_SIZE, sc_upgrade);

      crypt_fw (fw_data);

      fwrite (fw_data, 1, FW_SIZE, sc_fw);
   } else if (argv[1][1] == 'i') {
      sc_upgrade = fopen (argv[2], "rb+");
      sc_fw = fopen (argv[3], "rb");

      if ((sc_upgrade == NULL) || (sc_fw == NULL)) {
         printf ("File open error\n");
         return -1;
      }
      
      fw_data = (u8*) malloc (FW_SIZE);

      fread (fw_data, 1, FW_SIZE, sc_fw);

      crypt_fw (fw_data);
      checksum = checksum_fw (fw_data);

      fseek (sc_upgrade, FW_OFFSET, SEEK_SET);
      fwrite (fw_data, 1, FW_SIZE, sc_upgrade);

      fseek (sc_upgrade, CHECKSUM_OFFSET, SEEK_SET);
      fwrite (&checksum, sizeof(u32), 1, sc_upgrade);
   }

   fclose (sc_upgrade);
   fclose (sc_fw);
   free (fw_data);

   return 0;
}


EDIT: Changed all 0x76000 to FW_SIZE
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com


Last edited by chishm on Sat Feb 03, 2007 12:38 pm; edited 1 time in total

#117185 - chishm - Fri Feb 02, 2007 3:18 am

This is a patch to stop the SC Lite from auto-booting in FlashMe. Apply this IPS file to the micro_eng_170.bin update file and run it. It will update your SC Lite to firmware v1.70 so you might not want to do it. The patch also disables the Supercard type check, so it may work to turn Chinese SC Lites into English versions.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#117186 - felix123 - Fri Feb 02, 2007 4:03 am

Nice! How easy is it to adapt it for Supercard SD?
_________________
Nintendo DS homebrew on Wikipedia

#117193 - chishm - Fri Feb 02, 2007 5:28 am

It shouldn't be too hard. The _BOOT_SC.NDS code was adapted from NDSMP, with different hooks into the firmware. All that needs to change is the hook into the old firmware, the location in ROM of the hack, the return function and possibly the IO interface code. But to do any of this will require a dump of the original firmware and an installer for the hacked version.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#117219 - tepples - Fri Feb 02, 2007 2:19 pm

chishm wrote:
It shouldn't be too hard. [...] But to do any of this will require a dump of the original firmware and an installer for the hacked version.

My cousins have SCSDs. What should I run to dump their firmware?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#117285 - chishm - Sat Feb 03, 2007 5:24 am

tepples wrote:
chishm wrote:
It shouldn't be too hard. [...] But to do any of this will require a dump of the original firmware and an installer for the hacked version.

My cousins have SCSDs. What should I run to dump their firmware?

It's okay, I have a SCSD too. I was just listing the requirements for hacking any firmware.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#117291 - Lick - Sat Feb 03, 2007 10:41 am

Quote:
I can auto-boot _BOOT_SC.NDS before the SC firmware menu has loaded

Shat mah pants!! Shat shat shat!!

edit
Supercard SD/miniSD:
Code:
// Supercard SD/miniSD:
#define FW_SIZE 0x74FF4
#define FW_OFFSET 0x34000
#define CHECKSUM_OFFSET 0x1AE4


edit2
I can confirm that with the Supercard miniSD and FlashMe, I was able to boot to original firmware instead of directly into Supercard menu. YAY!
_________________
http://licklick.wordpress.com


Last edited by Lick on Sat Feb 03, 2007 2:10 pm; edited 1 time in total

#117296 - nexxyz - Sat Feb 03, 2007 2:05 pm

Thanks a lot for that SC Lite patch. Exactly what I was looking for!!!
_________________
"It's a fool's prerogative to utter truths that no one else will speak."

#117663 - chishm - Tue Feb 06, 2007 1:58 pm

Progress update:
I have now gotten it booting *.nds files using my own loader. I am aware that the SC Lite could run ordinary *.nds files. However this is based on NDSMP, so anything that booted using that should run with this. This means DSOrganize 2.45 runs on my SC Lite now :D

It still boots *.sc.nds files using the normal loader, so they should still work.

Expect a release and (messy) source tomorrow.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#117702 - Dan2552 - Tue Feb 06, 2007 7:18 pm

**Dan2552 wonders if it works with rumble series

#117712 - HyperHacker - Tue Feb 06, 2007 9:17 pm

I'm curious if it preserves the DS card header.
_________________
I'm a PSP hacker now, but I still <3 DS.

#117729 - Lick - Wed Feb 07, 2007 12:13 am

HyperHacker wrote:
I'm curious if it preserves the DS card header.


As far as I can guess, the DS card header is preserved until you load a .nds file. So if you write firmware for Supercard that hooks the .nds loader to a custom loader, you can keep the DS card header. HOWEVER, you have to keep in mind that if you use swiSoftReset (part of .nds-load-procedure), you inevitably will have to set the reset-addresses (inside the RAM copy of the DS header that you're trying to preserve). I'm not sure, but I think you can use a jmp instead of soft reseting.
_________________
http://licklick.wordpress.com

#117745 - chishm - Wed Feb 07, 2007 2:11 am

Dan2552:
Nope. The hacks are applied to a .bin type update (really just a .gba file that writes to the firmware) and hence not usable on SC Rumble.

HyperHacker:
Nope. As I said, it behaves like NDSMP, including overwriting the NDS header.

Lick:
You can use bx (no jmp on ARM) instead of SWI 00, but if the CPU is in user mode then it is stuck in user mode until a SWI 00 (or an interrupt occurs).
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#117760 - chishm - Wed Feb 07, 2007 4:48 am

As promised, I am releasing the hacked update 1.7a and the source code.

This is only for the SuperCard Lite. To install it, run the update_17a.gba file on your SuperCard. I have left the auto-boot by FlashMe enabled, as I prefer it that way. It will automatically boot _BOOT_SC.NDS using the same loading code as NDSMP (which has proven quite stable). If the file is not found, it will boot the normal firmware. If you run a *.nds file from the normal firmware file it will be redirected to use the NDSMP loader, but *.sc.nds files will use the normal SC loader.

There are no versions for the SuperCard SD or the SuperCard CF. The source is available, so someone else can make them if they want.

To make the patch yourself (for the SC Lite at least, the locations and code may be different for SC SD and SC CF), use extraction tool (posted previously) to extract the firmware from the micro_eng_170.bin update. Make the patches and load.bin, then follow the instructions in patches.txt to hex edit the patches into the firmware. Finally, inject the firmare back into the update file.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#117765 - GrizzlyAdams - Wed Feb 07, 2007 5:50 am

I've not had a chance to update for the latest version of chishm's software, but I've got a pre-release version for Supercard SD / MiniSD here:
Zipped:
http://thewaffleiron.net/public/GrizzlyAdams/DS/SCSDPatcher.zip
Browsable:
http://thewaffleiron.net/public/GrizzlyAdams/DS/SCSDPatcher

This does not contain a patched compiled firmware, just the source & tools. I'll have to look at integrating chishm's latest work and post an update.

I also added a gba mode boot with the R trigger so its a little easier to get into gba mode on your prefered screen (instead of being stuck with the top screen which the scsd ds mode firmware forces upon you)

Again this is for SC SD and MiniSD ONLY. CF still needs to be worked on.

#117781 - Lick - Wed Feb 07, 2007 12:10 pm

Awesome! Now I can finally do the ARM7 control ARM9 experiment! :D

GrizzlyAdams: I can see you're using chishm's 0x78000 (which is actually his 0x48000) does that mean SCLite FAT code works on SCSD/miniSD?
_________________
http://licklick.wordpress.com

#117794 - GrizzlyAdams - Wed Feb 07, 2007 3:46 pm

He's using his SCSD driver from libfat, which works on all supercard slot 2 models that accept SD cards.
I've updated the package to include chishm's released source code though his extra features (patching the supercard menu to use his nds launcher) arn't there yet. I was also working on getting .ds.gba's to work transparently in his loader (since they are just a 512 byte header on a normal .nds, the header can be detected and skipped)

I feel the need to throw this in here as well:

DON'T USE THIS IF YOU CAN'T RISK BRICKING YOUR CARD.
IF YOU DON'T HAVE WMB WORKING OR ANOTHER RESCUE METHOD
STOP AND THINK ABOUT WHAT YOU ARE DOING.

If you mess up the flashing procedure your Supercard will likely no longer boot.
Always wait for the flashing utility to tell you when to turn off your DS.
Never assume that because for 2 or 3 seconds there was no status message that flashing is complete.


Edit:
Ok, .ds.gba _BOOT_SC.NDS support appears to work. this means you can have either a .nds or .ds.gba (.sc.nds) as your _BOOT_SC.NDS and it will be loaded. Detection is based on byte B2 in the header which is 0x96 on .ds.gba's and 0x00 on .nds files.

Ready to use .nds for SC SD and SC MiniSD:
http://thewaffleiron.net/public/GrizzlyAdams/DS/SCSDPatcher-002-Binary.zip
Source Archive
http://thewaffleiron.net/public/GrizzlyAdams/DS/SCSDPatcher-002.zip

#117824 - tepples - Wed Feb 07, 2007 10:26 pm

GrizzlyAdams wrote:
He's using his SCSD driver from libfat, which works on all supercard slot 2 models that accept SD cards.
I've updated the package to include chishm's released source code though his extra features (patching the supercard menu to use his nds launcher) arn't there yet. I was also working on getting .ds.gba's to work transparently in his loader (since they are just a 512 byte header on a normal .nds, the header can be detected and skipped)

Except for some oddball ds.gba files that use a nonstandard loader. Isn't SnezziDS like this?

Quote:
I feel the need to throw this in here as well:

DON'T USE THIS IF YOU CAN'T RISK BRICKING YOUR CARD.
IF YOU DON'T HAVE WMB WORKING OR ANOTHER RESCUE METHOD
STOP AND THINK ABOUT WHAT YOU ARE DOING.

If you mess up the flashing procedure your Supercard will likely no longer boot.
Always wait for the flashing utility to tell you when to turn off your DS.
Never assume that because for 2 or 3 seconds there was no status message that flashing is complete.

If I have a GBAMP CF and a SuperCard SD, or a Flash2Advance and a SuperCard SD, can I recover that way?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#117834 - chishm - Thu Feb 08, 2007 12:27 am

I should add that GrizzlyAdams' warnings apply to my hack as well. I am not liable if you break your card.

GrizzlyAdams wrote:
I was also working on getting .ds.gba's to work transparently in his loader

Bah. I'm trying to remove the need for *.ds.gba files. *.nds is the one true DS file format.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#117837 - Lick - Thu Feb 08, 2007 12:54 am

How much space is there for injecting 'extra' code? Maybe I could write my own filebrowser.
_________________
http://licklick.wordpress.com

#117846 - tepples - Thu Feb 08, 2007 1:53 am

chishm wrote:
I'm trying to remove the need for *.ds.gba files. *.nds is the one true DS file format.

Or at least it will be once some standard is figured out for DLDI-patching homebrew .nds files at runtime and passing argv[] (with the .nds path as argv[0]) so that a homebrew .nds can load assets from the appended file system the way commercial games do.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#117882 - HyperHacker - Thu Feb 08, 2007 8:03 am

chishm wrote:
Nope. As I said, it behaves like NDSMP, including overwriting the NDS header.

Could the data be copied somewhere where it won't get overwritten before launching? I don't want to have to make a hack of a firmware hack for every card out there to have DS card booting working. :-/
_________________
I'm a PSP hacker now, but I still <3 DS.

#118017 - chishm - Fri Feb 09, 2007 2:58 am

HyperHacker wrote:
I don't want to have to make a hack of a firmware hack for every card out there to have DS card booting working. :-/

Well then you're out of luck. So far only GBAMP and SC Lite / SD have custom firmwares available. That means there are many other cards to go.
So no, I'm not going to move the data to somewhere else because of the impracticallities of doing this for the dozen flash cards already on the market.

I've heard that MoonShell doesn't work with 1.7a. Instead of installing the SCSD version, install the GBAMP version and patch it with dlditool to SCSD. This is because the SCSD version has a loader attached to it, and is a (possibly non-standard) *.sc.nds file.

It is possbile to go back to the normal firmware by running the 1.70 update.

Also, this hack can actually run DSOrganize v2.45, which is my main reason for creating it.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#118071 - WunSick - Fri Feb 09, 2007 8:20 pm

Id just like to say, thanks for your work on this chism, useful and interesting :)

(Supercard SD here, so thanks to GrizzlyAdams too)
_________________
[Images not permitted - Click here to view it]

#118115 - HyperHacker - Sat Feb 10, 2007 6:03 am

I wouldn't expect anyone to go about creating custom firmware for all the other cards just to preserve the NDS header. O_o Hopefully, a few already do. If nothing else, it'd be nice at least to have it working on as many cards as possible, even if that's only two of them.
_________________
I'm a PSP hacker now, but I still <3 DS.

#118154 - WunSick - Sat Feb 10, 2007 3:17 pm

possibly dumb question, when i boot the SCSD version (my exsisting firmware is 1.7)
i get the following options;

- SCSD Patched (22B900C2)
(FOUND)

- SCSD 1.63 (22B900C2)
(FOUND)

- SCSD 1.52 (22B900C2)
(FOUND)


which should i choose?
_________________
[Images not permitted - Click here to view it]

#118157 - Lick - Sat Feb 10, 2007 3:38 pm

The first one!
_________________
http://licklick.wordpress.com

#118158 - WunSick - Sat Feb 10, 2007 3:39 pm

heh figured id ask, before thinking i know it all or something lol, thanks lick.
_________________
[Images not permitted - Click here to view it]

#118162 - 0xtob - Sat Feb 10, 2007 4:33 pm

This hack finally makes my SC Lite (and thus my DS Lite) useful for coding!

I updated the DevLauncher so it now also works on the SC Lite.
_________________
http://blog.dev-scene.com/0xtob | http://nitrotracker.tobw.net | http://dsmi.tobw.net

#118175 - WunSick - Sat Feb 10, 2007 8:34 pm

-REMOVED: not useful to this thread-

-Wun
_________________
[Images not permitted - Click here to view it]


Last edited by WunSick on Sat Feb 10, 2007 10:32 pm; edited 1 time in total

#118176 - GrizzlyAdams - Sat Feb 10, 2007 9:04 pm

This has NOTHING to do with dipstar and will do NOTHING for making it work. If you want dipstar to work on the supercard you'll have to figure it out on your own. You'll get no help from me.

#118184 - WunSick - Sat Feb 10, 2007 10:31 pm

No biggie, i respect your oppinion.
_________________
[Images not permitted - Click here to view it]

#118240 - mntorankusu - Sun Feb 11, 2007 12:33 pm

Any chance there'll be a version for Supercard CF?

#118619 - mastertaz - Wed Feb 14, 2007 7:23 pm

hi all,

When I boot the SCSD version compiled by GrizzlyAdams
and I get

- SCSD Patched (22B90001)
Not found!

- SCSD 1.63 (22B90001)
Not found!

- SCSD 1.52 (22B90001)
Not found!

i've a supercard mini SD with 1.70 FW ....

I don't really like the "Not found!" message ... Is it safe to flash ?

#118620 - GrizzlyAdams - Wed Feb 14, 2007 8:47 pm

I got the Not Found messages too on my SCSD, I don't like them either and haven't taken the time to identify the cause yet.

If you have a recovery method (WMB or another flash cart/media adapter) then try it. Otherwise best wait till everything is figured out.

#118623 - mastertaz - Wed Feb 14, 2007 9:43 pm

Erf ...

I've no WMB, but I've a friend that have a m3 simply,
I'dont know if I can flash the SCSD from the M3 :S

#118712 - GrizzlyAdams - Thu Feb 15, 2007 11:43 pm

As long as it can boot a homebrew .nds it should work for recovery.

#118754 - Mc Nasty - Fri Feb 16, 2007 1:05 pm

Is there some way to be able to create some tool to extract the firmware of the supercard in anyone of their models using bookstores DLDI?
For example to extract the firmware of a supercard lite or a rumble to apply him a "Skin?" from the same supercard or to another unit flash slot 1 (EZV,M3s,R4,SCO,DSLink,DSLinker,ETC,etc,etc,)
Its possible? since this would allow to personalize the style of these units like it happened with the SCsd and SCcf before the version 1.70...
If they want to taste like what I refer here I leave them a sample (something ugly but it is good reference)
http://www.megaupload.com/es/?d=65JOLXSZ
I remind them that this skin ONLY works in SUPERCARD SD (NOT WORKS IN SCCF,RUMBLE OR LITE OK)[/b]

#118807 - GrizzlyAdams - Fri Feb 16, 2007 11:29 pm

The firmware for the SCSD / SCCF should be able to be dumped in scmode 0x4004. I'm not sure about the sclite as they don't appear to have the same protection mechanism as the SCSD/SCCF.

As for 1.70 not working with skinning tools, they probably moved the graphics locations (not necessarily intentionally) or possibly intentionally encypted them. All it takes for the graphics to move around in rom is for them to add some code (which they did) which bumps things around in memory. Alot of firmware code is common between the various supercard slot2 devices.

#118810 - Cygoku - Fri Feb 16, 2007 11:36 pm

Can the _BOOT_SC.NDS be any application working on SCL being renamed to that ?!?! Like Moonshell 1.6 ?!?!

Cygoku

#118818 - chishm - Sat Feb 17, 2007 1:50 am

Cygoku wrote:
Can the _BOOT_SC.NDS be any application working on SCL being renamed to that ?!?! Like Moonshell 1.6 ?!?!

Cygoku

It has to be a true *.nds file. MoonShell installed on a SC Lite using the installer is actually a *.sc.nds file, which has a loader attached.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#118820 - Cygoku - Sat Feb 17, 2007 2:56 am

chishm wrote:
Cygoku wrote:
Can the _BOOT_SC.NDS be any application working on SCL being renamed to that ?!?! Like Moonshell 1.6 ?!?!

Cygoku

It has to be a true *.nds file. MoonShell installed on a SC Lite using the installer is actually a *.sc.nds file, which has a loader attached.
Then what would be my option to auto-load Moonshell on a Supercard Lite using your firmware ?!?!

Cygoku

#118821 - chishm - Sat Feb 17, 2007 2:59 am

Install MoonShell using the installer, but select GBAMP CF instead of SCLT. Patch it using dlditool to allow it to run on the SC Lite, then rename it to _BOOT_SC.NDS .
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#118822 - Cygoku - Sat Feb 17, 2007 3:10 am

Thank you very much for your replies. I won't take anymore of chishm's precious time !! :)

Cygoku

#118831 - chishm - Sat Feb 17, 2007 6:01 am

I just found an easier way to do it. In the source MoonShell directory (the place you extracted everything from the zip file) there should be a folder called DLDI. In this are a bunch of ini files. Edit both scsd.ini and sclt.ini and chang the line that says
Code:
BootStrap=SC
to
Code:
BootStrap=None

_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#118842 - GrizzlyAdams - Sat Feb 17, 2007 10:01 am

Also, if you want to use a .sc.nds (.ds.gba) that isn't available as a .nds just strip the first 512 bytes off with a hex editor. Most if not all .ds.gba have been made with dsbuild which appears to always add 512 bytes to the head of the file.

#118851 - cory1492 - Sat Feb 17, 2007 2:10 pm

GrizzlyAdams wrote:
I got the Not Found messages too on my SCSD, I don't like them either and haven't taken the time to identify the cause yet.

If you have a recovery method (WMB or another flash cart/media adapter) then try it. Otherwise best wait till everything is figured out.

0x22B90001 is the chipID of newer supercards. They moved to a spansion chip instead of MX.

flash.h
Code:
#define FLASHID_MX_512KB         0x22B900C2      // MX29LV400B   4 Mib   512 KB
#define FLASHID_SP_512KB          0x22B90001      // Spansion S29AL0040701A101 4Mib   512 KB
#define FLASHID_SP_512KB_Lite          0x100B002E      // Spansion S29AL0040701A101 4Mib   512 KB SuperCard Lite?

Note that while it is able to ID the sclite, it is an incorrect ID because the unlock routine or possibly even register addresses to access the flash chip directly seems to be different. I don't have the lite hardware to test with, so I never got too far looking into that one.

The new ID for SCSD is above, and added to the firmware list below. It was made to work the same as the older MX chip from the viewpoint of the DS, so all that you need is an additional definition for possible chipID returns.

in the flashapp:
Code:
Firmware firmwares[] =
{
    { KEY_UP,        "Up    : Supercard SD\n   \n", supercard_bin, (u32)524288, FLASHTYPE_SUPERCARD, RWTYPE_CART, {FLASHID_MX_512KB, FLASHID_SP_512KB} },

Thanks to Zector on another forum for providing testing and part numbers to confirm this (as it is yet more hardware I don't have).

#119101 - mastertaz - Mon Feb 19, 2007 5:55 pm

cool ,
I'll be able to test this hacked firmware for my MiniSD

But where can I find the source for flashsc ?
A binary version for 0x22B90001 miniSD ;) will be ok of course ;)
in fact an "ready to use" fimrware is also cool :)

thank your so good job guys :)

#119114 - GrizzlyAdams - Mon Feb 19, 2007 9:26 pm

The flash SC source is available from the devkitpro CVS. Its just flashmp with minor changes to change the firmware images & displayed text.
I'll upload my local copy soon.

#119310 - mastertaz - Wed Feb 21, 2007 7:59 pm

ok guys i've try to compile flashmp from the devktpro CVS .... and i've failed ...
i don't know why ...
it's trying to include
supercard_SD_bin.h
supercard_CF_bin.h
gbamp_bin.h

i've googled those header ... whitout any succes ..

thank in advance for your help :)

#119437 - GrizzlyAdams - Thu Feb 22, 2007 11:46 pm

those are .bin files placed into the DATA folder. They are the actual firmware images you want it to flash. You need to replace those with your own firmware images (none are included in cvs for various reasons including copyright)

#119773 - Kudaku - Mon Feb 26, 2007 2:02 am

I got it working with my SCSD, i did the moonshell movie player thing and it works so far
can i make a suggestion (small thing) if possible in the future to have different apps loading according to what's held down
ie. _BOOT_SC.NDS for nothing held
_BOOT_SC2.NDS for R held
_BOOT_SCe.NDS for A held
etc.
just a thought
and thanks to all the hard work and good luck on future apps!

#120485 - Unforgivn - Sun Mar 04, 2007 3:18 am

Using SC Lite w/ Chishm's fw 1.7a, I can no longer launch NDS files. GBA stuff still boots, but any DS homebrew looks like it is going to load, but just goes to a grey screen for a split second and then returns to the SuperCard file selector.

First, I went from 1.63 to 1.7a, so then I tried flashing to 1.7 original, then to 1.7a, but same issue.

Tried adding MoonShell and DSOrganize as "_BOOT_SC.NDS" but they weren't loaded either (just went right to the SuperCard menu). Anyone else having this issue? If so, did you solve it? How?

#120689 - GrizzlyAdams - Mon Mar 05, 2007 3:42 pm


Update:
I've updated my builds of the firmware and now have a build for Supercard CF.
This is currently untested and very much beta. SCPatcher-003-BETA.zip


Last edited by GrizzlyAdams on Fri Mar 09, 2007 9:30 am; edited 1 time in total

#120963 - mntorankusu - Wed Mar 07, 2007 7:43 pm

GrizzlyAdams wrote:

Update:
I've updated my builds of the firmware and now have a build for Supercard CF.
This is currently untested and very much beta. SCPatcher-003-BETA.zip

Since my Supercard CF is half-broken anyway, I went ahead and tried it. It works great. :D

My Supercard CF's RAM barely works due to one of the pins making a bad connection (I think, since it works when I stick a piece of paper in the slot, but that's not my idea of a solution), and most of the time it wouldn't even load anything because of it. But since this loader (apparently) doesn't use the RAM, my Supercard is useful again, at least for anything that doesn't try to use the RAM.

#121092 - darkgilson - Thu Mar 08, 2007 9:00 pm

Quote:
SCPatcher-003-BETA.zip


I get an Error 404 - Not Found :'(
_________________
Soon Blubb in 3D !

#121099 - Cygoku - Thu Mar 08, 2007 10:10 pm

I am using 1.7a f/w right now to auto-load Moonshell. At first it wasn't loading at all. Then Chishm helped me out by telling me to use th MPCF version of Moonshell and that patch it with SCL'S DLDI wich I took from here (of course).

Since then, I can no longer here sound when playing DPG movies.

Any help is appreciated.

Cygoku

#121131 - GrizzlyAdams - Fri Mar 09, 2007 9:30 am

Somehow alot of files got deleted from my server.
I'm working hard to put everything back. Homebrew Hosting is currently down and will probably be down till after monday.

Here is the file for now.

#121152 - thing - Fri Mar 09, 2007 4:00 pm

Unforgivn wrote:
Using SC Lite w/ Chishm's fw 1.7a, I can no longer launch NDS files. GBA stuff still boots, but any DS homebrew looks like it is going to load, but just goes to a grey screen for a split second and then returns to the SuperCard file selector.

First, I went from 1.63 to 1.7a, so then I tried flashing to 1.7 original, then to 1.7a, but same issue.

Tried adding MoonShell and DSOrganize as "_BOOT_SC.NDS" but they weren't loaded either (just went right to the SuperCard menu). Anyone else having this issue? If so, did you solve it? How?


Hello,
I'm getting the exact same issue. Did you find a solution?

Thanks

#121164 - darkgilson - Fri Mar 09, 2007 5:31 pm

GrizzlyAdams wrote:
Somehow alot of files got deleted from my server.
I'm working hard to put everything back. Homebrew Hosting is currently down and will probably be down till after monday.

Here is the file for now.


Thanks, man..
This works safe on a Supercard SD
Moonshell loading ok
Resume is ok
DPG playback failed(no sound)
It does when I launch _BOOT_SC.NDS by myself from the SC menu (available by pressing L during boot)

It's a great work you've done !

Cheers,

Darkgilson
_________________
Soon Blubb in 3D !

#121168 - sonny_jim - Fri Mar 09, 2007 6:20 pm

It's great to see someone adding some more functionality into a device, it's what hacking is all about ;-)

Tried it out on a SCSD in a DSlite, works fine using Moonshell as _BOOT_SC.nds, but if I try using DSLinux as that file I get two white screens :-(

#121173 - Cygoku - Fri Mar 09, 2007 8:43 pm

thing wrote:
Unforgivn wrote:
Using SC Lite w/ Chishm's fw 1.7a, I can no longer launch NDS files. GBA stuff still boots, but any DS homebrew looks like it is going to load, but just goes to a grey screen for a split second and then returns to the SuperCard file selector.

First, I went from 1.63 to 1.7a, so then I tried flashing to 1.7 original, then to 1.7a, but same issue.

Tried adding MoonShell and DSOrganize as "_BOOT_SC.NDS" but they weren't loaded either (just went right to the SuperCard menu). Anyone else having this issue? If so, did you solve it? How?


Hello,
I'm getting the exact same issue. Did you find a solution?

Thanks
Not yet my friend. I also tryed the suggestion of Chishm (first post of this page) and still no luck. I guess it's because we are using the binary of the MPCF wich propably lack something that SC needs.

Trying to find what it is.

For fun, I also tryed that Moonshell 1.71 on : SCSD, SCDS1, R4, EZ4L and XG1, worked like a charm.

Cygoku

#121175 - GrizzlyAdams - Fri Mar 09, 2007 9:02 pm

#1: i'm pretty sure the binary is the same, and all thats different is the dldi and the addition of a ds.gba header.

#2: chishm might have missed something in the clear memory sequence but I don't think so.

#121176 - Cygoku - Fri Mar 09, 2007 9:08 pm

GrizzlyAdams wrote:
#1: i'm pretty sure the binary is the same, and all thats different is the dldi and the addition of a ds.gba header.

#2: chishm might have missed something in the clear memory sequence but I don't think so.
Anyhow, on thing is clear, DPG file can't be played without sound issue using Chishm 1.7a f/w hack !! :/

Cygoku

#121213 - Unforgivn - Sat Mar 10, 2007 8:19 am

thing wrote:
Unforgivn wrote:
Using SC Lite w/ Chishm's fw 1.7a, I can no longer launch NDS files. GBA stuff still boots, but any DS homebrew looks like it is going to load, but just goes to a grey screen for a split second and then returns to the SuperCard file selector.

First, I went from 1.63 to 1.7a, so then I tried flashing to 1.7 original, then to 1.7a, but same issue.

Tried adding MoonShell and DSOrganize as "_BOOT_SC.NDS" but they weren't loaded either (just went right to the SuperCard menu). Anyone else having this issue? If so, did you solve it? How?


Hello,
I'm getting the exact same issue. Did you find a solution?

Thanks


Sorry to report that I have not. Tried Moonshell for GBAMP and the DLDI patch for SCLite. Also tried the other suggestion by Chishm to change the .ini files before installing.

However, none of that really matters, since it's not specific to MoonShell anyway - no NDS binaries will load after the update to 1.7a. I was just taking a stab in the dark, since if MoonShell would load, I could maybe load other homebrew throught it.

I suspect that this issue is due to a hardware change. I've got a newer SCLite (only 2 weeks old). Supporting this theory is the following:

Others with SCLite seem to run LMP-ng fine. Me, I can load it after DLDI patch, but it plays the first 1 second of the song fine and then the song speeds up with gibberish and then skips to the next song. Similar issues with the SC SD Moon DLDI patch.

This also seems to point at a HW change, since again, others report it works fine. I've done the self-tests for my card, and it passes all of them, so it doesn't *seem* to be a HW issue.

I'm no developer, so I'm pretty much stuck at this point. If anyone feels like taking a stab at the code, I'd be happy to test anything. I've got a GBAMP I could use as a recovery method, and would offer it up for free to anyone who might fix this (shipping on me). It's not much, but you'd also get my eternal gratitude and respect ;)

#121221 - GrizzlyAdams - Sat Mar 10, 2007 2:35 pm

Ok, the following *ONLY* applies to the builds for Supercard SD & Supercard CF.

I made a mistake in adding .ds.gba support, by doing so some .nds files are mis identified as .ds.gba files due to the way ndstool works currently.

I'll be releasing a new version without .ds.gba support later today. This is likely totally unrelated to the moonshell dpg problems, which I'm still trying to figure out.

#121274 - MasterMan - Sun Mar 11, 2007 12:36 am

Just to say thank you.
Works like a charm in my SC-CF when i add NDSLOADER.BIN.
Still no sound in DPG.

EDIT:
Could anyone code a standalone homebrew touch screen GUI wich uses "filename.png" as icon for "filename.nds.dsq", calling SC's firmware routine to launch .NDS.DSQ files?
Upper screen would show file info, as full name, size, CRC and such. And we could name it as _BOOT_SC.NDS.

Sorry if it shoudn't be talked here, as DSQ are patched commercial roms :(

#121292 - Dood77 - Sun Mar 11, 2007 8:44 am

so is there anything else these firmware hacks break besides DPG sound?

#121359 - MasterMan - Sun Mar 11, 2007 9:10 pm

Dood77 wrote:
so is there anything else these firmware hacks break besides DPG sound?

No that i have seen.

#122792 - MasterMan - Thu Mar 22, 2007 3:09 am

But will Chism and GrizzlyAdams try to update it?

#122794 - Dood77 - Thu Mar 22, 2007 5:49 am

Pretty please? :D

#122811 - Cygoku - Thu Mar 22, 2007 12:44 pm

I hope sound's soon gonna be fixed !! :(

Cygoku

#123825 - user6336 - Sat Mar 31, 2007 5:16 pm

I feel like an idiot for asking this, but... is there a simple way to install it? Do I just extract the files onto my sd card and run "flashscsd.nds"? Or is there another file I need to run? Or do I have to do some compiling thing? I read the readme but didn't understand it.... :)

Edit: Figured it out... launched "flashscsd.nds" in moonshell, and it came up with the flash dialog thingy :)
_________________
http://prdesign.co.nr
All shirts just $11.11 each!

#126654 - tyraen - Wed Apr 25, 2007 6:04 pm

I have the same issue that Unforgivn and thing wrote about. I can't seem to launch either .nds or .sc.nds files anymore. :)

#126663 - Cygoku - Wed Apr 25, 2007 7:48 pm

I wonder where chishm is on the bug fixing,...

Cygoku

#126673 - GrizzlyAdams - Wed Apr 25, 2007 10:21 pm

Both chishm and I have sort of moved on from the project.
With the SCLite version and the SCSD version you can use the last full .bin update to restore the factory firmware. I assume that it holds true for the SCCF version as well.

#126685 - Dood77 - Wed Apr 25, 2007 11:10 pm

So either I hear sound on my DPGs or I get automatic booting? Can it be too difficult to trace one bug?

#126693 - DragonMinded - Thu Apr 26, 2007 12:50 am

Dood77 wrote:
So either I hear sound on my DPGs or I get automatic booting? Can it be too difficult to trace one bug?


Can't be. Why don't you get on it?
_________________
Enter the mind of the dragon.

http://dragonminded.blogspot.com

Seriously guys, how hard is it to simply TRY something yourself?

#126742 - Dood77 - Thu Apr 26, 2007 7:11 am

DragonMinded wrote:
Dood77 wrote:
So either I hear sound on my DPGs or I get automatic booting? Can it be too difficult to trace one bug?


Can't be. Why don't you get on it?

Sorry if I sounded demanding, but i have extremely rudimentary knowledge in C and things dealing directly with hardware (memory addresses, etc.)
If I attempted this it would basically be me asking what to do, someone posting a code suggestion, and me copying to the and source having no idea what I'm doing.

#126749 - DragonMinded - Thu Apr 26, 2007 8:10 am

Dood77 wrote:
DragonMinded wrote:
Dood77 wrote:
So either I hear sound on my DPGs or I get automatic booting? Can it be too difficult to trace one bug?


Can't be. Why don't you get on it?

Sorry if I sounded demanding, but i have extremely rudimentary knowledge in C and things dealing directly with hardware (memory addresses, etc.)
If I attempted this it would basically be me asking what to do, someone posting a code suggestion, and me copying to the and source having no idea what I'm doing.


Well, then you get an idea of how hard a bug can be to track, especially when it isn't your code in question.
_________________
Enter the mind of the dragon.

http://dragonminded.blogspot.com

Seriously guys, how hard is it to simply TRY something yourself?

#126772 - Cygoku - Thu Apr 26, 2007 1:40 pm

DragonMinded wrote:
Well, then you get an idea of how hard a bug can be to track, especially when it isn't your code in question.
Anyway, we were asking if Chishm was still trying to fix the bug and not if someone else could do it.

Cygoku

#126774 - chishm - Thu Apr 26, 2007 1:48 pm

No, as GrizzlyAdams said, we've moved on to other projects.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#126812 - Dood77 - Fri Apr 27, 2007 12:02 am

DragonMinded wrote:
Well, then you get an idea of how hard a bug can be to track, especially when it isn't your code in question.

Thats specifically why I asked if it would be hard to fix, I'm not totally programming etc. illiterate, some details on what could be causing it would've been helpful. Just to know if it was a lost cause or not.
chishm wrote:
No, as GrizzlyAdams said, we've moved on to other projects.

Well then all I have to say is too bad... but at least you are working on something I guess, much of your work is greatly appreciated here.

#178353 - slowpoke - Wed Mar 25, 2015 12:44 pm

So I got a Supercard Mini SD (it was cheap) to run GBA games on my old DS Lite and found this antediluvian thread.
The modded firmware is appiled all right but "_BOOT_SC.NDS" never boots automatically.