Commodore Free Magazine, Issue 95 - Part 5

such as 8-bit computers.  This reminds me of the good
times I spent with these machines in my youth were it wasn't just "old
stuff" but the high-tech of that time.

         - - - - - - - - - -

CF:  When and why did you become involved with computers and especially
Commodore Computers?

AB:  Hmm, it must have been when I was 12 years old maybe, my brother was
attending a computer programming course at school and at that time I owned
a book explaining how to program in BASIC.  So I wrote a small game in
BASIC just on paper as I did not have access to a real computer.  My
brother typed my code into the school computer (which was an Apple II)
debugged it for me and in the end it was working.  It was a car race
simulation game with vertical scrolling border just with print statements.
It was very simple, but it was my first code...  .  Then at the age of 14,
I did a student-job and earned the money for my first computer.  It was a
Commodore 64.  I was not interested so much in gaming but I spent the rest
of my youth learning how to program the 64 down to the last memory bit.

         - - - - - - - - - -

CF:  Can you tell our reader about FPGA SID, firstly what is FPGA, and for
the uninitiated, what is the Commodore SID chip?

AB:  FPGA stands for "Field Programmable Gate Array".  FPGAs are devices
can be programmed to fulfill any logic function you want.  Every digital
circuit consists of so called gates that can do very basic logical
operations such as 'and', 'or' and 'not'.  In an FPGA you have thousands of
these such gates, but without any connections between them.  Programming
the FPGA means you have to define how these gates should be connected to
implement a certain digital circuit.  This description of the connections
can be loaded into the FPGA as you would load them into a computer program
into memory for execution.  FPGAs are perfect for prototyping digital
semiconductor devices.  They are very fast and very flexible.

The Commodore SID chip, well I don't really have to explain that do I, I am
sure all the readers know, anyway SID stands for "Sound Interface Device".
It is a sound synthesizer chip that has been used in the Commodore 64 and
many of its successors.  At the time the chip was developed I would say it
was probably the best sound chip of its type you could get.  In
contradiction to the simple 'beeping devices' that were used in other
computers, the SID was inspired by music synthesizer concepts such as the
famous MOOG synthesizers.  This chip was very popular and still is up to
today.  Unfortunately these chips are not produced any-more and the
existing SID devices are starting to reach the end of their lifetime.

         - - - - - - - - - -

CF:  On the assumption now that most readers will be aware of the Commodore
SID sound chip Lets say it's the sound creation device in the Commodore 64
(amongst other machines), so your intention is to re create this hardware
chip in programmable logic

AB:  Yes exactly.  The FPGSID project targets for a pin compatible
in-circuit replacement of the original SID chip.  Mainly to overcome with
the situation that it as time goes on it will get harder and harder to find
the original chips for repairing Commodore computers, also because nowadays
the SID chip is used in musical instruments that require not only one chip
but multiples of them.

         - - - - - - - - - -

CF:  Wasn't one of the SID chips characteristics that is was a hybrid of
analogue and digital technologies, no two chips sounded the same, and its
sound could change with temperature?  Surely, this is impossible to
re-create just in software.

AB:  Yes, you are right.  And in my eyes this is one of the biggest
disadvantages of the SID chips.  While the digital sound generator parts
have no variation among different devices, the analogue filters and mixer
circuits have large tolerances and as you say are susceptible to
temperature changes.  This results in a large sound variance between the
SID devices especially when the filters are used.  Some sound really great
however others sound very poor.  And it's always a matter of taste:  What
the one prefers could sound ugly for one user but great for another;
nevertheless today's software emulation of the SID chip is quite advanced.

         - - - - - - - - - -

CF:  So what is possible to re-create?

AB:  The best emulation of the SID chip is by a software library called
'resid'.  This library is part of many popular Commodore emulators such as
Vice or JSidplay etc.  Resid can reproduce the tiny imperfections of the
analogue circuitry in a very accurate manner.  Basically it is doing a
numerical circuit simulation almost like a Spice simulation would do (Spice
is a standard method of simulating electronic circuits).  It reproduces all
smaller and bigger non-linearities of the SID chip as well as it's timing
behaviour very accurately.  Some emulator engines even allow changing the
configuration to select multiple profiles representing different SID chips.
In the end the overall sound reproduction of resid is very close to the
original SID.

FPGASID is based on the same numerical model as resid.  In some places
however things are a bit different because compared to software, FPGAs work
differently.  However in principle it is the same thing.  That's why
FPGASID has a sound reproduction quality that is absolutely comparable to
what resid does.

         - - - - - - - - - -

CF:  Apart from the actual re-creation of the Sid chip is it possible to
better the original SID chip, and as you say, stability is one area the SID
suffered from, could anything else be improved?

AB:  One main advantage is that FPGASID will be better in terms of
reproducibility (no variation among the devices).  But of course it will
have some additional features that the original SID does not have and
always keeping the full compatibility with the original.

         - - - - - - - - - -

CF:  Features?  What kind of features do you have in mind?

