That got scrambled, somehow... try again...
section .text
call FLAT_install ; Enable 4Gb address space
mov si, goodflat
call write
mov ah, 0
int 16h
mov ax,4F01h ; Get VBE Mode Information
mov cx,103h ; Mode : 800x600, 256 colours
mov di,ModeInfoBlockPtr ; ES:DI now points to ModeInfoBlock
; structure
int 10h ; Do it!
cmp ax,4Fh ; Error?
jne near VBE_error
mov ax,4F02h ; Set VBE Mode
mov bx,0C103h ; Mode : 800x600, 256 colours,
; linear/flat, don't clear display
int 10h ; Do it!
cmp ax,4Fh ; Error?
jne near VBE_error
mov di,ModeInfoBlockPtr ; ES:DI now points to ModeInfoBlock
mov edi,dword [es:di+28h] ; ModeInfoBlock[28h] = 'PhysBasePtr'
xor eax,eax ; Clear EAX
mov es,ax ; ES:EDI now points to first address
; of video buffer
; mov [scr_buf],edi
push edi
mov ecx,1D4C0h ; 800 x 600 /4 dwords
a32 rep stosd ; Clear video buffer
pop edi
You probably don't want to have to reboot to "real real-mode dos" anyway... There may be a way to do it using dpmi, or such. I don't know how...
Best,
Frank