SC126 and JBLang colecovision cards

387 views
Skip to first unread message

Andrew Tracy

unread,
May 5, 2022, 3:52:41 PM5/5/22
to RC2014-Z80
Has anyone been able to get the SC126 to work with JBLang's game board set for colecovision?

https://hackaday.io/project/159057-game-boards-for-rc2014

I've managed to get the video card to work in sord M5 mode and am able to run his Nyan, Sprite, and mandel example.

But if I set it up the video card as the colecovision setup the demos report that the TMS9918Ais not found and it aborts.

I've tried it with a 7.368mhz crystal and the system set to half speed for 3.6mhz.  The demos when the video card is setup as sord M5 runs fine at 3.6/7.3/or even the 18mhz setup. 

I'm using his CPM launcher.  And it reports the game has started (from terminal), but nothing will display on the screen. 

Augusto Baffa

unread,
May 5, 2022, 8:33:18 PM5/5/22
to rc201...@googlegroups.com
Hi, 
  It only works on 3.6mhz (near to colecovision original clock of 3.58 MHz) and you need to set the  jumpers on TMS9918 and SN76489 correctly. Also, the CPM launcher needs 512KB + RomWBW to run because of the paging address of the original RC2014 project and the sound card should be used with just one SN76489 chip (U1) .

Best,

Augusto Baffa


--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/e41abd96-bef7-4864-bd4b-90c896e23e18n%40googlegroups.com.

Andrew

unread,
May 5, 2022, 8:40:55 PM5/5/22
to rc201...@googlegroups.com
I've tried it in 3.6mhz.  (Using a 7.2mhz crystal and the rom set to half speed)  The jumpers are set as described in his documentation.  But the video demos only work in sord m5 mode.  (Neither the Colecovision or MSX settings work)  I'm running RomWBW and it has 512k.  I am not even able to get it to run just the video card alone in the demos in the colecovision setting.  Now I didn't know that the sound card needs to have just U1 installed.  I'll pull out the other chip and try that tomorrow.  But I'm not sure why the video only works in the sord mode only.  

You received this message because you are subscribed to a topic in the Google Groups "RC2014-Z80" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/rc2014-z80/quaTaskbuXU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to rc2014-z80+...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/CAFxfXNNoYAMmHWeka19_FAjEBHmNgy1xkHyHQ5YkTPfjTNn-Vw%40mail.gmail.com.

Mark T

unread,
May 5, 2022, 8:57:58 PM5/5/22
to RC2014-Z80

Sord M5 has the 9918 base address at 0x10, so you might need to change the base address of your 9918 to work with MSX or Coleco vision modes.

Setting 9918 address at 0x10 will probably cause a problem with the compact flash module.

Augusto Baffa

unread,
May 5, 2022, 9:00:03 PM5/5/22
to rc201...@googlegroups.com
I found a problem with the addressing of the second chip (U4). Langston said he only added the second 'cos had space to it but never used both. Also the mono configuration only used the sound of the first chip.

I had some problems with the original settings but I don't remember the positions of my jumpers. I can check and tell later. 

Those are some adjustments I did to my board in order to use both chips correctly. 

That is related to the IC4's !CE and !WE wires. I created !CE1 and !CE2 to correctly manage the IN_CLK value. 
In the original schematics the IN_CLK is only activated when !CE1 from IC1(U1) is activated.

image.png

and that to adjust the impedance:

image.png
 
Use the vgmplay attached with some dual chip music to test the soundcard and if both chips are working correctly together... for example, Pitfall 2 music used two sn76489 chips to create the music.

I'm designing my own Z80 computer boards but I followed the schematics from JBLang to create my own versions...
Here there is an example of the VGPLAY musics using two chips: 


and another running full coleco from CPM loader:


and the nyan video demo from Langston:



Best, 

Augusto Baffa


vgmplay.zip

Andrew

unread,
May 5, 2022, 9:09:14 PM5/5/22
to rc201...@googlegroups.com
I'm running the SC126 main board (Z180).  Storage is on the SD card adapter.  There isn't a CF on it.  I'm only able to get it to work on the Sord setting.  The Coleco and MSX simply times out on demos and states the 9918 wasn't found and it aborts. 

J.B. Langston

unread,
May 6, 2022, 4:42:58 PM5/6/22
to RC2014-Z80
I have an SC126 and I've used my game boards with it successfully with it in the past. I usually use the ColecoVision jumper settings.  I was running it with the stock crystal. The demos I wrote are designed to insert enough nop instructions so that they can run on the SC126 at full speed.

The Z180 ColecoVision loader also enables the clock divider configures the Z180 to add the maximum number of wait states to slow it down enough so that most games will run:  https://github.com/jblang/GameController/blob/master/examples/z180load.asm#L120-L126

Note that some games will still not work: those that use undocumented Z80 instructions not implemented on the Z180 such as Tetris, and ones that rely on very specific timing, such as Galaxian.

The ColecoVision loader also already relocates the Z180 ports out of the way of the sound card here: https://github.com/jblang/GameController/blob/master/examples/z180load.asm#L112-L114

Make sure you're also setting the interrupt jumper correctly.  MSX uses INT while ColecoVision and Sord use NMI. ColecoVision games will not run if the jumper is set wrong.  The demos I wrote use polling of the TMS9918 interrupt flag rather than relying on the interrupt lines so they should work either way.

Can you try to hard code the port into my demos and see if it really doesn't work or if the detection is just flaky?

You can hard code the port by commenting out the `call TmsProbe` line in the demo and adding the following lines:

        ld      a, 98h
        ld      (TmsPort), a

