From 06ec3ed8b8c82cc10eda433e7d4a96bfe3146fd2 Mon Sep 17 00:00:00 2001 From: yokota Date: Tue, 24 Aug 1999 04:26:54 +0000 Subject: [PATCH] Correct the mode information for the VGA mode X. - This mode uses four planes rather than one. - "# of bytes in a scan line" = "# of pixels in the line"/2 --- sys/dev/fb/vga.c | 10 ++++++---- sys/sys/fbio.h | 3 ++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/sys/dev/fb/vga.c b/sys/dev/fb/vga.c index 39b0a0b4c2cd..d6cddaa22d7e 100644 --- a/sys/dev/fb/vga.c +++ b/sys/dev/fb/vga.c @@ -26,7 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: vga.c,v 1.1 1999/06/22 14:13:24 yokota Exp $ + * $Id: vga.c,v 1.2 1999/06/26 10:52:54 peter Exp $ */ #include "vga.h" @@ -412,9 +412,9 @@ static video_info_t bios_vmode[] = { { M_VGA_CG320, V_INFO_COLOR | V_INFO_GRAPHICS, 320, 200, 8, 8, 8, 1, GRAPHICS_BUF_BASE, GRAPHICS_BUF_SIZE, GRAPHICS_BUF_SIZE, 0, 0, V_INFO_MM_PACKED, 1 }, - { M_VGA_MODEX, V_INFO_COLOR | V_INFO_GRAPHICS, 320, 240, 8, 8, 8, 1, + { M_VGA_MODEX, V_INFO_COLOR | V_INFO_GRAPHICS, 320, 240, 8, 8, 8, 4, GRAPHICS_BUF_BASE, GRAPHICS_BUF_SIZE, GRAPHICS_BUF_SIZE, 0, 0, - V_INFO_MM_PACKED, 1 }, + V_INFO_MM_VGAX, 1 }, #endif /* VGA_NO_MODE_CHANGE */ { EOT }, @@ -850,7 +850,9 @@ update_adapter_info(video_adapter_t *adp, video_info_t *info) /* XXX */ adp->va_buffer = info->vi_buffer; adp->va_buffer_size = info->vi_buffer_size; - if (info->vi_flags & V_INFO_GRAPHICS) { + if (info->vi_mem_model == V_INFO_MM_VGAX) { + adp->va_line_width = info->vi_width/2; + } else if (info->vi_flags & V_INFO_GRAPHICS) { switch (info->vi_depth/info->vi_planes) { case 1: adp->va_line_width = info->vi_width/8; diff --git a/sys/sys/fbio.h b/sys/sys/fbio.h index c4b51537f0fa..055dfad49ae1 100644 --- a/sys/sys/fbio.h +++ b/sys/sys/fbio.h @@ -36,7 +36,7 @@ * * @(#)fbio.h 8.2 (Berkeley) 10/30/93 * - * $Id: fbio.h,v 1.5 1997/02/22 09:45:12 peter Exp $ + * $Id: fbio.h,v 1.6 1999/06/22 14:13:43 yokota Exp $ */ #ifndef _SYS_FBIO_H_ @@ -230,6 +230,7 @@ struct video_info { #define V_INFO_MM_DIRECT 3 #define V_INFO_MM_CGA 100 #define V_INFO_MM_HGC 101 +#define V_INFO_MM_VGAX 102 /* for MM_PACKED and MM_DIRECT only */ int vi_pixel_size; /* in bytes */ /* for MM_DIRECT only */