Friday, September 3, 2021

Is there a Doctor in the Game Console? - The Venus Turbo Doctor 6M

Taiwan may or may not have been the birthplace of commercial video game piracy, but it certainly has a strong claim to have been its nursery.  When video games skyrocketed in popularity in Southeastern Asia with the Famicom, it seemed as through the entire island of Taiwan wanted to cash in on the efforts of the Japanese.  Taiwan was the first source of unlicensed Famicom clones and pirate cartridges.  But cartridges were expensive to make, even for Taiwan fabs and the larger games were not very profitable to clone.  Then Nintendo handed the pirates a gift, the Famicom Disk System.  But as it turned out this was a gift that kept on giving.  While copying FDS games was child's play for the organized pirates, they saw in the FDS an opportunity to pirate to go beyond games originally released on disk. They created "RAM cartridges", hardware devices that worked with the Famicom and the Disk System to permit cartridge games put on disk to work.  In this blog entry, I will describe my personal experiences with one such device, the Venus Turbo Game Doctor 6M.

RAM cartridges are not exclusive to Taiwan.  Of the three major companies with made game copier devices, Front Fareast was located in Taiwan while Bung Enterprises Ltd and Venus Electronic Engineering Co. were based in Hong Kong.  Keeping track of the companies and their products can be difficult because their devices have similar names, looks and functions.  For example, Bung released the "Super Game Doctor" 2M & 4M while Venus released the "Turbo Game Doctor" 4+, 6+ & 6M and FFE the "Super Magic Card".  Bung later released the "Game Master" and the "Game Master Boy" and "Game Master Kid".  Who released what can be quite confusing to the newcomer, but here is a short list:

  • Bung released the Game Doctor 1M/2M, the Super Game Doctor 2M/4M, the Game Master 6M and the Doctor PCjr.
  • Venus released the Game Converter 1M/2M, the Mini Doctor and the Turbo Game Doctor 4+/6+/6M
  • FFE released the Magic Card 1M/2M/4M, the Super Magic Card 4M and Magicard II Turbo

The basic idea behind most of these RAM cartridges is that you would need a Famicom, a Famicom Disk System, the RAM cartridge and game disks.  The RAM cartridge is a device which plugs into the cartridge slot of a Famicom and sits in between the Famicom and the Famicom Disk System's RAM Adapter.  The RAM Adapter and the Disk Drive are required to transfer game software, on FDS disks, from the drive to the RAM cartridge.  The RAM cartridge would have RAM, a BIOS to handle the data transfer and some circuitry to handle some bankswitching done by the original cartridge.  When the game was completely transferred from disk(s) then the game would play from the copier.

Software compatibility among the "big three's" cartridge conversions was something of a tricky affair.  The basic level of compatibility is the Game Doctor format, and Bung, Venus and FFE's products support the Game Doctor format.  Each company had its own format for its more advanced copiers and features, so advanced Magic Card disks will only work in FFE's devices, MMC1/3 hacks for the TGD will only work in Venus' devices and the Game Master format is unique to Bung's products.

At this point we must look to the capabilities of the Famicom and the cartridges that were being simulated by the RAM cartridge.  A Famicom uses a split-bus architecture, where the PPU has its own memory address and data bus which is separate from the CPU's memory address and data bus.  The CPU can address up to 32KiB of PRG-ROM and 8KiB of PRG-RAM in a cartridge without bankswitching hardware.  The PPU can address up to 8KiB of CHR-ROM or CHR-RAM, again without bankswitching hardware.  About 80% of Famicom games used CHR-ROM, which is faster than CHR-RAM (you do not need to spend CPU time to write graphic patterns to RAM) but less flexible and sometimes more expensive due to the game needing a second ROM chip.

A Famicom Disk System's disks are based off the Mitsumi 3" disk format.  As implemented by Nintendo, each disk can hold approximately 64KiB per side, and FDS drives were single sided.  Due in part to the rampant piracy of FDS games, other companies were easily able to make suitable disks that passed Nintendo's physical protection and would be able to work in the FDS disk drive.

Cartridge games soon eclipsed FDS games in storage capacity.  While most FDS games were two sided, and therefore 128KiB, a cartridge could easily be double, triple or quadruple that size.  What was large by 1985 standards was looking average in 1987 and small by 1989.  In order to be loaded into a RAM cartridge, that cartridge had to be broken up into 64KiB chunks.  So a game like Karate Kid (64KiB) would still be able to fit on one disk side, a game like Super Mario Bros. 3 (384KiB) would take six disk sides.  

