C64 Games memories - Bubble Bobble

Поделиться
HTML-код
  • Опубликовано: 30 апр 2024
  • In this video I look at Commodore 64 Bubble Bobble and how its software sprite rendering works and demonstrate how the code can render extra sprites.
    github.com/martinpiper/Debugg...
    GMA disk loader: • Disk fast load digital...
    00:12 Introduction
    00:29 Disk "Bleep load"
    01:07 Memories
    01:21 Looking for hardware sprites
    01:32 ... and software sprites
    02:38 More character masking
    03:54 Starting to see dynamic characters
    05:16 Two character sets!
    05:48 Lots of hardware sprite frames
    08:18 Memory write debug, for character sets
    09:55 Using the machine code monitor
    12:35 Backup screen data
    14:15 Dynamic characters for each level
    15:26 Collision data
    18:18 Finding software sprite code
    35:56 Finding frame, xpos and ypos tables
    39:01 Rendering new sprites!
    41:50 Technical summary
  • ИгрыИгры

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

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

    Martin, your ability to reverse engineer these games is unparalleled. I love the narrative approach as you figure it out, well done. Pretty nutty the bubbles are drawn using chars mixing in the background data.

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

    Really interesting. Never played much the game but now I understand that the bobbles were not multiplexed sprites.

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

    Really impressive engine.
    One thing that surprises me is how many of these games use a double-buffered screen. Back in the day I thought I had managed to pretty much rule that out as a viable way to make a game just because of the amount of memory it used, but clearly I got that wrong.

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

    These deepdives into C64 games (this and IK+) just blow my mind. I have wondered and guessed for years how they were actually made. Nice to finally see that I wasn't too far off. Thanks Martin!

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

    I dug around in the code for this myself some years ago. So very cleverly done and probably way beyond what I would be capable of, even with the ease of development because of the modern tools today! Thanks for the breakdown though!

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

    Very interesting stuff as always! Thankyou for doing this!

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

    Thank you for making this videos and making access to the code!

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

    The "separate collision buffer" also contains the bubble wind current.

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

    FOND memories!

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

    Nice reverse engineering 👍I always thought Bubble Bobble was an excellent conversion for the C64, but I never imagined they were using quite advanced software sprites for all the bubbles. It's very impressive, especially considering what they had to work with back in the mid/late 80s.

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

    Very interesting video as usual, thanks for making it. I wonder wether Bandits works in a similar way.

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

    Hi Martín, good morning! As always fantastic review. Sorry, you surely pointed out previously, but let me ask what kind of environment do you are using for “scraping” games?
    I started to mess with games with rather simple tool (vice monitor, 64 java based disassembler) but your tools are incredible.
    Any hint to let me improve?

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

    Thanks for these videos. Please do Zybex or Soldier of Fortune (Graftgold) if you can!

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

      Thank you for the generous support. They're on the list. :)

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

    Great explanation - as always! How about Barbarian - I think that also used SW sprites?

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

    In two player mode, there must be at least 32 bubbles floating around... did you try that off camera?

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

    If a screen takes 16kb of data to fill does that mean double buffering is using 32k?

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

      A VIC bank is 16KB, the screen takes about 1KB, ignoring the characters and colours.

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

    Replace the sw rendering with hw sprite multiplexing!

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

    0:12 It’s Bubble Bobble, not Bubble Bubble

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

      I say Bubble Bobble, but the auto-captions are wrong.

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

    "Software sprite"????? B U R N T H E W I T C H. "software sprite" is an oxymoron.

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

      Yawn. That's what most developers call them, whether or not the term is technically correct, it has stuck and when you say 'software sprite' everyone knows what you mean. If there was a more succinct, pithy and accurate term for them, we'd already be using it.

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

      We do tend to call them software sprites...
      csdb.dk/forums/index.php?roomid=11&topicid=25151&showallposts=1