Jeremy Chadwick ("Y0SHi") is the author of the most complete NES TechSpecifications Document available on the web. He's an excellent personality,and my interview with him proved to be quite informative.
|Eazy Cheeze chats with Y0SHi - May 12,1998 by Eazy Cheeze
Note: This interview was conducted via IRC by Eazy Cheeze.
Let's start at the beginning... How did you get involved in documenting thetechnical information of the NES?
That's a good question. I've been an avid NES & Famicom fan for years; there'sa few explanations...Since I documented the SNES years ago, I didnt see why I shouldn't do thesame with the NES. I'm sure I'm pushing NoA's buttons, but ...I had my own personal reasons as well. I'd have to say the majority of Americanyouth during the 80s were really into the NES, and found it to have somereally classic games...I happened to be one of those youths, but I actually wanted to know how themachine worked...
So I set off on my quest to obtain information. Marat Fayzullin'sdocumentation was a huge incentive: his explanations lacked verbosity, and soI felt the need to help programmers out, once again...plus, I have my own NES projects going on behind-the-scenes right now...some might say my interest in the technical aspect of the NES was sparked whenI had to re-build my Famicom from two Famicoms, since some of the parts in oneworked, but didn't in the other...or maybe it was the fact that when I got my first NES, it didnt come withSuper Mario Brothers -- it came with what I call the BBB: Big Black Book, theNintendo Players Guide...I mean, what good is the BBB without any games? I asked myself that question,so to keep myself amused as a kid, I ripped open my NES to see what it hadinside of it :-)I think it's a combination of all of the above.
Very cool. I also believe that the NES was a classic system with many classicgames. What are your favorite games? Any one favorite genre?
Haha, I have a few favorites...but I'd have to say, adventure games are my favorite, shooters being 2nd up,and finally RPGs...in regards to specifics, my favourite adventure game is WaI WaI World...my favourite shooter for the Famicom is Recca...and my favourite RPG for the NES is probably Destiny of an Emperor
For our readers, please describe these games, starting with WaI WaI World.
WaI WaI World just blows any adventure game out of the water. I'm an avidKonamI fan (applied to work there too many times =D)... years ago, a Taiwanesefriend of mine brought his Famicom to school, and I brought my 4" B&W portableTV there as well, and we played WaI WaI World for the first time...the game itself consists of six (6) KonamI games put into one...well actually... hmm. seven (7) if you consider the final level :-)it's a two-player simultaneous game, where you start out as KonamI Man and/or KonamI Girlyou set out to rescue fellow KonamI members, such as Mikey from The Goonies 1/2, Simon from Castlevania, etc...you can switch players realtime, just by hitting Up and Jump.each player has their own special weapon, and you can obtain items like thecape, which allow you to fly, etc...once you rescue all of your friends, you set off to another planet, to destroysome evil monster...you'll have to play the game to find out what exactly happens :-)The game was never released in the US because the majority of the charactersyou play are from Famicom games, hence Americans would have NO IDEA who Fuu ofGetsufuu Maden is, etc. etc.
Now, let's move on to Recca.
Recca was a game released by NaxatSoft, during the summer of 1992 in Japanit's an *EXTREMELY* high-speed bidirectional vertical shooter -- bybidirectional, I mean you have to fight going forwards and later on, backwardsthe game pulls off some seriously awesome tricksthe NES has a 64-sprite limitation, and I'd have to say the game uses a good64-128 on-screen most of the time.I can safely say, do not play this game if you're known for having epilepticseizures...you'll just have to play it. it's the fastest shooter I've EVER played in mylifebut yes, I have finished it, without a realtime save or without cheating :-)
And lastly, Destiny of an Emperor, which, as I understand, hasmade it to the U.S.
Destiny of an Emperor was a game released in the US and in Japan by Capcom in1989a lot of americans don't understand the relevancy of the game to Chinesehistory thoughthe game isn't necessarily "accurate" in regards to historical aspects, butLiu BeI was an ancient ruler of China, and so the game itself does have somerelevancy...
The game starts out somewhere in China (sure doesn't look like China =D), andyou're asked by the emperor to take back the main castle from a band calledthe Yellow Scarves.Well, the game kinda takes on a different plot after you take the castleback... the reason I like the game so much is quite simplemost RPGs like Dragon Warrior and FF, you walk around *SLOWLY*in Destiny of an Emperor, you walk extremely fast, and this was one of thethings I really enjoyedI could get from place to place quickly, without having to watch thecharacter tie his shoes on the way, so-to-speakit's got a great plot, and the music is wonderful.
How is the translation quality in this game?
Perfect.I originally played the American version; my Japanese friend actually informedme that the translation was very accurateI mean, how hard is it to translate factual Chinese history in Japanese toEnglish? =Dthe real goal is just to become the ruler of China, but hey... what can yasay =D
Please describe the basic memory mappers, in terms of complexity and ofcompatibility with current emulators.
Well, all of the mappers are a pain in the $#@!, no matter how complex orsimple they are, to be honestfwNES has the most diverse support for mappers, but fwNES also is making upit's own mapper numbers, without Marat Fayzullin (author of the .NES format)'sconsent.Nofrendo and NESticle both support all the generic mappers, while fwNESsupports more of the "rare" mappers used in Famicom gamesfwNES is the most compatible right now, but is lacking in other areasNofrendo is "behind the times," but not for long >=) that's all I can sayabout that.
NESticle is considered a dead project, but I wouldn't put any money on that...NESticle is what I use, personally, as it has all of the features I desire,and allows for a plethora of gamepads to be used for joypad emulation
I was thinking you could tell us about the first five mappers, since mostgames that the general public is aware of utilized these mappers.
- Mapper #0 is non-existent; it just means there's no mapper used...
- Mapper #1 is synonymous with MMC1, which is Nintendo's first attempt at amapper... It's used in Zelda 1, MegaMan 2, as well as Dragon Warrior 4...there's two revisions of this mapper; MMC1a and MMC1b...Nintendo re-vamped the mapper for DW4, and added support for larger PRG-ROMaddressing, as DW4 is 512K =Dthe mapper itself is pretty simplistic; it allows for the switching of PRG-ROMand CHR-ROM but there's no special features, honestly.
- Mapper #2 is a simple 74HC161 chip, which only allows for the switching ofPRG-ROM. Castlevania 1 and MegaMan 1 use this chip... its *VERY* cheap (and was at thetime too), and doesn't allow for anything complex. oh yeah, FF2j used thischip too.
- Mapper #3 is the same as mapper #2, but it's used for CHR-ROM.Solomon's Key, Gradius, and some other carts use this. its not as common asmapper #2 though.
- Mapper #4 is Nintendo's MMC3, which really revolutionized how people saw theNES. First off, the mapper allows you to swap in CHR-ROM to almost any PPU RAMpage, which is useful to programmers. quick and easy methods of switchinggraphics...secondly, it allowed for mirroring selection realtime -- something which wasleft out of other mappers for the most part.it also allowed for the ability to enable/disable SRAM; I guess some games usethis? heh...the most revolutionary thing about MMC3 was that you could force an IRQ basedon a value you'd give the mapperthe value would count down automatically per frame -- what good is this?simple: it allows for all the split-screen effects you see in MMC3 games.
- Mapper #5 is Nintendo's MMC5, which is the anti-Christ, so-to-speak;-)everyone knows of this mapper, since Castlevania 3 used itMMC5 is insane. it allows for the playback of audio data through the MMC,read directly from PRG-ROM banks...it has it's own accumulatorit allows for four-screen mirroring, so you can swap in and out graphics toany area which may be appearing on the screen before you scrollI'd have to say the most revolutionary aspect of MMC5 is the fact that itactually increases the number of useable tiles from 256 to 65536, as well asincreases the on-screen colour countbasically, MMC5 is MMCs 1, 2, and 3 put into one, plus a TON of new features.
Discuss 'timing' in NES games.
The "timing" term people use is actually pretty dirty...basically, a screen refresh (VBlank) takes a specific amount of CPU cycles tooccurwhen VBlank occurs plays a huge role in games like Adventures of Bayou Billy,where you get a nice sexy little sin-wave pseudo fade-in =Dbasically, a game expects the VBlank to occur at a certain scanline; it makesuse of this feature to do things while VBlank is occuring.It's hard to emulate this in a software emulator, since it's mainly a hardwarething...VBlanks occur 60 times a second on an NTSC device, or 50 times a second on aPAL device.
The "timing" term people use is important.Games are supposed to wait for the VBlank to occur, then re-set the PPU RAMaddress they wish to write to, then do their graphic updateswell, a lot of games don't do this, as waiting for VBlank takes a good amountof timeso, programmers like Square program their games with very "timing sensitive"code...meaning, rather than wait for a VBlank, they know exactly how many cyclesit'll be between a VBlank and the nextso they just cram their code between the previous VBlank and the one about tooccurrather than wait for it to occur, they try to fit as much in as they can.
"Bad timing" results in things like flickering graphics, or sometimes,graphics show up wrong, or the game crashes (most common).I'd really have to go into it in-depth to explain it, it's a lot to type out...I'm being real generic with my terms here, for the sake of the readers =D.
That's all right. We probably all know the effects of bad timing:) (the introductory demo in Kirby's Adventure; the whole game of Mach Rider)
Well, Mach Rider uses the same effect that Bayou Billy doesmid-HBlank updates... but I'd prefer not to go into that =D I'd have toexplain what VBlank and HBlank are
Please define 'PPU' as used earlier.
PPU = Picture Processing Unit, the thing used to put graphics/sprites on thescreen. it interacts with the NTSC/PAL device (usually a TV) directly.
Anything else of a mildly technical nature that we should know about?
Not really. the NES is a monster. if you plan on writing an emulator on it,you're definitely an insane bastard.I'd recommend you pick another console, as the NES is pretty worn out IMHO...We've got too many emulators for it. I enjoy playing the games more than I doworking on them =D.
Icer is definitely a master at emulation to have gotten this far withNESticle.
Icer's pretty much like the rest of us; educated, and clueless simultaneously.=DThere's very little left on the NES to document... and I plan to cover it soonenough >=)
Well Jeremy, thank you for your time!
One Article Up: Neo Geo Page updated
One Article Down: MAME & IC make the San Jose News