
What's this? ?it's a PC? No, it's only a CPU made manually....................
Let's to see how the owner to introduce it?
I'm calling this computer the "Magic-1", or M-1 for short. It's a one-address, microprogrammed machine with one-byte opcodes. It features 8/16-bit data operations, functioning on an 8-bit wide data bus with 16-bit addresses (mapped via 2K-byte pages into a 22-bit physical address space). Code and data address spaces can be shared or disjoint, giving each process up to 128K bytes of addressing. User and supervisor modes exist, along with hardware address translation, memory-mapped IO, and support for DMA and externally-generated interrupts. As far as components go, it is built entirely out of 74LS and 74F-series TTL devices plus modern SRAM and old bi-polar PROMs for the microcode store. I designed it to run at 4 Mhz, but missed a couple of critical paths - so ended up at 3 Mhz.
Magic-1 is a homebuilt minicomputer. It doesn't use an off-the-shelf microprocessor, but rather has a custom CPU made out of 74 Series TTL chips. Altogether there are more than 200 chips in Magic-1 connected together with thousands of individually wrapped wires. And, it works. Not only the hardware, but there's also a full ANSI C compiler for Magic-1 (retargeted LCC), and a rudimentary homebrew operating system.
project goals are:

Touch the magic. By this I mean to gain a deeper understanding of how computers work, and specifically computers similar to those of the late 70's and early 80's that first fired my interest. For this reason, the Z80 loomed large in my mind throughout the design process, and running with an 8-bit data bus and 16-bit addresses just seemed right. Although I'm largely trying to use parts that would have been current in that time, I'm not shooting for historical accuracy. My choice of 74xx is a nod to the past, and my choice of 74Fxx has more to do with availability.

TTL rather than FPGA. My reasons here pretty much boil down to "because that's what I want to do." FPGAs do sound fun, but I really am drawn towards using technology that is similar to that which was current when I first became introduced to computers. Perhaps for Magic-2....

Learn more about computing areas in which I have interest, but much ignorance. From my years as a software developer, I've gained a passing familiarity with language tools. However, I really want to better understand hardware and operating systems. To this end, I'm pushing the hardware complexity to what I consider the limits of my hobbyist abilities, and am including support for preemptive multitasking and paging to enable me to support a "real" operating system for my machine.

Build something real. I'm proud of some of the software I've written, but it would be nice if I could have something physical to show for all my work. That's part of the reason I'm going with wire-wrap. My wife and kids may not be impressed by my instruction set design, but all those wires ought to at least get some sort of reaction from them ("Geez Dad, you're such a nerd. Would you please put that thing away before my friends come over and you embarrass me to death?").

Functionality over Speed. I don't really need this machine to be as fast as possible. Efficient, yes - but wherever possible I traded off speed for simpler circuits.

Compactness. One of my pet peeves is how bloated modern software is. I think there's a lot you can do with 128K bytes of addressing, and I like the idea of keeping things compact and utilitarian. I've tried to construct an expressively dense set of 1-byte opcodes.