Friday, July 31, 2015

The Famicom Microphone - Obscure Functionality



The Famicom's Controller II does not have start and select buttons, instead it has a microphone.  The microphone has a volume slider which will turn the microphone off is slid all the way to the left.  Internally, the microphone is a small condenser microphone.  The microphone is mixed with the Famicom's audio output so you can hear anything that it picks up in the TV's speaker.

In addition, the microphone can be used as an input to the CPU.  The Controllers communicate serially by sending a stream of data bits on one data line to particular memory locations in the 2A03's memory map. Each bit represents a button press or a D-pad direction.  Even though Controller II communicates with the Famicom via D0 of $4017, the microphone communicates via D2 of $4016.  Controller I communicates by D0 of $4016.

On a Vs System, the service button uses the same input as the microphone.  Pressing the service button in must Vs System games acts as an insert coin signal to the game.  So by blowing into the microphone you can insert a coin when running VS games in a Famicom, such as with a PowerPak or Everdrive.  While this does not work on every game, it is pretty neat to see the credit number increase rapidly as you blow into the microphone.  Of course, the games will look very strange because the palette entries are scrambled compared to a regular console PPU.  Some are unplayable for other reasons, but the feature is still amusing for a bit.

Here are the games I have personally confirmed work with a real Famicom and its attached microphone :

Zelda no Densetsu - The Hyrule Fantasy

This is the original version of The Legend of Zelda, released on the Famicom Disk System on February 21, 1986.  The Microphone can be used to kill Pols Voice, the enemy that looks like a rabbit and is first encountered in Dungeon 5.  I find blowing into the microphone to be the most effective method.  The NES did not have a microphone, so instead they made Pols Voices weak to arrows.  Unfortunately, they forgot to change the hint in the manual.  One arrow kills a Pols Voice in the NES version, but arrows do nothing to these enemies in the Famicom Disk System version.

Hikari Shinwa - Palutena no Kagami

This is the original version of Kid Icarus, released on the Famicom Disk System on December 19, 1986.  The microphone is used to try to persuade the shopkeeper to lower his prices.  The function works by blowing into the microphone while pressing the A button on Controller II.  Whenever I try this function at the first shopkeeper's shop in Stage 1-2, he always raises his prices.

I believe shouting something also work, but blowing hard is a lot nicer when other people are around and is definitely more effective for this game.  The game appears to be looking for a rapid series of 1s and 0s. Blowing into the microphone is the human equivalent of a noise generator.  Emulators that support the microphone often lack the ability to simulate a rapid expansion and contraction of the microphone. In the NES version, A and B on Controller 2 perform the same function.

Zelda no Densetsu 1 - The Hyrule Fantasy

This is the official Famicom cartridge port of the Zelda no Densetsu - The Hyrule Fantasy, released on February 19, 1994 at the very end of the Famicom's life.  It and Wario's Woods are the last Famicom cartridges Nintendo released.  It takes the NES cartridge port and reinserts the Japanese text (except for the introductory story).  It microphone functions identically to the Famicom Disk System version.  Unfortunately, despite the Famicom AV's release, they did not make Pols Voice weak to arrows in this version.

Raid on Bungeling Bay

In the 2-player mode of this game, the first player controls the helicopter and the second player can control the enemy forces.  The second play can rotate and fire the enemy canons with his controller.  If he blows into the microphone, the screen will show a microphone icon.  Keep blowing into it and it will turn red.  This will cause jets to attack the first player, although when they appear seems a bit random.  The microphone function works on both the Famicom and NES version of the game.

Other Games and Microphone Support

Other NES games it may work in include Kid Niki: Radical Ninja and Star Soldier, but the areas where they were tend to be far into the game.  Several Japanese-exclusive Famicom games use it but due to the language barrier most of these uses are unconfirmed.  Considering that 1,050 or so official licensed cartridges and 200 or so licensed disk system games exist, the true number may never be known.

