Bad Apple but it's played inside Super Mario Bros

tasvideos.org

219 points by carlesfe 3 days ago


userbinator - 2 days ago

After checking each of the 256 cells, the cell with the lowest difference is chosen.

This is essentially the fundamental operation of a vector quantizer codec, which was popular in the early days of lossy video compression due to its low processing requirements. The fact that this term doesn't appear in the article means the author has independently discovered and reinvented this theory, which is itself quite impressive.

mbStavola - 2 days ago

I thought the audio was just overlayed on top, but it was streamed in via the controller. It sounds AMAZING, incredibly even on the console!

crazygringo - a day ago

I've read the post but I still have no idea what this is.

Where is the data coming from? Why does it involve playing part of SMB to start with? Besides the sprites used, what does this have to do with SMB at all? How is this different from just a custom ROM that would play this music video? Could you even fit this much data into a ROM?

I feel like there's a bunch of context you need to understand what this is about, and I clearly don't have any of it. And the "objectives" list at the top isn't helping ("1. Do a little tomfoolery 2. Execute arbitrary code..."). What are the actual parameters of this challenge, to understand what is actually being achieved?

Can anybody here help explain?

Edit: thank you so much for all the replies! Now I get why this is wild.

LocalH - a day ago

(2024), btw. Not that it's any less impressive.

I have one question, as a general game hacker (mostly Guitar Hero/Rock Band) who also has a basic 6502 background from the C64. I wonder if there's any way to abuse input on an unmodified game to manage to poke $16 into $07fd without needing the SMB3 bootstrap. I don't know the SMB1 code well enough to find the answer to that, although I do know that games like SMW have a strong ability to use enemy X positions to get things set up just right to have the ability to install an arbitrary code and data payload into memory. But 6502 code isn't 65186 code so I'm not sure how much that matters.

Port of this to SMAS SMB1 wen :)

baobun - 3 days ago

Super cool.

Is it mentioned anywhere how big the payload is? How many button presses? Are the audio samples "streamed" or does it all fit in NES RAM?

atulvi - 2 days ago

can this be done on real hardware with a modified controller?

srcoder - 2 days ago

Awesome!!!

Could it run doom?

p0w3n3d - 2 days ago

it sounds better, more 8-bity to me, than the original, especially the bass