X-Git-Url: https://git.wirehaze.ovh/lifeboot.git/blobdiff_plain/b18225d8568d8f36da6109113621a001a627da1f..3d90482f86a28c1ac8d295a389f16d007eaee3ea:/lifeboot.asm diff --git a/lifeboot.asm b/lifeboot.asm index a3b4658..60b5ea4 100644 --- a/lifeboot.asm +++ b/lifeboot.asm @@ -1,15 +1,18 @@ bits 16 org 0x7c00 -%define ORG 0x7c00 ; where we are loaded initially +%define ORG 0x7c00 +%define VGA 0xb8000 -%define VGA_SEG 0xb800 ; video memory starts at 0xb8000 -%define VGA_COL 80 -%define VGA_ROW 25 -%define VGA_LENW VGA_COL * VGA_ROW +%define COLS 80 +%define ROWS 25 + +%define GRID ORG + 512 +%define NEXT_GRID GRID_CUR + COLS * ROWS + +%define DEAD ' ' +%define ALIVE '#' -%define FILL_CHAR 0xfa ; middle dot -%define FILL_COLOR 0x04 ; red on black %define PRINT_COLOR 0x07 ; grey on black ; entry point ----------------------------------------------------------------- @@ -32,11 +35,11 @@ mov ah, 0x01 int 0x10 ; clear video memory -mov cx, VGA_LENW -mov ax, VGA_SEG +mov cx, COLS * ROWS +mov ax, VGA >> 4 mov es, ax xor di, di -mov ax, (FILL_COLOR << 8) | FILL_CHAR +mov ax, (PRINT_COLOR << 8) | DEAD rep stosw ; fill cx words at es:di with ax