Veeerry nice work! That said: if <i>meant</i> to be anything more than an intellectual exercise, imho it's better to target an existing system/architecture. There's a good # of existing systems out there that:<p>a) Can be built from discrete parts (okay, CPU & ROM/RAM excluded - <i>usually</i>). And
b) Have an existing software library. Often a huge one.<p>b) Is the important bit here. It gives you a full suite of editors, assemblers, compilers, debuggers, productivity software, games, etc etc from day 1. Which bypasses the chicken-and-egg problem of "do something useful with it".<p>Modern IC's are not black boxes <i>by definition</i>. It's just the scale of today's VLSI that makes inspection by end users impossible.<p>Even eg. a lowly Cortex-M0 could be considered a complex beast in this context. But buy eg. 100....1000 (8 bit) microcontrollers, take a representative sampling of those (say, a few dozen specimens), decap, put under microscope & compare with architecture documentation. When determined "ok", use the rest of that batch to build stuff. Tedious? Yes! But (for a sufficiently motivated individual or organisation): doable.<p>Same for small-sized ROM/RAM & peripheral IC's.<p>IC vs. discrete logic is not the (essential) issue here. Scale/complexity of modern IC's is. Take a # of steps down the order-of-complexity-magnitude scale, and go from there.