P2BEE
Propeller 2 BEE is the ultimate emulation engine for the Propeller 2!
I know, that is a very strong claim. I’ll prove it.
Benefits:
- 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
License:
Creative Commons Attribution-ShareAlike 3.0 Unported
https://creativecommons.org/licenses/by-sa/3.0/legalcode
History:
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.
Code:
To be added