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.

https://www.youtube.com/watch?v=v6ajzekMzTY

17 thoughts on “Orbital Tracking On The NES

    1. Well you sure seem like fun to be around at parties :) also not sure how the hot glue is going transfer data to the calculator or how the calculator is going to display Doom. Maybe you could get that working and get an article written about it on hackaday, oh mighty hacker ;) As they say, Proof of Concept or GTFO. I’ll be waiting to see your excellent work.

      Honestly though, if you can get that working with just a desktop computer, hot glue, and a calculator, I’ll be there first to applaud your work.

      1. > Well you sure seem like fun to be around at parties :)

        The default retort for the butthurt, followed by child-like teasing. ROM design and NES development is still cool, but get off your high horse, this is essentially just feeding data into an NES, relying on a separate, far more powerful computer to do that.

        1. I see where you’re comming from and you’re right.
          On the bright side, though, it’s a nice tech demo with an interesting idea. And the graphics are charming, too. Maybe it can be improved, also, with the code being accessible. The C16 and C64 got real orbital trackers in the mid-80s, even. Considering that they both have comparably primitive CPUs as the NES has, a standalone tracker should be possible somehow if some puts his/her heart into it.
          Here’s a quick video of an old tracker for C64 to give an example: https://m.youtube.com/watch?v=_YUDMrrnIUY

        1. While I agree it would be far cooler to do the math to predict where the ISS would be at any moment natively on the NES, it’s hard to say that the interface is particularly inauthentic. It’s just sending the current date, time, and location of the ISS as projected onto the surface of the earth in BCD over the NES’s SPI-ish port.

          If the hardware that relayed this data had been contemporary, it’d be the star of the article instead.

          1. That reminds me of the Sega MegaDrive/Genesis.
            The original models had a serial port on the back, which essentially was a third controller port. This port was intended for a modem, if memory serves.

            Anyway, that speed run adapter for the NES isn’t exactly ideal, maybe.
            Why not use a custom interface next time that can be built easily at home?
            Say from old famiclone gamepads that rarely work (system72 or supercom pads)..
            Maybe with some little DOS/GEM/Win 1.x program that can be run in DOSBox or similar.

            That being said, I think the idea with NES orbit program is really neat (kudos to the author).
            Some famiclones have keyboards and SPP Centronics ports, even, and thus can be seen as real computers almost.
            I’d be cool if they could be supported in the future. Let’s imagine, being able to enter 2-element Keppler data directly via keyboard and be able to drive a simple antenna rotor via parallel interface (or use status lines for 4bit parallel i/o for data transfer).. 😁

  1. I built a satellite tracking system and software in the early 80s using a Commodore Pet, and it was used to communicate through a number of satellites and two space shuttle astronauts (we later upgraded it to a C64).

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.