White_Pointer Game Reveals More Classic Console Graphic Tricks

We’ve linked them before, and more than once, but they’re one of a small number of Youtubers who consistently does great work. Here they look at the effects in a number of games and reveal how the programmers coaxed surprisingly complex effects out of the hardware for each of them. (25 minutes)

The games and effects covered this time:

  • Art of Fighting on the PC Engine, zooming in and out from the fighters as they approach and draw away from each other
  • Road Rash on the SMS, which created a startling effect of a road undulating and going over hills for 8-bit hardware
  • Ranger-X on Genesis/Mega Drive, artillery shots firing into the distance in the background and multi-plane parallax scrolling
  • The Lawnmower Man on Genesis, SNES and Gameboy, fast 3D virtual reality scenes (well, slower on Gameboy)
  • Donkey Kong Country 3 on SNES: vertical stretching of a boss
  • Contra 3 on SNES: rotating both a large boss, the background and the player on the screen at once when the SNES only had one hardware scroll background layer
  • Super Metroid: the Power Bomb explosion effect

If you enjoyed this you’re in luck, for they’ve done many other videos like this one. They’re all in this 21-item playlist.

NES Pac-Man Bug Update

Some time ago you may remember I explained here a bug I had discovered in the official NES port of Pac-Man. When you get very far into the game, starting at the 8th Key level, the ghosts spend a long period of time at the start of each level just circling around their home corners of the board. I recorded video of it happening here (30 seconds):

Well I was just notified this morning by a comment on that video, with the handle kirkbradfordmyers7196, that this happens because a table of ghost scatter times in the code is too short, so it reads data from an unrelated source which indicates a long period of time, much longer than the scatter phase is supposed to last.

kirkbradfordmyers mentioned that they’re working on a romhack that provides a fix for this bug, and others that exist in the code, and hopes to get the game much closer to the arcade. We wish them luck, and hope they’ll come back and tell us about their work when it’s done.

New to SSB: Horrible Horrible Ads!

We figured it was time to ca$h in on our burgeoning popularity and put ad$ in the $idebar! Wahhaha! We are to be gazillionarie$!

No seriously, while we’re testing some ways to bring in at least a little income (maybe a podcast?), we don’t expect to make more than a few dollars from the sidebar ad, which is provided by the ComicAd Network. But ComicAd has some things about it that I like. It was inspired by Ryan North’s late, lamented Project Wonderful, a terrific little ad system that used to adorn the sidebar of Metafilter for readers who weren’t logged in.

It’s about as unobtrusive as you can get for ads, it doesn’t track users (that’s really big in this privacy-conscious era), and the things it advertises are small projects, like ours. I think that good ads can provide a useful service, both to sites and users, provided no one gets too greedy. Lots of the excesses on the internet nowadays are caused by just that, greed, driving people to excess. A small image advertising a webcomic isn’t that bad, and may even be fun. Blanketing sites with ads for a vast exploitive Microsoft-sponsored AI company that drinks up rivers and floods the world with slop, that’s what we who like to put judgemental names on things call evil.

It also matters how they’re presented. Something I personally loathe is the suddenly-appearing, page-covering dialog box, usually with a big SUBSCRIBE button, and a tiny almost-invisible X in a corner somewhere. I notice with some annoyance that even the new batch of creator-driven new web media sites do this a lot. Anyway. I place that qualm onto a small boat made of folded paper, and with my breath I push it out into the ocean. Fwoooo!

This is an experiment, and it might disappear in the coming weeks, or change form. If you have an ad blocker and decide you don’t want to see it, that is fine. As I said, we’re not getting much money from this, at least not right now. If you have comments, concerns, qualms, caveats, issues, problems, etc., please use the comment form below to let us know. Thank you.

Poking Technology Reverse Engineers A Supercheap Console

It’s been a while since I linked a good solid ultra-geeky hacking video. Poking Technology is really good at this sort of thing. Here he takes apart one of those extremely cheap portable game consoles (1 hour 12 minutes), the kind you might find at the checkout line at Walmart for ten bucks, put logic analyzers on it, run it through Ghidra, and basically figure out how it works.

I find this stuff fascinating. Look, I’m not going to claim everyone will be interested in it, but that’s one of the advantages of running a daily blog that casts a super wide net, if you’re not interested in this there’ll probably be something more to your liking tomorrow. And if this is your kind of thing, take it from me, it’s really going to be your kind of thing. I’ve been munching on this video a few minutes at a time, and I’m still not at the end of it yet, I don’t know where this leads. I hope it goes somewhere where he puts his own code on it, which I kind of suspect he might.

Here is a bonus video, also from Poking Technology! He’s the guy who made that 6502 version of CP/M I linked a while ago. Here he uses his reverse engineering skills to make a port of classic Z80 CP/M to one of those bespoke LCD word processors that they made in the early 90s (1 hour 18 minutes):

CP/M fascinates me. It was the first real crossplatform OS for microcomputers, and it was also extremely small. It could be implemented in as few as 5KB of memory, and those 5,120 bytes got you a character-based screen, disk access, a file system and I/O support. If it looks like DOS to you, it’s because it was originally created as a clone of CP/M, and so lots of CP/M’s limitations transferred over to DOS, like its single-letter drive names and its 8.3 filename structure. But CP/M was first released in 1974! It was silly for Microsoft to have adapted that limitation too, and as a result until Windows 95 their consumer OSes had to live with the same limitation, when even Commodore 64s could have 16-character filenames. Jeez! PC-DOS/MS-DOS would soon get directory support, which CP/M didn’t get until the under-adopted version 3; until then it had to use a less-flexible system where a disk could be split up into numbered “user areas.”

CP/M being so small, it was also very simple, enough that one person could understand everything going on under the hood, something you really can’t say about OSes these days. That complexity has been used, in recent times, in service of their makers against their customers, to push in all kinds of misfeatures that many people would rather not have.

Nowadays CP/M is a footnote, its founding company Digital Research is a mere bag of property rights owned by Lineo, while Microsoft is worth hundreds of billions of dollars, and it’s very much because of a single decision by people at IBM to go with PC-DOS, later MS-DOS, from Microsoft. IBM offered both OSes, but they sold CP/M for 8086 for $240, several times what they sold PC-DOS for, and that’s why Windows is huge today and CP/M is a footnote. But there is no reason to believe definitely that, if the decision had gone the other way, that we wouldn’t be bemoaning Digital Research’s terrible decisions now instead of Microsoft’s.

But it’s also the case that DR might have turned out differently, while we know Microsoft would become the uncaring behemoth that harmed people’s perceptions of computing since the 80s, and is now propping up OpenAI and trying to shove it into everything. Remember everyone, to always strive to be better than your hypothetical replacement, or someone on a random blog decades in the future might ask aloud if we’d be better off without you.

40 Sonic Adventure 2 Facts

Yesterday’s was the appetizer; this one’s the main course. It’s from Choa again, and it’s 40 obscure facts about Sonic Adventure 2 (18 minutes). The Chao get mention in it too, don’t worry, but it’s mostly about the maxi-game, not the mini-game.

There’s some very interesting facts in there, like how the game seems like it was intended to be set in San Francisco, that getting to the end of a stage with every ring in it gives you an automatic A rank, or that you can summon Big the Cat in cutscenes by tapping the A button!

The Sonic Adventure games are artifacts of their time. Sega kept making games in their style, like Sonic Heroes for instance, or the Wii Sonic games, but they never really seemed to be headliners after the Dreamcast days.

I think now we can generally agree they’re failed experiments. There was a certain jankiness to them. You never knew if the camera was going to suddenly glitch out, and either leave you unable to see where you are, or change the control context and send the snarky rodent thingy hurling off the land to his doom, shouting “No!” as he fell. Or you might fall through a floor, or move through a wall, or whatever. The exploration-based treasure hunting stages with Knuckles or Rouge (in her first game), or the mech combat stages with Tails or Dr. Eggman (playable!) tended to glitch out less often, but it could still happen.

Despite the obvious effort put into it, it always felt like it had been rushed through without much playtesting. As I watched Choa’s video myself, a lot of memories, many of them bad, sublimated out from the depths of my brain. But I still feel a lot of fondess for the games, the jank included. They weren’t like anything else out there, and there still hasn’t been much else like them since.

One of the facts mentions a Green Hill stage. Even people who played Sonic Adventure 2 back then might not know about it. To unlock it, you had to earn every blessed emblem in the game, all 180 of them. Any objective there was to do in SA2, you had to do it. Some came from completing stages, but for some you had to get A ranks. Some of them involved having Chao win at sports. You had to get all of them in order to play a special level inspired by the iconic Green Hill Zone from Sonic 1. It was a ton of work for that nostalgia bomb, and yes, I ended up doing all of that to see it. It was okay.

