IRQsoft Propeller 2 Docs
This site uses HyperJump! (Pat. ponding) technology!
Just start typing and be taken to the object of your intrigue! In theory, anyways; in practice a lot of the content isn't quite cooked yet.
But you can help! Contribute on GitHub! File an issue if you think something needs to be improved or try your own hand and file a PR.
(Also, the Instruction Table has entries for most of the instructions missing a detailed description)
What's a Propeller 2?
The Propeller 2 is a high-performance microcontroller developed and sold by Parallax Inc. It features 8 symmetric CPU+Memory+I/O cores (called "Cogs") connected to a common "Hub" memory and to 64 "Smart I/O Pins".
Short specs:
- High Speed (180 MHz spec, 320+MHz overclock easily attainable)
- 8 CPU cores
- Custom RISC-ish architecture
- 2 cycles for ALU instructions (including 16x16 multiply)
- 512x32 bits of "Cog RAM" (used as register file)
- 512x32 bits of "Lookup RAM" per Cog
- Hardware accelerated custom bytecode executor
- 3 prioritzed interrupts (mappable to many event sources)
- 512Kx8 bits of shared Hub RAM
- Fast transfer between Hub and Cog/Lookup RAM
- 64 "Smart Pins" with individual DAC, ADC, pullup, pulldown, schmitt trigger, comparator, logic and much more
- Fast streaming DMA between Hub memory and pins/DACs/ADCs
- Built-in video signal encoders for TMDS (DVI/HDMI) and analog VGA, YPbPr, NTSC/PAL composite/s-video
Overview
Pages
- Cog Resources
- LUT Memory
- Hub Memory
- Math and Logic Instructions
- CORDIC Coprocessor
- Pixel Mixer
- Branching Instructions
- Register Indirection
- I/O Pins (Mostly TODO)
- Streamer (TODO)
- Colorspace Converter (TODO)
- Events
- Interrupts (TODO)
- Hub Control
- Miscellaneous Instructions
- Bytecode Engine (XBYTE) (TODO)
- Boot Process (TODO)
Auxillary Topics
- Assembler Syntax (TODO)
- External RAM (TODO)
- Useful Documents
Recent changes
As per git commit history...
- September 19 2024, 20:47: Fix RDPIN/RQPIN
- August 6 2024, 13:50: Merge pull request #7 from p2docs/dependabot/bundler/rexml-3.3.3
- August 6 2024, 11:49: Bump rexml from 3.2.8 to 3.3.3
- July 28 2024, 01:08: Correct PWM dither info
- May 21 2024, 15:16: Update rubygems
- May 10 2024, 12:49: reword it