Gooday Gaming Guests - SNES Super Metroid Cartridge Code and More
Episode Date: January 12, 2025Both Metroid NES and SNES are my early Game playing Favorites. ...
Transcript
Discussion (0)
Alright, so we're going to pick another thing to do today.
So yesterday I was doing the NES cartridges.
They found out the first ones made.
So we'll stick with the Super Nintendo and we'll do, I mean we'll go to Super Nintendo
now.
So let's see. So we'll do NES first cartridges.
I do have what they call a burnout test one.
First cartridges launched in 1990.
So Super Fancom is basically the equivalent of Super Nintendo.
The design is much better.
Super Mario World
f-zero futuristic racing pilot wings another title leveraging mode 7 used to
showcase in mode 7 graphics so mode center graphic provided a 3d perspective that was groundbreaking for the time so mode 7
graphics uh so that's the super nintendo so in north america it was mario same thing f F-Zero piloting SimCity console adaptation of the PC game.
These
titles
set the tones for
16-bit graphic.
Are you just discussing design
and gameplay of any of these games?
This is...
Yes. Let's do...
First, let's do a game library.
How about a game library. How about game library?
And we'll go back
So let's see a game library here
Let's see what we come up with
No, actually no
We'll
Let's see, so Super Mario
I want to know know what is mode 7
is mode 7
mode
mode
first I need to know what that is
so it's something
mode 7 is a graphical rendering technique
used by the Super Nintendo
entertainment
to create illusions of a
3d environment using 3d sprites sprites that we determined are little dots that are on the screen
and then you put a bunch of them together and make some kind of characters or you can explode
those little dots and make like explosions and stuff. Which was used on 2D
graphics before the 3D graphics
came out. So they were using something
in that environment
to perform simple
geometrical transformations
on background layers
such as scaling, rotating,
stretching,
making it possible to simulate a three-dimensional
perspective on a flat plane.
Interesting.
Mode 7.
How Mode 7 works.
Operates a single background layer in the graphic engine.
By manipulating this layer, the system could rotate, the background shear it and transform it
this effect was achieved by adjusting the mapping of texture background tiles
in real time essentially gave a illusion of a depth by dramatically changing how
the flat 2d image was rendered that That's pretty wild. Adaptations. Mode 7 was commonly used in racing games.
Makes sense.
Super Mario Kart.
Flight simulations.
World maps.
Final Fantasy 7.
No, 6 in Secret Mana.
Special effects.
Super Castlevania 7 or 6.
Resolution was 256 by 256.
Each tile was 8 by 8 pixel.
Mode 7 manipulated the background matrix
to apply line transformation to real time.
Limited 3D simulation.
The true 3D was not possible with Mode 7.
Instead, it was a clever trick to fake depth as an object,
like cars and characters were still sprites layered on a transfer.
So it was just an illusion.
Limitations.
No real 3D geography.
Objects were not actually in 3D.
They were 2D sprites.
One background layer. Only one background could be transformed using Mode 7. Objects were not actually in 3D, they were 2D sprites.
One background layer, only one background could be transformed using the mode 7.
Performance constraints.
Complex scenes could strain the hardware, limiting how much development could do.
Why was it revolutionary?
It was a groundbreaking feature it allowed develops to create immersed in dynamic environments that were previously only achieved with more
powerful hardware like arcade arcades it became a hallmark of the NES game and
instructions with Denver what example of specific games or breakdown let's go to so I like Metroid
so let's do a Metroid Super Metroid right Super Metroid big fan
Metroid was really cool but after that that I didn't like the other ones. But Super Metroid.
Metroid with a D.
Super Metroid.
Carch.
Because we did Mario yesterday, so we're not going to do Mario.
We're going to do Zelda.
We'll do Super Metroid.
I think I spelled that right.
Or did I? Maybe I did.
Metroid.
Super Metroid.
Cartridge code process. I used to play that for hours when I was a kid or younger I should say. Super Metroid code processes.
Alright so if we look at the Super Nintendo game ROM, read-only memory, holds the game code.
And save ROM, optional.
Non-volatile memory, so you need to have it backed up by a battery to store the data.
Mapper chips, optional.
Enhance the capabilities of the game for Super Metroid the cartridge
contains 4 megabyte ROM code graphics sound and data it had a 256
kilobyte battery backup SRAM stored for three slot saves when you insert the cartridge memory mapping was at
dollar sign 8000 address super Metroid 4 megabyte ROM mapped out to the low ROM
formats chunks of 32 in the lower addresses ranges so we're gonna learn
all about that eventually but for for now, I'm just
different pieces of the chip, I guess. So execution begins.
Starts executing the code, hardware setup,
the NES, including the PPU,
picture processing unit for graphics and APU, audio
processing unit for sound. Mode 7 isn't used here, but the PPU is configured to use high resolution tiles. Memory application. CPU does registers and allocates memory for the game. The game checks for SRAM backup or save games uh main game loop um processes player movement physics uh enemy ai uh collisions
and item interactions uh so ai would be anything like those characters that just move back and
forth in the same place. Update the missiles.
Sends the PPU to draw the background sprites in FX.
I never knew what sprites was until I started doing this.
Audio playback.
Commands are sent to the APU for the sound. Super Metroid's haunting soundtrack relies heavily on the Super Nintendo's SPC-700 processor.
State management.
Monitor triggers
for transistors between rooms,
bosses, and cutscenes.
That's when you go from one scene
and then it cuts to the next one.
Updates the SRAM.
Special features in Super Metroid's code.
Room loading. The Super Metroid's code. Room loading.
The Super Metroid's load and unload rooms dramatically to save memory.
Each room's layout, enemy positions, and scripts are loaded under memory as Samus transfers between areas.
The transitions are smooth because of a careful program that manages memory efficiently.
Boss fights.
Each boss has unique scripts and AI routines stored in the ROM.
So even back then, there was AI of some kind.
For example, Kraid.
The specific logic of sprite scaling to simulate his size
growing during the fight.
Energy and missile
replenishment.
Special routines manage how
pickup replenishment enemy
and ammo.
Save system.
Save stations.
Write critical game data
location inventory on the RAM.
End game logic.
When the game reaches its climatic moments, the escape sequence.
Countdown timer is managed in time sequence between CPU and PPU.
Credits.
Credits use layered scrolling and sprite manipulation.
So modern reverse engineering.
So this will be interesting.
Fans and developers have reverse engineered Super Metroid.
Create ROM hacks.
Modify versions of the game like Super Metroid Redesigned or Project Base. Exploring how
the game handles memory and graphics
making it a benchmark for understanding
Super Nintendo
Yeah, more details.
Yeah, more details.
About that.
So we'll go into that direction.
Let's see how we have more
details.
What do we have about graphics save system in ROM hacking?
Here's a deeper dive into the cartridge process.
PPU has four layers that it supports.
Layer 1 is primary environment layer two is secondary three background animation
four is static background so that's four layers uh sprite rendering so sprites are really really
important in the early days of games before 3D.
But even after 3D, I believe sprites are still around.
OAM, Object Attribute Memory.
There's 128 sprites.
Samson's animation, the game was smooth animation.
Transfer, let's see what I'm looking for. looking for saved system ran we don't save three slots you had three slots 256 dynamic
room loading that was the main thing as soon as you went through that tube to
the next room into the room it compressed into the room.
It compressed into the double RAM,
W RAM, work RAM,
for fast access.
Old room data is overwritten with new rooms loaded.
So it was everything back then,
which still now is all about the memory.
AI and scripting.
Enemy AI.
So those would be the things that you'd be fighting.
Obviously, they would be controlled by themselves.
Boss were dedicated to behavior script.
Scripts control movement patterns, attack cycles, and interactions with event triggers.
Triggers in the room, spawning, unlocking doors.
Music and sound.
Use the SPC700.
Memory management, read-only memory, which is pretty much, again,
WRAM and VRAM, 64 kilobytes.
WRAM was 128 kilobytes.
And then SPC 700 RAM.
So the reverse engineering Super Metroid over the years has been
one of the most studied and modified games.
I never knew that.
I just kind of picked that off the top of my head.
Fans created Super Metroid Redesign,
Hyper Metroid,
and Super Metroid Ancient Chaios
Hacks Modified Level Layouts
Enemy AI
and even Gameplay Mechanics
to create fresh experiences
I see AI
being able to do that with any game in the future
pick a game that you like
even old games and new games
and some sort of
AI program that could
go into your game and make it something new.
Tools like Lunar Magic allows modders to edit room data and enemy placement.
This is called Speedrunning Tools.
ROMHacks speedrunning tools. Speedrunners use reverse engineering knowledge to exploit glitches like wall jumps, mock balling, and sequence breaking.
The game's code has been dissembled and documented, revealing its inner workings. Developers use this knowledge to port Super Metroid to other platforms and improve emulation accuracy.
I knew Super Metroid was one of the ones I remember being really good back then.
Super Metroid cartridge code represents incredible achievement.
Dynamic loading.
Establish the. Metroidvania.
General.
So that's pretty fun.
Now we'll go to see what's the.
SNES.
Game library.
Just one.
I'm just going to do just one kind of game per thing.
Let's see how many games were in.
There was a lot of Super Nintendo games.
I forget how many I said there was.
Can we say about 2,000
for the NES?
Including Super FanCon.
So Super FanCon.
The cartridges are different
It's 1300 titles
In North America, which is us
700 titles
Europe at 500 titles
Platform, Super Mario
Donkey Kong
Mega Man, Yoshi Island
Super Castle
Castlevania
Secret of Mana
pretty cool
The Final Fantasies
Act Razor
I don't know what that is
of course
Legend of Zelda
A Link to the Past
Street Fighter
those are the fighting games
racing games
sports games
are silly
puzzle games
shooting games are silly. Puzzle games or shooting games
are kind of silly.
Region specific titles.
So in Japan there was Tales of
Fantasasia.
I might even have one of those.
Secret of Mana 2
officially.
Those are Japan Fire Emblem.
North America we had Super Mario
and Earthbound.
PAL versions was a
Terragamer
and Secret of Evermore.
Unique features
of the Super Nintendo games.
Mode 7, we talked about that.
Special chips in the cartridge. Super FX
chip. Enable 3D graphics
in Star Fox
and Yoshi Island. So there was some 3d action
going on that on ssa1 chip enhanced the games like Super Mario and then DSP
chips performed in racing games like Super Mario Kart I got some more stuff
you hold on some quick and then we'll go. All right.
Let's see what other information we got here.
So best-selling Super Nintendo games.
Super Mario World, obviously. 20.6 million copies.
Packed in games with many consoles.
Super Mario All-Stars.
Gave you all the different Mario's in one.
I have one of those actually.
A couple of those I can think.
Donkey Kong Country.
Super Mario Kart.
About 8 million.
Donkey Kong Country is like 9.3 million.
Street Fighter II.
The World Warrior.
I don't like fighting games.
So 6.3 million.
So rare and valuable super Nintendo games earthbound rare due to poor initial sales North America version
chrono trigger known for its enduring popularity and high quality game playing. That one's cronology.
Harvest Moon.
The start of a beloved farming
simulation series.
And Mega Man X3.
Expensive due to
limited production and included
special chips.
Mega Man X3.
Emulation and Legacy.
So, Emulator's Legacy
and ESC
Classic Edition.
Nintendo Switch Online. You can play the games.
Interesting
Super Nintendo Library
Facts. Longest title.
Pachy
Slot Mago Polar 3. Unreleased library facts longest title Paki slot mango parlor parlor 3 unreleased title
star facts 2 never never officially at least multiplayer bomberman games sport
up to four players with a with a multi tap right so that's about it for the Super Nintendo
again I've been trying to come up with
things to do
I think maybe tomorrow I'll work
on PS1
we'll look at Resident Evil
how that gets
works
because of course that would be the first thing
I'd pick
because
PS1, that would have been
the game I would have played the most
as me being a kid.
I can also look at Super Fancom and Fancom
because they're basically the
same, just Japan versions.
The cartridge is completely
different on the Super Fancom
than on Super Nintendo.
However, and of course the Super Fancom is a much better design console than our silly Super Nintendo we got.
But if you go inside, they're the same motherboards, pretty much.
There's the one with a soundbox and one without a soundbox.
And they look almost identical inside I don't
think you can play unlike an n64 where Japan and US the n64 motherboard is just
one motherboards I mean it's different models of it but if you pull that
cartridge slot off the top you can play either US or Japan games there's no
regional code lock on it I'm not sure the... I don't think you can play Super Nintendo
if I took the top cover off.
Because the actual cartridge slot
is the same as on
a Super Nintendo.
More of them don't come off
on the
Super Fancom.
On the Super Nintendo, most of those cartridge slots
come off. Except for like
APG
and RGB or something.
The last ones. It's kind of
soldered on there.
So, that's some Super Nintendo stuff
today. So, we did Super Metroid.
Pretty fun.
So, we'll end it up with that for today and then tomorrow i'll pick uh like a little ps1 tomorrow we'll have some fun with that
see where that takes us all right you guys have a good night talk to you later bye