I have a great fondness for the Z80. My first micro was an 8080, and a wonderful learning experience. But programming Z80s was thrilling. The extra registers were just enough to be actually useful as a register-based CPU. 8080s choked on 16-bit operations and spent numerous cycles tranferring addresses in and out of memory. On the hardware end the design was better also. It provided automatic refresh addressing for dynamic RAM (64K of static RAM made a good space heater). An additional non-maskable interrupt was a life saver in adapting some of the wierd devices available at the time also.
I was also enamored with the sleek design of the 6502 and Motorola 6800. These guys were more memory oriented than register oriented. But they used simpler, faster, instruction cycles, and smaller instructions to run as fast as their fancier cousins from Intel and Zilog. And they were simpler more straightforward hardware designs also. You could make a computer with either of these processors using far fewer components.
However, just like help in the plumbing department at Home Depot, true love may only come once in a lifetime. Mine was the RCA 1802 COSMAC. This neat little processor had 16 registers, 16 bits each. Any of the registers could be configured as the program counter, and any of them could be configured as a memory pointer using an instruction called… guess what?..SEX. And it was sexy. That meant you could maintain 16 different stack pointers if you wanted to. And you could just switch program counters around instead of doing regular call stack operations. There were also special input and output pins on the processor that could be used for simple device controls, or emulating various types of I/O devices. The 8bit data path made it slow as all hell. But if you could imagine a fast version of this processor it would have made the others look silly. I had a chance to work for a company second-sourcing the COSMAC, and I regret turning that down.
There are plenty of others out there. Gaudily dressed 16 bit processors, and skinny 4bit slice processors. Even the 8bit family had a variety of exotic members. But you’re only young once, and you remember your first loves in a special way.
I learned assembly on the 6502. Spent some time architecting things on a PIC for one of my phones. But I’m kind of partial to slightly larger things…I learned how to make cell phones on OMAPs. Those are the first chips I ever did board bringup and OS porting for. I miss those days.
-D/a
I loved this proc but didn’t know it until I saw what my friends had to deal with on the 6502 - more limited addressing, fewer or no 16 bit operations, no MUL.
I’m intimately involved in the design and manufacture of one processor family, and was involved for a short time in the original version of another. For ones I used, I wrote a simulator for the 8086 in grad school when it first came out, and I had a development system for the Bell-Mac 8 which I used to debug tests I wrote for it on another simulator.
Trying to remember the mini that had a blowup instruction. OK - BLWP (Branch and Load Workspace Pointer), but pronounced blowup. I like any computer you can tell to blowup!
My first meeting of the Color Computer club someone had retrofitted a TRS-80 Model III case with a CoCo3 motherboard and an RGB monitor and was running a clone of that. Not as hires, but totally cool: Boink Bouncing Ball demo on CoCo 3 - YouTube