Hacking SoftChip Backup Loader

requiem4d

Well-Known Member
OP
Member
Joined
Oct 25, 2008
Messages
181
Trophies
0
XP
54
Country
United States
As some of you know, I have been writing the SoftChip backup loader for the past few days. With today being Election Day here in the states, I set today as the target release date for the first alpha. Unfortunately, I was unable to meet my goals with the time restraints I have had. However, I do intend to keep my promise to the community, and am releasing the sources today.

This software is not affiliated with GBAtemp or any of its members or staff, myself excluded, and I request that while you may discuss anything related to the software here, if you have an issue that you need resolved, please do it at the google code site.

So.... Here it is. Please don't run it unless you know what you're doing. I'm not responsible for anything anybody uses it for. I share no responsibility if it bricks your wii, ruins your tv, kills your controllers, burns your house down, and/or shoots your dog.

I would also like to request that this doesn't become known as "Requiem's loader". Its official name is SoftChip, and it belongs to the community.

Official Website: http://www.softchip-mod.com/
Google Code Site: http://code.google.com/p/wii-softchip/

For those of you who wish to contribute, the official IRC channel is #SoftChip on Freenode.

Thanks to everyone for your patience and support.

Edit: 2008-11-05

The loader is working as of svn r7. Test away. Please fill out any issue reports that you're having on the Google Code site.

Edit: 2008-11-08

There is no official compiled .dol. This is pre-alpha software, and is intended primarily for developers until it hits alpha.

Edit: 2008-11-13

Added link to official website.
 

djdynamite123

Master Of Hardcore!
Banned
Joined
Sep 21, 2008
Messages
3,788
Trophies
0
Age
36
Location
Redcar, England UK
Website
www.djdynamite.bravehost.com
XP
136
Country
QUOTE said:
So.... Here it is. Please don't run it unless you know what you're doing. I'm not responsible for anything anybody uses it for. I share no responsibility if it bricks your wii, ruins your tv, kills your controllers, burns your house down, and/or shoots your dog.
lol, hope all goes well
 

MelodieOctavia

Just your friendly neighborhood Transbian.
Former Staff
Joined
Aug 29, 2008
Messages
6,258
Trophies
2
Age
39
Location
Hiatus Hell
Website
yourmom.com
XP
4,692
Country
Djibouti
I am not a coder myself, but all I have to say is do not give up hope like so many coders I have seen come and go. if you look at the psp homebrew scene you'll know what I'm talking about.

Toukon!!!!
 

picano

Well-Known Member
Member
Joined
Aug 21, 2008
Messages
197
Trophies
0
Age
35
Location
Nebraska
Website
soifall.net
XP
270
Country
United States
Good work so far. --- Pointers can be a pain in the ass...

Anyway, glanced over the code... I was expecting something quite a bit more confusing. I'll try and take a look at it once I get another break from classes. Doubt I'll make any discoveries, but it's definitely interesting to see the inner workings.
 

requiem4d

Well-Known Member
OP
Member
Joined
Oct 25, 2008
Messages
181
Trophies
0
XP
54
Country
United States
The goal was to make this code as easy to understand as possible. If nobody can read it, nobody can write it. Thanks.
 

djdynamite123

Master Of Hardcore!
Banned
Joined
Sep 21, 2008
Messages
3,788
Trophies
0
Age
36
Location
Redcar, England UK
Website
www.djdynamite.bravehost.com
XP
136
Country
QUOTE said:
The goal was to make this code as easy to understand as possible. If nobody can read it, nobody can write it. Thank
Makes sense
smile.gif
 

WiiPower

Well-Known Member
Member
Joined
Oct 17, 2008
Messages
8,165
Trophies
0
XP
345
Country
Gambia, The
Annoying noob question:
Why do you use int and long instead of u32,u8,s32 etc.? All i know is, that the size of int and long vary from system to system, and i don't know the size of a long inside the wii. I think u32,u8,s32 etc. are unmissinterpretable.
 

requiem4d

Well-Known Member
OP
Member
Joined
Oct 25, 2008
Messages
181
Trophies
0
XP
54
Country
United States
The wii's sizes are the same from wii to wii. As it stands, this won't run on anything else. This was a "readability" concern for new coders not necessarily familiar with the libraries.
 

Arm the Homeless

