The "Grand Plan" is to build a virtual P2 server/minicomputer.
What do I mean by this?
In a headless process I can start any number of arbitrary "P2s". Interaction with them would be done via some kind of client (be it curses, SDL, GL, or even web I suppose). Code loading, simulation, debugging etc... all via those clients.
Then, after a bit I'd build the thing for real.
Here's my current tasklist:
- Model the processor in OTP code.
- Bytecode disassembler (Primarily to verify that my parsing of the bytecode is accurate for calling the virtual OpCode dispatch table).
- Implement each OpCode in the VM.
- Build some kind of UI (Some kind of variant of a PDP-11/IMSAI 8080 type console would be just the ticket). Being able to stop/start/step/change speed of your system clock is something I miss from the bit-twiddling days. As the whole thing is virtual, it should be possible to do all the introspection you could possibly need to do.
- Build in hardware ;-)
The other advantage of using OTP to model this system is that I can generate any arbitrary number of P2s and link their pins in any way which means I can conceivably model meshes of P2s before building them.
I'm most of the way through parts 1 and 2. Part 3 scares me a little because I still don't fully understand how all the instructions work.
As we go.