From bc0c8c135d725ce45ce347c53613026e34864c2f Mon Sep 17 00:00:00 2001 From: Andrew Kesterson Date: Mon, 18 May 2026 12:45:01 -0400 Subject: [PATCH] Commit code, circa 2005 --- SDIPDATA.CFG | 1 + SDLOADER.BIN | Bin 0 -> 68580 bytes SDpatch.dol | Bin 0 -> 63296 bytes install.txt | 200 +++++++++++++ readme.txt | 316 +++++++++++++++++++++ src/.svn/all-wcprops | 23 ++ src/.svn/entries | 133 +++++++++ src/.svn/prop-base/SDpatch.cpp.svn-base | 5 + src/.svn/prop-base/StdAfx.cpp.svn-base | 5 + src/.svn/prop-base/StdAfx.h.svn-base | 5 + src/.svn/text-base/SDpatch.cpp.svn-base | 267 +++++++++++++++++ src/.svn/text-base/StdAfx.cpp.svn-base | 8 + src/.svn/text-base/StdAfx.h.svn-base | 19 ++ src/CVS/.svn/all-wcprops | 23 ++ src/CVS/.svn/entries | 130 +++++++++ src/CVS/.svn/text-base/Entries.svn-base | 4 + src/CVS/.svn/text-base/Repository.svn-base | 1 + src/CVS/.svn/text-base/Root.svn-base | 1 + src/CVS/Entries | 4 + src/CVS/Repository | 1 + src/CVS/Root | 1 + src/SDpatch.cpp | 267 +++++++++++++++++ src/StdAfx.cpp | 8 + src/StdAfx.h | 19 ++ testdemo.dol | Bin 0 -> 169728 bytes 25 files changed, 1441 insertions(+) create mode 100755 SDIPDATA.CFG create mode 100755 SDLOADER.BIN create mode 100755 SDpatch.dol create mode 100755 install.txt create mode 100755 readme.txt create mode 100755 src/.svn/all-wcprops create mode 100755 src/.svn/entries create mode 100755 src/.svn/prop-base/SDpatch.cpp.svn-base create mode 100755 src/.svn/prop-base/StdAfx.cpp.svn-base create mode 100755 src/.svn/prop-base/StdAfx.h.svn-base create mode 100755 src/.svn/text-base/SDpatch.cpp.svn-base create mode 100755 src/.svn/text-base/StdAfx.cpp.svn-base create mode 100755 src/.svn/text-base/StdAfx.h.svn-base create mode 100755 src/CVS/.svn/all-wcprops create mode 100755 src/CVS/.svn/entries create mode 100755 src/CVS/.svn/text-base/Entries.svn-base create mode 100755 src/CVS/.svn/text-base/Repository.svn-base create mode 100755 src/CVS/.svn/text-base/Root.svn-base create mode 100755 src/CVS/Entries create mode 100755 src/CVS/Repository create mode 100755 src/CVS/Root create mode 100755 src/SDpatch.cpp create mode 100755 src/StdAfx.cpp create mode 100755 src/StdAfx.h create mode 100755 testdemo.dol diff --git a/SDIPDATA.CFG b/SDIPDATA.CFG new file mode 100755 index 0000000..a2011eb --- /dev/null +++ b/SDIPDATA.CFG @@ -0,0 +1 @@ +ON 192.168.0.4 9002 192.168.0.254 1234 \ No newline at end of file diff --git a/SDLOADER.BIN b/SDLOADER.BIN new file mode 100755 index 0000000000000000000000000000000000000000..ac383b9b0c197cdaf15ff6d9f6d51b3cc22e975c GIT binary patch literal 68580 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≶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 WCjjRw4t0;2IOpTc#3{qs@c#hfDv(S7 literal 0 HcmV?d00001 diff --git a/SDpatch.dol b/SDpatch.dol new file mode 100755 index 0000000000000000000000000000000000000000..38e0c8a79441c02b209973eaf2109973a4ad8c50 GIT binary patch literal 63296 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 aQr!1&(!WY@--la@I~sQ`Jk%|?YyLlXpr!l( literal 0 HcmV?d00001 diff --git a/install.txt b/install.txt new file mode 100755 index 0000000..f4e684f --- /dev/null +++ b/install.txt @@ -0,0 +1,200 @@ +GameCube Action Replay SD Loader V1.00. Copyright 2005. +by Costis (costis@gbaemu.com) and Parasyte + +INSTALLATION GUIDE + +================= + Things You Need +================= + +- Action Replay (ANY version!!!) +- Nintendo SD Adapter +- SD Card (Any size) +- SD Card Reader/Writer for PC and Windows XP, NT, or 2000 (or a way to run code on GC.) + + +============== + Installation +============== + +NOTE: SDLoad works with ALL versions of the Action Replay by Datel! + +1. Ensure that your SD reader creates a virtual drive (Example: F:\) and that you + can read and write files to the card without any problems. Your SD card must also + be formatted with FAT16 (FAT12 and FAT32 are NOT supported.) + +2. Run sdpatch.exe, passing the SD reader drive letter on the command line. + (Example: sdpatch.exe F:\) + + This program will install the boot driver to the SD card. The boot driver will + only have to be installed once, and will have to be installed on each SD card you + wish to use with SD Loader. This is just the initial driver, and NOT the menu + program, so it will never have to be changed! + + Be assured that the file system of the card will remain COMPLETELY in tact after you + have run the sdpatch.exe (or alternatively sdpatch.dol) program! They have advanced + error checking, so there really is NOT any possibility for the file system on your + card to become corrupted. + + NOTE: If you do not have a computer with Windows XP, NT, or 2000 installed, or + you cannot get sdpatch.exe to work for some reason and you already have a + means of uploading code to your GameCube (such as PSO), then you can install + the boot driver to the SD card by booting sdpatch.dol to your GC and following + the on-screen instructions. + +3. Copy SDLOADER.BIN to the root directory of the SD card. This is the DOL file + selection menu that boots up after the Action Replay and lets you select what + DOL to boot from the card. Since it's simply a file on the SD card, upgrading or + replacing it is as easy as overwriting the file with a newer version in Explorer! + + You may also copy any DOL files you want to the SD card, at this point. Try the + included testdemo.dol file, as it's guaranteed to work! The SD boot menu supports + subdirectories as well, so your DOL's can be arranged inside any directories you + want. SDLOADER.BIN, however, MUST be copied to the root directory in order for + the boot driver to locate it. + +4. Additionally, the SD Loader Menu system can setup the BBA for you and allow + NETWORK BOOT support. This means that just like PSOload, you can upload DOL + or binary files from your computer through the network to your GameCube. If + you want this functionality, create a new file named SDIPDATA.CFG containing + the following text: + + ON 192.168.0.4 9002 192.168.0.254 1234 + + The format is "ON PCIP PCPORT GCIP GCPORT" and must NOT contain any additional + spaces or blank lines. Currently, due to a limitation of the current version + of PSOload released, the GC IP address must end in 254 (xxx.xxx.xxx.254) and + the GC port must be 1234. You must set the PC IP to your PC's IP address and + the PC port to any free UDP port. + + If you do not need network boot functionality, you can leave the SDIPDATA.CFG + file off of the SD card, or change the first word of the file to "OFF". + Both SDLOADER.BIN and SDIPDATA.CFG must be in the SD card's root directory. + + You can tell that the SD boot menu has recognized the network configuration file + if you see "INITIALIZING BBA..." at the top once it is running. Refer to the + "Using SD Loader" section for information on how to use the network boot feature. + +5. After installing the boot driver to your SD card, place the card and SD adapter + into your GameCube's memory card slot A. Insert the Action Replay card or a + standard memory card into slot B and start up the Action Replay. From the AR + main menu, select Action Replay Codes. Select the USA flag, then ADD NEW GAME. + Enter "SDLOAD" as the game name and push the "done" key. Now enter "(m)" as + the code name. + + Enter the following code: + + 7YPR-RKZZ-MH6W5 + D26A-PE4J-1XX2W + ZJHY-B1ZH-6P00G + + + Next, select ADD NEW CODE and name the code "SDLOAD". + Enter the following code: + + AF4H-JPF5-H1B5J + MVAB-7TQE-ABZPB + V2CK-QQ1A-Y6P72 + M5N6-CMMH-9EURT + 0JFM-3A6C-VZ6VK + KYV8-0JGV-0GR1N + 2EGU-HVKF-NDMCN + 7AH0-J9JZ-HHGNJ + 4MHU-G8XT-ZRYCJ + 9474-KF41-8KG34 + QMEV-G90N-A8RV0 + KD4G-5QHV-74D46 + V97K-652Q-Y4TEY + 6M4W-9GPT-E99NG + QPFY-DJAF-E01FV + 2Z6E-P2WY-24WV4 + 6NHW-G3NH-HP31Y + A2KF-MCKN-D645J + K5V8-EF9W-7GFQC + XTU3-269T-VH5NE + H9GP-C4PP-6FGF9 + HF77-R45C-ZXPDV + 22Y3-D98C-50AJM + WTWZ-EC88-U5ZTV + 36G1-UGDG-J2G84 + DUMT-15KR-DXJ8K + JV55-6VF5-2Z02T + D4R8-MVJ5-QGR21 + 1G3C-APD7-1CUVD + + + Finally, select the code named "SDLOAD" and press A to enable it. (The + check box next to the code name will be filled when the code is enabled.) + Press START and open/close the lid when asked. + +6. The SD Loader main menu will now be shown on the screen. At this point, you can + select from all dol files you have written to the SD card. You can also pull + the SD card out and write new files to it. Just reinsert the SD card when ready + and the SD Loader menu will refresh the card contents. If you have written the + configuration file for network boot, you can also boot a GC executable with it + at any time of your choice. + + +================= + Using SD Loader +================= + +Many versions of Action Replay contain a bug that will keep newly entered codes +disabled. The second time you use SD Loader, you must enable the code from the +code list. After this has been done, the enabled code will be saved to the card +in slot B. + +You can then get into the SD Loader menu by simply selecting START from the AR +main menu and open/close the disc cover when asked. That's right! All it will +take from this point on to boot back into the menu is simply turning on your GC, +pressing A, and opening\closing your GameCube's cover once! + +Some newer versions of Action Replay may disallow booting their own discs. The +Japanese "Pro Action Replay" is especially sensitive. If you are unable to get +the SD Loader menu to show up (if the GameCube hangs after closing the disc lid, +for example) then you may be required to swap discs when the AR asks. Any game +disc will work, so long as the GameCube can read it properly. +To do this, select START from the AR main manu, as usual. Open the disc cover +and replace the AR disc with another disc. For example, Super Smash Bros. Melee +or Pikmin (whatever games you have). After closing the disc cover, the SD Loader +menu will show up! + +To use the network boot functionality with PSO Loader v2.0, the GC's IP address +must be x.x.x.254, and the GC's Port must be set to 1234. (See the installation +notes above) Use psoload's -r switch to send dol files. +For example: + +psoload.exe -r -u9002 testdemo.dol + + + +=============== + DOL Reloading +=============== + +SD Loader supports DOL reloading in the same way as PSO Loader. To add reload +support to your own DOL files, jump to address 0x80001800 in GameCube memory. +You can achieve this in C by either using function pointers, or by using some +inline assembly: + +asm ("lis 3, 0x8000"); +asm ("ori 3, 3, 0x1800"); +asm ("mtlr 3"); +asm ("blr"); + +Once the reloader has been invoked, the SD card browser menu will be reloaded +and you will be able to network boot again or select another DOL file from the +card to load. + + +============== + Known Issues +============== + +- A few DOL files which rely on Phantasy Star Online may not work well with SD loader. +- The the SD Loader Menu will not show up if the SD card Adapter is removed or + inserted while in the Action Replay menu. The SD card adapter CAN be removed to change + cards or make changes to the current card while in the SD card boot menu, however! +- PC IP must be correct in the SDIPDATA.CFG file if you choose to use it. Otherwise the + menu code may hang. + diff --git a/readme.txt b/readme.txt new file mode 100755 index 0000000..c276e27 --- /dev/null +++ b/readme.txt @@ -0,0 +1,316 @@ +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!!!!!! \ No newline at end of file diff --git a/src/.svn/all-wcprops b/src/.svn/all-wcprops new file mode 100755 index 0000000..da6d558 --- /dev/null +++ b/src/.svn/all-wcprops @@ -0,0 +1,23 @@ +K 25 +svn:wc:ra_dav:version-url +V 40 +/svn/aklabs/!svn/ver/12/trunk/sdload/src +END +StdAfx.h +K 25 +svn:wc:ra_dav:version-url +V 49 +/svn/aklabs/!svn/ver/12/trunk/sdload/src/StdAfx.h +END +SDpatch.cpp +K 25 +svn:wc:ra_dav:version-url +V 52 +/svn/aklabs/!svn/ver/12/trunk/sdload/src/SDpatch.cpp +END +StdAfx.cpp +K 25 +svn:wc:ra_dav:version-url +V 51 +/svn/aklabs/!svn/ver/12/trunk/sdload/src/StdAfx.cpp +END diff --git a/src/.svn/entries b/src/.svn/entries new file mode 100755 index 0000000..c1a5a16 --- /dev/null +++ b/src/.svn/entries @@ -0,0 +1,133 @@ +10 + +dir +44 +https://127.0.0.1/svn/aklabs/trunk/sdload/src +https://127.0.0.1/svn/aklabs + + + +2007-05-26T23:54:26.388980Z +12 +andrew + + + + + + + + + + + + + + +eb184899-6090-47d4-a65b-558f62f6ea1c + +StdAfx.h +file + + + + +2010-02-05T03:38:37.448248Z +e8e5c1f00c8cf3a330ca2d8e50cb51e1 +2007-05-26T23:54:26.388980Z +12 +andrew +has-props + + + + + + + + + + + + + + + + + + + + +667 + +SDpatch.cpp +file + + + + +2010-02-05T03:38:37.463873Z +93ae488c00f97aca04f0964e4728e860 +2007-05-26T23:54:26.388980Z +12 +andrew +has-props + + + + + + + + + + + + + + + + + + + + +12008 + +StdAfx.cpp +file + + + + +2010-02-05T03:38:37.463873Z +6f6c522057b40e4e3537b61d8bd430e0 +2007-05-26T23:54:26.388980Z +12 +andrew +has-props + + + + + + + + + + + + + + + + + + + + +294 + +CVS +dir + diff --git a/src/.svn/prop-base/SDpatch.cpp.svn-base b/src/.svn/prop-base/SDpatch.cpp.svn-base new file mode 100755 index 0000000..a669705 --- /dev/null +++ b/src/.svn/prop-base/SDpatch.cpp.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 0 + +END diff --git a/src/.svn/prop-base/StdAfx.cpp.svn-base b/src/.svn/prop-base/StdAfx.cpp.svn-base new file mode 100755 index 0000000..a669705 --- /dev/null +++ b/src/.svn/prop-base/StdAfx.cpp.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 0 + +END diff --git a/src/.svn/prop-base/StdAfx.h.svn-base b/src/.svn/prop-base/StdAfx.h.svn-base new file mode 100755 index 0000000..a669705 --- /dev/null +++ b/src/.svn/prop-base/StdAfx.h.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 0 + +END diff --git a/src/.svn/text-base/SDpatch.cpp.svn-base b/src/.svn/text-base/SDpatch.cpp.svn-base new file mode 100755 index 0000000..4321f9b --- /dev/null +++ b/src/.svn/text-base/SDpatch.cpp.svn-base @@ -0,0 +1,267 @@ +// SDpatch.cpp : Defines the entry point for the console application. +// by Costis. Copyright 2005. +// +// This is the source code for the SDpatch.exe program described in +// the install.txt documentation. Feel free to port it to any OS of +// your choice and send it to me for release! +// + + +#include "stdafx.h" + + +#include +#include +#include + +const char *OS_version = "Windows 2000\\NT\\XP"; + +// Usage. +void usage (void) +{ + printf ("Usage: SDpatch.exe drive_letter\n\n"); + printf ("\tdrive_letter\tSD card drive letter mapped by Windows.\n\n"); + printf ("WARNING: If you choose the wrong drive letter, such as\n"); + printf ("\t one mapped to a hard drive, there is a large\n"); + printf ("\t possibility that the drive contents will become\n"); + printf ("\t corrupted!!! CHOOSE THE DRIVE LETTER CAREFULLY!\n"); + exit (0); +} + +// This is the level 2 boot-code for file systems without MBR's. +const int sd_lev2_vbr_size = 352; +const unsigned char sd_lev2_vbr[352] = {0x90, 0x63, 0x68, 0x00, 0x7D, 0x3B, 0x4B, 0x78, 0x3A, 0x20, 0x02, 0x02, 0x3D, 0x20, 0x80, 0x10, + 0x3B, 0x40, 0xFF, 0xD6, 0x7F, 0x5B, 0xD6, 0x2C, 0x3B, 0x20, 0xFF, 0xCE, 0x7F, 0x3B, 0xCE, 0x2C, + 0x8A, 0xFB, 0xFF, 0xD0, 0x7F, 0x5A, 0xB9, 0xD6, 0x57, 0x56, 0x48, 0x2C, 0x7E, 0xE9, 0xB2, 0x14, + 0x7D, 0x36, 0x4B, 0x78, 0x7F, 0x19, 0xD2, 0x14, 0x8B, 0x9B, 0xFF, 0xD1, 0x8B, 0x5B, 0xFF, 0xD2, + 0x53, 0x5C, 0x44, 0x2E, 0x3B, 0x9C, 0x00, 0x0F, 0x57, 0x9C, 0xE1, 0x3E, 0x7F, 0x18, 0xE2, 0x14, + 0x57, 0x27, 0x48, 0x1E, 0x53, 0x27, 0x4C, 0x2C, 0x48, 0x00, 0x00, 0x95, 0x39, 0x29, 0x02, 0x00, + 0x3B, 0x39, 0x00, 0x01, 0x7C, 0x19, 0xC0, 0x00, 0x40, 0x82, 0xFF, 0xE8, 0x83, 0x17, 0x00, 0x00, + 0x3F, 0x18, 0xAC, 0xBC, 0x37, 0x18, 0xB3, 0xB1, 0x40, 0x82, 0x00, 0x14, 0x83, 0x17, 0x00, 0x04, + 0x3F, 0x18, 0xBE, 0xBC, 0x37, 0x18, 0xBA, 0xAE, 0x41, 0x82, 0x00, 0x0C, 0x3A, 0xF7, 0x00, 0x20, + 0x4B, 0xFF, 0xFF, 0xDC, 0x3B, 0x00, 0x00, 0x1A, 0x7F, 0x17, 0xC6, 0x2C, 0x8B, 0x5B, 0xFF, 0xCD, + 0x3D, 0x20, 0x81, 0x70, 0x3A, 0xF8, 0xFF, 0xFE, 0x7E, 0xF7, 0xD1, 0xD6, 0x7E, 0xF7, 0xCA, 0x14, + 0x7E, 0xB7, 0xD2, 0x14, 0x56, 0xE7, 0x48, 0x1E, 0x52, 0xE7, 0x4C, 0x2C, 0x48, 0x00, 0x00, 0x31, + 0x39, 0x29, 0x02, 0x00, 0x3A, 0xF7, 0x00, 0x01, 0x7C, 0x17, 0xA8, 0x00, 0x40, 0x82, 0xFF, 0xE8, + 0x57, 0x18, 0x08, 0x3C, 0x7F, 0x16, 0xC6, 0x2C, 0x28, 0x18, 0xFF, 0xF7, 0x41, 0x80, 0xFF, 0xC8, + 0x3D, 0x20, 0x81, 0x70, 0x7D, 0x28, 0x03, 0xA6, 0x4E, 0x80, 0x00, 0x21, 0x7D, 0x48, 0x02, 0xA6, + 0x7E, 0x29, 0x03, 0xA6, 0x90, 0xA3, 0x68, 0x00, 0x4B, 0x00, 0x18, 0x7D, 0x3F, 0xA0, 0x51, 0x00, + 0x4B, 0x00, 0x18, 0x75, 0x3B, 0x80, 0x00, 0x00, 0x7C, 0xFD, 0xE0, 0x30, 0x4B, 0x00, 0x18, 0x69, + 0x3B, 0x9C, 0x00, 0x08, 0x2C, 0x1C, 0x00, 0x20, 0x40, 0x82, 0xFF, 0xF0, 0x3F, 0xA0, 0x95, 0x00, + 0x4B, 0x00, 0x18, 0x55, 0x3F, 0xA0, 0xFF, 0x00, 0x4B, 0x00, 0x18, 0x4D, 0x4B, 0x00, 0x18, 0x49, + 0x3C, 0x9F, 0x02, 0x00, 0x74, 0x84, 0xFF, 0x00, 0x40, 0x82, 0xFF, 0xF4, 0x4B, 0x00, 0x18, 0x39, + 0x57, 0xFF, 0x46, 0x3E, 0x7F, 0xE9, 0x21, 0xAE, 0x7C, 0x09, 0x20, 0xAC, 0x38, 0x84, 0x00, 0x01, + 0x42, 0x00, 0xFF, 0xEC, 0x90, 0x63, 0x68, 0x00, 0x7D, 0x48, 0x03, 0xA6, 0x4E, 0x80, 0x00, 0x20}; + +// This is the level 2 boot-code for MBR based file systems. +const int sd_lev2_mbr_size = 380; +const unsigned char sd_lev2_mbr[380] = {0x90, 0x63, 0x68, 0x00, 0x3A, 0x20, 0x02, 0x02, 0x3B, 0x00, 0x01, 0x86, 0x7F, 0x09, 0xC4, 0x2C, + 0x57, 0x07, 0x48, 0x1E, 0x53, 0x07, 0x4C, 0x2C, 0x3D, 0x20, 0x81, 0x01, 0x48, 0x00, 0x00, 0xED, + 0x3B, 0x69, 0x00, 0x40, 0x3D, 0x20, 0x80, 0x10, 0x3B, 0x40, 0xFF, 0xD6, 0x7F, 0x5B, 0xD6, 0x2C, + 0x3B, 0x20, 0xFF, 0xCE, 0x7F, 0x3B, 0xCE, 0x2C, 0x7F, 0x39, 0xC2, 0x14, 0x8A, 0xFB, 0xFF, 0xD0, + 0x7F, 0x5A, 0xB9, 0xD6, 0x57, 0x56, 0x48, 0x2C, 0x7E, 0xE9, 0xB2, 0x14, 0x7D, 0x36, 0x4B, 0x78, + 0x7F, 0x19, 0xD2, 0x14, 0x8B, 0x9B, 0xFF, 0xD1, 0x8B, 0x5B, 0xFF, 0xD2, 0x53, 0x5C, 0x44, 0x2E, + 0x3B, 0x9C, 0x00, 0x0F, 0x57, 0x9C, 0xE1, 0x3E, 0x7F, 0x18, 0xE2, 0x14, 0x57, 0x27, 0x48, 0x1E, + 0x53, 0x27, 0x4C, 0x2C, 0x48, 0x00, 0x00, 0x95, 0x39, 0x29, 0x02, 0x00, 0x3B, 0x39, 0x00, 0x01, + 0x7C, 0x19, 0xC0, 0x00, 0x40, 0x82, 0xFF, 0xE8, 0x83, 0x17, 0x00, 0x00, 0x3F, 0x18, 0xAC, 0xBC, + 0x37, 0x18, 0xB3, 0xB1, 0x40, 0x82, 0x00, 0x14, 0x83, 0x17, 0x00, 0x04, 0x3F, 0x18, 0xBE, 0xBC, + 0x37, 0x18, 0xBA, 0xAE, 0x41, 0x82, 0x00, 0x0C, 0x3A, 0xF7, 0x00, 0x20, 0x4B, 0xFF, 0xFF, 0xDC, + 0x3B, 0x00, 0x00, 0x1A, 0x7F, 0x17, 0xC6, 0x2C, 0x8B, 0x5B, 0xFF, 0xCD, 0x3D, 0x20, 0x81, 0x70, + 0x3A, 0xF8, 0xFF, 0xFE, 0x7E, 0xF7, 0xD1, 0xD6, 0x7E, 0xF7, 0xCA, 0x14, 0x7E, 0xB7, 0xD2, 0x14, + 0x56, 0xE7, 0x48, 0x1E, 0x52, 0xE7, 0x4C, 0x2C, 0x48, 0x00, 0x00, 0x31, 0x39, 0x29, 0x02, 0x00, + 0x3A, 0xF7, 0x00, 0x01, 0x7C, 0x17, 0xA8, 0x00, 0x40, 0x82, 0xFF, 0xE8, 0x57, 0x18, 0x08, 0x3C, + 0x7F, 0x16, 0xC6, 0x2C, 0x28, 0x18, 0xFF, 0xF7, 0x41, 0x80, 0xFF, 0xC8, 0x3D, 0x20, 0x81, 0x70, + 0x7D, 0x28, 0x03, 0xA6, 0x4E, 0x80, 0x00, 0x21, 0x7D, 0x48, 0x02, 0xA6, 0x7E, 0x29, 0x03, 0xA6, + 0x90, 0xA3, 0x68, 0x00, 0x4B, 0x00, 0x18, 0x61, 0x3F, 0xA0, 0x51, 0x00, 0x4B, 0x00, 0x18, 0x59, + 0x3B, 0x80, 0x00, 0x00, 0x7C, 0xFD, 0xE0, 0x30, 0x4B, 0x00, 0x18, 0x4D, 0x3B, 0x9C, 0x00, 0x08, + 0x2C, 0x1C, 0x00, 0x20, 0x40, 0x82, 0xFF, 0xF0, 0x3F, 0xA0, 0x95, 0x00, 0x4B, 0x00, 0x18, 0x39, + 0x3F, 0xA0, 0xFF, 0x00, 0x4B, 0x00, 0x18, 0x31, 0x4B, 0x00, 0x18, 0x2D, 0x3C, 0x9F, 0x02, 0x00, + 0x74, 0x84, 0xFF, 0x00, 0x40, 0x82, 0xFF, 0xF4, 0x4B, 0x00, 0x18, 0x1D, 0x57, 0xFF, 0x46, 0x3E, + 0x7F, 0xE9, 0x21, 0xAE, 0x7C, 0x09, 0x20, 0xAC, 0x38, 0x84, 0x00, 0x01, 0x42, 0x00, 0xFF, 0xEC, + 0x90, 0x63, 0x68, 0x00, 0x7D, 0x48, 0x03, 0xA6, 0x4E, 0x80, 0x00, 0x20}; + +int main(int argc, char* argv[]) +{ + int i, ptype; + HANDLE mfile; + DWORD ret; + unsigned char mbuf[512], vbuf[512]; + char tname[512]; + char buffer[MAX_PATH]; + const unsigned char *sd_lev2; + unsigned long sd_lev2_size; + + printf ("SDLoad Card Patcher V1.00 by Costis\n"); + printf ("(%s Version)\n", OS_version); + + // Check the operating system version... + if (GetVersion() & 0x80000000) + { + // Oops! The user has tried to run this under an incompatible OS! + printf ("This program can only be run from Windows 2000\\NT\\XP.\n"); + exit (0); + } + + // Check if the user has passed a valid parameter... + if (argc != 2) + usage (); + + if ((((argv[1][0] < 'A') || (argv[1][0] > 'Z')) && ((argv[1][0] < 'a') || (argv[1][0] > 'z'))) || + (strlen(argv[1]) > 3)) + { + // The drive letter must be from A through Z and + // drive letters must be specified as X, X:, or even X:/ + printf ("Invalid drive letter specification.\n"); + exit (0); + } + + // Fix the drive letter so that QueryDosDevice accepts it. + argv[1][1] = ':'; + argv[1][2] = 0; + + // Check to make sure the drive is removable... + // We don't want a user accidentally corrupting their + // hard drive's MBR! + if (GetDriveType(argv[1]) != DRIVE_REMOVABLE) + { + // Oh, oh! A drive which is not removable has been selected... + printf ("The drive selected is not a removable device.\n"); + printf ("Please specify the drive letter of the SD card adapter!\n"); + exit (0); + } + + printf ("\nQuerying device name of drive %s...", argv[1]); + + ret = QueryDosDevice(argv[1], buffer, sizeof(buffer)); + if (!ret) + { + // The user has selected an invalid driver letter... + printf ("Failed. Invalid drive letter!\n"); + exit (0); + } else + printf ("OK!\n"); + + // Success! We have retrieved a low-level device name for the specified + // drive letter. We want to access partition 0, so remove the last part + // from it which is not needed... + for (i = strlen (buffer) - 1; i >= 0; i--) + { + if (buffer[i] == '\\') + { + buffer[i] = 0; + break; + } + } + // And append a Partition0 indicator to the end of it... + sprintf (tname, "\\\\.\\GLOBALROOT\\%s\\Partition0", buffer); + printf ("Device name: %s\n", tname); + + // Create a low-level Windows file to access the drive as a raw device. + printf ("Obtaining low-level access to drive..."); + mfile = CreateFile (tname, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_FLAG_NO_BUFFERING, NULL); + if (mfile == INVALID_HANDLE_VALUE) + { + // Error! + printf ("Failed. Could not create file!\n"); + exit (0); + } else + printf ("OK!\n"); + + printf ("Reading first sector..."); + SetFilePointer (mfile, 0, NULL, FILE_BEGIN); + ReadFile (mfile, &mbuf, 512, &ret, NULL); + if (ret != 512) + { + // Error! Maybe the user has forgotten to insert an SD card?!?! + printf ("Failed! Make sure a working SD card is inserted!\n"); + CloseHandle (mfile); + exit (0); + } else + printf ("OK!\n"); + + // Success! We have managed to read out the first sector of the drive. + // Check byte index 0x15 (drive media type descriptor) and byte index + // 0x26 (extended signature) to find out whether this sector is a + // master boot record or a volume boot record... + if ((mbuf[0x26] == 0x29) && (mbuf[0x15] == 0xF8)) + { + // This is a volume boot record, NOT a master boot record... + printf ("Volume Boot Record found in Sector 0.\n"); + // We therefore want to patch in the VBR level 2 code: + ptype = 1; + sd_lev2 = sd_lev2_vbr; + sd_lev2_size = sd_lev2_vbr_size; + } else { + // This is a master boot record... + printf ("Master Boot Record found in Sector 0.\n"); + // We therefore want to patch in the MBR level 2 code: + ptype = 0; + sd_lev2 = sd_lev2_mbr; + sd_lev2_size = sd_lev2_mbr_size; + } + + printf ("Inserting level 2 boot-code in %cBR...", (ptype ? 'V' : 'M')); + + // Patch in the code in the right offset... + memcpy (mbuf + 0x40, sd_lev2, sd_lev2_size); + + // Attempt to write the new sector 0 back to the card. + SetFilePointer (mfile, 0, NULL, FILE_BEGIN); + WriteFile (mfile, mbuf, 512, &ret, NULL); + + if (ret != 512) + { + // Write failure! Maybe the user has write protected their card?!?! + printf ("Write Error! Check the write protect switch on the SD card.\n"); + CloseHandle (mfile); + exit (0); + } else + printf ("OK!\n"); + + // Apparently our write succeeded! Let's check to make sure... + printf ("Verifying Master Boot Record..."); + + // Read sector 0 again. + SetFilePointer (mfile, 0, NULL, FILE_BEGIN); + ReadFile (mfile, &vbuf, 512, &ret, NULL); + if (ret != 512) + { + printf ("Read Error!\n"); + CloseHandle (mfile); + exit (0); + } + + // Compare the new read back sector 0, with the one that was suppsoed to + // have been written. + if (memcmp (mbuf, vbuf, 512) != 0) + { + // Oops! They are not the same... + printf ("Verification Failed!\n"); + CloseHandle (mfile); + exit (0); + } else + printf ("OK!\n"); + + // Success! We can now release the file handle back to Windows... + printf ("Releasing low-level access handle..."); + + if (!CloseHandle (mfile)) + { + // This would be such a great place for the process to fail, eh? ;) + printf ("Failed!\n"); + exit (0); + } else + printf ("OK!\n"); + + // Finally! The SD card patching process has been completed! Tell the + // user the good news and instruct them to continue the installation + // process... + printf ("\nThe SD card has been patched successfully. The file\n"); + printf ("system on it should remain completely functional as\n"); + printf ("before, and you may now proceed to the next step of\n"); + printf ("the Action Replay SD card bootloader installation\n"); + printf ("process.\n\n"); + + // End of program. + return 0; +} diff --git a/src/.svn/text-base/StdAfx.cpp.svn-base b/src/.svn/text-base/StdAfx.cpp.svn-base new file mode 100755 index 0000000..fd9cd88 --- /dev/null +++ b/src/.svn/text-base/StdAfx.cpp.svn-base @@ -0,0 +1,8 @@ +// stdafx.cpp : source file that includes just the standard includes +// writeSD.pch will be the pre-compiled header +// stdafx.obj will contain the pre-compiled type information + +#include "stdafx.h" + +// TODO: reference any additional headers you need in STDAFX.H +// and not in this file diff --git a/src/.svn/text-base/StdAfx.h.svn-base b/src/.svn/text-base/StdAfx.h.svn-base new file mode 100755 index 0000000..7c5696e --- /dev/null +++ b/src/.svn/text-base/StdAfx.h.svn-base @@ -0,0 +1,19 @@ +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, but +// are changed infrequently +// + +#if !defined(AFX_STDAFX_H__5D442ED7_8B5E_46D9_A725_BBE6D427B72A__INCLUDED_) +#define AFX_STDAFX_H__5D442ED7_8B5E_46D9_A725_BBE6D427B72A__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + + +// TODO: reference additional headers your program requires here + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_STDAFX_H__5D442ED7_8B5E_46D9_A725_BBE6D427B72A__INCLUDED_) diff --git a/src/CVS/.svn/all-wcprops b/src/CVS/.svn/all-wcprops new file mode 100755 index 0000000..d4886b6 --- /dev/null +++ b/src/CVS/.svn/all-wcprops @@ -0,0 +1,23 @@ +K 25 +svn:wc:ra_dav:version-url +V 44 +/svn/aklabs/!svn/ver/12/trunk/sdload/src/CVS +END +Repository +K 25 +svn:wc:ra_dav:version-url +V 55 +/svn/aklabs/!svn/ver/12/trunk/sdload/src/CVS/Repository +END +Root +K 25 +svn:wc:ra_dav:version-url +V 49 +/svn/aklabs/!svn/ver/12/trunk/sdload/src/CVS/Root +END +Entries +K 25 +svn:wc:ra_dav:version-url +V 52 +/svn/aklabs/!svn/ver/12/trunk/sdload/src/CVS/Entries +END diff --git a/src/CVS/.svn/entries b/src/CVS/.svn/entries new file mode 100755 index 0000000..a2831dc --- /dev/null +++ b/src/CVS/.svn/entries @@ -0,0 +1,130 @@ +10 + +dir +44 +https://127.0.0.1/svn/aklabs/trunk/sdload/src/CVS +https://127.0.0.1/svn/aklabs + + + +2007-05-26T23:54:26.388980Z +12 +andrew + + + + + + + + + + + + + + +eb184899-6090-47d4-a65b-558f62f6ea1c + +Repository +file + + + + +2010-02-05T03:38:37.432623Z +4f439e1598ee78856a826040d07dda7a +2007-05-26T23:54:26.388980Z +12 +andrew + + + + + + + + + + + + + + + + + + + + + +17 + +Root +file + + + + +2010-02-05T03:38:37.432623Z +7af14a164593104c1e7a07a572dd352a +2007-05-26T23:54:26.388980Z +12 +andrew + + + + + + + + + + + + + + + + + + + + + +24 + +Entries +file + + + + +2010-02-05T03:38:37.432623Z +ac052c0d3477c504a3bba1c44f5ca54d +2007-05-26T23:54:26.388980Z +12 +andrew + + + + + + + + + + + + + + + + + + + + + +142 + diff --git a/src/CVS/.svn/text-base/Entries.svn-base b/src/CVS/.svn/text-base/Entries.svn-base new file mode 100755 index 0000000..34237de --- /dev/null +++ b/src/CVS/.svn/text-base/Entries.svn-base @@ -0,0 +1,4 @@ +/SDpatch.cpp/1.1.1.1/Sun Jan 1 00:15:01 2006// +/StdAfx.cpp/1.1.1.1/Sun Jan 1 00:15:01 2006// +/StdAfx.h/1.1.1.1/Sun Jan 1 00:15:01 2006// +D diff --git a/src/CVS/.svn/text-base/Repository.svn-base b/src/CVS/.svn/text-base/Repository.svn-base new file mode 100755 index 0000000..8972706 --- /dev/null +++ b/src/CVS/.svn/text-base/Repository.svn-base @@ -0,0 +1 @@ +utils/sdload/src diff --git a/src/CVS/.svn/text-base/Root.svn-base b/src/CVS/.svn/text-base/Root.svn-base new file mode 100755 index 0000000..180ad4a --- /dev/null +++ b/src/CVS/.svn/text-base/Root.svn-base @@ -0,0 +1 @@ +andrew@gabbo:/home/cvsd diff --git a/src/CVS/Entries b/src/CVS/Entries new file mode 100755 index 0000000..34237de --- /dev/null +++ b/src/CVS/Entries @@ -0,0 +1,4 @@ +/SDpatch.cpp/1.1.1.1/Sun Jan 1 00:15:01 2006// +/StdAfx.cpp/1.1.1.1/Sun Jan 1 00:15:01 2006// +/StdAfx.h/1.1.1.1/Sun Jan 1 00:15:01 2006// +D diff --git a/src/CVS/Repository b/src/CVS/Repository new file mode 100755 index 0000000..8972706 --- /dev/null +++ b/src/CVS/Repository @@ -0,0 +1 @@ +utils/sdload/src diff --git a/src/CVS/Root b/src/CVS/Root new file mode 100755 index 0000000..180ad4a --- /dev/null +++ b/src/CVS/Root @@ -0,0 +1 @@ +andrew@gabbo:/home/cvsd diff --git a/src/SDpatch.cpp b/src/SDpatch.cpp new file mode 100755 index 0000000..4321f9b --- /dev/null +++ b/src/SDpatch.cpp @@ -0,0 +1,267 @@ +// SDpatch.cpp : Defines the entry point for the console application. +// by Costis. Copyright 2005. +// +// This is the source code for the SDpatch.exe program described in +// the install.txt documentation. Feel free to port it to any OS of +// your choice and send it to me for release! +// + + +#include "stdafx.h" + + +#include +#include +#include + +const char *OS_version = "Windows 2000\\NT\\XP"; + +// Usage. +void usage (void) +{ + printf ("Usage: SDpatch.exe drive_letter\n\n"); + printf ("\tdrive_letter\tSD card drive letter mapped by Windows.\n\n"); + printf ("WARNING: If you choose the wrong drive letter, such as\n"); + printf ("\t one mapped to a hard drive, there is a large\n"); + printf ("\t possibility that the drive contents will become\n"); + printf ("\t corrupted!!! CHOOSE THE DRIVE LETTER CAREFULLY!\n"); + exit (0); +} + +// This is the level 2 boot-code for file systems without MBR's. +const int sd_lev2_vbr_size = 352; +const unsigned char sd_lev2_vbr[352] = {0x90, 0x63, 0x68, 0x00, 0x7D, 0x3B, 0x4B, 0x78, 0x3A, 0x20, 0x02, 0x02, 0x3D, 0x20, 0x80, 0x10, + 0x3B, 0x40, 0xFF, 0xD6, 0x7F, 0x5B, 0xD6, 0x2C, 0x3B, 0x20, 0xFF, 0xCE, 0x7F, 0x3B, 0xCE, 0x2C, + 0x8A, 0xFB, 0xFF, 0xD0, 0x7F, 0x5A, 0xB9, 0xD6, 0x57, 0x56, 0x48, 0x2C, 0x7E, 0xE9, 0xB2, 0x14, + 0x7D, 0x36, 0x4B, 0x78, 0x7F, 0x19, 0xD2, 0x14, 0x8B, 0x9B, 0xFF, 0xD1, 0x8B, 0x5B, 0xFF, 0xD2, + 0x53, 0x5C, 0x44, 0x2E, 0x3B, 0x9C, 0x00, 0x0F, 0x57, 0x9C, 0xE1, 0x3E, 0x7F, 0x18, 0xE2, 0x14, + 0x57, 0x27, 0x48, 0x1E, 0x53, 0x27, 0x4C, 0x2C, 0x48, 0x00, 0x00, 0x95, 0x39, 0x29, 0x02, 0x00, + 0x3B, 0x39, 0x00, 0x01, 0x7C, 0x19, 0xC0, 0x00, 0x40, 0x82, 0xFF, 0xE8, 0x83, 0x17, 0x00, 0x00, + 0x3F, 0x18, 0xAC, 0xBC, 0x37, 0x18, 0xB3, 0xB1, 0x40, 0x82, 0x00, 0x14, 0x83, 0x17, 0x00, 0x04, + 0x3F, 0x18, 0xBE, 0xBC, 0x37, 0x18, 0xBA, 0xAE, 0x41, 0x82, 0x00, 0x0C, 0x3A, 0xF7, 0x00, 0x20, + 0x4B, 0xFF, 0xFF, 0xDC, 0x3B, 0x00, 0x00, 0x1A, 0x7F, 0x17, 0xC6, 0x2C, 0x8B, 0x5B, 0xFF, 0xCD, + 0x3D, 0x20, 0x81, 0x70, 0x3A, 0xF8, 0xFF, 0xFE, 0x7E, 0xF7, 0xD1, 0xD6, 0x7E, 0xF7, 0xCA, 0x14, + 0x7E, 0xB7, 0xD2, 0x14, 0x56, 0xE7, 0x48, 0x1E, 0x52, 0xE7, 0x4C, 0x2C, 0x48, 0x00, 0x00, 0x31, + 0x39, 0x29, 0x02, 0x00, 0x3A, 0xF7, 0x00, 0x01, 0x7C, 0x17, 0xA8, 0x00, 0x40, 0x82, 0xFF, 0xE8, + 0x57, 0x18, 0x08, 0x3C, 0x7F, 0x16, 0xC6, 0x2C, 0x28, 0x18, 0xFF, 0xF7, 0x41, 0x80, 0xFF, 0xC8, + 0x3D, 0x20, 0x81, 0x70, 0x7D, 0x28, 0x03, 0xA6, 0x4E, 0x80, 0x00, 0x21, 0x7D, 0x48, 0x02, 0xA6, + 0x7E, 0x29, 0x03, 0xA6, 0x90, 0xA3, 0x68, 0x00, 0x4B, 0x00, 0x18, 0x7D, 0x3F, 0xA0, 0x51, 0x00, + 0x4B, 0x00, 0x18, 0x75, 0x3B, 0x80, 0x00, 0x00, 0x7C, 0xFD, 0xE0, 0x30, 0x4B, 0x00, 0x18, 0x69, + 0x3B, 0x9C, 0x00, 0x08, 0x2C, 0x1C, 0x00, 0x20, 0x40, 0x82, 0xFF, 0xF0, 0x3F, 0xA0, 0x95, 0x00, + 0x4B, 0x00, 0x18, 0x55, 0x3F, 0xA0, 0xFF, 0x00, 0x4B, 0x00, 0x18, 0x4D, 0x4B, 0x00, 0x18, 0x49, + 0x3C, 0x9F, 0x02, 0x00, 0x74, 0x84, 0xFF, 0x00, 0x40, 0x82, 0xFF, 0xF4, 0x4B, 0x00, 0x18, 0x39, + 0x57, 0xFF, 0x46, 0x3E, 0x7F, 0xE9, 0x21, 0xAE, 0x7C, 0x09, 0x20, 0xAC, 0x38, 0x84, 0x00, 0x01, + 0x42, 0x00, 0xFF, 0xEC, 0x90, 0x63, 0x68, 0x00, 0x7D, 0x48, 0x03, 0xA6, 0x4E, 0x80, 0x00, 0x20}; + +// This is the level 2 boot-code for MBR based file systems. +const int sd_lev2_mbr_size = 380; +const unsigned char sd_lev2_mbr[380] = {0x90, 0x63, 0x68, 0x00, 0x3A, 0x20, 0x02, 0x02, 0x3B, 0x00, 0x01, 0x86, 0x7F, 0x09, 0xC4, 0x2C, + 0x57, 0x07, 0x48, 0x1E, 0x53, 0x07, 0x4C, 0x2C, 0x3D, 0x20, 0x81, 0x01, 0x48, 0x00, 0x00, 0xED, + 0x3B, 0x69, 0x00, 0x40, 0x3D, 0x20, 0x80, 0x10, 0x3B, 0x40, 0xFF, 0xD6, 0x7F, 0x5B, 0xD6, 0x2C, + 0x3B, 0x20, 0xFF, 0xCE, 0x7F, 0x3B, 0xCE, 0x2C, 0x7F, 0x39, 0xC2, 0x14, 0x8A, 0xFB, 0xFF, 0xD0, + 0x7F, 0x5A, 0xB9, 0xD6, 0x57, 0x56, 0x48, 0x2C, 0x7E, 0xE9, 0xB2, 0x14, 0x7D, 0x36, 0x4B, 0x78, + 0x7F, 0x19, 0xD2, 0x14, 0x8B, 0x9B, 0xFF, 0xD1, 0x8B, 0x5B, 0xFF, 0xD2, 0x53, 0x5C, 0x44, 0x2E, + 0x3B, 0x9C, 0x00, 0x0F, 0x57, 0x9C, 0xE1, 0x3E, 0x7F, 0x18, 0xE2, 0x14, 0x57, 0x27, 0x48, 0x1E, + 0x53, 0x27, 0x4C, 0x2C, 0x48, 0x00, 0x00, 0x95, 0x39, 0x29, 0x02, 0x00, 0x3B, 0x39, 0x00, 0x01, + 0x7C, 0x19, 0xC0, 0x00, 0x40, 0x82, 0xFF, 0xE8, 0x83, 0x17, 0x00, 0x00, 0x3F, 0x18, 0xAC, 0xBC, + 0x37, 0x18, 0xB3, 0xB1, 0x40, 0x82, 0x00, 0x14, 0x83, 0x17, 0x00, 0x04, 0x3F, 0x18, 0xBE, 0xBC, + 0x37, 0x18, 0xBA, 0xAE, 0x41, 0x82, 0x00, 0x0C, 0x3A, 0xF7, 0x00, 0x20, 0x4B, 0xFF, 0xFF, 0xDC, + 0x3B, 0x00, 0x00, 0x1A, 0x7F, 0x17, 0xC6, 0x2C, 0x8B, 0x5B, 0xFF, 0xCD, 0x3D, 0x20, 0x81, 0x70, + 0x3A, 0xF8, 0xFF, 0xFE, 0x7E, 0xF7, 0xD1, 0xD6, 0x7E, 0xF7, 0xCA, 0x14, 0x7E, 0xB7, 0xD2, 0x14, + 0x56, 0xE7, 0x48, 0x1E, 0x52, 0xE7, 0x4C, 0x2C, 0x48, 0x00, 0x00, 0x31, 0x39, 0x29, 0x02, 0x00, + 0x3A, 0xF7, 0x00, 0x01, 0x7C, 0x17, 0xA8, 0x00, 0x40, 0x82, 0xFF, 0xE8, 0x57, 0x18, 0x08, 0x3C, + 0x7F, 0x16, 0xC6, 0x2C, 0x28, 0x18, 0xFF, 0xF7, 0x41, 0x80, 0xFF, 0xC8, 0x3D, 0x20, 0x81, 0x70, + 0x7D, 0x28, 0x03, 0xA6, 0x4E, 0x80, 0x00, 0x21, 0x7D, 0x48, 0x02, 0xA6, 0x7E, 0x29, 0x03, 0xA6, + 0x90, 0xA3, 0x68, 0x00, 0x4B, 0x00, 0x18, 0x61, 0x3F, 0xA0, 0x51, 0x00, 0x4B, 0x00, 0x18, 0x59, + 0x3B, 0x80, 0x00, 0x00, 0x7C, 0xFD, 0xE0, 0x30, 0x4B, 0x00, 0x18, 0x4D, 0x3B, 0x9C, 0x00, 0x08, + 0x2C, 0x1C, 0x00, 0x20, 0x40, 0x82, 0xFF, 0xF0, 0x3F, 0xA0, 0x95, 0x00, 0x4B, 0x00, 0x18, 0x39, + 0x3F, 0xA0, 0xFF, 0x00, 0x4B, 0x00, 0x18, 0x31, 0x4B, 0x00, 0x18, 0x2D, 0x3C, 0x9F, 0x02, 0x00, + 0x74, 0x84, 0xFF, 0x00, 0x40, 0x82, 0xFF, 0xF4, 0x4B, 0x00, 0x18, 0x1D, 0x57, 0xFF, 0x46, 0x3E, + 0x7F, 0xE9, 0x21, 0xAE, 0x7C, 0x09, 0x20, 0xAC, 0x38, 0x84, 0x00, 0x01, 0x42, 0x00, 0xFF, 0xEC, + 0x90, 0x63, 0x68, 0x00, 0x7D, 0x48, 0x03, 0xA6, 0x4E, 0x80, 0x00, 0x20}; + +int main(int argc, char* argv[]) +{ + int i, ptype; + HANDLE mfile; + DWORD ret; + unsigned char mbuf[512], vbuf[512]; + char tname[512]; + char buffer[MAX_PATH]; + const unsigned char *sd_lev2; + unsigned long sd_lev2_size; + + printf ("SDLoad Card Patcher V1.00 by Costis\n"); + printf ("(%s Version)\n", OS_version); + + // Check the operating system version... + if (GetVersion() & 0x80000000) + { + // Oops! The user has tried to run this under an incompatible OS! + printf ("This program can only be run from Windows 2000\\NT\\XP.\n"); + exit (0); + } + + // Check if the user has passed a valid parameter... + if (argc != 2) + usage (); + + if ((((argv[1][0] < 'A') || (argv[1][0] > 'Z')) && ((argv[1][0] < 'a') || (argv[1][0] > 'z'))) || + (strlen(argv[1]) > 3)) + { + // The drive letter must be from A through Z and + // drive letters must be specified as X, X:, or even X:/ + printf ("Invalid drive letter specification.\n"); + exit (0); + } + + // Fix the drive letter so that QueryDosDevice accepts it. + argv[1][1] = ':'; + argv[1][2] = 0; + + // Check to make sure the drive is removable... + // We don't want a user accidentally corrupting their + // hard drive's MBR! + if (GetDriveType(argv[1]) != DRIVE_REMOVABLE) + { + // Oh, oh! A drive which is not removable has been selected... + printf ("The drive selected is not a removable device.\n"); + printf ("Please specify the drive letter of the SD card adapter!\n"); + exit (0); + } + + printf ("\nQuerying device name of drive %s...", argv[1]); + + ret = QueryDosDevice(argv[1], buffer, sizeof(buffer)); + if (!ret) + { + // The user has selected an invalid driver letter... + printf ("Failed. Invalid drive letter!\n"); + exit (0); + } else + printf ("OK!\n"); + + // Success! We have retrieved a low-level device name for the specified + // drive letter. We want to access partition 0, so remove the last part + // from it which is not needed... + for (i = strlen (buffer) - 1; i >= 0; i--) + { + if (buffer[i] == '\\') + { + buffer[i] = 0; + break; + } + } + // And append a Partition0 indicator to the end of it... + sprintf (tname, "\\\\.\\GLOBALROOT\\%s\\Partition0", buffer); + printf ("Device name: %s\n", tname); + + // Create a low-level Windows file to access the drive as a raw device. + printf ("Obtaining low-level access to drive..."); + mfile = CreateFile (tname, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_FLAG_NO_BUFFERING, NULL); + if (mfile == INVALID_HANDLE_VALUE) + { + // Error! + printf ("Failed. Could not create file!\n"); + exit (0); + } else + printf ("OK!\n"); + + printf ("Reading first sector..."); + SetFilePointer (mfile, 0, NULL, FILE_BEGIN); + ReadFile (mfile, &mbuf, 512, &ret, NULL); + if (ret != 512) + { + // Error! Maybe the user has forgotten to insert an SD card?!?! + printf ("Failed! Make sure a working SD card is inserted!\n"); + CloseHandle (mfile); + exit (0); + } else + printf ("OK!\n"); + + // Success! We have managed to read out the first sector of the drive. + // Check byte index 0x15 (drive media type descriptor) and byte index + // 0x26 (extended signature) to find out whether this sector is a + // master boot record or a volume boot record... + if ((mbuf[0x26] == 0x29) && (mbuf[0x15] == 0xF8)) + { + // This is a volume boot record, NOT a master boot record... + printf ("Volume Boot Record found in Sector 0.\n"); + // We therefore want to patch in the VBR level 2 code: + ptype = 1; + sd_lev2 = sd_lev2_vbr; + sd_lev2_size = sd_lev2_vbr_size; + } else { + // This is a master boot record... + printf ("Master Boot Record found in Sector 0.\n"); + // We therefore want to patch in the MBR level 2 code: + ptype = 0; + sd_lev2 = sd_lev2_mbr; + sd_lev2_size = sd_lev2_mbr_size; + } + + printf ("Inserting level 2 boot-code in %cBR...", (ptype ? 'V' : 'M')); + + // Patch in the code in the right offset... + memcpy (mbuf + 0x40, sd_lev2, sd_lev2_size); + + // Attempt to write the new sector 0 back to the card. + SetFilePointer (mfile, 0, NULL, FILE_BEGIN); + WriteFile (mfile, mbuf, 512, &ret, NULL); + + if (ret != 512) + { + // Write failure! Maybe the user has write protected their card?!?! + printf ("Write Error! Check the write protect switch on the SD card.\n"); + CloseHandle (mfile); + exit (0); + } else + printf ("OK!\n"); + + // Apparently our write succeeded! Let's check to make sure... + printf ("Verifying Master Boot Record..."); + + // Read sector 0 again. + SetFilePointer (mfile, 0, NULL, FILE_BEGIN); + ReadFile (mfile, &vbuf, 512, &ret, NULL); + if (ret != 512) + { + printf ("Read Error!\n"); + CloseHandle (mfile); + exit (0); + } + + // Compare the new read back sector 0, with the one that was suppsoed to + // have been written. + if (memcmp (mbuf, vbuf, 512) != 0) + { + // Oops! They are not the same... + printf ("Verification Failed!\n"); + CloseHandle (mfile); + exit (0); + } else + printf ("OK!\n"); + + // Success! We can now release the file handle back to Windows... + printf ("Releasing low-level access handle..."); + + if (!CloseHandle (mfile)) + { + // This would be such a great place for the process to fail, eh? ;) + printf ("Failed!\n"); + exit (0); + } else + printf ("OK!\n"); + + // Finally! The SD card patching process has been completed! Tell the + // user the good news and instruct them to continue the installation + // process... + printf ("\nThe SD card has been patched successfully. The file\n"); + printf ("system on it should remain completely functional as\n"); + printf ("before, and you may now proceed to the next step of\n"); + printf ("the Action Replay SD card bootloader installation\n"); + printf ("process.\n\n"); + + // End of program. + return 0; +} diff --git a/src/StdAfx.cpp b/src/StdAfx.cpp new file mode 100755 index 0000000..fd9cd88 --- /dev/null +++ b/src/StdAfx.cpp @@ -0,0 +1,8 @@ +// stdafx.cpp : source file that includes just the standard includes +// writeSD.pch will be the pre-compiled header +// stdafx.obj will contain the pre-compiled type information + +#include "stdafx.h" + +// TODO: reference any additional headers you need in STDAFX.H +// and not in this file diff --git a/src/StdAfx.h b/src/StdAfx.h new file mode 100755 index 0000000..7c5696e --- /dev/null +++ b/src/StdAfx.h @@ -0,0 +1,19 @@ +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, but +// are changed infrequently +// + +#if !defined(AFX_STDAFX_H__5D442ED7_8B5E_46D9_A725_BBE6D427B72A__INCLUDED_) +#define AFX_STDAFX_H__5D442ED7_8B5E_46D9_A725_BBE6D427B72A__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + + +// TODO: reference additional headers your program requires here + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_STDAFX_H__5D442ED7_8B5E_46D9_A725_BBE6D427B72A__INCLUDED_) diff --git a/testdemo.dol b/testdemo.dol new file mode 100755 index 0000000000000000000000000000000000000000..575b85e89db1b65095fd09a2b330159465532a27 GIT binary patch literal 169728 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�)e5#0Zf_TSNPSm?}c$n3Myf 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%0Dpcpj4E}CX;(QP-HD%6K`j)i)o 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 MZ%5SqjAp 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 literal 0 HcmV?d00001