diff options
author | vruppert <vruppert> | 2006-07-08 13:27:08 +0000 |
---|---|---|
committer | vruppert <vruppert> | 2006-07-08 13:27:08 +0000 |
commit | cd9264b278923ca3f8a0369edc081b053daca32f (patch) | |
tree | 1d25b183f96b0937ca6d2e11f166c102d60158df /vgabios | |
parent | fb6672adbc421b7a1f4828e3e13f21fb5fb777c6 (diff) |
- added special case for the 4 bpp when setting VBE display start
- VBE mode table fixes
Diffstat (limited to 'vgabios')
-rw-r--r-- | vgabios/VGABIOS-lgpl-latest.bin | bin | 36864 -> 36864 bytes | |||
-rw-r--r-- | vgabios/VGABIOS-lgpl-latest.cirrus.bin | bin | 35328 -> 35328 bytes | |||
-rw-r--r-- | vgabios/VGABIOS-lgpl-latest.cirrus.debug.bin | bin | 35840 -> 35840 bytes | |||
-rw-r--r-- | vgabios/VGABIOS-lgpl-latest.debug.bin | bin | 37888 -> 37888 bytes | |||
-rw-r--r-- | vgabios/vbe.c | 16 | ||||
-rw-r--r-- | vgabios/vbetables.h | 8 |
6 files changed, 19 insertions, 5 deletions
diff --git a/vgabios/VGABIOS-lgpl-latest.bin b/vgabios/VGABIOS-lgpl-latest.bin Binary files differindex ce94be60..ea234d6d 100644 --- a/vgabios/VGABIOS-lgpl-latest.bin +++ b/vgabios/VGABIOS-lgpl-latest.bin diff --git a/vgabios/VGABIOS-lgpl-latest.cirrus.bin b/vgabios/VGABIOS-lgpl-latest.cirrus.bin Binary files differindex 1896bf09..b0a0d54a 100644 --- a/vgabios/VGABIOS-lgpl-latest.cirrus.bin +++ b/vgabios/VGABIOS-lgpl-latest.cirrus.bin diff --git a/vgabios/VGABIOS-lgpl-latest.cirrus.debug.bin b/vgabios/VGABIOS-lgpl-latest.cirrus.debug.bin Binary files differindex cf233d65..c928b6bc 100644 --- a/vgabios/VGABIOS-lgpl-latest.cirrus.debug.bin +++ b/vgabios/VGABIOS-lgpl-latest.cirrus.debug.bin diff --git a/vgabios/VGABIOS-lgpl-latest.debug.bin b/vgabios/VGABIOS-lgpl-latest.debug.bin Binary files differindex d85cedde..041c6499 100644 --- a/vgabios/VGABIOS-lgpl-latest.debug.bin +++ b/vgabios/VGABIOS-lgpl-latest.debug.bin diff --git a/vgabios/vbe.c b/vgabios/vbe.c index 2242ba98..7d05bc9d 100644 --- a/vgabios/vbe.c +++ b/vgabios/vbe.c @@ -62,7 +62,7 @@ _vbebios_product_name: .byte 0x00 _vbebios_product_revision: -.ascii "$Id: vbe.c,v 1.50 2006/06/21 16:58:06 vruppert Exp $" +.ascii "$Id: vbe.c,v 1.51 2006/07/08 13:27:08 vruppert Exp $" .byte 0x00 _vbebios_info_string: @@ -79,7 +79,7 @@ _no_vbebios_info_string: #if defined(USE_BX_INFO) || defined(DEBUG) msg_vbe_init: -.ascii "VBE Bios $Id: vbe.c,v 1.50 2006/06/21 16:58:06 vruppert Exp $" +.ascii "VBE Bios $Id: vbe.c,v 1.51 2006/07/08 13:27:08 vruppert Exp $" .byte 0x0a,0x0d, 0x00 #endif @@ -154,6 +154,8 @@ vesa_pm_set_display_start1: movzx esi, ax pop eax + cmp esi, #4 + jz bpp4_mode add esi, #7 shr esi, #3 imul ecx, esi @@ -163,7 +165,17 @@ vesa_pm_set_display_start1: mov eax, edx xor edx, edx div esi + jmp set_xy_regs +bpp4_mode: + shr ecx, #1 + xor edx, edx + div ecx + mov edi, eax + mov eax, edx + shl eax, #1 + +set_xy_regs: push dx push ax mov dx, # VBE_DISPI_IOPORT_INDEX diff --git a/vgabios/vbetables.h b/vgabios/vbetables.h index 412bb0c2..bde10bfb 100644 --- a/vgabios/vbetables.h +++ b/vgabios/vbetables.h @@ -87,7 +87,8 @@ static ModeInfoListItem mode_info_list[]= VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE, - /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_READABLE | + /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | + VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE, /*Bit8u WinBAttributes*/ 0, /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB, @@ -167,7 +168,7 @@ static ModeInfoListItem mode_info_list[]= /*Bit8u YCharSize*/ 16, /*Bit8u NumberOfPlanes*/ 4, /*Bit8u BitsPerPixel*/ 4, - /*Bit8u NumberOfBanks*/ 16, + /*Bit8u NumberOfBanks*/ 1, /*Bit8u MemoryModel*/ VBE_MEMORYMODEL_PLANAR, /*Bit8u BankSize*/ 0, /*Bit8u NumberOfImagePages*/ 15, @@ -1110,7 +1111,8 @@ static ModeInfoListItem mode_info_list[]= VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE, - /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_READABLE | + /*Bit8u WinAAttributes*/ VBE_WINDOW_ATTRIBUTE_RELOCATABLE | + VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE, /*Bit8u WinBAttributes*/ 0, /*Bit16u WinGranularity*/ VBE_DISPI_BANK_SIZE_KB, |