Nine – seemingly impossible C64 demo
20 comments
·February 4, 2025kbelder
egypturnash
Nope, that’s not it. There’s a video out there already that dissects it and figures out the trick.
boltzmann-brain
you can't multiplex sprites so that more than 8 appear on the same line.
the secret is to pretend you have a 9th sprite by emulating it with characters that look exactly like one of the sprites would.
jchw
But in this case, that (alone) can't be it because all 9 sprites clip (smoothly) in and out of the border. So they've really gotten cheeky with this one.
null
egypturnash
That stops working when you open the borders and put sprites outside the area the video chip will render characters/bitmaps.
eru
Yes, but the demo is really cheeky about that.
The borders are open when you can still do the normal multiplexing, because there's lots of vertical separation between the sprites.
Later, when they put the sprites together on the same line, the borders are closed.
o11c
Youtube comments said something about "multiple apparent sprites per actual sprite, with stretching"?
null
nonane
Here is a video where Martin Piper uses a C64 debug tools to figure out how Nine was created: https://m.youtube.com/watch?v=Ik1vsMM2EuY .
donohoe
I assume it is 8 sprites but the "6" is also used to represent the "9" and jumped (and rotated) from position to position?
siltcakes
As soon as I saw who made this, I cranked my speakers and wasn't disappointed! Linus is amazing. I recommend his cover of The Moon from DuckTales:
jetbalsa
I'm a huge fan of his A Mind is born demo 256 byte demo he did awhile back, freaking amazing
userbinator
Discussion of it showed up on HN too: https://news.ycombinator.com/item?id=26511266
I like how the title really invites you to pun it as "a mind is blown", because mine sure was when I first watched it.
TheRealPomax
Can we take a moment to appreciate that the music starts in 10/8, too? Because that's just the cherry on top.
aappleby
Eight hardware sprites and one blitted to the background every frame?
erik
That works until you see what appears to be 9 sprites on the same scan line in the border region.
boltzmann-brain
VIC II doesn't have that functionality. the first commodore that could do this was the Amiga series.
pimlottc
Just guessing here, but does it have anything to do with the fact that 9 is the same as 6 rotated?
boltzmann-brain
no. there are 9 separately moving objects and them being visually similar or even the same doesn't mean much
Neat. Having more than 8 sprites on screen is not hard, it just requires some well-timed interrupts to move a sprite from above the current raster location to below it, so that the same sprite is drawn multiple times.
But I'm not sure about the end of the demo where they are all rotating on the same line. I guess it could be done with interrupts occurring partway through the horizontal scanline, but I didn't think they could be that precise?