Author Topic: Genesis8 - C64 SID on Amstrad CPC, software or hardware ?  (Read 5830 times)

0 Members and 1 Guest are viewing this topic.

Offline NewsBot

  • Your friendly news-fetching robot
  • 6128 Plus
  • ******
  • Posts: 2.293
  • Country: gr
  • Liked: 256
C64 SID on Amstrad CPC, software or hardware ?
24 June 2012, 1:59 am

C64 SID on Amstrad CPC, software or hardware ?

Source: Genesis8 Amstrad Page

This content has been fetched from a third-party page feed.

Offline ralferoo

  • Supporter
  • 6128 Plus
  • *
  • Posts: 966
  • Country: gb
  • Liked: 579
Is this the same technique as this? SID Player for the Spectrum

Offline Bryce

  • The Hardware Guy.
  • Supporter
  • 6128 Plus
  • *
  • Posts: 10.666
  • Country: wf
  • It's not broken, it just hasn't been fixed yet.
    • index.php?action=treasury
  • Liked: 3712
There's actually three different methods knocking around. One is to attempt to play original SID files on a CPC using just software, which I think is completely pointless, because the Z80 uses most of its time just converting 6510 / SID codes to Z80/AY codes and the sound is being produced by the AY. Yes, it plays SID files, but it doesn't show what a Z80 could do with a SID.
The second method I've seen is hardware based, but the expansion includes most of a C64 including the 6510. This I consider over the top and also quite pointless, because this is just porting SID files through a CPC to a mini-C64.
The third method which I published here a while back just connects a SID (or two) directly to the Z80. It can't play original SID files, but that wasn't the goal of this device anyway. It was to see which computer could make the most of a SID: 6510 or Z80. Although I never built the device (yet). I doubt the Z80 can do more with a SID than the 6510 could, because the C64 is already pushing the SID to its limits. A faster processor or a different computer isn't going to change that. Obviously you would need to write new tunes or convert original SID tunes to work on it, but I'm sure some clever coder could come up with a program to do that?

Bryce.

Offline SyX

  • 6128 Plus
  • ******
  • Posts: 1.086
  • Country: br
  • Liked: 1011
For me the third method is the most interesting, and as you says it's not going to be too much diference in pushing the sid between using a 6502 or a z80... but it's one of the cpc "holy grails".
 
 I have made a few tests using 2xAYs and sounds great too :) ... why? because the msx people are adding a second AY (in fpga) in their new cartridge games and Tehkan World Cup, one of my favourite arcades ever, use 2 too :)

Offline Sykobee (Briggsy)

  • 6128 Plus
  • ******
  • Posts: 662
  • Country: gb
  • Liked: 220
That's an idea for upcoming CPC FPGA implementations. Dual-AYs. Or an AY and a SID.

Offline endangermice

  • Supporter
  • CPC6128
  • *
  • Posts: 235
  • Country: gb
    • endangermice
  • Liked: 54
I checked out the software SID player a couple of days ago and although it's pointless considering that most CPU time is indeed spent emulating the 6510, you could write a routine that recorded what's sent to the AY chip and then have a standalone tune.

I think this utility would have been absolutely fantastic had it been around back in the day, the CPC would have got a lot better music conversions from the C64, the player could be used to get the basic tune which could then be tweaked to make it sound better. If you compare the SID software played Auf Monty tune to the original CPC version there is no comparison!


Quote
That's an idea for upcoming CPC FPGA implementations. Dual-AYs. Or an AY and a SID.

The only real problem with emulating the SID accurately is the presence of the Analogue filters. Emulators have come close but nothing can replicate the real thing - well nothing has done yet!
« Last Edit: 18:09, 27 June 12 by endangermice »
For all the latest Starquake remake news check out my website - www.endangermice.co.uk

Offline Carnivius

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.418
  • Country: gb
  • Mayhem Attack Squad
    • index.php?action=treasury
  • Liked: 998
If you compare the SID software played Auf Monty tune to the original CPC version there is no comparison!

In some cases though I find I prefer the 'cleaner' sound of CPC versions of the tunes.  SwitchBlade for example has one of my favorite 8 bit soundtracks on CPC/Spectrum but on C64 it's somewhat 'over-produced' and hurts my ears badly  (also the graphics on the C64 version are hideous and hurt my eyes too but that's another matter).  I certainly don't agree that the SID always sounded better like the general consensus seems to be.  I'm more annoyed that the C64 games often had music at all when many times the CPC version did not.
Favorite CPC games: SwitchBlade, Stryker in the Crypts of Trogan, Turrican II, UN Squadron, Oh Mummy

Offline remax

  • 6128 Plus
  • ******
  • Posts: 1.049
  • Country: fr
  • Liked: 362
Tehkan World Cup, one of my favourite arcades ever, use 2 too :)

A like for this sentence :D

Online TotO

  • 6128 Plus
  • ******
  • Posts: 3.161
  • Country: fr
    • ?area=showdonations;u=4
  • Liked: 2321
For my ears, SID emulation on CPC don't sound nice. (and can't be used on a real production)
It's just a "proof of concept".  ; Better to listen well composed AY tunes.
And sure SyX, 2xAY sound really impressive. :) (and keep the cpc touch)
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Offline MacDeath

  • Chaotic post writer and mock-up specialist
  • Supporter
  • 6128 Plus
  • *
  • Posts: 4.030
  • Country: fr
  • Liked: 1095
 
Quote
One is to attempt to play original SID files on a CPC using just software, which I think is completely pointless, because the Z80 uses most of its time just converting 6510 / SID codes to Z80/AY codes and the sound is being produced by the AY. Yes, it plays SID files, but it doesn't show what a Z80 could do with a SID.
can't the software first pre-buffer/calculate the convertion so when the tune is played, the Z80 intense job is already done...
would put some limitations on the RAM of course.

concerning the other methods (simply put a real SID on the Amstrad...)
on CPC we are a bit shy concerning physical Hardware extensions.

I guess because the CPC lacked a more user-friendly cartridge port, said cartridge enabling eventually some extra chips... we don't have the reflex to use such extensions as they are not widely available.

this is a bit of a shame, i mean the amstrads' extension port is de facto some sort of cartridge+extra chip port.

of course this need some extra components and stuffs.


I remember this book like "designing and assembling extensions for the CPC464" (never remember its name nor where to find it lol)...

oh yes, here it is :

not the best link... sorry

there was a blueprint for a cart/board to enable an extra AY chip on the extension port.

It was mostly an excuse for the guy to put some sort of tutorial on the AY chip actually... (which is already there on the motherboard)

But i liked this idea to have 6 channels of AY instead of only 3.
not ure the CPU would like it though.


Also, would the DMA channels on the PLUS be helpfull on playing some Sid tunes ?

