I'd never made a game in "pure" x86 assembly, so I decided I wanted to. It's built for a 30x80 terminal.
Allowed C/POSIX library functions
putchar
fcntl
tcgetattr
tcsetattr
malloc
free
poll
read
This list will diminish over time as I reduce dependencies on the C/POSIX library, but likely not by much.
There's PYTHON! What's that about?
I used python to write the launch file and test driver. The game is entirely written in assembly and works without either of these scripts.
The project structure is documented in project.md
.
On 64-bit macOS:
./launch
Pass -h
to view usage information:
./launch -h
A cross-platform (that is, Intel vs. Silicon) make
can be done using ./launch MAKE
.
Run make test
to run the CLI tests, which depend on toml
.