• boomlinde 6 hours ago

    You can chain handlers by simply rewriting the interrupt vector. Something like this (for a sequence of two handlers):

        handler1
            ; ...
            lda #<handler2
            sta $fffe
            lda #>handler2
            sta $ffff
            lda #line2
            sta $d012
            rti
    
        handler2
            ; ...
            lda #<handler1
            sta $fffe
            lda #>handler1
            sta $ffff
            lda #line1
            sta $d012
            rti
    
    To my intuition it seems it would be quicker, though slightly larger.

    I've only skimmed through the article so maybe there's a reason the author considered this and opted not to. Running out of memory maybe?

    • neonz80 9 minutes ago

      If you put both handlers in the same 256 byte page you can get away with only updating the low byte of the address.

      • classichasclass 3 hours ago

        Nitpick: I think he still has the Kernal banked in, so he'll need to use the soft vector at $0314. But that is exactly how I've done chained raster splits otherwise. It's really the most straightforward approach.

      • schlauerfox 5 hours ago

        I'm ignorant of most C64 stuff being an Atari kid, but I did find this pretty impressive (it's a cheat) with seemingly 9 sprites at once. https://www.youtube.com/watch?v=Ws4twUyt-MY

        • Tuna-Fish 4 hours ago

          The demo has brilliant pacing. When it starts with the sprites moving in a big circle, initially I'm not impressed at all, because C64 has 8 sprites per line, and changing the sprites to be drawn when the screen is halfway drawn is pretty much the first trick you learn. Then the sprites move to the top of the screen, where they are all on the same line together, and my jaw drops.

          • classichasclass 3 hours ago

            Plus, Linus did it in the border, where only sprites can be, so it can't be a trick with bitmap graphics or custom characters.

            • Fr0styMatt88 2 hours ago

              That music too! Dang the SID sounds good.

        • kickaha 7 hours ago

          I have been waiting forty years to learn how to do this.