M3 Perfect and Goomba Color

Discussion in 'GBA - Flashing Hardware and Software' started by Gman 101, Mar 27, 2008.

Mar 27, 2008

M3 Perfect and Goomba Color by Gman 101 at 8:28 AM (2,329 Views / 0 Likes) 10 replies

  1. Gman 101
    OP

    Member Gman 101 GBAtemp Fan

    Joined:
    Sep 7, 2007
    Messages:
    438
    Location:
    Karkand & Mashtuur City
    Country:
    Australia
    Is it possible to make Goomba Color inbuilt? It's a bit annoying having only Goomba inbuilt in the M3, because I'm trying to play mainly Gameboy Colour games. And is it possible to use the saves from Lameboy onto Goomba?
     
  2. DanTheManMS

    Member DanTheManMS aka Ricochet Otter

    Joined:
    Jun 2, 2007
    Messages:
    4,325
    Location:
    Georgia
    Country:
    United States
    The M3 doesn't really have Goomba built-in or anything. The emulator core sits in the M3 Game Manager's folder in C:\Program Files somewhere, and when you add a GB game it adds it onto the end of the emulator core and puts the compiled file on your card. If you replace the emulator core with the latest version, you should be able to get it to work.

    How do M3 saves work? If you can get a way to convert between a VBA save and the M3 save file, I can give you instructions for inserting your Lameboy saves into a Goomba Color compilation.
     
  3. Gman 101
    OP

    Member Gman 101 GBAtemp Fan

    Joined:
    Sep 7, 2007
    Messages:
    438
    Location:
    Karkand & Mashtuur City
    Country:
    Australia
    Yep I figured out how to convert saves using Destructobot's tools. Can you give the instructions please? And what is the name of the core file?
     
  4. Destructobot

    Member Destructobot Crave the Hammer

    Joined:
    Oct 15, 2006
    Messages:
    5,005
    Location:
    Portland, OR
    Country:
    United States
    M3 Perfect GBA saves (.dat files) are a real pain to deal with.

    SRAM and Flash saves are raw save data starting at the beginning of the file. 4kbit and 64kbit EEPROM saves are offset into the file by 16KB and 24KB respectively (I might have those mixed up), and all EEPROM saves are byte flipped like they are in .sps files. This means you need to know which save type a game uses to convert the save, unlike every other flashcart I know of that can play GBA roms (not counting the old style carts that don't use FAT filesystems). All save types are padded to 128KB.

    There is a footer after the save data that specifies which rom file the save is for. (I can't think of any purpose for the footer other that making it harder to deal with the save files, but maybe that's why I don't work for GBAlpha.) Some M3 save files end after the footer, making them about 129KB. Other M3 GBA save files are just over a megabyte; they start the same way as the 129KB files, but there is a lot of something after that, and I don't know what it's used for. I think the larger save files are from newer versions of the M3 firmware, but I'm not sure about that.
     
  5. Gman 101
    OP

    Member Gman 101 GBAtemp Fan

    Joined:
    Sep 7, 2007
    Messages:
    438
    Location:
    Karkand & Mashtuur City
    Country:
    Australia
    Well you made some save tool which converted saves to different file sizes, and it happened to work with the M3 Perfect (I just tried converting my Emerald version save to 128KB and transferred it into the .dat file, and voila! It worked!) [​IMG] Thank you very much for making that program.

    I don't know how it would apply to Goomba Color or Lameboy but DanTheManMS has said there can be something done with VBA and saves, which sounds good. All that stuff about the file sizes and stuff confuses me a bit but I sort of understand...

    But are you implying that it's possible to somehow edit the Lameboy save files and put them into the M3 .dat files?
     
  6. Destructobot

    Member Destructobot Crave the Hammer

    Joined:
    Oct 15, 2006
    Messages:
    5,005
    Location:
    Portland, OR
    Country:
    United States
    The Emerald save should have already been 128KB. If it wasn't, I don't think it would have worked after running it through my converter (unless you are using an SRAM patched Emerald rom, which you don't need to do for VBA or the M3).

    Anyhow, did you just rename the file from .sav to .dat after you converted it, or did you have to do something more?


    It's always possible to convert a working save from one format to another, but sometimes it isn't easy. I'm quite sure you could use a Lameboy save in Goomba and vice versa if you know how (I don't).
     
  7. Gman 101
    OP

    Member Gman 101 GBAtemp Fan

    Joined:
    Sep 7, 2007
    Messages:
    438
    Location:
    Karkand & Mashtuur City
    Country:
    Australia
    Well it wasn't already 128KB because it went through the ELink (not too sure what size it was but it certainly wasn't 128KB). And it did go through the converter (the rom wasn't SRAM patched).

    And I didn't just rename from .sav to .dat, I passed it through the M3 Game Manager software and merged the .sav file into the .dat file... which has got me thinking if I could get my Gameboy Color .sav file (from Lameboy) into the .dat file which is made for the Color roms (but I haven't been able to try since all the roms I've played on Lameboy are Color games which don't work with the "inbuilt" Goomba)
     
  8. DanTheManMS

    Member DanTheManMS aka Ricochet Otter

    Joined:
    Jun 2, 2007
    Messages:
    4,325
    Location:
    Georgia
    Country:
    United States
    I still think you should poke around in the Game Manager's folder in Program Files to find the Goomba emulator core and replace it with that of Goomba Color to see if it works. I don't see why it wouldn't, though of course you'd have to re-add all your GB/GBC files to your card via the Game Manager to see the effect.

    Regardless, here's how you can inject your Lameboy save into Goomba Color's *.sav file.
    1. Obtain your Lameboy save. Open the game in VBA and close it so VBA automatically trims it to the minimum size needed.
    2. Rename the save from *.sav to *.dmp
    3. Open your Goomba Color compilation in VBA (either the one made by the Game Manager or one made with the Goomba Frontend should work) and start the game you wish to inject the save file into. It's alright if there's only one game to choose from.
    4. Go to Tools - Memory Viewer
    5. Click the Load button, then select your *.dmp file. For the address, use 02038000. The size will be grayed out but should be no larger than 8000 (hex for 32 KB).
    6. Close out of the memory viewer and press L+R to open the Goomba Color menu, which automatically updates the *.sav file with your injected SRAM save.
    7. Restart the game (or VBA entirely to be sure) and see if it worked.

    From there, you'll need to turn Goomba Color's *.sav save file into an M3's *.dat file somehow. This I cannot help you with.

    Instructions adapted from http://wiki.pocketheaven.com/How_to_exchan...mulators_and_PC with additional comments based on my own observations. VBA saves and Lameboy saves are interchangeable here.
     
  9. Gman 101
    OP

    Member Gman 101 GBAtemp Fan

    Joined:
    Sep 7, 2007
    Messages:
    438
    Location:
    Karkand & Mashtuur City
    Country:
    Australia
    Thank you very much DanTheManMS! By the way, do you have any clue which file the Goomba core is? I have no idea since nothing has the name 'goomba' in it...
     
  10. DanTheManMS

    Member DanTheManMS aka Ricochet Otter

    Joined:
    Jun 2, 2007
    Messages:
    4,325
    Location:
    Georgia
    Country:
    United States
    I've been searching around on PocketHeaven for a post that explains it, and I finally found it. Thanks to Covarr for the original post:

     
  11. Gman 101
    OP

    Member Gman 101 GBAtemp Fan

    Joined:
    Sep 7, 2007
    Messages:
    438
    Location:
    Karkand & Mashtuur City
    Country:
    Australia
    Thank you again DanTheManMS. I didn't have time until now to test this out. I got Goomba Color integrated but I have another question (possibly Destructobot can answer)... how do the saves work with it since it's integrated and the saves are in bitchy little .dat files?
     

Share This Page