1 bit CPUs don't really make sense anymore because their gate count niche doesn't really exist anymore in discrete chips. The I/O pads around the perimeter of a chip haven't been able to shrink nearly as much as the logic within even on very mature process nodes in the hundreds of nanometers. Basically there's so much die area that for analog reasons can't be shrunk much taken up by simply getting on and off of the die that logic in the few thousand gate count range is basically free.
That's why you see 8 bit MCUs with a useful set of peripherals even in the ~$0.03/ea range where almost all the cost is in testing and packaging the dies.
Do you mean because all of the 74H* series registers would have within them lots of different logic gates? I don't think this invalidates the premise -- ie. if you were using a CPU you'd still have registers.
There's more than just registers and flip flops there. The 74HC08 is a quad 2-input and gate, and the 74HC32 is a quad 2-input or gate. Arguably the demuxes (74HC138 and 74HC139) are simply combinatorial logic too.
But I'm of the opinion that the lack of an integrated logic ALU still makes it cute enough for discussion and praise, despite the anachronism of it's constituent components.
While not the subject of the article, his My4TH reminds me:
Back in "the day", there was a replacement ROM for the ZX81/TS1000 that turned it into a FORTH machine. Was a cheap way to learn FORTH when the host machines were deep discounted near the end of their run.
It also reminds me of a similar option, the Jupiter Ace [1] which ran FORTH natively. The co-founders worked on the speccy and certainly borrowed some design aspects from the ZX81 (had a better keyboard though - ha!)
The manual was great for its time, a little dated now but still a decent read [2]. It was reprinted in 2018 and still available [3].
Good question! I have a ton of time on both of those CPUs and have written my own FORTH for both of them (as well as the 6809, 68K and another one in C just for the heck of it). The 6502 has an easier instruction set to work with but I don't think that makes all that much difference for the implementation of FORTH, it is so incredibly small that you're out of the scaffolding after the first few hours and it's all FORTH after that point.
The register sets are roughly comparable.
The hard part is dealing with interrupts (which FORTH does not have any particular method of handling), if you want to do high level (so in FORTH) interrupt service routines you're going to deal with the CPU state in a tiny bit of assembly and then run the threaded interpreter loop until you're ready to exit the ISR. IIRC this was much harder to do cleanly on the Z80 than it was on the 6502 (or maybe I just knew the 6502 better).
FORTH's tiny language core means you are abstracting out the CPU quirks very early on to the point that it is almost irrelevant which CPU it runs on. The lack of a clear dividing line between 'system' and 'user/application' programming makes it ideal for control tasks but it is hard to remain disciplined as the line count goes up.
One nice implementation of a Forth on the 6502 is Tali Forth. The documentation is wonderful too. And it's easy to extend. One thing to keep in mind when adding any assembly code of your own is that it uses part of the zero page and the X register to implement the data stack and pointer, so the X register always needs to be saved.
Memory is always the main issue for the computers like this. Unless you go with something like delay lines or Williams tubes, your total gate count will be dominated by memory.
He has the gerber files (and list of parts) though. I tried the gerber zip file at PCBWay and it's $51.33 for 5 boards ($63.12 for 10) with shipping to the US. It would be a lot less if it wasn't bigger than 100x100mm. Buying all the right parts would be a lot of work if you don't usually do it though.
I realize most folks here are probably familiar with this, but for those who aren't:
The reason this is possible with just a nor gate (or alternatively just a nand gate) and won't work or/and (without mot), is because of functional completeness.
https://en.m.wikipedia.org/wiki/Motorola_MC14500B