My favorite fact about SA2, not covered in the video, is that the lass bosses were called the Biolizard, and then its upgraded version, the Finalhazard. Oh the questions! Why was it the Biolizard, all lizards are biological as part of their essential lizardness, did Gerald Robotnik invent other kinds of lizards? Why did it upgrade into something with the incredibly generic name Finalhazard? If had just been called the Finallizard, that’d have been silly oh yes, but actually would have made more sense.

And what else did Gerald get up to, up there on the Space Station Ark, trying to create the Ultimate Lifeform? “Behold my latest creation: the EVILWALRUS! No no wait better, the MUTANTOTTER! Oh I know, how about the POWERCHICKEN! Nah I’m fooling, the Ultimate Lifeform is really this hedgehog person over here. I know, he seems moody. Please humor him, he’s going through an emo phase. It might cheer him up if you listened to his poetry.”

50 Chao Garden Facts

Choa has 50 interesting facts about the Chao Garden minigame in Sonic Adventures 1 and 2 (14½ minutes).

The Chao Garden seems like such an odd inclusion in the Sonic Adventure games now. In fact, they seemed like an odd inclusion back then too, about 25 years ago.

It was created as the successor to the “A-Life” aspect of the Nightopians in NiGHTS into Dreams, itself not really a huge part of that game, but it encouraged repeat play to see what they would evolve into. The Chao Garden, for those unfamiliar, was a virtual pet sim included as a side game. Animals rescued in the levels of the main game could be collected, then brought to a number of small areas where they could be presented to one of a number of little blue creatures, the Chao, that they could raise and modify. The Chao didn’t eat the creatures, they instead kind of nuzzled them. Personally, I think they should have eaten them; it makes more thematic sense than whatever magical sparkly thing was going on.

Giving animals to Chao increased their stats, and could even give them new skills. Sonic and friends could then have them participate in various contests, load them up into a mini game on the Dreamcast’s “VMU” memory card, or “bred” with other Chao.

The original platform of the Sonic Adventure games was the Dreamcast, and while the Sonic Adventure servers were running, you could upload them to a babysitting service (or so I seem to remember), or visit the “black market” to obtain various items of benefit to your Chao. It was a really detailed and thought-out pointless minigame, and it came to be identified with the Sonic Adventure games, following the games of the series as it was ported to other, less-doomed platforms.

Choa’s video has more information than a non-fanatic could ever hope to fully understand, but it’s interesting to hear about. These kinds of virtual pet games aren’t made too often, and even less as part of headliners like the Sonic Adventure games were.

Sundry Sunday: K. Rool’s Villain Song

In response to Bowser’s “Peaches” song from the Super Mario Bros. Movie (the later one, not the 90s one), and a certain Smash Bros. announcement from a few years back, Alex Henderson Animation made a villain’s anthem for Donkey Kong’s (other) nemesis, King K. Rool, ruler of the Kremlings. My suggestion is to turn on subtitles; I’d never have understood all the lyrics without them. (10 minutes) The animation is pretty good for a small production.

I hope this isn’t spoiling anything by now, but just in case here’s a bit of space….


In Donkey Kong Bananza, King K. Rool is the secret final boss, and not only that but at the end of the game the Mario and Donkey Kong series kind of cross over, as the final level and boss fight are in New Donk City, which is attacked(briefly) by K. Rool, but saved by Donkey Kong and Pauline. I wonder if this explains why streets in NDC, in Mario Odyssey, bear the names of Donkey Kong characters?

Anyway, I guess the only real take away is Mario’s world has a long-standing problem with big reptilian megalomaniacs stirring up trouble. And big primates too, but sometimes they’re heroic. Come to think of it, Mario’s been a villain too, and in a Donkey Kong game….

Wolf3D-Style Ray Casting on C64 and PET, For Real

Read the subject line, and say to yourself quietly, “No way. What’s the catch?”

There is a catch, of course. There is an art to these kinds of hacks though, and it lies in finding the right catch. The catch that makes the hack possible at all, but seems the least like a cheat.

