Hacker News new | past | comments | ask | show | jobs | submit login
A homebuilt MOS 6502 based microcomputer system (grappendorf.net)
116 points by mattgodbolt on Jan 26, 2015 | hide | past | favorite | 29 comments

It's so damn cute! Part of me wants to believe that the market could really use a Model 100-type system that is easy to carry, handles the basics and has batteries that last forever. But that's just my inner geek; such a thing would today be a niche product for enthusiasts and special use cases at best. What most people want is a MacBook Air. Or an iPad.

I don't know that its inapplicable to todays education market, to be honest. You can learn a lot about computing with an old 8-bit machine that is completely lost on the modern developer.

Maybe if someone put LOAD81 into a small AVR-based, portable box similar to the one in the article, we'd have a new revolution in software development education. Too many times students of today leave the classroom thinking "the IDE will do all the work for me". This is a highly specious and unproductive mindset, imho .. solved by a little contact with micro-controllers and mini-tools.


That project didn't seem to get much traction.

Maybe it could be achieved with a tweaked Linux on RPi? Create a specific development environment and run a variety of competitions. Things like 1k, or 7DRL, or whatnot.

Or gut a Model 100 and put a linux box in there?

Put in a raspberry pi and a huge battery.

An excellent project .. I'm already jealous and want one! :)

I think there is a lot of potential for machines like this to make a return to relevance in this day and age. I'm using my old 8-bit collection (still working) to teach my kids computing at the most basic level - I can sit them in front of our Oric Atmos battlestation, which in the 21st Century is fulfilling all the dreams of the 80's, and give them a few hours to figure out how to do things without worrying about dodgy Internet distractions, overly burdensome IDE installations, irrelevant tools and utils .. the thing just plain works, from power on until sunrise. And the kids have a blast with direct interaction - when they type something, something happens .. there's no waiting, no distractions. Still an excellent learning platform - and demonstrates just how arbitrary the value of computers is, in this day and age.

Old computers never die - their users do!

I agree - how old are your kids and how did you get them started in being interested with 8-bit systems?

4 and 7, and all I had to do is set it up and turn it on - they took over from there .. ;)

I really like reading about projects like this. If I had the means, the patience and the time, I'd do a similar project myself.

Here's Quinn Dunki's Veronica, another 6502 homebrew computer project: http://quinndunki.com/blondihacks/?p=1937

Hello, nice project, just one thing, as reported here: http://www.grappendorf.net/projects/6502-home-computer the author states the 6502 was "...an 8-bit MOS 6502 CPU that was used in many popular home computers of the 1970s and 1980s like the Commodore 64..." which is not correct, the 6502 was on the Commodore VIC-20, when the Commodre C64 was equipped with a 6510 :-)

Which is a 6502 with an additional 8-bit I/O port.

I'm building an 8-bit microcomputer myself using the popular AtMega328p (basically and Arduino board), as an excuse to learn electronics. Turns out I'm mostly learning AVR stuff, because the MCU will do most of the work; but I digress.

What I love about this project is the keyboard. I'm using the "follow the standards" approach implementing PS2 protocol with a Mini-DIN-6 connector to use an standard PS2 keyboard, but turns out rewiring an existing keyboard could be a good option too (although I guess it depends on the keyboard type).

"Replicability" is a nice thing to have in this kind of project, but not really essential. Well done!

Back in the day, I wrote the first book specific to the Apple II and programming the 6502 on that platform. It was pretty popular at the time, and Doom's creator, John Romero, started out with it. Recently Chris Torrence revived the book (Lulu), and it's online as well from the original articles. http://www.softalkapple.com/content/assembly-lines-roger-wag...

Very interesting project.

Although I would rather use Forth, or add Assembly capabilities to the BASIC like BBC BASIC, instead of C.

Forth is cool, and might make for a BASIC replacement, but it is a terrible "systems programming" language. You will still need some kind of lower level access mechanism. The alternative is to extend forth with a ton of platform specific words. That is the route most of the early BASIC's took as well, so it might not be to bad.

(I say this as someone who spent a year of my professional life writing open firmware code. Which for those that don't know, is the crazy idea of creating cross platform firmware in forth.)

Huh. I worked at FORTH, Inc. a little in the 80s and would've said it's fine for systems programming: use the assembler vocabulary. I can see running into limits without that, but with it it's better than a macro assembler.

But I've never tried Open Firmware beyond hello-world.

I think you may be quite unique (impressively, I may add!) that you'd turn to Forth ahead of C.

On 6502-based computers, C was highly unusual. Not only was C not nearly that widespread in hobbyist computing, but it's really painful on an 8-bit CPU with such a tiny stack (256 bytes) and few registers.

Forth, on the other hand received lots of attention for its small size and compact code, and e.g. I remember articles extolling Forth as easier to learn than BASIC at the time....

It's not the runtime that's the problem but the compiler. Though there have been C compilers on 8 bitters.

I used to use a C compiler for the Z-80 called BDS C. BDS stood for "Brain-Damaged Software" because it didn't implement floating-point.

Until the early 1980's, C was highly unusual.

Definitely not unique - if you've ever seen the code size you can get a Forth interpreter down to, you'd know why it might've been tempting.

There were actually a few of the more obscure systems of that era choosing it - albeit fairly horrific for a beginner to learn compared to BASIC. Some of the Z80-based CP/M ones, for example (the daughterboard in the… um, repurposed?… Torch I had as a child, although what I actually used was the BBC part of it, because come on, BBC BASIC with a built-in 6502 asm!), or the ZX81-style Jupiter Ace.

Not unique, old.

Remember these?


I used to see them on the advertisements section of the Spectrum magazines I used to buy.

Back in the home computer days, no one cared for C, it was all about Assembly, Forth and BASIC.

On the home computers powerful enough to run CP/M, C was just yet another language (mostly a subset of the UNIX one).

Why do you removed the monitor from the main firmware ? It's perhaps one of the most useful things that you could have there. Also, perhaps you should been clone Woz's monitor commands. It allow to list&edit chunks of ram in a quickly way.

Neat! There was a pretty similar-looking machine back in the day: http://en.wikipedia.org/wiki/TRS-80_Model_100 though with an 8085 instead.

There as going to be C64 laptop, but Commodore's CEO at the time, Marshall Smith, was a total retard (mba recruited from a company selling screws and pipes), and canned the project after TANDY people told him its a bad idea :))))


There was a C64 "luggable", though: The SX-64:


(I've only ever seen one of them; they were crazily impractical)

I learned about it only very recently thru youtube subscription to a fellow awesome nerd PatheticComputing


looked through the first few entries and it seems like a very nice step-by-step writeup. Makes me want to build one as well.

I really shouldn't add another thing to the giant stack of projects I have around though... (especially since I tend to treat it as a stack instead of a FIFO, so it "somehow" doesn't ever get smaller)

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact