Friday, January 13, 2023

SIDEMU - Part 1. SID8580 emulation test

update: a webpage for SIDEMU with additional information about the project is live now: http://sidemu.scienceontheweb.net/


Happy New Year.

It's been some time since I posted. Lately I wasn't much interested in fixing retro hardware or comparing SID replacements, etc. I don't even follow this segment of retro hobby and hobbyists and I wouldn't know there's a new SID replacement if Lorant M. (aka. DaemonPig) never contacted me. But he did, and after a nice chat he sent me his prototype SIDEMU for a test.

It's been in development for some time and he especially focused on the sound of 6581 SID's emulation - with a side effect there's no special effort on the 8580's side. His words, not mine. More on this later.

As my time is limited and honestly, making a comprehensive audio test requires a lot of recording time, this took more time than him or me expected. Nevertheless, first part of the comparison is here, putting the 8580 emulation under stress-test.


What is SIDEMU?

It's a similar solution to ArmSID and SwinSID (FPGASID is different, it's based on FPGA) with a custom emulation code. It fits the slot of the SID chip on any C64 motherboard revision, just remove the original SID and put this one in. There's a config file (native C64 prg) which, upon load you can select SID model and setup various bits of the emulation eg. filter strength/frequency, ADSR boost and more. There's 3 save slots for custom settings too.

It's a single SID emulation and I have no information if dualSID emulation is planned in the future.


Okay, so without further yada-yada, let's continue with audio examples and waveforms.

The following audio tracks are a variety of SID music - parts only, edited and chopped but NOT processed at all, they come without volume normalisation too.

Purpose is to show the true audio output of a SID8580 and SIDEMU in 8580 emulation mode, unaltered, no make up, nothing.

First, we're going to test SIDEMU with pure SID sounds. Tricky players, 1x and multispeed tracks and with some proper SID wizardry too.

Order of audio segments: one *beep* SID8580, two *beeps* SIDEMU, one *beep* SID8580, two *beeps* SIDEMU


01. Fred Gray - Legend of Kage

Classic SID tune, a classic emulation-breaker player routine.


02. David Whittaker - Lazy Jones (subtune 1)

Similar to the previous track, a classic SID tune, a classic emulation-breaker player routine.



03. Jammer - Latest Revision

I don't think it's possible to squeeze more waveform and filter change into a single-speed track than this. Jammer is truly a master of sound design and SID-torture.



04. Warp8 - Androgit

3 channels of SID music, 3 different (multi)speed of playback.



05. Shogoon - Anoushka

It's a sitar. It's a damned sitar on a SID and of course it's not sampled.



06. Manganoid - Cowboyessness

Impressive blues harmonica sound, and as the previous track, this is pure SID sound, no sampling.



07. Frostbyte - Gubber Eye Joe

A double-speed gabber track with and impressive Juno Hoover sound.



Next up is sample playback. The following tracks are either fully sampled or combining samples and SID sound together.

Order of audio segments: one *beep* SID8580, two *beeps* SIDEMU, one *beep* SID8580, two *beeps* SIDEMU


01. Mahoney - Kapla Caves

Pure samples.



02. Swallow - Wonderland X Part1

Mixture of samples and SID sounds.



03. Swallow - Fantasmolytic Tune 2

Mixture of samples and SID sounds.



04. LMan - My Life

THCM player, mixture of samples and SID sounds.



05. Vincenzo - Liquid Venus

Samples only, playing back a 4 channel .MOD on the C64.



So, first impression is that SIDEMU's output is a tad quieter. According to Lorant it's intentional, reason is to avoid the 6581 filter resonance and distortion's increased output level to be too hot for an amplifier.

Makes sense, it's a digital circuit.

Second impression is... what the hell, this emulation is great! It's barely, and I mean BARELY different to the original SID8580's sound.

SIDEMU wins and plays back -seemingly without any effort- all of the tricky SIDs, Lazy Jones, Legend of Cage, single and multispeed trickery and various types of sample playback too.

I'm impressed.

Looking at the waveforms, the SIDEMU's output signal might be a bit compressed, or it's just the filter that smoothens the spikes out. Speaking of filter, it sounds just a tiny bit darker and more resonant than on the original 8580. I wouldn't notice it by just listening to them on a blind A-B test and couldn't tell which is emulation and which is original audio.

Another noticeable difference on the waveforms is DC offset. It's visible but inaudible.

And to just find another thing to complain about: in some tracks the Release of the ADSR curves, especially at long Release values, SIDEMU seems different. It's a tough challenge to get it right due to the SID's inaccurate ADSR timing tho.

Oh, and of course, timing. Timing of oscillators aka. starting a note seems completely the same on SIDEMU and SID8580, so timing is spot on accurate.


