Subversion Repositories Kolibri OS

Rev

Rev 2472 | Rev 2489 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2472 Rev 2480
Line 67... Line 67...
67
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
67
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 68... Line 68...
68
 
68
 
69
include 'macros.inc'
69
include 'macros.inc'
Line 70... Line 70...
70
include 'struct.inc'
70
include 'struct.inc'
Line 71... Line 71...
71
 
71
 
Line 72... Line 72...
72
$Revision: 2472 $
72
$Revision: 2480 $
Line 401... Line 401...
401
        mov     eax, [_display.width]
401
        mov     eax, [_display.width]
402
        mul     [_display.height]
402
        mul     [_display.height]
403
        mov     [_WinMapSize], eax
403
        mov     [_WinMapSize], eax
Line 404... Line 404...
404
 
404
 
-
 
405
        call    calculate_fast_getting_offset_for_WinMapAddress
-
 
406
; for Qemu or non standart video cards
-
 
407
; Unfortunately [BytesPerScanLine] does not always 
-
 
408
;                             equal to [_display.width] * [ScreenBPP] / 8
Line 405... Line 409...
405
        call    calculate_fast_getting_offset_for_WinMapAddress
409
        call    calculate_fast_getting_offset_for_LFB
406
 
410
 
407
        mov     esi, BOOT_VAR+0x9080
411
        mov     esi, BOOT_VAR+0x9080
408
        movzx   ecx, byte [esi-1]
412
        movzx   ecx, byte [esi-1]
Line 4847... Line 4851...
4847
        dec     ecx
4851
        dec     ecx
4848
        jnz     @r
4852
        jnz     @r
4849
        ret
4853
        ret
4850
;------------------------------------------------------------------------------
4854
;------------------------------------------------------------------------------
4851
align 4
4855
align 4
-
 
4856
calculate_fast_getting_offset_for_LFB:
-
 
4857
; calculate data area for fast getting offset to LFB
-
 
4858
        xor     eax, eax
-
 
4859
        mov     ecx, [_display.height]
-
 
4860
        inc     ecx
-
 
4861
        mov     edi, BPSLine_calc_area
-
 
4862
        cld
-
 
4863
@@:
-
 
4864
        stosd
-
 
4865
        add     eax, [BytesPerScanLine]
-
 
4866
        dec     ecx
-
 
4867
        jnz     @r
-
 
4868
        ret
-
 
4869
;------------------------------------------------------------------------------
-
 
4870
align 4
4852
set_screen:
4871
set_screen:
4853
        cmp     eax, [Screen_Max_X]
4872
        cmp     eax, [Screen_Max_X]
4854
        jne     .set
4873
        jne     .set
Line 4855... Line 4874...
4855
 
4874