When you start a RAM cartridge device, the system will appear as though you started the Famicom Disk System and begins to load the disk inserted in the drive.  However, once the first disk is loaded, the copier will ask for the next disk and then the next until the program is completely loaded into the copier's memory.  Assuming your patience will survive the process of disk ejection, flipping, insertion, loading and next disk, then you can play the game.

The Venus Turbo Game Doctor 6M is more powerful than most other RAM cartridges.  Most of the other RAM cartridges have only 32KiB of RAM for CHR data.  This is fine until a game is encountered which used 64KiB or more of CHR-ROM.  At that point the copier has to perform extra copying of data to CHR-RAM and extra bankswitching to ensure the program has the graphics it needs when it expects this.  The resulting hacks required to pull this off tend result in some glitchy graphics and extra slowdown.  

The TGD6M comes with 256KiB of RAM for CHR data, which is enough to simulate the CHR-ROM of any licensed Famicom game which the TGD6M's ASIC can run without glitches and extra slowdown.  The TGD6M also has 512KiB for PRG data, which is also ample for licensed Famicom games.  The TGD6+ and the TGD6M look identical on the outside except the sticker, but the 6+ only comes with 256KiB of RAM for PRG-ROM, although it may be upgradeable to 512KiB.  Because some cartridge games offered an extra 8KiB of PRG-RAM to supplement the 2KiB of CPU RAM internal to the Famicom, the 32KiB of PRG-RAM in the FDS RAM Adapter is re-purposed so these games will have the memory they need to run.

The TGD6M, like other copiers, handles the most basic bankswitching schemes: NROM (no bankswitching) CNROM, UNROM/UOROM, MHROM/GNROM (Mappers 0, 2, 3 & 66).  These games tend to be compatible across the FFE, Bung and Venus devices because their bankswitching is so simple.  The TGD6M contains a somewhat flexible ASIC which can perform functions equivalent to MMC1 and MMC3 and similar mappers.  These games will require some hacking and a small trainer program on the first disk in a set to tell the TGD6M how to make its ASIC work with the bankswitching needs of a game.

Now the idea of using a TGD6M or other RAM cartridge device in the 21st Century is rather quaint when we have devices like the EverDrive N8 Pro flash cartridge, which is light-years ahead of any copier device released during the 20th Century.  Its predecessor, the EverDrive N8 and the original flash cart, the NES Power Pak, are still much more powerful than the Turbo Game Doctors and their competitors.  But these devices were pretty popular back in the day and became much more popular for the Super Famicom, Mega Drive and N64.  

Using a device like the Turbo Game Doctor 6M is much easier these days due to the FDSStick.  The FDSStick can support loading disk images in the Game Doctor format on either a Bung or a Venus device.  With Game Doctor disks for a game which uses a multi-disk set, the game's disk images use a common name with .A, .B, .C, .D and so on as file extensions.  As long as the name is the same and the sides are given extensions which follow the alphabet, the FDSStick will treat the game as one set of images.  You can load the images manually via the PC interface or load the images onto the flash storage of the FDSStick.  Make sure only to select the .A image, the FDSStick will load the rest of the images automatically.  

The TGD6M has a port on the back of the device for a hardware device called the Hard Game Saver.  This hardware add-on allows the TGD4+, 6+ or 6M with a generic save disk, to allow for real-time game saving, saving the state of the game onto disk to be restored at a later time.  The hardware inside the Hard Game Saver can save write-only registers on the PPU and APU, including the palette registers in early PPUs, to allow for a more seamless restoration of the state. For those games which on cartridge came with battery backed saves, this was the only way to save a game when used on the TGD6M.  Games which offered only password saves on cartridge like Dragon Quest I & II had a certain advantage to being played with the Game Doctor and the Game Saver compared to cartridge.

The Hard Game Saver came with a Save Disk which holds the save state.  This Save Disk is specially formatted but can be copied with a normal disk copy program.  Only one save state can be stored on a disk but the disk can be overwritten with a save from another game.  The Save Disk is not tied to a particular game, it can work with any game the TGD6M supports.  The Save Disk is bootable, which can show you which catalog number of the game whose save state is on it the disk, and then you can boot the game normally.  You do not have to boot the Save Disk every time you wish to use the save state feature, you can boot the game normally, then insert the Save Disk, call up the menu via the TGD6M's button and then save or load the state.  The Hard Game Saver is always monitoring the values of the PPU registers and the palette RAM, so loading a save should not show any graphical glitches thereafter.  If you have a Hard Game Saver and want to use it with an FDSStick, you must name the Save Disk as either the .A file extension or the letter following the letter of the last game disk.  

