Romhack Thursday: About Parallel Launcher

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

This week’s find isn’t a romhack specifically, but a way of playing them, both in patching and running them in an emulator, in a fairly automated way, at least if the hack you seek to play is for an N64 game, and especially if that game is Super Mario 64. It’s Parallel Launcher.

Parallel Launcher is an all-in-one solution to running N64 hacks. When you first run it, it’ll install a small Retroarch binary for its own use and set it up for exclusively for a couple of N64 emulators. You can supply the path to a folder of N64 roms and BPS patches, and it’ll try to apply patches to the roms on the fly when you try to play them.

It also has integration with the website romhacking.com, which is not connected with the hack news site romhacking.net or its follow-up romhack.ing. I’m not sure what the full extent of this integration entails, but if you have Parallel Launcher and a properly set up SM64 rom, and click on a Play Now link on a hack’s page on romhacking.com, it’ll mostly-automatically download the patch, patch the rom, and run it for you, without you having to do anything else other than allow the link to be passed from your browser to Parallel Launcher. There’s even some integration to track what stars you’ve found.

Once set up, Parallel Launcher works well! One of the biggest obstacle to playing romhacks, after sourcing the rom images themselves, is the effort and focus needed to generate them. You obtain the rom, then the patch, then the utility to do the patching. Then you run the utility, supply the location of the rom and the patch, and then roughly half the time the patching fails. If you’re using a format like BPS you’ll be told, and will then have to get the right version of the rom file or figure out how to repair yours. If you’re not using BPS or a similar kind of patch, you won’t find out until you try to run the game.

None of these steps is very hard to understand, but it’s a big hassle. While Parallel Launcher won’t help you find versions of roms, it’ll do just about everything else for you. In the way of emulators and emulation tools, it’s available for most current and popular desktop platforms. It’s a useful tool for a hack player’s box.

Foone Examines The Code of Carmen Sandiego

Foone! Everyone’s favorite examiner of old game code! She’s been looking at the Enhanced DOS Port of Where In The World is Carmen Sandiego! The surplus of exclamation points is how you know I’m not an “AI!” I use the scare quotes because it’s not “Artificial Intelligence” at all! Introduction and silly digression concluded! Opening paragraph complete!

Foone began her journey in search of the elusive mastermind back at the start of the year, and the thread is still going on. One of the early hacks she made is putting herself into the game as one of the criminals. I think this screen isn’t faked. She made and maintains the Death Generator website, so it wouldn’t even be particularly hard for her I think.

Some notes from the very long thread, which is still going:

  • Nouns used as verbs encountered: gibberish, chunk.
  • The game has support for changing the Acme Detective Agency image depending on different seasons of the year.
  • There is a handheld version of Where In The World Is Carmen Sandiego, which is actually a small DOS emulator, here’s the back of its box:

And here’s all of the people you can talk to in the DOS version:

I love this kind of cartoon art style, you (okay, I) don’t see it much anymore, now everything wants to look like anime.
  • The 1985 DOS version (so, not the one we’ve been following) has an invert-Y function for the joystick, in case you want to use a flight yoke controller.
  • A reference is made a post on Raymond Chen’s (awesome) Old New Thing blog, about a DOS game running under Windows 95 that crashed because it saw too much memory. It handled memory by allocating and allocating and expecting to be told “no” eventually. Windows 95 would keep giving it memory, going to virtual memory, from the swapfile. The program didn’t expect to keep being given more memory, and eventually it overflowed the array it used to keep track of it all. This seems to be the Old New Thing post.
  • On the world changing beneath the game: the frowned-upon word for Romani (beginning with ‘G’) is patched, the Brazilian currency name was wrong even when the game was released, lots of changed flags, the fall of the Soviet Union changed lots of things.

Behind The Code Examines the Mario 3 Revision

Displaced Gamers and their various technical dives, including the Behind the Code series, are favorites around here, and we’ve linked to them many times before. They take a lot of time with their content, but they always do a good job, much better than the average Youtube channel of whatever type, and it’s always something interesting to learn about. They have a new video up now (22 minutes) that examines the differences between the original and revised versions of Super Mario Bros 3, released a few months apart back in 1990.