Custom Title
Member
Joined
May 26, 2008
Messages
1,762
Trophies
0
Location
/home/andy/
Website
Visit site
XP
125
Country
United States
I know this is a alpha, not working release, but I got errors when I tried to compile it.
Code:
andy@compy386:~/.devkitPro/haxx/wii-softchip-read-only/softchip$ make
main.cpp
SoftChip.cpp
/home/andy/.devkitPro/haxx/wii-softchip-read-only/softchip/source/SoftChip/SoftChip.cpp: In member function 'void SoftChip::Load()':
/home/andy/.devkitPro/haxx/wii-softchip-read-only/softchip/source/SoftChip/SoftChip.cpp:213: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'dword'
/home/andy/.devkitPro/haxx/wii-softchip-read-only/softchip/source/SoftChip/SoftChip.cpp:213: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'dword'
/home/andy/.devkitPro/haxx/wii-softchip-read-only/softchip/source/SoftChip/SoftChip.cpp:221: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'dword'
/home/andy/.devkitPro/haxx/wii-softchip-read-only/softchip/source/SoftChip/SoftChip.cpp:221: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'dword'
/home/andy/.devkitPro/haxx/wii-softchip-read-only/softchip/source/SoftChip/SoftChip.cpp:235: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'dword'
/home/andy/.devkitPro/haxx/wii-softchip-read-only/softchip/source/SoftChip/SoftChip.cpp:235: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'dword'
/home/andy/.devkitPro/haxx/wii-softchip-read-only/softchip/source/SoftChip/SoftChip.cpp:256: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'signed_blob*'
/home/andy/.devkitPro/haxx/wii-softchip-read-only/softchip/source/SoftChip/SoftChip.cpp:256: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'signed_blob*'
/home/andy/.devkitPro/haxx/wii-softchip-read-only/softchip/source/SoftChip/SoftChip.cpp:265: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'signed_blob*'
/home/andy/.devkitPro/haxx/wii-softchip-read-only/softchip/source/SoftChip/SoftChip.cpp:265: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'signed_blob*'
/home/andy/.devkitPro/haxx/wii-softchip-read-only/softchip/source/SoftChip/SoftChip.cpp:272: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'signed_blob*'
/home/andy/.devkitPro/haxx/wii-softchip-read-only/softchip/source/SoftChip/SoftChip.cpp:272: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'signed_blob*'
/home/andy/.devkitPro/haxx/wii-softchip-read-only/softchip/source/SoftChip/SoftChip.cpp: At global scope:
/home/andy/.devkitPro/haxx/wii-softchip-read-only/softchip/source/SoftChip/SoftChip.cpp:45: warning: 'void Report(const char*, ...)' defined but not used
DIP.cpp
cIOS.cpp
linking ... SoftChip.elf
output ... SoftChip.dol

Probably just GCC, I get that all the time. And the application still builds. But I dunno.
 

requiem4d

Well-Known Member
OP
Member
Joined
Oct 25, 2008
Messages
181
Trophies
0
XP
54
Country
United States
Those printfs are there just so that I know what address everything is located. Safe to ignore, unless someone feels like casting all of them.

I intend to cast them all to unsigned ints, but those warnings are low priority.

Edit:

Disregard that. I went ahead and fixed the warnings, and corrected a stupid typo in my email address.
 

roy_hu

Active Member
Newcomer
Joined
Oct 21, 2008
Messages
29
Trophies
0
XP
28
Country
United States
Great work! A couple of questions:

1. It works with cIOS 249 by default. Should I use wanikoko's, or wiigator's (v0.1 or v0.3?) I heard that they are the same, but I'm not sure.
2. Is it supposed to work with both 1:1 backups and decrypted backups, or just the 1:1 backups?
3. I don't require you to provide any guarantee, but I'm going to assume you had run your loader on your wii and it didn't break your wii. If you committed a change into the repository but didn't test it, please include a WARNING file at the top level of the repository.
4. I glanced over the source code, but don't have time to read it carefully yet. It's quite a surprise to me that apploader.bin is returning null, because you can basically rewrite wiigator's C code in C++. What's your guess?
 

FalcoX

New Member
Newbie
Joined
Nov 4, 2008
Messages
2
Trophies
0
Website
emupedia.com
XP
1
Country
United States
I'll take a look at the source when I get a chance. It intrigues me... however I doubt I'll be able to do anything with it. I've never played with Wii programs yet.
 

Seraph863

Active Member
Newcomer
Joined
Sep 26, 2008
Messages
41
Trophies
0
XP
7
Country
United States
VERY easy to read. I barely understand C++ coding, and I know it's only in a comment, but I think there may be a small typo.

DIP.cpp
Line 209 * Wait_CoverCose: Waits for the drive to announce cover is closed

Whereas on Line 216 it's referenced as
int DIP::Wait_CoverClose()


Again, I'm 99% sure that the typo is just in a comment, and does not effect the actual code.
 

Arm the Homeless

