Machines › Computers › Parallax › Propeller 2
Propeller 2
2020
The Parallax Propeller 2 (P2X8C4M64P, 2020) is a distinctive multicore microcontroller: eight identical 32-bit processors (cogs) share a common 512KB hub RAM and a set of 64 smart I/O pins. Here it runs real hand-assembled Propeller 2 PASM on a from-scratch eight-cog core, with an on-board eight-LED bank on pins P56 to P63. Open the debugger to single-step cog 0 with a Propeller 2 disassembler. The board has no on-board speaker, so it is silent.
Propeller 2 Online Emulator
Play Propeller 2 using JavaScript directly in your browser.
Controls
Runs real hand-assembled Parallax Propeller 2 (P2X8C4M64P) PASM2 on a from-scratch 8-cog core. Pick a program with the ROM selector. The on-board surface is an eight-LED bank on pins P56..P63 (the Parallax P2 Eval Board's blue user LEDs), driven by real DIRB/OUTB writes and the P2 pin instructions (DRVH/DRVL/DRVNOT/OUTH/OUTL). "Blink one LED" toggles P56 with DRVNOT paced by WAITX; "Knight-rider LED chase" sweeps a single lit LED back and forth across all eight; "Binary counter" shows a live binary count on the bank; "CORDIC sine VU bar" feeds an angle to the P2 CORDIC solver with QROTATE, reads Y=amp*sin with GETQY and lights a bar that rises and falls with the sine wave; "Smart pin blinks the LED" configures smart pin P56 with WRPIN/WXPIN, enables it with DIRH and then idles while the smart-pin hardware toggles the LED on its own; "Two cogs, two LEDs" launches a SECOND cog with COGINIT (loaded out of hub RAM) that blinks P63 in parallel with cog 0 blinking P56 — watch the C0/C1 lamps light. Open the debugger, or add ?debug, to single-step cog 0, read its PC / C / Z flags, the CORDIC QX/QY registers and the P2 special registers PA/PB/PTRA/PTRB/DIRA/DIRB/OUTA/OUTB/INA/INB, disassemble the cog RAM with the new Propeller 2 decoder and set breakpoints and hub write watchpoints. The P2 board here has no on-board speaker, so it is honestly silent.
Runs real hand-assembled Parallax Propeller 2 (P2X8C4M64P) PASM2 on a from-scratch 8-cog core. Pick a program with the ROM selector. The on-board surface is an eight-LED bank on pins P56..P63 (the Parallax P2 Eval Board's blue user LEDs), driven by real DIRB/OUTB writes and the P2 pin instructions (DRVH/DRVL/DRVNOT/OUTH/OUTL). "Blink one LED" toggles P56 with DRVNOT paced by WAITX; "Knight-rider LED chase" sweeps a single lit LED back and forth across all eight; "Binary counter" shows a live binary count on the bank; "CORDIC sine VU bar" feeds an angle to the P2 CORDIC solver with QROTATE, reads Y=amp*sin with GETQY and lights a bar that rises and falls with the sine wave; "Smart pin blinks the LED" configures smart pin P56 with WRPIN/WXPIN, enables it with DIRH and then idles while the smart-pin hardware toggles the LED on its own; "Two cogs, two LEDs" launches a SECOND cog with COGINIT (loaded out of hub RAM) that blinks P63 in parallel with cog 0 blinking P56 — watch the C0/C1 lamps light. Open the debugger, or add ?debug, to single-step cog 0, read its PC / C / Z flags, the CORDIC QX/QY registers and the P2 special registers PA/PB/PTRA/PTRB/DIRA/DIRB/OUTA/OUTB/INA/INB, disassemble the cog RAM with the new Propeller 2 decoder and set breakpoints and hub write watchpoints. The P2 board here has no on-board speaker, so it is honestly silent.
Runs real hand-assembled Parallax Propeller 2 (P2X8C4M64P) PASM2 on a from-scratch 8-cog core. Pick a program with the ROM selector. The on-board surface is an eight-LED bank on pins P56..P63 (the Parallax P2 Eval Board's blue user LEDs), driven by real DIRB/OUTB writes and the P2 pin instructions (DRVH/DRVL/DRVNOT/OUTH/OUTL). "Blink one LED" toggles P56 with DRVNOT paced by WAITX; "Knight-rider LED chase" sweeps a single lit LED back and forth across all eight; "Binary counter" shows a live binary count on the bank; "CORDIC sine VU bar" feeds an angle to the P2 CORDIC solver with QROTATE, reads Y=amp*sin with GETQY and lights a bar that rises and falls with the sine wave; "Smart pin blinks the LED" configures smart pin P56 with WRPIN/WXPIN, enables it with DIRH and then idles while the smart-pin hardware toggles the LED on its own; "Two cogs, two LEDs" launches a SECOND cog with COGINIT (loaded out of hub RAM) that blinks P63 in parallel with cog 0 blinking P56 — watch the C0/C1 lamps light. Open the debugger, or add ?debug, to single-step cog 0, read its PC / C / Z flags, the CORDIC QX/QY registers and the P2 special registers PA/PB/PTRA/PTRB/DIRA/DIRB/OUTA/OUTB/INA/INB, disassemble the cog RAM with the new Propeller 2 decoder and set breakpoints and hub write watchpoints. The P2 board here has no on-board speaker, so it is honestly silent.
Runs real hand-assembled Parallax Propeller 2 (P2X8C4M64P) PASM2 on a from-scratch 8-cog core. Pick a program with the ROM selector. The on-board surface is an eight-LED bank on pins P56..P63 (the Parallax P2 Eval Board's blue user LEDs), driven by real DIRB/OUTB writes and the P2 pin instructions (DRVH/DRVL/DRVNOT/OUTH/OUTL). "Blink one LED" toggles P56 with DRVNOT paced by WAITX; "Knight-rider LED chase" sweeps a single lit LED back and forth across all eight; "Binary counter" shows a live binary count on the bank; "CORDIC sine VU bar" feeds an angle to the P2 CORDIC solver with QROTATE, reads Y=amp*sin with GETQY and lights a bar that rises and falls with the sine wave; "Smart pin blinks the LED" configures smart pin P56 with WRPIN/WXPIN, enables it with DIRH and then idles while the smart-pin hardware toggles the LED on its own; "Two cogs, two LEDs" launches a SECOND cog with COGINIT (loaded out of hub RAM) that blinks P63 in parallel with cog 0 blinking P56 — watch the C0/C1 lamps light. Open the debugger, or add ?debug, to single-step cog 0, read its PC / C / Z flags, the CORDIC QX/QY registers and the P2 special registers PA/PB/PTRA/PTRB/DIRA/DIRB/OUTA/OUTB/INA/INB, disassemble the cog RAM with the new Propeller 2 decoder and set breakpoints and hub write watchpoints. The P2 board here has no on-board speaker, so it is honestly silent.
Runs real hand-assembled Parallax Propeller 2 (P2X8C4M64P) PASM2 on a from-scratch 8-cog core. Pick a program with the ROM selector. The on-board surface is an eight-LED bank on pins P56..P63 (the Parallax P2 Eval Board's blue user LEDs), driven by real DIRB/OUTB writes and the P2 pin instructions (DRVH/DRVL/DRVNOT/OUTH/OUTL). "Blink one LED" toggles P56 with DRVNOT paced by WAITX; "Knight-rider LED chase" sweeps a single lit LED back and forth across all eight; "Binary counter" shows a live binary count on the bank; "CORDIC sine VU bar" feeds an angle to the P2 CORDIC solver with QROTATE, reads Y=amp*sin with GETQY and lights a bar that rises and falls with the sine wave; "Smart pin blinks the LED" configures smart pin P56 with WRPIN/WXPIN, enables it with DIRH and then idles while the smart-pin hardware toggles the LED on its own; "Two cogs, two LEDs" launches a SECOND cog with COGINIT (loaded out of hub RAM) that blinks P63 in parallel with cog 0 blinking P56 — watch the C0/C1 lamps light. Open the debugger, or add ?debug, to single-step cog 0, read its PC / C / Z flags, the CORDIC QX/QY registers and the P2 special registers PA/PB/PTRA/PTRB/DIRA/DIRB/OUTA/OUTB/INA/INB, disassemble the cog RAM with the new Propeller 2 decoder and set breakpoints and hub write watchpoints. The P2 board here has no on-board speaker, so it is honestly silent.
Runs real hand-assembled Parallax Propeller 2 (P2X8C4M64P) PASM2 on a from-scratch 8-cog core. Pick a program with the ROM selector. The on-board surface is an eight-LED bank on pins P56..P63 (the Parallax P2 Eval Board's blue user LEDs), driven by real DIRB/OUTB writes and the P2 pin instructions (DRVH/DRVL/DRVNOT/OUTH/OUTL). "Blink one LED" toggles P56 with DRVNOT paced by WAITX; "Knight-rider LED chase" sweeps a single lit LED back and forth across all eight; "Binary counter" shows a live binary count on the bank; "CORDIC sine VU bar" feeds an angle to the P2 CORDIC solver with QROTATE, reads Y=amp*sin with GETQY and lights a bar that rises and falls with the sine wave; "Smart pin blinks the LED" configures smart pin P56 with WRPIN/WXPIN, enables it with DIRH and then idles while the smart-pin hardware toggles the LED on its own; "Two cogs, two LEDs" launches a SECOND cog with COGINIT (loaded out of hub RAM) that blinks P63 in parallel with cog 0 blinking P56 — watch the C0/C1 lamps light. Open the debugger, or add ?debug, to single-step cog 0, read its PC / C / Z flags, the CORDIC QX/QY registers and the P2 special registers PA/PB/PTRA/PTRB/DIRA/DIRB/OUTA/OUTB/INA/INB, disassemble the cog RAM with the new Propeller 2 decoder and set breakpoints and hub write watchpoints. The P2 board here has no on-board speaker, so it is honestly silent.
Configurations
| Configuration | Emulator | Machine | OS | Legal | |
|---|---|---|---|---|---|
| Propeller 2 — Blink one LED | Parallax Propeller 2 (P2X8C4M64P) | Propeller 2 | open | Open ⛶ | |
| Propeller 2 — Knight-rider LED chase | Parallax Propeller 2 (P2X8C4M64P) | Propeller 2 | open | Open ⛶ | |
| Propeller 2 — Binary counter | Parallax Propeller 2 (P2X8C4M64P) | Propeller 2 | open | Open ⛶ | |
| Propeller 2 — CORDIC sine VU bar | Parallax Propeller 2 (P2X8C4M64P) | Propeller 2 | open | Open ⛶ | |
| Propeller 2 — Smart pin blinks the LED | Parallax Propeller 2 (P2X8C4M64P) | Propeller 2 | open | Open ⛶ | |
| Propeller 2 — Two cogs, two LEDs | Parallax Propeller 2 (P2X8C4M64P) | Propeller 2 | open | Open ⛶ |
Chips
Emulators
| Emulator | Type | License | Site |
|---|---|---|---|
| Parallax Propeller 2 (P2X8C4M64P) | online | MIT | Website ↗ |