Most of the differences were superficial: they changed the cover art slightly and added a ® symbol replacing a ™ on the Official Nintendo Seal. On the rom itself, they changed the names of the lands in the ending, from a flavorful set of localized names to just Adjective Land eight times in a row.

But there were other changes, and one of them was a substantial difference in the code, one that required moving much of it around by seven bytes to make room for it.

What was it? In brief, there’s one level in the game, 7-3, that uses a vertical-only scroll instead of a horizontal or multi-directional scroll, and it writes the images of the cards in the status window to the wrong place. So in the original release, on that one level, the card images are mysteriously blank during the vertical section.

That was fixed in the revision, which meant a check for what kind of scroll the level was using, and which changed the pointer to where to write them. Code needs space, and that space came out of a section of unused bytes at the end of the rom, with all the code between the change and that section shifted to account for it. If you had a Game Genie code that relied on data in those memory locations, too bad! You’ll need a modified version of that code.

Here’s the full low-down, which goes into much greater detail:

Sundry Sunday: Cursed Images and Game Music

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

I think I’ve posted some of these before, but I don’t think I’ve done all of them, and I’m cleaning some links out of my list. So let’s take another look.

These are from a six-or-so year old meme that began with putting creepy (but not too creepy) music to battle music from perennial retro JRG favorite Earthbound. Earthbound had lots of weird and crazy enemies, so they fit fairly well. But they’re not all Earthbound collections, just so’s you knows.

I’ve got quite a few of these links. I could spread them across weeks, but I’ve got other posts to make, so I’ll just unload them all at once. Watch as many as you can stand.

First, the Earthbound collections. 3 minutes:

8 minutes:

Now, 9 minutes:

They’re getting longer in length. 12 minutes, if you’re getting tired of them I can’t say that I blame you:

This one’s 16 minutes:

And the mother (heh) of all collections, 51 minutes, using music from all three games:

The meme mutated a bit into science diagrams that look like shitposts, and with other game music. This one’s Miitopia (8 minutes):

And, with Splatoon music (11 minutes):

Last one! With Toby Fox music (13 minutes), you know, Undertale and Deltarune and stuff:

I’m glad to get those out of the list! Something different next time, whew.

16-Player Faceball 2000

Making the rounds has been a two hour Youtuber doc by Stop Skeletons Fro Fighting about the construction of a 16-player Faceball 2000 game. Here is the video, but don’t feel you have to watch it yet:

The video refers to a shorter video (19 minutes) by Zarithya, who solved some particular technical issues that made the 16-player game possible. If you’re in the mood for the full journey watch the above video; if you want less of your day consumed, try this one:

The gist: Faceball 2000 was a console (and portable) recreation of an Atari ST game called Midi Maze. Midi Maze was probably the first true FPS. Faceball 2000 got releases for multiple platforms, but the first, and most impressive technically, is probably the Gameboy version.

Developer Xanth Software F/X had a 16-player version of Gameboy Faceball working internally with special cables. Nintendo wanted them to support their new four-player adapter, but the mode that allowed for 16 players with the rigged cables was left in (it still works with an ordinary Gameboy link cable, jut limited to two players), although the devs noted in a 2005 interview that they had only managed to test it with up to 10 players.

Zarithya managed to figure out a way to play it with higher player counts with minimal extra hardware, and also discovered, and fixed, a bug that made 16-player games impossible with the code as released. It’s a pretty accessible explanation, you can probably understand it without much of a technical background.

That’s the main point; for the full story, the videos above are available. Enjoy, if you have the time!

Capcom’s Weird Save Data Checksum System In GBA Zeldas

Skawo reports on an odd bug in both the Capcom-made Gameboy Advance releases of Zelda games A Link to the Past and The Minish Cap. It’s explained, as is frequently the fashion, in a ten minute Youtube video, here:

The video’s a bit padded with injokes and gimmicks, but beneath it all the bug is really interesting. Many games have checks to ensure the validity of save data, but the developers of both games implemented theirs in an odd way, calculating a 16-bit checksum for the file data twice, once by adding and once by subtracting, saving them both, and them when the File Select screen is setting up adding them to each other and checking for zero with the negative bit set (the high-order bit). It usually works, except when the checksum is exactly zero, which happens one in 65,536 times.

When that occurs, the total will be zero without the negative sign, which will be detected falsely as corrupted save data. As luck would have it, naming your character “God” in the European version of GBA Link to the Past will trigger the bug, and make it so you can’t create the file. But the 1-in-65536 chance comes up every time you save and exit. (The file check is made upon loading the File Select screen, so just saving with a checksum of 0 won’t trigger it; if the player saves later in the same play session, non-zero checksums will be written over the bad ones.)

1-in-65536 is a rare event, but it’s not extremely rare, and it’s absolutely the case that over the years many players have had their games declared corrupted and made unloadable. If a player saves their game, say, 20 times through a playthrough, then that’s about a 1-in-3250 chance of losing all their progress, and both games sold much more than 3,250 copies.

Skawo demonstrates the bug in action in The Minish Cap here, in the peocess responding to some naysayers (10 minutes):

John Calhoun’s Lost Mac Games

While the original Mac isn’t often considered a top gaming platform, there were neverthless some very nice games for it. One of those was John Calhoun’s classic shareware title Glider. (Glider can be played on Infinite Mac’s emulation of System 6—look in the Games folder in the Infinite Mac disk on the Desktop. The source code is on GitHub.)

Glider 4.0 (B&W mode)

Calhoun had a lot of fun just making prototypes for new Mac games, and so while he didn’t release many there are a number of half-made ones that he’s now put up in their own GitHub repository. Elite-inspired space exploration games, a computer version of the classic Black Box puzzle, a computer aquarium and other ideas are among the presented experiments.

The title of the repo is Unfinished Tales Vol. 1, and there’s already a Volume 2. There really has never been a game playing or development platform like the classic Macintoshes, it’s a window into a lost era of both computing and entertainment. Cameron Talley on Youtube made a 13 minute examination of some of their contents. This is it:

Recovered: Furnitures the Great Brown Oaf

It’s April 1st again, and I’ve taken to doing a change of pace post on this day every year. Two years ago, it was a plea for returning to the old days of the web, or at least the good, rose-colored parts of it. Last year, well, I forgot last year.

I want to return to the subject of the OldWeb. It is certainly true that it was fairly exclusionary, the home of a lot of sexism, and a bit of racism (although, I think, not as much as recently, at least not overtly). But there was also the feeling that, if you just went out and created something silly and wonderful, that it would find its audience, somehow.

If you go out looking for lists of old websites, you might happen upon this one. Don’t follow it yet: it uses a word that it probably shouldn’t, and you shouldn’t take this link as an endorsement for that. The reason I link it is that it’s a big long list of fun websites.

I checked through the list, and something like 95%, 19-in-20, of them are broken links, completely different sites, or squatted domain names. There are a handful that survive, but they’re in the minority. So it goes. Someone who cares could possibly hunt up old archived versions from out of the mighty Wayback Machine.

Many of the links, well, not many people will weep for them, but there was one site in particular of which I rued the passing: the homepage of Furnitures, the Great Brown Oaf. This guy:

Hey kids, it’s Furnitures! The Spongebob who never was!

Have you ever seen such a charming drawing? Don’t answer that: you probably have. But I think there’s a lot to like for this creature-thing. His coarse fur, his too-wide smile, and his vacant expression.

Furnitures is the star of a children’s show, called Furnitures the Great Brown Oaf. It is a show that doesn’t exist, has never existed, and unless the nature of the world changes substantially will probably never exist. Despite these facts, a person called Henry Stokes created a fansite for it.

