Tetris for x86 in NASM.
Somewhat a port from C of Bare Metal Tetris.
- Levels with increasing gravity
- Line clear "animation"
- Lock delay with limited movement
ELF binaries and ISO images can be downloaded on the releases page.
- NASM, with support for
- Linker capable of emulating
genisoimage(from cdrkit) or
If the system linker does not support emulating
elf_i386, a cross-linker can
be built from GNU binutils. Use
./configure --target i386-elf,
LD = i386-elf-ld.
mkisofs instead of
GENISOIMAGE = mkisofs.
Make variables can be set on the command line or in
This will assemble and link a multiboot ELF file,
The default build is
debug, which includes debug symbols and runtime debug
release build excludes these.
There is also a test build, which features tests of the core functions rather than the game.
This will create a bootable ISO using GRUB Legacy,
make qemu BUILD=release
This will boot
tetrasm.elf in QEMU using multiboot.
If run in the debug build, waits for a debugger to attach.
make qemu-iso BUILD=release
This will boot
tetrasm.iso in QEMU.
This will attach GDB to QEMU started from
Copyright © 2015, Curtis McEnroe firstname.lastname@example.org
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.