Movie code
PUB Movie(n)
fat.openfile(string("taz.pmv"),"R")
repeat i from 1 to n
fat.readdata(pix.display,19200)
fat.closefile
Still image
(white line is a photo artifact)
Propeller video tile driver
Propeller Chip
The propeller chip - $7.95 for a clever little microprocessor that is easy to use. It is a 40 pin chip and you literally connect a keyboard to two pins, a mouse to two pins, a VGA display to 8 pins, an SD card to 4 pins and you still have pins left over for analog and digital I/O plus useful things like serial ports.
The really great part is the free software which is written in a modular way by many people and which you just plug together as you need it.
Movies
Let's jump right in. Take a piece of prewritten software that reads a file off an SD card, and glue together with some prewritten software that drives a VGA display. All I added here was a few lines of code to join them together, and now the propeller chip can play a movie.
Graphics
The propeller chip can drive a VGA display and a TV, both NTSC and PAL. This gives it a lot of flexibility with old (free) VGA CRT displays, LCD displays and new smaller TV displays. There is a very active developers forum and every few months someone posts a bigger and better video driver. Maybe soon we can surf the net? http://forums.parallax.com/forumdisplay.php?65-Propeller-Chip
Games
Add an external ram chip (costing $3.95) and the chip can run emulations of older computers. Pacman runs at just the right speed. I get eaten all the time, but my 12 year old son easily cleared the first level. This game even has sound. The propeller actually has eight microcontrollers running in parallel, so you can set up one to do sound, one to do graphics, one to handle the disk access etc.
Icons
The propeller can display icons which you can point and click using a mouse.
Programming Languages
The propeller is programmed natively in a language called Spin and in assembly (PASM). But it can also run C, and Basic, and Forth, and Pascal and even emulate the assembly code from other microprocessors. This is a game running in Z80 with a complete emulation of the Z80 chip running on the propeller.
Old-School Games
The propeller can run emulations of old chips and run old school games like Space Invaders.
Boring stuff
It can also run boring things like word processors. (You need the boring things to be able to write code to run the fun things!). It can even do really boring things, like turn lights on and off, control relays, sense analog and digital inputs, and drive text based LCD displays. All the things any microprocessor ought to be able to do.
CPM Emulation
Let's put an entire CP/M computer onto one board. VGA display driver. Keyboard. Two serial ports. 20x4 LCD port. SD card with eight 8Mb CP/M hard drives.
Thanks to a superb effort by heater (Finland) and cluso (Australia) and pullmoll (Germany) over on the Propeller forum, Z80 and CP/M now exist as a software simulation that works just as fast as a real Z80. Indeed, disk access is even faster than the real thing.
Download the disk image files, which come straight from the ALTAIR SIMH CP/M simulator. Files can also be transferred via xmodem from any terminal program. Program the Propeller chip using a program called BST which is included in the package. You can run Teraterm as a terminal or plug in a VGA monitor.
You can run word processors like Vedit or Wordstar and multiple programming languages including C, Basic, Fortran, Forth, Pascal and straight Assembly.
Eagle files (v5) here as well as a schematic in pdf. The parts list is available here Full package of the propeller files, disk images and a terminal program here as a zip file. More up to date eagle board files available on request.
Addit Sept 2010. The latest version of CP/M with MP/M is available here. This includes bug fixes to the keyboard with a bigger buffer.
June 2010. MPM was hanging every 15 minutes or so, particularly after a PIP or xmodem transfer of a large file. The solution has been to change the time constant between each user from 50 per second to 5 per second. A new version of MPM with the variable TICKS in MPMXIOS.MAC has been recompiled (on the propeller itself) and a new A.DSK image created. The package of disk files is here
In addition, this emulation contains updated xmodem files. There are three xmodem variants, customised for each user. XMODEMF is for USER 0, XM1 is for USER 1 and XM2 is for USER 2. These work with most terminal programs, eg Hyperterminal, Teraterm, Shamterm, though there are some minor problems with downloads to user 2 using Teraterm.
As of June 26, 2010 there is a new IDE programming environment here. This program changes every few days, but at present it is working well for programming assembly, sbasic and BDS C.
Useful tools
1) Serial port sniffer program
2) An IDE written in free vb.net for writing software (C, Basic, Assembly), easy file transfers etc
Screenshot running Wordstar. The board is generating this image directly via 8 pins from the Propeller chip.