Game Boy Advance Audio Interpolation

This post describes an audio enhancement that a Game Boy Advance emulator can implement to reduce audio aliasing and noise, at a fairly high level. To start with, here’s a comparison from Metroid: Zero Mission as an example of what this can do:

Emulator Bugs: Sega CD, Part 2

This is a continuation of the previous post on Sega CD issues. Where that post described two bugs caused by bad emulation of the CD-ROM hardware, this one describes several bugs that were completely unrelated to CD-ROM emulation. (This post was mostly finished months ago but I didn’t want to upload it before publishing a release tag that fixed one of the Snatcher bugs described below.

Emulator Bugs: Sega CD

Here are two bugs that I ran into while adding Sega CD support to my Genesis emulator, both related to emulating the Sega CD’s CD-ROM hardware. These are from a while ago but I think they’re still interesting enough to write about.

Emulator Bugs: Metal Max 2 Kai

This is a post on a bug that broke Metal Max 2 Kai for the Game Boy Advance, a port of the Super Famicom game Metal Max 2. The text box is definitely not supposed to do that! This was caused by slightly inaccurate timing.

Game Boy Advance Audio

This is a moderately low-level overview of the Game Boy Advance audio hardware, from the perspective of having recently emulated it. GBA audio has a reputation for being very low-quality, one that I personally think is deserved, but this is not entirely caused by the audio hardware.

Emulator Bugs: Fatal Rewind

This is a post on a bug that broke Fatal Rewind for the Sega Genesis, a port of the Amiga/Atari ST game The Killing Game Show. I’m not sure why some Amiga-to-Genesis ports changed the game’s title. Leander is another one, which got ported to Genesis under the title Galahad.

Emulator Bugs: Game Boy Color HDMA

Rather than covering a single game, this is a topic post that covers six different bugs in my implementation of the Game Boy Color’s HDMA feature (HBlank direct memory access). Not every GBC game uses this feature, but a decent number do, and a few games will break pretty badly if it’s not emulated fairly accurately (moreso in terms of behavior than timing).

Emulator Bugs: Zenki - Tenchi Meidou

This is maybe the start of a series of posts on games/software that exposed bugs in one of my emulators, depending on how many I find interesting enough to write about. In most cases I think the interesting part is usually the game behavior that triggered the bug rather than the bug itself.

Donkey Kong Country 2 and Open Bus

Donkey Kong Country 2 has a pretty well-known bug in the old SNES emulator ZSNES where some stages have spinning barrels that don’t work properly. One of the earliest pictured here, in the first stage of Krem Quay (third world): After you jump into the barrel, you’re supposed to be able to completely control its rotation by pressing left and right on the d-pad, with the barrel only rotating while you’re holding left or right.

Emulating the YM2612: Part 7 - SSG-EG

This is the seventh and final post in a series on emulating the main Sega Genesis sound chip, the YM2612. Part 1 - Interface Part 2 - Phase Part 3 - Envelopes Part 4 - Digital Output Part 5 - Analog Output Part 6 - LFO This post will cover the envelope generator’s SSG-EG mode.