Jump to content
IGNORED

Colecovision in FPGA


nanochess

Recommended Posts

I was exploring Youtube for Colecovision videos and I found a guy from Singapore that mounted a complete Colecovision in FPGA using only Internet resources.

 

It looks like it loads games from a SD memory but not from cartridge.

 

http://www.youtube.com/watch?v=xeyHQbIAkw4

 

By the way, the source code for the project is downloadable from http://colecov.blogspot.sg/

Edited by nanochess
Link to comment
Share on other sites

I'm not sure I understand...I'm not much of a hardware guy, and my education is at least 20 years out of date anyway. Is this "FPGA" a method of simulating the Colecovision hardware, or of emulating it? You "program" the FPGA chip to provide the same function as the original hardware? If so, what is that PC board you see at the beginning of the video? Is that just the FPGA chip and all the support circuits to connect it to the real world?

Edited by fiddlepaddle
Link to comment
Share on other sites

I'm not sure I understand...I'm not much of a hardware guy, and my education is at least 20 years out of date anyway. Is this "FPGA" a method of simulating the Colecovision hardware, or of emulating it? You "program" the FPGA chip to provide the same function as the original hardware? If so, what is that PC board you see at the beginning of the video? Is that just the FPGA chip and all the support circuits to connect it to the real world?

Emulation is usually imitation of the hardware with software. I'm not sure I'd call simulation any different.

This is actual hardware that attempts to duplicate the functionality of the original machine and it's parts.

 

With an FPGA the logic is drawn up in a circuit (logic) capture program or with a high level logic description language like VHDL or Verilog. The code is compiled into the actual logic for the FPGA. This is called synthesized logic. The FPGA has a matrix of cells that the logic is programmed into.

Well... that's the abridged version anyway. It's all implemented with real hardware.

 

That circuit board is a developer board for the FPGA. It provides a lot of standard things like the FPGA, RAM, FLASH memory, etc... already on a board to make prototyping easier.

It also has additional connections that lead to the FPGA so you can add your own custom circuitry. This makes it quicker and easier to create a circuit using the FPGA.

The FPGA doesn't necessarily need all that for every circuit but it's good for a lot of designs.

In the case of the Colecovision the expansion connectors could be attached to joystick ports, cartridge ports, etc... whatever your design needs.

  • Like 1
Link to comment
Share on other sites

Thanks for the details, JamesD. So, the bottom line is someone can duplicate the hardware of the Colecovision with a FPGA, and presumably could produce something like a Colecovision Flashback cheaply. Now that the "grunt" work has been done, what would it cost per unit to produce a few hundred of these? a few thousand? or even just one? Is this something that could be made into a hobbyist kit that someone like me could put together?

Link to comment
Share on other sites

Thanks for the details, JamesD. So, the bottom line is someone can duplicate the hardware of the Colecovision with a FPGA, and presumably could produce something like a Colecovision Flashback cheaply. Now that the "grunt" work has been done, what would it cost per unit to produce a few hundred of these? a few thousand? or even just one? Is this something that could be made into a hobbyist kit that someone like me could put together?

Just for the record, even though I don't see this as emulation, some people do because it's not the same identical circuit in most cases.

 

This isn't the first Colecovision in an FPGA I've seen. I think this project was taken a little further though.

The pieces needed to add Super Game Module support have also been done, someone just needs to add it to the code.

 

The C64 in a joystick started out selling for around $40 and I think they were discounted to $20 on that shopping channel they were sold on. But that's just a joystick with a few extra buttons. However, you can bet it cost less than $10 to produce. Search for the name Jerry Elsworth (not sure of the spelling) and you'll find info on the main designer. She's a bit of a hero in the C64 community. She also got ripped off by the people that manufactured the thing and I don't know if she ever made any money off of it. Last I heard there was a lawsuit.

The flashback and Famiclones also require very small boards. More money might be spent on the plastic. Ultimately, you can be sure they cost under $20 from China but I wouldn't trust the Chinese with the design of the circuit itself based on Jerry's experience with the C64 Joystick.

 

The key thing about all those designs is the custom ASIC. The FPGA and some of the support circuitry on a developer board is integrated into a hard wired chip which is much cheaper than an FPGA. You just have to trust the design with people that have no qualms about sending more pirate systems out the back door than they produce for you. FPGA's keep some control with the developer and you can always fix bugs and provide updates. The C64 Joystick had multiple revisions with various fixes and enhancements. 256 color mode, blitter, etc...

 

FWIW, several people have already designed small FPGA based boards that can be programmed like arcade machines, game consoles or home computers.

Search for Replay FPGA Arcade and Multi Classic Computer. They aren't as cheap as a custom ASIC design but you can program them to work like multiple systems.

