The Magic of Buzbee
- Thursday, July 08 2010 @ 03:16 pm EDT
- Contributed by: masodo
- Views: 13,525
Build A Computer From Scratch?
The purpose of this article is to introduce you to a man and his machine. The Man: Bill Buzbee. Journalist turned Computer Scientist. This is a guy who looked at a blinking cursor on a computer monitor and decided that he could do that! This fellow not only built a computer from scratch from hardware to software. But the journalist in him has documented the project with exquisite detail. The Machine: Magic-1. All I can say is Wow! Come on, follow me into the incredible world of "Magic"... [ READ MORE... ]
Magic
In the summer of 1980 I celebrated my freshly minted B.S. in Journalism by blowing most of the cash I collected in graduation gifts on a TRS-80 Model 1 computer. Sitting on the floor of my apartment I fired it up, typed in the sample BASIC program and then "RUN".
WHAT IS YOUR NAME?
"BILL", I responded.
HI BILL
>
Wow! I was blown away. This was just a machine, but I could interact with it using language that we both understood. As a Liberal Arts graduate with next to no technical background, I found this completely astonishing. Over the next year, I continued to play with my TRS-80 Model 1 while working as a journalist on a small-town Kansas newspaper. I decided that I really wanted to learn more about how computers worked, so I went back to college and picked up a M.S. in Computer Science.
More than 20 years later, I found myself with an urge to touch that magic again by building my own computer from scratch. By "scratch", I meant designing my own instruction set, wire-wrapping a CPU out of a pile of 74 series TTL devices and writing (or porting) my own assembler, compiler, linker, text editor and operating system.
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 EPROMs for the microcode store. After redesigning the memory access mechanism several years into the project, Magic-1 runs at 4.09 Mhz.
Access is available via telnet at magic-1.org [ Login: guest Password: magic ]. You say you don't telnet? Meet Magic-1 personally, right now at http://Magic-1.org, a website served up by M-1 himself (herself? which is it Bill?) -
I sure hope you contemplate the magnitude of this wonderful adventure Mr. Buzbee has provided. Enjoy!
stay tuned...