|
|
@ -250,12 +250,16 @@ ProtectedModeBaby: |
|
|
|
mov fs, ax |
|
|
|
mov gs, ax |
|
|
|
|
|
|
|
|
|
|
|
; Setup stack |
|
|
|
mov esp, 0x8000000 |
|
|
|
mov esp, (100 << 20) - 1 ; 100M Addressable |
|
|
|
mov ebp, esp |
|
|
|
|
|
|
|
; Space for dynamic variables |
|
|
|
sub esp, 200*4 ; 200 32-bit integers |
|
|
|
|
|
|
|
|
|
|
|
push ebp |
|
|
|
|
|
|
|
DrawStuff: |
|
|
|
xor ecx, ecx |
|
|
@ -307,7 +311,7 @@ DrawStuff: |
|
|
|
cmp edx, VIDEO_Y_RES-2 |
|
|
|
jne .DrawLoop |
|
|
|
|
|
|
|
|
|
|
|
pop ebp |
|
|
|
|
|
|
|
|
|
|
|
cld |
|
|
@ -391,48 +395,53 @@ DrawStuff: |
|
|
|
jmp .print_loop |
|
|
|
.break_print_loop: |
|
|
|
|
|
|
|
lea edi, [VIDEO + ScreenCoord(1, 24)] |
|
|
|
mov ecx, 34 |
|
|
|
mov eax, 0 |
|
|
|
rep stosd |
|
|
|
lea esi, [VarLabels] |
|
|
|
lea edi, [ConversionBuffer] |
|
|
|
mov ecx, VarLabelsLength |
|
|
|
call CopyData |
|
|
|
|
|
|
|
lea esi, [ConversionBuffer] |
|
|
|
lea edi, [VIDEO + ScreenCoord(0, 24)] |
|
|
|
mov ah, 0x0f |
|
|
|
call PrintString |
|
|
|
|
|
|
|
|
|
|
|
; lea esi, [ConversionBuffer] |
|
|
|
mov eax, dword [Px] |
|
|
|
sar eax, 4 |
|
|
|
call IntToString |
|
|
|
|
|
|
|
push ecx |
|
|
|
|
|
|
|
lea esi, [ConversionBuffer] |
|
|
|
mov edx, 6 |
|
|
|
; lea esi, [ConversionBuffer] |
|
|
|
; ecx set by IntToString |
|
|
|
mov edx, 7 |
|
|
|
mov al, ' ' |
|
|
|
call RightJustifyString |
|
|
|
|
|
|
|
|
|
|
|
lea edi, [VIDEO + ScreenCoord(1, 24)] |
|
|
|
mov ah, 0x0f |
|
|
|
; esi still ConversionBuffer |
|
|
|
mov ecx, edx |
|
|
|
lea edi, [VIDEO + ScreenCoord(StrXStart, 24)] |
|
|
|
mov ah, 0x70 |
|
|
|
call PrintString |
|
|
|
|
|
|
|
lea esi, [ConversionBuffer] |
|
|
|
pop eax |
|
|
|
|
|
|
|
; lea esi, [ConversionBuffer] |
|
|
|
mov eax, dword [Py] |
|
|
|
sar eax, 4 |
|
|
|
call IntToString |
|
|
|
|
|
|
|
lea esi, [ConversionBuffer] |
|
|
|
lea edi, [VIDEO + ScreenCoord(40, 24)] |
|
|
|
mov ah, 0x0f |
|
|
|
call PrintString |
|
|
|
|
|
|
|
; lea esi, [ConversionBuffer] |
|
|
|
; ecx set by IntToString |
|
|
|
mov edx, 7 |
|
|
|
mov al, ' ' |
|
|
|
call RightJustifyString |
|
|
|
|
|
|
|
; esi still ConversionBuffer |
|
|
|
mov ecx, edx |
|
|
|
lea edi, [VIDEO + ScreenCoord(StrYStart, 24)] |
|
|
|
mov ah, 0x70 |
|
|
|
call PrintString |
|
|
|
|
|
|
|
; add edi, 12*2 |
|
|
|
|
|
|
|
; mov eax, dword [Py] |
|
|
|
; sar eax, 4 |
|
|
|
; call IntToString |
|
|
|
|
|
|
|
; add edi, 12*2 |
|
|
|
; mov eax, [Zoom] |
|
|
|
; sar eax, 9 |
|
|
|
; call IntToString |
|
|
|
|
|
|
|
add [ColorOffset], dword 1 |
|
|
|
|
|
|
@ -462,7 +471,17 @@ Reboot: |
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;; |
|
|
|
;; Strings |
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;; |
|
|
|
VarLabels: db "X:" |
|
|
|
StrXStart equ $-VarLabels |
|
|
|
db " " |
|
|
|
db "Y:" |
|
|
|
StrYStart equ $-VarLabels |
|
|
|
db " " |
|
|
|
VarLabelsLength equ $-VarLabels |
|
|
|
ProtectedWelcomeStr: db " Placeholder for SingOS - 32 bit edition! ", 0 |
|
|
|
ProtectedWelcomeStrLength equ $-ProtectedWelcomeStr |
|
|
|
TestStr: db "hello, world" |
|
|
|
TestStrLength equ $-TestStr |
|
|
|
ThereWasSomethingStr: db " KEY = '" |
|
|
|
Key: db " ' ", 0 |
|
|
|
Px: dd 0 |
|
|
|