If you haven’t seen Ben Eater’s YouTube videos, they are top-notch. Even if you “know” the subject material (I thought I did...) they are very well done and worth watching.
Definitely. I made the real thing in hardware. As a complete beginner to electronics it took me quite a long time but it was so worth it. I've always hated having to accept the existence of "magic" in my machines. For me this was the final layer that allowed me to finally understand how electronic computers actually work. Things like building flip flops from scratch were so insightful. And if that's not enough he's got videos on how transistors work at the atomic level. It's like the whole of computer science finally fell into place.
100% ditto minus the building it myself. Through ben's videos I finally understood how instructions really work and how a program is executed. Despite being a tech fanatic, I'm have so much more appreciation now for what is actually happening.
I was thinking about doing this myself (but in Javascript, coz that's what I'm using day to day at the moment), and literally implementing each module of the board as a seperate piece of code.
Nice,
I built a version in python with curses visualization of all states.
It emulates all chips ob the hardware level (chips.py) and does not need any dependencies except py3.7: https://github.com/dangrie158/SAP-1/tree/master/Emulator
That looks really nice, how is the speed? I did the same in C#, and implemented it up to bus and transistor level. I could execute a Fibionacci program in asm but it was horribly slow (less than 1M instructions/sec)
Worth noting that the Apple ][ and C64 had a 1.023MHz clock rate with a minimum of 2 cycles per instruction, so your “horribly slow” system might be about real-time for the era.
(Atari 800 had a 1.77 or 1.79MHz clock, but wasn’t regarded as wildly different.)