SID Interface, designed for the RC2014

521 views
Skip to first unread message

Colin Piggot

unread,
Jun 20, 2020, 7:13:21 AM6/20/20
to RC2014-Z80
Hi,

Presenting my first module for the RC2014, a SID Soundchip Interface to use the classic Commodore C64 SID soundchip.

I've been a long time developer for the Z80 based 'SAM Coupe' computer, something like 26 years now. I've created all sorts of hardware, software and magazines for it, including last year an expansion to give it two RC2014 Bus slots. Back in 2003 I gave the SAM a SID Interface and following a tweet a couple weeks ago where someone asked if that interface could attach to RC2014 I set about making a dedicated version along with some extras built in. 

Fast forward to today, the RC2014 version is designed, tested and ready to ship.

It plugs into a standard RC2014 slot and allows the Z80 (or other host CPU) to write to the registers of the SID chip. There's also a set of jumpers to configure the base I/O address for it and to assist timing I've also added an interrupt generator which can be set to generate approximately 50/60/100Hz interrupts (timed to match the frame rate of the Commodore 64). The sound output is via a stereo 3.5mm socket on the side of the interface into which you would then connect an amplified speaker. (With the SID output being mono the same signal is fed to both the left and right channels.) 

I'll be supplying the SID Interface built up, without a SID soundchip - you'll have to fit your own SID or use a modern replacement such as SwinSID etc.With there being two types of original SID (6581 - from the original C64, and the 8580 from C64C) the interface has to be specifically customised when ordered for the chip that is going to be fitted due to different supply voltages and filter capacitors it'll require.

Over the last few days I've been tweeting some of it's development and testing from when my first batch of PCBs arrived for it. There's some Q&A too posted there. (https://twitter.com/QuazarSamCoupe). I'll be creating a webpage for more details, but it is available now for £49.99 + postage. I've an eBay listing up at the moment and can also be contacted via Twitter or email through my site at: www.samcoupe.com.

Colin
rcsidbuilt.jpg

Alan Cox

unread,
Jun 20, 2020, 10:23:03 AM6/20/20
to rc201...@googlegroups.com
Over the last few days I've been tweeting some of it's development and testing from when my first batch of PCBs arrived for it. There's some Q&A too posted there. (https://twitter.com/QuazarSamCoupe). I'll be creating a webpage for more details, but it is available now for £49.99 + postage. I've an eBay listing up at the moment and can also be contacted via Twitter or email through my site at: www.samcoupe.com.

Nifty - we do have 6502/65C02 and 65C816 CPU cards for RC2014 so that may be a better way of playing C64 chiptune type stuff on RC2014 systems.

In an odd co-incidence I've just been building the test board for an SAA1099 sound card for RC2014 to match the Sam Coupe sound. Just need to order the oscillator for it.

Alan

Colin Piggot

unread,
Jul 8, 2020, 5:20:00 PM7/8/20
to RC2014-Z80
That's the cards now available and the first handful have shipped out. eBay link: https://www.ebay.co.uk/itm/114275049629

 
Nifty - we do have 6502/65C02 and 65C816 CPU cards for RC2014 so that may be a better way of playing C64 chiptune type stuff on RC2014 systems.

Interesting, admittedly I've not really looked at non-Zilog CPU boards for the RC2014 as I'm still very new to the ecosystem and the Z80 is my processor of choice, but the CPU used would depend on what you are looking to do I guess. While a 6502/65C816 card would be an easy way of using existing playcode from the C64, the 6502 be emulated on the Z80 for realtime playback of the C64 code within .sid files. 

I'm really interested to see what develops when starting from scratch on any processor to drive the interface. A new multiplatform SID tracker would be somewhat funky!

But now you've mentioned the other CPU cards, I'd be grateful for info on what is available, and how do they handle punching holes in their memory map to address I/O handling? One card I did see only maps 0xC000 - 0xC0FF as I/O to assert /IORQ, which would be no good. As my SID Interface is derived from my SAM Coupe card, which was designed purely for the Z80, the RC2014 version is the same. I use a set A0-A7 base address then rely of A8-A15 and D0-D7 to act as a way to output a 16-bit value to control all aspects of the card.
 
Colin

Alan Cox

unread,
Jul 8, 2020, 6:39:27 PM7/8/20
to rc201...@googlegroups.com
But now you've mentioned the other CPU cards, I'd be grateful for info on what is available, and how do they handle punching holes in their memory map to address I/O handling? One card I did see only maps 0xC000 - 0xC0FF as I/O to assert /IORQ, which would be no good. As my SID Interface is derived from my SAM Coupe card, which was designed purely for the Z80, the RC2014 version is the same. I use a set A0-A7 base address then rely of A8-A15 and D0-D7 to act as a way to output a 16-bit value to control all aspects of the card.

