GIME-X

The GIME-X project is a collaborative effort involving Gary Becker and myself.  Gary heads up the CoCo3FPGA project and so has done a lot of work implementing the CoCo3 in FPGA form.

We had previously worked together on getting the analog board add-on for the CoCo3FPGA project produced, and when Gary approached me with the idea of working on an FPGA based GIME chip replacement I was delighted.  Especially as this was something I’d already been thinking about, as well as it being something that would be really useful, as original GIMEs are not available to replace dead ones.

IMG_20190328_084923A 1987 version GIME

Gary is handling the Verilog, while I’m responsible for designing and building the hardware.  I decided to go with a lower-end Altera Cyclone IV FPGA in the 144 pin QFP package for cost and ease of use/manufacturing.  It was also a device I’d previously used in the CoCoVGA design, so I had some experience with it, and it was more than up to the task at hand.

So I designed a PCB that would plug into the GIMEs PLCC socket.

20180412_21224520180412_212254The GIME-X

The board has the necessary FPGA, level translating buffers (5v to 3.3v logic), regulators, oscillator, flash, and DACs to pull a replacement together.  In addition to the normal functionality of the GIME, enhancements are added, such as VGA video output and additional graphics modes.

53345306_2319737351639277_3698342458220871680_oGIME-X, REV03

We’ve made a lot of progress, going through a few revisions of the hardware until we had that part sorted out.  At this stage we have a working board and configuration, and are refining the Verilog while testing it with various hardware and software working on making it as compatible as possible.

Artifact colors will be simulated on the VGA output for games that use them.  I made the following video shortly after that was implemented.

 

Simulated composite artifacts

As we get nearer to completion of the GIME-X project ad prepare for production there are a number of things to consider to help it go smoothly.

One of the larger hurdles involved in making a board that plugs into the GIME socket is the PLCC plug that will be required.
 
While such a thing is available out there, they are clearly not a high demand item, and range from ridiculously expensive (as in over $100 each) to merely annoyingly so. The cheapest I’ve found is still $10 per part, a significant amount when the other components are added up as well.
IMG_20190405_200747.jpg
68-pin PLCC plug
Add to this that most of them are very high profile, and not useful because of clearance considering where the GIME is situated on the board (partially underneath the keyboard).
 
Luckily for prototyping efforts, I was able to modify the least expensive plug available to get just enough clearance with the design. This is an option for production, but expensive, time consuming, and even then still has barely adequate clearance.
 
What to do?
After some thought, and studying the adapters I modified for use on the prototypes, I came up with an idea.  The plug uses pins with a 1.27mm spacing, which are too long, resulting in the need to trim them for a lower profile.  Shorter pins are available as SMT headers.  By combining these with a 3d printed block for the plug body, I have a solution that is inexpensive (about $1 per plug), and no more trouble to manufacture with than modifying the expensive ones.
IMG_20190405_213852.jpg
SMT headers and 3d printed plug
Untitled.jpg
3d printed PLCC plug installed
Another benefit is that these are also of the lowest profile possible, giving me more clearance for the GIME-X.  They also fit more deeply into the socket for a more secure fit.

Every millimeter counts (3d plug on right)

 

So there you have it, an easily available and more economical solution for the PLCC plug.

Other additions to the design also seem appropriate as the project nears completion.  For instance, an NTSC encoder and analog circuitry to support composite and s-video connections, as well as support for >512K memory expansions.

To these ends, I’ve revised the design for the next prototype boards, which you can see here…

Improved design with NTSC video and >512K support

 

 

…more to come…

7 thoughts on “GIME-X”

  1. Looks great. Lots of hard work represented here. Question: Are there plans to do filed updates? For example the Amiga Vampire 500/600 team makes new Core updates (JIC files) available that can be flashed via the USB blaster to the JTAG port. Not only is this great for bug fixes but allows for new features to be added.

  2. Looking great! Keep up the good work. Amazing that you were able to squeeze that onto a two-layer board.

    1. Thanks Dave. It was certainly tight. 🙂

      All that routing is one of my favorite parts of board design, so I don’t mind spending a little extra time on it. You can get a lot on a two layer board if the parts are placed carefully and really work at the routing. Programmable parts like FPGAs and CPLDs help immensely with layout due to being able to reassign pins as needed.

  3. Looks awesome,can’t wait for the production version, I have a CoCo3 with a glitchy Gimi that could use one of these!

Leave a Reply