Page 1 of 4
"NES-patches" for VS-games?
Posted: Wed May 09, 2012 10:37 am
by oRBIT2002
Retrozone are selling a few VS-repro's in his store. I guess they have been palette- and coin-fixed to work with a real NES(?). I am just curious, anyone knows if these patches has been released anywhere? I've seen patches for one game I think in this forum, but haven't seen the rest.
EDIT:
Here are my own palette/coinpatches for VS-ROMs. Archives contain .ips + readme.
EDIT2:
I've setup a page for my patches:
http://www.goondocks.se/nespatches/
Posted: Wed May 09, 2012 1:57 pm
by Kasumi
I made one for VS Super Mario Bros. myself, but I used the palette hack someone else already did for the game. So I basically only had to get the coins working. I'm sure there's another one of VS. Super Mario Bros., but if not I'll put mine up.
I once tried to do Balloon Fight, but it was damn difficult and I doubt I could do any others.
Posted: Wed May 09, 2012 10:38 pm
by oRBIT2002
Sounds like an interesting challenge.. Anyone?

Posted: Thu May 10, 2012 12:49 am
by infiniteneslives
Posted: Thu May 10, 2012 1:22 am
by Kasumi
Indeed, that's the palette fix I mentioned in my post. It's still not playable on a standard NES without a coin hack, though, unless something changed since I did it.
That whole article is about modding an NES to be compatible with VS Dip Switches etc., so he didn't need such a fix.
edit:
http://www.mediafire.com/?m26mpxqfb74fh8r
There's an IPS. It includes the palette fix from the article infiniteneslives linked, as well as three changed bytes from me. Since it always assumes coins are inserted, it skips the title screen entirely, which I guess is pretty lazy. My first try constantly triggered the coin switch, so you heard the insert coin noise CONSTANTLY! I settled for this, but if I was feeling
really clever I would have rigged coins to select or something.
Posted: Thu May 10, 2012 7:55 am
by oRBIT2002
I'm working on patching IceClimber (VS) at the moment. I've done coinfix (using in-game keys

), palettefix is working but I am running out of cycles so I'm getting some screen corruption (works on PAL emulation..) so I have to tweak some things obviously.

Posted: Thu May 10, 2012 9:13 am
by slobu
Being completely clueless I would think that VS patches would consist of
A. Finding the palette and changing the values to the NES version.
B. Finding the credits inserted value and changing that to 99
What makes these kinds of conversions challenging?
Posted: Thu May 10, 2012 9:17 am
by Dwedit
You don't want to simply add credits, because then Attract Mode (the demo mode) won't play. You want to hack the game so that pressing a controller button would insert a coin.
Posted: Thu May 10, 2012 12:19 pm
by oRBIT2002
I now have a fully working patch for IceClimber(VS). Palette is fixed and coins can be inserted by pressing A.

The price for this is however, a batterybackup-file. There's simply no space in the ROM for modifications so I've added a battery-file that contains code.
I'll share an .ips later after I've done some code-cleaning..
It was along time ago I worked with this kind of stuff, it's still fun as hell!

Posted: Thu May 10, 2012 12:36 pm
by Dwedit
The other thing you can do with Ice Climber is modify the FDS version to work as a NES rom with WRAM.
Posted: Thu May 10, 2012 12:51 pm
by oRBIT2002
I'll probably investigate more VS-games.. Is there something odd about Balloon Fight (VS)? Tried both FCEUX/Nintendulator, it seems to hang..?
Posted: Thu May 10, 2012 1:32 pm
by Dwedit
Check the header. Goodnes gives it an invalid header if you tell it to fix it.
Not sure how all the new-fangled emulators do it these days, but setting the mapper to 99 and setting the VS flag should work.
Posted: Thu May 10, 2012 11:57 pm
by oRBIT2002
I am not sure if distributing VS-fixes using custom-batteryfiles is the way to do it properly (imagine the trouble if someone would like to make a cart and the battery-RAM gets wiped for some reason).
The battery-way is perhaps more suitable for emulators/PowerPak. But since my fix has a proper palette already, how would emulators deal with this since palette-conversion isn't needed anymore?
Ideas are appreciated.
Posted: Fri May 11, 2012 4:03 am
by oRBIT2002
It's done, I think. Here it is for anyone that's interested. A "NES hack" for Ice Climber (VS). This archive contains an .ips-file and a .sav file that's required for the game to work.
http://dl.dropbox.com/u/2590713/Nintend ... 1.0%5D.zip
Haven't tried it on a real NES yet, but there's no reason it wouldn't work.
Features are:
* Coins are inserted by pressing "A"
* Palette is converted to "NES-standard" on-the-fly.
The game uses palette-tables so the palette could in theory be altered in advance using a hex-editor. But the game bypasses them every now and then so this won't work (without more work anyway).
Posted: Fri May 11, 2012 5:00 am
by tepples
oRBIT2002 wrote:I am not sure if distributing VS-fixes using custom-batteryfiles is the way to do it properly (imagine the trouble if someone would like to make a cart and the battery-RAM gets wiped for some reason).
I can see three ways to solve this:
- The little-used "trainer" section in iNES. It's placed before the PRG ROM and contains 512 bytes of mapper support code loaded into $7000-$71FF before power on. I wouldn't recommend this because the "trainer" section is associated with mapper hacks for old copiers, and it doesn't work on a cart.
- Mapper hack to a mapper that can put ROM into $6000-$7FFF.
- Mapper hack to CNROM (#3), put the extra code destined for $6000-$7FFF at the end of CHR ROM, and copy that to PRG RAM on reset. Two additional chips (a 6264 and a 74HC20) are needed for adding PRG RAM and bus conflict avoidance to CNROM.
The battery-way is perhaps more suitable for emulators/PowerPak. But since my fix has a proper palette already, how would emulators deal with this since palette-conversion isn't needed anymore?
NES 2.0 has a PPU type field. I was under the impression that Vs. games with unrecognized CRC and no NES 2.0 header were emulated as if they were Duck Hunt or Tennis, whose 2C03 PPU was the same as that of the PlayChoice.