Wait, does that mean the filter is applied to all 3 voices at once? many SIDs with filters I've heard don't sound as if it's working that way.
@NybblesandBytes4 жыл бұрын
Ah, crud. Yes, you are right, the filter can be turned on or off for each channel. I misinterpreted the block diagram in the datasheets. Good catch!
@stefanweilhartner44154 жыл бұрын
yes. the SID chip had two DACs to get an analog waveform. one of them was routed to the output directly, the other one goes through the analog filter. for every voice you can decide to which DAC the voice is getting routed. btw. you mentioned that you are working as an embedded software developer. may i ask with which micro controllers? all the best, whylee, commotari.
@manganoid74264 жыл бұрын
But it does sorta apply to all channels. It means if you're using the filter, say in one instrument on one channel, if you want to use the filter in another channel at the same time, you have to follow the same filter envelope you defined in the first channel. You can't use different filter envelopes and types in different channels at the same time.
@NybblesandBytes4 жыл бұрын
Correct. The block diagram shows switches between the filter and bypass for each voice. The settings for the filter apply to all three, but only if they are not bypassed.
@NybblesandBytes4 жыл бұрын
I'm a generalist, so I've done everything big and small, from Linux-capable to RTOS to raw assembler on TI OMAP4, RISC-V, ATMega and ATTiny, SAMD21, Cortex-M4 and A-series, Z80 and eZ80 (built my own homebrew eZ80 machine), 8085, x86, 6502 (of course), etc. both professionally and personally. It's probably better to enumerate what I haven't worked on, which would be things like MSP430s, 680x0, PowerPC, etc.
@micheleporcu22874 жыл бұрын
GLAD YOU'RE BACK !!!!!!! We Missed you !
@jammerc644 жыл бұрын
I have to correct or complete some information provided in the video ;) There are 4 functions available for oscillators but waveform register bits can be combined after all! Of course if your C128D is equipped with MOS/CSG 8580 so you can hear all combinations ;) All of them (with exception of noise) can be combined with hard sync bit in waveform register. Hence we have at our disposal: - triangle - combined with either ring modulation bit, hard sync bit or both at once it orders given channel to interact with previous one and output the math between them, producing nice acoustic effect - sawtooth - sawtooth + triangle - thin sounding wave useful for clavinet sounds - pulse/square - as mentioned in the video, it has adjustable duty cycle - pulse + triangle - interesting keyboard/guitar sounding wave which offers the best of two worlds - it allows for duty cycle modulation and ring modulation (useful for vocoder-like effects) - pulse + sawtooth - very organ like sound which also allows for duty cycle modulation (however, any audible modulation seems to take place with highest pulse register values) - pulse + sawtooth + triangle - waveform which sounds very similar to sawtooth + triangle - no pulse modulation or ring modulation is working here - noise - cannot be combined with any other waveform bits or ring mod/hard sync Nominally there are THREE filter types in SID chip - notch filter is not a distinct type. But..., as for waveform bits, they also can be combined! :D So: - lowpass filter - mellow filter cutting all higher registers above the cutoff value - bandpass filter - removes lower and higher tones outside given cutoff value - lowpass + bandpass filter - works almost like lowpass filter with exception for boost present at cutoff value hence resulting filtration is more agressive and sharper - highpass filter - cuts all lower registers below the cutoff value - lowpass + highpass filter - effectively works as notch filter - still, it's only a combination of basic filter types - bandpass + highpass filter - works similar to highpass filter with exception for boost present at cutoff value hence resulting filtration is more resonant and 'clicky' - lowpass + bandpass + highpass filter - not very useful but some musicians can surely make good use of it Cheers! :)
@3DSimulant4 жыл бұрын
I wish I could send myself this video 35 years back in time! Thank you, now I can close this chapter.
@juzujuzu45554 жыл бұрын
People using retro computers and taking everything out of the old hardware are amazing people. I really hope Commodore 64 and Amiga scene will continue to thrive the decades to come. I'm sure there's still new hacks to be found and new amazing things to be done.
@stefanweilhartner44154 жыл бұрын
the interesting thing will be updated chip rebuilds, that add something new or eliminate some of the limitations of those systems. a SID chip with 6 voices and added left/right volume registers for stereo would be one of these upgrades. a new VIC chip with hdmi output another cool thing.
@frankb7634 жыл бұрын
Hurra, mein Warten hat sich gelohnt. Schön wieder von dir zu hören.....Hooray, my wait was worth it. Nice to hear from you again Sehr schön, ich habe wieder was dazugelernt.--- Very nice, I've learned something again.
@DADVICETV3 жыл бұрын
I recently discovered your videos while strolling down memory lane. Really enjoy them and the wealth of information you have. It really brings back the memories when computers were more complex but felt more connected and personal.
@torsten234 жыл бұрын
Now this is GREAT stuff thank you! The last time I saw code like this I was 15 years old. Memories!
@BenInSeattle4 жыл бұрын
Fabulous work, as always, June. It's so good to see you again. I'm always amazed by how much you pack into perfect, bite-sized episodes. I have been meaning to learn the basics of how to use the SID chip for over twenty years; you taught me in only twenty minutes!
@milk-it4 жыл бұрын
Great to have you back, June! Tackling music is a challenge! I think you've done exceptionally well to explain it using the fundamentals. Keep up the great videos!
@AtevanderMeer4 жыл бұрын
Thank you fot the great indepth video's on step by step programming and understandig the inside hardware of the C128. You really give the machine a new boost.
@RetroRecipes4 жыл бұрын
Nice to see you back! 👍🕹
@samss664 жыл бұрын
Oh dear sweet whiteboard of displayed knowledge and learning, I've missed you so much in the past 6 months; And I'm glad you brought June with you :D I've had to watch Z80 videos in your absence (just not the same as a good 8502 video)
@DeMOSic4652 жыл бұрын
This video explains a bunch about how the sid works and how a music driver on the c64 is set up! It Also shows me a bit about how some people hacked into other peoples drivers and made music with them using monitors!
@roaddan014 жыл бұрын
At last nice to see simple explanation of the electronics behind the physics and the programming. Keep on the nice work. For the errata well, nobody is perfect. ;-)
@Brian-vs9sd4 жыл бұрын
So awesome to see you back June.
@suadcokljat10454 жыл бұрын
This is the best SID tutorial and demonstration on you toube. Cheers!
@massimobattaglia50934 жыл бұрын
your channel inspired me to try and restore my old C128. I hope to meke it and follow your tutorial on the original hardware! Keep up the good work!
@lagunagfx4 жыл бұрын
You’ve been missed, June. Glad to see you back. Excellent content as usual
@garthhowe2974 жыл бұрын
Nice to see you back, stuffing our little brains with so much, in so little time. :)
@gettingpast43914 жыл бұрын
yay finally a door for the 1902. I love that all of your programming examples are in machine language! So fun
@DeputatKaktus4 жыл бұрын
Oh, nice! I was not aware of your channel before. And the first video I see of you is a SID related one. Instantly subscribed.
@tonibianchetti4 жыл бұрын
Happy to see you back, this channel is so professional and well explained. Welcome!
@NybblesandBytes4 жыл бұрын
Thank you kindly!
@sebastianbirk74724 жыл бұрын
Yay, instantly moved to the top of the watch list.
@khawk20124 жыл бұрын
That's exactly what I wanted to find out. Everyone else shows how it's done but nobody shows exactly how to do it.. with such busy schedule I don't have much time to resurch. It's been a long time since I've programmed.. Thanks..
@johnathonpowers40534 жыл бұрын
So glad you are back!
@lasseodin4 жыл бұрын
Love it. SOUNDs good. Glad you're back
@Archimedes750094 жыл бұрын
Your channel is a goldmine, thanks for all these great quality videos you produce, day after day.
@doriandarby4 жыл бұрын
Good to see you back on yt, looking forward to the next video.
@ozzyyzzoful4 жыл бұрын
welcome back too :)
@nils-kopal4 жыл бұрын
Nice description of the SID chip :-) well done!
@PhillHorrocks4 жыл бұрын
Been holding my breath for what seems like ages! Awesome to see you again! 👍
@gofat4 жыл бұрын
Nice to see you back 😊
@freddaniali4 жыл бұрын
Wooohoooo June is back! Love the PCB Ruler!!!
@aminemo934 жыл бұрын
I feel I am going to love your channel. Thanks a lot!!!
@helldog31054 жыл бұрын
I wish I had the motivation you display in your progress through the teaching of all of these different aspects of the Commodore 64/128 BASIC. This is so interesting to watch, but just can't seem to wrap my brain around how to apply this to what I would like to do with making a game for the C64/128. Keep up the great work. I really do love these videos, and for whatever reason, my feed did not show the previous 2, having only seen to Episode 4. Looks like I have some more videos to watch!
@m0nde4 жыл бұрын
Glad you're back. Your explanations are always clear and concise 👍
@NybblesandBytes3 жыл бұрын
Woot! Thanks! :D
@hDansRandomCrud4 жыл бұрын
Fun video! I stumbled onto this one first, but I need to go back and watch the rest. Also, re: the optimization you mention at 17:45-ish. You could also LDA $1400,Y and LDA $1401,Y, and leave the frequency table as-is.
@NybblesandBytes4 жыл бұрын
Yep. That's what I was referring to. :D
@allenhalsted48954 жыл бұрын
Glad you are back!
@AtaruMor0boshi4 жыл бұрын
June, thumb-up by default from me, but that's a blast from the past, I really love it!
@cuchullain27 Жыл бұрын
Hopefully this will inspire some manufacturer somewhere, to start looking into the old technology and start just remanufacturing various kinds of SID chips.
@MMbrown75324 жыл бұрын
I had a 128D in Germany when I lived there. I miss it like you can't believe. Germany and my 128D!
@fLaMePr0oF4 жыл бұрын
Welcome back! Great to see you producing content again :)
@NybblesandBytes3 жыл бұрын
Thanks!
@KennethSorling4 жыл бұрын
Welome back. Always good to see another video from you.
@elamorte3 жыл бұрын
Love your channel. Very well done. Thanks for all the info.
@NybblesandBytes3 жыл бұрын
Yar! :D
@nneeerrrd4 жыл бұрын
Glad you're back, June!
@Mr_Matrix4 жыл бұрын
Thanks a lot! I really enjoy your 128 series 😃 I feel like a child again since this was my second computer in the 80's. Sadly I sold my 128 in the mid 90's (my bad 🙄😂). I must try the emulation! 😊👍 The archive.org links made me really happy! So much knowledge in one place! 🤓🎉🤩🥳🤗
@unebonnevie4 жыл бұрын
You explained clearly! BETTER than Jim Butterfield's books and those '80s articles in Compute Gazette! magazine! BETTER than the 8-bit guy! Band pass filter = High pass filter + Low pass filter AND Band stop filter = Low pass filter + High pass filter in that order.
@karbin98k4 жыл бұрын
Fantastic! Glad you are back!!
@manganoid74264 жыл бұрын
This was very well covered. Kudos. It made some aspects much clearer. Thank you for this vid :)
@sutorippuwebmaster8783 Жыл бұрын
So, I've been using BASIC to do this. Obviously it's slower, but the tutorial that came with the C128 shows how simple it can be. Using PLAY, you can set the voice and octave with V and O, the note length with E Q H F etc., and change the waveform type with other commands. Also for noise, the SOUND command and a bunch of parameters are used for ADSR and length. IIRC, though, this basically dedicates the processor to the SID chip so it's not optimal. But if you're mucking around with sounds and making games that aren't gonna have a lot of background noise (e.g. most type-ins), it kinda gets the job done, but... yeah, you're a lot better off hopping down to the bare metal with the Monitor here.
@NybblesandBytes Жыл бұрын
BASIC 7's PLAY command is awesome, and so is SOUND, compared to BASIC V2 on the '64. So much better than POKEs. Since we're going down the rabbit-hole of assembly, I figured mucking with registers would be a good idea, so that's definitely why I did this in this video.
@billchatfield30644 жыл бұрын
Fantastic video. Thanks so much.
@LeftoverBeefcake4 жыл бұрын
I had to double check the YT notification, I thought it wasn't real! :D
@NybblesandBytes4 жыл бұрын
Definitely real! :D
@thierrykurt38674 жыл бұрын
Impressive video , I think is one of the best, very didactic and a lot of information difficult to find.
@diggydude52294 жыл бұрын
Welcome back, June!
@GadgetUK1644 жыл бұрын
Excellent presentation there! =D
@stefanvanraemdonck90544 жыл бұрын
Very glad you're back
@Dreamlgider4 жыл бұрын
Long time no see! Great to see you back 👍
@dariodzimbeg4 жыл бұрын
Where have you been girl?!?! Welcome back!
@calbrig19784 жыл бұрын
Its good to see you. Really enjoy your vids
@DaveF.4 жыл бұрын
Good to see you back!
@AjinkyaMahajan4 жыл бұрын
Fantastic Explanation on SID and sound generation. Thanks ✨✨✌
@eddielegs3444 жыл бұрын
Love your channel not only that is about Commodore but you see little to nothing on youtube that is the reason you do this that they already have you in the past. Usually I don't keep up with you despite explaining it well, probably I'm just too stupid;)) But I think this episode is extra cool purely because it is about the SID chip. Glad you're back, I already missed you. Grtz from Holland from one of the old friends of the 1001 crew no myself I was from another group but we worked together. Was at TSI a long time ago 1984/1985 But was already a commodore fan years before my cousin did not already have a vic20 and c64 in the early years he learned to be an airplane expert. We were the first to bring no borders to the world through my buddy and the 1001 crew and myself who linked people together purely because they couldn't connect. No, I didn't know much about programming, we say here in the Netherlands. I always got my software from one of these members by bike in the family hahaha yes yes 20 km every Sunday on the road for the new games and tools and other stuff. The Good old days;) Later my friends who were always picking up by car picked up hey cycling after 2 years. Suc6 with your youtube channel you bring something different to the table. Gr Ed
@williamcarlson96384 жыл бұрын
Thank you very much for another great knowledge share!
@kyma1999x3 жыл бұрын
one thing, triangle wave has a shape which resembles, in terms of modulation, similarities with sine wave. making sines in analogue environment was expensive, so reserved on most expensive synthesizers (e.g. I don't have it on my moog model d but I have it on arp2600), so e.g. in LFOs often sine was replaced with more affordable triangle 'cause modulation shape is similar. but in terms of harmonic content instead it has more in common with square wave (50% width pulse wave) having same odd harmonics spectra, but the amplitude ratio between harmonics in triangle is exponential, so it sounds "hollower" than a square but fuller than sine, someone saying triangle sounds like an oriental flute whereas square like a clarinet, quite true.
@NybblesandBytes3 жыл бұрын
Oooh -- good info on this! Very very awesome. I was hoping to be able to capture it in the wave display I wrote, but alas, it didn't quite get the gist of it. Maybe sometime in the future I'll hook it up to an oscilloscope and publish the results. :D
@kyma1999x3 жыл бұрын
@@NybblesandBytes you can but in traditional scopes you'll see the shape, and in sid triangle is a quite real triangle...sid is not the purest synth but it has phase accumulation oscillators so being digital not analogue like VCOs nor DCOs (digitally controlled analogue osc e.g. roland juno 6/60/106) has stable waveforms, you could see harmonic content using a spectrum analyzer. VCOs into a chip seems impossible technically and cost proibitive, and unconvenient 'cause they are unstable in tune by temperature and tollerances, must often be re calibrated (and we are in 1981 not in 2020) it's possible to get a "sine wave" using resonant filter if present like an audio source, filter must be self resonant like moog ladder or arp, cranking up resonance until self oscillation then tune it using key tracking, I use it on moog model d sometimes but at a price, you lose filter (not every analogue filter can self oscillate e.g. original oberheim sem design didn't, I'm quite sure sid filter can) sine has only fundamental harmonic so carving out higher harmonics with filter from the weakest triangle also makes something like a sine (but with loss of volume on most design...)
@gofat4 жыл бұрын
I just noticed the Basic Computer Games book from David H Ahl on top of your monitor, I remember having one of those.
@TRONMAGNUM20994 жыл бұрын
Yeah!!!! So happy you returned!
@wheresthecat4 жыл бұрын
I'm glad you're back :)
@dru14324 жыл бұрын
Good to see you back!
@alteregoantergos48584 жыл бұрын
Finally you're back! ;)
@TheCultofshiva9 ай бұрын
I found this video looking for SID chip assembly. And I think I watched the 1st and maybe 2nd video on this channel a while ago. And it's become a c64 library now! Only thing I missed was what do the values represent, I can see how the code selects the frequency or pulse width, volume, etc. But there's 8 bits for each control and attack/decay share 8 bits with 4 bits each. So how does LDA #$CF for example is handled in the signal generator ? I know how the basic working of a tracker program and how to program the voices and there are 0 to 255 values for most parameters with some exceptions.
@anthonya42414 жыл бұрын
Welcome back! This has been a really interesting and informative series. I was wondering, would you consider covering the Amiga at some point in the future.
@NybblesandBytes4 жыл бұрын
Why, yes I am! Once we get the game written for thr 128, I'm planning on moving on up to the Amiga.
@fryersoncaptain4 жыл бұрын
oh wow we have matching headphones!!
@laureven3 жыл бұрын
Hopefully all is good, and You are just busy at work. :) Regards . You last video about SID was awesome :)
@NybblesandBytes3 жыл бұрын
@Marcin R Glad you enjoyed the video! Yes, I'm busy at work -- hopefully back soon.
@srg-io4 жыл бұрын
Superb info. Thanks!.
@spiderjuice98744 жыл бұрын
Hey, good to see you! Work at the pace which suits you - we are extremely patient out here in www-land :) When you are ready, can you go over working with 80-columns on the C128? I don't have a suitable monitor for that yet, but I'm looking...
@NybblesandBytes4 жыл бұрын
Actually, I was planning on it in the Buddy assembler video next. We're going to dual-head the 128 so we can effectively write code and assemble in 80-columns, yet run our code on the 40-column display.
@spiderjuice98744 жыл бұрын
@@NybblesandBytes Wow, cool idea: now I really have to get hold of an 80-column display!
@CraigMansfield2 жыл бұрын
goto and the SID chip I like you already :D
@Cherijo784 жыл бұрын
My fave retro techie girl is back! As much as I love retros, watching a bunch of yt guys in their basements gets old after awhile. Great to see a woman stepping up! 💜💜💜 Psst.. hello from neighboring Puyallup!
@daw75634 жыл бұрын
My first computer was a C128 with external 1570 drive (and I still have it tucked away in my basement). Did you experience the C128 as young? Just out of curiosity, what made you choose the C128? Especially since the C128 mode never was that popular. And there should be better options for programming in 2020. I think I know why, but I'd like to hear your words 😉👍
@NybblesandBytes4 жыл бұрын
My first computer was a VIC-20 with a tape drive and later a 64 with a 1541. I never had a 128 growing up, but I always wanted one, and I never managed to write a game for what I had back then. So I decided to write one using tools I reasonably could have had back then. Eventually we'll move on from the 128 and from raw assembler, though. I have a path in mind. :D
@daw75634 жыл бұрын
@@NybblesandBytes thanks for replying. I grew up with the VIC 20 as well, as a 6-7 year old, but it was my older brothers (he still got it with custom super expander and home made peripherals). I got my C128 used, in about 1986, ignoring the Amiga (due to no money and the C64 game base), later on I got the A500. It was all about gaming for me but with the Amiga I realized I could do more than gaming, I have a lot to thank those old computers educating me. Cheers from Sweden.
@bytesabre4 жыл бұрын
Takes all that code to get twinkle twinkle little star out of the SID, I can only imagine the mind blowing quantity of code it took to get Monty on the Run out of it
@NybblesandBytes4 жыл бұрын
Wait for part 2 -- we're going there. :D
@stephendouglas93554 жыл бұрын
Welcome back! Retro brain food! Yum!
@_cocoalabs4 жыл бұрын
This was fantastic.
@Molenareman4 жыл бұрын
Welcome back!
@vcv65604 жыл бұрын
Glad to see you're back; could you do perhaps a short episode about using an emulator. Finding a C128/128D at this point is very challenging (just talking EBay pricing here). Thanks.
@NybblesandBytes4 жыл бұрын
I'll see what I can do. Essentially it boils down to using WinVICE or just VICE depending on your OS.
@vcv65604 жыл бұрын
@@NybblesandBytes Thanks, vintage computer HW has exploded recently. If you got rid of your system when you outgrew it you're basically stock with emulation now
@JenslilCorner4 жыл бұрын
Welcome back lovely
@rouldiy4 жыл бұрын
Yaay! You're back!
@erebostd4 жыл бұрын
Great video 😄👍
@myopinion1384 жыл бұрын
The Geek is back welcome
@IDPhotoMan4 жыл бұрын
Woo! You're back!
@TheSulross4 жыл бұрын
So a SID chip could be reverse engineered as a FPGA implementation (same with a VIC-II video chip). Once re-engineered, then the FPGA implementations could be manufactured as ASIC chips. Then used to populate some of the newly manufactured C64 motherboards - and then viola - brand new C64s. After all, these are the two bottleneck chips that hold up recreating authentic C64s.
@mctanuki3 жыл бұрын
Hi I have no other way of contacting you but I am wondering if you or anybody you know has interest in working on modding a piece of forgotten 80s music hardware? This seems to me right up your alley, but could be wrong.
@NybblesandBytes3 жыл бұрын
Ah, sorry, no. I teach people how to write software, not mod hardware.
@stefanweilhartner44154 жыл бұрын
i have to correct some things here. the sound signal production including the ADSR curve is 100% digital. the only thing that is not digital is the filter. this filter was not possible to make in digital form back then. there are two reasons for that: * 1. it takes a lot of knowledge how to implement that filters digitally. i don't know if bob yannes already had this knowledge. * 2. it takes a lot of calculation power to implement the filters digitally compared to what was available at that time. the tone generators where very simple to do digitally. they where simple 24 bit counters. depending on the waveform you just "massage" the output a bit. if i manage to finish my FatSID project this year, i will at you to the list of testers who get a free sample - if you like.
@00Skyfox4 жыл бұрын
First of all, glad to see you’re back again! Second, can each voice have independent volume or is each one basically required to go all the way up to the overall SID volume setting during the attack phase before dropping down to its sustain level?
@NybblesandBytes4 жыл бұрын
Ah, sorry Skyfox -- meant to get back to this comment sooner. Seems I was later than expected. O.o Each voice has a separate volume via the ADSR envelope, but the SID also has an overall volume as well. For the attack phase, I believe it is ramped from zero to the max volume allowable for a given voice, using the overall SID volume as a scaling value. Ie: if A is set to 10ms ramp, it will take 10ms to go from zero to thr SID max volume.
@00Skyfox4 жыл бұрын
@@NybblesandBytes Thanks for the info. So, each voice does have its own independent max volume even if that is lower than the current overall SID volume? I'm still a little unclear on that.
@moggers874 жыл бұрын
Welcome back :)
@Bananeisafree4 жыл бұрын
Guess who's back!
@alfredocassano3194 Жыл бұрын
this is awesome
@ElectorNiklas4 жыл бұрын
Yay you're back!!
@Tupster4 жыл бұрын
I have never really understood the sync voices feature of the SID but the way you went over it was way too fast so I still didn't get it. I already knew what ring modulation was, but that was probably too fast too, lol. I was pretty sure that the voices could be gated to the filter individually (in fact I thought there were three filters, but maybe I was wrong?)
@NybblesandBytes4 жыл бұрын
You are correct, they can be gated individually -- I misread the block diagram. There is only one filter.