How Super Mario Bros Was Made Into 40 Kilobytes

926,119
0
Published 2020-06-29
Super Mario Bros for the Nintendo Entertainment System (NES) was published in 1985 and had pushed the limits of early game development. How did it manage to create a large horizontal game with very little storage space that's smaller than a PNG image?

► Channel:    / @josephrcarroll7336  

Morphcat Games - How we fit an NES game into 40 Kilobytes:    • How we fit an NES game into 40 Kilobytes  

VblankEntertainment - The Making of: ROM City Rampage (Retro City Rampage):
   • The Making of: ROM City Rampage (Retr...  

The 8-Bit Guy - How "oldschool" graphics worked Part 1 - Commodore and Nintendo:
   • How "oldschool" graphics worked Part ...  

The 8-Bit Guy - How Oldschool Sound/Music worked:
   • How Oldschool Sound/Music worked  

MUSIC USED:
Francis Preve - Komputo
Max McFerren - So Lit
HOME - New Machines
William Rosati - Floating Also

All Comments (21)
  • This was my most complex video I ever made, and I'm thankful for all the positive feedback. Side note: Some of the live action audio sounds bad because I was using some brand new crappy lavalier microphone.
  • @SeeTv.
    Another interesting thing to note is that the bushes and clouds use the same sprite. That was kinda mind blowing when I heard it the first time.
  • @Nikku4211
    7:18 No, the music was not created in a tracker. Trackers weren't even around back in 1985. Most video game sound programmers back then coded their music directly in assembly, manually typed hex code, or some form of MML.
  • @mertoslav4606
    The entire Mother series is like 40MB. Edit: I swear to god stop replying to my old ass comment! Edit 2: So you people wanna reply, huh? Then I'll give you a little question. Who is my favorite Toaru girl?
  • @zynidian
    3:12 That's actually the CIC chip, which was used to prevent unlicensed games from being played (and the identical one inside the console was the cause of the infamous "blinking red light").
  • @MattTOB618
    3:54 "While the game never changes vertical axes" That's actually part of the reason why Super Mario Bros. 3 has the miscolored band of tiles on the right side of the screen; because the game has vertical scrolling, it has to load in more at a time, so it has little troubles like that.
  • @brodyenli
    "And unlike today" shows game from 10 years ago
  • I feel like this really only said 2 tricks they did to reduce the memory of the ROM, and the rest was just technical info on the NES itself. I was hoping to learn something specific about SMB but it was almost all facts that were true for any NES game
  • @joejoetv1337
    3:11 I believe that chip is the 10-NES Lockout chip that made sure only licensed games fro the right region were played.
  • @juliavixen176
    The assembly code displayed at 05:26 is actually a Linux program for the Intel x86 family of processors. It prints "Hello world!" to STDOUT, and exits. I think it will probably work on any BSD kernel based operating systems if the two syscalls are the same (such as OS X). I'm too lazy right now to look the syscall numbers up. (I used to do a lot of x86 assembly programming, so I instantly recognized this.)
  • @lev7509
    CORRECTION: The "black" color of the palettes can be easily changed just like the other slots of the palettes. However, only one background color; more than one would require changing it while the screen is being rendered, whoch some games indeed do If that wasn't the case, the sky in SMB1 would be black at all times.
  • @Riiludragon
    You didn't even explain how the levels are compressed to fit on the ROM, thats what I came here for.
  • @Reliztik82
    I am actually a sophomore in college taking computer engineering and it is mandatory that we learn how to properly program a 6502 with assembly language and seeing all of the cool things done with it back then is cool, too bad it isn’t used much now.
  • @SatoshiMatrix1
    3:12 that's the 'key' for the NES-10 lockout chip on the NES motherboard. It was designed to prevent third party games from running, though it was eventually circumvented and is primarily a source of annoyance these days as any dust between the NES-10 cartridge pins and the lock would result in a blinking power light and the game not booting.
  • Atari 2600 game programmers DREAMED of having the power of the NES back in the day. They're the ones who deserve to be admired. Actually, before RAM became affordable and processors became much faster, all those old systems had to make compromises and use different methods to stretch that RAM and lack of processor speed as far as they could. This resulted, most of the time, in games that focused on game play rather than eye-candy since game play was all they had. The best example I can think of for a programmer squeezing every last drop of processing power out of a game system is David Crane's "Pitfall!" for the Atari 2600. This game was 4k, yes FOUR kilobytes, which is 1/10th the size of Super Mario Brothers ROM, yet it contained 256 screens and has many different aspects such as scorpions, rolling logs, swinging vines, alligators, treasures to capture and much more. Here's David himself talking about how he did it! https://youtu.be/MBT1OK6VAIU?t=1332
  • @vineheart01
    As a kid i never really understood how tiny amount of information 40-70kb of data was. As an adult i am simply baffled by how they were able to pull this off. So many tricks used to reuse assets. Also we have been spoiled today by storage space, its almost not even a factor anymore. So using MP4s and images is more common as theyre richer and easier to work with than raw data.
  • @nivedh2894
    I recently discovered your animation channel...and then found out you left it...but guess what? I love this new type of content more than animation! So I subscribed!