There was also a software-only Game Saver option.  The "Soft" Game Saver option required a special Save Disk, preformatted for each game unlike the Hard Game Saver which could accommodate any game the TGD was capable of playing.  This Save Disk must be booted before the game disks.  The limitations of the Soft Game Saver meant that the palette and the write-only PPU registers were not  being monitored and saved.  This could lead to wrong colors being shown when the state was restored.  If you wish to use the Save Disk via the FDSStick and its built-in flash, make sure the save disk is the .A disk and the FDSStick will load it first, followed by the game data disks.

One interesting thing about the RAM cartridge conversions is that sometimes the conversion may not be "faithful" to the original cartridge version.  Those devices which must perform extra bankswitching due to a lack of RAM for all the CHR-ROM are one such example, such as FFE's hack of Contra (Japan) which flickers at times and Bung's Super Game Doctor 4M's conversion of Gradius II.  Mashou's conversion for Bung has a shaky gameplay screen due to the hacked bankswitching code being less than optimal.  The TGD6M has support for scanline IRQs, so the TGD version of Super Mario Bros. 3 will display the status bar without glitchy or jumpy behavior.  In fact, the TGD version of SMB 3 looks better than the Japanese cartridge versions in the spike descending room in World 1's Fortress.

The TGD6M, like almost all RAM cartridges, requires its own power adapter connection to function.  A Famicom power supply or its equivalent will be sufficient, but you may need to run the disk drive off batteries if your wall socket or power strip cannot accommodate three power bricks. The LED will stay on as long as the AC adapter is plugged into the TGD6M.  However, you can insert and remove cartridges and the RAM Adapter while the TGD6M's LED is on so long as the Famicom is off.  

The single button on the TGD6M serves two purposes.  If you hold down the button while turning the Famicom on and no cartridge is inserted, then it will perform a self-diagnostic test, counting the amount of memory available to it.  During normal gameplay, the button serves no purpose, but if you loaded a Game Saver disk before loading the game or have a hardware Game Saver plugged in, the button will activate the save/restore menu.  This will permit you to save and restore your state, one state per disk. 

A final word should be given regarding nomenclature.  These RAM cartridges have been referred to as "Game Copiers", but this term is not really correct when applied to Famicom devices.  For the devices for the Super Famicom, Mega Drive and Nintendo 64 which followed, those could copy most cartridge games onto 1.44MiB floppy disks and at least one could load ROMs from a CD-ROM drive.  Those systems lacked the diversity of memory mapping hardware required by the Famicom and can address multiple megabytes of ROM without extra hardware inside the cartridge. These Famicom RAM cartridges can play games previously backed up onto FDS disks not unlike how an EverDrive can play games previously backed up onto SD card.  They do not copy games onto disk.

These RAM cartridge devices tend to be rather difficult to find, especially as they did not see nearly as much penetration outside Taiwan and Hong Kong as their successors for the Super Famicom, Mega Drive and N64 did.  They came a little too early to be easily ordered over the Internet, no one in the west had a ready supply of FDS disks, they do not fit in an NES and they really could not backup cartridges.  Most of them can be emulated in Nintendulator-NRS, an emulator which emulates what others do not.  They will require BIOS files and disk images, which are not available in anything like a no-intro or GoodNES ROMset.

More information about the various RAM cartridges ("Game Copiers") can be found hereHere is a video of the TGD6M in action.  Here is an example of the software save state feature and a sample of the sometimes less than ideal simulation that these devices give to unfamiliar hardware.  Games programed by Rare, which use Mapper 7, are tricky to simulate in hardware that does not have support for 

2 comments:

  1. Were these various RAM cartridges expensive?

    It would seem that the cost of a Famicom + disk drive + RAM cartridge would be a substantial upfront outlay even if one was not paying full-retail for games. (I assume that there was a market for copied disks and that this was not just for all user-to-user "trading".)

    ReplyDelete
    Replies
    1. I am sure they were expensive, but buying cartridges would have become more expensive at some point.

      Delete