Announce: Acheron VM
Posted: Wed Jul 25, 2012 4:49 am
It's finally up and running, and more importantly, documented:
Acheron VM - Virtual 16-bit CPU for 6502 computers
In a nutshell
I'd really appreciate feedback on any aspect you'd care to comment about, and it could use others' testing.
I'm going to move it to a publicly hosted VCS at some point, but for preview it's currently hidden away on my personal site.
Acheron VM - Virtual 16-bit CPU for 6502 computers
In a nutshell
- 16-bit fully orthogonal registers, through a 16-wide sliding register window
- 16*16=32-bit integer multiplication, and 32/16 division with remainder
- Carry stack holds 8 prior carry results
- Real exception handling and "finally" clauses, built on general non-local returns
- Inline native 6502 and Acheron code together
- Designed with easy task switching in mind
- Interrupt break & single-stepping hook
- Takes less than 1.5KB
- Dirt simple to expand or modify the instruction set, to customize for size, speed, and features
- Automatic generation of instruction set documentation
- MIT license
- Significantly increase code density over native code for complex data-oriented operations
- Achieve better speed than other VMs/interpreters (threaded Forth, Sweet16, various BASICs, etc)
- Good compiler target for high level languages
- Collect a contributed stable of custom instructions and modifications to the VM
I'd really appreciate feedback on any aspect you'd care to comment about, and it could use others' testing.
I'm going to move it to a publicly hosted VCS at some point, but for preview it's currently hidden away on my personal site.