                 =====================================
                          cajoNES version 0.2
                   the only NES ROM tool with balls
                    (c) 1997 matt 'the drip' conte
                 -------------------------------------
                   http://www.netcom.com/~itsbroke/
                 =====================================

news
====
v0.2	7/20	added (flakey) iNES -> pasofami conversion.
v0.1	7/13	oi!

what?
=====
this is cajoNES, a little proggie that lets you poke around with the
headers on iNES format Nintendo Entertainment System ROMS, and a
couple of other things...

why?
====
"woo-hoo.  another NES ROM tool.  i'm so excited i could just shit."

yeah, it's about as fun as lighting your toes on fire, but there's a
couple of things this tool can do that other tools can't...  first of
all, seeing as i like my roms tidy, i've built a feature into cajoNES
that will let you clear out those unsightly taglines that "other"
tools casually insert into the reserved space in the iNES header
whenever you use them.  take a look at the first 16 bytes of any
widely distributed NES rom and you'll most likely find the string
"DiskDude!" or "aster" or some such trash embedded in the header,
where it shouldn't be.  just press F1 from the main menu of cajoNES
and those nasty tags will be obliterated.

*the biggie* --  well, i had another tool called NEStoFAM which
allowed you to transformutate (huh?) .NES roms to .FAM files that the
famicom emulator (not pasofami!) can use.  well, i've added NES -> FAM
support to cajoNES.  what's the big tomato about that, you say?  well,
until now seil's oddball image format has prevented the conversion of
images greater than 64k in size...  with cajoNES, you can convert all
less than 64k images, PLUS 128k and 256k MMC#2 games!  a partial list:

	Final Fantasy 2J, Dragon Quest 3J, Rygar, Commando, Rambo,
	Ghosts 'n Goblins, Blades of Steel, Megaman, Rush 'n Attack...

well, you get the picture.

how?
====
it's 'wicked easy'...  first, _make your life easier_ and put
cajoNES.exe in your ROM directory.  this is so cajoNES can list all
of your roms, if need be.  next, type cajoNES.  it prompts you to
enter the filename, or press <Enter> to get a directory listing (of
the CURRENT directory, only *.NES roms are masked), or press 'q' to
exit the program.  everything should be self-explanatory.  if not,
i'm dumb.

the only thing that should need explanation is what to do with an
output .FAM file.  say you have a file loaded up in cajoNES called
mario.nes.  press F8 to output the file, and type mario.fam (or
whatever).  the output file will be created in the current (ROM)
directory.

then you need to go into famicom itself, File->Open the .FAM file.
next Edit->Reset the virtual NES hardware.  then Edit->Resume and
the title screen/whatever should come up.  if the mirroring is off
(i.e. weird backgrounds, 0's everywhere) you have to go into
Control->Memory and twiddle the Horizonal and Vertical mirroring
options under Video RAM.  generally, if a game is a side-scroller,
it's horizontal mirroring...  you can figure the rest out...

finally, if you don't want to waste your time doing that every time
you open your rom up, Edit->Pause the game, Edit->Reset it, then
File->Save it... when you open it up again, it will automagically
start up, and it will have saved your corrected mirroring settings.

there are some roms that don't transfer very well, namely <= 64k roms
with 16 or 32k vROM...  i assume this is because of memory mappers, 
and i'll try to mess around with the image format in the future...

the conversion techniques for 64k and under roms were taken from the
output of the FAMCONV program.

128 and 256k iNES mapper #2 roms are a whole different thing.  these
roms can be converted because mapper #2 is quite simple...  you'll
notice that the converted ROMs are a little more than twice as big as
the source file.  so far as i can tell, this is necessary: the PRG
banks are stored in an interleaved format.  For 8 banks, they are
stored in this order:

1, 8, 2, 8, 3, 8, 4, 8, 5, 8, 6, 8, 7, 8, 8, 8.

why?  who knows...  i'm trying to see if there's a simpler way, but
until that time, you're FAMs will be a little on the bloated side... =)

also 128k PRG, 0k CHR ROMs that use MMC# 1 don't work right...  (i.e.
Zelda, Metroid)...  why?  more complicated mapper, and famicom don't
support that yet...

huh?
====
if there's anyone out there who has some more insight on the ghastly
.FAM format (i.e. how in sam hell do you get other ROMs to work on
it?), drop me a line at <itsbroke@ix.netcom.com>.

ask me for ROMs and i'll beat you with a short length of hose.

late/matt.
july 20th.