2017-12-09: TG-16 History and speedrunning rambling

I speedrun a lot of strange things. Among those things is a pair of TG-16 games. TG-16/PCE speedrunning is a pretty niche thing with only a handful of people actively doing it, and most of them on emulator (myself included). As such, information is kind of short, which is why it's neat when I learn something new.

In this case the education came in the form of discovering a new glitch in Dragon Egg. Specifically, properly jumping and starting a hold of turbo button 1 can allow you to hover infinitely, letting you fly through an autoscroller and skip several tricky jumps. I figured I'd discovered something that'd cut a ton of time off the run, since after all turbo is allowed in TG-16 speedrunning since turbo was a feature of pack-in controllers.

Fortunately I know someone who has Dragon Egg on native hardware and they attempted to replicate my findings without success. Unsure if I'd discovered an emulator only glitch or what, we did some testing across multiple emulators, but the solution was much simpler than anything like that. After scratching our heads one of my viewers pointed out something I should have considered sooner: maybe it comes down to turbo timing and implementation?

Until then I'd just assumed turbo controllers universally just slammed the input as fast as it can. Usually that's 30hz. Why 30? Because most consoles poll input at 60hz, and you have to have one poll "on" and one poll "off" each press of the button, so 30 presses per second. Not so with the TG-16. The pack-in controller does indeed poll at 60hz, but the turbo utilizes one of two frequencies, controlled by a switch: 15hz (1 on, 3 off) or 7.5hz (4 on, 4 off). Since the reference implementation has a cap of 15hz, most other pads just stuck with that, so games really aren't designed to handle 30hz like that.

Emulators, of course, don't care about that. Bizhawk by default uses 30hz but fortunately you can specify frequencies, so once I turned my turbo down to 15hz, I too stopped being able to infinite hover.

Using the "illegal" infinite hover could cut about 45-60 seconds off the run, but it'd be unfair since console players couldn't replicate it, so what do? I ended up updating the rules on the Dragon Egg leaderboard to note "Turbo on emulator is discouraged". Outright banning it isn't fair either, though I know that if someone posts a run utilizing infinite hover, their turbo settings are wrong and the run isn't valid for comparing to console runs.

I doubt anyone's going to do that. To date there's been four runners of the game in 2+ years. I just found the whole thing interesting.

tags: tech, speedrunning