TetrOS: bare-metal tetris
Features
- Compiles to a standalone disk image
- Written from scratch using only Nasm and Rust
- Custom BIOS bootloader
- 32-bit x86 OS
- Detailed comments. Read the makefile, then start in
./bios/main.asm
.
Non-Features
- Never tested on real hardware
- Minimal gameplay and graphics. These features aren't hard to implement, but also don't present any interesting challenges. I have other things to do.
🚀 Building and Running
- All scripts are in the makefile.
- To build and run, use
make qemu
.- Dependencies:
nasm
,cargo
, GNUbinutils
,qemu
- This will NOT work on MacOS. BSD
ld
does not work like GNUld
.
- Dependencies:
- Alternatively, a compiled disk image for the latest commit is here. This is the same file produced by
make
.- Download it and run
qemu-system-i386 -d cpu_reset -no-reboot -smp 1 -m 2048 -machine q35 -net none -serial stdio -fda "disk.img"
- Download it and run
📜 Resources
Used directly:
Useful background knowledge:
Description
Languages
Rust
78.2%
Assembly
17.4%
Makefile
2.7%
Python
1.7%