===================================== cajoNES version 0.99b the only NES ROM tool with balls (c) 1997 dripware - matt conte ------------------------------------- http://www.netcom.com/~itsbroke/ ===================================== news ==== v0.99 0B/0D yeah, i'm a liar. i made a new version. now cajoNES supports a whole boatload of mappers when you convert from .NES -> FAM. how was i supposed to know that famicom would support the light zapper and more mappers? v0.7 9/16 last version. supports iNES high mappers (>16). if the mappers go up any higher than 34, i'll put out another release. source code included. don't e-mail me to tell me how shitty my code is- i know that already. it works, don't it? v0.2 7/20 added (flakey) iNES -> pasofami conversion. v0.1 7/13 oi! is this thing on? ================= first off, this software isn't finished. it's supposed to be cajoNES 1.0, with support for famicom disk system and all known mapper types. unfortunately, i'm extra busy, have hit a bit of a development wall, and have stopped receiving help from the knowledgeable people who were dutifully aiding me in the past. i ask that anyone with a solid understanding of the .FAM format drop me a line, so i can get 1.0 out as soon as possible. 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 saturday night head lice, 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. **IMPORTANT** wow, call me prophetic or something, but now (in iNES 0.7+), you really _need_ to have clean headers, because sometimes the utility tags take up one of the mapper bytes. this can make iNES report an incorrect mapper type and make the game unplayable, even if you try to fix the ROM header with NESticle (it doesn't let you clear out the reserved space. so now it's pretty important that all your headers are clean. something more interesting: i had another tool called NEStoFAM which allowed you to transform .NES roms to .FAM files that the famicom.exe 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 all kinds of other mapper/prg/chr permutations. currently supported: [ iNES # ] [ prg/chr ] mapper 0 - all mapper 1 - 128/0 128/128 256/0 mapper 2 - 128/0 mapper 4 - 256/128 mapper 4 - 256/256 that means all .NES roms less than 40k should work, mapper 2's like rambo or rygar should work, zelda, metroid, castlevania 2, a whole bunch of the megaman's, etc. should work pretty well. there might be other mapper types that work, if you find ones that do, please e-mail me with your success stories. likewise, if you find ones that i have listed as working and do not, please mail me also. as of cajoNES 0.2, you can also split ROMS into pasofami format, that is .PRM/.PRG/.CHR files... if you want to name it, make a text file called filename.NAM, and just type in the name you want... pasofami conversion is shaky at best, but there's nothing i can do about that. noone has produced a decent document on the header set-up, and the way that the emulator functions based on that header is completely different than iNES or NESticle... so deal with it. plus, there's no real reason to use the wacky thing anymore now that famicom runs famicom disk system games. how? ==== it's 'wicked easy'... **FRIGGIN' IMPORTANT** cajoNES.exe and cajoNES.dat must be in your ROM directory. well, maybe they don't, but it sure makes everything a hell of a lot easier. in any case, those two cajoNES.* files must be in the same directory. if it doesn't work, don't e-mail me, IT'S YOUR FAULT! plus if cajoNES is in your ROM directory, it will be able to generat a list of your roms, if need be. next, type cajoNES. it prompts you to enter the filename, or press 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. pasofami split-file .PRM/.CHR/.PRG files are created in the same directory as the source .NES rom. same goes for .FAM output. **MORE FRIGGIN' IMPORTANT STUFF** speaking of .FAM files, if you want to get them to work right, get both your .FAM file and famicom (version 2-4, but NOT 1!) fired up. 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. other techniques were the result of an excruciating amount of detective work. FAM's are bloated, i know that. it sucks, but it's the facts of life. huh? ==== special thanks go out to EFX, trelane and terhune for helping out on the bit-twiddling. i've spent an obscene amount of time on this program, and it doesn't really show, because most of the time was spent racking my brains over some simple way to implement the .FAM conversion. i have come up with nothing in the way of simplicity - witness the .dat file. i wish i didn't have to do that, but it was the only way i could store the huge amount (>64k) of data that ends up being stuck at the end of the .FAM files. if you know how to convert disk system games, please contact me. don't be an 31337 punk and try to hoarde information to yourself, that's retarded and goes against the spirit of emulation. let's try to get as much public info about this spread around and people will start to realize that this is a great piece of software. oh yeah, and if you're seil and you're reading this, "uncle!" come on, man, have a little mercy and drop this ridiculous format and support the iNES standard! (or at least give me some implementation specs) ask me for ROMs and i'll send that guy's arm to your house. late/matt. november somethingth.