as I told, to pre-process and pre-buffer the thing could be helpfull I guess (don't know how to call it...sorry) despite the fact it would need a little extra wait-time or more RAM.


Also perhaps a little question.

Is it possible to have some DMA put with those external peripherals plugged on the extention port ?

otherwise, couldn't those Extra sound chip be simply emulated with some Arduino Mega boards ?
yes i know, this would still need some soldering and stuffs tto connect it to the Amstrazd and some Sound derivation to mix it with the existing Amstrad Sound system... still... perhaps easier to find than vintage AY or Sid or even Pokey.

Quote
If you compare the SID software played Auf Monty tune to the original CPC version there is no comparison!
Quote
In some cases though I find I prefer the 'cleaner' sound of CPC versions of the tunes.
I think that the SID was  to often used as a gimmick sound and despite this, some tunes actually sounded better on AY.
but perhaps it is because the AY reminds me of my youth too.

Quote
And sure SyX, 2xAY sound really impressive.  (and keep the cpc touch)
the extra aY could also be used for extra Spectrum/AtariST/perhaps MSX (don't know about the clocking of the AY on those) emulation.

As you could get this second AY potentially clocked as on Spectrum or AtariST or whatever...(ouch, the Z80 would love it...or not)
« Last Edit: 19:59, 29 June 12 by MacDeath »

Offline Bryce

  • The Hardware Guy.
  • Supporter
  • 6128 Plus
  • *
  • Posts: 10.666
  • Country: wf
  • It's not broken, it just hasn't been fixed yet.
    • index.php?action=treasury
  • Liked: 3712
I could easily make a few Stereo AY or Stereo SID expansions, but they wouldn't be cheap, especially with the stupid prices they are asking for on ebay these days. I have a cheap source for AYs, but not for SIDs. But I doubt there is enough people interested to make a batch anyway.

Bryce.

Offline SyX

  • 6128 Plus
  • ******
  • Posts: 1.086
  • Country: br
  • Liked: 1011
For me, the sid is not important, is only a few extra nerd points, nothing more :P

But for the extra AY, you have my vote, i would love one ;)

What is your idea for this Stereo AY expansion? Where is attached? ...
.
.
.
PD: @Bryce: Have you taken a look to the AY-8930, it's totally compatible with the 8910 and add a few extra features in extended mode?


Offline Gryzor

  • Administrator
  • 6128 Plus
  • *****
  • Posts: 14.785
  • Country: gr
  • CPC-Wiki maintainer
    • CPCWiki
  • Liked: 2826
I agree with SyX - a SID would be nice, but... meh. An extra AY would be worth it for the cool factor.


However, I cringe whenever I hear "totally compatible" :D

Offline SyX

  • 6128 Plus
  • ******
  • Posts: 1.086
  • Country: br
  • Liked: 1011
However, I cringe whenever I hear "totally compatible" :D
But in this case is true, at hardware level, it has the same number of pins, voltage, ... and at software is exactly as the ASIC in the CPC+, if you don't enable the extra features, the chip doesn't use them :)

And the extra features are (taken from an ST site):
* Independent envelope periods for all three channels (so you can set different envelope timers for each channel instead of one for all).

* 16bit frequency resolution for all channels (instead of 12bit).

* 8 bit divider for noise clock (instead of 5 bit). This gives much better drum sounds and deeper rumbling noise than the high pitched hisses we´ve been limited to.

* AND + OR Masks for noise polybit output (this will give Pokey-like effects, kinda “distortion” in the range of pure sounds to complete noise).

* Duty cycle control for all channels independently (vs. fixed 50% previously). This makes flanger and filter effects possible.

That is all, nothing extraterrestrial, only a few little things that McKlain and cia will love to use :)

Offline Bryce

  • The Hardware Guy.
  • Supporter
  • 6128 Plus
  • *
  • Posts: 10.666
  • Country: wf
  • It's not broken, it just hasn't been fixed yet.
    • index.php?action=treasury
  • Liked: 3712
Is the 8930 readily available? It's not an IC I know. I have a relatively reliable source for AY-3-8912 because they were also widely used in Las Vegas fruit machines (in sockets no less :) ) so getting these isn't an issue, but if the pinout, voltages and hardware is the same, then I just supply it with sockets and the owner can decide what goes there. The hardware would be much the same as the CPC-SID schematic I uploaded, but a bit simpler, because the AY doesn't need as much external components as the SID.

Bryce.
« Last Edit: 13:53, 01 July 12 by Bryce »

Offline McKlain

  • 6128 Plus
  • ******
  • Posts: 867
  • Country: es
  • Programmable Sound Generator
    • www.mcklain.com
  • Liked: 338
* Duty cycle control for all channels independently (vs. fixed 50% previously). This makes flanger and filter effects possible.


This is a must for lead sounds.

Offline SyX

  • 6128 Plus
  • ******
  • Posts: 1.086
  • Country: br
  • Liked: 1011
