Rev 7122 | Rev 7136 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7122 | Rev 7132 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 7... | Line 7... | ||
7 | 7 | ||
Line 8... | Line 8... | ||
8 | $Revision: 7122 $ |
8 | $Revision: 7132 $ |
9 | 9 | ||
10 | struc VBE_VGAInfo { |
10 | struc VBE_VGAInfo { |
11 | .VESASignature dd ? ; char |
11 | .VESASignature dd ? ; char |
Line 729... | Line 729... | ||
729 | 729 | ||
730 | mov ax, word [es:si+0] ; resolution X |
730 | mov ax, word [es:si+0] ; resolution X |
Line 731... | Line 731... | ||
731 | mov bx, word [es:si+2] ; resolution Y |
731 | mov bx, word [es:si+2] ; resolution Y |
732 | 732 | ||
733 | 733 | ||
Line 734... | Line 734... | ||
734 | mov word [es:BOOT_X_RES], ax ; resolution X |
734 | mov word [es:BOOT_LO.x_res], ax ; resolution X |
735 | mov word [es:BOOT_Y_RES], bx ; resolution Y |
735 | mov word [es:BOOT_LO.y_res], bx ; resolution Y |
736 | mov word [es:BOOT_VESA_MODE], cx ; number of mode |
736 | mov word [es:BOOT_LO.vesa_mode], cx ; number of mode |
737 | 737 | ||
Line 750... | Line 750... | ||
750 | and cx, 0xfff |
750 | and cx, 0xfff |
751 | mov di, mi;0xa000 |
751 | mov di, mi;0xa000 |
752 | int 0x10 |
752 | int 0x10 |
753 | ; LFB |
753 | ; LFB |
754 | mov eax, [es:mi.PhysBasePtr];di+0x28] |
754 | mov eax, [es:mi.PhysBasePtr];di+0x28] |
755 | mov [es:BOOT_LFB], eax |
755 | mov [es:BOOT_LO.lfb], eax |
756 | ; ---- vbe voodoo |
756 | ; ---- vbe voodoo |
757 | BytesPerLine equ 0x10 |
757 | BytesPerLine equ 0x10 |
758 | mov ax, [es:di+BytesPerLine] |
758 | mov ax, [es:di+BytesPerLine] |
759 | mov [es:BOOT_PITCH], ax |
759 | mov [es:BOOT_LO.pitch], ax |
760 | ; BPP |
760 | ; BPP |
761 | cmp [es:mi.BitsPerPixel], 16 |
761 | cmp [es:mi.BitsPerPixel], 16 |
762 | jne .l0 |
762 | jne .l0 |
763 | cmp [es:mi.GreenMaskSize], 5 |
763 | cmp [es:mi.GreenMaskSize], 5 |
764 | jne .l0 |
764 | jne .l0 |
765 | mov [es:mi.BitsPerPixel], 15 |
765 | mov [es:mi.BitsPerPixel], 15 |
766 | .l0: |
766 | .l0: |
767 | mov al, byte [es:di+0x19] |
767 | mov al, byte [es:di+0x19] |
768 | mov [es:BOOT_BPP], al |
768 | mov [es:BOOT_LO.bpp], al |
769 | jmp .exit |
769 | jmp .exit |
Line 770... | Line 770... | ||
770 | 770 | ||
771 | .mode0x12_0x13: |
771 | .mode0x12_0x13: |
772 | mov byte [es:BOOT_BPP], 32 |
772 | mov byte [es:BOOT_LO.bpp], 32 |
Line 773... | Line 773... | ||
773 | or dword [es:BOOT_LFB], 0xFFFFFFFF; 0x800000 |
773 | or dword [es:BOOT_LO.lfb], 0xFFFFFFFF; 0x800000 |
Line 774... | Line 774... | ||
774 | 774 | ||
Line 787... | Line 787... | ||
787 | ; add eax, ebx |
787 | ; add eax, ebx |
788 | ; movzx ebx, word[es:di] |
788 | ; movzx ebx, word[es:di] |
789 | ; add eax, ebx |
789 | ; add eax, ebx |
790 | ; push 0x0000 |
790 | ; push 0x0000 |
791 | ; pop es |
791 | ; pop es |
792 | ; mov [es:BOOT_BANK_SW], eax |
792 | ; mov [es:BOOT_LO.bank_sw], eax |
793 | .exit: |
793 | .exit: |
794 | ret |
794 | ret |
Line 795... | Line 795... | ||
795 | 795 | ||
796 | ;============================================================================= |
796 | ;============================================================================= |