The Multi Classic Computer already has joystick ports but I don't know if they could be reprogrammed to match the Colecovision. It's probably the least expensive design and has been shipping for some time. It already has support for Atari VCS, Amiga, and C64.

The FPGA arcade is more the kitchen sink approach. It can probably support any arcade/console/computer but pricing isn't available yet. Developer boards shipped in April.

I've seen other boards in development but I don't know if they are shipping yet.

 

I purchased an Altera DE1 development board to run multiple old computers/games on. It was about $200 and you can occasionally pick them up for $99 when University's turn them out for new ones. Almost everything that has been implemented in an FPGA has been ported to the DE1. The drawback is you need custom interface boards to attach joysticks and such.

I bought it because I hoped to replace or just store some of my computer collection and I wanted to learn Verilog and VHDL.

I'll probably end up buying one of the other units eventually.

Link to comment
Share on other sites

There seem to be a lot of electronic components on that board, and the cart connector is not even included in the design. Still, it's pretty cool for a fan project. :)

 

The ultimate project of this nature would be an FPGA or ASIC solution which uses a PCB with the exact shape/dimensions of the original board inside the CV console, with the cart connector, expansion edge connector, joystick ports, power switch and reset button all located in their proper places. Then the really interesting part would be to implement components (in one form or another) that replicate the original CV graphic output but in a HDMI-compatible format. Then a HDMI connector could be placed where the power plug is currently located on the console, and the power plug would be placed where the RF cable output is located. The original CV sound chip is probably no longer available so an equivalent solution would have to be devised. I'd buy a board like that in a heartbeat, but I understand that developing this board would be quite complicated. :)

 

EDIT: I wonder if a 12V / +5V / -5V would be needed for this new board, or if it could be powered by a generic 12V power supply. I don't know much of anything about electricity to answer that question.

Link to comment
Share on other sites

There seem to be a lot of electronic components on that board, and the cart connector is not even included in the design. Still, it's pretty cool for a fan project. :)

 

The ultimate project of this nature would be an FPGA or ASIC solution which uses a PCB with the exact shape/dimensions of the original board inside the CV console, with the cart connector, expansion edge connector, joystick ports, power switch and reset button all located in their proper places. Then the really interesting part would be to implement components (in one form or another) that replicate the original CV graphic output but in a HDMI-compatible format. Then a HDMI connector could be placed where the power plug is currently located on the console, and the power plug would be placed where the RF cable output is located. The original CV sound chip is probably no longer available so an equivalent solution would have to be devised. I'd buy a board like that in a heartbeat, but I understand that developing this board would be quite complicated. :)

 

EDIT: I wonder if a 12V / +5V / -5V would be needed for this new board, or if it could be powered by a generic 12V power supply. I don't know much of anything about electricity to answer that question.

There would a lot of empty board space or separate boards designed to mount in each area with jumper wires leading to the ASIC board.

The board could be as small as 3" x 3".

How about a new box not a lot larger than a cart and just styled similar to the original with it's own buttons kinda like a flashback?

 

The C64 Joystick actually let you solder to some connections on the board to add a disk drive and external PC keyboard.

 

The original CV sound chip was reproduced years ago and the source is freely available. I'm sure that project already uses it.

 

12V? For what? You intend on charging car batteries with it? :)

You'd probably need a couple AA batteries or a 5V adaptor with the board stepping the voltage down to 3V.

Games should load from an SD card just like a multicart with the current design.

Link to comment
Share on other sites

There would a lot of empty board space or separate boards designed to mount in each area with jumper wires leading to the ASIC board.

The board could be as small as 3" x 3".

How about a new box not a lot larger than a cart and just styled similar to the original with it's own buttons kinda like a flashback?

 

The C64 Joystick actually let you solder to some connections on the board to add a disk drive and external PC keyboard.

 

The original CV sound chip was reproduced years ago and the source is freely available. I'm sure that project already uses it.

 

12V? For what? You intend on charging car batteries with it? :)

You'd probably need a couple AA batteries or a 5V adaptor with the board stepping the voltage down to 3V.

Games should load from an SD card just like a multicart with the current design.

 

If you want to design a Coleco-on-a-chip that fits inside a Coleco stock controller, that would be nice, but it's not what I want. What I want is a replacement board to put inside the original CV console casing. And I would want to play original carts with it, none of that SD card business.

Link to comment
Share on other sites

Yes, but you'll save money by not having to produce a custom plastic casing for the thing. :)

A commercial plastic mold would be expensive, the plastic would be relatively cheap.

However, if you can create a prototype on a 3D printer you can create a mold from that for a small production run. Labor intensive but doable.

 

For a 3x3 board you are talking under $6 a board for 100 with solder mask and silk screen.

If the board in the Colecovision is the same size as the CPU/VID board in the ADAM then you are talking $110 a board per 100.

I guessed at the size but you get the idea.

  • Like 1
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...