Jump to content
IGNORED

Homebrew ColecoVision replacement mainboard


fieroluke

Recommended Posts

As of today my homemade CV Mainboard is alive and kicking! 

It‘s improved in several areas, eg built in RGB output on Mini DIN connector (still gotta tweak the colors a bit), runs off a single 12V standard barrel plug supply, all components still available, supports 9918A/9928/9929 VDP.

 

it has a socket for AY3-8910 sound, 32K RAM, USB port for downloads and provisions for builtin game using 64K EPROM, but haven’t tested those yet.

 

39FCA620-424C-474F-B0D6-B700349BB1DA.jpeg

1ED2C882-605A-492D-9421-3052F8EFBF0A.jpeg

017F8652-86C0-44E7-938D-D411624D251E.jpeg

Edited by fieroluke
Video won’t play
  • Like 15
  • Thanks 4
Link to comment
Share on other sites

Fantastic to see this project getting to the proto board stage.  I have a few questions / comments:

  1. Are you aware that the removable rectangle of black plastic at the back, where you have the mini DIN located, is not found on NTSC ColecoVision units (not sure about SECAM units)?  I've only seen this on PAL units.  NTSC cases must have been made using a different design of mold as they are solid plastic all the way along the rear of the unit, apart from a molded recess where the RF connector and channel select switch is located.  For NTSC units it might be possible to line up the mini-DIN with the old RF output hole but not sure if that's workable.
  2. Do the power and reset plastic extensions that are what the user physically presses mate with your PCB mounted power and reset switches?
  3. Have you discussed the TMSRGB with Falonn?  I do believe that he has some improvements he might suggest, in particular with the palette.
  4. Is the Exp. Mod #1 still usable?  Looks like you might have a composite video output included, is that for the Exp. Mod #1?
  5. Is it compatible with Opcode's SGM?
  6. Would you consider adding a jumper to the PCB design to allow for retrofitting my flashing LED pause mod? 

Looking good and I sincerely wish you good luck with the project.

 

  • Like 2
Link to comment
Share on other sites

1 hour ago, Ikrananka said:

Fantastic to see this project getting to the proto board stage.  I have a few questions / comments:

  1. Are you aware that the removable rectangle of black plastic at the back, where you have the mini DIN located, is not found on NTSC ColecoVision units (not sure about SECAM units)?  I've only seen this on PAL units.  NTSC cases must have been made using a different design of mold as they are solid plastic all the way along the rear of the unit, apart from a molded recess where the RF connector and channel select switch is located.  For NTSC units it might be possible to line up the mini-DIN with the old RF output hole but not sure if that's workable

Looking good and I sincerely wish you good luck with the project.

 

In looking at his populated board and the empty one inside the shell, it looks like the mini din output is place exactly where the RF normally came through on the NTSC machines already? Course, the only way to know is to line it up and see. But yeah count me quite interested as well!

 

Link to comment
Share on other sites

1 hour ago, Ikrananka said:

Fantastic to see this project getting to the proto board stage.  I have a few questions / comments:

  1. Are you aware that the removable rectangle of black plastic at the back, where you have the mini DIN located, is not found on NTSC ColecoVision units (not sure about SECAM units)?  I've only seen this on PAL units.  NTSC cases must have been made using a different design of mold as they are solid plastic all the way along the rear of the unit, apart from a molded recess where the RF connector and channel select switch is located.  For NTSC units it might be possible to line up the mini-DIN with the old RF output hole but not sure if that's workable.
  2. Do the power and reset plastic extensions that are what the user physically presses mate with your PCB mounted power and reset switches?
  3. Have you discussed the TMSRGB with Falonn?  I do believe that he has some improvements he might suggest, in particular with the palette.
  4. Is the Exp. Mod #1 still usable?  Looks like you might have a composite video output included, is that for the Exp. Mod #1?
  5. Is it compatible with Opcode's SGM?
  6. Would you consider adding a jumper to the PCB design to allow for retrofitting my flashing LED pause mod? 

Looking good and I sincerely wish you good luck with the project.

 

Ok, let’s see: 

#1 yes, I’m aware of that. I don’t have access to an NTSC case, but it’s two simple round holes for power and Mini-DIN. Maybe I’m going to design a new (compact) case to 3D print. First things first though.

 

#2 the new switches are in the same locations as the original ones. I’m going to 3D print mechanical adapters to bring these to the proper height/dimensions.

 

#3 no, I haven’t. I pretty much included the TMSRGB circuitry as an experiment. Like the whole thing was an experiment I started a month ago.

 