Custom Title
Member
Joined
May 26, 2008
Messages
1,762
Trophies
0
Location
/home/andy/
Website
Visit site
XP
125
Country
United States
Seraph863 said:
VERY easy to read. I barely understand C++ coding, and I know it's only in a comment, but I think there may be a small typo.

DIP.cpp
Line 209 * Wait_CoverCose: Waits for the drive to announce cover is closed

Whereas on Line 216 it's referenced as
int DIP::Wait_CoverClose()


Again, I'm 99% sure that the typo is just in a comment, and does not effect the actual code.
/* In C, this is a comment. */
// In C, this is also a comment

It does not affect anything. Just a mistyped comment. Not something like in Office Space where he misplaces the decimal in the virus.

EDIT: And also, you might not get too much coding help at GBATemp. I'm sure we're only rated a notch above MaxConsole.
Try Wiibrew Forums and if they won't help (they probably won't) try TehSkeen.
 

Seraph863

Active Member
Newcomer
Joined
Sep 26, 2008
Messages
41
Trophies
0
XP
7
Country
United States
Tehskeen probably won't help much, either. They strongly oppose a backup loader strictly due to the piracy issue. That's why Waninkoko's loader was leaked here, and not there, and that's why WiiGator is here, not there.

Thanks for confirming the typo was in the comment. I wasn't 100% positive about it.
 

Seraph863

Active Member
Newcomer
Joined
Sep 26, 2008
Messages
41
Trophies
0
XP
7
Country
United States
No... Soft mod. Just like Waninkoko's or WiiGator's. It's Software.

The proper name for this loader is called SoftChip. That's all.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Sicklyboy @ Sicklyboy:
    I'm not familiar with the technicalities of the differences between the two versions, but I'm wondering if at least some of those differences are things that you could port over to the US version in your patch without having to include copyrighted assets from the EU version
  • TwoSpikedHands @ TwoSpikedHands:
    @Sicklyboy I am wanting to fully change the game and bend it to my will lol. I would like to eventually have the ability to add more characters, enemies, even have a completely different story if i wanted. I already have the ability to change the tilemaps in the US version, so I can basically make my own map and warp to it in game - so I'm pretty far into it!
  • TwoSpikedHands @ TwoSpikedHands:
    I really would like to make a hack that I would enjoy playing, and maybe other people would too. swapping to the EU version would also mean my US friends could not legally play it
  • TwoSpikedHands @ TwoSpikedHands:
    I am definitely considering porting over some of the EU features without using the actual ROM itself, tbh that would probably be the best way to go about it... but i'm sad that the voice acting is so.... not good on the US version. May not be a way around that though
  • TwoSpikedHands @ TwoSpikedHands:
    I appreciate the insight!
  • The Real Jdbye @ The Real Jdbye:
    @TwoSpikedHands just switch, all the knowledge you learned still applies and most of the code and assets should be the same anyway
  • The Real Jdbye @ The Real Jdbye:
    and realistically they wouldn't

    be able to play it legally anyway since they need a ROM and they probably don't have the means to dump it themselves
  • The Real Jdbye @ The Real Jdbye:
    why the shit does the shitbox randomly insert newlines in my messages
  • Veho @ Veho:
    It does that when I edit a post.
  • Veho @ Veho:
    It inserts a newline in a random spot.
  • The Real Jdbye @ The Real Jdbye:
    never had that i don't think
  • Karma177 @ Karma177:
    do y'all think having an sd card that has a write speed of 700kb/s is a bad idea?
    trying to restore emunand rn but it's taking ages... (also when I finished the first time hekate decided to delete all my fucking files :wacko:)
  • The Real Jdbye @ The Real Jdbye:
    @Karma177 that sd card is 100% faulty so yes, its a bad idea
  • The Real Jdbye @ The Real Jdbye:
    even the slowest non-sdhc sd cards are a few MB/s
  • Karma177 @ Karma177:
    @The Real Jdbye it hasn't given me any error trying to write things on it so I don't really think it's faulty (pasted 40/50gb+ folders and no write errors)
  • DinohScene @ DinohScene:
    run h2testw on it
    +1
  • DinohScene @ DinohScene:
    when SD cards/microSD write speeds drop below a meg a sec, they're usually on the verge of dying
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Samsung SD format can sometimes fix them too
  • Purple_Heart @ Purple_Heart:
    yes looks like an faulty sd
  • Purple_Heart @ Purple_Heart:
    @Psionic Roshambo i may try that with my dead sd cards
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    It's always worth a shot
  • TwoSpikedHands @ TwoSpikedHands:
    @The Real Jdbye, I considered that, but i'll have to wait until i can get the eu version in the mail lol
  • I @ I-need-help-with-wup-wiiu:
    i need help with nusspli failed downloads, can someone respond to my thread? pretty please:wub: