Sunday, 4 January 2015

Atari 2600 Joypad for the Papilio Arcade Mega wing

I was given a Papilio Pro Development Board for Christmas by my better half (Great Christmas present - she knows me so well!)  I also bought the extra Arcade Mega Wing which makes it possible to play some classic arcade games!

Papilio Pro from the Gadget Factory

Arcade Mega Wing from the Gadget Factory

In order to be able to play the games I had to do two things....wrestle with the Arcade Blaster Software to get the system working....(more on this later) and I needed an atari joystick to control the games.  Atari 2600 original joysticks are rare and expensive.  Clones are also expensive....Therefore rather than spend money, I would rather spend time making a joystick clone!

The joystick circuit itself is well documented and very simple.  It's basically 5 switches connected in sequence to a nine way female D type connector.

The pin connections are as follows:

1 - Up
2 - Down
3 - Left
4 - Right
5 - not connected
6 - Fire button
7 - +5V (output from the console or FPGA development board)
8 - Ground (output from the console or FPGA development board)
9 - not connected

Here is the schematic diagram:

Atari 2600 Schematic
I then designed a PCB - although you could probably use matrix board or strip board if required.  I prefer making a printed circuit board.  I find my circuits work much more reliably and often first time when I make boards!  Here is the layout:

PCB bottom layer
The parts list for this is pretty simple:\

5x Microswitches
1x 9 way D-type Female Connector
1x Straight through 9 way D-type cable (not Null Modem) male connector at one end and a female connector at the other end.

Here are some renders of the circuit once the PCB has been make and populated:

Atari 2600 Joypad Isographic
Atari 2600 Joypad top down view
Atari 2600 Bottom layer render

Here are a few photos of the finished and populated PCB:

The PCB top Layer
The Bottom Layer
The Completed Joypad connected to the Papilio Pro
In order to get the Papilio Pro up and running and playing games there are quite a few steps to get through. It wasn't particularly complicated just frustrating as the documentation is not particularly clear. The folks atGadget Factory are trying to improve things but it was a struggle for me:

In order to play the classic arcade games of yesteryear on the Papilio Pro or Papilio 500 board you will need to obtain or make...a mega arcade wing.  It'allows the user to attach a monitor, speaker and two joysticks (or joypads like the one above) to the FPGA development board.  I bought the arcade megawing. It was quicker and easier for me to do so and was reasonably priced.

You will also need to download the Arcade blaster software from the gadget factory website:

Once downloaded install the program but NOT into the default directory provided.  Install to a folder in the route directory of your hard disk.  These instructions apply to windows 7 I haven't attempted to do this with a linux operating system yet. I used C:\ArcadeBlaster

The reason for this is because Windows 7 and above requires administrator rights in order to copy and move files when the default directory is used.  You will also need to download the latest version of the papilio-prog.exe from the Gadget factory website.  This will need to be copied into the programmer/win32 folder in order to work correctly. Either overwrite the original file or change the file name and then place the new version in the win32 folder.   

Next obtain the ROM file for the game of choice.  This should only be achieved (legally) by buying a a copy of the original program.  The ROM files will then need to be compressed in ZIP file using a suitable file name.  Once the ROM files have been obtained all the user needs to do is follow the instructions provided by the Gadget factory.  Load up the Arcade Blaster app and click on the install game button:

Next navigate to the folder on your hard disk which contains the ROM files in a compressed zip file. Don't worry about extracting the ROM files.  It isn't necessary...

If the game will work correctly it will install and the program will display the following message:

All that you need to do now is load the papilio hardware with the game.  Make sure your papilio hardware is attached to the PC via a USB lead and click the Load Game button!

Some messages will flash up on screen briefly...and that is it.  The FPGA will now contain the code required to model the function of the some 1970 / 1980 TTL logic!  Connect a monitor and some speakers to the papilio arcade mega wing and a suitable the one above and get playing!! 

Here is a video of the system up and running playing PacMan!  The joypad works well and I'm happy...Cheers Langster!