A little help?

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
A little help?
by on (#35089)
I want to know how someone would go about taking the Game Genie code "TOLALL" and making the subspace theme replace the over world theme in SMB2.

by on (#35091)
Interesting, but that's just a bug code. The real 'easy' way involves the NSF's song init address and FCEUXDSP.

In the NSF, for both the prototype, and the regular game, the Song Init address is 8800. It writes to 0600 to choose a song. The subspace song is #6 in the NSF, and writes 20 to the address. In the game, the value at F0F4(0x01) is written to 0600 when entering the main world. I changed this at the same address. GG Code setup: F0F4?01:20. It causes some glitches, but the game may still be playable. It would take at least 2 codes to make it reference the right song number if I go 1 step farther back in the code.

AXNYGAPA

by on (#35092)
Now I add "TOLALL" to the second line but how do I patch both codes to the rom permanently? for both the prototype and the actual rom? DDP is probably different so I want ask. "OKEATS" is entertaining, also!

by on (#35093)
ucon64?

by on (#35094)
SMB2's sound engine is interesting in that you can use either the noise channel OR samples for a song's percussion, but not both at once. I'm guessing OKEATS just locks the engine into "sample mode" (amongst other things...check out the first cave in 1-1).

by on (#35098)
It's playing both noise and DMC.

by on (#35099)
You sure? The DMC samples are a bit fuzzy, which might kinda sound like noise, but I'm pretty sure it's one or the other.

by on (#35106)
AGGAAG is a soundtrack remixer also you should try it with TOLALL.
How would I add a game genie code to a NSF? By permanently patching the code to the rom and inserting the custom code or changes? But no program does that. GameGenieNES sucks. Also does anyone know of any good SPC sets for SNES music?

by on (#35108)
@all
You're spinning... spinning...

@!thecommondose
A GameGenie code is a memory address that must be patched by a value. There is two types of code - 6 or 8 chars. One patches the memory address effectively; the other only patches if the value matches.

So, you didn't mention the NSF file, you said SMB2, so I suppose you want to patch the ROM, eh? In anyways, the game usually has a lockup table for the music tracks; you change the entry that corresponds to the world you want.

Short words: convert your GG code into a memory address/value and decide what you want - to patch the file only while you're playing (GG in an emulator) or hexaedit the ROM and do this by yourself.

- About patching a NSF, well... the easy way is to patch the ROM and rip the NSF; otherwise, you'll have to calculate the effective address and do hexaediting.

by on (#35109)
What would I use to find the values?

by on (#35110)
- Google is your friend... :P no no, here:
http://games.technoplaza.net/ggencoder/java/applet/

...or the Chris Covell's NES ROM (public domain):
http://www.disgruntleddesigner.com/chri ... games.html

by on (#35111)
The first one I have as a program not the GGNES one.

The game genie encoder? It's always green except for the hand.

by on (#35113)
NotTheCommonDose wrote:
The first one I have as a program not the GGNES one.


- If not this one, then I don't know how to help you. Well, you know the +8000h detail, right?

NotTheCommonDose wrote:
The game genie encoder? It's always green except for the hand.


Yeah, perhaps the author could give us some advice? :P

by on (#35115)
Try this one instead: http://www.disgruntleddesigner.com/chri ... erter.html

by on (#35145)
But the wuaestion still is how do I patch these codes? I do not know ASM to do this.

by on (#35148)
NotTheCommonDose wrote:
But the wuaestion still is how do I patch these codes? I do not know ASM to do this.


1. You needn't to know ASM to handle this, but only hexadecimal... oh wait, the Windows calc can convert into decimal base if you want it. ;)

2. If a game does bankswitching, then there's a chance of getting annoyances. The use of a 8-chars code should minimize the thing. Usually the last 8k page is located at CPU E000h-FFFFh.

3. I don't know any program that can patch the game for you.