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 |