#4 well, theoretically yes, I’ve even added Dc/Dc converters for -5 and 12V for the Atari expansion, there are provisions for cinch jacks, but the Atari doesn’t go through RGB, and unless you use the 9918A chip you’ll only have B/W on the cinch jack. In short: I haven’t tried it.

 

#5 I have no idea. I didn’t find much information, but I didn’t look hard. I didn’t want to build a competitor for anything. I did add the AY chip and a few registers to unmap BIOS, enable RAM mirroring (which only one game relies on AFAIK) enabling the use of 32K RAM and 40K ROM (basically 8K BIOS plus 32K built in cart). Haven’t tested that yet. I also added a register to read data from USB, so the beast could be used to download games to the low 32K RAM. No good for pirating, but great for home brew development on real hardware.

 

#6 sure. Do you have the schematics?

 

 

Link to comment
Share on other sites

I’m thinking of removing the “insert cart” screen and instead enabling the high 32K ROM and jumping there, which would allow an arbitrary built in game (DK?).

 

Or should I rather put the USB bootloader there? Insert cart to play, or download stuff from USB if no cart present. 
 

Hmmm…

Link to comment
Share on other sites

9 hours ago, Ikrananka said:

 

  1. Is it compatible with Opcode’s SGM?

 

I did add the following registers:

 

0x50: Write AY3-8910 address register

0x51: Write AY data

0x52: Read AY data

0x53: bit 1: 0 (default): A12 tied high for RAM mirroring

                  1: full RAM access from 2000-7FFF

0x54: USB FIFO read data

0x55: bit 1: 0 (default): 8000-ffff cartridge 

                   1: 8000-ffff upper 32K of 64 onboard (Bios) EPROM 

0x7F: bit 1: 0: 0000-1FFF RAM

                  1 (default): 0000-1fff BIOS

 

The two 8 bit ports of the AY have their own jumpers, so it’s possible to add e.g. a keyboard.

Also there are sockets for GAL16V8 and 20V8 chips for even more playing.

 

 

Quote

 

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, fieroluke said:

I did add the following registers:

 

0x50: Write AY3-8910 address register

0x51: Write AY data

0x52: Read AY data

0x53: bit 1: 0 (default): A12 tied high for RAM mirroring

                  1: full RAM access from 2000-7FFF

0x54: USB FIFO read data

0x55: bit 1: 0 (default): 8000-ffff cartridge 

                   1: 8000-ffff upper 32K of 64 onboard (Bios) EPROM 

0x7F: bit 1: 0: 0000-1FFF RAM

                  1 (default): 0000-1fff BIOS

 

The two 8 bit ports of the AY have their own jumpers, so it’s possible to add e.g. a keyboard.

Also there are sockets for GAL16V8 and 20V8 chips for even more playing.

 

 

 

Just as a heads up, the following ports are used on the Phoenix, so if you are using these ports for different purposes it is possible for games to have some weird issues.

 

-- Extended I/O Ports
  --
  -- Port CPU Data
  -- --------------
  -- >50 WWWWWWWW (W) WSG / SGM-PSG Address Write
  -- >51 WWWWWWWW (W) WSG / SGM-PSG Data Write
  -- >52 RRRRRRRR (R) WSG / SGM-PSG Data Read
  -- >53 xxxxxx_W (W) 0 = SGM disable, 1 = SGM enable
  -- xxxxxxW_ (W) 0 = SGM Sound AY-8910, 1 = SGM Sound SEX-7264
  --
  -- >54 xxxxWWWW (W) 32K RAM bank select, 0000 is ignored
  -- xxxxRRRR (R) current bank
  --
  -- >55 xxxxxxxx (R) Loader disable, PoR re-enabled ROM loader
  -- xx__xxWW (W) Banking scheme
  -- 00 None, physical cartridge, other bits ignored
  -- 01 MegaCart: bank is address access >FFC0+bank
  -- 10 SGM: Bank is data written to >FFFF
  -- 11 Atari: >FF80, >FF90, >FFA0, >FFB0 ???
  -- xxWWxx__ (W) Select the upper memory operation:
  -- 00 32K Upper Internal RAM, ignores bank scheme
  -- 01 32K Expansion ROM, uses bank scheme
  -- 10 32K Upper Expansion RAM, uses bank scheme
  -- 11 32K Cartridge ROM, ignores bank scheme
  --
  -- >56 xxxxxx_W (W) SD-card CE_n (AKA SS_n), 0=enable
  -- xxxxxxW_ (W) SD-card speed, 1=400KHz, 0=12MHz
  -- RxxxxxRR (R) SD-card card-detect, bit >80 1=card inserted
  --
  -- >57 WWWWWWWW (W) SD-card Data Write
  -- RRRRRRRR (R) SD-card Data Read
  --
  -- >58 00001000 (R) Machine ID, Phoenix = 8
  --
  -- >59 xxxWWWWW (W) MegaCart memory size
  -- other 512K
  -- 11111 512K, 32 16K-banks
  -- 01111 256K, 16 16K-banks
  -- 00111 128K, 8 16K-banks
  -- 00011 64K, 4 16K-banks
  -- 00001 32K, 2 16K-banks (same as original cart)
  --
  -- >7F xxxxxxWx (W) 0 = 8K SGM RAM, 1 = 8K CV BIOS
  --
  • Like 1