I'm surprised and happy that out of nowhere there's a SID replacement that does it all. I don't know how much effort and time went into its development, I can imagine it's A LOT. Considering it's another one-man show, it's impressive and very well done. As mentioned before, I had no chance to check out new ArmSID and FPGASID firmware's - probably it's time to do it. I got really curious what they can offer in terms of accuracy after a few years of development.

I'm also looking for SIDEMU's 6581 emulation too. Until then, here are the test tracks in full length and in stereo. Left channel is SID8580, right channel is SIDEMU's 8580 mode, normalized loudness levels, no further processing.

Thank you for your attention, see you next time.

*Disclaimer: surely, there might be SIDs out there that doesn't sound good on SIDEMU because amongst 50.000 SID music there could be a very specific player and code that just breaks the emulation. In case SIDEMU will be released to the public and you find any broken SID, please report it to Lorant or me. Thank you.




Sunday, January 13, 2019

FPGASID vs. SID8580 vs. SID6581

So, here it is. The FPGASID has arrived and you should know what's coming up now:


Yes, exactly. A comparison, a test, audio examples, a lot of audio to listen to and some of text to read.

First of all, I have to mention that I listened some examples already available on the FPGASID page. And I was sad because while the audio sounds good the examples are well-known game tunes from the 80s. As if there was no life after 1990. As if there are no hundreds of thousands of great C64 music out there.
I understand that many people grew up with playing those good old games, listening to the awesome soundtracks. And only a small percentage of them are aware of the fact that demoscene does exist and also the chiptune scene keeps the C64 music alive.
Yes, old game tunes are gold, their composers were the pioneers back then.
But there are many more pioneers who experienced with the SID, created music, exploited many features and discovered undiscovered things in the last 25+ years too...
These people should be noted or at least mentioned as well, so as usual, my test is not about old game music but "new" demoscene tracks and composers.

During testing, I was thinking what to post about the FPGASID. It's actually hard to make a proper blogpost about it, it's not easy to collect and record music and arrange them to a nice post.

Especially hard to do it, because this replacement of the original SID is so good that it's very hard to find tunes that break the emulation.

Waveform and filter reproduction in 8580 mode is so good that majority of the test music were simply identical on both FPGASID and SID8580. Ringmod, sync and many other tricks and effects are almost perfect at all times.

The "filter bias" setting in 6581 mode is a great feature to simulate various 6581 revisions and it's very easy to find a satisfying setting for filter strength. To me "bias 0" sounded the best, I used this value for recording all 6581 music in this post.

Let's bring up my favorite test tracks and see how they sound.
  • Left channel: FPGASID
  • Right channel: SID8580
  • no volume changes, no additional effects were used
  • recorded directly from C64 output, without using additional cables of the FPGASID, so it acts like a single SID


01. Jeff - Analogue
This is a music written on 6581 SID. However, I recorded it in 8580 mode and on 8580 SID for this test. The reason is filter bias. Everyone can finetune it on the FPGASID to match their original SID6581 sound. To me, it wasn't that important here, the shape of the waveforms and the sound is more important.



Obvious observation 1: the music is almost completely mono. Which means, the sound is almost identical on both chips.

Obvious observation 2: there's minor difference in the filter and obviously, in the noise waveform due to it's random nature.



02. Jammer - Kraut Pleaser
Jammer was kind to share his experience with me about a recently discovered (possible) ADSR bug in the SID. He mentioned that the following music is broken on the real SID but plays fine on emulation.



Listen closely, the tune is mostly mono due to the identical waveforms. However, a few notes are different on the real SID because of the ADSR bug.
I believe, because this bug is not documented, any emulator would miss it and play the music as FPGASID. No idea if this is something that's easy to fix but this might be the reason for the upcoming tracks to break too.



03. Jammer - Quickie Veto
Same applies to this music as well, ADSR bug and almost 100% mono playback.





04. Necropolo - Cadmium
The good old 8bit car engine sound. Lot of trickery with ringmod and waveform sync. Metal to the ped... SID metal at its best.



Minor differences here and there. Overall, it's a great playback, those minor differences wouldn't be noted if this is not a direct comparison.



05. LMan - My Life
This is a recent music from X2018 demoparty, based on samples but also using SID sounds.



Obviously, the sampled sounds are identical. However, there's a SID instrument that plays the melody, its release seems to be different.



06. Vincenzo - Freefall
I'm not saying I'm special but this music of mine is a special case.

I couldn't sync up the two recordings. There are significant waveform and tempo differences, so this audio clip doesn't sound mono at all. I'm not sure what's so different in this music compared to Jammer's trickery. Maybe the extensive use of ringmod or... no idea. This issue needs more time to find out what's going on.

On a sidenote, I might have also discovered a bug in SID-Wizard's exporter. This music sounds different when played back from SID-Wizard and played back as a C64 executable music.



There are obvious differences, not only in the sound but in the visual representation of the wave files too. This is actually a one-case scenario, so far I couldn't find another music that breaks the FPGASID this much. And to be honest this is not even a big issue because the FPGASID playback sounds good on its own as well.



Conclusion:
The FPGASID is one hell of a SID replacement. With some very minor adjustments it can be the current best option for SID enthusiasts. Emulation of 6581 filter is extensive, and easy to change its bias. Configuration tool is easy to use and straight forward.

Congratulations to Andi6510 and his team for achieving this great result.

I didn't test Stereo SID and Pseudo Stereo settings. I simply had no patience to setup the additional wires. It's actually one thing I should mention, the clamps are bigger than the holes between CPU pins and it's hard to connect.

There's a bit of noise in 8580 mode that doesn't exist in 6581. Hopefully this can be fixed with firmware update.

Also, it's an expensive replacement. Yes, it's great. It sounds great, it's feature rich. But... still. I'm happy to have one but I would think A LOT to get another for this same price.


FPGASID webpage: http://www.fpgasid.de/
FPGASID at Kryoflux: https://webstore.kryoflux.com/catalog/product_info.php?products_id=63


Instead of showing more individual music examples, have a listen to a mix I compiled. All were recorded with FPGASID, set to either 6581 (filter bias 0) or 8580 mode depending on SID model required by each tune.
Have fun.




Track list:
00:00 Swallow - Fantasmolityc Tune 2 (8580)
03:19 Danko - Wonderland X Intro (6581)
04:35 Jammer - Kraut Pleaser (8580)
05:34 Vincenzo - Freefall (8580)
08:57 Jeff - Analogue (6581)
10:52 Vincent Merken - Kkan (8580)
13:34 GRG - Ambient (6581)
14:41 Wiklund - Euro Trash (8580)
16:48 Metal - Phat Phunk (6581)
17:36 Drax - Neurosis (6581)
19:42 Chubrock - Man On Fire (8580)
21:24 DOS - Chubby Tune (8580)
23:58 LMan - Could Be Cool (8580)
27:16 Linus - Cauldron II (8580)

Thursday, April 12, 2018

SID 8580 vs. ArmSID vs. SwinSID Ultimate vs. SwinSID Nano - Audio Examples

As promised, here comes a few more "SIDbreaker" track to see and hear the difference between:
SID 8580 - SwinSID Nano- SwinSID Ultimate - ArmSID


Recording conditions:
  • C64 Assy 250469 Rev 4.
  • Direct audio output into an RME audio interface
  • No volume normalization, no post-processing, just pure audio output
  • Each chip operated in 8580 mode
  • Playback with 1541U2's built-in SIDplayer


I will add my comment after each music-group, spoiler alert: Darth Vader is Luke's father.

First track:
David Whittaker - Lazy Jones [SID 8580]
Listen to "David Whittaker - Lazy Jones main - 8580 [2288]" on Spreaker.

David Whittaker - Lazy Jones [SwinSID Nano]
Listen to "David Whittaker - Lazy Jones [SwinSID Nano]" on Spreaker.

David Whittaker - Lazy Jones [SwinSID Ultimate]
Listen to "David Whittaker - Lazy Jones [SwinSID Ultimate]" on Spreaker.

David Whittaker - Lazy Jones [ArmSID]
Listen to "David Whittaker - Lazy Jones [ArmSID]" on Spreaker.

8580: Perfect playback. Of course it is.
Nano: Broken. Looks like this Nano doesn't have Codekiller's "Lazy Fix" patch.
Ultimate: Sounds good, nice playback, maybe a bit darker than on the 8580.
ArmSID: Sounds good and bright, ArmSID successfully jumps through the first blockade.


Second track:
Fred Gray - Legend of Kage [8580]
Listen to "Fred Gray - Legend of Kage [SID 8580]" on Spreaker.

Fred Gray - Legend of Kage [SwinSID Nano]
Listen to "Fred Gray - Legend of Kage [SwinSID Nano]" on Spreaker.

Fred Gray - Legend of Kage [SwinSID Ultimate]
Listen to "Fred Gray - Legend of Kage [SwinSID Ultimate]" on Spreaker.

Fred Gray - Legend of Kage [ArmSID]
Listen to "Fred Gray - Legend of Kage [ArmSID]" on Spreaker.

8580: Perfect playback.
Nano: Broken. Wow, it's soo much broken the track is unrecognizable.
Ultimate: Waveforms are nice, sounds nice, but misses a few notes here and there.
ArmSID: Almost flawless. The flange effect sounds a bit strange where the instruments overlap.

------------------------------------------------------------
*UPDATE: Legend of Kage playback issue and more has been fixed in the public release version of SwinSID Ultimate. As you can see from the photo, my Ultimate (blue) is a prototype, actually, an early version even.
------------------------------------------------------------


Third track:
Jammer - Rocking Fossils [SID 8580]
Listen to "Jammer - Rocking Fossils [SID 8580]" on Spreaker.

