Please do not use this software if you suffer from epilepsy, migraine, or other photosensitive conditions!
Overview
This software is our personal and romantic way to celebrate the 40th anniversary of the debut in 1982 of the most successful computer ever. Without the C64 there would probably be no Orastron.
A-SID allows you to turn your C64 into a wah effect. No hardware modification is required, but you need to build yourself one or two adapter cables and copy the program to a cassette. Instructions are given below.
Otherwise, if you are not a lucky owner of one those marvellous machines, you can use our free VST3 that gives you the possibility to experience A-SID on modern computers as it emaulates the original analog filter.
If instead you are totally debauched to the point of not willing to even download the damn thing, you can just try an online demo below.
Creating this software has been a fascinating journey that absorbed an immense quantity of energy and time. We don't ask for your money or your data, and we are happy to release (almost) everything as open source software. We're simply happy if you like it.
We would really appreciate if you could spread the word about A-SID and Orastron with friends and on social media, forums, etc. Bluntly put, we'd love to make innovative premium consumer products, but we first need an audience for that to be economically viable.
Getting the program to work on the C64 is a somewhat lengthy process but brings great satisfaction. We're sorry we couldn't make it easier since we didn't have the time and resources to actually produce and sell everything that's needed. So you need to DIY following these instructions.
Then you should copy it to a cassette (since disks are notoriously for losers). The Commodore 64 Survival Manual suggests using ferric oxide Type I audio cassettes. We had reasonable success with these ones as long as they were not recorded multiple times.
You have essentially two options for recording:
you can use a dedicated interface such as Remzi64's 1530USB (recommended, but be sure your datassette is properly calibrated);
you can branch your sound card output to a cassette recorder and set the volume to max (yes, you want clipping).
In either case, we suggest using WAV-PRG (it even runs on Linux via WINE, which makes us particularly happy) as follows:
start the program, champion;
choose "Convert a PRG, P00 or T64 file to sound or TAP or WAV" and click "OK";
choose the appropriate machine version in the Output format (PAL vs NTSC);
choose "Sound card" in the "Output to" frame (we had the best results also changing "Frequency (Hz)" to 48000 and "Volume (1-255)" to 255 in the "Advanced options" frame);
click "OK";
choose the "asid-1.0.0.prg" file BUT DON'T CLICK OK JUST YET;
you ABSOLUTELY MUST delete the spaces from the "C64 name" field and write "ORASTRON A-SID" instead, otherwise where's the fun?
start recording the cassette
finally click "Open" and wait until the program has finished copying.
If all goes well you can LOAD the cassette and you should see the "FOUND ORASTRON A-SID" message. Otherwise, if you went with the sound card + cassette recorder method, you could try again also selecting "Inverted waveform" in the "Advanced options" frame.
3. Build an audio/video breakout cable
Build a breakout cable that has one on end a male DIN-8 262° connector (they seem to be not so easy to find, we got a few from here and on the other two female TS audio connectors (audio in and out) and optionally a female RCA connector (video out). You can still use the RF port to take the video and audio outs to the TV.
Pin
Signal
2
Ground
3
Audio out
4
Video out
5
Audio in
Do not feed input signals that exceed line level! We don't want to see more fried SID chips around.
4. Build an expression pedal to paddle adapter (optional)
If you want to use an expression pedal to control the cutoff you need to build yourself an expression pedal to paddle adapter, which has on one hand a female DE-9 connector and on the other a female TS audio connector.
Pin
Signal
Connect to
7
+5V
TS tip
9
Pot X
TS sleeve
You just need to connect the pedal output to the adapter — yes, one cable only, no need to connect the pedal input... MAGIC!!!
While C64 paddles have an impedance range of 0 to 470 kΩ, the calibration procedure allows you to also use common pedals with lower maximum impedance. However, we still recommend using pedals that have the widest impedance range you can find as they give better impedance readings.
5. Branch everything, load...
... and press play on tape. When the program is loaded type RUN and press RETURN (sorry, we haven't implemented tape autorun yet) and just follow the instructions on the screen and enjoy.
VST3
Here is the VST3 version for Windows/x86-64, Linux/x86-64, macOS/x86-64 (Mac Intel), and macOS/ARM64 (Apple Silicon) for you to freely download.
In order to install it, you just need to unzip the file and move the asid.vst3 folder into the user or system VST3 folder, which are typically located at:
A-SID is mostly open source software (the only proprietary components are related to the online demo). You can find the official code repository here. The entirety of the code there is released under the GPLv3 license.
Developing this project involved many different activities, which we have documented thoroughly in a series of blog posts. The repository hence contains interesting bits that can be independently reused in other projects, such as:
a full virtual analog model of the MOS 8580 analog filter, output gain stage, and output buffer — you'll find both a usable C implementation and a GNU Octave prototype;
a BASIC program we wrote to control the filter and output gain stage when performing measurements;
a browser-based tool we wrote to convert regular images to C64 hi-res bitmaps and colormaps and quickly swap foreground/background color choice for each 8x8 tile (we found out we could probably do that with Pixcen too late);
a code and build script template to develop and build VST3 plugins outisde the original SDK — essentially, an alternative to this plus some code to further isolate your code from the SDK in a minimalistic and sane way;
LTspice schematics for the analog filter, output gain state, and output buffer of the MOS 8580 SID chip based on the SID internals schematics found on the libsidplayfp wiki, which now we have reason to believe that are partially wrong.
Finally, you can also get here the set of logsweep measurements we performed on the MOS 8580 chip in our C64 (C64C, ser. no. HB41416598E, made in Hong Kong).
Credits
This work wouldn't have been possible without the direct and indirect help of many people around the world.
We want to warmly thank, in no particular order:
Luca Romano for drawing the awesome A-SID illustration/cover;
the VICE team for developing and distributing the best and most versatile C64 emulator available today;
Marco Baye and other eventual contributors for developing the awesome ACME Cross-Assembler;
Leandro Nini, ttlworks, and other eventual contributors, for the fantastic reverse engineering work done on the SID internals available on the libsidplayfp wiki on Sourceforge.net, as well as Michael Huth for providing the die shots of the original chips in the first place;
Christopher Williams for the tiny but useful prg-tools (we could probably have used petcat from VICE, but it was quicker for us to use this instead);
the authors of the C64 wiki which is a reference and an excellent source of technical information;
Frantic and the contributors to the Codebase64 wiki for the extremely useful articles, tutorials, and C64 programming code;
Electroware for producing and selling their new C64PSUs, so we don't have to worry about frying our beloved original machines;
Remzi64 for producing and selling very effective 1530USB datasette-USB interfaces;
Fabrizio Gennari and other eventual contributors for developing WAV-PRG which makes it very easy to copy C64 programs to audio cassettes;
John Hammarberg and other eventual contributors to Pixcen, even though we ended up not using it — the program is good anyway;
Video Boy Club Roma and Giovanni Clemente for being the nicest sellers we ever met (we were hunting for second hand C64s and dassettes);
Eric Schnorr for reporting that the VST3 version 1.0.3 had issues related to code signing on macOS;
Luca Capozzi, CEO of Audiority, for checking that the VST3 plugin code signing works on macOS (plugin version 1.0.4);
Thorsten Klose, the guy behind uCApps.de's MIDIbox SID for igniting our inspiration to start this project;
the authors of sse2neon, as we stole some code from them to implement ARM flush-to-zero/denormals-are-zero;
the open source/free software community in general for providing us with an endless number of very high quality tools for our everyday work.
Legal
VST is a registered trademark of Steinberg Media Technologies GmbH.
All trademarks and registered marks are properties of their respective owners. All company, product, and service names used in this page are for identification purposes only. Use of these names, trademarks, and brands does not imply endorsement.