Skip to content(if available)orjump to list(if available)

Nine – seemingly impossible C64 demo

Nine – seemingly impossible C64 demo

20 comments

·February 4, 2025

kbelder

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?

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

[deleted]

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

[deleted]

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:

https://linusakesson.net/chipophone/ducktalesmoon.php

jetbalsa

I'm a huge fan of his A Mind is born demo 256 byte demo he did awhile back, freaking amazing

https://linusakesson.net/scene/a-mind-is-born/index.php

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