Jammer - Rocking Fossils [SwinSID Nano]
Listen to "Jammer - Rocking Fossils [SwinSID Nano]" on Spreaker.

Jammer - Rocking Fossils [SwinSID Ultimate]
Listen to "Jammer - Rocking Fossils [SwinSID Ultimate]" on Spreaker.

Jammer - Rocking Fossils [ArmSID]
Listen to "Jammer - Rocking Fossils [ArmSID]" on Spreaker.

8580: Man, I'm in love with this track, perfect music for a great demo from X 2016 party. My only question is, Jammer, mate. How the hell did you manage to overdrive the 8580 this much? It clips!
Nano: Broken. Strange blips and blops, filter is way off, and even more strange cracks appear here and there.
Ultimate: Good playback, the filter is definitely off a bit and it sounds darker. But it still sounds good, especially with this track. I like the stronger wobbling at 0:50.
ArmSID: Good playback, waveform looks slightly compressed/clipped. It even cracks a bit at 0:50 and at the end part. Not bad tho, I like its crunchiness when it doesn't cracks.


Fourth track:
Mahoney - Music Run Stop [SID 8580]
Listen to "Mahoney - Music Run Stop [SID 8580]" on Spreaker.

Mahoney - Music Run Stop [SwinSID Nano]
Listen to "Mahoney - Music Run Stop [SwinSID Nano]" on Spreaker.

Mahoney - Music Run Stop [SwinSID Ultimate]
Listen to "Mahoney - Music Run Stop [SwinSID Ultimate]" on Spreaker.

Mahoney - Music Run Stop [ArmSID]
Listen to "Mahoney - Music Run Stop [ArmSID]" on Spreaker.

8580: Yay Mahoney digi, yay Kraftwerk with a twist. 8580's output is quieter now, but it's nice and the samples are well-defined.
Nano: Surprisingly good but it's noisy and inaccurate. It's crunchy, but it's lovely in a way.
Ultimate: Dynamic as hell but it missed the volume fade-in at the start. Clean and well-defined digi samples.
ArmSID: Quiet, crunchy and noisy a bit but it replicates the volume fade-in nicely. Somehow it's not that clean and defined as the 8580 and Ultimate.


Fifth track, the last one for today:
Swallow - Wonderland X part 1. [SID 8580]
Listen to "Swallow - Wonderland X part 1 [SID 8580]" on Spreaker.

Swallow - Wonderland X part 1. [SwinSID Nano]
Listen to "Swallow - Wonderland X part 1 [SwinSID Nano]" on Spreaker.

Swallow - Wonderland X part 1. [SwinSID Ultimate]
Listen to "Swallow - Wonderland X part 1 [SwinSID Ultimate]" on Spreaker.

Swallow - Wonderland X part 1. [ArmSID]
Listen to "Swallow - Wonderland X part 1 [ArmSID]" on Spreaker.

8580: Digi samples mixed with SID sounds, a bit lo-fi-ish, but dynamic and clean.
Nano: Loud carrier noise, but the sample playback is good. SID instrument emulation is a bit pure here.
Ultimate: Different but still loud carrier noise. Sounds a bit like an Amiga with filter enabled. In this case I'd say it's even makes the music more audible.
ArmSID: Carrier noise is still there but in unexpected places. Nice sample playback, has it's charm with the random noises.



Conclusion:

  • Loudest output award goes to Jammer and SID 8580.
  • Most accurate emulation: well, I can't really choose between SSU and ArmSID. They both have strong and weak spots but overall they are great replacements.
  • I wouldn't recommend to get a Nano. It was good, it was the first one, but there are better options available now.
  • Digi samples are good overall
  • Old game soundtracks can break, depends on the player routine but the overall result is satisfying.
  • New demoscene tracks are the devil! Those b*****ds explore new territories in sound design and programming. One day no emulation can play those music back properly, only the original SID :)
  • Bucketlist: get an FPGASID and do a comparison with PC/Mac media players like SIDplay too.


Pseudo-SIDs are getting better and better. SwinSID appeared first, it's not actually a surprise that the Nano is not perfect. Ultimate is a totally different construction from different engineers, it just kept the SwinSID name. I didn't even know that ArmSID exists until I've seen an advertisement about it at Revision demoparty.

Despite their imperfection, they are really great replacements of the 6581 and 8580. One time we will run out of real SIDs. Then we will need something to put into the mainboard and these chips will be there. Hopefully, engineers and programmers can develop them further, the FPGASID is very promising and would love to give it a try.

Our taste can be very different and can argue about various emulations for hours, days, weeks, etc. I recommend to check out the available SID replacement, listen to the example audio and pick the one you like the most to replace your defective SID(s). There's no bad choice, and the market will be even more crowded soon and you'll have more to choose from.

