add installation and vm notes
parent
51c33e86ee
commit
4a5b268e2e
|
@ -0,0 +1,40 @@
|
||||||
|
# Spingle Installation
|
||||||
|
|
||||||
|
To compile Spingle, you will need:
|
||||||
|
|
||||||
|
- Any reasonably new C compiler
|
||||||
|
- pkg-config (any version)
|
||||||
|
- CMake (>=3.14)
|
||||||
|
- SDL2 (>=2.0.0)
|
||||||
|
- OpenGL (1.0 or newer, 1.3 for shaders)
|
||||||
|
|
||||||
|
For FLAC support:
|
||||||
|
|
||||||
|
- libFLAC (>=1.3.3)
|
||||||
|
|
||||||
|
For Ogg Vorbis support:
|
||||||
|
|
||||||
|
- libvorbis (>=1.3.6)
|
||||||
|
- libvorbisfile (>=1.3.6)
|
||||||
|
- libogg (>=1.3.4)
|
||||||
|
|
||||||
|
For Ogg Opus support:
|
||||||
|
|
||||||
|
- libopus (>=1.3.1)
|
||||||
|
- libopusfile (>=0.11)
|
||||||
|
- libogg (>=1.3.4)
|
||||||
|
|
||||||
|
For tracker music support:
|
||||||
|
|
||||||
|
- libmikmod (>=3.3.11)
|
||||||
|
|
||||||
|
To generate build files:
|
||||||
|
|
||||||
|
```
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake .. -DCMAKE_BUILD_TYPE=Release
|
||||||
|
```
|
||||||
|
|
||||||
|
After that, use the generated build files to compile. (For Makefiles simply run
|
||||||
|
`make`, for Ninja use `ninja`, etc.)
|
|
@ -0,0 +1,72 @@
|
||||||
|
## Spingle VM
|
||||||
|
|
||||||
|
### `OP_DONE`, `OP_RETURN`
|
||||||
|
|
||||||
|
Sets the 3 return globals to the 3 globals pointed to by A and returns control
|
||||||
|
to the statement pointed to by the top of the stack by restoring locals and
|
||||||
|
jumping.
|
||||||
|
|
||||||
|
### `OP_MUL_F`, `OP_DIV_F`, `OP_ADD_F`, `OP_SUB_F`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### `OP_MUL_V`
|
||||||
|
### `OP_MUL_FV`
|
||||||
|
### `OP_MUL_VF`
|
||||||
|
### `OP_ADD_V`
|
||||||
|
### `OP_SUB_V`
|
||||||
|
### `OP_EQ_F`
|
||||||
|
### `OP_EQ_V`
|
||||||
|
### `OP_EQ_S`
|
||||||
|
### `OP_EQ_E`
|
||||||
|
### `OP_EQ_FNC`
|
||||||
|
### `OP_NE_F`
|
||||||
|
### `OP_NE_V`
|
||||||
|
### `OP_NE_S`
|
||||||
|
### `OP_NE_E`
|
||||||
|
### `OP_NE_FNC`
|
||||||
|
### `OP_LE`
|
||||||
|
### `OP_GE`
|
||||||
|
### `OP_LT`
|
||||||
|
### `OP_GT`
|
||||||
|
### `OP_LOAD_F`
|
||||||
|
### `OP_LOAD_V`
|
||||||
|
### `OP_LOAD_S`
|
||||||
|
### `OP_LOAD_ENT`
|
||||||
|
### `OP_LOAD_FLD`
|
||||||
|
### `OP_LOAD_FNC`
|
||||||
|
### `OP_ADDRESS`
|
||||||
|
### `OP_STORE_F`
|
||||||
|
### `OP_STORE_V`
|
||||||
|
### `OP_STORE_S`
|
||||||
|
### `OP_STORE_ENT`
|
||||||
|
### `OP_STORE_FLD`
|
||||||
|
### `OP_STORE_FNC`
|
||||||
|
### `OP_STOREP_F`
|
||||||
|
### `OP_STOREP_V`
|
||||||
|
### `OP_STOREP_S`
|
||||||
|
### `OP_STOREP_ENT`
|
||||||
|
### `OP_STOREP_FLD`
|
||||||
|
### `OP_STOREP_FNC`
|
||||||
|
### `OP_NOT_F`
|
||||||
|
### `OP_NOT_V`
|
||||||
|
### `OP_NOT_S`
|
||||||
|
### `OP_NOT_ENT`
|
||||||
|
### `OP_NOT_FNC`
|
||||||
|
### `OP_IF`
|
||||||
|
### `OP_IFNOT`
|
||||||
|
### `OP_CALL0`
|
||||||
|
### `OP_CALL1`
|
||||||
|
### `OP_CALL2`
|
||||||
|
### `OP_CALL3`
|
||||||
|
### `OP_CALL4`
|
||||||
|
### `OP_CALL5`
|
||||||
|
### `OP_CALL6`
|
||||||
|
### `OP_CALL7`
|
||||||
|
### `OP_CALL8`
|
||||||
|
### `OP_STATE`
|
||||||
|
### `OP_GOTO`
|
||||||
|
### `OP_AND`
|
||||||
|
### `OP_OR`
|
||||||
|
### `OP_BITAND`
|
||||||
|
### `OP_BITOR`
|
Loading…
Reference in New Issue