CD-ROM Compilation Search Engine

Set Side B often verges into adjacent tech areas, especially for older software, especially when those areas happen to contain a lot of games. This is just a note that the always-great Jason Scott of the Internet Archive has a great post about Discmaster, which is hosted at the IA, and is a search engine into the contents of a bunch of old CD-ROM file compilations. Many of these were shareware collections put out by companies like Walnut Creek, intended in the age immediately before the internet to put out collections of shareware, but sometimes bundling freeware, or libre-free software.

The error, presented in class Web Gray and Times New-Roman.

Some of these files are very hard to find on the wider internet. When I visited Discmaster myself it was down for an upgrade (it’s a bad sign when your filesystem runs out of inodes) but I look forward to scouring its archives often in the future!

DiscMaster (Internet Archive)

Random Pac

Pac-Man is rightly heralded as a classic, not just the best-selling arcade game of all time at over 100,000 units (even more when you consider every Ms. Pac-Man arcade machine has the elements of a Pac-Man machine inside it), but it’s solidly well-designed. All of its elements come together to produce a solid test of skill and strategy.

It’s not perfect though. The game possesses two major flaws that, in retrospect, made it a little less interesting to play now. The ghosts behave deterministically when they’re not vulnerable, meaning that patterns work against them and turning the game into a test of memorization and execution. And, every level’s maze is the same, which gets kind of monotonous. Tellingly, while Pac-Man was extremely popular for its time, its GCC-made follow-up Ms. Pac-Man had a much longer life in arcades, and it addressed both of these issues with the first game: ghost movement at the beginning of boards is randomized, and it had four mazes, instead of the original’s one.

Random Pac is a fan game, available on itch.io and made by Luca Carminati, that also solves the issues, and a bit more simply: it randomizes the maze for each level. This one change makes the game immune to memorization, and makes each level a kind of situational puzzle, as the player must use the maze layout as best they can to avoid being caught.

It’s not the only change made, but the others are, for the most part, in line with that one. Since the game is much less likely to extend endlessly, extra lives are awarded multiple times, first at 10K then every 50K points, instead of the once, by default, of the original. There are bonus levels in place of the intermissions that can be worth a considerable number of points.

The fruit bonus items that showed up twice during each level of the original game may now appear up to four times per level, which can be worth the majority of the player’s score if they can get up to the 5,000-point Key boards. Getting all four Keys is 20,000 points, which is two-fifths the way to an extra life by itself.

The game increases in difficulty a bit more slowly than classic Pac-Man. I’ve been to the 7th Key level; in the original, on the the 5th Key board, and from the 7th Key on, ghosts no longer become vulnerable when eating an Energizer (a.k.a., a power pill). Vulnerable times kept decreasing in my 7th Key game, but hadn’t cut out completely yet.

Another difference, and I’ll be going into some deep Pac-Man internals here. In classic Pac-Man, ghosts have three states, Scatter, Chase and Vulnerable. If Pac-Man doesn’t eat an Energizer, ghosts periodically enter Scatter state for a few seconds, then change back to Chase. You can tell when ghosts change between these states because they all reverse direction.

In most boards there are two Scatter periods, and the timers, both for entering Chase and Scatter, freeze while an Energizer is active on any ghost. In Random Pac, the timers don’t freeze; Chase and Scatter periods continue even when the ghosts are vulnerable. This makes Energizer timing very useful for decreasing the amount of danger you face: a short way into a Chase period, eat an Energizer and disrupt their pursuit! By the time they catch back up to you after it wears off they may be time for them to Scatter!

In place of intermissions there’s a bonus round that asks you to eat as many randomly moving targets as you can in 35 seconds

Ghost AI seems to be mostly the same, although unlike classic Pac-Man, each ghost doesn’t seem to have a set “home” location. They don’t intend to chase Pac-Man during Scatter, but instead fixate elsewhere on the board. The Orange Ghost’s Chase AI also makes use of its home location, making its behavior much less predictable, although it’s still easily the least threatening ghost.

Random Pac was Luca Carminati‘s first classic game remake. Since then, they’ve made many others, including Tutankham Returns, which we’ve linked to before. They’re terrific!

Random Pac (itch.io, $0)

Romhack Thursday: The Legend of Zelda Automap Plus

On Romhack Thursdays, we bring you interesting finds from the world of game modifications.

Last month we brought you Metroid + Saving, a passable attempt to make a classic game, that has a number of quirks related to it being a fairly early NES game, less frustrating to newer (younger) players. This week’s hack is another with that theme, snarfblam’s hack of NES The Legend of Zelda that adds a working automap to the game.

Like Metroid, finding your way around 128 screens of Hyrule is challenging, even if the game isn’t as large as, say, the Gameboy Link’s Awakening, which had 256 screens. But the limited number of tiles also decreases each screen’s visual distinctiveness, especially up in the mountainous regions.

The map appears in the upper-left corner of the overworld screens, which you can see in these screenshots. A special touch is that the map isn’t revealed all at the start but fills in as the player explores, and doesn’t consist of blank squares to show explored areas but even shows some detail. Places where screens are blocked internally are shown on the map, which is a great aid to both navigation and memory.

It immediately becomes evident that, like with Metroid + Saving’s mapping feature, it’s how the game should have been written originally, and probably would have been if design trends had evolved just a bit further at the time.

There are a couple of other graphical niceties in the hack, like health being shown in the life meter in 1/8th-heart increments. But overall the map is the main attraction here. It’s such a fundamental change to the game that the much more involved hack Zelda Redux uses it too. It is also worth trying out, if you still find the original Legend of Zelda to be a bit too hardcore for you.

