Atari 2600 Graphics Construction

We’ve talked about this topic before, but I recently found a video, from Mark Rotondella, on how the Atari VCS/2600 creates its graphics. (6 minutes)

It makes the useful observation that the first programmable game system (that is, with interchangable cartridges that contained program code), the Fairchile Channel F, contained 2K of RAM to use as a framebuffer, a region of memory the system’s graphics controller referred to in building its display. Using a framebuffer simplifies video creation, but at the time RAM was very expensive.

The Atari VCS/2600, however, only has 128 bytes of on-board RAM. It doesn’t create a framebuffer, it doesn’t have enough memory. Instead the processor, a MOS 6507 (a variation of the 6502), works with the TIA graphics chip to build the signal in real-time. Effectively, the VCS has a one-dimensional display: it focuses on building the video signal by focusing on it one raster line at a time.

There’s a danger when talking about these things, of telling people something they already know. It’s been observed that some game facts that were once obscure are fairly well known among enthusiasts, like that Super Mario Bros. 2 was adapted from an earlier Japanese game called Doki Doki Panic. I feel like the unusual way the VCS constructed its graphics might be one of these things. I’m still fascinated by how it works though. I’ll probably end up bringing it up again someday.

Jed’s Journey (on Loadstar 87)

Jed’s Journey is a fun little Zelda-like game for the Commodore 64. If you weren’t a Loadstar subscriber around 1993 or so, you’ve probably never heard of it. It’s one of the many programs from Loadstar’s 22-year run, which I’ve put up for sale (with permission of J&F Publishing’s co-owner Fender Tucker) on itch.io, but the disk can also be found on the Internet Archive. (We talked about making Loadstar available to people back last month, here.)

Jed lost drawing straws with his villager friends, and so it’s up to him to do something about all the monsters infesting his world. The monsters move quickly and randomly, so fighting them is a mix of reflexes, strategy and luck. Clear a screen and you get rewarded with coins, and possibly a potion that you can save for later. The potion colors are green for health, blue for invisibility, yellow to be teleported back to the starting point, and red to clear all the monsters from the screen.

Jed’s world is pretty big. If you explore for a bit, you’ll find treasure rooms with lots of money inside, a place to pay for healing, buyable weapon upgrades and keys for purchase. It’s not known at the moment if there is a way to win at Jed’s Journey, but the fact that the locked doors must be leading somewhere important suggests that there is. To even have a chance of reaching the end, if it exists, you should make a map of the world, and I mean by hand.

Jed’s Journey makes use of a hardware trick, seen in some sprite-based video chips, to get free collision detection. When the C64’s VIC-II is drawing sprites on screen, if two of them would be drawn on the same pixel, it’ll note a collision between them, and note this fact in a register. There are quirks to this system though. On the C64, this is pixel-based collision detection, not using hit boxes, which might mean occasional misses for players used to hitbox detection. Only two of the possible three colors in a multicolor sprite set off the collision detection. And the collisions only register which sprites are colliding, not what they were colliding with, which sometimes means, when you kill one beast, two others that were touching each other onscreen elsewhere will also be considered slain.

Will someone finally finish Jed’s Journey after all these years? Will it be you? If you try it, please let us know!

Sundry Sunday: Eggpo, in Instruction Book

Sundry Sunday is our weekly feature of fun gaming culture finds and videos, from across the years and even decades.

Eggpo is a video game-themed series that was part of the “Two More Eggs” animations that The Brothers Chaps, Mike and Matt Chapman, creators and makers of Homestar Runner, made for Disney’s XD service. While the series is nine years old now, nearly all are still viewable on XD’s Youtube channel, minus a couple that were removed for some reason.

This is the fifth of the Eggpo cartoons, and clocks in at a minute-forty. We’ve seen the previous four here so far. They’re about a couple of Goomboid creatures from an 8-bit game questioning their places as underlings in video game world. They’re pretty good, and short. In this one, the Eggpos explore their game’s instruction manual. It’s not explained how they got in there.

There’s another game-related sequence in Two More Eggs, “CG Pals,” which follows the adventures of a bunch of low-polygon friends and their adventures in the Third Dimension. Since there’s only two Eggpo cartoons left, maybe we’ll look at those after Eggpo runs out.

8-Bit Show-And-Tell Finds Fake C64 Programming Books On Amazon

Amazon has, in some areas at least, become a slop-pile, full of entries for misleading and scammy products. It seems just about anyone can advertise on Amazon for any product, including endless products with fake machine-generated brands, and flash drives that misreport their size as bigger than they really are and corrupt your data if you try to fill them.

These are just more recent versions of an old scam, computer-generated self-published works, with content stolen from other sources, and presented at new material. They’re not even LLM-generated, except maybe for a few sentences. The bulk of the content was written by others, people who have no idea their work is being appropriated to make a quick buck.

Robin, the worthy creator of 8-Bit Show and Tell on Youtube, has done a 54-minute examination of some of these books, all on the topic of programming Commodore 64s, surely a growth market in 2025!

The five books Robin found, and bought to show off on his channel, are laughably fake. The computers pictured on the cover are the furthermost things from Commodore 64 machines, and the middle initial of their supposed authors consistently puts the period before the letter! They practically flaunt how easy it is to create AI slop, how little effort and money they must expend to get obviously fake books up, to sell to the maybe dozen people, tops, in the world today seeking info on how to program a forty-year-old 8-bit computer. (The books are copyright 2023, so at that time it merely a 38-year-old computer.)

The third book’s introduction in particular is great. All the books offer “Funny helpful tips” on the first page of content, but this one tells us to “incorporate activities that promote lymphatic drainage.” See! Look!

IMPORTANT FUNNY HELPFUL COMMODORE 64 LYMPHATIC TIPS

The stolen text, down to swiping the very images from the original, seems to come from this book from 2020, Beginner’s Step-by-Step THEC64 Coding Course by Rich Stals, a book written to support one of those recent-vintage, all-in-one platform revivals, the THEC64 Maxi.

Almost as infuriating as Amazon selling the same book under five different titles and with content pirates from a different book, the hoops they made Robin jump through to return them for a refund were a terrible experience, limiting him to picking an option to return them from a list, none of them being “this is an illegal copy of a different book.” Depending on the reason he picked, but not in any logical sense, he was offered a free copy of the same book in recompense. Awful.

Also on the subject of Commodore 64s…. I am still working feverishly on my Loadstar explorer menu program, which seeks to make leafing through the 22-year history of that C64 magazine much easier than having to individually open disks into an emulator and seek them out through the disks’ original menus. I hope to have something to share on that count very soon! Set Side B is a general (if esoteric) video gaming blog, we aren’t going to go all-out Commie for Commodore, but you might see a marked uptick in C64 info for awhile.

White Pointer Gaming on Pokemon Gold/Silver’s Real Time Clock & GB Mappers

White Pointer Gaming is another excellent source of retro game hardware information, and a few days ago they uploaded a dive into the specifics of the real time clock used in Pokemon Generation 2 (14 minutes), and as an encore discussed Gameboy mapper chips, a related topic. It seems the clock hardware is on quite a few other GB games as well, as it’s built in to a common mapper chip, but it needs extra power to run the clock, and an oscillator to keep the time accurate. Another game that uses the same mapper, but doesn’t have the oscillator? Pokemon Generation One. Hmmm!

The video mentions that powering the clock and oscillator causes Pokemon Gold, Silver and Crystal cartridges to run out of battery power, and lose their saved game data, much faster than other Gameboy carts with save game battery. Sorry to break it to you; your Pokemon are probably gone by now. Poor out a health potion for Pikachu.

Another interesting fact revealed is, the clock works by recording raw time since the game was last powered on, and the actual date and time are fully updated when the game is started up. If you wait a long time between plays, over 511 days, the timer can wrap around and lose track of how long it’s been.

On Rescuing Mario Paint Projects From Cartridges

Mario Paint, Nintendo’s weird but beloved image, animation and music creation tool from way back on the SNES, is an anomaly. As with the Gameboy Camera and everything else Nintendo makes that has creation as its purpose, so much love went into it! It has an interface with whimsical characters like the Save Robot and Undodog! There are jolly icons representing the musical notes in the music maker! You can play with the title screen! Totaka’s Song is hidden there! There are randomized startup and erase animations! There’s that fly swatting minigame! Homestar Runner wouldn’t have existed without Mario Paint! I could, and should, go on, but I should more get to the point.