Link to comment
Share on other sites

47 minutes ago, Bmack36 said:

 

 

Just as a heads up, the following ports are used on the Phoenix, so if you are using these ports for different purposes it is possible for games to have some weird issues.

Good info, thanks. Looks like I'm semi-compatible:

 

Port 50-52 is working the same as my board. my AY-8910 is always enabled though. Good point, maybe it should be disabled to avoid freaky sounds if not initialized.

 

Port 53 is obviously different. Do you know what else the SGM contains. Are you sure about the meaning of bits 1 and 0? I enable the extra 32K on bit 1 and not bit 0 (easy fix).

 

Port 54 is a read only port on both, but it's only used by my bootloader when using USB, reading it won't hurt.

 

Port 55 also messes with banking, but obviously quite differently.

 

Port 7F works the same I guess.

 

Is there some more in-depth info on the SGM openly available?

 

47 minutes ago, Bmack36 said:

 

-- Extended I/O Ports
  --
  -- Port CPU Data
 

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

  -- >50 WWWWWWWW (W) WSG / SGM-PSG Address Write
  -- >51 WWWWWWWW (W) WSG / SGM-PSG Data Write
 

-- >52 RRRRRRRR (R) WSG / SGM-PSG Data Read

  -- >53 xxxxxx_W (W) 0 = SGM disable, 1 = SGM enable
  -- xxxxxxW_ (W) 0 = SGM Sound AY-8910, 1 = SGM Sound SEX-7264
  --
  -- >54 xxxxWWWW (W) 32K RAM bank select, 0000 is ignored
  -- xxxxRRRR (R) current bank
  --
  -- >55 xxxxxxxx (R) Loader disable, PoR re-enabled ROM loader
  -- xx__xxWW (W) Banking scheme
  -- 00 None, physical cartridge, other bits ignored
  -- 01 MegaCart: bank is address access >FFC0+bank
  -- 10 SGM: Bank is data written to >FFFF
  -- 11 Atari: >FF80, >FF90, >FFA0, >FFB0 ???
  -- xxWWxx__ (W) Select the upper memory operation:
  -- 00 32K Upper Internal RAM, ignores bank scheme
  -- 01 32K Expansion ROM, uses bank scheme
  -- 10 32K Upper Expansion RAM, uses bank scheme
  -- 11 32K Cartridge ROM, ignores bank scheme
  --
  -- >56 xxxxxx_W (W) SD-card CE_n (AKA SS_n), 0=enable
  -- xxxxxxW_ (W) SD-card speed, 1=400KHz, 0=12MHz
  -- RxxxxxRR (R) SD-card card-detect, bit >80 1=card inserted
  --
  -- >57 WWWWWWWW (W) SD-card Data Write
  -- RRRRRRRR (R) SD-card Data Read
  --
  -- >58 00001000 (R) Machine ID, Phoenix = 8
  --
  -- >59 xxxWWWWW (W) MegaCart memory size
  -- other 512K
  -- 11111 512K, 32 16K-banks
  -- 01111 256K, 16 16K-banks
  -- 00111 128K, 8 16K-banks
  -- 00011 64K, 4 16K-banks
  -- 00001 32K, 2 16K-banks (same as original cart)
  --
  -- >7F xxxxxxWx (W) 0 = 8K SGM RAM, 1 = 8K CV BIOS
  --

 

 

47 minutes ago, Bmack36 said:

 

 

 

 

 

Link to comment
Share on other sites

14 hours ago, fieroluke said:

#1 yes, I’m aware of that. I don’t have access to an NTSC case, but it’s two simple round holes for power and Mini-DIN. Maybe I’m going to design a new (compact) case to 3D print. First things first though.

