Author Topic: CPC Speak&SID - Speech / SID / MIDI Synth, and Universal IO CPC Expansion Card  (Read 3636 times)

0 Members and 1 Guest are viewing this topic.

Offline DaDMaN

  • CPC664
  • ***
  • Posts: 53
  • Country: es
    • LadrilloPíxeles de Colores
  • Liked: 58
  • Likes Given: 30
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  :)

Offline LambdaMikel

  • 6128 Plus
  • ******
  • Posts: 1.649
  • Country: us
    • Homepage
  • Liked: 899
  • Likes Given: 680
Very very cool, thanks a lot! That  should be easy to adapt for Speak&SID...

Offline LambdaMikel

  • 6128 Plus
  • ******
  • Posts: 1.649
  • Country: us
    • Homepage
  • Liked: 899
  • Likes Given: 680
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....

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 1.394
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 793
  • Likes Given: 1668
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.  :(
« Last Edit: 14:28, 24 October 19 by GUNHED »
http://futureos.de --> Get the revolutionary FutureOS (Recent update: 2019.08.07)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2019.08.14)

Offline DaDMaN

  • CPC664
  • ***
  • Posts: 53
  • Country: es
    • LadrilloPíxeles de Colores
  • Liked: 58
  • Likes Given: 30
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.  ;)

Offline LambdaMikel

  • 6128 Plus
  • ******
  • Posts: 1.649
  • Country: us
    • Homepage
  • Liked: 899
  • Likes Given: 680
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.
« Last Edit: 17:13, 24 October 19 by LambdaMikel »

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 1.394
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 793
  • Likes Given: 1668
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 (Recent update: 2019.08.07)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2019.08.14)

Offline LambdaMikel

  • 6128 Plus
  • ******
  • Posts: 1.649
  • Country: us
    • Homepage
  • Liked: 899
  • Likes Given: 680

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

Offline LambdaMikel

  • 6128 Plus
  • ******
  • Posts: 1.649
  • Country: us
    • Homepage
  • Liked: 899
  • Likes Given: 680
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.

Offline LambdaMikel

  • 6128 Plus
  • ******
  • Posts: 1.649
  • Country: us
    • Homepage
  • Liked: 899
  • Likes Given: 680
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...

« Last Edit: 19:39, 02 November 19 by LambdaMikel »

Offline LambdaMikel

  • 6128 Plus
  • ******
  • Posts: 1.649
  • Country: us
    • Homepage
  • Liked: 899
  • Likes Given: 680
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

Offline HAL 6128

  • 464 Plus
  • *****
  • Posts: 491
  • Country: de
    • index.php?action=treasury
  • Liked: 243
  • Likes Given: 1213
@LambdaMikel : have you already tried the FPGASid (http://fpgasid.de/)?
...proudly supported Schnaps Demo and Pentomino, NQ-Music-Disc with GFX

Offline LambdaMikel

  • 6128 Plus
  • ******
  • Posts: 1.649
  • Country: us
    • Homepage
  • Liked: 899
  • Likes Given: 680
@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.
« Last Edit: 19:37, 04 November 19 by LambdaMikel »

Offline LambdaMikel

  • 6128 Plus
  • ******
  • Posts: 1.649
  • Country: us
    • Homepage
  • Liked: 899
  • Likes Given: 680

Offline LambdaMikel

  • 6128 Plus
  • ******
  • Posts: 1.649
  • Country: us
    • Homepage
  • Liked: 899
  • Likes Given: 680
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.
« Last Edit: 01:44, 10 November 19 by LambdaMikel »

Offline LambdaMikel

  • 6128 Plus
  • ******
  • Posts: 1.649
  • Country: us
    • Homepage
  • Liked: 899
  • Likes Given: 680
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.
« Last Edit: 20:42, 11 November 19 by LambdaMikel »

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 1.394
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 793
  • Likes Given: 1668
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 (Recent update: 2019.08.07)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2019.08.14)

Offline LambdaMikel

  • 6128 Plus
  • ******
  • Posts: 1.649
  • Country: us
    • Homepage
  • Liked: 899
  • Likes Given: 680
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). 
« Last Edit: 22:34, 11 November 19 by LambdaMikel »

Offline LambdaMikel

  • 6128 Plus
  • ******
  • Posts: 1.649
  • Country: us
    • Homepage
  • Liked: 899
  • Likes Given: 680
The documentation is almost done by now.


https://github.com/lambdamikel/Speak-SID




Offline LambdaMikel

  • 6128 Plus
  • ******
  • Posts: 1.649
  • Country: us
    • Homepage
  • Liked: 899
  • Likes Given: 680
Thanks to the first buyers / customers for their support - getting ready to ship the first batch.  :)

Offline LambdaMikel

  • 6128 Plus
  • ******
  • Posts: 1.649
  • Country: us
    • Homepage
  • Liked: 899
  • Likes Given: 680
And the new (final) PCB revision is also done.That's it from me on this project.
(The backside has ground copper btw)

Offline LambdaMikel

  • 6128 Plus
  • ******
  • Posts: 1.649
  • Country: us
    • Homepage
  • Liked: 899
  • Likes Given: 680
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



« Last Edit: 18:32, 03 December 19 by LambdaMikel »

Offline BSC

  • CPC6128
  • ****
  • Posts: 205
  • Country: de
  • Yay! I became a 6128. Hope it wraps ..
    • my (Android) mobile game
  • Liked: 261
  • Likes Given: 219
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.

Offline LambdaMikel

  • 6128 Plus
  • ******
  • Posts: 1.649
  • Country: us
    • Homepage
  • Liked: 899
  • Likes Given: 680

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]

Offline robcfg

  • Supporter
  • 6128 Plus
  • *
  • Posts: 2.235
  • Country: se
  • 8-Bit Technomancer
    • index.php?action=treasury
  • Liked: 992
  • Likes Given: 2278
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