Forgot your password?
typodupeerror
User Journal

Journal: The CP/M based $30 OLPC project, anyone?

Journal by eniac42
Recently I have been looking at the hardware of certain MP3 players - the so called "S1MP3" players.

http://en.wikipedia.org/wiki/S1_MP3_Player)
http://www.s1mp3.org/en/

These little mp3 players are neat devices - they are based around a Z80-compatible ATJ2085 processor - (http://www.s1mp3.org/files/datasheets/ATJ2085/ATJ2085_datasheet_v1.5.pdf)
They are clocked at up to 50 mhz, and can address from 128MB up to 2 Gigabytes of banked RAM, address a small LCD display (some of the MP4 players have 320x200 OLCD screens), a software controlled USB bus interface, a DSP stereo audio output, and so on..

Instead of re-inventing everything with the proposed "Swan" API, which sounds like it is not progressing fast, (no criticism - I have been there..) why not just hack and implement CP/M (maybe +GSX) on these devices? This was the Operating System that used to run on 8080/Z80 CPU's back in the old days - later it became CP/M 86, then DR-DOS, then (currently) OpenDos. There are thousands of Shareware/Freeware/Open source programs for CP/M, and the OS itself is now open software. Being over 20 years old, there are no software patent issues to worry about.

CP/M 2.2 used to run in a few Kilobytes RAM, and it could take care of accessing the basic peripherals - emulated ASCII terminal, FAT (FlashRAM) drives and so on.. Just implement the extra SWAN API features needed as "unimplemented" (in CP/M) INT/CALL routines.

Other observations - a USB keyboard could be connected via the USB port, with some clever hacking to make the USB bus interface act as a master USB device server, operational under CP/M. Or, a spare 5v input line could serve to read a standard (cheap) PC Keyboard serial interface line. If input is via external keyboard, there would be spare output lines - for instance a simple UHF modulator could be driven directly - heck, with a bit of 74xx logic and a UHF modulator (AKA ZX81/Spectrum).

In short, could these very-common-devices serve as a sort of uber-cheap OLPC project for the third world? And would there be any old Z80 coders out there prepared to work on it?

My idea of roughing it turning the air conditioner too low.

Working...