I see that you actually have something to boot.
Congratulations.
now you only need floppy/disk I/O and you can start to execute
programs....
as a suggestion:
replace the 'draw 8 pixels' portion of VESAPrint32
8 times
; plot accordingly
and dl, 10000000b
cmp dl, 0
jz .PointSkipA
.PointPlotA:
mov [edi], ecx
jmp .PointDoneA
.PointSkipA:
mov [edi], ebp
.PointDoneA:
add edi, 4
mov byte dl, dh
with
push eax
test dl, 10000000b
cmovnz eax, ecx
cmovz eax, ebp
mov [edi], eax
test dl, 1000000b
cmovnz eax, ecx
cmovz eax, ebp
mov [edi+4], eax
test dl, 100000b
cmovnz eax, ecx
cmovz eax, ebp
mov [edi+8], eax
test dl, 10000b
cmovnz eax, ecx
cmovz eax, ebp
mov [edi+12], eax
test dl, 1000b
cmovnz eax, ecx
cmovz eax, ebp
mov [edi+16], eax
test dl, 100b
cmovnz eax, ecx
cmovz eax, ebp
mov [edi+20], eax
test dl, 10b
cmovnz eax, ecx
cmovz eax, ebp
mov [edi+24], eax
test dl, 1b
cmovnz eax, ecx
cmovz eax, ebp
mov [edi+28], eax
add edi,32
which should execute significant faster (although still SLOW as it's a
graphics mode)Tom