Useful links:
SwinSID Ultimate
ArmSID (English version)
FPGA SID
High Voltage SID Collection aka. HVSC
C64 Scene Database
Stone Oakvalley's Authentic SID Collection aka. SOASC


Thank you for reading and listening.


Tuesday, April 10, 2018

SID 8580 vs. ArmSID vs. SwinSID Ultimate vs. SwinSID Nano

It was time for a new comparison post for more reasons.

I acquired an ArmSID on the weekend of this year's Revision demoparty and a SwinSID Nano from a friend (thanks, Joe!), so this is a good occasion to compare them while I'm waiting for the release of others like the FPGA SID.

First of all, I wanted to write one post only, but then I realized it's better to split it to two episodes. I'm going to show a detailed example with waveform screenshots and write about my personal opinion. The second part will be about audio examples, recorded with the 4 chips and you can compare them for yourselves and make conclusion.

Some notes before we start:
  • the example track composed with SID-Wizard 1.7 on a 8580
  • the audio examples are pure recordings, directly from C64's output
  • all chips were in 8580 mode
  • no volume normalization, no additional effects, just pure output
  • nope, no volume normalization, this way you can see/hear the real output of each chip
  • really, no volume normalization, you have a volume knob on your audio system, right? use it

So, let's see what we have here: \HVSC\MUSICIANS\V\Vincenzo\SIDrip_Arok_Invit_2017.sid

FYI, the proper title is "SIDrok" because it was composed for Arok Party 2017 invitation and released by SIDRIP Alliance. SID-rip, a-ROK, see? SIDrok. But whatever, this is a minor thingie

I cut pieces from the track to show remarkable differences between each chips. The order of playback is:
  • SID 8580
  • ArmSID
  • SwinSID Ultimate
  • SwinSID Nano

First audio example, heavy usage of ringmod and oscillator sync:

Listen to "Example 01 [SIDrok - vincenzo]" on Spreaker.

8580: It doesn't need any explanation.
ArmSID: Output is definitely quieter with a few dB's, and the tail of the sound has somekind of strange flanging effect and it's shorter than the original. Other than that, it sounds good.
SSU: The output is definitely quieter, however, the sound is very good, except that the tail is shorter than the 8580's tail. SSU doesn't have the flanger effect.
Nano: Wow, I didn't expect this to happen. The first half of the sound is okay-ish, the second half is... what? Out of tune. And sounds weird.


Let's hear the second clip, another part of the music:

Listen to "Example 02 [SIDrok - vincenzo]" on Spreaker.

8580: Raspy, beefy, nice filters, dynamic.
ArmSID: A bit muffled filters, however, it sounds beefy enough.
SSU: Wow, definitely different filter sound, it's muffled and the snare became darker.
Nano: Ouch... I mean... ouch.


Third example:

Listen to "Example 03 [SIDrok - vincenzo]" on Spreaker.

8580: Same as the previous clip.
ArmSID: Same as the previous clip.
SSU: Same as the previous clip.
Nano: I would rather not comment this.


Waveforms:



Now the differences are not only audible but visible too. To my eyes, the waveform reproduction is good on both ArmSID and SSU, the Nano however is a bit far from perfect.
They are not perfect emulations. However, as replacement of a burned SID, well, they are good enough and I would be interested to do a blind A -B (C) comparison to test people and myself too. Okay, I can recognize the Nano for sure, but SSU and ArmSID are hard to tell.

Conclusion, before I post the complete tune 4 times:
  • Audio output is louder on 8580 than on the rest of the chips.
  • ArmSID's output is quiet, noiseless.
  • SSU's output has a very low, very quiet buzzing noise.
  • Nano's emulation is something. Different. But maybe it's the tune what's so special.
  • Hard to choose between ArmSID and SSU, they are both good even if we consider the darker filter output of the SSU.
See you in the next episode with more example tracks.


01. vincenzo - SIDrok [SID 8580]

Listen to "vincenzo - SIDrok [SID 8580]" on Spreaker.


02. vincenzo - SIDrok [ArmSID]

Listen to "vincenzo - SIDrok [ArmSID]" on Spreaker.


03. vincenzo - SIDrok [SwinSID Ultimate]

Listen to "vincenzo - SIDrok [SwinSID Ultimate]" on Spreaker.


04. vincenzo - SIDrok [SwinSID Nano]

Listen to "vincenzo - SIDrok [SwinSID Nano]" on Spreaker.

Thursday, November 2, 2017

QuadCore soundtrack story

After almost a year of silence I continue to write articles to kompjut0r blog. Excuse me that I skipped months and a review of the SIDfx board, sometimes it's hard to find the time to write a post and sometimes it's even harder to find some motivation to write a post.
Anyway, let's skip this part and jump to today's topic which is:

Quad Core by Singular Crew