One well-known game is Takeshi no Chosenjou, (Takeshi's Challenge).  This game was designed in part by Japanese comedian and later auteur filmmaker "Beat" Takeshi Kitano.  The game requires you to do all sorts of odd and often extremely repetitious tasks.  Some commentators have suggested that Kitano was trying to use Andy Kauffman-style humor by frustrating players with such goofy goals as hitting a button 1,000 times or leaving the controller alone for an hour.  There is a karaoke mini-game that requires you to use the microphone to "sing" (make noise) in time with the music.  There is also a lot of physical violence, another Kitano trademark, for a story of a salaryman trying to escape the humdrum of everyday life.

Here is a list of games which have been known to support the Microphone and a link to a description of their microphone usage, where known :

Apple Town Monogatari - Little Computer People (disk)
Atlantis no Nazo (a.k.a. Super Pitfall 2 prototype)
Bakushou!! Jinsei Gekijou
Bakushou!! Jinsei Gekijou 2
Doraemon
Family BASIC v3 (Built-in Game 0 - Heart)
Hikari Shinwa - Palthena no Kagami (disk)
Kaiketsu Yancha Maru (a.k.a. Kid Niki: Radical Ninja)
Kamen Rider Club
Kieta Princess
Raid on Bungeling Bay
Star Luster
Star Soldier
Super Chinese 2 - Dragon Kid (a.k.a. Little Ninja Brothers)
Takeshi no Chousenjou
Zelda no Densetsu - The Hyrule Fantasy (cart and disk)

I have read on Wikipedia and elsewhere that Takeshi no Chosenjou removed the karaoke mini-game in later versions and other games would allow you to use the Select button in place of the microphone.  I believe these statements are wholly unfounded.  Takeshi no Chosenjou was released on December 10, 1986 and as far as I have seen, there is only one version of the game.  Moreover, every official iteration of Nintendo's hardaware, the Famicom, the Sharp C1 Famicom Television, the Sharp Twin Famicom and the Sharp Famicom Titler had the microphone on their Controller II until the Famicom AV was released on December 1, 1993.  I sincerely doubt that game makers were anticipating that Nintendo would be ditching the microphone when every version of the hardware included it. Note that the microphone is read at the same memory location as the data from Controller I, so any claim that you should press select on Controller II (which does not have Start and Select buttons), is very dubious.

Thursday, July 30, 2015

100(ish) Game Boy Games Worth Playing

I previously created a list of 250 NES Games Worth Playing, and now I would like to do the same for Nintendo's other 8-bit success the Game Boy.  Here I have fashioned a list of 100 good games that show off the best the library has to offer.  The Game Boy has over five hundred licensed, non-Color titles, so I cannot say I am an authority on every game ever made for the platform.  However, I am familiar with most of the titles listed below.

I have limited this list to monochrome-only Game Boy games.  No hybrid Game Boy/Game Boy Color games here.  This includes Pokemon Yellow, which has Game Boy Color-specific features but little more than Super Game Boy level of color.  Most of the games released in 1994 and later have some form of Super Game Boy support.  This list is not meant to say that there are only 100 good Game Boy games in the monochrome library or that this is a top 100, I'm always happy to learn of other good games.  It is limited to games that were released in the United States.

Some games are included not because they are particularly good but are part of a larger series.  Disney's DuckTales, for example, was a great game on the NES but only passable on the Game Boy.  Mega Man II is easily one of the worst Mega Man games in the series, but it is part of a much greater series.  The first Castlevania has your character move like molasses, but it has redeeming features and it makes you appreciate its sequels more.  Final Fantasy Legend is little more than a grindfest, but some people like that sort of thing.

While this list is clearly biased, I tried to balance it.  There are few, if any sports games or fighting games, but lots of action/adventure games.  The Game Boy was known for its puzzle games, so I have included pretty much any official Tetris game.  You cannot go wrong with Tetris and the Game Boy is the system for lovers of this classic.  In fact, casual gaming on the go was practically invented by the Game Boy.

I have tried to avoid ports of arcade games, of which there are several, unless there is something truly unique about the game.  Space Invaders is unique because not only does it have Super Game Boy compatibility, but it will also let you play a recreation of the arcade version using the full SNES hardware!  These days there are so many ways to play the real deal on a portable device.  There are several ports of console games, but I only include ones that can stand on their own when you want to play a game on the go.

I have included certain games that are ports of NES games or close conversions.  Milon's Secret Castle is a true port of the NES game which takes the Game Boy's limitations in mind.  The Duck Tales games use the same structure as the NES games and most of the graphics and sound, but the level layouts are different.

Alleyway
Altered Space - A 3-D Alien Adventure
Balloon Kid
Batman: The Video Game
Batman: The Animated Series
Battle Arena Toshinden
Bionic Commando
Bomberman GB
Bonk's Adventure
Bonk's Revenge
Boy and His Blob: Rescue of Princess Blobette, A
Castlevania Adventure, The
Castlevania II: Belmont's Revenge
Castlevania Legends
Contra III: The Alien Wars
Cosmo Tank
Disney's Darkwing Duck
Disney's DuckTales
Disney's DuckTales 2
Donkey Kong
Donkey Kong Land
Donkey Kong Land 2
Donkey Kong Land III
Dr. Franken
Dr. Franken 2
Dr. Mario
F-1 Race
Faceball 2000
Final Fantasy Adventure
Final Fantasy Legend, The
Final Fantasy Legend 2
Final Fantasy Legend 3
Fortified Zone
Game & Watch Gallery
Gargoyle's Quest
GhostBusters II
Gradius: The Interstellar Assault
Great Greed
Harvest Moon GB
Hudson's Adventure Island
Hudson's Adventure Island II
James Bond 007
Kid Dracula
Kid Icarus: Of Myths and Monsters
Kirby's Block Ball
Kirby's Dream Land
Kirby's Dream Land 2
Kirby's Pinball Land
Kirby's Star Stacker
Kung Fu Master
Kwirk
Legend of the River King GB
The Legend of Zelda: Link's Awakening
Mario's Picross
Mega Man
Mega Man II
Mega Man III
Mega Man IV
Mega Man V
Mercenary Force
Metroid II
Milon's Secret Castle
Mole Mania
Motocross Maniacs
Nemesis
Ninja Gaiden Shadow
Operation C
Quarth
Pinball - Revenge of the 'Gator
Pokemon Blue
Pokemon Red
Popeye 2
Prehistorik Man
Prince of Persia
R-Type
Radar Mission
Rolan's Curse
Rolan's Curse 2
SolarStriker
Space Invaders
Star Trek 25th Anniversary
Super Mario Land
Super Mario Land 2: Six Golden Coins
Sword of Hope
Sword of Hope II
Tamagotchi
Teenage Mutant Ninja Turtles: Fall of the Foot Clan
Teenage Mutant Ninja Turtles II: Back from the Sewers
Teenage Mutant Ninja Turtles III: Radical Rescue
Tetris
Tetris 2
Tetris Attack
Tetris Blast
Tetris Plus
Tiny Toon Adventures: Babs' Big Break
Trax
Wario Blast Featuring Bomberman!
Wario Land: Super Mario Land 3
Wario Land II
Who Framed Roger Rabbit
Yoshi
Yoshi's Cookie
Zen: Intergalactic Ninja

Wednesday, July 29, 2015

Yamaha's TG100/OPL4 Connection

Today I am excited to publish the first blog entry on this blog from a guest blogger.  This blog entry was written by my good friend Cloudschatze.  Except for a few minor edits, the remainder of this blog entry comes directly from him :


Released in early 1992, the inauspicious Tone Generator TG100 marked Yamaha's initial foray into the burgeoning world of General MIDI - a market that was, at the time, wholly defined and dominated by Roland's then year-old Sound Canvas SC-55.

At a glance, the TG100 (along with its display-less DTM counterpart, the CBX-K3), is a 28-note "Advanced Wave Memory" tone generator, containing 192 instrument voices, 64 user voices, 10 drum kits, and featuring a custom reverb DSP.  Promoting its usefulness in a laptop-connected, portable environment, the TG100 is also one of the first musical instruments to feature serial port connectivity, effectively negating the need for a dedicated host-based MIDI interface like the MPU-401.  Aesthetically, the TG100 is smaller than photos might suggest and unsubtly seems to borrow certain design elements from Roland's earlier MT-32.

Drawing comparisons with the SC-55, Yamaha's TG100 similarly satisfies the General MIDI requirements, while likewise providing a superset of features to both enhance the experience, and impart a degree of compatibility with non-GM-conforming sequences.  While a GM device by default, the TG100 provides two alternate modes of operation, offering instrument/drum-map compatibility with either Yamaha's own "Disk Orchestra" (Clavinova) units, or with Roland's CM-64.  An "RX" drum kit rounds-out the mix of versatility, providing a layout compatible with Yamaha's RX-series drum machines.

Enhancements over the SC-55 include an extra four notes of polyphony, a larger waveform ROM set (4MB vs. 3MB), and the traditional synthesizer/ROMpler-esque ability to create up to 64 user-defined instruments like the MT-32.  Yamaha's Windows 3.1-based, "WinTiGer" editor lends some ease to the instrument creation process, revealing an architecture reminiscent of the latent QS300 functionality of Yamaha's earlier XG tone generators.




Oh, British humor...

Given that TG100 units routinely sell for under $50 these days, it would be reasonable to think that such a purchase could be a no-brainer for anyone looking for an external General MIDI playback device for retro-gaming, right?

In my opinion, no, and here's why:

It's not a Sound Canvas. 

No kidding, right?

By design, the General MIDI requirements offered neither suggestion, nor restriction, on how compatible devices should sound.  General MIDI required little more than Program Change #0 sound like a piano, Program Change #23 like a harmonica and so on.  Implementers were left with creative interpretation regarding the specific synthesis methods and waveforms used to generate these sounds, and, of great significance, their volume and envelope levels.  Because each implementer made their own unguided choices on how each instrument would sound, there was an unfortunate amount of playback variance to be had between the first GM-compatible devices.
Given Roland's well-managed head start, you'll find that most GM soundtracks were authored with, or for, the de-facto standard GM device that was the Sound Canvas.  This fact was not lost on Roland's competitors, who, in turn, designed subsequent GM-compatible offerings to better imitate the characteristics of the SC-55.  Unfortunately, for early devices like the TG100, a majority of non-native sequence playback - in-game or otherwise - tends to come across as undesirably unbalanced.

My opinion of its PC gaming suitability aside, as a compositional tool, or even just a cheap serial-to-MIDI converter, an inexpensive TG100 might be well worth experimenting with.  Regrettably, the gaming-focused comparisons available on YouTube, while important for that purpose, tend to be poorly representative of the TG100 as a whole.  As with other GM-compatibles, you really need to hear native compositions to get a complete impression of the TG100's tonal character.

Michael Walthius, the "Keyboard Wizard," composed with the TG100 for several years, and perhaps his music provides the best examples of the TG100's potential:

"Demons"
"Dreaming in Stereo"
"Echoes"
"Eternium"
"The Ultimate Life"

These pieces demonstrate some of the TG100's strengths and weaknesses with its instrument patches.  To be sure, the electric guitars are wildly unconvincing, and, owing to its less-complex engine, the synth leads and pads are remarkably shallow and uninspiring.  Conversely, the acoustic/orchestral instrumentation, and drum kits in particular, are of mostly decent quality.  Overall, and when properly composed for, I feel that the TG100 is able to provide a comparable counterbalance to Roland's SC-55, which the recordings hopefully demonstrate.

Now, interestingly enough, while most of the major General MIDI module releases have direct ISA sound card or waveblaster daughterboard-format counterparts, Yamaha's TG100 seems to be the odd exception.

Or, is it..?

Although Yamaha dominated the low end of PC music playback with its OPL2 and OPL3 chips, found on innumerable sound cards, the company continued to innovate to meet the need for more advanced but still cost-effective PC music reproduction.  Designed around 1992/1993, but entering full production in early 1994, Yamaha's OPL4 combined 20-voice, OPL-3 compatible FM synthesis, and 24-voice, PCM "Wave Table" synthesis in a single IC, the YMF278B.  ROM samples for the PCM synthesis engine are contained on a separate chip.  Unsurprisingly, a comparison of the TG100 and OPL4 PCM wavetable synthesis parameters shows more than a few similarities.  In fact, take the TG100, reduce its capabilities down to the most basic General MIDI requirements (24-voice polyphony, 128 capital tone instruments, 1 drumkit, no effects), and you end-up with something uncannily duplicated by the YMF278B + (2MB) YRW801 sample ROM combination, when used in conjunction with Yamaha's original instrument definition data specific to that pairing. 

The similarity between the TG100 and the OPL4 is striking.  Hearing is certainly believing, as demonstrated with playback of the same Michael Walthius compositions with Mediatrix' OPL4-bearing AudioTrix Pro soundcard.



"Demons"
"Dreaming in Stereo"
"Echoes"
"Eternium" Notice the lacking "Analog Kit," as compared to the TG100 version.
"The Ultimate Life"

The OPL4 playback in the above recordings was accomplished through use of MediaTrix' earlier, "PLAYMIDI" utility, which contains a direct-write, standalone MIDI interpreter, and utilizes Yamaha's original patch information derived from the TG100. While these particular AudioTrix Pro OPL4 hardware recordings bear substantial similarities to the TG100 recordings, MediaTrix' version 2.0 initialization firmware and drivers incorporate patch modifications by Fat Labs, successfully providing a more balanced approach to playback, but breaking the balance level compatibility with the TG100 in the process.  As a result, the same MIDI files do indeed sound different when played through the AudioTrix Pro's MPU-401 interface, or in Windows.  Similarly, Yamaha's YMF278B-bearing SW20-PC soundcard, and the later, ROM-integrated OPL4-ML(2) chipsets, contain both revised ROM sample sets and patch data and will not sound the same compared to the TG100 or the AudioTrix cards.

At the end of the day, the OPL4's TG100-based lineage seems pretty clear - a connection that seems to have gone almost wholly unnoticed by the entire Internet.

Sunday, July 26, 2015

The Many Meanings of MIDI in PC Gaming

We all know that MIDI stands for Musical Instrument Digital Interface, but the acronym was often taken to mean a great many things to a great many people.  Let's explore some of the common contexts where MIDI is applied.

MIDI Interface

First we have a "MIDI Interface".  This is rather redundant, because when you give words to the letters, it becomes Musical Instrument Digital Interface Interface.  However, because the use of the term MIDI is so broad, we use MIDI Interface to distinguish between other uses of the term like MIDI Module or MIDI Music.

So what is a MIDI Interface?  Well, in terms of hardware, MIDI communication is accomplished by a serial-based transfer at 31,250 baud using current loop signaling.  Typically, MIDI devices are connected through 5-pin DIN plugs. Miniature versions of the MIDI connector exist, but the pinouts are not necessarily going to be identical across manufacturers.  How data was supposed to be sent and received within those parameters was left up to the individual members of the MIDI Manufacturer's Association.

After much evolution, the PC world settled on a UART-compatible MPU-401 Interface.  This interface just sends bytes to and receives bytes from other MIDI compatible devices.  It is little more than an I/O port which can be tied to an IRQ line, and it really does not get any more simple than that.

Historically, there were many MIDI Interfaces, and most were incompatible with each other.  The "Full/Intelligent" Roland MPU-401 supports a simple UART-only mode that eventually became the standard. IBM had its own MIDI Interface in its IBM Music Feature Card.  Both of these Roland and IBM interfaces had many features beyond simple I/O, but PCs became powerful enough to perform most of the special functions that these devices handled on slow PCs.  IBM's card was too pricey considering the sound quality of its built-in synthesizer and it really did not catch on.  However, early games and MIDI Sequencers supported the enhanced features of both the Roland and IBM MIDI Interfaces.

MIDI Interfaces by themselves do not produce sound.  Originally, MIDI Interfaces came without MIDI Synthesizers on them.  The Roland MPU-401 was originally a breakout box with the interface hardware and an interface card to send to and receive data from a computer.  Only when you attached a MIDI Synthesizer to the MPU-401 via a 5-pin DIN cable would you be able to hear sound.  The last iteration of the Roland MPU-401, the MPU-401/AT, is an internal ISA expansion card with the ability to produce sound when a MIDI Synthesizer is connected to it on its waveblaster connector.  Without the waveblaster daughterboard, it just acts like a MIDI Interface.

Sound cards, beginning with the Sound Blaster, often came with MIDI Interfaces.  These interfaces were very basic in their functionality but no two manufacturer's interfaces worked alike.  The Pro Audio Spectrum and the Covox Sound Master II also had their own unique MIDI Interfaces.  Support was lukewarm from games.  Only with a Sound Blaster 16 or a Pro Audio Spectrum 16 (rev. D or later) were UART-only MPU-401 compatible interfaces implemented.  These interfaces typically used some of the unused pins on a gameport for the MIDI In and Out signals, requiring an external box or adapter to provide the 5-pin DINs MIDI modules of the day expected.

Even though the Sound Blaster and similar sound cards have a MIDI interface, it is completely independent of the FM Synthesis chip found on the card.  The MIDI Interface does not communicate with the FM Synthesis on the card in any way.  Unfortunately the MIDI Interface has to coexist with the digital audio capabilities of the Sound Blasters, causing no end of troubles.

Some MIDI modules like the Roland SC-55mkII could connect to a PC or a MAC via serial port.  They came with a special cable and they used Windows and Macintosh drivers.  When USB displaced most other low-bandwidth I/O devices, companies began releasing USB MIDI Interfaces, which still used the 5-pin DINs.  Even more recently, many MIDI devices connect directly by a USB cable to a computer.

MIDI Synthesizer

A MIDI Synthesizer is one that will acknowledge and respond to MIDI commands and generate sound.  There are many, many MIDI commands, sometimes called messages.  Program Change, Control Change, Pitch Bender, Velocity, Mode, After Touch, Note Number, System Common, System Real Time, Auxillary Message and System Exclusive are the main MIDI messages.  They have no relations to the commands sent to a MIDI Interface.

MIDI Synthesizers come in many shapes and sizes.  There are MIDI Keyboards like the Roland D-50 and MIDI Sound Modules like the Roland MT-32.  They are external to the PC and are connected via a 5-pin DIN.  Then there are sound cards with a MIDI Synthesizer like the IBM Music Feature Card and the Roland LAPC-I.  These two cards have both a MIDI Synthesizer and a MIDI Interface.  Finally, there are sound cards with a header for a MIDI Synthesizer on a daughterboard.  The Waveblaster-header designed by Creative Labs is an example of this. In virtually every case, the Synthesizer portion is connected only via MIDI Out, not MIDI In.  The waveblaster's MIDI Out signal is the same signal as being output via the gameports of the card on which it is found.

Many of the internal devices, whether on a card or attached via a waveblaster header, have a corresponding external device.  Here is a short table :

Internal Device Device Type External Device Equivalent
IBM Music Feature Sound Card Yamaha FB-01
Roland LAPC-I Sound Card Roland CM-32L
Roland SCC-1 Sound Card Roland SC-55
Roland SCB-7 Daughter Board Roland SC-7
Roland SCB-55 Daughter Board Roland SC-55mkII
Yamaha DB50XG Daughter Board Yamaha MU10XG
Yamaha SW60XG Sound Card Yamaha MU10XG
Korg Ai20 Daughter Board Korg AG-10

Some people make the distinction between a MIDI Synthesizer and a MIDI Sound Generator or Sound Module.  A user can use an MT-32 to create new instruments and is called a Synthesizer.  A device that can only modify existing instruments is often called a Sound Generator.

MIDI 1.0 and General MIDI

The original MIDI Specification, 1.0, defined the communications protocol and the commands to which MIDI devices must respond.  One of the most important commands is Program Change, whereby a MIDI Synthesizer can change one of the instruments it is using.  In one module, a Program Change 01 could indicate a Grand Piano, and in another synthesizer, 01 could be an electric guitar.  MIDI music would sound correct only on the module for which it was composed.  In PC Gaming, early games that supported MIDI gave the user a choice of devices which the game supported.  The only device to gain widespread acceptance at this time was the Roland MT-32.

Another important type of MIDI command is the System Exclusive message.  This message is only intended for a particular synthesizer or module, and is typically used to access the hardware of the module.  In the MT-32, new sounds are sent to the module's memory via System Exclusive messages.  A MT-32 compatible module like the CM-32L will also accept these messages, but a non MT-32 compatible device like the Yamaha DX-7 should ignore them.

In 1991, the MIDI Manufacturers Association agreed on a new standard called General MIDI.  General MIDI compatible synthesizers would share the same basic instrument map.  On a General MIDI compatible Synthesizer, a Program Change 01 command would always give a Piano regardless of the model or manufacturer of the Synthesizer.  There were also other basic specifications a device would have to meet, such as the number of simultaneous notes (polyphony) and being able to respond on MIDI Channels 1-16. The Roland SC-55 is probably the first MIDI Synthesizer to be General MIDI compatible, although it was released before the General MIDI standard was finalized.  The early revisions are unofficially General MIDI compatible and the later revisions are officially General MIDI compatible.  General MIDI does not displace the ability to use System Exclusive commands to get the best performance out of a MIDI module, but such tinkering was far less common after General MIDI became quickly accepted.

Further extensions to General MIDI, like Roland GS and Yamaha XG, were essentially company-specific standards that were not often used in games.  Most games did not usually go beyond the specifications of General MIDI.  An MT-32 could be made much more General MIDI compatible with a utility.  Typically a MIDI Synthesizer would respond to 128 Program Changes, giving you 128 instruments.  Roland and Yamaha's extensions gave you the ability to select instrument variations via 128 Control Change commands, thereby giving you a theoretical access to 16,384 instruments.  No MIDI Synthesizer of the day came close to that number.

MIDI Music

A great deal of MIDI Music is found in a Standard MIDI Format file, which has a .mid extension.  It contains all the information needed to play back a song, the commands, the notes, and the timestamps.  Eventually, game developers found this basic format too limiting, so they came up with extensions like XMI, EMIDI and many more.  SMF files can transmit data specific to modules like the MT-32 as well as data more accepted by any MIDI Synthesizer.  MIDI Music is usually composed with a MIDI Sequencer program like Cakewalk or Sequencer Plus Gold.

MIDI Music has got something of a bad reputation for sounding cheesy and unrealistic.  If you equate MIDI Music with FM Synthesis, then there may be some truth to the charge.  Most PC gamers used FM Synthesis in the early 90s because hardware MIDI devices were very expensive.  Also, not every MIDI device was made equally.  The Roland SC-55, despite having only 3MB for instrument and drum samples, (and only 2MB of that was typically used), usually sounds much better than the Creative Waveblaster, which had 4MB for samples, and can hold its own against the Yamaha XG MIDI Synthesizers, which came with 4MB or more for samples.  The SC-55's samples were well chosen and well balanced, making it the best overall option for PC games by developers and players.  When music that is composed for an MT-32 or SC-55 is ported to the FM Synthesis chip found Sound Blaster, the results are frequently unimpressive.

Any device that can respond to MIDI commands can play back MIDI Music.  Without a software driver, FM Synthesis chips like the OPL2 and OPL3 as found on the Adlib and Sound Blaster cards do not accept MIDI commands.  Nor does the EMU8000 found in the AWE32 and AWE64.  By contrast, the FM Synthesis chip found in the IBM Music Feature will respond to MIDI commands.  However, MIDI does not care what method the device uses for producing sound, whether PSG-style Synthesis, FM Synthesis, PCM Sample Playback or something in between.  In order for a non-MIDI device to respond to MIDI commands, a software interpreter or driver must be used.

Friday, July 24, 2015

NES Front Loader Maintenance

The NES-001 Control Deck, usually referred to as the Front Loader, Front Loading NES or simply the "toaster", is the epitome of a video game generation.  The console had, for the time, a very modern design.  There was no plastic woodgrain anywhere to be found, a design aesthetic that was was finally being phased out in the mid-1980s.  No chintsy metal plating, another dying design element.  Instead of brown and black it gave you light and dark gray to match the high-priced consumer electronics of the era, camcorders, tape decks, stereos, CD players and especially VCRs.  Unlike almost every console before it and since, the game cartridges were inserted horizontally and were covered by the dust lid.  The console was called the Nintendo Entertainment System, not a "video computer system", not a "video game system".  The console was officially called the Control Deck and the cartridges Game Paks in order to further appeal to the more affluent buyer and avoid the nomenclature associated with the failed consoles of the past. The controllers had four buttons instead of the silly number pads, fit well in the hand and were extremely responsive compared to the joystick and silly disc models of the previous generation.

Because the console was front loading, the controller cables had long wires and connected in the front of the system, it could fit conveniently on a middle shelf of the TV stand or in a compartment of entertainment furniture.  Moreover, it was highly convenient that the RF switch was autoswitching, you did not have to fiddle with the TV/Game switch to turn the NES on and off.  Finally, for buyers with nice TVs, the NES came with RCA output jacks for video and audio output.  AV jacks were pretty much introduced with VCRs in home consumer electronic equipment and the NES tried to look like and function like a VCR, which were front loading.

I do not believe it can be known how much these features helped earn the NES sales.  I am rather inclined to believe that the quality of the games like Super Mario Bros. did far more to persuade customers to buy a NES than its modern design.  Nintendo produced millions upon millions of the NES-001 from 1985-1993.  Of the 34 million consoles sold, at least 33 million were of the NES-001.  I would suggest that only a million of the NES-101 Top Loading model were sold.  The front loader is much cheaper than the top loader, far more common and does not require any kind of modding to obtain decent video quality.

Many people tend to avoid the front loader because of the cartridge connector.  The cartridge connector uses a spring and latch mechanism to get the cartridge pins to make contact with both sides of the cartridge connector.  This was the front loader's only major design flaw, but with some careful maintenance, it should be remediable without having to use cheap 3rd party replacements.  3rd party replacement connectors, with the exception of the Blinking Light Win, may get games to work they typically have a Grip of Death and wear out very quickly.  The official connector has a near-zero insertion force mechanism and will not place unnecessary wear on your Game Pak connectors.

In order to keep your Front Loading NES in top shape, here is a list of things to do :

1.  Clean both ends of the cartridge connector

2.  Clean all cartridges

3.  Clean the card edge from the NES motherboard that connects to the cartridge connector

When you clean contacts, use a minimum of 91% isopropyl alcohol.  99% is even better, and you can find it at electronics stores. The 70% stuff contains 30% water, and you do not want to use water on your electronics unless absolutely necessary.  Use a Q-Tip and have one side wet and one side dry and scrub those connectors until you see no more black on the Q-Tip.  You can also use a pink rubber eraser, but I have rarely found a cartridge that would not yield to alcohol.

Water is OK when you are trying to clean a dirty board, but that is about it.  Never use water unless you have the ability to dry it off quickly with a heating element.  Nintendo did no one any favors when they told people to use water for the official NES cleaning kit.  You can also use Deoxit or a similar electronics contact cleaner for tough cases, but alcohol is cheaper and usually does the job.

NES-specific cleaning kits can be hard to find.  For the cartridge connector, it is hard to get to it without a cleaning kit.  What I recommend is removing the top cover of the NES and the top RF shielding and the metal bar across the cartridge loading tray.  Then use a credit card wrapped around on one edge with printer paper, wet the paper with alcohol and insert it into the cartridge connector.  A few little wiggling and bending the pins slightly and remove it.  You should see some dirt on the paper.  Use a dry piece of paper as well.  Keep going across the pin connector until the paper comes out clean.  Obviously do not use an important card.

4.  Clean your NES interior

Compressed air and alcohol Q-tips usually work well here.  You may need some running water for the plastic shells, just be careful around the paper-backed labels if you care to preserve them.

5.  Make sure the cartridge tray is firmly screwed in

A lot of use may cause the cartridge tray screws to loosen.  This can cause a lack of good contact with the upper pins of the cartridge connector.  They should be firmly screwed in so the plastic of the cartridge tray is in contact with the PCB and the spring and latch mechanism works.

If you remove your cartridge tray and try to replace it, you may see a gap between the plastic and the PCB.  This means that the cartridge tray has not been inserted correctly.  There is a lip on the bottom of the front of the cartridge tray that cannot be resting on the PCB.  This prevents the spring and latch from working correctly if you try to screw the tray in all the way.  It warps the cartridge tray.  It also makes the top shell of the Control Deck not have a proper fit.  Wiggle it about and shift the PCB a little until you get a proper fit.  The front black plastic of the cartridge tray must sit naturally on the PCB

6.  Make sure the cartridge tray is in the up position when you turn off your NES

This saves wear on the spring and latch mechanism and gives your cartridge connector pins a chance to relax.

7.  Use Electronics Contact Cleaner on AC Adapter and Controller Ports

If these ports look a little rusty and are not giving reliable contact, spray some electronics contact cleaner to try to remove some of the rust.

Things to avoid :

There are two things that are commonly done which I do not recommend doing.  First is to disable the lockout chip.

The lockout chip only takes 4 of the 72 pins of the connector, so if you are getting the blinking light regularly, it is usually a symptom that the cartridge connector is not working very well.  If you are getting a solid color on your screen, and you usually will, that indicates that other pins on the connector are not receiving a good connection or any at all.  If there is no blinking, only a solid color screen, then the lockout chip is not the problem.  Only if you consistently are seeing the game's title screen reset should you consider disabling it.

Disabling the lockout chip solely by cutting pin 4 and leaving it floating may cause the chip to fail prematurely.  When that happens, your system will not work.  Finally, rare games like the NES World Championships 1990 cartridge hardware require a fully functional lockout chip in the console to work.  If you must disable it, try pulling the pin out instead of snipping it off.  Then solder the pin to ground on pin 8.

Second, do not try to bend pins unless absolutely necessary.  The cartridge connector gives you very little room to work with and you can easily misalign the pins.  When this happens, they will bend and not bend back properly.  If you bend the bottom set up too much, you will experience a Grip of Death common to cheap replacement connectors.  Also, the top set of pins are deeply recessed and getting to them will be difficult.

As far as boiling the cartridge connector goes, my connector is very reliable so I never had to try that extreme method.  I believe this method does nothing good for the long term reliability of the connector.  Plastics and metals do not like extremes of heat, metal tends to rust with water and the heating and cooling can cause warping.  Only a small section of the cartridge connector pin will make contact with the cartridge pin, so I would focus on that area with a cleaning kit or the credit card solution mentioned above.

Wednesday, July 15, 2015

The Nintendo Family Computer/Famicom - The NES before there was a NES

Which one of these systems is playing the game?  Bonus if anyone notes the oddity regarding the game shown.
The Nintendo Family Computer, released in 1983, was the console which kick started console gaming in Japan and revitalized console gaming in the US as the Nintendo Entertainment System.  The Famicom had 1,056 licensed cartridge games released for it.  The system was directly supported for over eleven years with games.

The original console, of which Nintendo sold millions and millions, gets shortchanged these days.  People seek Famicom AV's for their detachable controllers, video quality and relative age.  People want top loaders because their cartridge slot is more reliable than a front loader.   Interest in front loaders is present due to the prices of the other systems and the easy obtainability of cartridge connectors.

Design decisions

The original hardware developers included items like the eject lever and the microphone, even though they were not strictly necessary.  A great deal of force is not required to remove cartridges from the slot.  The eject button made its way to the Super Famicom and the SNES, and it was equally unnecessary there as well.  The eject mechanism also makes it a bit cramped for modding purposes.

The microphone was intended as a novelty feature.  Using the microphone, you can hear a distorted version of your voice from your TV speakers.  However, it would later be used in games, mostly in a non-essential way.  Gaining the microphone meant losing the start and select buttons on controller II, so no Japanese game is likely to respond to Famicom AV's controller 2 start and select button input.  The Famicom AV was released in 1994 just as companies were no longer making games for the Famicom.  The holder of controller I has all the game select and game start/pause authority when playing games.

The color scheme of the Famicom, red and white, was intended to make the system look attractive to children.  Nintendo gave the controllers a touch of class with their metal face plates.  Those face plates did not hold up well over time against sweaty Japanese thumbs.  They have a tendency to show tarnish and wear unlike NES controllers.  The white plastic will become discolored by exposure to UV light.  Retrobright may be useful to restore the original color, but the stickers and decals may suffer from being submerged in oxyclean and peroxide.  My Famicom has been severely discolored from UV exposure, but the resulting color is something like a burnt orange and rather appealing.  The SNES is far worse.



Like the face plates, making the controllers hard wired and routing the cables through the rear of the console is another design decision straight from the 1970s.  Consoles released in the 1970s connected their controllers in the back and were frequently hard wired.  The idea was to reduce cable clutter and eliminate those "I can't find my controller" moments.  Because the controller cables were so short, instead of having the controller cables across the living room, the whole Famicom had to be pulled away from the TV, leaving the power and RF cables visible and frequently strewn across the room.  The NES introduced detachable controller ports located on the front of the console and every subsequent console since then has followed.

The controller cables were short because Japan is far more urbanized than the US.  Japanese gamers were accustomed to living, on average, in more confined circumstances than their US counterparts, so Nintendo believed they did not need to make long cables.  Even the Famicom AV controller cables are about half the length of the US version of the controller.  The NES revised controllers (dog bone) have a cable length of 93.25", and the regular NES controller has a length about 2" shorter.  The Famicom controllers have a cable length of just 29.25", and you loose 8.25" if you account for the width of the Famicom because the controllers come out of the back of the console.

The Famicom does not have a power LED, when you flip the power switch on, there is a little orange sticker that appears, showing you that the console is on.  Thankfully the power switch is not spring/latch operated like on the NES.  The reset button does not protrude above the enclosure, making it less likely that someone will press it accidentally than the NES's button.


The dust flap is unconnected to the eject mechanism and has no springs, so it has a cheap feeling.  It is just a piece of plastic that swings 180 degrees.  The NES's lid has a little tension in it, making it appear less cheap.  The Famicom Disk System RAM Adapter sits completely flush on the Famicom, whereas it has a slight overhang on the Famicom AV.  Even so, the Famicom is not that much larger than the Famicom AV.

The Famicom and the Famicom AV use the same power adapter, 10VDC, 850mA, center-tip negative.  Sega Master System and Sega Genesis Model 1 Power Adapters work perfectly and are easier to find in the US than Nintendo Famicom power adapters.

Inside the Famicom

Unlike every other iteration of Nintendo's 8-bit hardware, the Famicom's PCB is screwed into the top half of the shell, not the bottom half.  However, like the NES, the chip side of the PCBs face the ground.  All screws are Phillips head screws.

All Famicoms come with two PCBs, but the earlier Famicoms connect their PCBs solely by a ribbon cable. The smaller PCB houses the power conversion circuitry and the RF unit.  The larger PCB has the CPU, PPU and the rest of the chips needed to function.  The later VCI Famicoms have the smaller PCB sturdily connected to the larger PCB because the metal RF shielding on the smaller board is soldered to the larger board.  The larger PCB has the expansion port and a pair of headers for the controllers to plug into.

Hardware wise, there are roughly three generations of Famicoms.  First come the square button Famicoms.  These have rubbery square buttons on their controllers, smooth bottoms and are the least reliable of all the Famicoms.  Some may have survived the 1983 recall.  They also tend to have early and buggy revisions of the CPU and PPU.  They are pretty much museum pieces.

Next come the round button Famicoms.  They have solid CPU and PPU revisions and round plastic buttons on their controllers.  The bottom half of the case shell has a rough matted surface.  If treated properly, these will run well, but the video output is noisy and will show jailbars even without an AV mod once you know what to look for.

Sample video quality (does not capture the jailbars well)
Finally come the VCI Famicoms.  They have more robust RF shields, a metal shield fitted over the cartridge connector and more filtering capacitors.  They also have the power switch connected to the main PCB instead of the RF PCB as found on the non-VCI Famicoms.  VCI Famicoms can be distinguished from non-VCI Famicoms by the labels on the bottom of the case.

The Famicom has a comparatively minimalist design compared to the NES' PCB.  The NES PCB has an expansion slot which was never used, separately mounted power and reset buttons, separately mounted controller ports, a U-shaped cartridge connector, internal RF shielding for the top and bottom of the PCB, a tray-loading mechanism and extra circuitry for the lockout chip.

My Famicom works fine with the Everdrive N8 Famicom Edition.  The Everdrive is a bit of a tight fit inside the cartridge slot.  Square-button vintage Famicoms may have trouble with these devices. The NES PowerPak and NES game cartridges work with an adapter, I recommend this one :


Early CPU and PPU Revsisions

My Famicom is a round button non-VCI version, and it uses 2A03E and 2C02E chips, just like the first NES consoles. Its PCB is marked with HVC-CPU-07. The rev E CPU and PPU chips appear to be used in many of these non-VCI Famicoms, but I have seen revision A, B and D PPUs and revisionless CPUs.  The revision G chips appear to be the most common of all the CPU/PPU revisions Nintendo used in its products, but I have only seen them in VCI Famicoms.

Revisionless 2A03 CPU will be found mainly in square button Famicoms, but there are some later square button Famicoms with 2A03E CPUs.  The revisionless 2A03 lacks the short-period noise feature of the 2A03E and its successors.  Short period noise has a very metallic sound can be heard in Fire Man's stage in Mega Man 1 and Quick Man's stage in Mega Man 2.  Without short noise period the noise will sound like more typical white noise.  the It can also be heard at the end of the game over tune in Balloon Fight, but this may be unintentional.

The 2C02E and its predecessors lack the ability to read sprite data through a particular register.  Micro Machines uses this reading function to position graphics on the title screen and menu screens.  As a result, these graphics will look glitchy on a Famicom or a NES with a 2A03E or lower PPU revision.  This added ability was rather obscure and the timing was touchy.  There are no known instances of other games, licensed or unlicensed, using it in such a way as to cause noticeable visual differences as with Micro Machines.

The RF Output

The Famicom uses RF only-output, and it can be something of a pain to get working with US TVs.  The design of the RF unit is somewhat in between an Atari 2600 and a NES.  All three have the RF signal generating circuitry inside their respective consoles.  The Atari uses a TV/Game switchbox with a large sliding switch to select the game's signal or the antenna/cable signal.  The Famicom has the TV/Game switch integrated into the internal RF unit and has the physical switch on the rear of the console.  The NES has an automatic switch box where turning the console on acts as the TV/Game switch.

Options, options...
The Famicom did come with an external RF adapter.  This RF adapter is very, very odd by US standards because it requires you to strip cables to connect to the proper adapter.  Let me try to describe its operation.  The box has three screw terminals, one thin wire with the RCA plug and one thick wire with no plug.  The thin wire with the RCA cable, underneath the RF switch label in the photo above, goes to the Famicom.  That is the easy bit.  The thick wire is a 75 ohm coaxial cable which goes to the TV.  Some Japanese TVs will accept a bare cable, shown as #3.  In this situation, the ground wire mesh is held in place by a metal clamp and the thick signal wire is wrapped around one of the VHF terminals like a speaker wire.

If you do not have this kind of setup, something may have to go on the other end.  Owners could be expected to strip wire, something that would be intolerable today.  You can use a straight through F-type twist on connector, shown as #4.  Nintendo advised using a right-angle box that will fit the bare wire, shown as #1.  If your TV had only the 300-ohm split lead antennal terminals, then you would have to attach a 75-300 ohm converter, shown as #2.  Nintendo used to include ones in the Famicom's box where you could just snap the wire in.

Finally, the Famicom RF box required the same thing if you wanted to route an antenna or cable signal through it.  The two side-by-side terminals were for the 300-ohm split antenna leads.  The third screw terminal was to hold a 75 ohm cable in place and provide a connection for the ground mesh, and the signal wire wrapped around one of the two side-by-side screw terminals.  If your TV had 75 ohm inputs, all you had to do was to remove any connector from the cable wire and screw it as shown on the label.  Later Japanese Nintendo devices used the same RF switchboxes as the NES, making life a heck of a lot easier for many people.

The Famicom can use Japanese TV channels 1 and 2. Japanese Channel 1 uses the FM band in the 90-96MHz range, and channel 2 uses 96-102MHz.  In the US, the 87.9MHz-107.9MHz band was allocated for FM radio.  Later, cable channels 95 and 96 were allocated the frequencies used by Japanese channels 1 and 2.  In fact, the audio from the Famicom's RF unit can be heard in theory if you set your radio to 95.7 or 101.7 and touch the radio's antenna with an RCA cable from the Famicom's RF unit.

You can use Nintendo RF switchboxes with a Famicom.  However today it is easier just to use a thick RCA cable and a coaxial adapter, like an Atari 2600, unless for some reason you want to daisy-chain devices to the coaxial input on your TV.  I had little difficulty in setting my two CRTs to channel 95 or 96, but you may have to manually add those channels.  Keep your remote and TV manual handy.  I found that channel 95 was fuzzy on my TV while channel 96 was sharp, so I use channel 96.

US game consoles would often allow players to choose between channel 2, 54-60MHz, channel 3, 60-66MHz or channel 4, 66-72MHz.  A choice was almost always given because the user's area would often broadcast one channel more strongly than the other, giving for less interference with the weaker broadcast signal.  If your FM radio stations are particularly strong at the 95.7 and 101.7 frequencies, your picture quality may suffer.  However, where I live there is no strong 95.7 radio station but the 101.7 radio station is very clear.  This is counter-intuitive, but on Channel 1 (which overlaps the 95.7 signal) the video is fuzzy but on Channel 2 the video is much sharper.  There are more interference patterns on the Famicom RF than the NES RF, otherwise the video quality appears pretty close.

Tuesday, July 14, 2015

Castlevania II and Metroid - Best Ending Advice

Castlevania II and Metroid were two of the few NES/Famicom games that use the time the player takes to beat the game to determine the ending.  The better the time, the better the ending.  Getting the best ending in both games is something of a challenge, but in this blog post I would like to share some tips and general guides so you can save time as you try to get the best endings for these games.

Castlevania II: Simon's Quest/Dracula II : Noroi no FÅ«in

As the second game in the Castlevania series for the NES/Famicom, CV2 sticks out for a couple of reasons.  First, its gameplay is non-linear, unlike its predecessor.  Second, there are RPG elements like acquiring hearts to buy items and level up by killing enemies.  Third, there is a total absence of difficult bosses and the lethal areas other entries in the series were known for.  Fourth, death in this game is merely an inconvenience and at times it may be advisable to lose all your lives.  As a result, CV2 is not quite the heralded classic as its bookend games, but it was popular in its time and has a strong legacy as the precursor to the Metroidvania-style of gameplay later firmly established in Castlevania: Symphony of the Night.

If you approach CV2's challenge as acquiring the best ending, things become much more challenging.  In order to obtain the best ending, you must beat the game in seven days or less.  You start the game at 12:00 (noon) on day 1.  CV2 uses 24-hour time notation.  Mornings begin at 06:00 and evenings begin at 18:00, each time period lasting for twelve hours.  When you restart a game, you start at 12:00 on the day were you last left off, regardless of the actual time left in the day when you ended your game.  

Each second of real time equals four minutes of in-game time.  Each day will take six minutes.  The in-game clock does not run when you are inside a town building, have brought up the menu screen or inside a mansion or castle.  During the morning, monsters take fewer hits to kill and typically yield small hearts and sometimes half hearts.  During the evening, monsters usually take double the hits to kill and yield half hearts and sometimes full hearts.  Also during the evening, zombies are present on the town streets, the town buildings cannot be entered and the townspeople are not present.  

When you start the game, you have three lives.  You can lose a life by losing all your health or by drowning in water.  Once you lose all three of your lives, you will go to a game over screen.  Here you will have the option to Continue or to Save Game/Reveal Password.  If you continue then, you will return to the area in which you died but without all your hearts or accumulated experience.  Existing levels earned will be kept.  If you decided to continue using a saved game or password save, in addition to the above you will start back at the first town, Jova.  You will always keep the items you have found, including the consumables : laurels, garlic and the stake.  

In order to shave time off your game, you should avoid the obvious.  Do not talk to townspeople outside unless you have to.  Fall off ledges instead of using stairs when the area below is known to be safe.  Avoid fighting monsters when you don't need to and don't chase after them.  Use maps to find the most direct routes to where you want to go.  Pause the game by bringing up the submenu.  Avoid backtracking when possible.  Unlike Metroid, it is easy to avoid a lot of backtracking in this game.

In the Famicom Disk System version, once you beat the game you can continue where you left off with all the items you had acquired.  So it is easy to get all items in the second game.  However, you pay for it with frequent loads (every town and mansion) and disk flipping toward the end of the of the game.

Here is the basic efficient path through the game :

Town of Jova
White Crystal
Holy Water
Thorn Whip

Berkeley Mansion
Dracula's Rib

Town of Veros
Chain Whip

Dabi's Path
Sacred Flame (optional)

Town of Aljiba
Blue Crystal

Rover Mansion
Dracula's Heart

Braham Mansion
Golden Knife
Dracula's Eyeball

Town of Aldora
Red Crystal

Town of Oldon
Morning Star

Uta Lower Road
Flame Whip (only if you purchased a Morning Star)

Bodley Mansion
Dracula's Nail

Laruba Mansion
Magic Cross
Dracula's Ring

Town of Doina

Town of Yomi

Castlevania

In the above list, all whip upgrades are quite optional.  However, enemies take more hits with the regular leather whip than with the stronger whips, and eventually the game gets quite tedious.  However, if you forgo the whip upgrades, you will not have to accumulate hearts beyond those required to purchase the holy water.

When you begin the game, immediately buy the White Crystal.  Unfortunately, it will almost certainly be night time on Day 1 before you can earn 50 hearts to buy the Holy Water.  While it may be tempting to fight the Mermen on the South Bridge, stay in Jova Woods until nightfall.  You do not want to risk precious lives by getting hit and falling into the water.  Then go to the Town of Jova and fight zombies on the top floor for hearts.  If you stay just above the platform where the White Crystal merchant walks, you can get zombies to come at you from left and right by moving a little to the left, then a little to the right.  Zombies can be killed in two hits and often leave half hearts.  Between Jova Woods and the Town of Jova, you should be able to earn 150 hearts for the Holy Water and Thorn Whip.

If you are pushing closer to 200 hearts, then bypass the Thorn Whip and head to Veros to buy the Chain Whip.  You should have earned enough hearts on the way there.  Alternatively, if you are a little more shy of 200 and want to save up for the Chain Whip, head to Berkeley Mansion.  Either way, if you go for the Chain Whip, there will be a little backtracking.

Every time you enter a Mansion, the in-game time stops completely.  You can stay in the Mansion and earn hearts as long as you wish.  However, you will not continue to earn experience after a certain point if you stay in one area.

On the way to the Town of Aljiba and Rover Mansion, you can easily get the Sacred Flame from Dabi's Path without having to waste much time.

When you get to Rover Mansion, you may have a difficult choice, depending on how many times you died.  If you have a lot of hearts, you may want to brave the long journey to the Town of Oldol for the Morning Star.  If you do not, then die and save the game and get a password.  When your game is restored, you will be at the Town of Jova again, much closer to the Ferryman.  If you save and restore, then farm hearts in Braham Mansion in order to get the Morning Star.

When you arrive at Bodley Mansion, if you have the Morning Star you should get the Flame Whip before tackling the Mansion.  Although this involves a small amount of backtracking, it is worth it.

Items I recommend avoiding are the Knife, which costs 50 hearts in the Town of Veros, the Silver Knife, which is given if you drop garlic (costs 50 hearts) in Carmilla Cemetery, the Diamond in the Jam Wasteland (requires going to a dead end past Braham Mansion), and the Silk Bag in the Storigoi Graveyard (requires going to a dead end past the Town of Aldora and using garlic).

One spot that can give players a bit of concern are the marshes.  You have to cross Belasco Marsh to get from the Town of Jova to the Ferryman.  Youl also have to cross Joma Marsh to get to Laruba Mansion.  If your level is not around 2, then you should invest in some laurels for these crossings.  You can find laurels to purchase for 50 hearts (quantity 2) in every town except Jova, Veros and Yomi.  A guy in Laurba Mansion will also give you laurels for free.  If hearts are not meaningful, just wade through quickly.

Towns with churches are Jova, Veros, Aldora and Doina.  Churches and leveling up are the only ways to restore your life, but the churches in Jova and Aldora are on the top floor, making them time consuming to get to.

Defeat Death and Carmilla with a whip and Dracula with the Golden Knife.  If you are quick, you can kill Dracula with the knife before he has a chance to attack.  Alternately, the Sacred Flame will stun Dracula.

Metroid

Metroid needs no introduction.  It is one of the first known platformers to encourage exploration.  It is also one of the first non-linear NES games.  Its item acquiring, corridor and shaft structure and isolating experience has made it legendary.

In order to get the best ending in Metroid, you must beat the game in under one hour.  In order to get Armorless Samus, you must beat the game in under three hours.  Otherwise after you get an ending you will restart as Armored Samus.  After the ending you can play a new game with all the powerups you have accumulated except for Energy Tanks and Missile Containers.  If you cannot get under an hour on your first game, you should be able to on your second.

Metroid saves the number of energy tanks you have, your current number of missiles, you maximum number of missiles, and which powerups and beam weapons you have acquired.  It also saves the destruction of each missile door and each Zeebite destroyed in Mother Brain's chamber.  It will save when the mini-bosses Kraid and Ridley are defeated.  Finally, it saves the amount of time you have spent in the game.  Shaving time off that last value is what this guide is all about.

Unfortunately, the one thing Metroid does not save is the current amount of health you have.  It also starts you off with only 30 life, even if you have six energy tanks.  You can die easily early in the game if you are not cautious and do not grab energy balls, but getting your energy up this way is time consuming.  However, once you acquire a few items it gets much easier to survive.

Time passes in Metroid whenever you can control your character.  This does not include when you pause the game, collect a special item, energy tank or missile container, go through a door or up or down an elevator.

Basic Path

Brinstar
Maru Mari
Missile Container (near Norfair elevator)
Long Beam
Energy Tank (near Bomb)
Bomb
Ice Beam
Varia
Missile Tank (near Varia)
Energy Tank (near Varia)

Norfair
Missile Container (right door at the end of the shaft with the elevator to Brinstar)
Missile Container (right door at the end of the shaft with the elevator to Brinstar)
Missile Container (near Ice Beam)
Missile Container (near Ice Beam)
Missile Container (near Ice Beam)
Missile Container (near Ice Beam)
Missile Container (near Ice Beam)
High Jump
Screw Attack

Mini-Boss Hideout II
Missile Container (above door in corridor to the right of the shaft with the elevator to Norfair)
Energy Container (watch out for the trap)
Missile Tank (a hard jump, optional)
Ridley
Energy Tank (the 10-missile door beyond Ridley's room)

Mini-Boss Hideout I
Energy Tank (2nd door on the left of the shaft with the elevator leading to Brinstar)
Missile Container (1st door on the left of the shaft with the elevator leading to Brinstar)
Missile Container (1st door on the right of the shaft with the elevator leading to Brinstar)
Missile Container (near Fake Kraid)
Kraid
Energy Tank (in Kraid's room)
Missile Container (door on the left of the shaft that leads up from Kraid's room)

Tourian
Mother Brain

In this basic guide, you will have the maximum of six Energy Tanks.  You should have a maximum missile capacity of 220-225 Missiles (game max is 255).  You won't obtain the Wave Beam or the missiles in the green bubble area of Norfair and the tank at the very bottom of Hideout II.  They are just too time consuming to acquire.  You should have more than enough missiles for Mother Brain and her Zeebites, and the Metroids in Tourian respawn to give you more.

The most difficult part of this path is getting the Varia.  When you get to the green corridors, you have to freeze the Waver in the small corridor just under the door to the Varia.  You must shoot the blocks to get the Waver to fly up the screen and clear all the blocks.  You freeze the Waver when he is at the fifth block.  With the cartridge version, the Waver's patterns are less random, making this easier.  In fact, if you approach the corridor from the left door, you should be able to make the Waver go up the blocks when he comes back to the right for the first time.  When the blocks reform and he unfreezes, he should fly to the open area above.  Then you have to make sure it stays up there and alive so you can freeze it to use as a platform to get to the Varia door.  Both of these tasks can take a decent amount of time, depending on luck and skill.

When you defeat Ridley and get the Energy Tank, you should go to the continue/password or continue/save screen by pressing Up and A on the second controller when the game is paused.  This will take you back to the starting point in Brinstar if you are playing the FDS version.  If you are playing the cartridge version, you will need to do it to get you to the Hideout II elevator, go up the elevator, do it again, go up the Norfair elevator to Brinstar, then do it a third time.  You will then be back at the Brinstar starting point.  From there you can go to Hideout I and get the Energy Tank on the second door to the right in the shaft where the elevator is located.  From there, beat Kraid and then go to Tourian.

In Tourian Metroids give you 30 missiles instead of the 2 that other enemies give, so you can replenish your stock.  If you are a bit low on life, their energy balls give 30 life instead of the 5 or 20 that other enemies give.  Metroids always give a life ball or a missile.

In the original version of Metroid for the Famicom Disk System, the endings are a bit different.  You get the best ending if you beat the game in two hours or less (instead of one).  There is no Armorless Samus in the game and you do not start a new game with any previously acquired powerups.  All you get is a stack of moneybags next to your character on the character select screen showing you the quality of the ending you previously achieved.  Because there are five endings, you get five moneybags for the best ending, four for the next best, and so on.  

Friday, July 10, 2015

The FDSStick, a Compact Solution for all your Famicom Disk System Needs

The Famicom Disk System just was not a very reliable piece of hardware.  Between bit rot on the disks and drive belts that wear out quickly, today it is an error prone beast.  However, most of the work is done in the FDS RAM Adapter, the black box that fits into into the Famicom's cartridge slot.  Many Disk System enthusiasts, myself included, have long sought a method to use their FDS RAM Adapter without having to deal with the dodgy disks and flaky drives.  Since 2004, the only solution has been an FDSLoadr cable or find an incredibly rare copying device from back in the day.  The cable connects to a PC parallel port and the software is DOS only.  While it can read and write to disks or use the PC as the drive emulator, it is really speed sensitive and the cable is not easy to make because of the FDS connector.

Old FDSStick vs New FDSStick (with a penny for scale)
Many people have dreamed of a more convenient solution, so a NESDev forum regular named loopy stepped up in 2015 and designed a USB-based device that would allow you read and write disk images solid state media and let the FDS RAM Adapter or Twin Famicom read it like a regular disk.  He has called the product the FDSStick and has offered it for sale.  The price is ridiculously cheap for folks in the USA, a mere $11.99 plus $2.60 for shipping.  You can buy it here : 

http://3dscapture.com/fdsstick/

International customers order from TotoTek for $14.99 plus shipping here :

http://www.tototek.com/store/index.php?main_page=product_info&products_id=196

The FDSStick is about the size of a USB thumb drive, just a little thicker.  The first enclosures had a smooth rough matted finish.  This was my first experience with a 3-D printed object.  The enclosure does what it needs to, but if it represents the state of plastic construction, we have a long way to go before we abandon plastic injection molds and CNC machines.  The enclosure tends to pick up dirt and, like most 3-D printed objects, is not especially strong.  Not too long after the first batches, loopy switched to using injection molded cases, so the quality has been greatly improved and the finish is smooth.

The FDSStick has a USB plug on one end and a 12-pin cartridge edge on the other end which the FDS RAM Adapter cable plugs into.  The FDSStick is unusual for a device that interfaces with vintage computing equipment because it is completely hot swappable.  The USB end obviously has no issues with being inserted into a live computer or hub.  The FDS end can be inserted onto the end of the FDS RAM Adapter's cable when the Famicom is turned on.  The RAM Adapter cable was designed to plug into the Disk Drive when both the drive was plugged into a wall socket or running off batteries and the FDS RAM Adapter was plugged into a Famicom that is turned on.



Installing the FDSStick, Loading Games onto the FDSStick and Saving Games from the FDSStick

The FDSStick is easy to install and use.  First, you insert it into a spare USB port or hub (which does not need to be powered). The FDSStick will load its drivers automatically. I did not need to be in Test Mode to load the driver, apparently loopy has Windows Driver Signing privileges.  Click “Run Anyway” when Windows says it does not recognize the program.

There is a graphical user interface (GUI) program, FDSStick.exe to transfer disk images to and from the FDSStick.  You can download them it from http://3dscapture.com/fdsstick/  The program will automatically detect when the FDSStick is plugged into a USB port attached to the computer. The program is not particularly useful without the FDSStick, the GUI program will not load when FDSStick is not plugged into the computer.  As downloaded, the file name of the program will include the date of release.


FDSStick.exe allows you to load .fds images onto the FDSStick and save images from the FDSStick in .fds format.  It will also run images in the Game Doctor format, but unless you have a Game Doctor device, you probably will never encounter a Game Doctor image.  Running the GUI program with the FDSStick plugged in will update the firmware, which I highly recommend to everyone because the new firmware can add features and fix bugs.

The oldest version of FDSStick had 4 Megabits of rewriteable memory and can hold up to 8 disk sides on its flash memory at a time.  The second version FDSStick has 16 Megabits of rewriteable memory and can hold 32 disk sides on its flash memory at a time.  The third version of FDSStick has 128 Megabits of rewriteable memory and can hold 255 disk sides on its flash memory at a time.  The fourth version of FDSStick has 256 Megabits of rewritable memory and can hold 512 disk sides on its flash memory at a time.

If each game you want to load is only one-sided, you can load 512 games onto the current FDSStick. There are only 199 licensed FDS games, however some games have multiple versions.  There were many unlicensed games released for the FDS by companies like Hacker International.  However, if your games are two-sided, then you will be able to load no more than 256 games.  Only six four sided games were ever released.  You can mix and match games using different numbers of sides so long as the total number of disk sides does not go above the maximum number of disk sides supported by the version of FDSStick you have.

The program has a meter that will show how full the FDSStick will be when you write your images to the device.  When you have finished making your choices, click on write and it will quickly write the images to the FDSStick.  It will take less than a minute to write the maximum number of disk sides to the FDSStick. Saving the existing games to your PC can be done in the same tab, using the file name you used when you originally loaded the game.  You can also remove individual games from the FDSStick using the GUI without erasing the whole of the rewriteable memory.

The program can also load games stored on your PC with the PC Emu tab.  This is useful if you have an FDSStick with a small amount of rewritable memory, but the price for the most recent version is so reasonable that it is well worth an upgrade double dip.  You must connect your FDSStick to your PC using a USB cable extender to allow this to work.

Using the FDSStick with the FDS RAM Adapter and the Twin Famicom

When you insert your FDS RAM Adapter into your Famicom and turn the system on, you will see the Nintendo logo (or FAMICOM if you are using a Twin Famicom) with the Please Set Disk Card text. You can insert your FDSStick into the FDS RAM Adapter cable before or after you turn the system on. A menu will appear on the screen and you can select the game using your controller, just like with a PowerPak or EverDrive N8.  Unlike those flash carts, the FDSStick does not support subdirectories.  You may want to trim down the file names to no more than 28 characters so that the game's name will fit on the menu screen. Spaces count, but the extension does not.

FDSStick Game Menu 
Game images need the FDS file format 16-byte header to work with the FDSStick's internal storage.  When you load single-sided disk images, they must be exactly 65,516 bytes large.  Double-sided disk images must be 131,016 bytes large.  You may need to add one with a hex editor (if you are using the no-intro set).  The crucial thing the header tells the FDSStick is how many sides the game has.  Only byte 04 differs in any FDS header, it is either 01 for single sided disk games, 02 for double sided disk games and 04 for four sided disk games.

After the game loads, it may ask you to change disk sides.  If it asks you to change to side A, you always press the button once.  If it asks you to change to side B, you always press the button twice.  If you want to select a new game, turn the power off on the console and back on to return to the FDS menu.

It is much easier than it used to be for sure!  In the oldest firmwares, there was no menu on the FDS "Please Set Disk Card" screen.  You had to know the order in which the game was written to the FDSStick.  When the FDSStick was first released, you had to know which of the eight slots the disk image's side A was in.  Prior to the firmware update, you also had to remember the slot in which the game's side A and B were located.  You also had to use a Command Line Interface if you wanted to write more than one game to the FDSStick.  Now it is incredibly intuitive to use the FDSStick.  Don't get started on the dark ages of the pre-FDSStick era.

The Twin Famicom does not have a RAM Adapter or a cable to connect to the FDSStick.  This is not surprising because the whole point of the Twin Famicom was to combine the Famicom and Famicom Disk System in an all-in-one unit.  However. the Twin Famicom has a port on its underside that has the signals the FDSStick needs.  For an extra $4, you can buy an adapter for the Twin Famicom that will easily interface with this port, but you will need a cable from an FDS RAM Adapter or find a Nintendo Multi-Out connector with connections for 11 of the 12 pins.  See http://3dscapture.com/fdsstick/ for more details.

Reading and Writing Real Disks

The FDSStick can copy to or from FDS Disks using the FDS Drive using the Disk tab of the program.  However, there are two difficulties with putting disk images onto real disks.  First, the drive must not be protected or the protection must be bypassed.  FDS Drive protections are covered here :

http://famicomworld.com/workshop/tech/fds-power-board-modifications/

http://famicomworld.com/workshop/tech/famicom-disk-system-fd3206-write-mod/

Second, you will need to make a coupling cable or start soldering wires.  Both the disk drive and the FDSStick use a male end, so you will need a cable with female to female connectors.  You can do this if you had two spare FDS RAM Adapters to cannibalize, you can use a pair of Nintendo Multi-out cables or you can solder wires directly from the exposed Disk Drive Power Board PCB to the test points on the FDSStick PCB.  I would suggest the second option using cheap third party connectors.  You will need to cut, file or grind down the bump that keeps the cable going in the right side up in Multi-Out sockets.  I would suggest a dremel for this purpose or a file.

After you have a good fit, look here for instructions on how to solder the wires : http://3dscapture.com/fdsstick/

Once you have your cable, insert your disk into the drive, power up the drive, and connect your coupling cable to the drive and the FDSStick.  Connect the USB end to your PC and use fdsstick.exe to read from a disk or to write to a disk.  It will save the image in the FDS format, but unlike the images found in the TOSEC and No-Intro sets, it will preserve the 16-bit CRC bytes for each file on the image. Emulators had no use for the CRC bytes.  It should also preserve the exact number of Gap bytes between each file and before the beginning of the disk.  The exact number of Gap bytes is indicated by a terminating bit, which is not needed by emulation.  There may be some copy protected games that require this sort of information, but I am not aware of any.

Some games have a simple method of copy protection whereby they put files after the last file indicated in the file number block.  These files appear hidden and will not be transferred in a file by file transfer, but will if the dumper always dumps 65,500 bytes as loopy's should do.  When loopy's device loads FDS game images from TOSEC or No Intro from its internal storage, it calculates and adds CRC bytes and Gap termination bits for the FDS RAM Adapter.

If you have trouble reading and writing disks, look to the information in the later pages of this thread, for advice : http://forums.nesdev.com/viewtopic.php?f=9&t=12163  If your disk is damaged, not much can be done except to combine it with an undamaged disk from the No Intro or TOSEC sets.

Why Buy the FDSStick? 

I have been able to complete the following games from start to finish without issue using loopy's FDSStick :

Akumajou Dracula (Demon Castle Dracula/NES Castlevania)
Dracula II: Noroi no Fuuin (Dracula II: The Seal of the Curse/NES Castlevania II: Simon's Quest)
Hikari Shinwa: Palutena no Kagami (Myth of Light: The Mirror of Palutena/NES Kid Icarus)
Legend of Zelda 2: Link no Bouken (Legend of Zelda 2: Adventure of Link/NES Zelda II: The Adventure of Link)
Metroid
Yume Koujou: Doki Doki Panic (Dream Factory, Heart Pounding Panic/NES Super Mario Bros. 2)
Zelda no Densetsu: The Hyrule Fantasy (NES Legend of Zelda) (first and second quests)

I think that is a fair endorsement for this device. Everything else I have tried works without flaw, as long as you avoid corrupted images. If an image from the No-Intro set appears corrupt (like Palutena used to be in older sets), try one from the TOSEC set and vice versa.  Note that No-Intro will put a [b] next to working images because they have saves on the disk.  A disk with saves is impure, but I have figured out how to "purify" many FDS games : http://nerdlypleasures.blogspot.com/2015/06/cleaning-saved-information-from-famicom.html

One awesome feature of the FDSStick is that you can backup your saves.  When you beat any of the above games, you will not be able to see the ending unless you beat the game again.  Use an FDSStick to back up your game before you beat it and you can reload the fds image whenever you want to see an ending.

The currently available NES/Famicom flash carts just do not cut it when it comes to FDS emulation.  The NES PowerPak can fail with certain games and its sound emulation is sometimes off.  The EverDrive N8 is more reliable with games but you cannot pause a game when the game wants to change disk sides and the sound emulation is worse.  Even the mighty Hi-Def NES Mod and Analogue Nt will have notably "off" FDS sound.

The RAM Adapter, on the other hand, provides perfect sound.  It does not crash when given good images. FDS RAM Adapters can usually be had for $50 shipped.  It makes those FDSLoadr cables and Game Doctor devices thoroughly obsolete.  There are also other similar devices like the FDSemu (256Mbit) and the Magic Wild Card (uses microSD cards), but they are more expensive.  These are probably the best reasons why you should consider the FDSStick.