Emulation

Latest Emulator

I've finally gotten around to writing an updated version of my classic emulator. Porting to DirectX 10 and C# / .NET, I've completely rewritten most of my original code base and heavily refactored the rest. C# is a great language and has generally helped make the source code cleaner and more understandable.

Binaries and source code are hosted on Github:

https://github.com/manfreda-dot-org/I-Robot-Project

This emulator intercepts the high-level scene drawing commands issued to the Mathbox, allowing it to render the game in widescreen at high resolution. Check out the difference in between the current emulator and the game when played in original 256 x 232 resolution via MAME.

Because this emulator interprets the scene at a high-level it's capable doing all sorts of things not possible on a real machine. The emulator can render with using modern effects such as z-buffering, anti-aliasing, texture mapping, etc. It also makes it possible to "move" the camera in space, and generally tinker with things. Once things are working well I plan on figuring out how to get this thing running in a VR headset (stretch goal).

ROMs

The original ROM images from I, Robot are required to run either emulator. These images can be dumped from a working I, Robot arcade game. Please don't ask me for images.

Legacy Emulators

Way back in 1998 I wrote the first game emulator for I, Robot. No small feat considering a 100 MHz PC was considered fast at the time! I was young and didn't know any better. Over the years I've attempted to update the emulator on numerous occasions, in 2003 I got close with a port written in Borland C++ Builder (ah the gold old days).

Even though the emulators are a bit long in the tooth, they're still (as far as I know) the only emulators that intercept/interpret the 3D rasterization commands, letting you play the game in a higher resolution (640 x 480) than the native hardware supported (256 x 232). Also let's not forget very cool (but little known) "screen dump to vector graphics" feature that I've never seen implemented anywhere.

The MAME team eventually got around to adding I, Robot, and the rest, so they say, is history. The MAME emulator does an amazing job duplicating the pixel perfect / cycle accurate emulation of the game. This is the best place to get your 1984 arcade fix.

You can find my legacy emulators on the downloads page. I've also uploaded the original source code archive to Github.

Emulator Mark 1 - 1998

Even though it was written to run on Windows 95 with DirectX 3.0, it actually still runs on Windows as of 2020. My personal copy of Windows doesn't seem happy about switching the video driver into legacy DirectX 3 mode, but once the game is running the emulation is fine.

Requirements from back in the day.

Pentium or better PC running Windows 95/98 or Windows NT. DirectX 3.0 or better support is required. A sound card with DirectSound support is required for sound emulation.

Emulator Mark 2 - 2003

Requirements

DirectX 9.0 required

PC performance: unknown

Emulation performance depends upon overall system performance, but will mainly be influenced by processor speed, and the performance of the video and sound cards.