This demoscene production generated quite a bit of hype since its release at Function 2017 demoparty. I had the pleasure (and the pain, but let me explain it later) to be involved in this production as the composer of the soundtrack which is the first ever 4 SID music played on 4 C64's in the same time. There are thumbups and thumbdowns, praises and hates about it and I would like to address some of the feedback and comments here with the technical details of composing a 4xSID music.

Disclaimer: I'm not going into details about syncronizing the demo on 4 C64's because I don't know much about the method. That's something you should ask from the programmers of the demo. All I know about the sync is that you can use the joystick port to start the demo on the 4 computers at the same time and there's a time and frame counter that tries to keep everything in sync. Further details might follow later, there's a chance for an interview with Scorpy (he is the main programmer behind Quad Core).

I was excited when Scorpy first explained his idea about making this demo. It sounded great and I jumped straight into it without knowing and thinking much about the technical aspect of composing a 4xSID music. A bit later I realized it's not going to be trivial, simply because there were no tools for this kind of work. The only thing is close enough is SID Wizard where it's possible to use 3 SIDs at the same time, also, VICE can emulate the 3 SIDs but we still needed 1 more SID.
However, it might not be even possible to create an expansion board for the C64 that can handle 4 SIDs. Is it even possible with memory addresses and channel assignment..? Is there enough CPU power and/or memory for handling the 4 SIDs and the editor and the music data..? Also, is there someone who could make a 4xSID editor quickly because of this production only..? Takes a lot of resources and time.

Okay, then compose the SIDs 1 by 1. Well. How would you sync the individual SIDs together? How would you listen to them together? How would you start 4 VICE or 4 C64 at the same time? How is the sync between the 4 music playback granted to be proper?

...and after some research I decided to skip native C64 editors/VICE and use a PC (multitrack) music editor called Reaper.

The explanation is again, very simple:
I could use 12 tracks and keep them in perfect sync in Reaper. Also, with a VST plugin called SIDizer it's possible to emulate the C64 sounds almost like they are on the C64. So let's see how this happened:
- create 12 channels in Reaper
- assign 1 instance of SIDizer per track
- stop here and start to think about the limitations of the real C64

Well, while SIDizer (or any other VST like QuadraSID, Chipsounds, etc.) are great for emulating _some_ of the features and sound of the real machine they are not capable of doing everything.
For example, it's not possible to do sync and ringmod in the VST's like it's possible on the C64 because the VST's channels are not independent. If for example I use one oscillator for channel 1 in the VST (same way like on the real SID), it's not possible to ringmod this with another instance of the VST's channel 2 (SID channel 1 vs 2). This pretty much puts a limit to the instrument design options.
I realized the best I could do was to use the SID's filter *4 times with different settings.

*the SID's filter can be used as global effect and it's not a per channel feature


Next issue was to fill the 12 channels with instrument and musical notes in a way that sounds like a multi-SID music. 12 channels for a musician who is used to use 3 channels is waaaaay too much. Of course, these 12 channels can be filled easily with musical data, however, the previously mentioned issues are still real and we are still talking about the C64 and its capabilities.

After some experiment this became the final channel assignment and basic instrument design with SIDizer:
SID 1: kick, snare, hihats
SID 2: bass, additional intrument, delay line for the main melody
SID 3: 3 channels of chords
SID 4: arpeggiated chords, additional bass, main melody


One of the greatest feature of SID Wizard is the MIDI2SWM converter. It was easy to export the 12 tracks from Reaper as 4 pieces of 3 track MIDI files and convert them into 4 pieces of SID Wizard module (aka SWM).
After this conversion I took the first SWM, loaded it into SID Wizard and started to finetune the musical data and design the instruments. Then loaded the remaining SWM's one after another and did the same.

And then I found an issue with the music data, the last few patterns in each SWM were different than they were in Reaper. Lenght and music data was different and seemed to be corrupted with random-look-a-like notes, something might went wrong during the conversion. Unfortunately I spent too much time with composing the music and setting up the instruments in SID Wizard and found this issue too late when we had no time for fixing it before the release.
I decided to go with a shorter pre-rendered wav file where the corrupted ending was cut and the music looped seamless. We released the product in video format at the party anyway so this was the better solution at that moment.

Later I had time to fix the music data and finetune the music further.
You can listen to the result here: https://www.youtube.com/watch?v=BCXESMPo9FM

Source, can be loaded into SID Wizard 1.7, all the audio data is in the zip and it's up to you to hack the 4th SID into the game somehow. Let us know if you find a way to play it properly on the real hardware. Or even in VICE: QuadSID source

C64 executable, playing the (fixed) music on 3 SIDs with a missing 4th SID, can run under VICE on real C64: http://csdb.dk/release/?id=159071

C64 executable of the whole presentation (final, 100% release) with visuals and music: http://csdb.dk/release/?id=158909