Somewhere Henry called the show “slightly demented,” and that fits. In its backstory, an “anonymous philanthropist” found Furnitures (actually a sea mammal) in his travels, and was so charmed by it that he captured it and dragooned it into hosting a kids’ show, despite the fact that Furnitures is only vaguely aware of its surroundings.

Furnitures was last seen on the living internet in 2009. But… on the site was an email address for its creator. And I tried emailing that address. And surprisingly, I got a response. Henry Stokes is not only still with us but he answers his email!

I told him of my fond memories of the (very weird) website, and asked if I could revive it. And he said yes!

So I have. I have dredged up the files for the fake-fansite for fake-show Furnitures, the Great Brown Oaf, removed the edits made by the Internet Archive, further modified them to (slightly) adhere to modern web practices, and put it all up on Neocities, a wonderful free host for silly little web projects like this one, in the mode of late, lamented Geocities.

If you want to have a look, just go here! You might enjoy it for a few minutes! Maybe the obsession will, like a contagious disease, leap from me to you, and the legend of Furnitures will live on! Someday, when Henry Stokes and I are gone, and Neocities has shut down, as it someday must, maybe one of you will remember this site, and revive it again. It’s already the first hit on Google for “Furnitures the Great Brown Oaf,” whereas before it was mostly sites selling housewares.

If we work together like this, Furnitures the Oaf may have a lifetime longer than any of us. This Great creature will grow and, have a reality greater than any human being, which would be an awesome thing for a totally made up being to be.

So please, follow my link, and let the invented Oaf and his friends live in your brain, as it does mine. Despite his size, he doesn’t take up much room.

Yetso the Fiend, a pirate, who has a baboon for a heart. (The character does, not the actor who plays him.)

Recovery of Unreleased NES versions of Sensible Soccer and Populous

They’re not quite romhacks today, in fact they’re both nearly fully developed games that just never saw release. They’re also both ports of UK-made Amiga software of some renown. Sensible Soccer is a legendary soccer simulation that still sees the occasional new release, and Populous was the original “God game,” helmed by Peter Molyneux, where players take the role of a god trying to lead their followers to conquer a series of hundreds of worlds.

NES Sensible Soccer, screenshot from Games That Weren’t

Both were recovered by the website Games That Weren’t. Here’s their page for Sensible Soccer, and here’s the page on Populous. Both pages feature rom images that can be downloaded and played in an emulator.

Sensible Soccer’s claim to fame is a mixture of statistical depth and arcade-like gameplay that might bring players to mind of Tecmo Bowl. Wikipedia’s page on it, in fact, suggests that a Tecmo arcade game may have been an inspiration. Populous did see console releases for both the Mega Drive/Genesis and the SNES. The SNES version included content from an expansion pack, and has a number of additional terrains, as well as over a thousand levels to play. How did it do it? It created its maps procedural, natch, and you got to skip a number of levels depending on how well you did on the last map.

NES Populous, screenshot from Games That Weren’t

Looking at the tiny view onto the game world the NES version allows, it isn’t surprising to me that it never saw release. Compare to a screen from the Amiga version (screenshot from Wikipedia):

As can be seen, even the Amiga version only shows a small portion of the playfield, but it still gives you more to see than the NES version, although I think the number of visible tiles, 64, is in fact the same. The NES’s color limitations are also a problem, and what you don’t see in the screenshot is that moving the display around isn’t instant. The NES can’t change many background tiles in a single frame without blanking the screen, so what Populous does, on that platform, is do an animated vertical wipe when the display scrolls. It takes about half a second to change views, so when moving tile by tile across a large area the delays accumulate and slow down the game. That may also be why it doesn’t use larger tiles, it’d compound the delay in scrolling the viewport.

Despite that though, it’s great to see the game finally greet the world after so long, and even though it’s rumored to have a couple of bugs, Sensible Soccer looks like it might be a keeper.

Hardcore Gaming 101 on Agent USA