Zelda Automap Plus, by snarfblam (romhacking.net)

Josh’s Best of 2022 Awards — Best Executed Games

I’ve created a new category to give more spotlights to games. For this one, I’m honoring the games that didn’t blow up as a revolutionary take on the genre but were all around great games that did what they set out to do.

Honorable Mention: Drainus

Drainus was a great shmup that was released to little fanfare as the latest game from Team Ladybug. I really like the pixel art and the ability to modify your ship and shots on the fly. What keeps it from scoring higher is that while it was a good game, it didn’t really stick around as a memorable one. I would love for someone to take this concept of ship modification further in a future game.

#3: Shadows over Loathing

The latest game from the king of dry wit and humor is Shadows over Loathing. We’re trading the wild west and horse-related puns for Lovecraftian mysteries…and puns. This not-so-spooky sequel to West continues the series’ design of puzzle, adventure, and wacky RPG hijinks. At this point, you are either all in or all out for a Loathing game, and I enjoyed my time slinging cheese at fish people.

#2: Infernax

What if we take a traditional 2D action-adventure and cover it with all the blood? We get Infernax. This challenging modern retro game had some of the most shocking NES-styled cutscene around with meat on the bone in the form of multiple endings. As with the other games on this list, while the game doesn’t stand out among the modern retro classics I’ve played, it’s still a solid game for action fans.

#1: Swordship

Swordship is one of those games that I feel deserves more praise than what it has gotten. A smartly designed arcade-style game. The hook is that while you must dodge and fight against drones trying to stop you from delivering contraband, you are never able to directly attack. You need to maneuver around to get enemies to take out each other.

Zelda Podcasts

Ryan Veeder has made (and continues to make) podcasts about playing various Zelda games.

The Hero’s Path is about replaying Breath of the Wild. 54 episodes, about 42 hours in total. Here’s the RSS link.

The Complete Guide to Koholint was his first Zelda podcast, and it discusses each of the 256 overworld screens of Link’s Awakening. 256(!) episodes. They vary in length between one minute and 47, with most being just a few minutes long. RSS.

The Complete Guide to Termina covers various elements of Majora’s Mask. It’s at 21 episodes, and is ongoing. RSS.

Apple Kracker’s Guide

Back in the days of the Apple II, there was a thriving scene in trading copies of commercial software. Means to prevent this, through copy protection schemes, were just as rampant, as publishers sought to protect their work from those who would use it without paying. The process of figuring out a disk’s copy protection and making it so it could be copied and run by others was called cracking, or sometimes, kracking.

Cracking was, and still is, a black art. There are many ways to protect a disk from being copied, and just as many to deprotect that data. Some disks remain uncracked to this day. It is the work of Apple II cracker 4am (Mastodon) to try to unlock the data on these rapidly aging pieces of media so they can be preserved. (On 4am, jump to the bottom.)

The Apple II Kracker’s Guide seems to have been written by a anonymous user known as The Disk Jockey. It’s a good overview of basic forms of copy protection and ways to defeat them. A copy is at the Internet Archive, but I encountered it in the collection at bitsavers.org, here. It’s like candy to someone of the right frame of mind. Like me!

Aside: If the name 4am sounds familiar, and you find yourself thinking “Didn’t he used to be on Twitter?” He was. He’s not anymore. This happened several months before the Age of Musk. Twitter’s automated processes decided somehow that a video he tweeted of Apple II software Super Print booting was revenge porn and banned him, even rejecting an appeal. He moved to Mastodon. Now that Twitter is missing half of its employees, situations like this will probably become more common. 4am is not the subject of this post, but if you want to read more about Apple II protection and its breaking, you should follow him on Mastodon. He has about one tenth of the followers there that he had on Twitter, which is a shame.

A Non-Invasive Gameboy HDMI Adaptor

This one’s crazy. The Gameboy does not have external video output. In order to get its display to appear on a screen other than its built in LCD dox matrix, you absolutely have to at least crack open the case. Don’t you?

Well, actually, yes, if you always want a perfect image. Sebastian Staacks (an awesome name) figured out a way to do it that mostly works. It’s a cartridge that goes into the Gameboy, that itself has a slot into which you plug the cartridge that you wish to play. Simple, right?

No, no, wait. There’s a problem. The Gameboy doesn’t expose its video through the cartridge port. There is no pin leading out providing a video signal that can be converted for display. There’s no way this could work!

Well, there is a way, kind of. The device contains a Raspberry Pi that runs its own Gameboy emulator, that it tries to keep synced with the version running on physical hardware. It does this by watching bus activity exposed to it through the cartridge port!

But while there’s a lot that it can do with this information, there’s also a lot it can’t see. It can’t, for example, see directly what buttons are being pressed. However, by watching how the cartridge reads the cart ROM, it can deduce what inputs were pressed.

The process is not perfect. While it can spy some memory accesses, a few things escape its inspection. While it can recreate the layout of the starting blocks in Tetris Game B, it can’t catch their randomized appearances. Also, while a Raspberry Pi is much faster than a Gameboy, it’s not fast enough to carry out its display in the same frame as the main unit, so it lags behind a couple of frames. Still though, it’s a very clever idea, and it’s amazing that it works as well as it does!

Sebastian made a Youtube video explaining and showing off his work, here. (It’s the same one embedded above.)

There Oughta Be A Game Boy Capture Cartridge