Gooday Gaming Guests - NES Cartridge Coding Process
Episode Date: January 11, 2025Robotic Operating Buddy was an Early AI. ...
Transcript
Discussion (0)
Alright so we're gonna do my late afternoon system. We're gonna stick with the cartridges. So for about seven it was really fun while I was videoing live.
And he got out of the cage with it right out of my hands.
And I don't know how I got him back in.
But I'm going to try to make a short out of that.
If I can get to it, we'll see.
Alright, so what we're going to do today.
Let's find out what's the first NES cartridge games.
We're going to stick with cartridges.
Because I can learn about coding.
First NES cartridge games.
1985.
First cartridge games were Super Mario Bros.
Obviously.
Duck Hunt.
Excitebike.
Donkey Kong.
Donkey Kong Jr.
Popeye. Thisogan's Alley, Baseball,
Tennis, Soccer, Golf, Clu Clu Land, Pinball, Icebreaker, Wrecking Crew crew Gorma Knight and stack up also used with the
ROB robot accessory many of these cells like Super Mario and Duck Up became
synonymous games like Gorgon that Gorma might stack up were designed for the NES
a robot operating buddy though Though that had limited success
and was continued shortly after.
What's a robot buddy?
Let's see what that is.
Is that the thing on your arm?
I wonder if that's what that is.
Let's check it.
So we'll stick with some early NES stuff here.
Let's find out what a robot operating buddy is.
I believe that's the thing on your arm.
I never had one. I was going to gonna get one but I just never did and we're not really getting
anything else anymore oh no it's actually physically it's a
robot 1985 for parts that's pretty cool so that'd be fun to take an old robot
buddy like that $199 and you insert AI into it and make it real.
I see that being able to happen easily.
Some kind of an, I call it an AI worm,
but some sort of way to worm into the,
get inside the components,
and then AI would just do its thing
and make it come alive.
That's what we're looking forward to.
And he sold an AI worm.
So $125, so it's actually a robot.
Oh, is that what that little...
I have one of those.
Oh, the spinner motor tester.
Oh, I had that somewhere.
I just looked at something and I was like,
wait a minute, I know what that is.
Oh, I had one of those.
So that was the first thing.
So let's see how that works.
Alright, so it says, how does the robot work?
How does the robot work?
The ROB was innovatively designed by NES.
It uses optical sensors to detect signals from the TV and perform physical actions in sync with gameplay.
Ah, so see, even back then, AI had eyes.
Now AI doesn't have eyes yet now.
Optical sensor eyes.
Light it up.
The robot arm allowed it to rotate, tilt, and manipulate objects.
Physical objects like gyros spinning tops and perform agoda.
I know what that is. I've got to find that.
The NES sends light pulses through the TV screen that robot sensors intercept.
Kind of like a remote.
These signals correspond to specific commands, like moving its arms or legs.
The robot performs actions.
For a good working one, it's a couple hundred bucks on eBay.
Robot worked with two games, Gyromite and Stackup.
Limited speed, the robot was slow, which often disrupted game flow game compound
only two games technology constraints was a huge commercial success wasn't
usually played an important role could we use AI to make this come alive better.
Absolutely.
Using modern AI to transform a robo to the 21st century.
Here's some ideas on how we could enhance the Robo using AI and modern hardware.
Oh, so I'm kind of really into this right now. Enhance object recognition with AI vision.
Replace the optical sensor with a modern camera where we would recognize more complex things.
Integrate speech recognition so Robo could respond uh players could activate i use ai to
analyze game in real time player add gyroscopes and accelerometers for precision motor tracking
uh ai game ar game experience wireless conductivity lots of fun stuff you can do so those will be things that will happen in the future. I believe like a holo
lens or mobile AR
You take an old tech like that and
Integrate into AI into it
And you compare it with Alexa and Google. So lots of ideas there. Game emulating support.
So just too bad you just couldn't tell AI just to go do it.
Again, I'm seeing something where AI plugging into anything through a port or something.
Even if it's a controller port.
And it can worm its way in there and do its thing.
USB ports.
Any sort of port where you can plug AI in.
I call it AI1.
And that's a way to diagnose
systems and stuff. Okay.
So that's a pretty fun start this morning.
Or today, rather.
So, the robot.
And again, there's one here for
$85 for parts.
I can't afford to buy anything now.
That would be fun though. It's pretty clean.
That's pretty cool.
On off.
I'm trying to see. I'm just checking it out.
It's missing the battery cover.
There's probably not battery cover it's
really not much to it
all right so let's go back to game cartridges so let's do let's do the Mario game code process I'll just do a Super Mario basically say I want to see
what kind of yesterday when I was doing Atari it gave me all kinds of places
where I can go interact and make you you can make your own games, actually, once you learn, you don't really need to learn assembly language, but there are places where you can go and do it. Along with insights into tools and technologies used by Nintendo at the time.
So the designer was Shunruga Miyatomo and Kata Kozama outlined level, characters, and
mechanics using graph paper.
Levels were meticulously sketched to ensure a balance between difficulty
and fun. Game mechanics, core mechanics, running, jumping, collecting items, behavior were defined
first. Each action was carefully tied to the NES hardware capabilities. Programming the
NES was through a 6502 microprocess using assembly language.
Character and object movement were coded pixel by pixel.
Calculation based on a pixel by pixel calculation using a combination of inputs from the controller and physics.
Accelerator, gravity, objects like Goomba and Bomba followed pre-turned patterns coded at routines
so most of the
characters were in a routine
so once you learn a routine you can easily beat it
levels were built by 8x8 tiles
Nes used PPU
each tile referenced the ROM.
Axial space.
Scroll screen for Super Mario Bros. was a technical breakthrough.
Scroll screen in Super Mario Bros.
All routines were simple and deterministic.
Unless it hit a wall. The game's game routines were simple and deterministic.
Behaviors were coded as loops triggering player proximity environmental conditions.
Assembly code writing developed code hand by hand.
Emulators of debugging used in-house debugging tools to emulate NES software and test game code. It develops and tests mechanics without burning the CD-ROM repeatedly.
So it didn't stop burning the ROMs until...
I just don't understand the concept
of burning the ROM.
It's coded onto a ROM.
It's a chip, so that's the part
I don't quite get here.
Once code was tested,
it was written on a physical read-only memory.
So a lot of those games don't work so that means the ROM chip probably is no good.
Memory limits, 2 kilobytes of memory and 32 kilobytes of ROM.
Developers use techniques like I heard this before bank switching to overcome these limitations
by swapping memory banks during the game so each bank would then we use 64
sprites on the screen at once with limitations of size and color for per
sprite including transparency so sprites are a combination of little dots to make
characters and explosions and stuff.
Developed optimized assets like Mario's design to fit within the constraints.
Bugging and optimization.
Early NES bug tools were identified.
Memory and glitches issues.
Optimization was created as much as possible into the limited memory.
For example, Mario and Luigi use the same sprite with a color pattern swap. So the same combinations
of little characters to make them.
And then you just change the colors on them. Levels were stored as
compressed data in ROM to code in the game during play.
Instead of saving every pixel on a level,
developers used map pointers to reference specific tiles,
dramatically reducing memory usage.
Music was APU, Audio Processing Unit.
The APU had five channels,
two pulse waves,
one triangle wave,
one noise channel,
and one DPCM.
Kaju Kanata was the composer.
Themes like overworld theme.
Interesting so far.
Play testing. Nintendo rigorously tested the games
to ensure a ROM lock
and duplication once finalized
it was burned for mass
production
the legacy of Super Mario Code
became
fundamental in the development of games
what
are some programs today to MU to make make NES games the
programs are used today to make NES games.
Gave me a little bit of a list of Atari ones.
Creating MST is much easier thanks to modern tools.
Community assembly language tools.
For writing tools,
you're complying with the 6502 assembly code.
You have an ASM6.
Simple assembler ideal for those who want control over their code the NESASM a popular 6502 assembler tailored for NES
development used in classic home boom projects.
CA65, part of CC65, more powerful with additional features like micros and better debugging.
High-level programming tools.
If assembly seems daunting, several high-level programming tools will help develop games without dealing directly with low-level code.
NES Maker, a user-friendly tool that helps create NES games without coding.
Huh, that'd be up my alley.
8-bit workshop.
An online IDE for retro game development.
Supports NES, Atari, and other game systems. You can write NES code in assembly or C with a live emulator to test your game instantly.
GPDK-2020 for C development.
While originally for Game Boy,
it can also target NES when paired with NES specific libraries.
Enables NES game development in C.
Higher level language and assembly.
Graphics and assess tools.
NES screen tools.
And there's YY-CHR.
A classic tile editor, tiled, general purpose tile map editor. Emulators for testing. Testing your game requires an emulator to run the ROM. UX one of the best NES emulators Messen me SEN a high accuracy and yes for excellent for debugging
and fixing glitches
Integrated development environments integrated so that's the ID
Specifically built for NES game development streamlined
for the assembly debugging NES I'd see IDE a full ID for NES development the 8-book bit workshop ID common resources and
libraries nerdy Knights tutorials comprehensive beginning friendly tutorials uh walk you through simple
game step by step so that'd be fun i definitely want to learn something like that
library for simplifying another one is nes library
simplifying development and then homebrew forums like NESD dev sound and music for 8-bit chips Fami tracker
tracker software Fami studio a modern tool for creating NES and sound effects
final step compiling the ROM using testing the ROM sharing it to tribute
best path if you're
New to NS start with the NES maker or the 8-bit workshop
Yeah, so that's probably what I would do something like that because then we go from NES to
Go any further
so
how many
let's just see how many games were
how many NES
games were made
that's been a lot
I'm not going to go on to another cartridge
I'm just going to stick with this one
we'll just ask more questions about it 716 licensed games I'm not going to go on to another cartridge. I'm just going to stick with this one.
We'll just ask more questions about it.
716 licensed games were officially released for the NES.
716 were officially.
Japan had the Famicom, which had 1,051 games.
PAL, which is European, had 800 games.
Those are licensed.
So under unlicensed,
like Tegan, Color Dreams, and Wisdom Tree released 90 to 100 unlicensed games.
Unlicensed, like China, Russia,
saw many unlicensed games including hacks
bootlegs sleeping back then he was doing hacks global estimate if you call every
likely 2,000 plus unique games what the most hard to find games hard to find games
hard to find
games
like I think
uh
some rare ones okay
so these are the rare games rare license
games
stadium events
1987
why it was rare only a few copies from Bandy Game were sold. Rebranded
as world-class track meet. Estimated 10,000, 35,000. Sealed copies go even higher. A notable
fact, only 200 copies were made. Little Samson 1992 Rare Release date
Life cycle
With low marketing
And limited distribution
$2,000
To $5,000
Gameplay
Hidden Gen
The Flintstones
Surprise
At
Dinosaur Peak
1994
Rare
Blockbuster rental
Exclusive
In North America
Means only a few copies
Were sold
$1,000
To $2,500.
Complete in the box.
Panic Restaurant.
Why is it rare?
Low production.
Quirky theme.
$800 to $2,000.
Bonk Ventures.
Why is it rare?
Originally was for the TurboGrafx-16 game.
Saw a late and limited release for NES.
And then some rare unlicensed games.
Cheetahman 2.
Unfinished and sold as part of an unsold stock of active enterprises.
$1,000 to $3,000.
Myriad 6-in-1. Repackaged multi-cart. $2,000 to $3,000. Myriad 6-in-1.
Repackaged multi-cart.
$2,000 to $5,000 for that one.
Bubble Bath Babies.
Whoa.
Part of a line of adult-themed games
that were not sold in mainstream stores.
I was going to say that sounded like
that was where that one was going.
So the NES actually had an adult theme.
Rare regional exclusive
NES games.
Mr. Gimmick. Why?
Only sold in Japan and
Scavenadia.
1000 to 2000. Devil World.
Never released
enough Jewish religious
imagery, but also
some sort of a...
Some games that never
officially released were produced in very small
quantities. Nintendo
World Champions.
Oh, 20,000. 100,000.
Only 116 copies were made.
NES
test cartridge.
Why is it rare technician diapers?
1,000 feet. I have one for the Super Nintendo.
It's a copy,
but they call it a burnout
test.
I don't have one for the
NES.
Rare
homebrewed and reproduction games.
Battle Kid
Fortress of Peril.
2,010.
$100-$300 Sid
Lexia Limited Edition
Tips and Finding Rare Games
Stores
Yard Sales
Of course I don't have any of those games
But at least I have a fun idea
Of that alright so tomorrow
maybe we'll do Super Nintendo
or we'll go to PS1 and check out some Resident Evil
or something alright so that's my
game
cartridge thing for today
and then I'll see you guys in the morning
alright have a good night