Page 1 of 5 123 ... LastLast
Results 1 to 10 of 49

Thread: [Tutorial] PunEmu - play emulators from USB Loader or DVD

  1. #1
    Senior Member
    Join Date
    Mar 2009
    Location
    USA
    Posts
    5,552

    [Tutorial] PunEmu - play emulators from USB Loader or DVD


    PunEmu - by Giantpune (a Wii God)
    Source - gbatemp.net/punemu

    I take no credit for this, or anything used to create the ISO. I am just guiding you in the creation of an ISO that will contain certain emulators, you need to supply the roms. When your ISO is complete, you may burn it to a disc or install it to a usb loader.

    The following emulators are included:
    • FCE Ultra GX R507 (NES emulator)
    • Snes 9x GX R625 (SNES emulator)
    • VBA GX R494 (GBA Emulator)
    • Genesis Plus GX R501 (Sega Megadrive Emulator)
    • Wii64 Beta 1.1 (N64 Emulator)


    You must use the included emulators, do not update or install different versions of the emulators.


    Downloads
    punemu-extract+compose
    punemu 1.1




    Create the ISO

    1. Unzip the download
    2. You will now have extracted 2 folders ("punemu 1.1" & "punemu-extract+compose")
    3. Look in the "punemu 1.1" folder and locate the "punemu1.1.wbfs" file
    4. Copy the "punemu1.1.wbfs" file to the "punemu-extract+compose" folder
    5. In the "punemu-extract+compose" folder, Windows users launch the "extract-orig.bat" application, all other users launch the "extract-orig.sh" application. The directory "work-dir" should have been created
    6. Copy your roms to:
      /work-dir/files/fceugx/roms/
      /work-dir/files/genplus/roms/
      /work-dir/files/snes9xgx/roms/
      /work-dir/files/vbagx/Gameboy Advance/
      /work-dir/files/vbagx/Gameboy Color/
      /work-dir/files/vbagx/Gameboy/
      /work-dir/files/wii64/roms/

      If you are going to use the cheat files, then you must make sure your rom files have the same name as the cheat files (don't change the file extention, duh)
    7. Now, if you want to create an ISO, launch the "create-iso" application, if you want to create a wbfs file then launch the "create-wbfs" application. Once again, windows users will use the ".bat" file and all other users will use the ".sh" file. Just let the application do it's thing, it takes a few seconds to look like it's working. An image should have been created when completed, punemu1.1+roms.
    8. The image, punemu1.1+roms, that was created is now ready to be burned to DVD or installed to a usb hdd
    9. If you want to add more roms, repeat steps 6 & 7 to create another ISO.


    This was provided by wiimms.
    punemu-extract+compose (source) - here


    Using the emulators

    [SPOILER="readme"]PunEmu
    Multi-Emulator Wii-mode iso
    v1.0 September 01 2010
    v1.1 December 16 2010

    main.dol, emulator modifications, iso composition giantpune
    visual stylings neorame
    banner wiithemeteam
    testing giantpune, markehmus, XFlak

    This disc images is designed to allow loading of emulators and roms via the DIP in IOS. Redirection of the calls to DIP can be used to have roms & emulators being read from different medium. It uses a fakesigned partition, so any IOS that is to read the disc must allow fakesigned TMD, etc. There is nowhere other than the TMD that specifies a certain IOS, so whatever IOS the iso is booted with is used for all emulators.

    These methods have been tested and are working ( keeping in mind the fakesign stuff )

    DVD drive + DVD-r + System menu
    WODE + NTFS/WBFS/FAT + System menu or GeckoOS
    neogamma beta9 + cIOS249 v20 & 21beta5 + WBFS HDD
    cfgloader + cIOS222v4 / 249v20 + WBFS /FAT HDD
    UsbloaderGX + cIOS222v4 / 249v20 + WBFS /FAT HDD


    * When the library was written & tested that mounts the dvd filesystem, I tested with an iso with over 7000 files. Everything seemed to work fine. In most cases, the fst is left in memory and takes up space that could be used for other things. Its size is derectly affected by the number of files & folders and the length of their names. My iso with 7002 files used ~0.25MB to store the fst, which seeed to work fine. I have not tried to push the limit and see exactly how many files can be put in the iso before stuff starts to not work right ( the wii only has so much memory ), but 7000 files seems like enough to encompass cheat files, roms, emulators, gamegenies, and whatever else.

    * The iso itself contains 6 executables, and each of those contains a small dol-booter, so there are 12 dols total, and each time one of them starts, it receives the IOS in whatever state it was in when the last dol finished using it. If there is anything left open by 1 or more dols, these things can eventually pile up from switching between dols many times. While I have done simple testing switching back and forth between the dols, I have not sat down and tried to switch back and forth until something went wrong.

    * when started via neogamma, the wiimote does not always work in the first dol, and video mode is sometimes set to 480i. After loading an emulator, everything works as expected. It seems to be caused by some patch neogamma does and is not caused by anything in this iso.

    * using cIOS222v4, and possibly some other versions, the disc check fails; just stick any disc in the drive.

    * The emulators contained in the iso are largely written by others. I have made changes to the code to to make them work in this iso. Keep in mind that these are modifications of the original work. Any bugs encountered in these emulators should probably not be reported to their creators, as I have changed enough code that the bug may be my fault.

    * Most of the emulators use an argument given at startup to determine where they were loaded from, and then try to use that argument to decide where to save/load settings. If you press the "A" button to start one, an argument will be sent telling the program that it was loaded from the SD card, and it will then try to use the SD card to load settings. If you press "1" ( "Y" on GC/CC ) the program will be told that it was started from the USB drive, and try to load its settings from there. Using the "alt-dol" trick should work to start individual dols, but it does not pass any arguments, so things might now work as expected.

    * Since fakesigning is required to create the partition, the "sane IOS" check has been removed from some emulators. If the user has some stupid stuff going on in their IOS, I believe it to be their fault if anything unexpected happens because of this.

    * The disc is made possible by open-source software. It is used in the executables as well as used to assemble the disc image.

    * CHEATS!! I spent a good bit of time messing with the cheat stuff in this iso. It includes things like allowing cheats to be loaded from the iso, creating new formats for cheats, converting existing codes into the new format, adding support for these cheats, and building a cheater menu in the sega emulator. Included are 726 NES, 289 sega, and 898 SNES cheat files with ~30,000 codes. Obviously I didn't test them all. I have only spot tested these cheats and so far they seem to work. Also changed is the ability to load gamegenie roms from the iso. If you have a NES game genie rom, place it at "dvd:/fcuegx/gg.rom", and place the sega one at "dvd:/genplus/ggenie.bin".

    main.dol
    based on the demo template in libwiigui by tantric
    dol loading code from dimok
    sexy images by neorame
    uses a fst devotab losely based on one by Joseph Jordan
    images are adjusted based on console region & aspect ratio settings

    nes.dol
    based off FCE-ultra-gx svn r507
    removed update check
    removed "load startup iso" and "sane ios" code
    changed dvd:/ to read from modified devotab
    change exit code to load main.dol from DIP
    don't keep checking if a disc is in the drive, just assume it should be after the first check
    look for cht files from the same device the current rom is loaded from
    fix bug for cheats with long descriptions ( raise name limit from 50 to 256 )

    snes.dol
    based off Snes9x-gx svn r625
    removed update check
    removed "load startup iso" and "sane ios" code
    changed dvd:/ to read from modified devotab
    change exit code to load main.dol from DIP
    don't keep checking if a disc is in the drive, just assume it should be after the first check
    load cheat from whatever device rom is loaded from, not from the save device
    add support for reading game genie codes from a file "/cheats/<rom_name>.ggp"
    .cht files are read first, then .ggp. so the .cht cheats will appear at the top of the list
    fix bug for cheats with long descriptions
    raised max cheats & length of cheat descriptions ( only for GG/PAR codes )

    gba.dol
    based off Vba-gx svn r494
    removed update check
    removed "load startup iso" and "sane ios" code
    changed dvd:/ to read from modified devotab
    change exit code to load main.dol from DIP
    don't keep checking if a disc is in the drive, just assume it should be after the first check

    sega.dol
    based off gensplus-gx svn r501
    sd card must be present for this emulator to be used
    changed all dvd read commends use the dvd:/ devotab
    change exit behavior to reload main.dol
    added dvddir to config. !!this changes the size of the config file and SHOULD still be compatible with config files created by the official version, but it might be a good idea to backup the original config just in case!!
    fixed bug where screenshots were not displayed for roms that dont have a 3-letter extension
    added a kickass cheat engine - uses the .ggp cheat format i made up
    replaced old game-genie menu with a sexy cheat menu
    support 350 codes with up to 5 entries each ( big memory waster )
    load cheats from "<rom_device>/genplus/cheats/<rom_name>.ggp"
    look for ggenie.bin first on SD card, then on whatever device the rom is loaded from

    n64.dol
    based off Wii64 beta 1.1 "Honey"
    no fst devotab here; instead read the fst and provide listings of each directory 1 at a time. Then forget the fst while playing games to free up memory
    check that argc > 0 before trying to check argv[0][0] for anything ( crash fix )
    change exit code to load main.dol from DIP
    skip exit confirmation, just leave

    apploader.img
    opensource apploader from the Wii disc template from team twiizers/gc linux.

    The disc image is built using wit & QtWitGui. Actually, this disc is the reason I wrote QtWitGui in the first place. Wit is a great tool to manipulate images, but it is CLI only, and quite frankly I suck at typing. After creating 10 or 15 test images, I got tired of typing all the commands, so the QtWitGui was born.

    emulator homepages
    http://code.google.com/p/fceugc/
    http://code.google.com/p/vba-wii/
    http://code.google.com/p/snes9x-gx/
    http://code.google.com/p/genplus-gx/
    http://code.google.com/p/mupen64gc/

    apploader
    Open-Source Apploader, ISO template

    iso tools
    WIT: Wiimms ISO Tools
    http://code.google.com/p/qtwitgui/

    All NES cheats came from the 2010-08-10 pack here Mighty Mo's World. I just wrote a small program to convert the xml format into cht format. Cheats converted from gamegenie codes contain "[GGC]" at the end of their description. I read that in this emulator, the gamegenie codes are slower to apply than simple address-poke ones. I don't know how much this affects performance on the Wii hardware, but if there are more than 1 version of a code, I would suggest using the one that doesnt have "[GGC]" at the end of it.

    SNES ".cht" files were provided by XFlak. I came up with a new format for storing / loading pro action replay (PAR) & gamegenie codes from a file and displaying those codes in the SNES cheat menu. The codes are stored in ".ggp" files. I have converted 16390 codes for 602 games into this format from the BSNES 2010-09-05 pack at the same URL as the NES pack. However, due to the way snes9x handles cheats, some cheats work initially and then the effect "wears off". http://code.google.com/p/snes9x-gtk/issues/detail?id=53 . I have disabled loading of the PAR cheats, but the game genie codes seem to work pretty well. There is 1 small block of code to change to enable the PAR codes if somebody wants to play around with those. Even without them, there still are 11106 gamegenie codes for 486 games as well as the ones in the ".cht" files.

    Sega cheats are stored in the ".ggp" format as well. I converted a collection that claimed to be the complete official game-genie book from galoob, as well as a good bit from Welcome to GSCentral - Fight The System. This came out to be ~15,000 codes for 684 games. Codes had obviously been typed by hand and copy/pasted a few times, so it is likely erroroneous in several places. I did some random testing, and most of them work as expected.

    Source - gbatemp.net/punemu[/SPOILER]

    1. I'm not going to go into all the functions of the emulators, there are other support threads for the emulators.
    2. To be able to load the roms, you will need to find the settings of each emulator and select "Load from DVD", even if playing from a usb loader.
    3. To be able to save your games, in the settings, select your FAT32 partition (SD or USB).


    ----------------------------------------

    [SPOILER="Do not ask for roms, or where to get them, or else"]
    [/SPOILER]

    That about concludes this tutorial, I will add emulator specifics, at a later time. All I did was create the ISO and did a quick test of it.

    With the 3 tantric Nintendo emulators, once I made the settings and went back to where the roms should have been, I did not see the roms, I had to select "up one level" and the roms appeared.

    With the Wii64 emu, I selected "Load ROM" and had to find the folder where the roms were.

    I know with the genplus emu, the game save directory is automatically created, but not sure with the other emulators, but if you have already used the emulators then you should have those directories already created.

    Don't worry, it is all there and it works, you may have to play around with it for a while to get the hang of it. About the disc size, I don't know how large the ISO can be, it would be nice if one big huge ISO can be created for a usb loader, but the DVD ISO size will be limited to 4.37GB.
    Last edited by Stomp_442; 03-20-2011 at 06:56 PM.

  2. #2
    Member
    Retired WiiHacks Staff
    Darkcide666's Avatar
    Join Date
    Jan 2010
    Location
    Upstate NY
    Posts
    3,719
    Weird...I thought you had to have WIT installed and use QtWitGui to build the ISO. I didn't realize the shell script when I was playing with it. Do you still need WIT installed if you use the shell script or batch file? Or is everything self contained in the download and doesn't depend on anything else?
    "Hackers solve problems and build things, and they believe in freedom and voluntary mutual help." - Eric S. Raymond

  3. #3
    Retired WiiHacks Staff peire's Avatar
    Join Date
    Sep 2010
    Location
    England,Liverpool (land of the scousers)
    Posts
    6,668
    this looks brilliant might give it a go this week
    thanks to bmarlo for this signature


  4. #4
    WiiHacks Staff
    Only Site Donators Can PM Staff
    Forum Administrator
    IRC AOP
    Wall-Eyed Mucksucker
    emuhack's Avatar
    Join Date
    Aug 2009
    Location
    Windy City
    Posts
    7,473
    I might have time for this - this weekend!!!!


  5. #5
    thanks for this. i was wondering if someone was going make one of these.

  6. #6
    Member
    WiiHacks Staff
    VWA
    Moderator
    Only Site Donators Can PM Staff
    playerkp420's Avatar
    Join Date
    Jan 2010
    Posts
    2,183
    Quote Originally Posted by Darkcide666 View Post
    Weird...I thought you had to have WIT installed and use QtWitGui to build the ISO. I didn't realize the shell script when I was playing with it. Do you still need WIT installed if you use the shell script or batch file? Or is everything self contained in the download and doesn't depend on anything else?
    That is what I thought too. I was having trouble with the QtWitGui. Glad to see you figured this out Stomp. I gotta get some new DVD -r's and give this a go.

  7. #7
    Senior Member
    Join Date
    Mar 2009
    Location
    USA
    Posts
    5,552
    Quote Originally Posted by Darkcide666 View Post
    Weird...I thought you had to have WIT installed and use QtWitGui to build the ISO. I didn't realize the shell script when I was playing with it. Do you still need WIT installed if you use the shell script or batch file? Or is everything self contained in the download and doesn't depend on anything else?
    I have supplied everything needed, in the downlaod, to create the ISO.
    Last edited by Stomp_442; 02-24-2011 at 04:21 PM.

  8. #8
    Member
    Retired WiiHacks Staff
    Darkcide666's Avatar
    Join Date
    Jan 2010
    Location
    Upstate NY
    Posts
    3,719
    Thank you sir! Our emulation section is now full of just about any info anyone could need to run just about every emulator on the Wii.
    "Hackers solve problems and build things, and they believe in freedom and voluntary mutual help." - Eric S. Raymond

  9. #9
    New Member
    Join Date
    May 2010
    Location
    Marysville,WA
    Posts
    509
    Just tried it with a .wbfs file through wiiflow and I did not see the title. What is the title after the image is made, punemu? Havent checked if I did something wrong like put it in the wrong folder or something. I'll do more research when I get a chance, but now its movie time, wiimc to the rescue.

  10. #10
    New Member
    Join Date
    May 2010
    Location
    Marysville,WA
    Posts
    509
    After I made up a game ID [XXXX##] it showed up in wiiflow, but I got a crash dump when I tried to play.

    Copy the "punemu1.1.wbfs" file to the "punemu-extract+compose" folder
    After the process is complete, you are left with 2 .wbfs files. This one and one that says +roms. Am I wrong for assuming you only need the +roms.wbfs or do I need both of them for some reason. Anyone got this to work yet through a loader. I don't like to burn discs if I don't have to and I already have all of these emulators as channels, I was just trying out a new "one stop shopper" method. Thanks

Page 1 of 5 123 ... LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •