Now I know what you’re thinking… didn’t they try do this with the OLPC ($100 Computer). And you’re right they did and they sort of succeeded, although that computer ended up being a little more than $100. The problem is that the OLPC, while an impressive machine and piece of engineering is still too expensive and still a rather complex piece of equipment. It runs Linux, has a colour screen, wireless and all kinds of other stuff.
Anyway back to the $12 computer, the idea is to build a machine based on 1980’s technology. The machine that they’re looking at using at the moment is based on a NES console, its got a 8bit processor in it and will even take the old NES cartridges. These machines run at less than 10mhz have less than 1MB of RAM, often only 32K and all the software is contained in a couple of ROM chips.
Think back to things like Apple II’s or Commodore64, Spectrum’s, BBC Micro’s or VIC20’s and you’ll have a pretty good idea of the kind of machine I’m talking about. These machines are often lower spec than the original IBM XT.
The problem with these machines of course is that they won’t run modern operating systems so you aren’t going to get Linux or Windows running on it. A few of them could run some or other early version of DOS or CPM. Linux hasn’t been ported to an 8bit machine and never will, and as far as I know Windows never worked on a 8bit machine (I could be wrong… Windows 2.0 had really low requirements.)? So you’re probably thinking that you can’t have things like Multitasking or Web browsers on your $12 computer, but the truth is you can. The Web browser won’t work against fancy AJAX enabled sites or load Flash pages but plain text it should handle. Simple multitasking is available, along with word processors and spreadsheet applications and there are thousands of games and other apps available for the various platforms.
Your cell phone has more processing power than one of these devices, some new calculators have more processing power! But you don’t need it, not to do basic tasks. Basic tasks like email, word processing and spreadsheets and some web browsing. The web browsing bit is going to be hard though because modern sites aren’t designed to work on text only browsers but you’ll still be able to access some of the info on the web.
How would I go about building a $12 computer?
Firstly I would pick a platform, something that exists already ideally something I don’t have to license (so the patents on it need to be older than 20years so they’ve expired) something with plenty of existing compatible software and that has a reasonably well designed architecture. Something that can be manufactured cheaply. You’ll need to make sure you pick hardware that is still being made today, you may have to update the hardware a little but it’ll be the same core system. The platform would then dictate what software/OS I would use.
The system that these guys are looking at isn’t a bad choice, and leaving it compatible with the NES cartridges would mean there is plenty of software out there for it. Personally I’m divided between an Apple II based system or a Commodore 64 based system.
The Apple II was an incredible system and there is plenty of software available for it, you may run into problems licensing stuff from Apple though and I’m not sure if there are many Apple II compatible systems currently on the market, which would make R & D alot more expensive. But its still an awesome machine.
My other choice though is the Commodore 64 which was an extremely popular computer from the 80’s that out sold even the mighty Apple II at one time. The cool thing about the C64 is that there are a couple of “modern” versions of it around, there is also a C64 on a chip designed by Jeri Ellsworth that was used for 20games in a joystick tv game. These joysticks can be hacked so that you can add things like disk drives and keyboards to them and unlock a full C64. The C64 had tons of software and even today has a huge following from the enthusiast community so finding developers wouldn’t be as hard as using some of the other weirder platforms.
Operating Systems and graphical interfaces for 8bit hardware isn’t that hard to find and some of them even have DTP software and web browsers.
As you can see I’ve given this quiet a bit of thought, it is possible and while it wouldn’t be anywhere near as fancy as a modern PC based system like the OLPC it may have just the right value for just the right price.
Below are just some of the pages I found doing my research into this:
Slashdot Article that started me thinking.
$12 Computer Article that the Slashdot entry linked to.
Commodore C64 Wikipedia Page. (Lots of info on the C64)
C-One Wikipedia Page. (Is a modern day version of the C64 developed by Jeri Ellsworth)
Jeri Ellsworth’s Wikipedia Page. (Got alot of info on the various C64 hardware shes developed.)
GEOS (Wikipedia) – Graphical OS originally developed for the C64
SymbOS – Graphical multitasking OS developed for the Z80 Processor.
SymbOS Wikipedia Page
TinyOS – OS for 8bit processors.
Contiki – Graphical OS for 8bit processors with a webbrowser and TCP/IP stack.
NES Software Development website.