Micro electonics: Parallax Propeller
Filed under hardware on feb 23, 2010
Recently I have acquired a Parallax Propeller development board. I am investigating how to emulate DOS text mode (80x25 @ 16 colors) on this device, and ran into a few problems.
The specs of the Parallax Propeller:
- 8 x 10 MHz RISC processor
- 32 kB EEPROM
- 32 kB RAM
- 512 x 32 bit RAM per core
- USB/Serial interface
- 32 digitial I/O ports
- VGA-ready
- PS2-ready
So, a quick calculation shows that this is by far not enough for even simple 16 color ANSI rendition. This would require at least (80 * 25 * 16 * 2 = 64000 =~ ) 64 kB of memory to buffer the characters and their foreground and background colors.
I have ordered 256 kB of RAM which will serve as a video buffer, and 128 kB of EEPROM to store the Code Page 437 character sets. The video output will be using approximately 5 to 6 CPU cores, which leaves 1 core for interfacing the SD card and 1 core for handling the PS/2 inputs.
Secondly, I have never done any true multi-processor programming! This nifty little device has 8 cores or cogs which are signalled by the hub. The hub takes care of invoking each active cog in a round-robin fashion, allowing all cogs to share 32 I/O pins, 2 shared video memory buffers and the built-in clock.
It’s nice to learn about VGA signaling, but it’s quite complex. Here are the parameters I try to emulate on my Parallax Propeller board:
______________________ ________
________| VIDEO |________| VIDEO (next line)
|-C-|----------D-----------|-E-|
__ ______________________________ ___________
|_| |_|
|B|
|---------------A----------------|
A: scanline time
B: sync pulse length
C: back porch
D: active video time
E: front porch
The default Propeller OBEX VGA Tile Driver delivers 1280x768 pixels and is a good basis for writing my own version of a VGA driver.
Hopefully this project results in a working demo, I will keep you posted :)
Post your feedback
You can use this form to leave your feedback. Your insights are always appreciated.