Use whatever port you have the jumpers set to (MSX or ColecoVision).

I have not tested this on the SC126 in probably over a year so it's possible a new version of RomWBW changed something that broke things, but I doubt it.  I don't have my system hooked up right now but if I have time I will do some testing this weekend.  

Augusto Baffa

unread,
May 6, 2022, 4:58:05 PM5/6/22
to rc201...@googlegroups.com

Hi Langston, 

    I'm using the latest version of RomWBW and it's fine. But I remember that I first configured the TMS9918 using the pictures from your github repos and did not work. Then I checked the schematics and changed some jumpers (maybe just one position) and got the video working.

   I'll check tomorrow my jumpers and send another message. Once again... thanks for a great job with these boards :)
  
Best, 

Augusto Baffa


Augusto Baffa

unread,
May 7, 2022, 11:10:57 AM5/7/22
to rc201...@googlegroups.com
Hi Andrew, 

   these are my settings for colecovision:

JP1 A1/A2 = !E1   -O (gnd position)
JP2 A3 = E3        -O (vcc position)
J6 !E2                 O|| (gnd position)
J4 A7/A6/A5  |||||O|| (101X1XXX) Address A8-BF
JP4 !INT/!NMI     -O (!NMI Position)

---------------------------------------
The settings from the picture at Langston's git repos are (probably MSX):

JP1 A1/A2 = !E1   -O (gnd position)
JP2 A3 = E3         -O (vcc position)
J6 !E2                  ||O (!A4 position)
J4 A7/A6/A4   ||||O||| (10001XXX) Address 88-8F
JP4 !INT/!NMI      -O (!NMI Position)

Have u tried other settings / platforms or are u first trying to use Sord M5? 'cos u can first test all the boards and than try to solve ur problem with Sord M5.
As Mark Said, there is a possible conflict to Sord M5 if u're using the RC2014 CFCard board 'cos it uses 0x10 address. 
I'm using the RC2014 IDE Card that uses 0x08-0x0d addresses.

Best, 

Augusto Baffa

Andrew

unread,
May 7, 2022, 4:22:31 PM5/7/22
to rc201...@googlegroups.com
J4 was the problem.  I moved it over to how your was setup amd it works now! 

Augusto Baffa

unread,
May 7, 2022, 4:57:55 PM5/7/22
to rc201...@googlegroups.com
yeah... I got influenced by the picture during my first test and did the same mistake xD 

Andrew

unread,
May 7, 2022, 5:33:29 PM5/7/22
to rc201...@googlegroups.com
Well, according to the github it said 2nd from right, which is how I had it.  I'm just glad it works now.

shadow 338

unread,
May 17, 2022, 9:04:13 AM5/17/22
to RC2014-Z80
I recently bought all 3 JBLang colecovision cards and they work great. Kudos for him and a big thanks for sharing this project with the retro community.

Regarding the SN76489 module, I wanted to test and play some VGM tunes so I tried to compile 'vgmplayer.asm' (from jblang repo) using sjasm/sjasmplus but I always get errors:

"Unrecognized instruction: usenmi" and "Duplicate label if/else/endif".

however I was able to compile free of errors with 'pasmo', but when I try to play a VGM file under CP/M I see "vgm loaded" however no audio is produced.

The VGM tune is from a 'Game Gear' console game (which also uses the SN76489 chip.
I left the SN76489 module with the Colecovision jumper settings as I believe this does not have to be changed for vgmplayer to work correct?

Did you guys ever had any luck with the SN76489 module with the 'vgmplayer' software? If yes, can you tell me about your setup and which tunes you tested? At this point I'm trying to rule out any issues with the compiled vgmplayer.


Thanks in advance.

J.B. Langston

unread,
May 17, 2022, 6:52:28 PM5/17/22
to RC2014-Z80
The vgm player in my repo was unfinished. There is an improved one by someone else in this thread: https://groups.google.com › rc2014-...
VGM Player w/multi chip support - Google Groups

shadow 338

unread,
May 18, 2022, 10:23:46 AM5/18/22
to RC2014-Z80
thanks JB Lang! that version works much better!
Message has been deleted

Ben Hamilton

unread,
Aug 25, 2025, 4:57:33 AM8/25/25
to RC2014-Z80
Hi All

I built the z80ctrl  TMS9918 and SN76849 cards.  

TMS9918:  I could only get the demos (NYAN, Mandel etc from the examples in JB Langston's github project) working under z80 ctrl when configured to MSX /Sord config. 

 could not get coleco games working. It was driving me crazy.  THen I stumbled upon this thread and I changed jumper 4 to 3rd from right (rather than second from right which were in the build instructions).  I now have the TMS running coleco video on both CPM and the z80ctrl!  

for CPM I used sjamsplus to compile JB :angston loader.asm and the coleco.rom  (sjasmplus loader.asm ---raw=coleco.com) and then transferred to rc2014 using XM.  I used the 512KB RAM/ROM.

for zctrl I used the built in coleco cli.  I'm using the 64KB RAM with base address set 0x000 on the jumpers.

SN76489:  I managed to get this to play VGM files under both CPM and zctrl (using the VGPLay files https://groups.google.com/g/rc2014-z80/c/9nHnETJzGKU/m/EK6CtJA5AgAJ  ).

So the games are loading successfully!  Yay!  I'm now about to commence building the controller.

Many thanks to JBL and others.  I've learnt a great deal about the z80, memory, video, assembler during this build.

Cheers
Ben
Reply all
Reply to author
Forward
0 new messages