Propeller 2 BEE is the ultimate emulation engine for the Propeller 2!

I know, that is a very strong claim. I’ll prove it.


  •  Maximum possible execution rate for byte-encoded instructions
  •   6.5 clocks per byte avearage execution rate for single cycle P2 instructions
  •   Makes writing processor emulators MUCH easier with much less code
  •   Makes writing any virtual machine much easier and run much faster
  •   Propeller 2 BEE is now the premiere emulation platform
  •   for P2BEE’s requiring less than 256 instructions rest of STACK is available

Designed for:

  •   Specifically for Propeller 2
  •   Fastest possible Spin VM
  •   Fastest possible Java VM
  •   Fastest and Smallest “compressed mode” for C and other compilers
  •   Fastest possible 8 bit processor emulation
  •   Can be for 16/32 bit emulators (in some cases)
  •   provides DRASTIC speed up for Spin, Forth, ZOG, Z80, 6809, 6502 and
  • every other emulator and virtual machine
  •   Retro Gaming
  •   Retro Console Emulation
  •   Retro Computer Emulation


Creative Commons Attribution-ShareAlike 3.0 Unported


I’ve been having a lot of fun with the Propeller 2 on my DE0-Nano, and I came up with a really cute trick that lead to developing P2BEE.

Today I verified that my P2BEE concept works, and that the engine works.

I could not wait to publish it – and I can’t wait to see all the different emulators and virtual machines that will be based on it!

Frequently Asked Questions:

Why is P2BEE so fast?

Propeller 2 BEE pulls out all the stops, and uses all of the tricks I could
think of to execute byte codes as fast as possible. It uses a specific order
of cached byte read and stack access instructions optimized for the pipeline
details of the Propeller 2.

How did you think of it?

I have developing software and hardware for the Parallax Propeller since it
became available. I always had a great interest in processor emulation for
retro computers and gaming.

Way back, I came up with the LMM virtual machine for the Propeller, allowing
it to execute larger programs than it could in the native “cog” memory.

Once I saw the specifications and instructions for the STACK memory, I started
thinking of non-obvious uses for it… and once Chip increased it to 256 longs
from the original 128 entr “CLUT” version, it became even more interesting.

256 longs… a very useful number. There are 256 possible values for a byte.

Thus P2BEE was born.

Single cycle propeller instructions stored in the STACK (CLUT) memory can be
executed by the inner P2BEE engine in 6.5 cycles (on average) – obviously
other instructions will take longer.

By storing various JMP instructions, sequences of instructions can be run
for every byte code – making coding VM’s and emulators immensely easier.


To be added

If you liked this article, please help us grow! "Like" us and let your friends know with the Twitter and Facebook buttons at the top left - We appreciate your support!