There’s a whole genre of computer game that’s almost extinct these days, the inventive educational semi-simulation. Some examples include the beloved M.U.L.E. and Where in the World is Carmen Sandiego, and another one is Scholastic and Tom Snyder Productions’ Agent USA. Chris Gallagher on Hardcore Gaming 101 tells us all about it. (Note about HG101: it seems only http links work there at the moment. Visiting the site right now over https brings up an error.)

The educational aspect, as with the best of these games, is not the foremost aspect of gameplay, it teaches by having the taught information be useful to the gameplay rather than its entire point. You’re Agent USA, a white hat with legs trenchcoat, and you’re trying to save the United States from the “FuzzBomb,” a device that spreads a kind of zombieism by contact with people (black hats with legs).

Your only weapon, and defense, against the “FuzzBodies” are crystals. You can drop them on the ground and, while they’re there, they’ll slowly grow, making more crystals around them. Bystanders love to pick crystals up off the ground, so you have to keep pushing them away, but FuzzBodies that touch crystals turn back to normal.

Winning is accomplished by collecting 100 crystals and touching the FuzzBomb, but you have to avoid touching FuzzBodies as you approach it. If you get touched, you lose half of your crystals, and if you run out you get Fuzzed youself, and are forced to watch your character walk around randomly until it happens to touch a crystal, which could be nearly immediate or take quite a long time.

The educational aspects come from geography, knowing the names of towns to visit, and learning state capitals, which have a special significance to the game. Capitals are the only cities with info booths, which supply various pieces of info as well as the location of the FuzzBomb. There’s also an aspect of time management: trains depart on strict schedules, and you may end up having to wait a bit after getting your ticket.

I have vague memories of reading about Agent USA when it was new, and always wondered about how it worked. Another game from the same publisher and developer, and from around the same time, was In Search Of The Most Amazing Thing.

Finishing Super Mario 2 USA’s First World But Without Beating Bosses

It’s been a difficult time here for the moment, so I’m doing low-effort posts at the moment. I have ideas for several more long-form posts, but if the posts be long, so is the time to write them properly. So, in the meantime, here’s yet another Youtube video on a random piece of video game hyper-esoterica.

It’s a good one this time though! A 25-minute video on using all kinds of glitches and tricks to avoid beating bosses in a game where every level ends with a boss!

Super Mario 2, USA version, isn’t a game that I don’t think of when it comes to glitches, and I’d wager it doesn’t for many of you either, so it’s a bit reassuring to know that it’s got as many weird ways to bend the game’s rules as do games like Super Mario Bros. and Ocarina of Time. The video’s from Retro Game Mechanics Explained, which, along with Displaced Gamers, are among my favorite channels for digging deeply into the actually assembly code of games, and figuring out exactly why they do, or don’t do, what they could/should. Along the way you’ll get a basic understanding of how SMB2USA handles connections between areas.

If you’re as obsessed with understanding how these games were put together as I am, it’ll be like sugar candy to you! If you aren’t, well, maybe you’ll find it interesting anyway.

The Basics of Sonic Physics

The (very most barest) basics are explained in this five-minute video from Game Facts Special:

The (impossibly detailed) specifics are on Sonic Retro. Warning: you have no idea.

Can I summarize them briefly? Not really, but here’s the basics. The tiles link to a list of heights for that tile. If Sonic is traveling vertically up a wall, then the heights count as widths. If upside-down, then the inverse of the tile’s heights are used.

Every frame, Sonic emits four or five “sensors,” basically raycasts, around his feet and head. Those indicate where he’s standing and where the ceiling is. If he’s traveling vertically the rays are rotated 90 degrees in the proper direction, and for an upside-down Sonic they’re rotated 180 degrees. Additionally, each tile has a record of what its angle is, and that’s used for things like how it affects speed and what angle Sonic should jump at.

When going around a loop, Sonic’s sensors remain as normal until up past 45 degrees up the first ramp. Then his sensors rotate, and he’s now going up. 135 degrees around the loop, it rotates again, and again at 225 degrees, and one more time at 315 degrees. The same height values get used for each slope, just used for different purposes. It’s surprising it works as well as it does, really.