Virtual computer 2 is finished.
I have not made a start on documentation yet, which will be particularly difficult because VC2 is a lot more complex than VC1. Anyway, here's a list of major changes:
- Accumulator and Load/Store architecture hybrid. 16 registers (Accumulator + 12 storage + UDP + LDP + IP). Architecture is completely different from VC1, so VC2 is therefore incapable of running VC1 programs. You could code an emulator for VC1 on VC2 if you really needed to do that!
- Main interface colour is now black rather than grey. Screen edges are indicated by a box around their perimeters.
- More addressing modes. Instructions can now use immediate, register or memory addressing. Memory addressing is only available to a few machine instructions as it is a RISC architecture.
- Screens are now 32*24 rather than 32*16.
- The assembler is now much more sophisticated and is capable of stopping when syntax errors are made.
- Debug mode shows more information.
- VC2's code is highly modular and written so that adding new opcodes is easy (please credit me if you publish a modified VC2, thank you).
- VC2's code is more efficient.
- VC2 takes a shorter time to do the same task as VC1. This is mainly due to improved code density of VC2 machine code.
- VC2 is much more user-friendly than VC1. It is easier to program and the debug features are easier to use and more powerful.
- Just generally looks nicer.