1. Hking0036

    OP Hking0036 GBAtemp Fan
    Member

    Joined:
    Sep 15, 2015
    Messages:
    495
    Country:
    United States
    Hey there. Recently, my interest was piqued by the tagging of some gba roms as (Virtual Console). Some of these changes are known such as Super Mario Advance 4/Super Mario Bros. 3, and some even have patches to the original roms to update them. However, it seems that a lot of them have been undocumented, or worse, some aren't even noticed at all. Some of the changes are trivial, such as many of the Battle Network changes that reduce flashing on some occasions (admittedly less trivial if you have epilepsy), others fairly significant, such as the Super Mario Advance 4's inclusion of all the e-reader levels previously unavailable. My goal is to figure out, preserve and keep track of all of the changes, be they small or large, to the best of my ability. Therefore, without further ado:
    NOTE: NONE of these will permanently modify your Wii U.
    NOTE: NewNusGrabber-GUI Has since been broken. May update with cdecrypt 2.0b to come.

    Option A: Dump and optionally upload title keys, then dump .gba from files (Recommended)
    This is the easiest method and will let you get the files without having to mess with DDD.
    What you'll need:
    • A Wii U, version 5.5.1 or lower.
    • An SD Card, any size should do fine.
    • The Homebrew Launcher for Wii U (1.x Versions, not 2.x versions don't require permanent modding like on the Wii and are reset after a system reboot)
    • Tik2SD By Fix94
    • A CLEAN original rom of the game you're dumping. Make sure there's no Hacktro, or else you can't verify the differences properly (Avoid anything labelled MODE7 or MUGS).
    • A rom Patcher of your choice. For our example, we're using Floating Lunar IPS, or FLIPS.
    • FunKiiU or if you want a UI, get FunKiiUI. If you want to use FunKiiUI, you will still need to download FunKiiU, just put them in the same folder.
    • Inject_GBA by ajd4096
    • Python 3.5
    • NEW-NUSGrabber UI

    Step 1 - Dump Tickets
    1. Download the latest homebrew launcher. [pic]
    2. Open the zip, and copy the wiiu folder to the root of your SD card. [pic]
    3. Download the latest tik2sd.
    4. Open the zip, and copy the .elf file to your sd card's /wiiu/app folder (you should see the homebrew launcher folder here). Put the SD into your Wii U.
    5. Turn on your Wii U and open the browser. Go to http://loadiine.ovh/. Tap the first square, labelled "Homebrew Launcher 1.2 RC3". [pic]
    6. Wait a moment for the homebrew launcher to open. If your Wii U freezes (unlikely) hold the power button until the light goes red, turn it back on, and try again.
    7. On the homebrew launcher screen you should see two items: Tik2SD, and the Homebrew launcher.
    8. Tap Tik2SD, then tap Load. You should see a screen that says Press A to backup your console tickets. Press A.
    9. You will be returned to your home menu. You're now done with the Wii U, take the sd card out and return to your PC.

    Step 2 - Use your titlekey to download your game, then decrypt.
    1. In your SD Card, find the folder labelled 'tik2sd'. It should have a number of folders labelled with numbers, and one file called keys.txt. Open this one.
    2. In this file, you will see a straight down list of title IDs (The first part, starting with 0005000), and keys (the second part).
    3. Go to the WiiUBrew Title Database. Press CTRL+F and type in the name of the game you're looking for. On the left you will see the title ID with a dash seperating the parts. find the matching one in Keys.txt.
    4. (OPTIONAL) Go to that titlekey site (easily findable by googling wii u title keys) and paste the title ID, as well as the key out of the keys.txt, then hit submit. This will make your key available for others.
      • Press Windows Key+R and then type cmd and hit enter. A command line will open. use the CD command to find the folder you put funkiiu in (ex cd C:\Users\Name\Downloads\funkiiu-2.2).
      • Type "funkiiu.py -title TITLEID -key TITLEKEY" to download your game, or if you put it onto that titlekey site you can simply specify with -onlinekeys instead of pasting your own.
      • Double click on gui.py and wait.
      • Go to the download tab and paste your Title ID, and key. If you put your key on the site before you only need to worry about the ID here.
    5. Go into the install folder, and you should see a new folder with your game. This is encrypted, however.

    6. Inside your game folder, you should now see a code, content, and meta folder. Go into the content folder and copy alldata.psb.m to your desktop.

    Step 3 - Dump your GBA rom.
    1. Download Inject_GBA. There are no releases, this is okay. Simply go to the green button that says "clone or download" and click "download zip". [pic]
    2. Inside the zip, you'll see a folder labelled inject_gba-master. Simply copy the folder to you desktop. [pic]
    3. Open a new Command Prompt window. Type "cd Desktop\inject_gba-master" without quotes. [pic]
    4. Next, type "setup.py install" without quotes. You should see a lot of text scroll across the window and then stop. Close the window. [pic]
      1. IMPORTANT: Inject_GBA is packed with a bad file, this will give you an error every time you try to open it. The next few steps will cover this. (I've opened an issue for it so this will probably end up getting cut out later on)
      2. Open Explorer, and in the top box type %appdata% and hit enter. On the top, click "AppData". [pic]
      3. Next, go into the "local" folder. Scroll down to the "programs" folder, enter that, then go to the "python" folder. [pic]
      4. Inside there, go to the "Python 35-32" folder, then "lib", then "site-packages", then "site-packages", then "easygui-0.98.0-py3.5.egg", then "easygui", then "boxes". [pic]
      5. Open "choice_box.py" with a text editor, and replace the line that says "exception, e" with "exception as e" [pic]
      6. You have now fixed the bad file.
      1. Open a new Command Prompt window, then type "cd Desktop" without quotes.
      2. You're now inside the folder with alldata.bin and alldata.psb.m
      3. Inside the command prompt window, type "inject_gba --inpsb alldata.psb.m --outrom name.gba" without quotes, where name is the name of your rom. (For simplicity's sake, don't put any spaces in the name. If you want, rename it later). [pic]
      4. Congratulations, you've dumped the rom out of the data and into a .gba file.

    Step 4 - Checking Differences, and Making a Patch
    Next, we're going to see if it's different from the original, and if so, make a patch so everyone can take a look.
    1. Now that you've dumped the rom, we can compare it to the original and see if there's a change.
    2. Make sure you've installed HashTab.
    3. Now, put both your clean rom and your newly dumped rom on the desktop.
    4. Right click on your newly dumped rom, then click properties. You should see a tab at the top that says "file hashes". [pic]
    5. Click the tab. You should notice a button that says "compare a file". Click this, and then find your original rom file to compare the two. If you see a Red X appear over the Hashmark on the left side, the two files are different, so the Virtual Console version has changes. If a Green Check appears, the files are identical and no changes have been made. So far every dump I've made has had differences, but this isn't necessarily the case for all roms. Don't be discouraged if roms are the same, just please post in the thread so that I can mark them as such. [pic 1 and 2]
    6. If a red X appears, then there's a difference. Therefore, we're going to make an .bps patch. Making this patch will make it so that if someone has the original rom, they can apply your patch to it and it will change it to match the virtual console dump exactly. This way, we don't share illegal roms, but make the Virtual Console variants of roms accessible to everyone. Make sure to take down the CRC32 hash value.
    7. Open Floating Lunar IPS. You should notice 4 buttons. Click the button that says "create patch".
    8. A Box will pop up. First, pick the original clean rom, then hit okay. [pic]
    9. Another box will pop up. This time, pick the newly dumped VC rom, then hit okay. [pic]
    10. Another popup will appear, asking you to save as. click the part that says "save as type:" and change it to .bps, then click save. [pic]
    11. A patch will be made and placed on the desktop. [pic]
    12. Right click on the desktop, hover over new and then click zipped folder.
    13. Drop your new patch onto the zipped folder.
    14. Open this thread, to to the "upload a file" button, then click "choose file".
    15. Find your new zip folder, and double click. The file will now be uploaded.
    16. Tell us about what you made and post it! Include the CRC32 hash of the VC rom. [pic]
    17. You've successfully made a patch to turn the original rom into the VC rom.
    Option B: Dump and make a .gba from files
    This is the next easiest, allowing you to dump the files you need from the game that is installed on your wii u over the network with DDD.
    What you'll need to dump and preserve a VC rom:
    • A Wii U, version 5.5.1 or lower.
    • An SD Card, any size should do fine.
    • The Homebrew Launcher for Wii U (1.x Versions, not 2.x versions don't require permanent modding like on the Wii and are reset after a system reboot)
    • DDD for Wii U
    • A tool to analyze hashes. For our example, we're using Hashtab. GBA Tool Advance can also check CRC32 ONLY, which should cover most of the process.
    • A CLEAN original rom of the game you're dumping. Make sure there's no Hacktro, or else you can't verify the differences properly (Avoid anything labelled MODE7 or MUGS).
    • A rom Patcher of your choice. For our example, we're using Floating Lunar IPS, or FLIPS.
    • Inject_GBA by ajd4096
    • Python 3.5
    • 15 or so minutes to set up and dump the first time
    Step 1 - Dumping with DDD
    The first part we're going to want to do is to dump a decrypted version of the GBA VC rom.
    1. Download the latest homebrew launcher. [pic]
    2. Open the zip, and copy the wiiu folder to the root of your SD card. [pic]
    3. Go to the latest release of DDD. [pic]
    4. You should see a number of different versions. The first is for the Wii U, download this one first.
    5. In this zip you should see another wiiu folder. Copy this to the root of your SD Card. When asked to merge, simply click yes. [pic]
    6. Download the version of DDD for your Operating System. For our purposes, we're doing this on windows, so we're going to use the win32 variant.
    7. Inside this version you should find an exe file. Copy this file to your desktop. [pic]
    8. Eject the SD card from your computer, and put it into your Wii U.
    9. On your PC, open a command prompt (either hit Windows Key+R and type cmd, then hit enter, or go to start and look). [option 1 or option 2]
    10. You should see a box pop up. on the left you should see C:\Users\Your Name>. in this window, type "cd Desktop" without quotes. [pic]
    11. Now that you're on your desktop, type in the box "titledumper.exe" without quotes.
    12. You should see text pop up showing you how to use DDD.
    13. Type "titledumper.exe /vol/content C:\Users\Your Name\Desktop" without quotes.
    14. The box will now say "Waiting for Wii U connection" [pic]
    15. Turn on your Wii U and open the browser. Go to http://loadiine.ovh/. Tap the first square, labelled "Homebrew Launcher 1.2 RC3". [pic]
    16. Wait a moment for the homebrew launcher to open. If your Wii U freezes (unlikely) hold the power button until the light goes red, turn it back on, and try again.
    17. On the homebrew launcher screen you should see two items: DDD, and the Homebrew launcher. [pic]
    18. Tap DDD, then tap Load. You should see a screen that says Server IP. [pic 1 and pic 2]
    19. If you don't know your PC's IP address, open another command prompt and type "ipconfig". You're looking for your IPv4 Address. [pic]
    20. Fill in your PC's IP address, and then press X.
    21. You should be returned to the home screen. Simply tap the game you want to dump as if you were launching it. (Don't worry, this is only temporary, after you restart your Wii U it will just play your game like normal).
    22. You should see the window that said "Waiting for Wii U connection" dump information. Open the new vol folder on your desktop, and go into content. [pic] (picture is an example, GBA dumps will have less files than this to dump)
    23. You should see two files: alldata.bin, and alldata.psb.m. [pic]
    24. Congratulations, you have successfully dumped your game's info that we need. You can now turn your Wii U off, as we'll be on the PC from here on out.
    Step 2 - Digging out the ROM
    The next thing we want to do is to get the actual .gba out of it.
    Download Python 3.5. On windows, you'll want to download the "Windows x86 executable installer" version.
    1. Open the .exe. Make sure to check the box that says "Add Python 3.5 to PATH". Click Install Now. [pic]
    2. Download Inject_GBA. There are no releases, this is okay. Simply go to the green button that says "clone or download" and click "download zip". [pic]
    3. Inside the zip, you'll see a folder labelled inject_gba-master. Simply copy the folder to you desktop. [pic]
    4. Open a new Command Prompt window. Type "cd Desktop\inject_gba-master" without quotes. [pic]
    5. Next, type "setup.py install" without quotes. You should see a lot of text scroll across the window and then stop. Close the window. [pic]
    1. IMPORTANT: Inject_GBA is packed with a bad file, this will give you an error every time you try to open it. The next few steps will cover this. (I've opened an issue for it so this will probably end up getting cut out later on)
    2. Open Explorer, and in the top box type %appdata% and hit enter. On the top, click "AppData". [pic]
    3. Next, go into the "local" folder. Scroll down to the "programs" folder, enter that, then go to the "python" folder. [pic]
    4. Inside there, go to the "Python 35-32" folder, then "lib", then "site-packages", then "site-packages", then "easygui-0.98.0-py3.5.egg", then "easygui", then "boxes". [pic]
    5. Open "choice_box.py" with a text editor, and replace the line that says "exception, e" with "exception as e" [pic]
    6. You have now fixed the bad file.
    1. Open a new Command Prompt window, then type "cd Desktop\vol\content" without quotes. [pic]
    2. You're now inside the folder with alldata.bin and alldata.psb.m
    3. Inside the command prompt window, type "inject_gba --inpsb alldata.psb.m --outrom name.gba" without quotes, where name is the name of your rom. (For simplicity's sake, don't put any spaces in the name. If you want, rename it later). [pic]
    4. Congratulations, you've dumped the rom out of the data and into a .gba file.
    Step 3 - Checking Differences, and Making a Patch
    Next, we're going to see if it's different from the original, and if so, make a patch so everyone can take a look.
    1. Now that you've dumped the rom, we can compare it to the original and see if there's a change.
    2. Make sure you've installed HashTab.
    3. Now, put both your clean rom and your newly dumped rom on the desktop.
    4. Right click on your newly dumped rom, then click properties. You should see a tab at the top that says "file hashes". [pic]
    5. Click the tab. You should notice a button that says "compare a file". Click this, and then find your original rom file to compare the two. If you see a Red X appear over the Hashmark on the left side, the two files are different, so the Virtual Console version has changes. If a Green Check appears, the files are identical and no changes have been made. So far every dump I've made has had differences, but this isn't necessarily the case for all roms. Don't be discouraged if roms are the same, just please post in the thread so that I can mark them as such. [pic 1 and 2]
    6. If a red X appears, then there's a difference. Therefore, we're going to make an .bps patch. Making this patch will make it so that if someone has the original rom, they can apply your patch to it and it will change it to match the virtual console dump exactly. This way, we don't share illegal roms, but make the Virtual Console variants of roms accessible to everyone. Make sure to take down the CRC32 hash value.
    7. Open Floating Lunar IPS. You should notice 4 buttons. Click the button that says "create patch".
    8. A Box will pop up. First, pick the original clean rom, then hit okay. [pic]
    9. Another box will pop up. This time, pick the newly dumped VC rom, then hit okay. [pic]
    10. Another popup will appear, asking you to save as. click the part that says "save as type:" and change it to .bps, then click save. [pic]
    11. A patch will be made and placed on the desktop. [pic]
    12. Right click on the desktop, hover over new and then click zipped folder.
    13. Drop your new patch onto the zipped folder.
    14. Open this thread, to to the "upload a file" button, then click "choose file".
    15. Find your new zip folder, and double click. The file will now be uploaded.
    16. Tell us about what you made and post it! Include the CRC32 hash of the VC rom. [pic]
    17. You've successfully made a patch to turn the original rom into the VC rom.

    Option C: Dumping from RAM with tcpGecko
    This process is a little more complex, but also verifies that if a game is modified in memory that you get the correct version. I always do the above steps first, and then verify with one of these. So far, I've yet to see a GBA game that receives modification in memory, but other stuff like SNES definitely does so it's generally a good idea just to check.
    What you'll need:
    1. First, open tcpgecko, and go to the tools tab. Put in your Wii U's IP Address, but don't hit connect yet. [pic]
    2. Start up your Wii U and go to loadiine.ovh.
    3. Tap tcpGecko installer. You should see the menu that appears when you press home pop up.
    4. Tap the browser icon again. tcpGecko will be installed (temporarily, it's cleared on shutdown). If you haven't gotten your IP yet, it will display it.
    5. Return to the menu and launch the game you want to dump.
    6. after the game starts, click connect to gecko.the buttons should stop being greyed out.
    7. Click on the button that says '01' and change it to '10'. [pic]
    8. For Start, change 10000000 to 30000000. [pic]
    9. For End, change 50000000 to 48000000. [pic]
    10. Hit 'Dump'. This will take a while. Once done, click disconnect and then turn off your Wii U.
    11. In the folder where you have TCPGecko, you should see a file named "DUMP10.BIN". Open this with HxD.
    12. Open the clean rom of the game you're dumping in HxD.
    13. Take note of the first 4 bytes of the clean rom, and notice on line 11 on the right you can see the internal name of the game. [pic]
    14. In the DUMP10.BIN, this will still be there but swapped. Most (not all) GBA roms start with Bytes 2E 00 00 EA. In DUMP10.BIN this translates to 00 2E EA 00. If the header of the gba rom you're dumping is different, then adjust accordingly. The pattern stays the same.
    15. in HxD, hit search, then find. Switch data types from string to hex values, and then put in your translated 4 bytes. You should notice the title of the rom has changed underneath. [pic]
    16. select the first byte (should be 00) and then go to Edit > Select Block. click the length button, and then match the size of the rom you're dumping. use the original rom's size as comparison. For 4MB, put in 400000. For 8MB, 800000. For 16MB, 1000000, and for 32MB put in 2000000. Note that some roms can be expanded when they're modified for virtual console, such as Super Mario Advance 4 which went from 4 to 8 MB. If you dumped with Inject_GBA and are redumping then you can use the size of the new rom.[pic]
    17. Copy your selected block, then make a new file in HxD. Paste your data, and save.
    18. Drag and drop your new file onto 'fixvc.exe'. A .gba file will be made in the same directory.
    19. Load your rom in mGBA. If it doesn't launch, try stepping up one size with your selection. If it still doesn't launch, it could be attempting to use a Virtual Console specific function, and can't. Most of the time this shouldn't be an issue.
    20. For the rest, continue to step 3 of the above parts.
    If you made it this far, congrats. You've successfully dumped a rom, made a patch to make it publicly accessible, and preserved it's information.

    (Optional) Submit for preservation
    Lastly, we're going to contribute them to the No-Intro database for preservation.
    You will need: GBA Tool Advance
    This step is optional, but is recommended for preserving the files. Here's a template:
    Here's a picture showing how to fill this out:
    [​IMG]

    Name:
    Region:
    Languages: En
    Serial:
    Save Type:
    Comment: Virtual Console Variant, Dumped by
    Filename:
    Size:
    CRC32:
    MD5:
    SHA1:

    Let's go step by step through each part.

    1. Name. This is simple enough, just type the name of the game that you dumped.
    2. Region. This is fairly self explanatory on it's own, if you dumped a US game, put in USA. If you dumped a European one, put in EUR.
    3. Languages: Fill in the languages it supports.
    4. Serial: This is where it gets a little more detailed, but it's not hard at all.

    1. Open GBATA and click the square with "..."
    2. Pick your newly dumped rom. A bunch of info will pop up in the boxes underneath.
    3. Under Serial, you should see "AGB-XXXX-XXX" where the middle is the game serial, and the end is the region. Simply copy and paste this in.
    5. Save Type: Same as with serial, simply copy and paste this from the box at the bottom.
    6. Comment: Here we want to specify that it's a virtual console dump, which is filled in. To credit yourself put your name after "Dumped by". Any additional info goes here as well (eg. say a game doesn't start properly or freezes after a certain screen).
    7. Filename: For the sake of consistency we're going to fill these in uniformly. The format we're going to use is Filename (Region) (Virtual Console).gba. For example, if we were dumping Metroid Fusion, we would say Metroid Fusion (USA) (Virtual Console).gba.
    8. Size: For Size, you want to fill in size in bytes. Fortunately, GBATA will tell us this as well. Simply copy the number of bytes out of the window and paste it in.
    9. CRC32: For this, we're going to go back to hashtab. Right click on the file, click properties, file hashes. Right click the part that says CRC32 and click copy, then paste it in.
    10. MD5: Same as part 9.
    11. SHA1: Same as part 9.
    12. Post the template in this thread with your patch. I will submit it to no-intro so it will be catalogged and you will recieve the proper credit through the comments section. If you would prefer to submit them yourself, go to the No-Intro forums, register, and you can submit through the New dumps section.
    Here's a straight down album of the pictures in order.
     
    Last edited by Hking0036, Apr 29, 2017
  2. Hking0036

    OP Hking0036 GBAtemp Fan
    Member

    Joined:
    Sep 15, 2015
    Messages:
    495
    Country:
    United States
    I'm going to document which have been dumped and their hash in CRC after patching. Patches are attached where applicable. Remember the best way to verify is redumping, so if you want that's not a bad idea.

    Spreadsheet with info on roms, links to patches and manual scans where available: here
    You can submit games with a form: here if you don't want to post in the thread
    Patches: here
    To apply patches, use FLIPS. I use BPS to save space and to keep people from applying patches to the wrong roms, and FLIPS is equally as user friendly as Lunar IPS.
     
    Last edited by Hking0036, Apr 29, 2017
  3. Mikemk

    Mikemk GBAtemp Advanced Maniac
    Member

    Joined:
    Mar 26, 2015
    Messages:
    1,891
    Country:
    United States
    Distributing the patches would not be allowed here as they would still contain pirated content even though they're a patch.
     
  4. Hking0036

    OP Hking0036 GBAtemp Fan
    Member

    Joined:
    Sep 15, 2015
    Messages:
    495
    Country:
    United States
  5. Mikemk

    Mikemk GBAtemp Advanced Maniac
    Member

    Joined:
    Mar 26, 2015
    Messages:
    1,891
    Country:
    United States
  6. Hking0036

    OP Hking0036 GBAtemp Fan
    Member

    Joined:
    Sep 15, 2015
    Messages:
    495
    Country:
    United States
    considering it's been on there since January I'd say if they haven't done anything they aren't going to, because generally speaking they're on top of things, and it's a 19 page long thread.
     
    Last edited by Hking0036, Oct 4, 2016
  7. cearp

    cearp 瓜老外
    Developer

    Joined:
    May 26, 2008
    Messages:
    8,268
    Country:
    Tuvalu
    i wonder if golden sun was changed at all for wiiu.
    it would be interesting (and expensive) to check every game there. but apart from a few exceptions like sma4 it will just be epilepsy fixes i guess.
    nope, the mod i spoke to today said it was ok. sorry bud.
     
    Hking0036 likes this.
  8. Hking0036

    OP Hking0036 GBAtemp Fan
    Member

    Joined:
    Sep 15, 2015
    Messages:
    495
    Country:
    United States
    Yeah, but I figure cost dispersed among a lot of people means that it might be easier to fill in the gaps. I'm probably going to buy Kuru Kuru Kururin or Mystery Dungeon Red when I get the chance.
     
    cearp likes this.
  9. Mikemk

    Mikemk GBAtemp Advanced Maniac
    Member

    Joined:
    Mar 26, 2015
    Messages:
    1,891
    Country:
    United States
    What about the 3DS Ambassador games? Any changes there?
     
  10. Hking0036

    OP Hking0036 GBAtemp Fan
    Member

    Joined:
    Sep 15, 2015
    Messages:
    495
    Country:
    United States
    As far as I know, the ambassador VC were made before the Wii U launched. That said, there could be something to that. Only issue there is, I don't know how to get the .gba out of the cias. I guess Deep Decrypt and then unpack.
     
  11. VinsCool

    VinsCool Cattus Incerta Tacitusque
    Moderator

    Joined:
    Jan 7, 2014
    Messages:
    13,790
    Country:
    Canada
    Another method that I used (because python refused to cooperate and make inject_gba to work) was TCGP Gecko and RAM dumps. Retrieving the rom was done by the following:

    - Dump the RAM from the 10 offset (I havent really looked at where it actually stores the ROM, so anyone is free to correct me)
    - Get the same game ROM clean and unmodified
    - Select the header from a HEX editor and search it in the ram dump
    - Once a match is found, select the next 100 MB of it, and save it as a new file (better have a bigger file in this case, to avoid data cut)
    - Byteswap the whole data chunk saved with any script doing byteswap (I personally used a python script made by Daxtsu)
    - Open the byteswaped data chunk in the HEX editor again and search for the header once more. If everything was done correctly, the whole rom wil be there.
    - Select the ROM data starting from the first header byte until the maximum filesize the base ROM was (SMA4 was expanded for the additional levels in this case. So make sure to verify the rom ends with 00 or FF before!)
    - Copy the selected HEX data to a new file and save a a .gba file
    - If everything went correctly, the ROM shoud run in an emulator right away (Exceptions for Megaman Battle Network 5 games: those require a minor edit to boot, most likely due to some custom nintendo emulator opcode)

    So yeah I had to share it, because that was how I did my Megaman dumps haha :P
     
    Hking0036 likes this.
  12. Hking0036

    OP Hking0036 GBAtemp Fan
    Member

    Joined:
    Sep 15, 2015
    Messages:
    495
    Country:
    United States
    Thanks! With my experience over the past few days with that the rom tends to land in the 30000000-47000000 region (at the very tail end of even that, I think starting at 40000000 isn't entirely unreasonable), at 10 offset it dumps to 50000000 which makes it crash.

    That said, I'm glad I found out about this script because it's way more precise. Zero 3 gets expanded from 8 to 16MB, I wouldn't be able to tell looking at the ram dump in hex like that :ha: (plus I was too dumb to notice byteswapping)
     
    Last edited by Hking0036, Oct 5, 2016
    VinsCool likes this.
  13. Hking0036

    OP Hking0036 GBAtemp Fan
    Member

    Joined:
    Sep 15, 2015
    Messages:
    495
    Country:
    United States
    Added "high quality" pictures to the guide.

    Also @Mikemk I downloaded all the jp, eu, and Na ambassador cias and decrypted them. So far I've only extracted one .gba, fire emblem sacred stones USA but it matches the US, Australia rom so I'm not holding my breath. I'll finish the others tomorrow but today has been a lot of dumping and scanning already :rofl2:

    For anyone interested, the process I worked out for the ambassador roms is this: deep decrypt > unpack with tools > find header in exefs.bin > select first byte (from my experience over the past day, all headers start with a byte 2E and you should see a string 6 lines or so down with the games internal title) and select block the size of the original rom, copy and paste into a new file and test.
     
    Last edited by Hking0036, Oct 5, 2016
    cearp likes this.
  14. bootmonster

    bootmonster GBAtemp Fan
    Member

    Joined:
    Oct 26, 2002
    Messages:
    456
    Country:
    United States
    Correct me if I'm wrong, but I'm sure I read somewhere that the rom stored within the VC games isn't necessarily the game that you end up playing once loaded on the Wii u. Some games do on the fly patching which means you would have to use the memory dump method to extract the game as opposed to extracting the game from the VC dump.
    IIRC it was one of the earthbound games that had this but I can't be sure.
     
    Hking0036 and cearp like this.
  15. cearp

    cearp 瓜老外
    Developer

    Joined:
    May 26, 2008
    Messages:
    8,268
    Country:
    Tuvalu
    very true... a few games do this.
    maybe not all, but i thought pokemon vc did it...? phantasy star i think i saw...?
     
    Hking0036 likes this.
  16. Hking0036

    OP Hking0036 GBAtemp Fan
    Member

    Joined:
    Sep 15, 2015
    Messages:
    495
    Country:
    United States
    I'm sure you're right in some cases, I don't know which games would do this though (obviously, considering I'm not working at Nintendo). In any case, I can redump mine through TCPGecko and check it against my dumps so far. This makes me particularly suspicious of Super Mario Advance 2. At some point I can work up some instructions for that but I have a lot to do today so I might not be able to (that said I'm also keen on slacking so it may get done).

    If I were to take a guess I think that on-the-fly patching may be where the VC-Specific emulator-breaking stuff comes in, but then again I'm pretty unqualified to say so.
     
    Last edited by Hking0036, Oct 5, 2016
  17. Hking0036

    OP Hking0036 GBAtemp Fan
    Member

    Joined:
    Sep 15, 2015
    Messages:
    495
    Country:
    United States
    I just redumped all of them with TCPGecko and none have any changes from the new dumps already made. I'll keep a heads up for the future though. More on the way right now.

    Edit: Added golden sun, minish cap (eur), mario kart (eur), golden sun - the lost ages, polarium advance. Polarium Advance is a US dump, the rest are eur. Both golden sun's roms are of the USA region.

    Added a section for dumping with TCPGecko, albeit a little sparser than the normal one.
     
    Last edited by Hking0036, Oct 5, 2016
    VinsCool, bootmonster and cearp like this.
  18. VinsCool

    VinsCool Cattus Incerta Tacitusque
    Moderator

    Joined:
    Jan 7, 2014
    Messages:
    13,790
    Country:
    Canada
    I have a question. Is the fixvc.exe the program that byteswaps the file to give a proper GBA ROM? Sorry for the stupid question XD I just wanted to be sure I read it correctly.
     
  19. Hking0036

    OP Hking0036 GBAtemp Fan
    Member

    Joined:
    Sep 15, 2015
    Messages:
    495
    Country:
    United States
    yeah, it's just a little bit of C compiled with GCC, input name output name.new.gba fixed.
     
    VinsCool likes this.
  20. VinsCool

    VinsCool Cattus Incerta Tacitusque
    Moderator

    Joined:
    Jan 7, 2014
    Messages:
    13,790
    Country:
    Canada
    Alrighty! That's what I needed to know :)
     
    Hking0036 likes this.
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - Preserve,