Making a CPU or indeed a whole computer system from scratch using discrete logic chips is by no means an unusual project, but it’s still one that requires quite a lot of technical ability and understanding of how computers work. Similarly, writing a UNIX-like operating system from scratch is something that’s been done more than once, but which definitely puts the author in an exclusive breed. Creating a CPU and computer system from discrete logic and then writing a UNIX-like OS for it? That’s definitely something new, but here’s [RobotMan2412] with both CPU and operating system to prove it!
The GR8CPU as he calls it is an 8-bit design with a 16-bit address space, making it equivalent to a typical mid-to-late 1970s 8-bit chip. He’s on revision 3 of the processor, and even makes the bold suggestion that it might be the most complex breadboard CPU ever made. That’s impressive enough, but to add a UNIX-like operating system makes it special.
While he has a real GR8CPU, it appears he’s also written an emulator with access to a disk filesystem, and it’s on this that he shows us the OS running. Don’t expect an all-singing all-dancing desktop OS here, instead it’s a kernel and very basic command line that’s just about able to run a Hello World. The kernel is hand-coded in assembler and is about 5 kB in size.
We look forward to seeing more of this project, and hope maybe he’ll one day soon publish the source. As a reminder that this is a perfectly capable platform for the job, here’s the original UNIX running on a vintage DEC PDP7.
Wow! This is a impressive achievement, hats off to [RobotMan2412]!
“Don’t expect an all-singing all-dancing desktop OS here […]”
So-called desktops are just where progress went the wrong path, anyway. I’m sure humankind will see the light some day.
And “desktop OS” is just… a gross aberration. Akin to “military music”, as one wise person [1] once noticed.
[1] Groucho Marx
Confucius say: “Person calling another person an idiot is an idiot”
Funny: I search that sentence in google, and the only reference is… your post :-P
“You shall not believe everything poster on internet”
Abraham Lincon
Is this your Electronics Engineering final?
There’s room for both isn’t there? There’s certainly a need for both
“Ben Eater” on YouTube.
Very recommended! I started watching his videos for fun and a week later I find myself building my own cpu as well (which is of course heavily inspired by Ben’s project).
Wow
That’s a serious amount of work to undertake, undertaken well!
“Making a CPU or indeed a whole computer system from scratch using discrete logic chips is by no means an unusual project, but it’s still one that requires quite a lot of technical ability and understanding of how computers work. ”
Hence why some educators make it their final project. Even if none of us will create their own cpus the knowledge is invaluable.
In my defense, the instructor would have been prepared for the 4 pit adders if he’d checked how badly the notes were xeroxed. I don’t know why there was such a fuss, the instruction stork killed two of them.
Even a 1-pit adder was enough for Cleopatra.
+1 for you!
Winners here.
Hats off. Amazing work. At my age, the farthest down the rabbit hole that I want to go, is to write little assembly language projects for a ‘known’ CPU architecture. In my breadboard projects, it seems I can wiggle a wire and get strange things to happen…. Here we see a whole lot more wires to wiggle…. Again amazing job to get it all working.
Recently I finished a Four Bred Board, Hard Wired RLL, Four Digit, 10 Key Entry, Electric Combo Lock for my Grandaughter to ‘Crack’.. I too had the Wiggly Wire problem..
Impressive Project
This appears to be a half-finished 8-bit TTL cpu, augmented by a PC simulator to suggest how it might work when the hardware is finished.
Looking forwards to the final installment
Amazing work. I would recommend using a DOS or CPM lookalike for software though. UNIX is awesome but programming it to work on something like this will be very difficult.
There was Microware OS-9 for the 6809. “Unix-like”, it was multiuser and multitasking. Anything could run anywhere in memory, it was modularized, and there was redirection, and I think pipes (suddenly I can’t remember).
But it was written for the 6809, which was an above average 8bit CPU.
It does seem a bit much to make Unix on an 8bit.
OS-9 was awsome and in lots of ways Unix like. But the later versions of it (version 2?) relied on hardware with a form of banked memory which gave it effectively greater than 64K of address space — well 64K at any given time but with the ability to swap in different memory pages on task switch or a device interrupt. Think sort of memory-management-unit-like similar to how 32b cores might use an MMU to go beyond 4GB address space. Even OS-9 found a small 64K address space constraining.
Clearly RobotMan2412 likes a bit of a challenge. If 64K proves to be too limiting for a Unix-like (aka OS-9 like) OS then maybe the next generation of the project could include bank address tranlation and, say, 256KB
Next CPU will be a RISC 16-bit.
Don’t tell anyone ;)
Not that this matters, but there is a potential name clash here. The GR8 is also the name of a SIP that Next Thing Co. created for its CHIP Pro line of computing devices. Next Thing Co. went out of business and is no longer making GR8 chips, but the design was open source and it appears that Jose Angel Torres of Popcorn Computer is using the design (or a derivative of it) to create their “Pocket P.C.” device, which was covered by Al Williams here on Hackaday back in August of 2020.
There is another completely homebrew CPU made of 74 Series TTL chips.
http://www.homebrewcpu.com
The builder gave an interesting demo at my local ham radio club a couple of years ago. I got to see the box in person. I have since telnetted in to it and played a bit of Crowther and Woods’ Collosal Cave Adventure on it.
Hats off to anyone who undertakes such a project!
There’s a borderline period when TTL was available but no sign of microprocessors. In the November 1972 issue of 73 magazine, there was an article about building your own computer. An overview rather than a construction article. The suggestion of core memory (which was available on the surplus market), since solid state memory was unavailable or expensive and limited. A year or two later, there was surplus memory, often as long shift registers, for the tv typewriter and slow scan TV converters.
Roger Amidon had a famous discrete comouter, on the cover of Byte about 1977. “The spider” because it was point to point wiring. I assume it was TTL.
People wanted computers before microprocessors, so they had to scrounge surplus or build from scratch.
Amazing.
How is data handled by registers?
Regular way?