L

CPC Speak&SID - Speech / SID / MIDI Synth, and Universal IO CPC Expansion Card

Started by LambdaMikel, 16:58, 31 May 18

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

DaDMaN

Quote from: LambdaMikel
Thank you! Well, this one has only one SID - yes I looked at the SAM Coupe SIDPlayer code, and also there is another version based on that one that uses the AY for "SID Emulation".
https://cpcrulez.fr/applications_music-sid_player.htm

Both of them will required some work for me. If yours is readily available, I'd give that a try  ;)
Some more pics - I have send the PCBs to OshPark for a first run.

Searching on my harddrive all I found is a DSK file with the working code (RUN"SWINSID") and one piece of ASM code (WinApe32 friendly) with the player generator adapted by SyX.

Here you have  :)

LambdaMikel

Very very cool, thanks a lot! That  should be easy to adapt for Speak&SID...

LambdaMikel

Just lost 2 Z80's and my M4 due to the "SID CHIP OF DEATH" - hence a warning to not repeat my mistake  ::)

Thought I could save a couple of $$$ on Ebay by buying an "untested" 8580 R5 - I should have known better. Supplied the SID with its 9 V, turned on the CPC - and that was it. Of course, I had to try an other CPC  ::) - same  result.  :doh: :picard2:
Luckily and to my surprise, the CPC's did survive the data / address bus 9 V overvoltage without any further damage - both RAM and Gate Arrays are fine, but the Z80's as well as the M4 got fried  :-[ The CPC's are already  up and running again (I have a couple of spare Z80's). The M4 won't boot anymore and locks the CPC now  :-[ :(

So, either there was a short in the SID, or it was a fake / relabeled one....

GUNHED

Well, you're using c64 chips. They are evil! They are satanic! They are killers!  :o  Don't use that dark stuff anylonger and come back to the purity of Z80 world. Add any other sound chip if desired, but not that commodore crap! I'm really sorry to hear that the M4 is still not working.  :(
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

DaDMaN

Quote from: LambdaMikel on 08:56, 24 October 19
Just lost 2 Z80's and my M4 due to the "SID CHIP OF DEATH" - hence a warning to not repeat my mistake  ::)

Thought I could save a couple of $$$ on Ebay by buying an "untested" 8580 R5 - I should have known better. Supplied the SID with its 9 V, turned on the CPC - and that was it. Of course, I had to try an other CPC  ::) - same  result.  :doh: :picard2:
Luckily and to my surprise, the CPC's did survive the data / address bus 9 V overvoltage without any further damage - both RAM and Gate Arrays are fine, but the Z80's as well as the M4 got fried  :-[ The CPC's are already  up and running again (I have a couple of spare Z80's). The M4 won't boot anymore and locks the CPC now  :-[ :(

So, either there was a short in the SID, or it was a fake / relabeled one....


And that's the reason I never used original SID ICs from canivalized C64 computers. Only "new" and 5v TTL signal compatible ICs (and 3.3v with TTL signal tolerance, of course) will be connected to my beloved CPC when designing new hardware projects, hehehehe.  ;)

LambdaMikel

Quote from: GUNHED on 12:26, 24 October 19
Well, you're using c64 chips. They are evil! They are satanic! They are killers!  :o  Don't use that dark stuff anylonger and come back to the purity of Z80 world. Add any other sound chip if desired, but not that commodore crap! I'm really sorry to hear that the M4 is still not working.  :(
"I AM YOUR ... SID"  :o :laugh: SID = 666 = (|IS (SID rotated by 180 degrees!)   
But hey, it IS a Halloween Project  :)
I will continue prototyping with SwinSID and ARM SID should come soon too  :)

Playing with 9 V / 12 V for the different original SIDs in combination with the CPC is of course a bit like playing with fire. There isn't much you can do to protect the CPC busses from that if things go haywire... welll you could probably check in a C64 first, that way the damage is not so severe if the s**** hits the fan.  But if you have a known working "good" SID from the Light Side of Force, then it should be fine.

GUNHED

It's a pity, you put so much time, work and dedication into this (and other) project(s), and then this crap happens. Hope Duke can help you with the M4 in case in needs to travel overseas.  :-\
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

LambdaMikel

Quote from: GUNHED on 15:32, 24 October 19
It's a pity, you put so much time, work and dedication into this (and other) project(s), and then this crap happens. Hope Duke can help you with the M4 in case in needs to travel overseas.  :-\

Yes, @duke really rocks, he immediately offered to help me out  :) Thanks a lot!!!

LambdaMikel

My ARMSID arrived - it works great and sounds a bit more authentic (and warmer / more analog) than the SwinSID.
It also does the OSC3 readout correctly - it is a bit more expensive, but the developers did a great job I must say. Impressed.

LambdaMikel

Allright, it is done  :)
The first design worked out of the box - once again, breadboard prototyping paid off.

Software and SID player are coming soon. And then the Open Source Github repo with everything.

I hope that some people will have fun with it. A generic UART / Serial Port and GPIO CPC interface is already supported by the firmware. I still need to add a generic CPC interface for I2C and SPI functions. But since the firmware will be open source on Github, everbody can also easily add support for their I2C / SPI device on their own. And communication with the CPC (in both directions) is of course already implemented.

EDIT: I will have the SID oriented the other way in the next PCB revision...


LambdaMikel

Quote from: DaDMaN on 12:18, 23 October 19
Searching on my harddrive all I found is a DSK file with the working code (RUN"SWINSID") and one piece of ASM code (WinApe32 friendly) with the player generator adapted by SyX.

Here you have  :)
Thanks again! Wasn't a lot of work to get it working with Speak&SID - after studying the ASM for 2 hours  ;) 
So, here is your SID Player with Speak&SID playing the original SID 6581.


https://youtu.be/xVo5ycUuM5Q

HAL6128

...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

LambdaMikel

Quote from: HAL 6128 on 07:57, 04 November 19
@LambdaMikel : have you already tried the FPGASid (http://fpgasid.de/)?
Not yet, and it seems it is a bit too large to fit in the socket? I could make another PCB revision with more space though, if that's important to people... Also, it is a bit too pricey IMHO (74,95 €....)



EDIT: No, sorry. The price of FPGASid is prohibitive, I am not going to support it. There are three perfect SID options already (real SIDs, ARMSID, SwinSID). More is unnecessary.


LambdaMikel

New video - line out recording and LEDs


https://youtu.be/FXDS3pdf-w8
In the meantime, the 2nd PCB revision arrived. I can make about 5 to 6 of these for now.
Please PM if you like to get one (50 $ + 10 $ Shipping).  Without (Swin / ARM / real) SID of course.

LambdaMikel

I have uploaded the firmware C source to the GitHub by now.


The firmware still misses some generic functionality for I2C and SPI (UART / Serial Interface and GPIO is there), but I will add some CPC IO functions for these soon.


I'll also port my MIDI CPC demo, and then probably do the Real Time Clock for I2C and maybe SD Card demo for SPI.

GUNHED

Quote from: LambdaMikel on 19:38, 11 November 19
I'll also port my MIDI CPC demo, and then probably do the Real Time Clock for I2C and maybe SD Card demo for SPI.
Will the RTC be compatible to the RTC of the LS3?
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

LambdaMikel

Quote from: GUNHED on 20:43, 11 November 19
Will the RTC be compatible to the RTC of the LS3?


The answer is Yes and No:


Yes: the Speak&SID firmware is open source, so if you wish to customize it such that it provides, for I2C, the same clock functions that LS3 does, then you can do that with not so much effort. This, however, results in a I2C / SPI-device specific API, which is not generic. Hence, the answer should really be:


No: the idea for the SPeak&SID card really is to provide "generic" API functions for I2C and SPI to the CPC in the firmware. That means, rather than having I2C or SPI-device specific API functions such as "set hours", "get time", etc., let the CPC construct the right I2C / SPI message instead, and also do the decoding of the corresponding responses received from these devices. The Speak&SID firmware will only provide generic low level I2C / SPI functionality - buffering of input and output message, and send and receive.


So, "Yes" will require that you put the high level SPI/I2C-device specific functions such as "set hours / get hours" into the AVR firmware yourself, and you can make it any way you want.


And "No" will imply that you will have to wait for me to provide these generic I2C / SPI API functions, and then the device-specific code (set hours, get hours, ...) will be dealt with by the CPC.


It should be noted that the latter approach will only work for "simple enough" devices, but not for very complex ones (i.e., it is impossible to set up the Epson speech chip like this for example). 


LambdaMikel

Thanks to the first buyers / customers for their support - getting ready to ship the first batch.  :)

LambdaMikel

And the new (final) PCB revision is also done.That's it from me on this project.
(The backside has ground copper btw)

LambdaMikel

Actually, there is one more thing that I am going to add to the firmware:
the ability to read MIDI data from the UART, pass it to the CPC, and the CPC sending sound data to the SID.
I just realized that the hardware already supports this. I can hence turn this into an inexpensive SID + AY MIDI Synthesizer for the CPC. What does not work is to use the UART / MIDI and SpeakJet at the same time though. But that's ok.


Something like this might be nice for the CPC:



https://www.youtube.com/watch?v=womHSih6dQU


The dude is using the C64 Cynthcart and MIDI port expansion - Speak&SID already has the UART and only needs a MIDI breakout header.


https://www.amazon.com/ubld-it-MIDI-Breakout-Board/dp/B00YDLVLVO/ref=sr_1_1?keywords=midi+breakout+header&qid=1575390754&sr=8-1




BSC

Quote from: LambdaMikel on 17:22, 03 December 19
Something like this might be nice for the CPC:

[amazing youtube video]

The dude is using the C64 Cynthcart and MIDI port expansion - Speak&SID already has the UART and only needs a MIDI breakout header.



That's some incredible stuff, thanks for sharing. Also, that bloke is hilarious and oozes talent.
** My SID player/tracker AYAY Kaeppttn! on github **  Some CPC music and experiments ** Other music ** More music on scenestream (former nectarine) ** Some shaders ** Some Soundtrakker tunes ** Some tunes in Javascript

My hardware: ** Schneider CPC 464 with colour screen, 64k extension, 3" and 5,25 drives and more ** Amstrad CPC 6128 with M4 board, GreaseWeazle.

LambdaMikel

Quote from: BSC on 21:19, 04 December 19

That's some incredible stuff, thanks for sharing. Also, that bloke is hilarious and oozes talent.


Check out his Furby Organ.. he is just entirely crazy  :D  In the most positive sense of the word of course!  :) [size=78%] [/size]

robcfg

Yep, he's completely crazy!  ;D


But, I love the energy and the will to try thing no one else tried before.


You can see the guy in action in this video:

https://www.youtube.com/watch?v=ZB27L6OuxHE

Powered by SMFPacks Menu Editor Mod