Over the last few years, I've been getting back into programming (probably since the 90's) creating 'virtual' CPUs on a PC, then writing little test programs etc. I've also been adapting those to be 'hosted' on an Arduino, as the devices are cheap and I have quite a few of them, maybe one day I will move onto FPGAs.
When I was a kid in the 80's, of all the popular home computers I had, my favourite was a 'Science Fair Microcomputer Trainer' kit from our local Tandy store. Little more than a TMS-1000 microprocessor and some LEDs and a hex keypad, I learned so much from it and later in life, long after I'd broken it in other 'projects' I wanted something like that again.
Recently, I became aware I had a limited understanding of what was going on at a lower level in a CPU, how the instruction set was related to the underlying hardware, how the control lines, registers and ALU worked. I became aware of some free software called Logisim and decided to renew my project by designing my CPU and computer from a 'simulated' lower level.
- The computer and CPU will be designed in Logisim.
- Tools and a VM will be created for PC (Linux/Windows).
- The CPU will 'hosted' on an Arduino and put in a case as a standalone working computer.