The post needs some visual interest, and Mario Paint’s title screen contains more joy per square pixel than almost anything else in this life, so here!

The point is, Mario Paint was also pretty unsuited to its hardware. I mentioned recently the fact that the cartridge doesn’t actually have enough memory to save all of its data and tries to use data compression to make everything fit, which, due to the nature of compression, doesn’t always work. Also, Mario Paint came with the SNES mouse which it requires, packed in, raising its price and increasing it even more in the aftermarket. And, worst of all: you can only save one image to the cart at a time, and the official supported way to preserve your work, as the Brothers Chaps did with the Homestar Runner link above, is to record it using a VCR.

This sounds like the kind of thing the hacking community could solve, but a rapid Google search (I’m running out of time in making this post) doesn’t turn up anything, even though I’m sure this exists somewhere. Someone on hackaday.io says they’re working on a physical device that could rescue the image off of a Mario Paint cartridge, and would even have an LCD screen built into it so you could see a cart’s image saved onto it, which I’m sure would have blown a young Mark and Matt Chapman’s minds long ago. But the last update was in 2023.

Going the other way, putting outside images onto a Mario Paint save, is not only possible but there’s a tool to do it automatically, hosted, awesomely, on Neocities.

The homepage of AutoMP, which can put images into Mario Paint save data, but not currently get them out. With that good old-time web design aesthetic!

There’s speculation that Nintendo themselves might do something with Mario Paint and the Switch Online service on the Switch 2. The Joycons on that system can be used as mice! But given the direction Nintendo’s been going with Sw2 (“switwo”) it’d probably be a paid feature, and nothing’s even been hinted at yet so who the hell knows. But imagine support for exporting Mario Paint images to your SD card, or onto your smartphone?

Michael MJD Shows Off Nintendo Promotional Web Browsers

The Internet was really turning into a big thing in the early 2000s, and a lot of companies hopped onto it to hawk their products. Nintendo was a little more standoffish about it than Sega, remember that the Sega Dreamcast had a built-in dial-up modem, and came with a web browser disk, while the Gamecube had no online functionality without the LAN adapter.

Web browsers would come to Nintendo platforms with the DS and Wii, and there are hints that they had at least considered it with the Gamecube (we’ll look into that tomorrow). But Nintendo did release PC web browsers, in order to help hype their games among internet savvy kids.

Michael MJD examines the phenomenon in a 19-minute video, here:

The programs in question were produced by Media Browser, who tried to turn branding-soaked web browsers into a viable business model. Media Browser is long gone (they lasted just two years), but some parts of their website are preserved on the Wayback Machine. Customized browsers produced were themed after Mario Tennis, Paper Mario, The Legend of Zelda: Majora’s Mask, PokĂ©mon and Nintendo Power (thought it’s more of a Banjo-Tooie theme).

After Media Browser went out of business, another company, Braun Communications, stepped in and made three more browsers, it seems using the same software Media Browser did, for Metroid Prime and two more Pokémon games.

Under the hood they’re all reskins of Internet Explorer 5.0, so Media Browser/Braun wasn’t actually distributing web browsers per se as fancy borders to put around the browser that was already on Windows users’ machines. It also meant that Mac and Linux users weren’t allowed to have a Legend of Zelda web browsing experience: Ganondorf wins again. These were all free browser skins, but some of them showed ads to you, so you were essentially installing an ad banner directly to your machine for no useful benefit. Bonzi Buddy, eat your heart out.

So! What is using Nintendo’s branded web browsing solutions like today? Well first, even if you dig up the version of Windows they support (Win 95-98-ME era), they demand to be registered before use, and that site is long dead, so it’ll require a registry hack to put them through their paces. All of these browsers still exist on the Internet Archive, as linked on the video’s description section. Here’s direct links to the pages: one, two, three, four. If you look through them you might find some extras, like screensavers of the different properties. Those should still work, right?

The Miracle of C64 Salamander

The Commodore 64 has many great games, but it tends to be best suited for computer-style games. When you compare it to the NES, for instance, it’s usually for Japanese-made action games. In Japan, hundreds of programmers had the Famicom boom to get better at the platform, and the system itself has an entire off-screen area of the screen to use as a scroll buffer. The C64 only had eight pixels of scroll buffer. There were scrolling games on the C64, even fast ones (I point to Andrew Braybrook’s Uridium and Paradroid that show the Commodore at its scrolling best), but it’s just a fact that the Famicom/NES was just better at it, and it was a time when there were lots of scrolling games coming in out of arcades.

I would like to highlight a particular case where the C64 acquits itself fairly well: its version of Konami’s Salamander, a.k.a. Life Force in some territories.

There’s a ton of scrolling C64 games that don’t hold up well. Take Strider, for instance. It tries to be a lot more like the arcade game than the NES version, I’ll give it that, but at the cost of all of its bosses, most of its speed, and it doesn’t even end very well, it just stops, feeding the player a line about having passed a test. Urk! If you want to see what I mean, have a look (11 minutes), but frankly why would you want to?

Here’s C64 Strider, but if you’re played the arcade version it’ll only make you sad.

There are good arcade, and arcade-style, games on the platform, and when they’re done well they can make the platform, quite literally, sing–the C64 has a terrific sound synthesizer chip. Ghosts & Goblins is often held aloft as a good example of a good C64 conversion, but although it has an iconic song, it only has one song, it’s not the classic tune from the arcade game, and it’s only got four levels. It plays a lot more smoothly than the NES version (7 minutes), but c’mon, Micronics made that one.

It runs at a good frame rate, has a great and spooky tune, and it manages to load four levels into the C64’s RAM at once, but it’s missing the last two levels and its two major bosses. And yet, it’s still a technical feat on the C64. BTW, there’s a 2015 port of GnG to the Commie (download) that’s better than the NES version in just about every way.

The C64 version of Life Force also only has four levels, but they’re very remarkable levels, impressively like the arcade game. It has a different tune for each stage! They actually sound like the arcade game! And one of the levels is the “Prominence Stage,” the most eye-catching part of the arcade and NES games, and it holds up (11 minutes), the flaming solar surfaces are animated, and the solar flares are just as deadly as in the other versions. It even exceeds the NES version in a couple of ways: your ship tops out at three Options instead of the NES’s two, and the Ripple and Laser beams are impressively flicker-free, since they’re drawn with background tiles, a feat the NES has trouble duplicating due to its background tile drawing limitations.

Is it equal to the NES version? Well… I can’t say that it is. And the Famicom version lets you have three Options, so the C64 version loses ground there too. But look at it! For the levels it has, the C64 really does its best to match the arcade. (If you’re surprised that the second level is different, the Famicom/NES puts the vertical mountain level there; the C64 sticks more closely to the arcade game, where the second stage is an asteroid belt.)

So even though the C64 port is about as good as you can expect from a 1983 computer with only eight hardware sprites, the Famicom/NES port is also great. Oh well, C64 users can content themselves to having a much better version of M.U.L.E., the NES version stinks.

Space Quest Secrets

If it seems that a lot of the “niche” items here ending up being about Nintendo things, you’re not wrong. The fact is, lots of people talk about Nintendo, both the Nintendo of old (N64, Gamecube, GBA, DS), the Nintendo of very old (NES, Gameboy, SNES), the Nintendo of very old (Donkey Kong, Game & Watch), and once in a while, the Nintendo of even older than that. They have been making gaming equipment since the 1800s, after all!

With all that Nintendo talk, I’m positively desperate to find non-Nintendo things older than a certain age. And once in a while, I even find them.

That’s what’s served up today, a video list of 11 secret things about the Space Quest games. The absence of Space Quest games in the current era is one of the worst things about it, if there was any DOS-era game series that could stand a comeback that is IT. But in that terrible absence, here is a 27 minute collection, from Space Quest Historian, of interesting things about those games:

Included items:

  • The Cave Squid in Space Quest II doesn’t actually chase you: it’s a set encounter in a specific location.
  • In SQ6, in the German and French localizations, designer Scott Murphy rerecorded some lines he spoke as himself, in those languages.
  • A cheat to skip some of the Scumsoft area in SQ3.
  • In the Aptitude Test in SQ5, you can either look over the shoulder of another test taker to get the answers… or just answer the last choice for each question. That’ll also get you past that sequence.
  • Some planet names in SQ5 are obvious jokes, but one of them that seems to be a jab at rival adventure maker Lucasarts is instead (or maybe, also) a reference to the last name of a couple of employees.
  • A Sarien guard in SQ1, if you talk to them many times, will eventually reveal that they’re a Kings Quest fan, and six points are locked behind this easter egg, making it difficult to score a perfect game without prior knowledge. As it turns out, Ken Williams put this gag in the game himself.
  • Space Quest Historian insists that the games, in general, were not made harder to sell hint books. Instead, it was to increase the length of the game, as if you know exactly what to do a typical Sierra adventure can be finished in less than an hour.
  • The Datacorder puzzle in SQ6 wasn’t intended as copy protection. It was supposed to be clued in the game itself, but an oversight meant it was left out of the game, so the clues were printed in the manual.
  • In SQ5, there was an unexpected case of the game taking it easy on the player. If you don’t complete a necessary puzzle, at the very end, before escaping a spaceship set to self-destruct, the game won’t kill you as a final punchline, but actually put you back for another try.
  • The Duracell Bunny, better known to US players as the Energizer Bunny, in SQ4… they actually got permission to include the joke, but from the wrong people. Still they were never sued, possibly because the inclusion flew under the owner’s radar.
  • Rereleases of Space Quest games sometimes changed some of the pop culture references to make them less legally actionable. In all but one case, however, this was done preemptively, and no legal threat was actually made. It was just their lawyers playing it safe. The one time they got a Cease and Desist was when they included likenesses of ZZ Top in the VGA release of SQ1. They fixed this in a novel way: the interpreter program scans the play directory for alternate resource files, and if it finds them, will include them as alternate animations. They “patched” the game for later pressings by putting alternate versions of the singers, shrunk down so far as to be unrecognizable. This seemed to satisfy the group’s lawyers. But the original graphics are still in the game; if the alternate resource files are deleted (or just moved out of the directory), the ZZ Top parody will reappear.

If all of this is interesting to you, I encourage you to watch the video, where all of these things are illustrated in-game, and explained in far greater detail. Look and see!

RGME Explains the Super Mario 2 Level Format

This one, I won’t lie to you, is pretty dry. It’s an hour and a half of the Retro Game Mechanics Explained narrator describing, in precise detail, how Super Mario Bros. 2 builds each of its rooms from a couple hundred-or-so bytes in the game’s ROM. It’s an hour and 39 minutes, actually:

Even I began to drift off a few times through this one. It is exhaustive, and exhausting, but it’s very thorough.

I won’t even try to explicate it all in text, but here’s a few interesting tidbits of information:

  • Super Mario Bros., the original, built its levels on the fly. As you scrolled forward, the engine read the upcoming data and constructed it up ahead, off screen, in real time, always keeping ahead of the screen’s edge. This is why you can’t scroll backwards, the list is designed to be read going left to right. SMB2 instead includes extra RAM in the cartridge and uses it as a memory buffer to hold the entire current room, up to 10 screens in size. When you enter an area, the game takes a moment to construct the map in that buffer, and copies it to the PPU’s video RAM as you scroll around.
  • Instead of with stored as-is tilemaps, SMB2’s, as well as basically all of Nintendo’s scrolling games at the time, are constructed, made out of tile objects with different locations and parameters attached to them. This saves a substantial amount of ROM space, and functions as a kind of bespoke data compression.
  • The rooms are built screen by screen, although it’s possible for some items to extend horizontally or vertically outside of its home screen.
  • The format makes it seem like vertical rooms were designed first, and horizontal scrolling areas were then added to that functionality.
  • There are weird special cases everywhere in the building code! Some objects only work on certain levels, or serve different purposes in different worlds.
  • Birdo’s color, and behavior, depends on its initial spawning X tile position. If it’s 10 she’ll be a pink Birdo; if it’s 11 she’ll be red, and all other values mean a grey Birdo will be generated.
  • On the enemy list, entity numbers 92-127 are the same as the entities numbered 64 less than them, but with the property that, when they are despawned, the level ends! This property is used for world-ending bosses, but any entity in that range will end the level when it leaves play, even Mushrooms if one such existed.
  • Crawgrip, the boss to World 5, was added to Super Mario Bros. 2 during its conversion from Doki Doki Panic. The decorative rock background objects in its boss arena are especially hacky, like they were hastily added.
  • The stars in the sky in the night levels have a bug in their generation that prevents any from appearing on the first screen of their areas. They also aren’t placed specifically, but using a pseudo-random generation algorithm that always uses the same seed, so they’ll always appear in the same places in the sky.