Is the 8930 readily available? It's not an IC I know.
I have attached the datasheet, it was made by Microchip (an spin-off of GI). And the first time that i read about it, it was a few months ago in this blog. I don't know if it's easy to find  (in mame appears in fruit machines drivers too), if it's rare ignore my post  ;D

I have a relatively reliable source for AY-3-8912 because they were also widely used in Los Vegas fruit machines (in sockets no less :) ) so getting these isn't an issue, but if the pinout, voltages and hardware is the same, then I just supply it with sockets and the owner can decide what goes there. The hardware would be much the same as the CPC-SID schematic I uploaded, but a bit simpler, because the AY doesn't need as much external components as the SID.
Great!!! :D I think that put sockets is always a nice thing, make easy to replace in case of malfunction and if somebody want to use a YM2149 instead of AY8912, they can.

Bryce, you should open a thread in the hardware section for seeing if there is real interest in this expansion, this post has a few likes already (a lot by me :P).
 
And now the "syxquestion" of the week (you can ignore it completely, it's only wishful thinking in high voice, but i'm excited with this thread  :laugh: ), do you think that it could be possible and not difficult to give a good use to the I/O port in the 8912? Extra sound attaching a DAC for samples or analog/nunchuk input (you know my love for paddles, mouses and another kind of control pads) or another of those typical things that i always repeat 10000 times in my posts and mails...



Offline robcfg

  • Supporter
  • 6128 Plus
  • *
  • Posts: 2.082
  • Country: se
  • 8-Bit Technomancer
    • index.php?action=treasury
  • Liked: 901
I'd be interested in such expansion.

The Atari people does wonderful things with their stereo pokey setup, so why not do the same on the cpc?


Offline McKlain

  • 6128 Plus
  • ******
  • Posts: 867
  • Country: es
  • Programmable Sound Generator
    • www.mcklain.com
  • Liked: 338
Hey SyX, how much cpu power do you need on the standard CPCs to make the AY sound like this?

SID Player for the Spectrum

Offline SyX

  • 6128 Plus
  • ******
  • Posts: 1.086
  • Country: br
  • Liked: 1011
Sorry McKlain, i was out watching the match with friends  ;D

As you can see in the video, there is nothing happening except a print char routine, that mean is going to take a lot of cpu (usually the same for a digidrum, although will need to disassembly to get the exact figures).  No useful for a game or demo, but superlovely for a song compo ;)

Offline Sykobee (Briggsy)

  • 6128 Plus
  • ******
  • Posts: 662
  • Country: gb
  • Liked: 220
Are there any AY FPGA implementations?


Just thinking the best bet would be to implement a dual AY in an FPGA, maybe the enhanced AY mentioned above, and then have a small board with the FPGA mounted that you can mount into the 22-pin AY DIP socket on the CPC.

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1976
If you mount 'whatever' in the PSG port of the CPC, then it has to act like the PSG, else if will not work. So why not just leaving the PSG where it is?
 
If you want to connect a FPGA to the CPC then you have to use the expansion port. In this case the FPGA can also emulate some kind of way superior synthesizer.
 
 
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline Bryce

  • The Hardware Guy.
  • Supporter
  • 6128 Plus
  • *
  • Posts: 10.666
  • Country: wf
  • It's not broken, it just hasn't been fixed yet.
    • index.php?action=treasury
  • Liked: 3712
The plan isn't to put a different chip in the AY Socket. The plan was to make an external expansion, that binds two SIDs / AYs or whatever to some addresses that you can feed the register settings and data to. Stereo SIDs / AYs connected to external speakers. You could still use the internal AY too, the board could be made to mix the internal AY channels into the same speakers.

Bryce.

Online TotO

  • 6128 Plus
  • ******
  • Posts: 3.161
  • Country: fr
    • ?area=showdonations;u=4
  • Liked: 2321
Is the "AUDIO" pin of the expansion slot can allow to mix an external audio source (by resistivity) w/o using something more ?
And so, output from the internal speaker as well as the audio jack ?
« Last Edit: 23:16, 03 July 12 by TotO »
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)