Hacking VCFE Wip...

  • Thread starter Thread starter HowardC
  • Start date Start date
  • Views Views 140,205
  • Replies Replies 628
  • Likes Likes 2
I finished my cue 2 hcd function. It reads a cue file to get the file names and and pre-gaps and then reads the actual files to get the data sizes. This means a pre-split fileset can be fed into the injector and I can make a hcd, convert the wavs to ogg, and compress the iso chunks. Of course standard bin/cue sets will work as well.
smile.gif
 
What about the Commodore 64?


Speaking on Rom Injects, would it possible to add these functions when injecting a SNES/SFC rom:

- Header Remover - All SNES/FSC Games have a Header which basically prevents say a US Game on a PAL Machine (a real one) to play. The Wii Emulator uses roms that have the header removed (from memory, they don't run if a header is removed). This does allow any rom (well almost) region rom to run. So a JPN rom can run in the US SNES Wad.

- Checksum Fix - If a IPS patch is applied to a rom, the checksum is broken. Like the real SNES machine, the Wii Emulator will not load the rom if the checksum is broken.

- NTSC/PAL Protection - Some roms have a framerate protection in them (such as Super Metroid) and say running Super Metroid PAL version in 60Hz, a message will come up saying the game won't run on the machine. This is done on the real machine and the Wii Emulator. Apply 'Fix for PAL' on US/JP rom and 'Fix for NTSC' for EU roms to fix these problems.

- Slow Rom Fix - Some Snes roms only got released in the EU and have been optimised to run in 50Hz such as Micro Machines Turbo Tournament. Applying this fix allows them to run properly in 60Hz. I need to do more testing on this know.


All the above can be done manually so it's no problem if what I'm asking is too much. If you think its a good idea, I'll try and find the tools that work in Command Prompt.
smile.gif
 
C64 actually uses standard roms. The trick is you have to create a save state to get them to boot. Unfortunately, that can only be done manually via loading it in an emu. Because of this there's no point in me trying to streamline the process as you will have to boot up wiicrazy's custom build and make a image that way.
frown.gif
Now getting the emu to run on a ntsc system, that'd be nice. I dunno if that's a rom issue or a emu issue though.

The header remover I already intended on doing. I need to find info on it though... those snes people are fairly secerative about how to do stuff for some reason. I have no problem adding the other stuff as well, with the exception of the ips patcher. Goodtools should take care of checksums and you'd have to be crazy to try a rom that hasn't been ran through goodtools first. The only exception would be if you are hacking the rom yourself, in which case you should be smart enough to run it through a checksum fixer afterwards.
 
Well its kinda of both. The TV modes in the 01.app need to be changed to NTSC to allow the WAD to run on a NTSC Wii. This does fix the problem but the image displays with too many lines (the top and bottom of the image are slightly chopped. Try running a EU Mega Drive on a Wii with NTSC mode and you'll see what I mean). This is ever due to the rom being EU or another file in the wad (in the Mega Drive WAD, in the config file, changing the country to US/JP displays the image correctly for a Wii set to run in NTSC mode). I need to inject a C64 rom myself and look into it more.

The reason I suggested about the Checksum Fix is because not everyone realises that the checksum needs fixing if the rom has been modified (it took me a while to realise that was the reason Panel De Pon English wasn't booting ^^'). But that could be stated in the readme so its no biggie.
smile.gif
 
Thats great news on the TGCD injection.
If you need any help testing I have just about every cd game that came out for the Turboduo.
 
HowardC said:
So to recap:

NeoGeo injection code is done.
Nes injection code is done.
tg16-cd injection code is almost done.
All other systems use roms as-is and thus no conversion is necessary.

What about Famicom Disk System? I wonder if it's possible to inject those? I downloaded a game called Riddle of Murasame Castle from the Japanese Wii Shop. The original is a two sided disk from the Famicom Disk System. Somehow Nintendo modified the VC version to not display the FDS bios and not prompt to switch sides. Someone on romhacking.net made a patch to translate the game into English. I thought it would be cool to play this English version on my Wii. I (with help from RadioShadow) tried various methods to inject and/or patch the VC version. Finally, what I did was compare the rom data in the 01.app, the Japanese fds file and the translated fds file in a hex editor. There was only a little bit of English text, so I found the same points in all three and inserted the changes into the 01.app. I also compared the graphics in a tile editor the same way to replace the few changed graphics (title screen etc). This worked great! I know have the translated "one sided disk" version on my Wii.

Anyway, it would be cool to play any FDS game on Wii, and also without the need to use the standard emu eject/insert/flip buttons.

QUOTE(RadioShadow @ Nov 17 2008, 05:48 PM) This does allow any (SNES) rom (well almost) region rom to run. So a JPN rom can run in the US SNES Wad.

Well, actually ALL US SNES games and SFC games are compatible on each others hardware. Nintendo NEVER had any hardware/software region protection between US and Japan until the GameCube. The ONLY differences were different cartridge sizes. All you needed to do was cut/ take apart the carts and they'd work. PAL is another story. And actually the GameCube and Wii can both be changed easily into other regions (though GC must be taken apart).

Also, there is one other obstacle. Japanese PC Engine (TG16) HuCards (Cartridge games). I have one Japanese wad (Battle Lode Runner) and it's in .bin format (but it's not a CD game, and not a Genesis game for that matter), whereas all of the other hucard wads I've seen are in .pce format. I had a game, Bikuriman World (the PCE version of Wonder Boy 2) that I wanted to inject. I couldn't find a way to convert to bin format or get it to work with the Battle Lode Runner wad.

Japanese games, I believe are byte-swapped versus US games, the pins were reversed or something like that on the original cards. The only way I could get a Japanese game to play on a US TG16 wad was like this:

1. I used a PCE PC emulator called Ootake to play the Japanese rom on my PC.
2. I went to Setting>Tool>TG16 Rom-image Bit Convert and selected the rom. It was saved as a new file.
3. Injected into US TG16 (Bomberman 93) wad. This still wouldn't play on my Wii.
4. For some reason, I took the converted rom back into Ootake (which still played it) and did step 2 again.
5. Injected Japanese rom into US TG16 wad again, this time it worked!

So, maybe a process that would make the above A LOT EASIER would be nice!

Speaking of TG16, I was researching the multiple variations (all I'm listing here are Japan only) recently. There seems to be one six-button game (Street Fighter II), five SuperGrafix games (one of which, Ghouls 'N Ghosts, I heard was being released on Japanese VC soon, anyone hear any more on this?) and two regular PC Engine games that are enhanced when played on the Super Grafix. There were a lot of Arcade Card games released, some of which are hybrid Super/Arcade Card games. The six button controller's extra buttons are actually made by pressing two (three maybe?) buttons at once (Up+Start+II, for example). It would be nice to play the above "oddball" games on the Wii. Here's an rtf text file I made with a list of all the above games.

http://www.mediafire.com/?nxyzznlitwy
 
FDS games would be nice. If the changes nintendo made to the rom are generic and can be applied to any rom easily then we can do it, otherwise we might have to just let it go. I would need more info on what exactly you did. Getting fds to load sans the hack is pretty easy though. Pretty sure the emu supports this natively.

Radioshadow: If you can find some info on the changes that have to be made to the 1.app to change the video modes I will make a stand-along utility to do just that. I hear people talk about this hack all the time, but I can never find info on it.

There should be simplier ways to get the hucards to work. According to the psp community there are various settings you can set to get the emu to change cards and that is the issue you are having. It'll just take testing. Of course you are missing the easiest solution, to simply use the japanese emu on your wii instead.
smile.gif


6 button games should already work. If you load a 3 button game like monster lair up on the wii and use the classic controller 6 buttons actually show up (the other three are used for autofire). There are various controller settings built into the emu anyway if we'd run into trouble. We can wait for gng to be released and get a appropriate flag from it's ini to activate super grafx, which I think auto-enables btw.

In short, at least on the tg16 front, don't sweat it. We've just barely scratched the surface on what the emu can do.

I didn't work on injection today, I'm a little burned out, but I'll start again tomorrow. I mgiht go ahead and release an alpha version just so we can test some of this stuff as long as you all understand that it is NOT to be considered fully working in any way.

Btw, do any of you know of a freeware mp3 to wav converter command line app? Some rips of tgcd games have not only been split but the audio has been converted to mp3. I need to convert it back to wav to get the proper filesizes for the hcd file and then convert it to ogg. Ogg conversion is easy, I just use the official ogg-vorbis tools.
 
Some turbo Hucard games are compresed with gbalzss.
If you have a Hucard Wad with a rom that is in bin file just take your pce rom and compress it with gbalzss and it will work.
The only problem is some romes won't run correctly compresed. In other words they have graphical or audio problems.

This is the line I use and it has worked on everything I have tried.

gbalzss e *.pce rom.bin
 
Well from what I understand, .pce roms are bzip compressed already, so double compressing them is probably what is causing any issues. More importantly, what mario wanted to do is run the hucard rom on a regular tg-16 wad, so all he needs to do is decompress it.

Btw since the last test was kind lame, I tired a new tg16cd this morning and again it worked just fine! Record of Lodoss War I if you are curious. What this test tells us is that the hcd files don't have to be named the same as the donor wads nor do the tracks within. I pretty much knew this, but it's always nice to confirm via a test.
smile.gif
Of course I used bincuesplit to make the hcd, not my own function, so we still aren't there yet. Once I test a set I've made from a pre-split set, THEN I can start putting all of this into the rom creation program and be ready for a release. I've decided to have support for both bincuesplit AND turborip as turborip only works if you have a cd inserted into your drive (or an image mounted virtually) and bincuesplit only works on pre-ripped images. Between those two and the custom tools I made to deal with a set that's already be ran through turborip, we should be good to go.
 
HowardC said:
Radioshadow: If you can find some info on the changes that have to be made to the 1.app to change the video modes I will make a stand-along utility to do just that. I hear people talk about this hack all the time, but I can never find info on it.

There's this tool which has an options (and displays the offset to where they are) and using the advance option, can change the TV types.

I only found changing the TV mode works on SNES, Nintendo 64 and Commorodre 64 mind. I'll upload the tool.
 
HowardC. If you have finished your Project, do you feel the motivation to work on Banner Animation related stuff?
Like this here:
 
It'll be a long time before I'm THAT done. I will say this though.... my goals are slightly different. A banner I'd make would look like the official vc banners, only with a logo and color scheme to match a gameboy and it'd lanuch a hacked version of gba that loads a single game. People work very hard on these emu ports and I commend them for it, but the rom selection menus are always severly lacking. The way the wii is setup gives us a unique opportunity to display our game collections in a professional manner and that's how I like to do it. I can understand people wanting to do the whole "put a single emulator channel and be done with it" deal, it's just not for me.

My motivation for this project isn't piracy or simply to get games running on the wii (there are simplier means to do that), rather I'm looking for a way to access my extensive physical games collection from a single source. I started out doing this on the xbox, but the thing is the size of a small country and even with the custom dashes the interface to the individual roms was very lacking. The wii is tiny, quiet, and has adaptors available to hook up retro controllers to it, so I can see myself using it as an interface for some time.


Sorry, that was a bit long-winded. In response to your question once I am done I'll focus on hacking the system menu to access channels on the sd card, a dvdr and/or a harddrive, which will give us more space. Simply because of my personal preference, banner animation is a low priority for me.

Loes, the ticket changer is on hold till I get the rom manager finished. It's pretty much done, but I don't want to release 5 apps at once again.
smile.gif
 
RadioShadow said:
HowardC said:
Radioshadow: If you can find some info on the changes that have to be made to the 1.app to change the video modes I will make a stand-along utility to do just that. I hear people talk about this hack all the time, but I can never find info on it.

There's this tool which has an options (and displays the offset to where they are) and using the advance option, can change the TV types.

I only found changing the TV mode works on SNES, Nintendo 64 and Commorodre 64 mind. I'll upload the tool.


Those are the only ones we really have any trouble with though, so that's ok.
smile.gif
 
http://www.filefactory.com/file/9813ff/n/GWP_zip - There you go.


marioxb said:
What about Famicom Disk System? I wonder if it's possible to inject those? I downloaded a game called Riddle of Murasame Castle from the Japanese Wii Shop. The original is a two sided disk from the Famicom Disk System. Somehow Nintendo modified the VC version to not display the FDS bios and not prompt to switch sides. Someone on romhacking.net made a patch to translate the game into English. I thought it would be cool to play this English version on my Wii. I (with help from RadioShadow) tried various methods to inject and/or patch the VC version. Finally, what I did was compare the rom data in the 01.app, the Japanese fds file and the translated fds file in a hex editor. There was only a little bit of English text, so I found the same points in all three and inserted the changes into the 01.app. I also compared the graphics in a tile editor the same way to replace the few changed graphics (title screen etc). This worked great! I know have the translated "one sided disk" version on my Wii.

Its possible yes, and one user (can't remember who) figured it out. He/she basically managed to insert an English translated 2 Disc Sided Rom into the Famicom Wad. He/she did send me the file although I've not got round to having a look at it. It might still be in my hotmail account.

EDIT:

QUOTEHey, I actually got that Murasame game working in English on the Wii! Just for fun I made it into a patch you can apply over the compressed 01.app file. Included in the zip file is info I added to the readme detailing how I got it working.

http://www.megaupload.com/?d=Z78KIMV8

On a related note, do you know what determines the language of the Home button actions on SNES and NES? (Operations guide, reset, etc). I want to try to make this into an NES English wad.

Thanks to marioxb. HowardC might find it useful.

If you need the actually Murasame WAD, I can send it you HowardC.
 
RadioShadow said:
Its possible yes, and one user (can't remember who) figured it out. He/she basically managed to insert an English translated Disc Sided Rom into the Famicom Wad. He/she did send me the file although I've not got round to having a look at it. It might still be in my hotmail account.

EDIT:

QUOTE said:
Hey, I actually got that Murasame game working in English on the Wii! Just for fun I made it into a patch you can apply over the compressed 01.app file. Included in the zip file is info I added to the readme detailing how I got it working.

http://www.megaupload.com/?d=Z78KIMV8

On a related note, do you know what determines the language of the Home button actions on SNES and NES? (Operations guide, reset, etc). I want to try to make this into an NES English wad.

Thanks to marioxb. HowardC might find it useful.

If you need the actually Murasame WAD, I can send it you HowardC.


Heh heh, that was me silly. I was the one that sent you that file and got the game to work. The method I used is detailed above. I altered the data to get the English version working. I was just wondering about playing DIFFERENT fds games.
 
@HowardC
To be honest, that was the original idea.
But without loading the Channel from SD Card, i was thinking that it would be better to make an Channel for the Emulator itself.
 
Thanks for the tool radio shadow. Because it gives the addresses where it finds stuff it should be fairly easy to reverse engineer. Also the language detection is nice and assuming we can get it working on other emus, it might make sense to do it this way instead of through the brlyt editor.

The video modes seem fairly easy to detect..... it's a 57 byte section that usually has the same symbols in it. Unfortuantely there's no header or anything to help detect it, but I can simply patch a wad with each region to get the various values and simply search for all of them. I really wonder why I'm the only one that adds command-line support to their apps. This is a well-made tool and if it were there I wouldn't have to bother re-making it.
frown.gif


I don't think the fds wad will help me much though. As mario said, this really only applies to this one specific game. We'd need someone familiar with fds code to figure this one out. I can tell you some very simple things about the fds though if you want to research it:

1. Despite the obvious pysical differences, the fds add-on is just a glorified nes cart. It interfaces to the cartridge pins on the famicom, just through the auxillary port and shows up to the fc as a nes cart.

2. The fds itself has rom banks similar to those on an actual cartridge. When you insert a disk, what the "carts" programming does is simply copy the disc to these rom banks. Unfortuantely, because it was a early add-on, the amount of rom space is low, and thus the need for two disk games.

3. Although the code in the games *should* be perfectly compatable with the nes/fc, the fact that two disk games have code inside the game itself to prompt for a disk swap, ect.... is what is causing the issues. It could be tricky business to find a generic solution because of this.

4 Fortunately, 90% of the games released on the fds (that don't suck) were also released on the US nes and have no or very small differences.


Anyway, update time.....

I decided to go with lame to decode mp3 files for the tg16-cd injection. I pitty any poor soul who has these sets though as the audio tracks will have to be decoded to wav, read, and then encoded back to ogg. It's a painless process but a very lengthy one. Haven't done much because I was busy today, but I have determined what the experience of injecting a tg16 wad is going to be to the user. Like most of my apps, the rom manager has two path boxes and two browse buttons. The top is for the path to the rom itself and the bottom is for the path to your 5.app folder (in other words the extracted 5.app). To simplify things on my end, any "rom" that has multiple files (neogeo, tgcd, ect) must be zipped up and the program will unzip it itself and put it in a working directory. In the case of tg16cd, we have three possible scenarios..... a standard bin/cue rip or a pre-split set, a non-standard disc image (nrg, mds, iso, ect), or an actual physical disc. In the first case, the user simply points to a zip file that contains the files and the program "automagically" does the rest. In the case of a non-standard image, the user needs to mount the image (via alcohol or something similar) and then manually point the rom path to the disc drive ("D:" "F:" ect). The program will then launch turobrip, which will rip it into a split set that we can work with and treat it like the first type of rom. In the case of a real disc, you simply put it in your cd drive and again, manually type the drive path, and again turobrip will be called first. Of course, the more steps involved, the longer the injection process takes and in the case of tgcd's this could unfortunatel means a few minutes, not a few seconds. In case you download your images instead of creating them yourself, by far the quickest type would be iso/cue/ogg sets, but since those pretty much don't exist, your next best bet would be iso/cue/wav.
 
Wow! that was quick!

Due to the fact that the wii patcher was nice enough to output the addresses to the stuff that needs changed, I've already determined all the values!
I have a nice little document for those that want it, but atm it migh thave typos so I want to go over it first. Long story short, just a few bytes are changed to make these patches so it should be a piece of cake to make a little app out of it. Because they deal with the 1.app though and NOT the roms themselves, I'll make this into yet another app that I'll call "vc emu settings".
 
HowardC said:
Thanks for the tool radio shadow. Because it gives the addresses where it finds stuff it should be fairly easy to reverse engineer. Also the language detection is nice and assuming we can get it working on other emus, it might make sense to do it this way instead of through the brlyt editor.

The language thing doesn't work with the VC Wads. I've tried myself and it didn't work but feel free to try anyway.


Your tpl_edit_fe isn't dumping the images 100%:

th_LogoMD_EUR.jpg

Note: The red area is the transparent area. The tool dumped it as plain black.

Now it doesn't match the official logo that is used. Also to have a transparent affect, an 'alpha' colour needs to be set. This tells the Wii this colour is the transparent colour. Only works if set to 'RGB5A3'.
 

Site & Scene News

Popular threads in this forum