Final release on YT with fixed music: https://www.youtube.com/watch?v=XlUcjzjVNlg

Thank you for your attention.

Friday, November 25, 2016

C64 repaint - 2nd Chapter

Well, sometimes we simply _have to_ experiment and try out new things. There's an infamous saying in my hometown: "Once in a lifetime you have to try everything you can. Except folk-dancing."
So, here it is, I'm almost finished with repainting a C64. Yes, I know, this is not the first time I'm repainting a C64 but this is the first time I'm doing it right. At least I tend to think I'm doing it in the right way.

The case was yellow. Very. Yellow.
Keys were dirty. Very. Dirty.
There was no sunshine for a long time, I have no balcony or garden area where I live.
This made me to do it, even if some might say I'm vandalising the good ol' sixtyfour.
Whatever. Once in a lifetime you have to try it. It's still not dancing. Folk-dancing.

First question: what color shall I use?
How about the signature Commodore blue-red? -ish. It's hard to find matching colors, especially by looking at some pictures on the internet. They can be misleading, however, maybe accurate as well. So I gave a try (still not dancing) to Plastikote Satin Navy Blue and Satin Wine Red.

Well, they are definitely not similar to Commie's blue-red but these were the better-looking colors.

Dismount C64, clean it with warm and soapy water. Let it dry out properly. Start painting.
Stop.
We need a place where it's possible to use the spray paint without damaging walls/furniture/lung/etc...
Ok, whatever, I went down to the front of the building and painted the C64 with people staring at me. I became kinda famous because at the second round I've been asked what the hell I'm doing and somebody even made a selfie with me in the background, spraying.

Anyway, sprayed the case on the street but let it dry inside the flat. Not 100% satisfying but worked well, I just had to keep in mind to open the windows from time to time, to get rid of the smell of the paint.



Yaaay, this spray paint is awesome. Not just because the color is pretty but the paint gets even on the plastic. Push the button, spray it, move your hand from left-to-right, repeat. It's done.

1 day was more than enough to let the first layer dry out.



Nope, I have nothing to do with football, nothing to do with Barcelona. It just happened to be similar to their colors. I'm especially proud of the red-blue crossing on the top cover. It's smooooooth.

After a week of leaving it dry out - it wasn't gluey anymore - I started to assemble it.


And in the meantime SIDfx arrived! Why not make this C64 even more special by mounting the SIDfx inside this machine?



Great. It fits. FYI: you should use 6mm drills for the jack connector and switches.


Almost done. The keyboard looked pretty off whit the usual white-yellow-ish keys. I even tried with black-brown keys but it still looked ridiculously off. I'm still waiting for the new C64 keycap set, probably they never going to arrive... so I didn't want to order another set.

Brilliant idea, let's use the (pretty a lot) remaining of the red-blue spray paint. Similar way, similar method, similar technique.


Add a layer of matte paint and that's it. Looks better and brighter in real, this picture can't give back the proper look of it.
I still need to find a solution to the keys, or I just simply have to learn to type blind. Oh, and a nice LED that fits this color-scheme.


I'm going to post about the SIDfx next time, will write about my experience after a deeper test.
See ya' there.



.....



Today's music: SIDRIP Alliance - 2nd Reality (remix)

Friday, November 11, 2016

C64 music vs. GoatTracker

We live in a world where it's possible to compose Commodore 64 music basically on any platform. I'm not sure how popular SID music is compared to the Gameboy chiptunes. It would require some research to find it out so let me skip this part and jump straight into music editors and leave research for another day.

Back in the good ol' days I 'composed' music with Future Composer and various versions of Demo Music Creator. Since then, I've used and still use SID Wizard which is a great tool and it's up to todays standards in composing C64 music.

Those were the days, when I started to play with those editors without any knowledge about the SID chip and without any documentation given to the tools. Now it's not even unusual to create a C64 music on PC, either with loading a native music editor into VICE or similar emulators. Or just simply using a tool that was made for composing SID music on the PC/Mac and saving it in C64 format.

One of these tools is Goat Tracker. Widely used and loved together with CheeseCutter, now it's quite simple to make some noise without having a real breadbox.

The main reason of today's post with this introduction is to mention those music editors AND show you a great example of using Goat Tracker by my good friend, NecroPolo. He's got some serious guitar playing skills and talent in making the SID bleed - in the meaning of creating unusual sounds and using the SID as it was his beloved guitar. And distortion. Because metal, that's why.

His passion is to release videos of his C64 tunes from time to time, let me share the latest one here:


Now this is how Goat Tracker does look and sound like - good old tracker interface with SID registers for tweaking the sound and all with hexadecimal numbers of course. I recommend to subscribe to his channel as well.

I, hereby save and publish this post with recommending to check NP's other videos and have a listen to his music: https://www.youtube.com/user/NecroPolo8580/videos

Enjoy.

Saturday, November 5, 2016

