Homebrew PunEmu

  • Thread starter Thread starter giantpune
  • Start date Start date
  • Views Views 54,946
  • Replies Replies 136
  • Likes Likes 2

giantpune

Well-Known Member
Member
Joined
Apr 10, 2009
Messages
2,860
Reaction score
131
Trophies
1
XP
213
Country
United States
<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/vLz2Jy70Yk8&rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/vLz2Jy70Yk8&rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object>

<img src="http://img689.imageshack.us/img689/8136/punemurelease.png" border="0" class="linked-image" />

<img src="http://img691.imageshack.us/img691/1494/covervk.png" border="0" class="linked-image" />

<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->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
http://hackmii.com/2008/08/open-source-apploader-iso-template/

iso tools
http://wit.wiimm.de/
http://code.google.com/p/qtwitgui/

All NES cheats came from the 2010-08-10 pack here http://www.mightymo.net/downloads.html. 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 http://www.gscentral.org. 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.<!--c2--></div><!--ec2-->

this download contains all source, nfo, and a skeleton image containing only the legal files. all the cheat files are named to match my roms, if you want to be able to use the kickass cheat stuff, you must make sure your roms and the cheats have the same names. see the screenshot above for where to put gamegenie roms and whatnot.
<a href="http://www.multiupload.com/2X98QGXTJ8" target="_blank">http://www.multiupload.com/2X98QGXTJ8</a>

i would also like to take this opportunity to plug qtwitgui, the tool i wrote to help in the development of this disc. <a href="http://code.google.com/p/qtwitgui/" target="_blank">http://code.google.com/p/qtwitgui/</a>


CHANGES....
You can replace files in the archive with these.
Updated snes.dol. xfcrowman has taken some of tantrics improvements from newer versions of snes9x-gx and applied those changes to the snes emulator in punemu.
<a href="http://www.mediafire.com/?wr7ddrkydfv4u61" target="_blank">dol</a> <a href="http://www.mediafire.com/?orv8qw3j8ejwjkv" target="_blank">source</a>

The opening.bnr in the above archive is not the one i meant to be included. It is one that has "AssMan" as the name, and will show in the playlog as that. <a href="http://www.multiupload.com/3D0EZHEC1M" target="_blank">Here</a> is a link to one that will show PunEmu in the playlogs





please dont make posts like this asshat below me. if you dont see the point of this, then just shut up and dont use it. there are lots of people that DO see the point. ( like the fact that this gives every emulator the ability to play games from NTFS/ext2/3/4/WBFS for starters )
 
Umm, maybe I'm missing something... but what's the point of this? Why would anyone choose to load emus off a disc rather than through the homebrew channel?
 
Excellent job Giantpune!Thank you very much!
I have 3 questions

1)Is it possible to save in the games you play?If yes,where the save files will be located?

2)Is it possible to manually add more roms ?

3)Do you cosider to add SMSPlus GX and hugo?
 
1) read the nfo
2) you have to. im not including any romzzz
3) i considered SMSPlus. but most of the games for that emu are really just duplicates of ones available for GensPlus. it would have been a lot of works for little return
 
great work, i like it. shame wiisx or smsplus aint in there but i like what i see
 
Y05h1 said:
Umm, maybe I'm missing something... but what's the point of this? Why would anyone choose to load emus off a disc rather than through the homebrew channel?
I might be wrong but from the first look it to run from the usb loader. Nice work pune
bow.gif
 
great work giantpune! I've been holding my breath waiting for this to be released for awhile now! It's always a challenge to keep the projects your working on a secret because they're always so awesome! I can't wait to see your next release!
wink.gif
 
So this is basically an emu loader, interface and channel are nice, yeah, but most of the video is spent in emulators as if you coded them yourself (and i don't see any credits to the original authors, only link to sourcecode, i think they should be the first to be thanked for that, no ?)

Also, despite the changes you said you made to the sources, I don't see any differences with official ones beside the nicer genplus cheat menu (which is btw implemented in the last version, with even a way to edit codes) and you seem to use outdated revisions...

All in one, this is good work putting all these emus together in a nice loader and I can see the use for that but I think calling this PuneEmu is a bit presomptuous ;-)
 
Jacobeian said:
So this is basically an emu loader, interface and channel are nice, yeah, but most of the video is spent in emulators as if you coded them yourself (and i don't see any credits to the original authors, only link to sourcecode, i think they should be the first to be thanked for that, no ?)

Also, despite the changes you said you made to the sources, I don't see any differences with official ones beside the nicer genplus cheat menu (which is btw implemented in the last version, with even a way to edit codes) and you seem to use outdated revisions...

All in one, this is good work putting all these emus together in a nice loader and I can see the use for that but I think calling this PuneEmu is a bit presomptuous ;-)


you obviously didnt bother to read the nfo in the spoiler, the part of the first post that says "all the source code is in the download", or the credits window shown in the video. the only reason the emulators are outdated is because this has been sitting on my PC for a while waiting for GFX. when i started messing with each emulator, i grabbed the latest svn version. you are more than welcome to apply my changes to the latest version of each one. but they were good enough for everybody 2 months ago.
 
giantpune said:
the only reason the emulators are outdated is because this has been sitting on my PC for a while waiting for GFX. when i started messing with each emulator, i grabbed the latest svn version. you are more than welcome to apply my changes to the latest version of each one. but they were good enough for everybody 2 months ago.
Yes I appreciate your work, but lets say, a new version of Wii64 with better compatiblity (GoldenEye, Perfect Dark etc) get released. Are you going to update your punemu yourself or does the user itself has to update it?
 
im definitely not updating it every time any of the emulators gets updated. ill probably do it for personal use, and depending on if there is something i see that i actually want. but for now, just assume that this is final release.
 
Oh, i agree this is great work you did and you can be proud of it !

I was just talking about the video, which make it seems the biggest part of this project are the emulators themselves when the only real addition to them is the possibility to read ROM & cheat files from a Wii partition.

Also there is the fact all these emulators remain useless without a way to save sram, state, config, key mapping, etc... so you always will need a sd or usb device, which kind of defeats the original goal. Saving to NAND would be cool.
 
would be cool, yes. but in general people are stupid. and i really didnt want to account for every little thing they could do wrong. the last thing i want is to hear peple saying that something i did bricked their wii even if they misused it somehow. and if i avoid writing to the nand, then i have very little chance of doing that.

about the video, of coarse it shows the emulators. the menu is only 3 screens and 7 buttons. i wanted to show the fact that each emulator can read all the stuff from the dvd. that was the main focus of the project. and i really didnt know how to show that without showing each emulator.
 
Well...I must admit I didn't get it at first. Why use a disc when you can use the homebrew itself as well?


Then again, gbatemp draws a lot of people who just will not use an USB drive. This'll be perfect for them.
smile.gif



But even then...if it creates an iso, I take it the created ISO can be used to load by backup loaders as well?


(just storing "one DVD" among the wii games in your USB loader may just be a more elegant solution than having to work with ISO forwarders to each homebrew folder)

In any case: thanks a lot for all the effort, giantpune. It's much appreciated.
bow.gif
 
Nice work. It is a cool project and i'm sure many people will find use for this. The only problem i can see is if an emulator gets updated with an awesome new feature, people will have to re-burn on a new disc. (assuming their is an updated version)

I think you should also find a safe way to save the files to NAND.

I will just stick with using homebrew and a usb device for now.
 

Site & Scene News

Popular threads in this forum