You can technically “run” Doom on a C64, if you actually run it on a Raspberry Pi plugged into it, that only uses the machine’s video hardware for output. That’s an egregious cheat; Raspberry Pis didn’t exist back in 1983 when the C64 was new.

There are speed-up cartridges for the C64, and you could even implement a co-processor to do much of the hard work of rendering the display for you. That’s also a cheat, although a bit less of one.

One could approach the problem from the other direction, diminishing the scope of the hack until it fits more comfortably in the computer’s capabilities. There are 3D corridor games on the C64; when I was a kid, a tape of software that a co-worker gave to my dad had one, called LABYRINTH, that was written in BASIC. But if it was truly the equal of Wolfenstein 3D it’d have revolutionized the gaming world. It wasn’t, and it didn’t. It generated one of those Wizardry-style mazes, sometimes called “blobbers,” where your perspective is fixed in the center of a grid-based maze. It wasn’t a shooter, it didn’t animate smoothly, and it was a pretty simple algorithm, simple enough that lots of games used it, especially RPGs.

What makes smoothly rendered graphics slow on a C64, indeed on pretty much all home computers at the time? It’s the necessity of using a bitmapped graphics mode. The math of deciding where the corridor vertices and lines go is within the machine’s capability, even at 1 mHz, but writing all those bytes into the C64’s 8K bitmap screen takes a huge amount of time.

It’s why few action games on the Commie used the bitmapped modes. Even if you used a hand-tuned machine code loop to write a single value to every byte in the bitmap, it’d be slow enough that you could visibly watch the screen fill up. If you wanted to actually vary those bytes, such as by rendering walls, it’d take much longer. Even filling the text screen takes so long that it’s difficult to do it in a single video frame, which is why games that feature NES-style full-screen scrolling on the C64 are impressive. (There are tricks to doing it; some of them quite bizarre. Let’s discuss those some other time.)

But you could do what jimo9757 did, and use text characters to simulate the rendering. In fact they did it one better, and used the PETSCII graphics characters for the display. The result is pretty striking! See for yourself in this demo (8 minutes):

Reserving a port of the screen for a status display is itself a bit of a cheat, that cuts down on the number of bytes that must be changed for each screen update, but it’s one that Wolfenstein 3D used too so let’s give it a pass. The walls only have horizontal lines for textures, but it’s not like the original’s were that worthy either. It’s certainly not 60 fps, it’s maybe 15 or 12, but it’s certainly still impressive to see those walls glide by smoothly on a machine with a 1 mHz 6502-class chip.

Since the game uses PETSCII for the maze, this engine can even work on the Commodore’s first home computer, the PET, whose character set was fixed in unchangeable mask ROM. Here’s video of the first-person shooter they made for the PET (3 minutes). I think the graphics, while many would call them primitive, have a fun style to them:

Both the PET game, Escape From PETSCII Castle, and the tech demo of the work-in-progress C64 version can be downloaded from itch.io, to play around with in the emulator of your choice.

Nintendo Indie World 8/7/25

Our own Josh Bycer isn’t the only source of indie recap videos out there. Nintendo themselves released a new Indie World video yesterday with a number of new games listed, as well as an upcoming free update to one of my favorites, Little Kitty Big City. (I interviewed its creators for Game Developer some months ago!) Here’s the video (15 minutes):

The biggest surprise is, at the end, the news that both Caves of Qud and UFO 50 are coming to the Switch platforms at last! UFO 50 is out now! Please forgive my breach of decorum when I say, yippie, and besides that, wahoo. Thank you. (sips tea)

HunterR: Reading A Sign 43x Makes Your Axe Extra Durable In Animal Crossing

It is as the title says. It’s been discovered that, in the original Animal Crossing on Gamecube, if you read the village Message Board 43 times, it’ll reset your axe’s durability. But there are more consequences than just that! It’s explained in HunterR’s 10-minute video.

So, why does this happen? The precise details are in the video, but here’s a summary.

When you’re holding an axe, the game is not discriminating about which A button presses cause it to degrade—or, rather, its damage value will increase. If you hit objects other than trees, it’ll pick up three times as many damage points. But you can do other things that use the A button, and if an axe is in hand, its also take on damage.