AB:  First of all I am designing FPGASID towards a full featured stereo
solution.  So basically you will have two SIDs similar to other stereo
solutions and compatible to existing stereo software.  Other potential
features could be a SPDIF compatible digital audio output for maximum sound
quality.  Maybe programmable wave tables or an 8 or 16 bit wide sample
playback register.  But the last two features would break compatibility so
I am not so sure about them mainly because there will be no software
supporting such features on its release.

         - - - - - - - - - -

CF:  So the device won't sit in the SID socket will it?, Surely it will be
too big, how does it connect to the C64?

AB:  Oh no!  It definitely WILL sit in the SID socket!  The current
prototype is based on a commercial FPGA evaluation board.  It actually sits
in the SID socket via some adaptor board.  Of course due to the device's
size, it is no longer possible to close the case of the C64 at this present
time, But this is only the first prototype.  Currently I am working on a
new prototype that will be much smaller than what you see today.  The goal
is to keep everything so small that it is not bigger than the 28-pin socket
of the SID.  This may not be 100% achievable but from what I can say today,
it will still be small enough to be just a small module for the SID socket.
This will be achieved by using another version of the FPGA with a smaller
case and by drastically stripping down the surrounding circuits to what is
really required.

         - - - - - - - - - -

CF:  How big a market do you see for such a device?  For example, they are
using the original SID chips in music synthesisers.  Are you planning
something like this or is it primarily to design a compatible "chip"?

AB:  Hard to say really, I have any idea about a potential market size.
The primary idea is indeed to have a compatible chip replacement, enhanced
with some nice extra features.  For this the market will certainly grow
once more and more of the original chips will stop working.  But I already
have some requests from other projects that would like to integrate FPGASID
into their implementation.  Also synthesizer people seem interested so
there will be definitely more possibilities in the future.

         - - - - - - - - - -

CF:  You state its Mos6581 and Mos8580 compatible.  Can you explain for the
benefit of our reader who may be unaware the differences in these SID
chips?  Also, does this mean it will be switchable to emulate both ?

AB:  The MOS6581 was the original version of the SID chip produced by
Commodore.  At one point in the late 80s Commodore modernised their chip
production process from NMOS to HMOS technology, this required some rework
of the SID design to adopt it to the new process.  Doing this redesign the
designers also repaired some bugs in the SIDs analogue circuit that came
out was the MOS8580 chip.  It is fully register compatible to the older
6581 but it sounds quite different especially the filters; that sound
somehow 'cleaner' and more reproducible.  It is however much easier to
recreate a 8580 device because everything is much more linear, many parts
of the 6581 simulation can simply be switched off to get a reproduction of
the 8580 chip, in FPGASID it will be possible to switch between both chip
versions by a simple register write.

         - - - - - - - - - -

CF:  How far from a purchasable product is the project at this moment, and
when will products be available for sale?

AB:  Technically most hurdles are now overcome, what remains is just hard
work.  Unfortunately the FPGASID team is completely understaffed, Or in
other words:  It's only me that is doing all the work.  Since I do
everything in the little spare time that I have beneath a demanding job,
the progress is very slow at the moment.  I hope to have the next prototype
ready by the end of this year, this prototype will be available for
selected persons who volunteer to contribute to the project.  But
volunteers are always welcome!  Currently I would like some help with the
PCB design or with the Verilog coding for the FPGA.  A final version of
FPGASID will follow once the debugging of that prototype is completed, so
definitely not before next year.  I will try to find a partner for the
sales of the final FPGASID, ideally everyone will be able to order it.  The
price is also not fixed yet.  I have to admit that FPGAs are quite
expensive.  So the pure material cost of FPGASID will start quite high.  I
am targeting a price in the range of what a normal stereo solution with two
SID chips would cost.

         - - - - - - - - - -

CF:  Is there a website we can compare an original SID to an FPGA version
of the chip?

AB:  Some examples can be found on the project description page of the
FPGASID homepage (www.fpgasid.de/project-definition).  In the last months I
did some listening tests with volunteers to check the sound quality and
find the remaining bugs.  I made many recordings comparing FPGASID against
an original 'reference' 6581 and other SID chips and of course the VICE
emulator.  Maybe I should put these recordings on the web site for a
broader audience.

         - - - - - - - - - -

CF:  The FPGA code, who wrote this originally, and is this freely available
to anyone?

AB:  The code is entirely written by myself.  Of course I had a lot of
inspiration from the resid library so credits should also go to the authors
of resid.  At the moment the code is not in the public domain, but I am
planning to release the full code once the first working prototype is
available.  I think it does not make sense to publish it before because
until then no platform will be available were you can run it.

         - - - - - - - - - -

CF:  Do you have any final comments you would like to end the interview

AB:  I want to thank everybody who is showing interest in the project, it
gives me a lot of motivation to know that some people are already waiting
for the first hard

11/24/2016 1:00:02 AM
comp.sys.cbm 14331 articles. 0 followers. dunric (341) is leader. Post Follow

0 Replies

Similar Articles

[PageSpeed] 42