VESA draw some speedup (line, points, text, numbers)

git-svn-id: svn://kolibrios.org@2438 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Marat Zakiyanov (Mario79)
2012-03-08 19:10:26 +00:00
parent 1fca7a07cb
commit 4832ce7a33
4 changed files with 24 additions and 8 deletions

View File

@@ -402,6 +402,8 @@ high_code:
mul [_display.height]
mov [_WinMapSize], eax
call calculate_fast_getting_offset_for_WinMapAddress
mov esi, BOOT_VAR+0x9080
movzx ecx, byte [esi-1]
mov [NumBiosDisks], ecx
@@ -4793,7 +4795,22 @@ read_from_hd: ; Read from hd - fn not in use
paleholder:
ret
;------------------------------------------------------------------------------
align 4
calculate_fast_getting_offset_for_WinMapAddress:
; calculate data area for fast getting offset to _WinMapAddress
mov eax, [_display.width]
mov ecx, [_display.height]
inc ecx
mov edi, d_width_calc_area
cld
@@:
stosd
add eax, [_display.width]
dec ecx
jnz @r
ret
;------------------------------------------------------------------------------
align 4
set_screen:
cmp eax, [Screen_Max_X]
@@ -4830,6 +4847,8 @@ set_screen:
test eax, eax
jz .epic_fail
call calculate_fast_getting_offset_for_WinMapAddress
popad
call repos_windows