Running Coleco vision games on a RC2014 like computer

226 views
Skip to first unread message

Matheus Yan

unread,
Sep 14, 2023, 3:37:15 PM9/14/23
to retro-comp
Hello, Im new to the group, Im building my own computer, its kinda simmilar to the RC2014 but Im doing all by myself from scrath on universal pcbs(despite coying something from oter projects), so I can modify anithing I want. I would love to run coleco vision games on it like J.B. Langston does but I only have at that time three hm62256 32KB RAM chips and some 32KB ROM chips. I already build the memory board with the first 32KB addressed to ROM (that will be switched to other 32KB RAM when needed) and the seccond 32KB to RAM, Im not done with the bank swithing logic at that time. My question is abouth the 512KB RAM 512KB ROM Module and the address conflict with the coleco games, there is a way that I can map my existing memory and build the switching logic to abvoid this board? Could anyone give me a help with it?
I pretend to run CP/M on it sooner, but im building the Compact Flash interface and the SIO/2 serial interface yet.
At that time, I only used to run some assembly programs that I write by mysef to control a LCD 20x4 display, interface a PS2 Keyboard with some 595 logic and test the TMS9918 board, that is working fine :)
Thank you very much by your work and help!
PS: I would like to keep it retro, it means that I dont like to use the Z80 control board with the uC or anything like that.
Here is the page to the coleco vision games on RC2014:  https://hackaday.io/project/159057-game-boards-for-rc2014
Here is my Memory Board at that time. Otherwise, the switching logic its not builded yet

Memory.PNG

Dave White

unread,
Sep 14, 2023, 11:23:40 PM9/14/23
to retro-comp
No resistors on the monitor LEDs? 

Matheus Yan

unread,
Sep 15, 2023, 10:59:24 AM9/15/23
to retro-comp
there is, I forgot to put they on the schematic, but I used 1K resors for all LEDs

J.B. Langston

unread,
Sep 15, 2023, 5:09:03 PM9/15/23
to retro-comp
 Since you asked me this on Hackaday too, I'm pasting my response here.  Let's continue discussing here instead.

When building a circuit from scratch, you can easily alter it to avoid using the same addresses. The problem is specific to Spencer's pageable ROM module: https://rc2014.co.uk/modules/pageable-rom/. It doesn't fully decode the IO address so it uses a lot of ports that conflict with the ones used by the ColecoVision. On this card, writing to any port in the range 30H-3FH or B0H-BFH will cause the ROM to page in or out, so when the ColecoVision games try to write to the video chip, the ROM module pages back in and causes the game to crash.

If you use a schematic similar to Scott Baker's instead, it will work: https://www.smbaker.com/z80-retrocomputing-11-cpm-on-the-rc2014. It is configurable to let you choose the port for banking the ROM: 0H, 8H, 10H, 18H, 20H, 28H, 30H, or 38H. You would need to use 38H to be compatible with the boot loader used in the RC2014, and this address will not conflict with any ports used by the ColecoVision. The 512K RAM/ROM board also does not conflict because it uses ports 70H-7FH.

The ColecoVision uses the following ports, so you must avoid using those for anything else in your computer:
  • Video Chip: B0H-BFH
  • Sound Chip: FFH (write only)
  • Game Controllers: 80H and C0 (write only), and E0H-FFH (read only)

Matheus Yan

unread,
May 7, 2024, 12:32:13 PMMay 7
to retro-comp
Im trying to replicate the coleco vision game boards by my own at home in the z80 computer that I handwired.
At that time, I already get CP/M installed and could run some demos that you share on hackaday and github, but I can't find why the colecovision games do not show anything on the display (neither the nyan.com example)
The plasma.com, ascii.com, sprite.com and mandel.com run perfectly after I compile it with sjasm and upload via xmodem to the computer. Im really upset because I dont understand why this isnt working.
This is my computer running some of the examples, I also send here some photos of all the board Im building right now to use with it.
Here is also the schematic, if you wanna see something. As can be seen, the terminal shows "game loaded" but do not shows anything on the display.
I already create a Hack a day posto about, if you wanna see it: https://hackaday.io/project/195954-the-homebrew-handwired-z80-computer-h2z80
Here is where are the demos and circuits created by J.B. Langston that im using: https://hackaday.io/project/159057-game-boards-for-rc2014
WhatsApp Image 2024-05-05 at 19.20.26.jpegAll Pices 1.jpegterminal 1.PNGAll Build 1.jpeg

H2Z80 - Schematic.pdf

Henk Berends

unread,
May 11, 2024, 6:43:18 AMMay 11
to retro-comp
Hi, I dont have the TMS9918 card (yet) but did build some of the other games boards and I'm very familiar with the Colecovision.

Some suggestions:
The original Colecovision BIOS and games use I/O ports 0xBE and 0xBF for the VDP. And the VDP interrupt should be connected to NMI.
Did you test if you wired this correctly with the examples that use the tms.asm module? 
Do they still work if you comment out all other ports and keep the "defb 0beh" line at the "TmsPorts" label?
Some games are more sensitive to exact timings than others, can you try with "Cosmic Crisis" you should at least see the opening scene also if the NMI is not wired correctly.

/Henk

Matheus Yan

unread,
May 14, 2024, 10:21:58 AMMay 14
to retro-comp
Sorry for not responding, after connect the NMI interrupt its works fine, about the "defb 0beh" I do net even tested it and the Clock, i`m now using a 3.58 crystal to run coleco games to match withe the Vram, I`m using a soket to easy chose the crystal. 
Reply all
Reply to author
Forward
0 new messages