home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Unsorted BBS Collection
/
thegreatunsorted.tar
/
thegreatunsorted
/
texts
/
txtfiles_misc
/
ninten.txt
< prev
next >
Wrap
Text File
|
1990-12-22
|
9KB
|
190 lines
The NINTENDO PC INTERFACE SYSTEM is a hardware device designed
several years ago by my brother and myself. My original
intention was to create a way to transfer game software contained
in Nintendo cartridge ROMs to PC disk files where they could
later be downloaded to a "universal cartridge", a regular
Nintendo cartridge whose ROMs are replaced with battery-backed
static RAMs. This relatively simple idea seemed to me the best
solution to the many problems associated with my previous method
which utilized an EPROM programmer and a socketed cartridge.
While this system in its present form works flawlessly on those
first generation Nintendo cartridges for which it was designed,
the newer, larger memory ROM cartridges' diverse addressing
formats made designing a single integrated system a nightmare to
someone of my limited design experience. Part of the incentive
for going public with this system is to possibly inspire others
to improve upon what we've started.
WARNING!
This is NOT a good electronics project for beginners for several
reasons. One being that, in these directions, I have assumed the
builder is familiar with the reading of schematics. These
instructions are far from being detailed. Secondly, with so many
soldered bus connections, the most experienced assembler is bound
to run into problems which can only be troubleshot with a VOM and
an abundance of patience. I can just see hundreds of pissed-off
hobbyists writing me nasty letters because of their own crossed
wire. I tried my best to double-check the accuracy of my
schematics with that of my prototype, but knowing that anything
can happen, I'll be prepared to answer any reasonable requests
for help.
********************
There are five files included in this archived file.
NINTEN.DOC - This documentation file with instructions and
information (such as it is).
NIN.EXE - This is the device driver for the unit written
in assembly language.
SCHEM1.PIC - The PIC file that displays the schematic for the
PROGRAMMING MODULE. All the following picture
files can be shown with CSHOW or other graphics
display programs.
SCHEM2.PIC - The schematic for the UNIVERSAL CARTRIDGE. This is
a regular Nintendo cartridge that is converted in
the process described below.
SCHEM3.PIC - The schematic for the INTERFACE BOARD which plugs
into an 8 bit expansion slot and connects to the
PROGRAMMER MODULE via a 25 pin "D" connector.
********************
CONSTRUCTING THE PROGRAMMER MODULE
This is the unit that will actually have cartridges inserted into
it. I used a plastic 2x3x6 Radio Shack project box. From the
top edge of one of the 6" sides cut a 1 & 1/8 inch by 4.5" slot.
Now for the bad news. The 72-pin connector that Nintendo uses is
non-standard. I had to cannibalize a whole Nintendo System to
use the actual zero insertion force connector built inside the
unit. This I mounted to the bottom of the project box so that a
cartridge could easily be inserted coming in at a downward angle
then being pressed down to a horizontal position. Since this
will be minus the spring loaded guiding mechanism of the Nintendo
System, it's important that the 4.5" slot width holds the
cartridge firmly in place while in the "down" position.
The components are mounted on a 2x4 inch perf board. The D
connector is mounted on the right side of the project box
(slotted being front). Admittedly, things get a bit crowded. I
used ribbon cable for bus lines directly soldered to a 72
cardedge (just the "fingers") sawed off a cartridge board. This
plugs into the lower slot of the connector. Keep the lines long
enough to wrap around the bottoms and sides of the box to the
component board that will ride on top of the connector.
********************
CONSTRUCTING THE RAM CARTRIDGE
The following is the process used to prep an existing Nintendo
cartridge. As far as I know any of the games mentioned at the
end of this doc file will work as a "ram cartridge" but to be
sure you may want to use the game cart I did; SOCCER. The
following directions are listed briefly on the schematic itself.
1) Remove solder bridge (V or H) to CE 22.
2) Remove both ROMs and replace with static rams 43256 (NEC) with
the following pins pulled up: CHR ram - 20,27. PRG ram -
1,20,27.
3) Scribe a break in the 5 volt circuit path. Right above pin 16
on the CIC chip is a good place. Jumper with the 1N4005. In
the cartridge schematic that diode is the only component
(besides the rams) mounted on the factory board. All
others, including the battery, I put on a 1.75x1.75" card.
4) Jumper WE pins on CHR ram pin #27 to cardedge #19 and PRG ram
#27 to cardedge #15. Jumper in the same way pin 1 on the PRG
ram to the punched hole normally reserved for its pin 27.
********************
CONSTRUCTING THE INTERFACE BOARD
The interface board I used was not of my design. I used the card
plugged into my PC's expansion slot that connects to my MIDI
music system. This is simply a port address assigning driver
board which means this system uses the same port addresses as a
Roland MPU401 MIDI device. It should be easy to duplicate using
a breadboard 8 bit PC card and the schematic provided.
********************
RUNNING THE SOFTWARE
Start the program by typing "NIN" at the prompt. This is the
executable file containing the programmer's device driver written
in assembly language by my brother, Jeff. For a printed copy of
this code see "FOR FURTHER INFO" at the end of this doc file.
NIN.EXE is a self-explanatory menu-driven program. To save a
cartridge's software to a disk file: Place the cartridge to be
copied into the programmer unit. Press "R" for "Read from port".
This command places the software read from the cartridge's roms
to a buffer in memory. NOTE: the program responds only to upper
case. Next press "O". This command will be followed by a prompt
asking you to name the file that will be created containing the
data in the buffer.
To download software from the disk file to the "ram cartridge":
Firmly install the cartridge into the programmer unit. Press
"I". This places data from the file into computer memory. Next
press "W" to write data to the static rams in the cartridge.
Carefully disconnect cartridge from the programmer. Set
cartridge DIP switch to horizontal or vertical position depending
upon game. Cartridge is now ready to be played in your Nintendo
System.
********************
DISCLAIMER
This program and instructions are distributed as is without
warranty. In no event will I be liable to you for any damages
arising out of the use or inability to use said program or
devices described herein.
********************
MORE INFO
Please keep in mind that, as previously mentioned, this device is
limited to copying only older, smaller memory cartridges. In
order to compete in the current video game market, Nintendo and
its licensees presently use much larger memory ROMs in their
games which involve dozens of varied addressing schemes. To
design a single integrated programmer which would accommodate all
these formats would require a much more sophisticated device.
The following, while being far from complete, is a partial
listing of those games that have worked successfully on my
prototype: BASEBALL, GOLF, POPEYE, ICECLIMBER, DUCKHUNT, EXCITE
BIKE, BURGERTIME, PINBALL, HOGAN'S ALLEY, DONKEY KONG JR., URBAN
CHAMPION.
For those of you who successfully complete the building of this
system and would like to become a registered user, I will be
happy to send you a disk containing the latest extended device
driver which allows the programmer unit to accommodate 64K
software cartridges without any change in its hardware. Just
send a check or money order in the amount of $35.00 to:
Gary Kibler
7902 Holt Avenue #7
Huntington Beach, CA 92647
The following is a partial list of those 64K games that have
successfully loaded on my prototype with the extended driver:
SUPER MARIO, KUNG FU, SLALOM, WRECKING CREW, ICE HOCKEY, SOCCER,
TAGTEAM WRESTLING.
As mentioned before, I am willing to respond to any reasonable
requests for help or information provided you are a registered
user. Being registered also entitles you to the documentation
and code to both versions of the driver software. Just mention
this request in your letter.