Gooday Gaming Guests - Fairchild Channel F First Cartridge System and Game Coding
Episode Date: January 10, 2025It all started here....
Transcript
Discussion (0)
Alright so today I wanted to come up with a new idea for my game series. So we're gonna do, we're gonna look at early.
Let's find out what the original, what was the first game cartridges made. So that's what we're gonna do. We'll start there. Game cartridges made when when and what were the first so I'm on my buddy Zippy here
I do have flash over Gemini although I really use it that much yet when and
what were the first game cartridges made?
So that's where we're going to start.
Because I've ran out of game systems, there's a couple of those I haven't done.
So it looks like 1996, with the release of the Fairchild F, Channel F,
designed by Jerry Lawson, a key figure in gaming history.
The Channel F was the first home video console to feature interchangeable cartridge,
a revolutionary concept at the time.
Ah, so we'll start there.
That's a good place to start.
Key facts about the first game cartridges.
The console was called the Fairchild channel F was in 1976 it was known originally as the video entertainment system the ES
cartridge design the cartridges were plastic casings containing ROM chips
that stored game data each cartridge plugged into a slot on the console,
making it possible to switch between games without needing a built-in library.
The game library, the Channel F, launched with 27 cartridges in total over its lifespan.
The first cartridge was Video Cart Dash 1.
It came pre-installed with two games on it, Tic-Tac-Dough and Doodle.
Oh, interesting.
So the significantly advancements were previous.
So it was better than the original Magnavox Odyssey, which was 1972,
which only just switched games between the like the the switch on the
interchange on conference paved the way the systems like Atari 2600 in 1977
which further popular popularized game cartridges so this is list list of
library of game library.
Game library.
So we'll just stick with this for now.
There's always things I can find to do about gaming.
So let's see what the library of that list of games.
So the Fear Child F.
While we're here, let's look on eBay and see what that one is.
I don't even know what it looks like.
So this is a system I never had. Fear Child child F let's see if we can find one game library of fairchild F what a strange name for a gaming system fair
child channel F let's see if we can find one so can't go on getting more systems but
20 cute video game consoles Fairchild F
console 300 bucks
pure child F looks actually pretty cool
never seen one before this is new to me
ok see the cartridges there yellow
cartridge for
some kind of weird controllers but cool though that would be interesting to find
one of the 300 bucks well she isn't that that bad when you get the thousands is
$399 there was a Fairchild F system 2 so there's a second one $199 untested I'm
not really gonna go get into getting in more systems I hit one here for $149 so
that's your first system 260 and with with cartridges so that I never knew
until just now.
So that's why I do this.
So I can learn some stuff from my buddy Zippy over here
and just kind of share it.
All right, so it had cartridge one.
So they went by the cartridge number.
So cartridge one, tic-tac-toe, shooting gallery, doodle,
and quandary doodle.
Cartridge two, desert Gallery, Doodle, and Quandre Doodle. Cartridge 2, Desert Fox, Shooting Gallery, Submarine Doodle.
Cartridge 3 was Video Blackjack.
Cartridge 4 was Spitfire, Air Combat.
Because remember all these are the bleep games, especially back then.
They're just
little characters that were and they called sprites they put them together they make like
explosions and stuff math quiz six and seven eight was mind reader nine was drag strip
10 was maze 11 backgammon and ac ducie 12 was Baseball. 13, Robot War and Torpedo Alley.
14 was Sonar Search.
There's a memory match.
15, 16, Dodge It.
17, Pinball Challenge Hangman.
Number 18, Checkers. Number 19, video whiz ball, 20,
21 was bowling, 22 was a slot machine, 23 was the galactic space wars, which sounds
like fun, pro football, which is never good, sports games back then were really bad casino poker Oh
alien invasion alien invasion was number 26 and clone of the invaders let's see
if we can see if these games what they're worth now so I'm gonna put in F channel space invaders so I was gonna start doing an actual I'm gonna I'm
gonna use these cartridges as my first... Get some coating off it.
Just see how... We'll get a boot process off of this system, too.
And then we'll...
Hold on.
I'm just trying to see what this...
If I were to get a game, would be the Alien Invasion of course.
Let's see if it's around.
None.
Oh clone.
Let's try.
Let's get some of that out of there.
I'll just put in games and see what goes on.
Just curious.
So there's 27 total.
Each came with different ones.
Okay so now I see one.
$49.
So the Fair Trial F cartridge 26 is $49 tested works
Pretty cool. So $69 you get a whole six whole system for 300 bucks
And you get seven games
His library of them fear Fairchild cartridge holders only, no games. So they
took the ROMs out of them. There's a whole collection here for up to $2,000. Again, I'm
not... My days of getting systems to see what they're all about are kind of over now.
Unless my YouTube eventually will pay off.
Or maybe my YouTube or my podcast here will pay off.
Give me a little bit of extra income, then I would go out and buy one of these.
Check them out.
But as of right now, I cannot.
I just make enough to pay the bills basically uh yeah so here's
a lot of one through five nine through fourteen and twenty one for 150 as an auction so there's
lots of them all right so now we're gonna stick with fairchild f so what's the boot process of
this let's get some i usually do boot process because it usually tells me what
kind of chip is in it and stuff like that I knew nothing about the system
right till right now there's lots of systems that I haven't touched on I've
never had or the way out of my range and I'll try to so if this was designed for
educational and recreational games
in mind. VUCA 27 was an unfinished prototype likely inspired by the success
of the plat man the pac-man library demonstrated how the pebbed away for
other gaming boot process for the F powered on had a CPU had an console processor was an a
Fairchild f8 CPU so therefore there's a name Fairchild f8 I would assume its
basic components RAM presence console check for the presence of a video cart, ROM, game execution, no operating system, hardware control, directly controlled
by the console hardware such as CPU, RAM, ROM, dependency, nothing happens unless you
have it.
So it's completely cartridge driven which most of them were.
Modern systems just firmware resist okay so let's do
what is the code process
of one of these cartridges let's see if we can get some sort of coding on it.
Let's see if we can, so it's all under assembly language,
which I know nothing about.
However, here with my buddy Zippy,
he will often give me some codes
and I would have to take it
and put it into a program of some kind,
but I never.
So initialize key setups and coding process.
When the console powers on, see if it begins executing instructions from the ROM.
The ROM would be on the cartridge.
Setting up stack pointer, clearing the memory if required,
configuring display settings,
initializing variables and game states.
Examples and assembly.
PS2 code for initialization.
So it gives me a quick code,
says something set up the stacker point,
LDI SP comma XO,
zero X zero zero FF then there's another comma thingy and a load stacker point.
So I'm not sure what a stacker point is.
And it's Pizzio code.
So then it clears RAM, clears startup.
The code configures the screen.
The F channel uses a character based
graphic system where tiles represent blocks on the screen involves them it
gives me another writing another code a little cold thing about copy cool I
gotta find a place to put the cord. Eventually, I mean pretty much now, I think,
I was doing Atari Jaguar the other day,
and there's lots of enthusiasts out there
that make their own custom games.
So that'll be fun to do.
In the future, as AI gets better,
I can make my own games per system that I want, maybe.
More code, it gave me some more code for input handling.
So that would be the controller.
So it looks like it goes for the input polling next.
Does display setup, and then it goes into input polling.
So I was looking for controller action.
You push, you know, start or something.
Game logic, call loops.
The program handles game logic such as updating characters,
detecting collisions, scores.
So there's a little quick little code it's given me.
Again, it's all in assembly language.
Again, then it's going to a rendering loop.
The program screen based on the game.
Then a game over or reset screen comes in.
Check for reset button.
Game reset pressed.
The ROM size is typically 2 kilobytes or less.
Graphics controlled through registers that map directly
to the video output. The console and simple binary inputs for its controller were directly
read via mapping memory map I.O. So example for the game tic-tac-toe display the
three by three grid on the screen pull the players input to place their marker
X is arrow update the grid and check for a win condition display the results and wait for those outs so so let's see now I wanted to do
so we want it so that's the first game cartridge system so now if we look at, I know I did.
Alright, so let's go with How was Atari
game
coding done look at Atari for a minute go do something and then up all
right so let's see what Atari's doing how do we're the Atari we're going through We already went through the hardware. The games were programmed in 6502 assembly language.
Tailored for the MOS technology 6507 CPU.
A variant of the 6502.
Here's how Atari games were coded.
Alright, so cool.
Alright, so. Now we'll see how this goes.
We'll start Atari there. It's a hardware overview of the Atari 2600. So we'll get another overview of it.
The CPU on that was the MOS 60507.
It was running at 1.19 MHz. The CPU on that was the MOS60507.
It was running at 1.19 megahertz.
The RAM, 128 bytes.
Yes, bytes of memory.
ROM, two kilobytes to four kilobytes.
Graphics chip was a television interface adapter, TIA,
and simple joystick or paddle. Hardware Simplified created code techniques to work around its limitations so was
anything way back then the limitations of technology made it harder to code.
Developers used 605 assembly to write highly efficient and compact codes. Every
instructions were carefully optimized to fit with the limited memory
and process constraints.
I did hear today that
Nintendo is releasing a Lego Game Boy.
Interesting. So something
a modern version of Game Boy in, in, in, uh.
All right, so it gives me a little setup,
a register in the 605 assembly.
So the 605 assembly is the language the coding is going into,
and it gives me a little code.
I'm not really going to read it.
It's kind of load and FF something, something, something, something.
So we get a little bit of code.
And so the TI chip requires a programmer to manage graphics and sound frame by frame.
I've always wanted to learn programming.
It's one of those top three, top four things.
Programming, refrigeration, electronics, and just computers in general.
So coding, I could definitely. So graphics were drawn directly to the screen in real time during the horizontal blanketing period where the TV's that sprites are like a combination of little dots put together to make kind of different kind of
animations or graphics set graphics cycle count developers had to precisely
count CPU cycles to synchronize with the TVs refresh rate which was 60 Hertz in the NTSC region. This meant coding each frame
logic and rendering is exactly 76 CPU cycles per scan line. Sounds complicated.
A loop to process one scan line. So it gives you some code so eventually I'll take some of this code and learn a little
bit more maybe on my computer or something you can you can make uh there's certain programs you
can download that can be used to put this code in so that you can see what it's doing the 2600
did not have a frame buffer instead developers used registers to set graphics on each scan line.
Backgrounds were drawn using playfield registers and the player, sprite, player, missiles,
balls were used sprite registers. Drawing a play field.
Sound programming. Sound was generated
by the TIA's audio register. Program
is adjusted waveforms, frequencies, and the volume to create
effects.
Alright, so effects.
Game logic and AI.
Game logic was implemented in teeny loops, often just a few instructions.
AI for enemy behavior was minimal due to memory constraints but relied on simple
patterns or random generated numbers so even back then there was the ai because if you play against
uh the computer right that would technically be ai so ai has really been around for a long time
haven't really noticed it developers first sketch out the game design on paper,
often working alone or in small teams.
All programming was done in assembly,
often a mainframe computer or specialized developed hardware.
Debugging was performed by running the code
on a prototype console or an emulator.
Developers tested games extensively to ensure
proper timing and gameplay. Debugging tools were minimal, so most testing involved trial and error. Once the game was complete, the code was burned onto a chip, a ROM chip, and inserted into a cartridge for release.
So a lot of those games, I've got a lot of tower games that don't work anymore, so I
would assume the burned ROM chip doesn't work anymore.
Developers work with just 128 bytes of RAM in teeny ROMs.
That was the memory limitations.
Timing, precision, any misstep in timing
could cause graphical glitches or crashes.
So maybe if I could just learn how to do it
like one of these really early, early kind of games,
that would be fun.
With no frame buffer or limited registers,
every visual element required
integrity to implement so games me game code for pong but simple simplified so creative techniques back then despite the limitation
to be up developers came up with ingenious solutions such as bank switching,
expanding ROM size by switching memory banks dramatically, sprite flickering, altering
between multiple sprites to simulate more objects. legacy that 2600 were the masterpieces of the optimizing creativity the
restraint to the hardware push program to the limits that's pretty cool wait a I get a assembly program emulator I'm gonna say emulator so that I could try some of these codes
let's see what it tells me to do. There are several assembly language emulators.
The tools you use to learn, experiment with it.
If you're especially looking for emulator
and program like a platform of Atari 2600.
So anybody else there?
So Stella emulator is a widely used emulator
for Atari 2600 games. So you can program and assembly
and test your games. Pretty fun. Pair Stella with DASM, a popular assembler for the 605
CPU. Description DSM
DASM assembler is a cross
assembler that supports 6502
assembly perfect for creating
Atari 2600 games. It gives me
a link so I got stella-emu.github. And then the other one is dasm-assembler on github. description a more user-friendly IDE that includes support for Atari 2600
assembly and Bactari Gase Basic which can make the learning curve easier that
might be more my I could learn it it's just a matter of do I have the time to
do it so the website is called Atari Age Tools.
So that's pretty fun.
So we'll go on.
So we'll kind of just stop here.
We'll just do a little bit more with this.
Another one for the general 6502 assembler program is Retro Assembler,
a modern assembler for 605 programming with excellent debugging tools.
That's called retroassembler.com.
Next one on the line here is called EMU Studio.
A flexible emulator for various CPUs including 605.
It offers visualizing memory registries for better understanding.
That one's emustudio.org.
And then 605 Simulator Online, a web-based 605 skilldrick.github.
It says learning other assembly architectures. So the WinAPE which is the Z20 processor.
Now Z80 CPU. Powerful emulator and assembler for the Z80 like in the Amstrad which I have a CPC.
So that was a Z80. I think there's a lot of other ones that use Z80 too. So Win winapp.net. And then there's PCEMU x86 CPU. Emulates older x86 CPUs and supports or TASM for assembly programming. That's in UK, PCM.
emulator.spim
which is MIPS assembly.
MIPS assembler simulator widely used in
academic settings. Additional resources
visit the community of Atari, download the emulator, install the
emulator like before you comply, test the program and emulator, and you can use the
entire share help.
So that's my thing where I'm going to go on.
So we're going to start with the first cartridge system which was the Fairchild Channel F.
And we went through the cartridge setup and then we went on to Atari cartridges and then
we learned places you can emulate and make your own kind of games.
Or just learn how to do an assembly as a game programmer yeah all right
so that's my thing for today i'll build on that tomorrow we'll go on to we'll hit all the early
cartridge systems and then we'll go on the discs and we'll see how the programming has changed
and places that you can actually program it yourself now
all right you guys have a good evening and I'll talk to you tomorrow