diff --git a/src/mbootinfo.asm b/src/mbootinfo.asm index 2ff07e8..d7425f0 100644 --- a/src/mbootinfo.asm +++ b/src/mbootinfo.asm @@ -54,6 +54,8 @@ mbootgetinfo: mov [mbootinfo.fb_type], al inc esi + ;garbage? + add esi, 2 ;; r/g/b positions and masks mov ecx, 6 mov edi, mbootinfo.fb_rpos diff --git a/src/start32.asm b/src/start32.asm index 5042d9c..495dde2 100644 --- a/src/start32.asm +++ b/src/start32.asm @@ -97,6 +97,100 @@ start: call serialwrite add esp, 4 + +push stuff.rpostxt +call serialwrite +add esp, 4 + +push dword esp +push dword 10 +xor eax, eax +mov al, [mbootinfo.fb_rpos] +push dword eax +call __uitoa +add esp, 3*4 +push esp +call serialwrite +add esp, 4 + +push stuff.gpostxt +call serialwrite +add esp, 4 + +push dword esp +push dword 10 +xor eax, eax +mov al, [mbootinfo.fb_gpos] +push dword eax +call __uitoa +add esp, 3*4 +push esp +call serialwrite +add esp, 4 + +push stuff.bpostxt +call serialwrite +add esp, 4 + +push dword esp +push dword 10 +xor eax, eax +mov al, [mbootinfo.fb_bpos] +push dword eax +call __uitoa +add esp, 3*4 +push esp +call serialwrite +add esp, 4 + + + +push stuff.rmasksizetxt +call serialwrite +add esp, 4 + +push dword esp +push dword 10 +xor eax, eax +mov al, [mbootinfo.fb_rmasksize] +push dword eax +call __uitoa +add esp, 3*4 +push esp +call serialwrite +add esp, 4 + +push stuff.gmasksizetxt +call serialwrite +add esp, 4 + +push dword esp +push dword 10 +xor eax, eax +mov al, [mbootinfo.fb_gmasksize] +push dword eax +call __uitoa +add esp, 3*4 +push esp +call serialwrite +add esp, 4 + +push stuff.bmasksizetxt +call serialwrite +add esp, 4 + +push dword esp +push dword 10 +xor eax, eax +mov al, [mbootinfo.fb_bmasksize] +push dword eax +call __uitoa +add esp, 3*4 +push esp +call serialwrite +add esp, 4 + + add esp, 36 ;Clean reserved uitoa return string from stack ; Draw a test pixel to bottom right corner @@ -132,6 +226,7 @@ rOSkalogodraw: cmp byte bl, [roskalogo.h] jne .loop .done: +jmp hang xor eax, eax @@ -189,6 +284,14 @@ stuff: .fbdimensionsmsgpfx db 10, "Framebuffer dimensions: ", 0 .x db "x", 0 + + .rpostxt db 10, "rPos: ", 0 + .gpostxt db 10, "gPos: ", 0 + .bpostxt db 10, "bPos: ", 0 + .rmasksizetxt db 10, "rMaskSize: ", 0 + .gmasksizetxt db 10, "gMaskSize: ", 0 + .bmasksizetxt db 10, "bMaskSize: ", 0 + align 4096 bss_start: ;align 4096