This repository has been archived on 2026-05-18 . You can view files and clone it. You cannot open issues or pull requests or push a commit.
bc0c8c135d725ce45ce347c53613026e34864c2f
GameCube Action Replay SD Loader V1.00. Copyright 2005. by Costis (costis@gbaemu.com and http://www.gcdev.com) README FIRST!!! =================== Short Description =================== The Action Replay SD Loader (or SDLOAD for short) is an tool which allows you to boot code on an unmodified GameCube within 10 to 15 seconds from the time you turn it on! It makes use of an Action Replay code which tricks the GameCube into running my bootloader code and loading my SD card selection menu. The selection menu supports all these features: - Loading any DOL file from the SD card in any directory and subdirectory. - Loading any DOL or binary file with PSOload from your computer through the network. - Reloading or exiting back to the SD selection menu from your programs by branching to the small reloader code (just like in PSOload V2.00). - NO need for a modified GameCube, works on ALL unmodified GameCubes. - Works on EVERY Action Replay revision -- One code to rule them all! - Only 29 codes to insert once. They are saved on the Action Replay memory card after you have written them in the first time and you just have to select "Start Game" every subsequent time to boot into the SD loader menu. - Can be installed WITHOUT a way to run code on the GameCube prior to this! All you need is an Action Replay, an SD card adapter for the GameCube, and an SD card. - Boots to the SDLOADER selection menu on the FIRST Action Replay boot. Please read the sections below even though they are lengthy. This can be the IDEAL GameCube development solution for you! Once you are done reading and are ready to try out my loader, follow the installation process in install.txt. Also, if you are a developer or hacker, I have included a special section for you at the end of this readme about source code, etc.... Having problems with the loader or cannot get it to work? Post on the GCDev.com forums with a clear description of your problem or even e-mail me at costis@gbaemu.com and I will try to get back to you as soon as possible with the solution. Also, I'd love to hear feedback for this project, especially after all of the hard work I have to put into it! Send ALL comments, suggestions, and even constructive criticism to costis@gbaemu.com as well or likewise post on the forums. ====================== Detailed Description ====================== Well... As I promised around a week ago, here it is -- my surprise GameCube release on New Year's day! Happy New Year everyone!!!! Around two years ago, I released a program called PSOload which allowed people to boot their own homebrew code on the GameCube by exploiting a network feature of the online game Phantasy Star Online. GameCube development has come a long way since then, and I find it simply amazing how many people have ardently coped with the annoyance and inefficiencies of having to boot through PSO every single time, waiting for it to load through the title screens, going through the main menu, and then finally waiting for it to connect to my loader server! I myself used this method of code uploading for quite some time (until I lost my PSO disk ;)) I estimate that it takes more than 2 minutes or so to boot code each time using the PSO exploit method from the time when the GameCube is turned on! Sure, now that the viper chip has been released and tmbinc has released sources for his homebrew BIOS replacement chip, people can go modify their GC's and run code on them right when they are turned on. But there are many disadvantages to modifying your GameCube... 1. You have to open your GameCube console, voiding your warranty. 2. If something goes wrong in the installation, you may be forever left with a broken GameCube. 3. You can only boot code on that GameCube itself, not on any other unmodified GameCube's so you can't really show your stuff off to friends on their own GC's. 4. The installation process is much more complicated and there are countless places where it can go wrong... 5. This new code loading method I have released allows you to develop for the GameCube just as efficiently as with a modified console! SO what is this tool I am releasing? I like to call it SDLOAD. It is a completely different method of uploading code on unmodified GC's. It takes approximately 10 to 15 seconds from the time you have turned on your GC to the time you are able to boot any DOL file of your choice. How does this work you say? My SD bootloader makes use of the Action Replay in order to exploit the GameCube and gain full control over it, allowing the user to select any homebrew file to load and run. The Action Replay is a product made by Datel, which normally allows users to "enhance" their gaming experiences by entering cheat codes for GameCube games. It can be bought for around $30 at any local video game store or online at places such as GameStop (http://www.gamestop.com.) This is the part that Parasyte contributed a huge amount to... After many hours of hard work, Parasyte came up with a method to trick ANY version Action Replay disk to patch *itself* rather than any other game with a small amount of GC program code encrypted in special Action Replay codes! After the code has been entered, you select "Start Game", open and close the cover once, and the Action Replay happily patches itself with a very small amount of code of my choice! I had an SD card adapter for the GC laying around, so I came up with the idea of trying to cram an SD card bootloader inside this small code space... After much optimization and pure PowerPC assembly code writing, I came up with 29 Action Replay codes which can be used to load code from an SD card, and this is where SDLOAD was born! This is how it works... You need an SD card adapter (which you can either buy from places like Lik-Sang, make yourself -- see included instructions, or kindly request for me to make and sell you one), an Action Replay disk (can be bought in most stores), an SD card reader for the PC, and of course... an SD card! That's it! Just these items and you can be set to run code on ANY unmodified GameCube within seconds!!! I know how tedious it is to have to enter AR codes by hand, especially if you do not own a GC keyboard and have to use the controller, so I have worked very hard and have managed to fit the whole bootloader init code in only 29 AR codes. To "install" SDLOAD, you just have to enter the bootloader code in the AR and prepare the SD card with the SD card reader and my included PC program. After you have completed these two steps, you are set to run the SDLOADER menu program by simply turning on your GameCube, pressing A to Start Game, and opening and closing the DVD disk cover. =============== SDLOADER MENU =============== Once you are greeted with the menu, you have the power of running homebrew GC code in your hands! The menu will display a directory and file listing of all of the DOL files on the SD card. You can browse through and even go into multiple subdirectories. Use the UP and DOWN D-PAD buttons to step through the menu items in those directions. The scrollbar on the right side indicates your current position. Press the A button over a folder in order to go inside that folder, and press A over a DOL file in order to load that file from the card and execute it. The L trigger button takes you to the very top of the directory (HOME), and the R trigger button takes you to the very bottom of the current directory (END). Pressing the B button will lead you to the parent directory (alternatively you can press A over the ".." folder item to be taken back to the parent folder.) Finally, the Z button will always return you to the root directory of the card. You can remove the SD card at ANY time while the menu program is running. Once you have removed the SD card from the memory card slot, the menu will detect this and will say "REINSERT SD CARD IN SLOT A" at the top right part of the screen. You may now make any changes to the SD card you want or even reinsert a different SD card, and the loader will refresh the dir listing. There is also a preliminary feature for using programs that do not know how to unlock official Nintendo memory cards properly (specifically GCS...) I believe this may only work properly with 59 block cards, but whatever. If you use the X button over a DOL file, the menu will load it just like if you pressed the A button. However, once it has finished reading the file from the card, it will say "REMOVE SD CARD" at the top right of the screen. Once you remove the card from the slot, it will request "INSERT MEMCARD". Insert a memory card into slot A at this point and SDLOADER will unlock it before executing the DOL file which it has just loaded! Finally, the last two features of the current release are especially useful for homebrew developers... I have added a Network Boot feature. This allows you to configure the SDLOADER menu to initialize the BBA and accept DOL or binary files from PSOload at ANY time while the menu is running. While the BBA has been activated, the PSOload detection code is running in the background, so you are still free to traverse through the menus and select a DOL to boot from the SD card itself. However, once you run PSOload with the -r option, the menu will say "NETWORK BOOT..." in the top right and will load and execute a GC executable from PSOload through the network. This should make quick changes and test cycles extremely efficient, reducing the need to write every new build to the SD card and exchange it back and forth between your GC and PC reader. Details for configuring SDLOADER to set up the BBA and work with network boot are all included in install.txt which is included in this package. Continuing with the tradition of the reload feature in PSOload, I have included a reloader feature in SDLOADER as well! In fact, I have been able to make it function in the exact same way as the PSOload reload feature to the user, except it is even better this time. Last time, if you executed the reloader before you had PSOload -r running on your computer, the GameCube would crash. Now, if you jump to the reloader code, it will reload the menu program from the SD card and execute it, allowing you to either boot a new DOL from the SD card itself or load another executable from the network through PSOload -r! Make sure that the sD card is inserted before using the reloader feature to exit back to the menu, of course. Once again, exact details for using the reloader feature (including example code for invoking it) can be found in install.txt =================== SD CARD CONNECTOR =================== I realize that Lik-Sang is one one of the only places where you can buy an SD card adapter for the GameCube if you are not located in Japan, and they have it for pretty expensive... ($30 or so). The SD card adapter is very simple hardware, however. In fact, it is "straight-through" and a homebrew adapter can be made by hacking up an old GC memory card and soldering a few wires to an SD card connector. SD card connectors can be removed from cheap SD card readers or even bought as discrete components from electronic parts stores or online catalogs such as Digikey (http://www.digikey.com). To make the connector follow this guide: In this PDF document (http://www.egr.msu.edu/classes/ece480/goodman/fall/group05/deliverables/appnote_foust.pdf) on the second page, there is a pinout of a standard SD card. Match these pins to your SD connector. DarkFader has a memory card connector pinout in this photo: http://darkfader.net/ngc/files/memcard.jpg You must connect the two VSS pins (VSS and VSS2) on the SD card connector together and to GND on the memory card pad (pin 2 or pin 10). You must connect VCC to 3.3V (pin 8). You must connect the CLK pin on the SD card to the CLK pad on the memcard (pin 11). You must connect the CS pin on the SD card to the CS pad on the memcard (pin 9). You must connect the MOSI pin on the SD card to the MOSI pad on the memcard (pin 5). Finally, you must connect the MISO pin on the SD card to the MISO pad on the memcard (pin 7.) It's around 3 A.M. at night right now, so I am too tired to write a proper how-to guide with photos and diagrams, etc. But I have promised to release this tonight, so I am keeping my promise. I will release such a detailed guide within the coming days to facilitate the process. I really do not want the difficulty of obtaining an SD card adapter to hinder people from using my loader, so if you definitely cannot buy one from an online store such as Lik-Sang (http://www.lik-sang.com) and do not feel comfortable making your own, feel free to send me an e-mail and I can probably arrange to make a homebrew connector for you, provided that you pay all component and shipping expenses. I estimate that it'll cost maybe around $10-15 or so per connector. I have high hopes that my SD bootloader will become THE new development solution for the GameCube. SD cards are high density, so you can put EVERY homebrew DOL file ever created on an SD card and have them all to load whenever you want. You can take your Action Replay disk and SD card to friends' houses and show them all your neat new GameCube stuff on their own GC's. This does NOT require a PC to boot code once you have the DOL files on your SD card, so you do not have to drag laptops along with you, and it works on all GameCubes, so you do not have to bring along your whole GameCube if you are using a mod-chip for development! PLEASE do not let the SD card connector discourage you from trying out this loader. Like I said, I would be happy to make a few connectors and give them out for as cheap as I can without a deficit. Send me an e-mail at costis@gbaemu.com if you want to do this, although if buying an official adapter is not a problem for you, *please* respect my time and go for that instead. It will look far more professional anyway, and you will have the guarantee of its durability. And after all, $30 is almost nothing compared to the cost and rarity of BroadBand Adapters right now. The PSO method right now costs around $60 for PSO (which is very difficult to find in stores because it has been discontinued) and $40 for the BBA. This totals to around $100! For SDLOAD, the Action Replay costs only $30, and the SD card adapter costs $30 as well if you get the official one! That totals to around $60 for a complete GameCube development environment that is arguably even MORE efficient than modifyng your GC with a mod-chip. You may also be able to find old Action Replay disks on E-Bay for much cheaper. ================= FOR DEVELOPERS ================= I have included the full source code of the sdpatch.exe program (see install.txt for instructions on how to use it and what it is for.) The main reason for this is that it is specific to NT operating systems (Windows NT/2000/XP) and I have no knowledge of the Linux or Mac OS X operating systems myself... Knowing that many people use these alternative operating systems (from experience with PSOload), I have released the source code so that anyone can port it to any other operating system. sdpatch.exe does use a lot of system specific calls, but it should easily be portable to Linux and Mac OS X by replacing them with the low-level equivalents for those OS's. If anyone ports sdpatch.exe to any other OS than Windows, please contact me and I will upload it to GCDev.com for posting. The menu program that is loaded after you open and close the cover on the Action Replay (SDLOADER) is just a simple file on the SD card. It's the file that you copied to the root directory of the card while following the installation text called SDLOADER.BIN. This file is a simple GameCube executable binary which is loaded and copied to RAM location 0x81700000 (the high 1MB of RAM on the GC's 24MB of main RAM.) You can easily replace SDLOADER.BIN with your own creation to have it boot at start-up instead of the default menu if you choose to do so. Just set your compiler to compile for a target text base section of 0x81700000 (-Ttext 0x81700000) and then use objcopy to convert the output ELF file from the linker to a binary: powerpc-elf-objcopy -O binary sdloader.elf SDLOADER.BIN (for example...) The only precaution you have to take is that your binary file is 1MB or less in size, as otherwise it will overflow through the top of the GC's RAM! ======================= CREDITS AND GREETINGS ======================= I would like to thank Parasyte first and foremost for making this loader a possibility. He figured out the incredible Action Replay patching method which allowed me to create an SD card bootloader code which works on EVERY Action Replay and on the first boot. He also provided me with stable network code for interfacing the BroadBand Adapter and helped me test every stage of the loader as a whole until I got rid of all the visible bugs. Other credits and greetings (in no specific order) go out to... DayDream -- HUGE thanks for drawing the SD logo at the top of SDLOADER!!!! smilydude -- Thanks for making some FAT16 raw test images for me! BigRedPmp Lord_NightMare tmbinc dovoto The_1 -- Thanks for testing out some AR codes on your Action Replay! SubDrag Sappharad joat kevtris DuoDreamer DarkFader groepaz DesktopMan -- Thanks for donating the SD card connector in the first place! Myria Samson sgstair asterick Zeus JustBurn Guyfawkes woo And everyone else I have missed!!! You can contact me at costis@gbaemu.com or by making a post on the GCDev.com forums: http://forums.gcdev.com. http://www.gcdev.com is and always WILL be the home site of this project. Help me make this project a success! AND HAPPY NEW YEAR EVERYONE!!!!!!
Description
Languages
C++
94.9%
C
5.1%