If you spend enough time on certain corners of YouTube there’s a good chance you’ve run into “they didn’t have to go this hard” videos where people highlight the kinds of songs they’ve found in obscure places they allege had no reason to be as good as they are. And, should you land on the video game sub-niche of this particular niche, there’s a very good…
As I’ve mentioned in a previous post , I’ve been working on a fan translation for a Sega Saturn game called Magic School Lunar! As I get closer to the end of the process I’ve been doing more playtesting, but since I’m only testing the script at this point I found myself wanting to cut out the parts of the game I don’t really need to be testing right now. This game has…
This is a story from the old days before we had YouTube or the bandwidth to stream audio. Back then, if you wanted to listen to music from a video game, maybe you could track down an official soundtrack CD—or, if you were a mega nerd like me, you’d download ripped chiptunes and their special players. These files are basically cut-down versions of the original game data, containing the…
People who have been following me on social media may know that, for the past few years, I’ve been working on a fan translation project for a Sega Saturn RPG called Magic School Lunar . With technical and initial playtesting work wrapping up, that project is finally entering the late phases and I’m now reaching a point where I’m going to be doing a lot of rewriting of the English…
Flexing the brevity muscle today with a short post to set the record straight on a weird video game history quirk I spotted online. For reasons that aren’t important 1 , I was looking up an extremely obscure 90s PC game called Team 47 GoMan . Absolutely no one has heard of this game before, which doesn’t seem to be fondly (or at all) remembered, which explains why there wasn’t…
I’m happy to announce that I’ve been granted permission to resume development on dist/cargo-dist , the easy-to-use binary packaging and distribution tool. As someone who uses dist a lot in my own projects, I’ve been hoping to be able to keep the project going and I hope this will be useful for other people as well. I’ve just released version 0.28.1 , a bugfix release based…
Every now and then, I run into a bug so mystifying on its face I know it’s going to be a journey just from the error message. This is one of those stories. I work at a Python shop right now, and we were upgrading an app to Django 5. There are a few breaking changes, but nothing too unexpected or out of the ordinary. Everything was working great in our development environment, but once we…
I’ve written a bit recently about CD-ROM preservation and some of the more niche, easily-missed parts of the format. I’ve covered the formats themselves, but I felt it might help to provide some concrete examples of the kind of data that can easily be missed and that might not get backed up. As I mentioned in a previous post , many CD disc image formats don’t include the…
I’m releasing a tool I wrote for myself: cue2ccd , a commandline tool to convert CD-ROM disc images from the BIN/CUE format to the CloneCD format. For as many disc image conversion tools as there are out there, I hadn’t found anything open-source or cross-platform that can handle going between these two specific formats—so I wrote it myself. This is a very niche tool, but it…
(This was originally posted on a social media site; I’ve revised and updated it for my blog.) The other day a friend asked me a pretty interesting question: what happened to all those companies who made those Japanese computer platforms that were never released outside Japan? I thought it’d be worth expanding that answer into a full-size post. A quick introduction: the players…
I’ve seen a lot of professional archivists who use flux disc image archiving techniques for their collections—a technique in which a specialized floppy controller captures the raw signal coming from the floppy drive so that it can be preserved and decoded in software. I haven’t, however, seen many archivists using enthusiast-developed low-level reading techniques for CD-ROM.…
I’ve used a lot of tools over the years, which means I’ve seen a lot of tools hit a plateau. That’s not always a problem; sometimes something is just “done” and won’t need any changes. Often, though, it’s a sign of what’s coming. Every now and then, something will pull back out of it and start improving again, but it’s often an early sign of…
The short, no-clickbait version: to switch the Mac version of Puyo Puyo Fever to English, edit ~/Library/Preferences/PuyoPuyo Fever/PUYOF.BIN and set the byte at 0x266 to 0x01 —or just download this pre-patched save game and place it in that directory. I’ve been a Mac user since 2005, and one of the very first Mac games I bought was the Mac port of Sega’s Puyo Puyo Fever .…
Awhile back, I had the chance to dump a game for MAME . I told myself that if the chance ever came up again, I’d contribute again. Luckily, it turns out I didn’t have to wait too long—but the story didn’t end like I expected it to. When I bought my PGM arcade motherboard, the #1 game I wanted to own was a one-on-one fighting game called Martial Masters . It’s a deeply…
Every now and then, when working on ScummVM’s Director engine, I run across a disc that charms me so much I just have to get it working right away. That happened when I ran into Classical Cats, a digital art gallery focused on the work of Japanese artist and classical musician Mitsuhiro Amada. I wrote about the disc’s contents in more detail at my CD-ROM blog , but needless to say I…
My latest blog post is over at my employer’s blog post and talks about the work I’ve done to get system dependency management integrated into cargo-dist , an open source release management tool for Rust. The new release lets users specify non-Rust dependencies in Cargo.toml using a Cargo-like syntax and also provides a detailed report on the resulting binary’s dynamic linkage.…
I was testing out a new Macromedia Director CD in ScummVM, and I noticed a non-fatal error at startup: 1 2 3 WARNING: ###################### LINGO: syntax error, unexpected tSTRING: expected ')' at line 2 col 70 in ScoreScript id: 2! WARNING: # 2: set DiskChk = FileIO(mnew,"read"¬"The Source:Put Contents on Hard Drive:Journey to the Source:YZ.DATA")! WARNING: # ^ about here! It may have been…
I recently had the chance to do something that I’ve wanted to do for years: dump an arcade game to add it to MAME. MAME is a massive emulator that covers thousands of arcade games across the history of gaming. It’s one of those projects I’ve used and loved for decades. I’ve always wanted to give back, but it never felt like I had something to contribute—until…
I’ve been spending some time lately contributing to ScummVM , an open-source reimplementation of many different game engines that makes it possible to play those games on countless modern platforms. They’ve recently added support for Macromedia Director, an engine used by a ton of 90s computer games and multimedia software that I’m really passionate about, so I wanted to get…
Everyone had their weird pandemic hobby, right? Well, mine is that I bought an arcade video game. Not the whole cabinet - just a board, to hook up to a TV and a game controller. If I can’t go to the arcade, at least I can bring a favourite game home, right? As you might imagine, an arcade board isn’t just plug and play; you can’t just plug in a USB gamepad and call it a day.…