• Commodore Free Magazine, Issue 95 - Part 5

    From Stephen Walsh@3:633/280 to All on Thu Nov 24 13:00:02 2016
    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
    with?

    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

    --- MBSE BBS v1.0.4 (GNU/Linux-x86_64)
    * Origin: Dragon's Lair ---:- dragon.vk3heg.net -:--- (3:633/280)