5 ms·
A Homebrew 8-Bit Computer
- xd 16y agoNice project. I've got a box full of 8086's and support chips just waiting for that rainy weekend to come around. If you like this stuff, you have to check out the daddy of homebrew computing: http://www.homebrewcpu.com http://www.homebrewcpu.com
- w1ntermute 16y agoReminds me of this wonderful 3D rendering I saw yesterday, titled "16-bit memories"[0]. The artist is Toni Bratincevic, and you can find more of his work on his website[1]. It's the kind of art that makes me wish I had an ounce of artistic talent so I could illustrate my thoughts in such splendor ;/ 0: http://i.imgur.com/0gZzv.jpg http://i.imgur.com/0gZzv.jpg 1: http://www.interstation3d.com/new_gallery.html http://www.interstation3d.com/new_gallery.html
- flannell 16y agoAhh, the memories. Thanks for the link, really nice picture.
- RiderOfGiraffes 16y agoYou really want to see a CPU made out of relays: http://web.cecs.pdx.edu/~harry/Relay/ http://web.cecs.pdx.edu/~harry/Relay/ Note, this is just the CPU - he uses an 8K CMOS RAM unit.
- xd 16y agoA quick tip just in case this inspires anyone to far. I highly recommend that you think long and hard before you run out and buy a thousand relays with the intentions of following in this guys foot steps .. If still want a thousand relays, give me a bell.
- msarnoff 16y agoWow, never thought I'd see this posted here! (I'm the creator of this project.) I thought about building my own CPU from relays and/or discrete logic (I met the creators of the Magic-1 and BMOW a couple years ago at a Maker Faire), but it would have taken way too much time and money, so I stuck with an off-the-shelf chip. My development process isn't that well documented online, but soon I hope to start a blog where I explain how the whole thing works; address decoding, bank switching, assembly programming, etc. And then I'll write some games, add a Forth environment, hook it up to the internet, who knows. All my source code, schematics, and tools will be online sometime in 2011 if anyone's interested.
- colomon 16y agoForth was my first thought when I read the article -- it seems like a perfect fit for a project like this.
- rick_2047 16y agoCan I get a pointer to why?
- msarnoff 16y agoThe 6809 actually has two stack pointers, S and U. S is the hardware stack (used for calls/returns) and U is basically another index register with dedicated push/pull instructions. A Forth implementation typically uses two stacks (the return stack and the parameter stack), this maps very well to the 6809's register set. Here's the first of a great series of articles from 1993 about implementing Forth on 8/16-bit computers: http://www.bradrodriguez.com/papers/moving1.htm http://www.bradrodriguez.com/papers/moving1.htm
- monological 16y agoI read on your webpage that you go to HSC. I LOVE that place.
- xd 16y ago
- metageek 16y agoOooh. I used to have a Radio Shack Color Computer, and I loved the 6809. So much cleaner than the 6502. Two 8-bit accumulators, A and B, which can be combined as a 16-bit accumulator, D. MUL, which sets D to A * B. Four 16-bit index registers, all of which can be used interchangeably in any indexed-mode operation. (Two of them can be used as stack pointers.) A rich indexed mode, including constant offset, accumulator offset (A, B, or D), and offset from PC (allowing position-independent code). The 6502, by contrast, had one 8-bit accumulator, A, and two 8-bit index registers, X and Y. X and Y were used differently: IIRC, you could do (in C syntax) * (addr+X) or (* addr)+Y, but not the other way around. No easy way to do position-independent code. (I suppose you could hack it with OS support, though, by providing a routine at a fixed location that reads the caller's address from the stack.)