Orbital Tracking On The NES

It’s easy to dismiss the original Nintendo Entertainment System as just, well, an entertainment system. But in reality the 6502 based console wasn’t so far removed from early home computers like the Apple II and Commodore 64, and Nintendo even briefly flirted with creating software and accessories geared towards general purpose computing. Though in the end, Mario and friends obviously won out.

Still, we’re willing to bet that nobody at Nintendo ever imagined their plucky little game system would one day be used to track the course of a space station in low Earth orbit. But that’s precisely what [Vi Grey] has done with his latest project, which is part of his overall effort to demonstrate the unexpected capabilities of the iconic NES. While you’ll need a bit of extra hardware to run the program on a real console, there’s no fundamental trickery that would have kept some developer from doing this in 1985 if they’d wanted to.

Raspberry Pi Zero and TAStm32

If you want to see your own 8-bit view of the International Space Station, the easiest way is with an emulator. In that case, [Vi] explains how you can load up his Lua script in Mesen or FCEUX to provide the ROM with the necessary tracking data from the Internet.

To run it on a real NES you’ll not only need some type of flash cart to get the ROM loaded, but also a TAStm32 board that’s used for tool-assisted speedruns. This allows the computer to essentially “type” the orbital data into the NES by emulating rapid controller button presses. That might seem like a tall order, but it’s important to note that neither device requires you to modify the original console; the code itself runs on a 100% stock NES.

If tracking spacecraft isn’t your thing, perhaps you’d be more interested in the some of the work [Vi] has previously done on the NES. We’re particularly fond of his polyglot ROM that is a ZIP file of its own source code.

Continue reading “Orbital Tracking On The NES”

Teaching Mario To Play Pong And Snake Through Innumerable Exploits

This is the coolest classic Super Nintendo Entertainment System (SNES) hack we’ve seen in quite a while. What you’re seeing is called “Super Mario World (Total Control)” by [Masterjun]. Our first recommendation is that you watch the video, then come back here for an explanation. Similar to what we saw for Pokemon Yellow on Gameboy, [Masterjun] created entire Pong and Snake clones within Super Mario World. He also created a menu and ending screen, along with his trademark smiley face graphic. Even more amazing is that this was unveiled live on a real SNES running an unmodified game cartridge. [Masterjun] actually used dual multitap cables, effectively connecting 8 controllers to a SNES. This gave him enough bandwidth to quickly download his new binary through the controller ports alone.

Welcome to the world of Tool Assisted Speedruns (TAS), where emulators and scripts are used to create high-speed runs through video games. The runners often work frame by frame, painstakingly inputting commands to create the perfect run. Game bugs and glitches are often exploited in these speed runs. In fact, in runs such as this one, the speed run takes second place to showing off the exploit. The output of speed run creation is a script file of control inputs which can be executed on an emulator to “re-run” the TAS at any time. This script can also be saved to a PC or Raspberry Pi and played back into the controller port of a real game system. A PIC based hardware translator is used to convert the data to NES or SNES controller format. As one might expect, these scripts run open loop. With no feedback from the running game, they can and do become desynchronized due to differences in console hardware, such as the tolerance of the oscillator crystal. When everything is in sync and does work , the results are awesome.

Continue reading “Teaching Mario To Play Pong And Snake Through Innumerable Exploits”