TIS-100: An emulator for a CPU that doesn't exist

  • The game itself I love. But I have some issues with it's implementation.

    To be specific, it maxes out the CPU even when it's not doing anything. Given that it's supposed to emulate low-level hardware, at very slow speeds, and does not have any demanding graphics, I fail to see why it should do that.

    (It's something I've seen happening in more games as of late, actually. For example, Desktop Dungeons - a very fun game which has no business demanding anything from my computer since it's turn-based, uses sprites, and barely animated. And yet my laptop heats up as soon as I open the game.)

    In fact, it's a bit ironic, given that the whole theme of the game is squeezing out performance out of bare metal hardware, and I admit that I'm more annoyed by it for that somewhat irrational reason.

  • To be fair the TIS-100 runs slower in the game to improve the visuals. To let you see (albeit in a blur at higher speeds) your code run rather than a click button, instant "level complete" popup. (note: I don't own TIS-100 yet, but it's fairly similar to their other game spacechem)

  • I too wrote a TIS-100 simulator in C ( https://github.com/hthh/tis100sim ) - it's interesting to compare styles.

    (I get a bunch of errors on OS X unless I change "CC=gcc" to "CC=clang", btw)

  • Remember that notch's silly space game with a simulated processor and the huge influx of emulators and whatnot after the announcement?

  • I've been looking for a simple computer/CPU simulator for kids to play on. Something like this http://thlorenz.com/visulator/ is almost there but it's a bit too complex for elementary/middle school level kids to start on. A game would be even better but the one we're discussing here (TIS-100) is basically designed to confuse and challenge rather than illuminate. Suggestions and pointers are extremely welcome.

  • http://retroforth.org/docs/The_Ngaro_Virtual_Machine.html This virtual machine has been implemented many times in various programming languages. The retro forth download includes most of the implementations.

  • Zachtronics makes amazing games. This is the same guy who wrote SpaceChem and Infiniminer (the inspiration for Minecraft)

    http://www.zachtronics.com/

  • Is this a good way to get started with assembly?

  • It would be interesting to implement the emulator using the PyPy toolchain.

  • oh this brings up memories of corewars and redcode

  • it's only a matter of time before someone runs linux on it.

  • MMIX