PDA

View Full Version : NES rom expansion (tutorials)


TFG
10-22-2004, 04:05 PM
In these two documents I attempt to explain the basics of NES rom expansion. It's a tabu topic for NES hacking newbies. What most people don't realize it's that it is very easy to implement and it's a great aid for romhacks/translations.

<a href=http://tfg.panicus.org/files/docs/nesromexp.TXT> NES rom expansion 101</a>

<a href=http://tfg.panicus.org/files/docs/nes_rom_exp102.zip> NES rom expansion 102</a>

EDIT:
- Fixed both documents to 80ish columns.
- Fixed a mistake in one of the code examples. (Thanks to Disch for pointing it out)

TFG.

<P ID="signature"></P><P ID="edit"><FONT class="small">Edited by TFG on 10/22/04 02:30 PM.</FONT></P>

Gavin_86
10-23-2004, 07:27 AM
great work TFG, these tutorials really are great. And as you say, they do a very nice job demonstrating that there is far too much stigma attatched to NES Rom expansion. well played bro <img src=smilies/thumb.gif>

<P ID="signature"><center>I'm just a Paranoid Android watching through my superb crystal viewing glass

.::http://gavin.panicus.orgGavin.Panicus.org</a> ::.</center></P>

Gil-Galad
10-23-2004, 08:46 PM
I agree those documents are pretty good. Now all you gotta do is make 103 and maybe do mapper 1 or mapper 4 which is a hell of a lot harder.

<P ID="signature"></P>

Gavin_86
10-23-2004, 09:32 PM
> I agree those documents are pretty good. Now all you gotta
> do is make 103 and maybe do mapper 1 or mapper 4 which is a
> hell of a lot harder.

yah seriously, addressing 512k with MMC1 is both weird and annoying <img src=smilies/banghead.gif>

<P ID="signature"><center>I'm just a Paranoid Android watching through my superb crystal viewing glass

.::http://gavin.panicus.orgGavin.Panicus.org</a> ::.</center></P>

TFG
10-23-2004, 10:35 PM
> I agree those documents are pretty good. Now all you gotta
> do is make 103 and maybe do mapper 1 or mapper 4 which is a
> hell of a lot harder.
>

Indeed, I'm looking forward to add/convert a game to Mapper 4. However, I'm trying to figure out a different approach. Other than slap-a-zillion-of-asm-hacks-and-you're-off.

Any suggestions?

<P ID="signature"></P>

Disch
10-23-2004, 10:55 PM
> Indeed, I'm looking forward to add/convert a game to Mapper
> 4. However, I'm trying to figure out a different approach.
> Other than slap-a-zillion-of-asm-hacks-and-you're-off.
>
> Any suggestions?

Most games probably only have 1 routine they call for bankswapping. Find that routine, and replace it with a new routine which does the same thing but interacts with the new mapper. There's also the mapper prep stuff which is typically done in (or near) the Reset routine.

It's not really that hard if you know what you're doing (of course, it really all depends on the game). But you're not going to be able to write a dummy's guide for it. It's ultimately going to come down to the person having to have a good understanding of how all that stuff works. And those kinds of people generally don't need to read tutorials on the subject.

<P ID="signature"></P>

Gavin_86
10-24-2004, 12:35 AM
but things could get tricky with mapper setup and bankswitching routines when it comes to the number of bytes required to achieve the desired results. Like how Mapper 1 has the tedious and byte consuming style of writing 1 bit at a time into it's registers because of the number of ports available. Or if you're changing a mapper and the game splits of mapper functions that normally can be taken care of in 1 register to 2-3 separate registers requiring more code <img src=smilies/retard.gif>

<P ID="signature"><center>I'm just a Paranoid Android watching through my superb crystal viewing glass

.::http://gavin.panicus.orgGavin.Panicus.org</a> ::.</center></P>