Vs. Super Mario Bros. on PowerPak

Discuss hardware-related topics, such as development cartridges, CopyNES, PowerPak, EPROMs, or whatever.

Moderators: B00daW, Moderators

Arasoi
Posts: 28
Joined: Mon Jul 12, 2010 1:13 am

Post by Arasoi »

Well I decided to try and do the code myself so I could learn something new, I haven't made a game genie code before today but with some trying in the FCEU emulator I found the memory address to force VS Duck Hunt into freeplay mode; $0664 set to value 01.

It of course doesn't work on the powerpak because of the memory addressing issues mentioned previously, I tried some basic math to account for the ines header but no joy.

If any of the experts here have any suggestions on how to do this properly I'd be grateful.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

Game Genie codes are ROM patches. Codes that fix a value in RAM ($0000-$7FFF) are properly called Action Replay codes. Once you have an Action Replay code, you can sometimes make a ROM patch with the same effect by setting read and write breakpoints on that RAM location to see what the program does with it.

For example, I might want to make one-hit-death ROM patches for all six of the Mega Man games to hold people over until bunnyboy decides to start selling NES games on GBA carts so that people with a GBA SP or a DS Lite can buy and play them. First I'd isolate the variable that holds health; then I'd set a breakpoint to find where it's read or written and then screw with the comparisons.
Arasoi
Posts: 28
Joined: Mon Jul 12, 2010 1:13 am

Post by Arasoi »

Aha, well that would explain my lack of success freezing values related to free play or coin credits.

I'm probably going about this the wrong way, judging by the working codes on the first page.
User avatar
MottZilla
Posts: 2835
Joined: Wed Dec 06, 2006 8:18 pm

Post by MottZilla »

Arasoi, all you need to do is find where $0664 is initialized and change the value it is initialized to. This may be possible with a Game Genie code.
User avatar
Super-Hampster
Posts: 185
Joined: Fri May 12, 2006 4:40 pm

Post by Super-Hampster »

edit:

ok this does it:
PAPEPA

only there's a really bad side effect. it makes a horrible noise all through the game.
Last edited by Super-Hampster on Tue Jul 13, 2010 4:21 pm, edited 1 time in total.
User avatar
MottZilla
Posts: 2835
Joined: Wed Dec 06, 2006 8:18 pm

Post by MottZilla »

If you're really interested in VS games, here is a document about it. http://nesdev.icequake.net/vsdoc.txt

Not sure on its accuracy.
User avatar
Super-Hampster
Posts: 185
Joined: Fri May 12, 2006 4:40 pm

Post by Super-Hampster »

Super-Hampster wrote:edit:

ok this does it:
PAPEPA

only there's a really bad side effect. it makes a horrible noise all through the game.
NYAANU
PETEEZ
AETEOZ

use these three together and you start with 2 credits. You get your 2 credits after the title theme plays through. You also don't lose credits when you miss 3 ducks. You actually gain more. So this effectively does what you'd like.
Arasoi
Posts: 28
Joined: Mon Jul 12, 2010 1:13 am

Post by Arasoi »

Thank you for your help, this moves things along a lot further.

The codes together work well in an emulator, but the noise persists when using them on the powerpak. Is this due to a memory addressing issue?

The zapper also doesnt seem to work via either controller port, could the game be expecting input from somewhere else?

This is more complicated than I thought it might be.
User avatar
Super-Hampster
Posts: 185
Joined: Fri May 12, 2006 4:40 pm

Post by Super-Hampster »

I just noticed that. I posted the codes before I tested them on the Powerpak. I also don't have a zapper to test with. oops
User avatar
Super-Hampster
Posts: 185
Joined: Fri May 12, 2006 4:40 pm

Post by Super-Hampster »

I've tried several codes, but whatever I try works great in an emulator, but screeches like dying cat on real hardware. I don't know man. I understand how game genie codes work, but I'm by far not a great programmer. I wish maybe we could use Action Replay codes, or enter RAM cheats in directly to the powerpak. Changing game code one byte at a time with each game genie code is not the most efficient way to make a cheat code.
Arasoi
Posts: 28
Joined: Mon Jul 12, 2010 1:13 am

Post by Arasoi »

Thanks for your efforts, I appreciate it.

I found a rom hacker to write some ASM hacks into the game, but they didnt work either. He said because its an arcade rom it has a CRC check and the changes fall flat, and that he couldnt find the CRC check in the rom to disable it.
User avatar
Memblers
Site Admin
Posts: 3901
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Post by Memblers »

You could find the CRC check routine by simply putting a breakpoint on a read for pretty much anywhere (that wouldn't be read normally). Say the first CPU instruction of the game (which you would only have to skip past once).
rbudrick
Posts: 284
Joined: Wed Sep 21, 2005 3:20 pm

Post by rbudrick »

tepples wrote:This table indicates that Vs. SMB1 is no different from SMB1 on an 8-level run, but a warpless run features six Lost Levels from SMB2 (J) that weren't seen outside Japan until Super Mario All-Stars.
Wow, I can't believe I've never heard this before. Crazy! 24 years since I first played Vs SMB (and my first ever time seeing any form of SMB) and I've never known this. Thanks!

-Rob
User avatar
Xious
Posts: 189
Joined: Sun Oct 11, 2009 5:21 am
Location: Sol 3 in Mutter's Spiral
Contact:

Post by Xious »

Vs. DH may be expecting the data lines from the light gun to be routed to a different address. I think the NES uses $4017 for the gun, but the Vs. System may use $4016 or another data line entirely. I don't recall if DH on the NES uses $4016 or $4017, to be honest, but the Vs. Unisystem release may be the opposite.

I know that the FC uses $4017... $4017.3 or .4 I think... but it may be different on the Vs release which may use $4016 and $4017 to support two guns, with $4016 as P1 Gun.

EDIT: Have you tried using the light gun in both the P2 and the P1 controller ports? I see that the NES supports two guns, so you may need to try both ports, and you may also need to connect two guns for the Vs. DH ROM to properly initialize.

I know that the Gun Kit was an optional add-on for any Vs. machine, but I don't own one myself to test. I may have a Gun Kit manual somewhere, but I doubt it... You may need to compare the disassebled code to check at what address range the game is reading the targeting data...

This may end up on my to-do list in the future, but I have way too much on my plate at present to attempt solving it now.

I will see if I can find anything floating around on the 'net.

-Xious
Arasoi
Posts: 28
Joined: Mon Jul 12, 2010 1:13 am

Post by Arasoi »

I have tried using the light gun in both ports, yes. Sadly I don't own 2 zappers so can't try the trick of having 2 plugged in (I can see about borrowing another one)

The current problem is that the game glitches/freezes/makes a loud noise when used in a regular NES console. This is apparently due to a CRC check present in most arcade roms.

Unfortunately I havent had much luck disabling said check. it is a bit beyond my skill level at this point.

I could be wrong about this, this is just what I have been told by the ASM/ROM hacker trying to help me out.
Post Reply