SoftChip Backup Loader

Discussion in 'Wii - Backup Loaders' started by requiem4d, Nov 4, 2008.

Nov 4, 2008

SoftChip Backup Loader by requiem4d at 4:32 PM (396,343 Views / 0 Likes) 1,540 replies

  1. requiem4d
    OP

    Member requiem4d GBAtemp Regular

    Joined:
    Oct 25, 2008
    Messages:
    181
    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.
     


  2. djdynamite123

    Banned djdynamite123 Master Of Hardcore!

    Joined:
    Sep 21, 2008
    Messages:
    3,791
    Location:
    Redcar, England UK
    Country:
    United Kingdom
    lol, hope all goes well
     
  3. djtaz

    Member djtaz PM's Full - Wadder Me

    Joined:
    Sep 21, 2008
    Messages:
    2,997
    Country:
    Ireland
    Good work and good effort - someone may be able to lend a hand with this - Thanks
     
  4. maglat

    Newcomer maglat Advanced Member

    Joined:
    Dec 21, 2006
    Messages:
    59
    Country:
    Germany
    Keep it up! I hope we will see more from you in the future
     
  5. TwinRetro

    Global Moderator TwinRetro Don't start nothin', Won't be nothin'

    Joined:
    Aug 29, 2008
    Messages:
    6,181
    Location:
    Las Vegas, NV
    Country:
    United States
    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!!!!
     
  6. picano

    Member picano GBAtemp Regular

    Joined:
    Aug 21, 2008
    Messages:
    197
    Location:
    Nebraska
    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.
     
  7. requiem4d
    OP

    Member requiem4d GBAtemp Regular

    Joined:
    Oct 25, 2008
    Messages:
    181
    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.
     
  8. djdynamite123

    Banned djdynamite123 Master Of Hardcore!

    Joined:
    Sep 21, 2008
    Messages:
    3,791
    Location:
    Redcar, England UK
    Country:
    United Kingdom
    Makes sense [​IMG]
     
  9. WiiPower

    Member WiiPower GBAtemp Guru

    Joined:
    Oct 17, 2008
    Messages:
    8,165
    Country:
    Germany
    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.
     
  10. requiem4d
    OP

    Member requiem4d GBAtemp Regular

    Joined:
    Oct 25, 2008
    Messages:
    181
    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.
     
  11. Arm the Homeless

    Member Arm the Homeless Custom Title

    Joined:
    May 26, 2008
    Messages:
    1,762
    Location:
    /home/andy/
    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.
     
  12. requiem4d
    OP

    Member requiem4d GBAtemp Regular

    Joined:
    Oct 25, 2008
    Messages:
    181
    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.
     
  13. roy_hu

    Newcomer roy_hu Member

    Joined:
    Oct 21, 2008
    Messages:
    29
    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?
     
  14. FalcoX

    Newcomer FalcoX Newbie

    Joined:
    Nov 4, 2008
    Messages:
    2
    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.
     
  15. Seraph863

    Newcomer Seraph863 Member

    Joined:
    Sep 26, 2008
    Messages:
    41
    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.
     
  16. Arm the Homeless

    Member Arm the Homeless Custom Title

    Joined:
    May 26, 2008
    Messages:
    1,762
    Location:
    /home/andy/
    Country:
    United States
    /* 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.
     
  17. Seraph863

    Newcomer Seraph863 Member

    Joined:
    Sep 26, 2008
    Messages:
    41
    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.
     
  18. kvp1192

    Newcomer kvp1192 Member

    Joined:
    Aug 24, 2008
    Messages:
    40
    Country:
    United States
    i know this may not help..but what do you mean by softchip? will we have to do something to our wii?
     
  19. Seraph863

    Newcomer Seraph863 Member

    Joined:
    Sep 26, 2008
    Messages:
    41
    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.
     
  20. kvp1192

    Newcomer kvp1192 Member

    Joined:
    Aug 24, 2008
    Messages:
    40
    Country:
    United States
    oh..how will this loader differ from wiigators? like speed wise/compatibility?
     

Share This Page