The majority map FExx as I/O and are 8bit wide. The 68008 card is the only one afaik that can do 16bit I/O right now.

Alan

Colin Piggot

unread,
Jul 9, 2020, 4:18:15 AM7/9/20
to RC2014-Z80
The majority map FExx as I/O and are 8bit wide. The 68008 card is the only one afaik that can do 16bit I/O right now. 

Thanks Alan.

I should perhaps take a look at the 68008 card, I've never been near the 68K CPU series!

Colin 

Colin Piggot

unread,
Jul 12, 2020, 7:05:38 AM7/12/20
to RC2014-Z80
Great to see the first bit of software on the RC2014 driving my SID Interface. Written by @shieladixon on Twitter, with video -> https://twitter.com/shieladixon/status/1282235184457428994

Colin

Colin Piggot

unread,
Jul 31, 2020, 9:02:52 AM7/31/20
to RC2014-Z80
Another update on Twitter from @shieladixon with video -> https://twitter.com/shieladixon/status/1287880734028439553
"I finally have gliss (portamento / slide) working in my RC2014 SID driver. To test it, this is a tune I already had with lots of them. "

I've also now got a dedicated website up for my interfaces for the RC2014 -> https://2014.samcoupe.com/

Colin


david.t...@gmail.com

unread,
Apr 19, 2021, 5:45:50 AM4/19/21
to RC2014-Z80
Just checking - will this work with ARMSid as well?

Thanks

D

Colin Piggot

unread,
Apr 20, 2021, 3:45:42 AM4/20/21
to RC2014-Z80
Yes, ARMSID work's perfectly with it. By default, if you've not edited the settings on it, the ARMSID will start up in either 6581 or 8580 mode depending on what voltage your SID Interface has been configured as, but it's mode and filter settings can then be changed by writing to extra registers.

If you're thinking of getting the SID Soundchip Interface, you can get 10% off all any of my interfaces on Tindie, use discount code QUAZAR10 -> https://www.tindie.com/stores/quazar/

Colin
----
Twitter -> @QuazarSamCoupe

armsid.jpg

Colin Piggot

unread,
Jul 22, 2021, 4:05:08 AM7/22/21
to RC2014-Z80
Over on Twitter @jskists has put up his first video demo of his RC2014 port of Simon Owen's SID Player code, which emulates the 6502/10 CPU on the Z80 in order to execute the code in .sid tunes and play through them through the SID Soundchip Interface. (Simon's code was originally written back in 2004 to drive my first SID Interface which was for the SAM Coupe, so it's great to see it being ported over to drive my new one!)

https://twitter.com/jskists/status/1417595619728793602

Colin
----
SID Soundchip Interface + Graphic OLED Interface, for RC2014 -> 2014.samcoupe.com
Twitter -> @QuazarSamCoupe

Christopher Mallery

unread,
Jul 22, 2021, 11:50:00 AM7/22/21
to rc201...@googlegroups.com
I have it working with an ArmSID.

--
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/cc953304-35a4-41be-9eea-03637f88715an%40googlegroups.com.

Colin Piggot

unread,
Jul 29, 2021, 5:00:59 AM7/29/21
to RC2014-Z80
I finally built up a RC2014 Mini kit yesterday and jumped into learning Microsoft BASIC, so I've now written a routine for controlling the SID Soundchip Interface from BASIC...

10 DATA 205,7,10,123,66,14,84,237,121
20 DATA 0,0,0,203,248,237,121,195,125,17
30 FOR A=-1024 TO -1006
40 READ D
50 POKE A,D
60 NEXT A
70 POKE -32695,0
80 POKE -32694,252
100 LET A=USR(6195)
101 LET A=USR(1280)
102 LET A=USR(1776)
103 LET A=USR(1041)
110 FOR D=256 TO 511
120 LET A=USR(D)
130 NEXT D
140 GOTO 110

Lines 10 to 60 POKE in a short assembly routine for OUTing data to a specific SID Register. LINES 70 to 80 point the USR address to the code that's been POKEd in at address 64512. (Written for the 32K BASIC, the POKEs in likes 70/80 can be changed to point to the correct point for USR address for the 56K version.)

Now the SID chip can be written to with USR ( (SID-REGISTER * 256) + VALUE )

Lines 100 to 140 as a demonstration do a siren effect using one of the channels.


On Thursday, July 22, 2021 at 4:50:00 PM UTC+1 Christopher wrote:
> I have it working with an ArmSID.

I've got Z80 code working for changing the ARMSID configuration (6581+filter settings / 8580), I'll write it up and put up routines for assembler and MS BASIC in the near future.
 
Reply all
Reply to author
Forward
0 new messages