Making 8-bit Music From Scratch at the Commodore 64 BASIC Prompt

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 609

  • @afogh2
    @afogh2 Місяць тому +147

    I never expected that live code demo to inspire you to do such a massive job :)
    Well done (as usual :)) - Very lovely concept :)
    /Walt

    • @madyogi6164
      @madyogi6164 27 днів тому

      Yea, but poking and peeking is a pure torture. not to mention, result was bloody damn slow back then, (when no emulators were available).

  • @nicolasfleury6232
    @nicolasfleury6232 Місяць тому +123

    Changing the line number while coding to duplicate the code fast, writing assembly directly through opcodes, using screen buffer as real time input, using color buffer to visualise notes parsing,… So much elegance in all this! And man, what an ear you have when tweaking the melody. I call it “”Art” 🙏

  • @AxelWerner
    @AxelWerner Місяць тому +235

    Assembling machine language using C64 basic only AND developing a music editor AND player from it using every trick in the box, blows my mind. #GURU

    • @Isaac_Garcia_Peveri
      @Isaac_Garcia_Peveri Місяць тому +1

      New subscriber amazed of your programming skills!!! It's really impressive what you did with only basic code!!!!

    • @joe--cool
      @joe--cool Місяць тому +5

      That's why I always liked the monitor in the Apple ][. Woz made entering Assembly without any extra software easy (for the early 80s).
      F666G to start the mini assembler. You could even add a custom subroutine and call it with CTRL-Y.
      The C64 could do a lot more but it's ROM wasn't as ingenious. At least not for programmers.

    • @nigeladams8321
      @nigeladams8321 Місяць тому +1

      Bard

    • @douglashudson4706
      @douglashudson4706 Місяць тому +1

      ​@@joe--coolYes, mini-assembler for the win!

    • @Kingcobra6699
      @Kingcobra6699 14 днів тому

      It's really impressive but I don't understand a thing. I learned to code on one of these. Never using assembler, though. I was just 13 back then 😊

  • @bozimmerman
    @bozimmerman Місяць тому +304

    C64 coding should be an olympic event. There are not enough Like buttons for this video.

    • @danieldutch8621
      @danieldutch8621 Місяць тому +8

      That would actually make me watch the Olympics. Mind you. LFT here would likely pick up all the gold medals.

    • @SlaserX
      @SlaserX Місяць тому +4

      Seriously, I've done some c64 asm back in the day, and looking at the masters code is like looking at something that makes no sense, but works better than anything should. I learned a lot from reading Hubbards music player

    • @MJsPhilippineRetirement
      @MJsPhilippineRetirement Місяць тому +1

      I also did asm back in the 80s and was in some groups at that time. I focused on programming intros. Fun times as a teen.

    • @rcl5555
      @rcl5555 Місяць тому

      @@MJsPhilippineRetirement demoscene is still alive and well! (search for 'pouet')

    • @coskuarsiray
      @coskuarsiray 16 днів тому

      Load "*",8,1... instead

  • @lftkryo
    @lftkryo  Місяць тому +161

    Personal milestone: Today this channel reached 32768 subscribers, a number that won't fit in a signed 16-bit integer. I find it amusing and appropriate that the event was triggered by this video, in which the same thing happens to the variable F. =)

    • @ajsnz
      @ajsnz Місяць тому +5

      I really enjoyed this video, and was able to follow it pretty well with your explanations. I actually found the live coding technique quite exciting!

    • @NickTaylor-Phantom-Works2
      @NickTaylor-Phantom-Works2 Місяць тому

      As a c64 owner in the mid 80s to early 90s, and someone that loves creating music, I just wanna say thank you for this upload mate! Brilliant!

    • @karolpadiasek5461
      @karolpadiasek5461 Місяць тому +1

      @@NickTaylor-Phantom-Works2 same here :D awesome vid!

    • @dannycolverson6944
      @dannycolverson6944 22 дні тому

      32,768 is also the number of colours in a SNES!

  • @VitorMartinsAugusto
    @VitorMartinsAugusto Місяць тому +83

    No way... This guy is either making fun of us and reading the code from a paper or he is programming directly in DECIMAL opcodes!
    Using the REM lines as a live tracker with memory storage is bordeline genius and mad.
    Being able to play the music by inserting the letters, representing notes, in realtime on the screen is amazing.
    All in all, I feed mentally diminished after watching such a briliant mind.
    Thank you!

    • @bobgomez9481
      @bobgomez9481 Місяць тому

      You speak some strange tongue...

    • @thiesenf
      @thiesenf Місяць тому +2

      @@bobgomez9481 IRQ, PC, SP, ALU, CPU, ASM, C++, ADA, LISP, Comal, LDA, STA...
      Then I am possessed... :-)

    • @doublex85
      @doublex85 5 днів тому

      Well yeah it's obviously scripted but I don't understand why that would mean he is "making fun of us." I do agree that the sound routine reading notes from screen memory is super creative, love it. Edit: also gotta give props to the pedagogy here. I'm sure the actual development process was a lot messier, but he's put the scripted program development in a wonderfully one-step-at-a-time order here. I'm sure that also took a lot of work.

  • @dazdaz105
    @dazdaz105 Місяць тому +25

    This video is ace.
    I have still got my C64 from when I was 15 years old.
    41 years later that keyboard clunking takes me back to a better time. .

  • @8_Bit
    @8_Bit Місяць тому +60

    I love how open and flexible the C64 is, right out of the box, and you've demonstrated that fact amazingly well here. The POKE and SYS of Commodore BASIC allows anything to be done with the right know-how.

    • @captainboing
      @captainboing Місяць тому

      You are making excuses for an astonishing lack of native support. Far from being a powerhouse, POKEs were often the only way to get it to do much beyond "hello world". Ghastly

    • @8_Bit
      @8_Bit Місяць тому

      ​@@captainboing And ultimately what did we miss out on the Commodore 64? Name some great Commodore 128 or Plus/4 programs written in the more feature-rich BASIC on those machines. I'll take the C64's flexibility any day over something like the TI-99/4a which provided absolutely NO way for the user to use the sprite hardware or execute machine language without additional purchases.

    • @captainboing
      @captainboing Місяць тому

      @@8_Bit you kind of prove my point - you'll die on this hill "wah POKEs are really good coz they're powerful" completely missing my point that you need them coz the rest of the basic is weak af. Your "whataboutism" of one basic that didn't support the hardware with another is hardly apt... Staying on the subject of sound creation, go and research the BBC or Amstrad 464's sound subsystem (even the dreadful speccy had some support) - all contemporaries. The CPC had an amazing sound subsystem - All the sound generation and even the interrupting was handled natively in the basic, which resulted in amazingly smooth flowing sound output from 100% Basic code which showed you what you were doing without little notebooks full of pokes (seen it)- please note, I am not going to defend the 464 sound chip, which despite being an industry staple (and used in many arcade machines), was clearly inferior to SID. Don't let your misty-eyed reminiscing blind you to the fact and that this amazing video is a tribute to the programmer and not the machine - showing what can be done DESPITE the Basic and far from a showroom example of how great commodore Basic is because it supports PEEK, POKE and SYS (or similar) - big plop - so did tinyBasic from the 70s, ZX80/81 and just about every other. Just about every active element of this code could be done using WOZMON or DEBUG. All the clever stuff is done by his machine code with Basic being little more than a loader... Even to the point that it self-terminates and does nothing about actually playing the tune. So in that respect it's even worse

    • @captainboing
      @captainboing Місяць тому

      @@8_Bit youtube deleteing replies I see.
      anyway... why compare to the 99/4? that was just as bad. Go and research the Amtrad CPC sound capabilities - even the sound channel interrupts were controlled natively by the Basic (not defending the chip - SID was way ahead of everything until Paula)... can't remember what else I originally typed

  • @lis6502
    @lis6502 Місяць тому +21

    Old computers can be fun and all but it's your creativity i am here for.

  • @tappel0
    @tappel0 Місяць тому +73

    The LIST trick and saving the melody to the program listing is really neat, never thought of using BASIC for that.

    • @daren42
      @daren42 Місяць тому +1

      This

    • @talideon
      @talideon Місяць тому

      That's pretty much what you had to do back in the day! Or are you talking about the REM hack?

    • @tappel0
      @tappel0 Місяць тому +10

      @@talideon I'm referring to the REM thing and using the BASIC program listing as "editing software" while doing playback from screen memory with interrupts. That's really cool way to use the system facilities to do the tedious stuff. You can even save the resulting file with the melody clip in the comments.

  • @mswcap
    @mswcap Місяць тому +11

    Totally awesome! When I was a kid I had a C64 for the whole family. I programmed a lot in BASIC but never ever got to this level! And indeed, it's HIGHLY entertaining. Thank you!

  • @TheRealShedLife
    @TheRealShedLife Місяць тому +17

    Having grown up programming music, graphics, and animation in C64 BASIC, this blew me away. The comments below concur. What a brilliant C64 MASTER CLASS

  • @HiskoArt
    @HiskoArt Місяць тому +33

    Kudos LFT, you bloody genius. It's so inspiring, I'm blown away

  • @MichaelSievers
    @MichaelSievers Місяць тому +21

    I stumbled over this in my recommendations and was planning on having a short look. Instead you made it impossible to not keep watching, by playfully showing how to abstract away from the system's restrictions and use the language most appropriate to achieve the goal. Thank you for sharing this!

    • @Charleshawn66
      @Charleshawn66 Місяць тому +2

      Well said. Same!

    • @marcofixit
      @marcofixit Місяць тому +2

      I loved it how he just pre rendered page tables

  • @CommodoreGreg
    @CommodoreGreg Місяць тому +11

    This video will never get the likes it deserves but this is INCREDIBLE! The research, planning, editing, tech factor, and entertainment value are fantastic. Well done sir!

  • @saulcross9690
    @saulcross9690 Місяць тому +8

    I am absolutely gobsmacked (in awe) by this - never seen coding music approached in this way. Genius.

  • @doktor6495
    @doktor6495 Місяць тому +7

    The look of your video is like "school TV" in the 80's. It's simly COOL! Thanks for that interesting and entertaining lesson!
    Best regards, Doc64! Keeps C64 alive! 😉

  • @paszTube
    @paszTube Місяць тому +6

    I'm thoroughly entertained and impressed by this! Basically (no pun) using basic to write machine code, and a genius way to create a UI. Hats off!

  • @64jcl
    @64jcl Місяць тому +26

    The fact that you remember the instructions set in decimal numbers blows my mind.

    • @atdzsny
      @atdzsny Місяць тому +18

      He only knows them in binary and converts them to decimal. :)

    • @SyldabiaHacks
      @SyldabiaHacks Місяць тому +2

      I remember in hex from Z80 CPU

    • @olivierrichard5067
      @olivierrichard5067 Місяць тому

      And I remember me some hex from Sharp PC-1403 Calculator (time of human's assembler)

  • @zirahvi
    @zirahvi Місяць тому +7

    Pure black magic on a blue screen. Amazing!

  • @volvo480
    @volvo480 26 днів тому +1

    This reminds me of assembly coding my Commodore CBM 8032 over 40 years ago. I still have the book on 6502 programming on my bookshelf. The 8032 had a built in hex editor and machine code monitor (register contents and stack pointer were shown) which could be invoked from a BRK interrupt
    What I really like from this video is that all machine works without crashing the C64 and he never saves the code to tape or disk, so if it goes wrong he had to start again from scratch. And the trick to make an editor with the REM lines is brilliant. Anyway, it all brought back great memories from my first attempts into computer programming and hacking 😅

    • @makipri
      @makipri 9 днів тому

      Cheers! I have made several demos for CBM 8032 under the duo OOBC. We found the monitor a little tedious for working fast and because we needed to work simultaneously we ended up cross compiling and the makefile could either run it on an emulator or upload it to the computer over a tape adapter. The sound possibilities seemed to be a lot wider than I had heard anyone else do before that, playing tones below 242 Hz, oscillator sync or sample playback. These days so many other people have done cooler tricks on the PET platform.

  • @jussipal
    @jussipal Місяць тому +4

    Just mesmerizing to watch how well your mind works!
    Thank you!

  • @miloszobloza
    @miloszobloza Місяць тому +5

    Wow... Your channel just popped out of nowhere on my YT and it's a real gem! The whole concept, execution and editing quality are somewhat soothing. Thank You!

  • @Przemeknoname
    @Przemeknoname Місяць тому +5

    amazing. machine code direktly without mistakes

  • @TimwiTerby
    @TimwiTerby Місяць тому +8

    The lesser-known successor model, the C128, had a BASIC command called “PLAY” that let you play music by specifying the notes. “PLAY "CDEFG"” would play a simple scale. There are letter/number codes to change octave, instruments, note lengths, insert rests, etc.etc.

  • @ASHdemoREEL
    @ASHdemoREEL Місяць тому +9

    wow. wow. wow. wow. wow.
    5 wow review for impressive and mindblowing unparalleled skillz!!! That was insanely awesome, thank you for sharing with the rest of us mere mortals. Much respect and admiration! 💥💯💥🤯

  • @tdumnxy
    @tdumnxy Місяць тому +2

    I now have a working recreation of this program. So much fun! All thanks to Linus and his debug help.

  • @carminone
    @carminone Місяць тому +64

    This fellow is 1 in a billion.

    • @AffidavidDonda
      @AffidavidDonda Місяць тому +4

      so you say there are 7 more like him???

  • @RubiCubix
    @RubiCubix Місяць тому +3

    Brilliant work Linus. So inspiring! I have to go and dig out my old C64 right away and try it out. Keep up your amazing work. 💪

  • @TheOnlyToblin
    @TheOnlyToblin Місяць тому +1

    This was the nerdiest video I think I have ever watched, and I think I only grasped like 10% of it, but it was still a highly enjoyable experience :D

  • @papamaxx4977
    @papamaxx4977 24 дні тому +1

    I have known and programmed on the C64 for 50 years. But this video is the coolest thing I have ever seen. Thank you!!!

  • @AndreasMeyer-k5i
    @AndreasMeyer-k5i Місяць тому +10

    Amazing! This is real art.

  • @semilife
    @semilife Місяць тому +1

    I remember peeking and poking to perform certain operations without really understanding what was doing at the time. This makes more sense of what I used to do.

  • @andrehogbom
    @andrehogbom Місяць тому +4

    This is so beautiful! It’s a bit too advanced (and way too fast) for me, but your pedagogic way lets even a guy like me understand enough to be fully entertained. I love how precis you type things in too! I doubt there’s a single unnecessary keystroke in the whole video 😮
    Thanks for a very cozy half an hour Linus ❤️

  • @snowgods2195
    @snowgods2195 Місяць тому +7

    This brings back memories. I remember doing something similar, had a mini language for the note data, and a similar interrupt driven generator for the music. Pretty sure I just inputted the pitch values from the user manual as I didn't understand the math back then (I WAS 10 at the time).
    Don't remember writing anything too complicated though, just transcribing a few songs from the scores.

    • @shambien
      @shambien Місяць тому

      Me too: similar age and similar process I was following in the 80s.... I had a hard time understanding vectors with multiple dimensions (which is something that gets taught in middle/high school and I was still in elementary 😅) and I also came up with more crude and less advanced ways, but it was fun 😊

  • @sonicstate
    @sonicstate Місяць тому +1

    Amazing video!! Who even knew this was possible?! Shared in the Sonicstate news today 👏

  • @RaveyTeamLarge
    @RaveyTeamLarge 17 днів тому

    This is SO cool. The guy is not programming a computer he has become one with the computer. Really awesome video.

  • @princequestly2218
    @princequestly2218 23 дні тому

    I know almost nothing about coding but realize just how incredibly difficult what you just did was, bravo. 👏

  • @gabemorales7814
    @gabemorales7814 Місяць тому +2

    Legitimately one of the best videos I've ever seen, anywhere. Instantly subscribed, this is killer content!

  • @julivessi
    @julivessi Місяць тому +1

    It’s hard to describe how happy this video makes me. What a craftman and an artist you are!

  • @TubeAtilla
    @TubeAtilla Місяць тому

    I just look at the iconic blue screen and listen to the sound of the keyboard. Fantastic time travel. Thanks!

  • @antivanti
    @antivanti Місяць тому +23

    I know some of the old legends, like Hubbard I think, composed their music straight in code because they didn't have the time to actually produce tools for composing. That's crazy

    • @talideon
      @talideon Місяць тому +10

      It was more because Rib Hubbard and some of the earlier SID composers were just used to that workflow. Plenty of the greats used tools, and Chris Hülsbeck invented the first true tracker on the C64.

    • @NoMan-zw5wb
      @NoMan-zw5wb Місяць тому +1

      Making a tracker is my first goal in my programming journey.
      And I suddenly wish I knew more than nothing.
      Inspired though!

    • @jhna314
      @jhna314 Місяць тому

      If you know how to code the playroutine its a small step to use it directly for composing

  • @Anth369
    @Anth369 23 дні тому

    I'm blown away with what you've presented here! Knowing opcodes by heart, the way you present pages in memory, and being able to code via pokes in basic is inspirational.

  • @xard64
    @xard64 Місяць тому +66

    So what I'm seeing here is that you use the screen letter buffer as runtime memory and the basic provided movement and text input functionality as real time memory editor where the data also doubles as code which can be also serialized to storage memory with a press of an enter key?
    I mean... WHAT?!

  • @MagnusWissler
    @MagnusWissler Місяць тому +1

    I never knew that's how the parser worked! I was always very careful with whitespace and all the other things you ran over like a freight train. Awesome!

  • @jeremyjohnson7676
    @jeremyjohnson7676 26 днів тому

    I was part of a C64 hacker group in the 90s. My job was to program the very popular loader themes. I used the same stuff shown in the video xD Getting goosebumps seeing someone doing that after such a long time... thanks for the memories!

  • @desertfish74
    @desertfish74 Місяць тому +6

    new LFT video!!!
    edit: love the way you move the cursor out of the way of the pattern scanner when it comes near your editing position ^_^

  • @OfficialRainsynth
    @OfficialRainsynth 29 днів тому

    That's a cute melody you programmed, C64 was indeed a sound powerhouse for its price and capabilities.

  • @ismiregalichkochdasjetztso3232
    @ismiregalichkochdasjetztso3232 Місяць тому

    Thank goddess there's a cheat sheet in the top right corner so that I had a chance to follow.
    Also, the sheer number of ingenious hacks boggles the mind.

  • @olgaszklarska5773
    @olgaszklarska5773 Місяць тому

    Thats the most creative C64 programming I have seen :) no tools, bare metal.

  • @lbairy
    @lbairy Місяць тому

    This is really huge! A musician who can translates assembly to opcodes by the top of his head... Excellent video btw.

  • @StinkingKevin
    @StinkingKevin 13 днів тому

    I wish I'd stuck with this as a teenager. So much of this makes sense now. Much of it doesn't yet. Thank you for doing this.

  • @tamat
    @tamat Місяць тому +3

    great video, loved the idea of using the screen buffer as sequencer, super cool

  • @trs4387
    @trs4387 Місяць тому +1

    wow, just WOW.
    I already knew before, that your brain must be working differently (in a positive way of course), and this video is just another proof of that. We will never forget your C64 sprite-crunch tables and also making use of it in a great demo!
    I'm a c64 basic & assembler hacker too, and I know some hex values of certain opcodes too, but also knowing the decimal values of every opcode (and especially the corresponding adressing modes!!!) blows my mind.
    I don't know, how you prepared yourself for making this video, but I would not be able to do this only using BASIC. Hats off, Master LFT!
    Best, TRS

  • @aeschynanthus_sp
    @aeschynanthus_sp Місяць тому +14

    One of my programming peaks on C64 was creating a way of entering music somewhat easily into DATA lines. I comment at the start of the video, let's see how close your approach is! ... Ok, I used only BASIC.
    a) First, I learned somehow that the difference between semitones is the twelfth root of 2. I calculated that with a handheld calculator.
    b) Then I knew that an A note has a frequency of 440 Hz. Dividing and multiplying that with the twelfth root of 2 gave me the frequencies of the notes up and down from there.
    c) I read in the C64 manual (or was it in a magazine?) how the frequencies are set using POKE commands, and calculated the upper and lower POKEs for each frequency.
    d) I stored the values in arrays and wrote down which array value corresponds to which note.
    e) I made the program read DATA lines that included three numbers, one note for each voice, and zero meant silence. There was also a duration, I think a crotchet was 64. The delay was a simple for loop. This program was based on one in a magazine that had those upper and lower poke values listed, so my approach was much more straightforward.
    f) Then I had a way in the DATA lines that could stop the sound momentarily so that the same note could be played several times in succession; otherwise it would have been one continuous sound. But I can't remember how I did that.

    • @simonebernacchia5724
      @simonebernacchia5724 Місяць тому +2

      Sound like you made proto-instruments there (if we assume that setting all stuff for a note made play in a way and not another is an instrument) - that give the idea of how light years away Rob Hubbard was from your average BASIC programmer

  • @bitkahuna
    @bitkahuna 26 днів тому

    this was pretty insane but fun to watch. i wrote articles about the sid chip in the very early days and also worked on software for a keyboard that had 3 extra sid chips in it but unfortunately never made the market (yes i worked for commodore).

  • @MeinDeutschkurs
    @MeinDeutschkurs Місяць тому

    Wow, the first time I saw a really cool basic project for c64. c64 Basic seems to be more powerful I‘ve ever imagined. WOW!

  • @danehenry895
    @danehenry895 Місяць тому +1

    Absolutely amazing 👏🏾. To be able to visualise assembly with byte code is mind blowing 🤯

  • @Verlet1
    @Verlet1 Місяць тому

    My mind was blown exactly 4 minutes in, and then again multiple times after. This is the most mindblowingly creative coding I have ever seen. Several tricks combined beautifully!

  • @joeloperez
    @joeloperez 24 дні тому

    Awesome! You can write machine code so easily using decimal opcodes! It reminds me of a high school teacher who taught us how to program in Motorola 6800 assembler. We wrote down the mnemonics for each instruction with its operands and then looked up the hexadecimal value for each one in the datasheet.

  • @aleks0id
    @aleks0id 26 днів тому

    This interactive table-like interface for editing melodies in real time is an absolutely genius invention!

  • @Halfdar
    @Halfdar 10 днів тому

    I am no coder, but i have great respect for people whon can do this. you come very close to a dream of coding, that i have since the day of c64/amiga 500: taking a computer out of the box, coding the needed software out of nowhere, making literally everything possible. you are the proof, it's possible! thx very much

  • @tobiaskarlsson3298
    @tobiaskarlsson3298 Місяць тому +4

    This is what makes the internet great. Thank you, and can we please have some more! :)

  • @smashrulezzz6446
    @smashrulezzz6446 Місяць тому

    Thank you very much for your amazing video! I really enjoyed it!
    That kicked me back in time to most beautiful age when i got my first computer C=64. And yes. Games were first but i could not keep my curiosity how can be done all these fantastic things...
    I opened that book supplied with this amazing machine soon and started to experiment with BASIC, change colours, print text on the screen, move sprites, generate sounds, make primitive games and more and more... I will never forget these times. These completely changed my mind and my life 🙂
    And i will never foget so many nice and inspirating songs from C=64 games and demos.
    Really nice video! All these SID sounds, colours, font and typical C=64 keyclicks..
    Thank you for this video! It made my evening a lot better ;-)
    You are true C=64 masterclass and great musician!

    • @smashrulezzz6446
      @smashrulezzz6446 Місяць тому

      And yes of course... your approach to create this got me so much!

  • @Rufnic
    @Rufnic Місяць тому

    You sir, are one excellent individual. You made it very easy for me to dig up some fond memories of my time as a child playing the C64. It was very inspiring and relaxing watching you doing some great 8-bit magic there 😊. Keep it up!!

  • @MarcusEDM
    @MarcusEDM 23 дні тому

    Absolutely Amazing, Linus. You are a total legend. Will never forget these videos.

  • @surfinbirdzx
    @surfinbirdzx Місяць тому +2

    WOW. I've never thought that you can make so complex sequencer in pure basic o_O! C64 is a true wonder. Liked, subscribed.

    • @mobluse
      @mobluse Місяць тому

      But it also uses 6502 machine code.

    • @surfinbirdzx
      @surfinbirdzx Місяць тому

      @@mobluse I know... But still it's very impressive for noob like me)

  • @LazloNQ
    @LazloNQ Місяць тому +48

    “The definition of genius is taking the complex and making it simple.” Albert Einstein

    • @maxmuster7003
      @maxmuster7003 Місяць тому +2

      So no genius exist, nothing is simple.😂

  • @MrSnille
    @MrSnille Місяць тому +2

    Beautiful! I could not stop watching. Great work!

  • @JoyzerDk
    @JoyzerDk Місяць тому +7

    Walt/Anders is nothing shy of a LEGEND!

  • @barskuleli8612
    @barskuleli8612 Місяць тому

    You took me to my childhood :) Thanks and congrats for very good job👍

  • @Valam72A
    @Valam72A Місяць тому

    Amazing the way you program the C64!!! Only using Basic and all the ML opcodes and memory map in your head, without any special cartridge or modification..only from Basic.... again... Amazing !!

  • @PhilippeFerrucci
    @PhilippeFerrucci 8 днів тому

    Impressive! 35 years ago I wrote some Basic but I was so far from such ideas and skills. Well done!

  • @CognosSquare
    @CognosSquare Місяць тому +58

    33:06 the quiet satisfaction of making your own DAW in half an hour.

    •  Місяць тому

      Which you conveniently saved into the only available storage you have for easy retrieval: your brain :)

    • @Trancelistic
      @Trancelistic Місяць тому

      Hah, I was thinking the same:D Amazing really.

  • @thierrykurt3867
    @thierrykurt3867 Місяць тому

    Something I've been looking for for years is to see how music was made without having anything, impressive video

  • @tkbettas1890
    @tkbettas1890 Місяць тому

    I don't have the words... My first computer was a zx81c. I really like the Speccy, and know MSX, C64, Amiga, Atari, TRS 80... And what you did in this video is INSANE 😲

  • @Mario-bo5hk
    @Mario-bo5hk Місяць тому

    I had my first coding experiences at a C64 when I was like 12 years old. I remember playing around with PEEK and POKE to get some simple sounds and graphics and trying to build a simple text adventure with basic decision trees.
    Seeing your video now almost 30 years later as a developer myself, just made me so nostalgic of this time. I really love the simplicity, elegance and skill of your coding. Well done! Thanks for this video

  • @iz8dwf
    @iz8dwf Місяць тому +1

    LOL that was fun to watch, it reminded me of the big wall full of paper notes about everything I needed to remember in order to speed up writing things on the C64.

  • @olafpieters
    @olafpieters 10 днів тому

    I programmed a lot for the C64 back in the day, and I have to say this is very inventive. Hats off to you, sir!

  • @wimvanbrouck7196
    @wimvanbrouck7196 21 день тому

    Amazing how you do this in so few Basic-lines. Greetz from Belgium!

  • @SrenHansenDK
    @SrenHansenDK Місяць тому

    blown away - if only I understood how to get started on mastering this... well done!

  • @ErnoPakarinen
    @ErnoPakarinen Місяць тому

    OMG. As a programmer with over 40 years of experience I say that you are a genuine wizard! Awesome

  • @andreasdavour9973
    @andreasdavour9973 Місяць тому +1

    I can't imagine how you developed this video. Managing to keep the line numbers spaced well apart beats me, and the rest of the design is so beautiful it hurts. This is the definition of a moby hack.

  • @LaepsynPaepsyn
    @LaepsynPaepsyn Місяць тому

    Subscribed. Thanks for the amazement and bonus points for that beautiful 1081 monitor!

  • @boostmixmusicgames
    @boostmixmusicgames Місяць тому

    My first experience writing code was on a VIC 20 and making birds flap their wings, wish I had figured out how to do beep scales like this when I later was messing with BASIC on DOS. awesome job with this vid

  • @AndyGraceMedia
    @AndyGraceMedia Місяць тому +55

    As a 12-13 year old kid on a VIC20 and C64 that is exactly how I learned how to code machine language. Initially no money for a ML monitor cart; I had to write my own. Scary thing is I remember it all 40 years later. Very impressive LFT!

    • @KC9UDX
      @KC9UDX Місяць тому +12

      Same here. I ended up writing a full featured macro assembler, in BASIC. Around ten years ago I did it all over again from nothing. It's a work in progress to this day.

    • @skmgeek
      @skmgeek Місяць тому +3

      ​@@KC9UDXwow, you must be really good at procrastination! lol

    • @KC9UDX
      @KC9UDX Місяць тому +5

      @@skmgeek no, I just only work on it when I get time, which I don't. But still I don't think you appreciate what was involved in writing a rich featured assembler from bare metal.

    • @skmgeek
      @skmgeek Місяць тому +3

      @@KC9UDX 'twas but a mere joke, I know how much work goes into that stuff

    • @StCreed
      @StCreed Місяць тому +5

      Ha, yeah. When I saw the numbers on the screen I immediately translated them into assembly :) Doesn't work for almost anything except LDA, STA and RTS :)

  • @djdano2k
    @djdano2k Місяць тому

    I've never ever programmed anything nor do i know anything about it, but this was a joy to watch. Well done and super interesting! I've grown up with a C64 and the special sounds of this machine always remind me of good childhood days.

  • @TyphinHoofbun
    @TyphinHoofbun Місяць тому +1

    Holy moly, man! My jaw consistently drops with these videos, just the way you can keep all this stuff in mind and simply know it. Like, the decimal representation of opcodes and high/low bytes of important addresses? "Okay, we need to do this, this, this." and you just DO it, don't have to translate it into DATA statements or anything. And being incredibly skilled at the music side on top of that? I'm glad you use your superpowers for good, I'd hate to see what you'd do as a villain. ^_^

  • @jdmaze1
    @jdmaze1 Місяць тому

    Man, what a great video. Just pure coding fun and really reminds me of the knowledge and cleverness we used to use back in those days when coding. Loved seeing you rip off assembly as pure opcode. The good 'ole days.. :)

  • @rouzah9419
    @rouzah9419 24 дні тому

    I have no idea what you did. I have no idea about coding. I just gave a Like because a skill like this is respectable. All i know is the C64 that some kids in school had, back in the day.

  • @neckcns305
    @neckcns305 Місяць тому +1

    mind blowing. and an earworm to go, as well! thank you for this 🙏

  • @summerWTFE
    @summerWTFE Місяць тому

    I've been programming for 20+ years and I understood very little. Yet very fascinating!

  • @capt_howdy
    @capt_howdy Місяць тому

    Amazing! You have convinced me to get a new power supply for my C64.

  • @ablaauw70
    @ablaauw70 25 днів тому

    Funny to see all that work you put in to it. That is also the reason why I only played games on the C64 and later switched to an Amiga500. I only had a tape deck on the C64. And that was often just worthless later a 5 1/4 floppy that works better. haha

  • @retrogamesrevived1189
    @retrogamesrevived1189 Місяць тому

    I have not got the foggiest idea what all that code meant but as a lover of C64 music, i was amazed, absolutely hooked on watching you create a wonderful catchy melody 👍 thankyou so much 👊

  • @fernandobuelna8699
    @fernandobuelna8699 Місяць тому

    Amazing how you show some of the c64 capabilities and made them to work from bare BASIC, and how you made us all feel by seeing our good old friend in action this day!

  • @jeromecarterii366
    @jeromecarterii366 Місяць тому

    Thoroughly enjoyable. I started my coding career poking color values on the C-64 in the mid 80's. Good memories - thank you for the excellent tutorial.

  • @robirenz292
    @robirenz292 Місяць тому

    one of the most impressive things I've seen in long time.. you my friend are a genius.

  • @c0v3n4n7
    @c0v3n4n7 23 дні тому +1

    That's absolutely insane. You are a genius

  • @kimmovirtanen2932
    @kimmovirtanen2932 24 дні тому

    Videos you are making are truly precious gems, thank you 😃😃😃