Jump to content
IGNORED

Mini Colecovision


Recommended Posts

My main goal of the Righteous Tentacle Colecovision Reverse Engineering Project is to make a smaller version that is completely open source. I did not want any added functionality, just the standard Colecovision. The result is the Mini Colecovision (Sparkletron Colecovision), by taking all of the logic and putting it in a CPLD. Then using the TMS9118 VDP chip I was able to create a working Colecovision that is 5v only and 3.5 by 4.5 inches. 

 

What it is:

- Compatible with the base Colecovision.

- CPLD based architecture.

- Roller Controller/Standard Controller Compatible.

- 5V dc (0.5 amp with roller controller on same supply).

- On board JTAG header for easy programming

 

What it isn't:

- Expansion port compatible (it doesn't exist).

- HDMI/RGB/Svideo

 

Notes:

- Roller controller leads are not long enough to connect to both sides. Use an DB9 extender or remove the plastic clasp that keeps the cables from separating.

 

The CPLD is a MAX7000S chip, specifically the EPM7128SLC84-10. Why use it? Quartus 13.0sp1 is free to use and runs on Ubuntu 22.04 with the correct libraries. This allows the use of Verilog to describe the functional model for the glue logic. It has 5 volt IO and works well for this type of task. How do you obtain one? Well oddly enough Arrow has 13k of them in stock as of 3/23/24 (update, 3/24/24 they only show 12? No idea what's going on, but Arrows site is terrible) (also also they were from a company Arrow owns, when I find that info I'll update this post). They also have 5k of a slightly slower chip as of 3/24/24. Any speed should be fine, just change the target the Quartus settings.  Another part that will work is the Microchip ATF1508AS-10JU84. These can be used with Quartus by converting the POF with the Microchip POF2JED tool. The 7JX84 version will also work, but I haven't looked into it (ATF to MAX is 15=15, 10=10, 7=7 ns). JTAG programming of the part was tested with a generic Altera USB blaster (Chinese uC clone) using the built in JTAG header.

 

With all of these options for the MAX, I felt that this part could be used, and others would be able to build it easily and cheaply (CPLD is less than $20, around $12 usually).

 

The TMS9118 was selected since it only uses 2 ram chips, is composite out (less circuitry) and has a 3.56 Mhz clock output. This clock is used by the system globally.

 

Documentation is a work in progress. Eventually there will be a wiki with build notes and a BOM on the git repo.

 

This is a 100% open source MIT licensed project.

 

Update: Found the company Arrow owns who seems to actually have these chips LINK. Oddly enough they don't show the original chip in stock at the moment either (not sure how the heck they sold 13K in a day, maybe they sent them to me on my last order from the day prior j/k).

 

Pictures of the project (slight changes to the board have been made, but its 99% the same as this one) attached below.

Bodge caps have proper homes on the final version.

PXL_20240324_174822662.jpg

PXL_20240324_174750080.jpg

PXL_20240324_174744708.jpg

Edited by electro_sparkles
grammer update v2
  • Like 5
  • Thanks 1
Link to comment
Share on other sites

Quick update

 

I have added prebuilt binaries for the following CPLDs in the src/quartus13sp01/bin folder.

-------------------------------------------------------------------------------------------------

FILE - TARGET (STATUS)

-------------------------------------------------------------------------------------------------

portable_coleco_ATF1508-10.jed  - ATF1508AS-10JU84 (UNTESTED)

portable_coleco_ATF1508-15.jed - ATF1508AS-15JI84 (UNTESTED)

portable_coleco_ATF1508-7.jed  - ATF1508AS-7JX84 (UNTESTED)

portable_coleco_MAX7128SLC-10.pof  - MAX7128SLC-10 (TESTED)

portable_coleco_MAX7128SLC-15.pof  - MAX7128SLC-15 (UNTESTED)

portable_coleco_MAX7128SLC-7.pof - MAX7128SLC-7 (UNTESTED)

-------------------------------------------------------------------------------------------------

 

Thats 6 different parts that are supported and will work, but most are untested. This has been tested with the MAX7128SLC-10 at the moment. Will test the rest soon.

 

The MAX is programmable using Quartus v13.0 sp1.

The ATF is programmable using openocd. An example ocd config file is here.


Both use the Altera blaster for programming.
 

Link to comment
Share on other sites

9 hours ago, evg2000 said:

 nice compact design. what’s in the bottom right corner?  looks like a volume pot. 

Yes it is, the main design goal is to make a portable Gameboy version of the Colecovision. The opamp is a lm389 (meh) for driving a small speaker directly. This can be used for line level audio with the correct selection of resistors at the output.

 

I didn't state in the main post, sorry about that.

7 hours ago, Jess Ragan said:

Any plans for Super Game Module support? I know you said there wasn't an expansion port, but could that functionality be baked into the hardware?

No plans for support, I wanted this to be a standard Colecovision.

 

Could it be added? Sure, I put all the address lines to the CPLD, and the firmware Verilog source is MIT licensed. Anybody can change it and add features. 

 

It does use a 2k RAM chip with the upper address pin tied to ground. I did route the address line to it so it can be changed giving 2K RAM to device instead of 1K.

 

 

  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...