How Super Mario Bros Was Made Into 40 Kilobytes

preview_player
Показать описание
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?

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

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

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

MUSIC USED:
Francis Preve - Komputo
Max McFerren - So Lit
HOME - New Machines
William Rosati - Floating Also
Рекомендации по теме
Комментарии
Автор

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.

josephrcarroll
Автор

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.

SeeTv.
Автор

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.

Nikku
Автор

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.

MattTOB
Автор

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").

zynidian
Автор

The entire Mother series is like 40MB.

Edit: I swear to god stop replying to my old ass comment!

Edit 2:

Edit 3: Edit 2 was cringe so I removed it after 2 years. Anyway, go play Ender Lillies.

mertoslav
Автор

"And unlike today" *shows game from 10 years ago*

brodyenli
Автор

3:11 I believe that chip is the 10-NES Lockout chip that made sure only licensed games fro the right region were played.

joejoetv
Автор

WDYM "Downloaded the ROM", you definitely meant to say "Ripped the ROM from my legally owned copy of Super Mario Bros.® for the Nintendo Entertainment System®"

Hackr
Автор

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.)

juliavixen
Автор

Title: 40 kilobites
Image: 41 kilobites
Me: *visible confusion

icraveforbananas
Автор

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

davi_danger
Автор

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.

lev
Автор

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.

JustWastedHoursHere
Автор

03:12 No, this is not RAM. It's Nintendo's lockout chip, an anti-competitive measure to prevent competitors from making games for Nintendo's console. There's a counterpart chip inside the console that talks to this chip and performs a handshake during reset. If the keys don't match, it sends the CPU a permanent reset signal.
03:33 No. It's a tile map. The tile set (or the character set) is what's held in the cartridge ROM and contains the definition of each tile that can be used. The tile map is the way the console organizes the image on the screen, dividing it into tiles (characters). Then it can store just the numerical index of the tile that should be displayed at a particular place of the grid on the screen. The tile map stores those indexes, it maps the tiles onto the screen.
03:36 Wrong again. Tile sets are collections of _tiles_, not _pixels_ . Each _tile_ is a collection of pixels.
04:00 Nope. Each TILE had that limitation, not a TILE SET. The tile set doesn't care about colors. Each tile made of pixels just stores the indexes of one of four colors from the palette, but it doesn't specify what particular colors are they. The information about those colors are stored in the palette, and there's a couple of different palettes the PPU could choose from when rendering the tile map. The number of the palette has been stored for every tile in the tile map, so each 8×8 box on the screen could use only those 4 colors from one particular palette, but another 8×8 box nearby might have used a different palette of 4 different colors. So overall, there might have been more than 4 colors on the entire screen, but not within a single tile.
05:12 Yeah, figures… :q So WHY DO YOU MAKE A VIDEO ABOUT IT IN THE FIRST PLACE?! :P

Next time you decide to "explain" anything to your viewers, make sure that you understand it yourself well enough. Otherwise, all you do is just spread misinformation and make fools of your viewers and yourself.
And if anyone wants to know how graphics worked on NES consoles, there are much better videos out there, like "How old-school graphics worked" (2 parts) by The 8-Bit Guy, "NES Graphics Explained" by NesHacker, or the series of videos on Retro Game Mechanics Explained. I recommend you to watch _that_ instead. You'll learn much more, and more correctly. This is probably where the author of this video learned about all of this (and understood less than half of it). I even recognize some of the pictures. E.g. the one about the sound channels is directly copied from The 8-Bit Guy's video titled "How Oldschool Sound/Music worked". Plagiarism is not cool :q You could at least draw your own picture.

bonbonpony
Автор

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.

SatoshiMatrix
Автор

You didn't even explain how the levels are compressed to fit on the ROM, thats what I came here for.

Riiludragon
Автор

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.

vineheart
Автор

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.

Reliztik
Автор

Micromages
*Allow me to introduce myself.*

mayoboi
welcome to shbcf.ru