Hi everyone Some of you know that I also teach a "100" level university course about technology. This year, I decided I wanted to show off a simple computer, to demonstrate how a CPU works. I was looking for something simple and "old school" like an Altair 8800, where you enter instructions and can watch it execute, and see the accumulator update. But I couldn't find a hardware kit on sale in the price range I was looking for.
So I wrote a simple CPU emulator to use in class. I call it the "Toy CPU." I intentionally kept this as a very simple implementation. My goals were to make it easy to write and easy to understand. The Toy CPU implements 256 bytes of program memory, and an accumulator. You program the Toy using binary opcodes. When you run a program, the Toy CPU starts at zero for the first instruction. This is a Minimal Instruction Set Computer with a limited set of instructions (similar to a CPU from the 1960s or 1970s) but it can do enough real work that I can use it in class to explain how computers work. Version 1.0 is a working (but incomplete) prototype that runs on DOS (compile with OpenWatcom). Emphasis on *prototype* - I wrote this in an afternoon without a design. I rewrote most of it to create Version 2.0. This currently runs on Linux under ncurses, but I plan to port it back to DOS. This version also supports entering a program using the "front panel" using "switches and lights" similar to the 8800. If you're curious, you can find it here: https://github.com/freedosproject/toycpu MIT license _______________________________________________ Freedos-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freedos-devel