Loadstar Progress

I imagine some people look at this blog and think something like, “what the hell is its audience?” People who follow indie gaming, retro stuff, classic computer software, weird gaming videos? Should anyone be interested in all of that?

I answer, YES. It’s all important. I vouch for all of it. I want to cast a light into all of the corridors of video, computer, even electronic gaming! I regret that I only have the time and energy for one post a day! Everyone should know of these things!

One of those things is old computer magazines, and the example of those that I have the most contact with is Loadstar, the Commodore 64 disk magazine that lasted for 22 years and 250 issues.

I mentioned Loadstar lately, and the itch.io page I’ve put up distributing, with the permission of its owners, their archives 243 issues of its archives, plus many extras.

A lot of my time the past few weeks has been spend on the “Loadstar Project.” I’m working on an expanded edition of Loadstar Compleat, to make it much more accessible to people who don’t play around with computer emulators as a matter of course. Yes, I understand they exist!

I envision a custom-written program, offering lists of highlights from among the long halls of its archives. What are you interested in? Arcade-style games? Puzzles? Animations? Music? Art? Reviews of old software? Editorials from a bygone age? Dedicated lists of all of these things. You’ll be able to scroll through and pick something to try. One click brings up its instructions. Another starts it up immediately in VICE. Have a favorite author? Many of Loadstar’s most prominent creators will (if I have my way) have their own lists. With literally hundreds of items in each category, that will keep you going for a good long while.

There’s many technical barriers to making this work, but they are coming down, slowly, one after another. Here is what the menu looks like at this second:

There’s a long way to go. I have to reverse engineer the compression used for text files in later issues, for one thing. I have to finish entering the data for early issues before their Presenter system settled into a single file format. There’s tons of issues left to add to the system, preferably using automatic tools because there’s literally thousands of items here. And yes, the menu system looks really plain right now, and could stand some sprucing up.

I continue to push at the boulder. Sadly the world contains many distractions, and I have other things I need to do with my time. You’re reading one of them right now. But maybe it’ll all come together. Let’s keep our many varied appendages crossed.

I also want to shout out to the Reverend Dave Moorman, Loadstar’s last editor, who oversaw the magazine from issue #200 to #249. He graciously gave me permission to include his range of issues in the compilation, and they’ll be joining their siblings soon! He also has a book on Amazon: The Most Marvelous Machine: A History and Explanation of Computers in General and the Commodore 64 in Particular. If you bought a copy there, there’s no referral code on that link, I won’t see a cent of it, but I’m sure he’d appreciate it! Think it over?

Triggering “Data Over Flow” in Mario Paint

A while back I linked to a video showing the obscure “Data Over Flow” error in Mario Paint. Here’s the post, and here’s the video (1 minute):

It occurs because Mario Paint’s SRAM is only 32K in size, which isn’t large enough to store every possible creation. The cartridge uses data compression to squeeze everything in, but the thing about data compression is, it can never be guaranteed to work. Every possible compression format has data that will cause it to take up more space. It’s a fact about the universe we live in. It just is.

If you only use the canvas, or only use the “Animation Land” motion option, then there is enough RAM, but using both in one composition means the software relies on compression to make everything fit, meaning, some kinds of data won’t fit, and that’s when Data Over Flow happens.

But as it turns out, while if you’re using Mario Paint in the way most people it’s unlikely you’ll trigger the error, it isn’t actually difficult to cause it. Creating a random mess of all the colors of pixels in a stamp, then filling the whole canvas and all the animation frames with that stamp, seems to be enough to do it. Mario Party doesn’t use a particular complex compression format. Maybe if it used something lossy like JPEG it might be able to do it, but rather it uses bit-perfect compression. That kind likes repeating patterns and areas of solid color, and doesn’t like what I’m going to call rainbow snow.

So here, watch a user start from a blank project, on real SNES hardware recorded through video capture, and go directly to the Data Over Flow error. Sorry! Our RAM is too sick to contain your masterpiece, it has vomited it all up, please try again (3 minutes):