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.
A 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.
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.
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.
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
GIME-X prototype (w/NTSC circuit), note the upper address support to the E2 ram board
GIME-X prototype, bottom view (PLCC plug solution shown)
Soon after this revision, some minor changes were made to the NTSC circuit, which has resulted in what I believe will be the final hardware for the GIME-X. Having reached this point, I thought it was time to see some images displayed on real hardware, showing off some of the new GIME-X video modes.
So I wrote a picture viewer app for the CoCo and a some tools on my MacBook to convert stuff. Here are some examples of the 640×225-16 color, 320×225-256 color, and 640×112-256 color modes. These are phone pics of the actual image being displayed by the CoCo on a VGA monitor. Click on the image for a larger version
Note: These are just random images taken from the internet and used solely for the purpose of testing this hardware. If any of the originators or rights-holders of these images object, let me know and they’ll be removed.
640×225 – 16 color GIME-X images on VGA
320×225 – 256 color GIME-X images on VGA
640×112 – 256 color GIME-X images on VGA
Another feature that we really wanted to add to the GIME-X was system acceleration. I’m very happy to be able to say that we were able to do that, achieving an enhanced ‘turbo’ mode which clocks the entire system at 2.86MHz.
This is a significant speed increase adding more than a million additional CPU cycles per second. Here’s a clip showing a quick comparison of the three CPU speeds supported; .89MHz, 1.79MHz, and 2.86MHz.
…more to come…
22 thoughts on “GIME-X”
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.
Thank you. Yes, we will definitely make updates available when we have them.
Looking great! Keep up the good work. Amazing that you were able to squeeze that onto a two-layer board.
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.
Looks awesome,can’t wait for the production version, I have a CoCo3 with a glitchy Gimi that could use one of these!
Just wondering will this fit in the CoCo3 with the Boyson Tech 2mb upgrade?
Really amazing work!
Looking so forward too this Gime upgrade chip, will make programming on the coco 3 even greater.
I’ll be placing an order day 1…
This is looking great, My understanding is that its a great replacement for the original Gime and it does allow for a VGA video out connector, increased Speed by at least a 1/3 ? would that apply in all software ? and is it backward compatible ?
Yes, it has excellent backwards compatibility with existing software and adds several features as well including;
– VGA (640×480), improved composite output, as well as s-video.
– Direct support for RAM upgrades up to 2MB without the need for a separate DAT board.
– A memory ‘DMA’ mode supporting direct reading and writing to any area of memory without bank switching with address auto-increment.
– A new 256 color mode allowing up to 256 unique colors on screen simultaneously from a machine palette of 512 colors (9 bit RGB).
– Enhanced video modes adding 320 byte per scan line for 640×225 16 color and 320×225 256 color modes.
– Increased performance. CPU speeds of .89MHz, 1.78MHz, and 2.86MHz are software selectable.
– The ‘missing’ semi-graphics modes not included in the GIME (SG8, SG12, and SG24) from the CoCo1/2 are supported on the GIME-X.
I think that’s most of it, for now at least. Further enhancements may be added later via firmware updates.
Looking really good Ed! That turbo mode is impressive too. I’ll definitely be making use of that….. constantly!!
I think we all will! 🙂
Such great news, I am so stoked for this!
Damned impressive Ed! Excellent work, as usual!
Can it be used with the Guardian+ or Protector+ installed? Or would those need to be removed to make sure there’s enough room?
I believe they will have to be removed. The GIME-X directly supports up to 2MB ram upgrades, So a DAT board isn’t needed.
Hey Ed, will you make available the .dsk file you have with those images and your viewer?
It’s been a couple of years and no new news. Is this still going to happen?