There are actually eight different axe objects, that are switched between when eight points of damage is taken. (The more damaged versions have slightly different appearances.) The damage counter isn’t actually tied to the axe: it’s a separate count that’s counts for all axes. (Meaning, if you have multiple axes and try to spread out the wear between them, technically only the axe that you’re holding when you take the eighth damage point really gets harmed.) The value is also not saved when you save the game; if you hit trees seven times with an axe, then save and reload, the wear will be forgotten.

If you do something with the A button while the axe is in hand, but it doesn’t strike an object that might cause it to break, it’ll keep gaining damage. If you’re facing an object that isn’t a tree, like the Message Board sign, it’ll even gain three as much. But the check that switches to the next-most-damaged axe type only happens when the axe actually hits something. (It also happens if you open doors with an axe in hand!)

The counter to check if the axe should take wear is a single byte interpreted as a signed value, so, if you can get it to 128 or higher, the high bit is set, so the C library code used for the game’s comparisons will consider it to be a negative number. 43 x 3 is 129, or -126. You can then keep using the axe over and over until the number turns positive again, at 0, or until you save the game and reset the counter anyway.

By the way, to bring this to the realm of things I have personal knowledge of… Animal Crossing New Horizons doesn’t have a similar bug (as far as I know at least), but there is a different unexpected aspect of its tool-breaking. If a timer is running, like from hitting a rock for Bells or from participating in a round of a fishing or bug-catching tournament, tools won’t break until the timer expires, even if they exceed their durability limit. It’ll count the damage, but it won’t actually break the tool until the timer runs out. If you don’t use the tool in a way that might cause it to break, then it won’t, not until you next use it. If you’ve kept track of how much wear it’s taken, you can then sell it at Nooks and get some of the value for it.

Digital Eel Bandcamp Albums

Founder of Digital Eel and friend of the blog Rich Carlson sent word that they’ve released a number of albums collecting their music on Bandcamp! I’m not much of a music-knower, admittedly, but the songs on their games always stuck in my ear, and I think there’s a good chance they’ll stick in yours too!

The Midway Sessions: I’m fondly recalling MIDI, the dawn of digital audio, the Macintosh, Windows for Workgroups, the Pentium, DAT, Mark of the Unicorn, Windows 95, the Proteus, Sound Canvas, Cakewalk, the Roland D-50, the Kurzweil K2000, the Roland RAP-10…. It was an astonishing, revved-up and magical era in music; we were spoiled with innovations. And this was when, at a modest studio in an industrial park in Midway near St. Paul, Minnesota, the music-making period that I call the Midway Sessions occurred.

The Midway Sessions: Short Stack EP: These three tunes were recorded at the same time and place, and were rescued, last minute, just after the Midway Sessions compilation was released. Note that most of the music on the Midway Sessions album as well this EP was created for commercial purposes but, for one reason or another, were never used.

Hidden Cookies: This final installment of the “Midway Sessions” features a mix of newly uncovered tracks and original versions, rescued from the vault, dusted off and revived using old tyme tools and methods.

Sea of Stars: The Symphonic Score (Evelyn Sykes): In 2015, indie game makers Digital Eel (including yours truly) decided they (we) wanted fancy theme music, like the Star Trek TOS theme, for their (our) third space game, Infinite Space III: Sea of Stars. Enter UK composer, Evelyn Sykes, an instrumentalist, recordist and creator of music for radio dramas, videos, films, and live performances.

The Weird Musical World of Digital Eel: This compilation offers a wholly unique and eclectic mix of musical and music-like material from nearly 15 years of Digital Eel games. […] These “suites” feature a diverse collection of sounds and mayhem from Plasmaworm, Dr. Blob’s Organism, Big Box of Blox, Weird Worlds: Return to Infinite Space, Brainpipe: A Plunge to Unhumanity, Data Jammers: FastForward, and Infinite Space III: Sea of Stars.

Plasmaworm: This album contains the level music from the 2001 Cheapass Games/Digital Eel computer game, Plasmaworm. […] Out of context (and in, for that matter) many of these pieces–extended loops really–are rather hypnotic and trancy, so get comfy and enjoy!

Midnight Moonlight (First Flight)

LowSpecGamer on “The First LowSpec” Processor

By the “first LowSpec” processor it means the 6502. This video is a retrospective on its origins (27 minutes). With its manga-styled illustrations of key players interspersed by stock footage and the occasional meme, It’s not my favorite style for a YouTube doc (those would be the Dan Olson/Folding Ideas style), but it’s not a bad introduction?