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.
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.
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.
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 :-)
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...
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.
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....
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.
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.
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 :))))
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)