Cool.  If you need any measurements taken of an NTSC case to verify where the openings are let me know.

 

14 hours ago, fieroluke said:

#2 the new switches are in the same locations as the original ones. I’m going to 3D print mechanical adapters to bring these to the proper height/dimensions.

Fantastic.

14 hours ago, fieroluke said:

#3 no, I haven’t. I pretty much included the TMSRGB circuitry as an experiment. Like the whole thing was an experiment I started a month ago.

Might be worth having a chat with Falonn if you want to finalise that part of the circuit.

14 hours ago, fieroluke said:

#4 well, theoretically yes, I’ve even added Dc/Dc converters for -5 and 12V for the Atari expansion, there are provisions for cinch jacks, but the Atari doesn’t go through RGB, and unless you use the 9918A chip you’ll only have B/W on the cinch jack. In short: I haven’t tried it.

As a drop in replacement board, I think this is a must (although some others may disagree).  Like the existing TMSRGB (and some other video mods such as the F18A), I totally get that these are only for the video output from the TMS9918A VDPs.  What I was hoping for was that the separate composite output jack could output the expansion module video signal.

 

14 hours ago, fieroluke said:

#5 I have no idea. I didn’t find much information, but I didn’t look hard. I didn’t want to build a competitor for anything. I did add the AY chip and a few registers to unmap BIOS, enable RAM mirroring (which only one game relies on AFAIK) enabling the use of 32K RAM and 40K ROM (basically 8K BIOS plus 32K built in cart). Haven’t tested that yet. I also added a register to read data from USB, so the beast could be used to download games to the low 32K RAM. No good for pirating, but great for home brew development on real hardware.

My question was really asking if the board was close enough to a standard CV motherboard that an Opcode SGM would work when plugged in.

 

14 hours ago, fieroluke said:

#6 sure. Do you have the schematics?

Great.  I'll drop you a PM in the coming days.

Link to comment
Share on other sites

1 hour ago, Ikrananka said:

Cool.  If you need any measurements taken of an NTSC case to verify where the openings are let me know.

 

Fantastic.

Might be worth having a chat with Falonn if you want to finalise that part of the circuit.

As a drop in replacement board, I think this is a must (although some others may disagree).  Like the existing TMSRGB (and some other video mods such as the F18A), I totally get that these are only for the video output from the TMS9918A VDPs.  What I was hoping for was that the separate composite output jack could output the expansion module video signal.

 

My question was really asking if the board was close enough to a standard CV motherboard that an Opcode SGM would work when plugged in.

 

Great.  I'll drop you a PM in the coming days.

Maybe I can create a PDF of the board at 1:1 scale for you to print out…?


i have an expansion module, I can try it out. My biggest concern would be power consumption. Right now the hardware draws about 250mA, the supply is good for one Amp. The video out is on the board and so are the two cinch jacks.


The SGM would not be compatible I’m afraid, but the sound generator is on board, should be compatible and games properly detecting its presence will find it. I’ll try to make the 32K RAM compatible with it as well somehow, so games running will detect it as an ADAM.

 

Edited by fieroluke
Typos
Link to comment
Share on other sites

On 10/18/2021 at 12:05 AM, fieroluke said:

I don’t know yet. I do have some extra boards, but shipping to the US is ridiculously expensive these days…

Interested in one board and located in Europe here ?

Link to comment
Share on other sites

@fieroluke 

 

Have you considered reaching out to Opcode Games on maybe a collaboration to ensure your new board can be used with the Super Game Module 2 he is developing?  I think in my opinion your board running the expansion module like the SGM 2 would be amazing.  Can you all imagine a stable hardware Colecovision that has both retro and modern ports and plays everything?  That is the dream!

 

In any case super excited to hear about your project! Good luck, looking forward to following it!

  • Like 2
Link to comment
Share on other sites

On 10/20/2021 at 4:32 AM, imstarryeyed said:

@fieroluke 

 

Have you considered reaching out to Opcode Games on maybe a collaboration to ensure your new board can be used with the Super Game Module 2 he is developing?  I think in my opinion your board running the expansion module like the SGM 2 would be amazing.  Can you all imagine a stable hardware Colecovision that has both retro and modern ports and plays everything?  That is the dream!

 

In any case super excited to hear about your project! Good luck, looking forward to following it!

Actually I haven’t. Since my board will contain at least some of the SGM capabilities including RAM and sound (so hopefully some SGM games will run on it), and the expansion bus on my board only supports the Atari expansion module I’m not sure how Opcode Games will feel about it.

 

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...