Amiga 500 vs Gotek drive vs KMTech extension board

Previously I wrote about the Gotek drive with Cortex firmware for Amiga computers. It works like a charm, the only issue is the placement. I wanted it inside the A500 without drilling additional holes on the original case so I was looking for a solution.

Actually, I found a great solution quite fast. Googled "mount gotek into amiga 500" and got a bunch of forum posts and this: KMTech's Gotek Extension Board

This is a nice looking board that is easy to assemble into the A500. I don't want to go into details, their webpage shows the installation steps nice and clear. A little bit of soldering required but don't worry, you can do it if I was able to do it :)

I simply followed the steps and mounted the 2 boards together into the Amiga:


That adhesive stuff keeps the boards in place. It's not super-strong but strong enough. You can try to hotglue them to the plastic, it'd be definitely stronger, however, permanent.


Of course, there are many options to mount the Gotek inside the Amiga, this is one of the easiest and fastest solutions. I'm very happy with the result, it looks good and the plastic case is still intact.



.....



Today's music: Driveclub OST

Sunday, October 23, 2016

Gotek vs Amiga 500

The Girlfriend 500 - sounds like a cheesy advertisement in one of those weird TV shows, right? - is a beautiful computer of its time and nowadays it still has the charm. I remember, I was around 14-15 years old when one of my mates bought an A500 and we played games, watched demoscene productions all weekend long without pause. I had a C64 back then, we used 386 PC's in school and the difference between the computers were remarkable. While I was still in love with the C64, the PC's were kinda soulless, or how to describe it. The Commodore computers definitely had somekind of charm and personality. Not just because the audio-video capabilities but... I don't have words to describe it. They were just simply better :)

So, I have an A500. Cleaned it from top to bottom, from inside to outside and... It doesn't load any software from any disk, while the same disks work without problem in my A1200.
Captain Obvious here, the A500's floppy drive is broken.

I've read a few articles about fixing it, but I decided to order a Gotek drive with the Cortex Amiga Firmware. It's a clever device and a clever new firmware that might not work with the A500' without further modification. There can be an issue with older Kickstart and/or using the Gotek as additional (DF1) floopy and not primary (DF0).

I simply replaced the broken floppy drive with the Gotek:


And it works. Just, simply works. It's sooooo comfortable to copy .ADF (Amiga Disk Format) files to the USB stick and switch whenever it's needed.

However, the first setup of the USB stick wasn't obvious on the first look but fortunately I was able to gather all the required information from various forums.

The Gotek with Cortex Amiga firmware is not enough on its own, the USB stick needs a file called SELECTOR.ADF.

You can download it from Cortex' page, don't forget to rename the extension to .ZIP: cortexamigafloppyemulator_v105a.docx

The SELECTOR.ADF can be found in \cortexamigafloppyemulator_v105a.zip\CortexAmigaFloppyEmulator\Bootdisk\ folder.
By default it is an empty disk file.

Next step is to download games, demos, whatever you want to run on the A500. One of the best source of demoscene productions is http://pouet.net
Use the "Search Box" feature on the top-right corner of the page.

I downloaded ~100 demos for the A500 (OCS/ECS), but oh noes, a lot of them were .DMS and not .ADF files. This is a compressed Amiga Disk Format, WinUAE can read it without any problem but the Gotek can't. It works with .ADF files only.

Don't worry, there is a solution for that!
ADF Opus and its batch convert option did the job and converted the DMS files to ADF in a few seconds.

Now we need to create a "tracklist" that the Gotek and its SELECTOR.ADF would use for listing/tracking of the .ADF files on the USB stick.

There is a tool called Amiga Gotek Cortex SELECTOR.ADF Edit (pretty long title but it perfectly describes the tool).

  • install SELECTOR.ADF Edit
  • copy .ADF files, including SELECTOR.ADF to USB stick
  • run SELECTOR Edit
  • quit SELECTOR.Edit
  • pause Kaspersky and/or any other virus scanner
  • run SELECTOR Edit again

The tool scans and lists all the .ADF files on the USB stick, now you can move the files from the right-side to the left-side, then click SAVE. This will be your "playlist" and you can select the disk image files with the small buttons on the Gotek drive.

Insert the USB stick to the Gotek, boot up the Amiga. The SELECTOR.ADF will start automatically and you can browse the list and run any of the .ADF files. Yaaaaay, happiness, flawless victory.

I've spent the whole night with watching some neat demoscene stuff and enjoyed the same goosebumps as I had X years ago.

Sushi Boyz by Ghostown:


Rink a Dink Redux by Lemon:

And a lot more of course :)

Now the next step is to mount the Gotek drive into the A500 without drilling, without destroying the plastic case. That's the story of the future, I'll share it with you once it's done.



.....



Today's classic A500 demo: Enigma by Phenomena

Tuesday, October 18, 2016