Это видео недоступно.
Сожалеем об этом.

Bad Apple on the Homebrew CPU!

Поделиться
HTML-код
  • Опубликовано: 3 июл 2024
  • Viewers have been asking for this. Bad apple is a tune and video with a rich history that has been “ported” to many low powered systems as a technical challenge.
    This is one of the most complex demos I’ve implemented on the system with synchronized Audio, Video, SD card and the UART.
    You’ll want to watch the follow up video “Porting Bad Apple to the Homebrew CPU!” where I discuss many of the technical challenges and my solutions. • Porting Bad Apple to t...

Комментарии • 96

  • @weirdboyjim
    @weirdboyjim  2 месяца назад +1

    Join us on Discord: discord.gg/jmf6M3z7XS (Over 1024 members!)
    Follow me on Twitter: twitter.com/WeirdBoyJim
    Support the channel on Patreon: www.patreon.com/JamesSharman

  • @czemacleod
    @czemacleod 2 месяца назад +25

    I've seen bad apple ported in some weird and whacky ways - but I love this. It is amazing what can be done on 'limited' hardware, and the JAM-1 is an amazing piece of kit.

    • @weirdboyjim
      @weirdboyjim  2 месяца назад +9

      Thanks! I had to use a lot of tricks to make this work as well as it does. Push hardware's limits has always been a fun challenge!

  • @HeadCodeMonkey82
    @HeadCodeMonkey82 Месяц назад +26

    An amazing port, your CPU ran it so well, it looked and sounded great.
    All that and capacity to stream the lyrics out with the music, you have every reason to be proud of what you have built

    • @weirdboyjim
      @weirdboyjim  Месяц назад +5

      Glad you like it! I've been looking forwards to sharing this demo with everyone!

  • @joonglegamer9898
    @joonglegamer9898 Месяц назад +9

    Your CPU is so beautifully modular, love it. I commend you for having the stamina to go through constructing and building and even making it to "PCB" to make it, even if just for the "I knew I could do it" satisfaction of doing so.

    • @weirdboyjim
      @weirdboyjim  Месяц назад +3

      That was always my vision, to be able to show all the parts clearly bad still have it running.

  • @Teckman8
    @Teckman8 10 дней назад

    Coming back to this a few times, I am forever in awe of the sheer ability of the 4 channel MIDI. Its on the struggle bus for a few sections, but overall it is great for what it is. Even if the graphics are only a bit on the chunky side, but it just works.

  • @nezu_cc
    @nezu_cc Месяц назад +2

    Rule 86 - If it exists, you can play Bad Apple on it
    Great work

  • @mekafinchi
    @mekafinchi Месяц назад +11

    beautiful. A true culmination of your work.

    • @weirdboyjim
      @weirdboyjim  Месяц назад +5

      Thank you! It's nice to do something that uses so many of the separate features!

  • @m1geo
    @m1geo 2 месяца назад +5

    This is fantastic, James! An awesome demo! 😍😍

  • @TheGunnarRoxen
    @TheGunnarRoxen 2 месяца назад +7

    I have no idea what Bad Apple is, but this is great! JAM-1 has come a looooooooong way!

    • @weirdboyjim
      @weirdboyjim  2 месяца назад +4

      I will probably link this video in the public release: ruclips.net/video/6QY4ekac1_Q/видео.html

  • @janschrder
    @janschrder 2 месяца назад +5

    James, You're squeezing some impressive gxf performance out of JAM-1
    Well done :-)

    • @weirdboyjim
      @weirdboyjim  2 месяца назад +3

      Thanks! This one has a far few ticks at play.

  • @damouze
    @damouze 2 месяца назад +4

    Wow! That is truly impressive. I knew about the song and the video, but not much else, so the video explaining Bad Apple was very educational as well!

    • @weirdboyjim
      @weirdboyjim  2 месяца назад +2

      Glad you liked it! I was in a similar position, I knew about bad apple as a "thing" in the demo community but I didn't really know anything about it's history until I started digging into it for this demo.

    • @damouze
      @damouze 2 месяца назад +2

      @@weirdboyjim Who knows, if I finally get my Stackable Z80 Computer build completed with a VGA circuit, maybe the next port will be to that platform ;-).

  • @bradywb98
    @bradywb98 2 месяца назад +3

    Wow this was amazing! I love how it exercised seemingly all components so well. I’m excited to see how you pulled off the graphics since they look very bitmapped, as well as how the timing was done (RTC?) the sound, lyrics, visuals all seem very well coordinated.

    • @weirdboyjim
      @weirdboyjim  2 месяца назад +3

      Thanks Brady! I'll explain more in the programming video but the main loop is les than 1/60th of a second so it syncs itself with vertical blanking on the vga.

  • @danny_racho
    @danny_racho Месяц назад +1

    I'm very glad, I was part of the big journey :)

  • @andrewfraser2760
    @andrewfraser2760 Месяц назад +1

    Seriously impressive just how far JAM-1 has come - awesome work James 👍

  • @LazieKat
    @LazieKat Месяц назад

    It sounds like a washing machine I love it.

    • @weirdboyjim
      @weirdboyjim  Месяц назад

      For some reason my washing machine plays tunes as well.

  • @ecosta
    @ecosta Месяц назад

    In a decent and fair world, this video would have hundreds of thousands of views. Considering you created this CPU from scratch, "incredible" don't start to describe what you did there! Also massive kudos to whoever created that demo in first place.

    • @weirdboyjim
      @weirdboyjim  Месяц назад

      Very kind words! And yes, the original video is impressive itself. I provide some more details in the Porting video.

  • @AiOinc1
    @AiOinc1 Месяц назад

    The skeletons Halloween demo is still my favorite audio recording you've ever done

  • @cj09beira
    @cj09beira 2 месяца назад +1

    Looking awesome great job james.

    • @cj09beira
      @cj09beira 2 месяца назад

      so many questions

    • @weirdboyjim
      @weirdboyjim  2 месяца назад +2

      Hopefully my follow up video will have many of the answers!

  • @enderjed2523
    @enderjed2523 Месяц назад

    Didn't expect this to happen, thanks chap!

  • @younessamr6802
    @younessamr6802 Месяц назад

    the animation is so smooth

  • @MaxintRD
    @MaxintRD Месяц назад

    Wow. Simply amazing!

  • @FrankGevaerts
    @FrankGevaerts 2 месяца назад +1

    Looks and sounds awesome!

    • @weirdboyjim
      @weirdboyjim  2 месяца назад

      Thank you Frank, Glad you like it!

  • @iamdarkyoshi
    @iamdarkyoshi Месяц назад

    Excellent work!!

  • @tomasparrado873
    @tomasparrado873 Месяц назад

    Very impressive. I don't understand where you're storing the video frames. RLE on B/W probably gets you quite far, but to also store 4 channel audio and the lyrics. Looking forward to the follow-up explanation

    • @weirdboyjim
      @weirdboyjim  Месяц назад

      Data is streamed from the SD card, there is a production video linked in the description that explains more.

    • @tomasparrado873
      @tomasparrado873 Месяц назад

      Yes, I forgot you added the SD card and I did watch the explanation video. It's still remarkable how you managed to compress the data down to stream it in real time. Only storing the tiles that change was a lovely trick. If you're ever low on ideas for videos I'd be interested in learning more about how you pre-processed the frames assuming this was custom code and not a feature of video editing software. I'm assuming it wasn't written in assembly. Great video as usual

  • @jerril42
    @jerril42 2 месяца назад +1

    Just WOW!

  • @twobob
    @twobob Месяц назад

    just SO good

  • @WolFik789
    @WolFik789 Месяц назад

    God damn it, that's epic.

    • @weirdboyjim
      @weirdboyjim  Месяц назад

      Thanks! Glad people are enjoying it!

  • @TheDefpom
    @TheDefpom Месяц назад

    Wow… just wow.

    • @weirdboyjim
      @weirdboyjim  Месяц назад +1

      Thanks Scott!

    • @andymouse
      @andymouse Месяц назад

      And another Wow for good measure !

  • @tinygriffy
    @tinygriffy Месяц назад

    Awesome.. 👍

  • @Fox-Tech
    @Fox-Tech 2 месяца назад

    Woo hoo! That's fantastic.

  • @miege90
    @miege90 Месяц назад

    really impressive demo!
    The sound frequencies are not quite in tune with each other. I know that the sound module is quite limited, but I was wondering:
    Is this due to the rounding in the divided frequencies? Do you think that this could be improved, by building a better clock divider?
    Have you experimented with capacitors to make the square waves look more like sine waves for a less distorted sound?
    Also I would be interested in the quality of a direct recording of the audio line, without converting it to airwaves and back again :D

    • @miege90
      @miege90 Месяц назад

      it was really enjoyable to see the SD expansion being put to good use :)

    • @miege90
      @miege90 Месяц назад

      one particular thing I was thinking about: especially for midi music tracks, you basically have just 11 different frequencies in an octave and for each octave their respective frequency is doubled/halfed.
      So matching the frequency very precisely relative to each other is probably very important for playing music in tune, and the different octaves could be implemented quite trivial with counter chips.

    • @weirdboyjim
      @weirdboyjim  Месяц назад

      Thanks. I have a hypothesis that some of the tuning issues that people (With a better ear than me) are reporting is a software issue in my midi convertor. I need to investigate it when I get some time.

  • @djc1402
    @djc1402 2 месяца назад +2

    Awesome. I take it you are streaming off the SD card. Do you use any video compression, like run length encoding?

    • @weirdboyjim
      @weirdboyjim  2 месяца назад +4

      Lots. There is both run length encoding within frames and delta encoding between frames.

    • @edgeeffect
      @edgeeffect 2 месяца назад

      @@weirdboyjim Woah! Reminds me of my days messing around with a DIY Autodesk Animator player.... But that was in C, not assembly... looking forward to the "making of... DVD extra" ;)

  • @vendorfrostblood5481
    @vendorfrostblood5481 Месяц назад

    Very well done! And I guess I'm one the side of people who lacks words for expression here, it is "*wow*" indeed :D
    (By the way, the video link in the description is broken/leads to a deleted video)

    • @weirdboyjim
      @weirdboyjim  Месяц назад +1

      Thanks for the kind words! Not sure what happened with the link, I fixed it a while back when someone else pointed it out.

  • @RomixalView
    @RomixalView Месяц назад

    Cool 😎👍

  • @ninjalemon_Squash
    @ninjalemon_Squash 27 дней назад

    Wow

  • @matteopascoli
    @matteopascoli Месяц назад

    what next? A mod tracker implemented in hardware? 😆

    • @weirdboyjim
      @weirdboyjim  Месяц назад

      To be honest, the trend would be to do more in software.

  • @preetamdas4048
    @preetamdas4048 Месяц назад

    Rad 😎

  • @crbielert
    @crbielert Месяц назад

    👍

  • @AJMansfield1
    @AJMansfield1 Месяц назад +1

    The tuning on that bass line tho...

    • @drivers99
      @drivers99 Месяц назад

      Something’s off

    • @AJMansfield1
      @AJMansfield1 Месяц назад +1

      @@drivers99 ye, like I'd understand if it was a high arp that was out of tune (the audio circuit has only limited tuning resolution at the high end), but for a bass line that's almost certainly a software issue.

    • @drivers99
      @drivers99 Месяц назад

      @@AJMansfield1 I wonder if the midi file has things transposed based on the instruments, and so the notes are wrong in the conversion. “Audio from scratch part 10” sounds good enough. This is more like bass being in entire the wrong key

    • @weirdboyjim
      @weirdboyjim  Месяц назад

      I feel bad that the sound lagged behind the visuals.

  • @peter.stimpel
    @peter.stimpel 2 месяца назад

    Good call with linkin ruclips.net/video/6QY4ekac1_Q/видео.html for more explanation. And maybe you link the video itself as well, has only 88m clicks by now. And of course someone needs to mention the efford spent by OSU to "render" the full video in last years r/place. Good job, James, I love it!

    • @weirdboyjim
      @weirdboyjim  2 месяца назад

      Glad you liked it Peter!

  • @fnot804
    @fnot804 Месяц назад

    Bad link to explanation video.

    • @weirdboyjim
      @weirdboyjim  Месяц назад +1

      Oops. Try this one: ruclips.net/video/2g1h5coj6iA/видео.html

  • @frank7911
    @frank7911 Месяц назад

    weird flex, but ok. epic display of some serious dedication

    • @weirdboyjim
      @weirdboyjim  Месяц назад

      Lol Thanks. Was the demo the weird flex or the entire build?

  • @hermannpaschulke1583
    @hermannpaschulke1583 Месяц назад

    inb4 millions of views

    • @weirdboyjim
      @weirdboyjim  Месяц назад

      Bold! a few thousand if I'm lucky ;-)

  • @stefankrause5138
    @stefankrause5138 Месяц назад

    Not bad at all, and also not an apple, this is kinda clickbaity =)

    • @weirdboyjim
      @weirdboyjim  26 дней назад

      I bet the apple isn't rotten either!