From: Eleni Maria Stea Date: Tue, 5 Jan 2021 13:04:13 +0000 (+0200) Subject: display default palette X-Git-Url: https://eleni.mutantstargoat.com/git/?p=bootboot;a=commitdiff_plain;h=1f613730ec728a23dd0471d9ab0f60931ea9e19f display default palette --- diff --git a/bb.asm b/bb.asm index fee43e4..397bb30 100644 --- a/bb.asm +++ b/bb.asm @@ -96,7 +96,7 @@ clearscreen: ret saved_drive_num: - db 0 ; declare byte 0 + db 0 ; define byte 0 ; assembler trick: write as many 0 needed to fill 510 bytes ; $ <- means here @@ -104,7 +104,29 @@ saved_drive_num: dw 0aa55h sector_2: - mov ax, 5 - call clearscreen +; disp palette + mov ax, 0a000h ; video segment points to video memory + mov ds, ax + mov bx, 0 ; video offset + mov cx, 0 ; y +.y_loop: + mov dx, 0 ; x +.x_loop: + mov ax, dx + test ax, 0ff00h ; lower 8 bits 0, highest 1, Z flag is set while < 256, test = and but doesnt change ax + jz .skip_clear_ax + mov al, 0 +.skip_clear_ax: + mov [bx], al ; pixel written on screen + inc bx ; increment + inc dx + cmp dx, 320 + jnz .x_loop + inc cx + cmp cx, 200 + jnz .y_loop + +; fix palette (256 colors) + .inf_loop: jmp .inf_loop