HOVALAAG (Hand-Optimizing VLIW Assembly Language as a Game) is a free Zachlike game.
This is an implementation of the VLIW processor from the game. Thank you to @nothings for the fun game, making the assembler public domain, and for permission to create this hardware implementation.
The processor uses 32-bit instructions and has 12-bit I/O. The instruction and data are therefore passed in and out over 10 clocks per processor clock.
More details in the github repo.
The assembler can be downloaded to generate programs.
The subcycle counter can be reset independently of the rest of the processor, to ensure you can get to a known state without clearing all registers.
# | Input | Output |
---|---|---|
0 | Clock | Output 0 |
1 | Reset disable (resets enabled when low) | Output 1 |
2 | Input 0 or Reset (when high) | Output 2 |
3 | Input 1 or Reset subcycle count (when high) | Output 3 |
4 | Input 2 or enable ROSC (when high and reset enabled) | Output 4 |
5 | Input 3 | Output 5 |
6 | Input 4 | Output 6 |
7 | Input 5 | Output 7 |