*BSD News Article 22485


Return to BSD News archive

Newsgroups: comp.os.386bsd.bugs
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!usenet.ins.cwru.edu!news.csuohio.edu!stever
From: stever@csuohio.edu (Steve Ratliff)
Subject: Re: FreeBSD Syscons MDA/HGA bug + fix
Message-ID: <1993Oct18.013204.12240@news.csuohio.edu>
Sender: news@news.csuohio.edu (USENET News System)
Organization: Cleveland State University
X-Newsreader: Tin 1.1 PL5
References: <JKH.93Oct17171239@whisker.lotus.ie>
Date: Mon, 18 Oct 1993 01:32:04 GMT
Lines: 53

Jordan K. Hubbard (jkh@whisker.lotus.ie) wrote:
: In article <1993Oct17.073337.8151@news.csuohio.edu> stever@csuohio.edu (Steve Ratliff) writes:
: 
: 	   The new version of Syscons distributed with FreeBSD EPSILON has
:    very poor support for HGA/MDA display adaptors.  I seem to recall that
:    the old 1.x version of Syscons had better support than the current one.
: 
: The problem was very simply that FAT_CURSOR was defined by default,
: which HGA displays don't seem to like very well.  The current release
: of FreeBSD (soon to be 1.0 RELEASE) has this problem fixed.
: 
: 				Jordan
[sig deleted]
	I took a closer look and tried all combinations of having
FAT_CURSOR defined and undefined with the original code and my previous
patch.  Jordan is correct that having it undefined will work and give
you an underscore cursor on a HGA display with the original code.  My
previous patch only works with FAT_CURSOR defined.  I came up with a new
patch that attempts to do the right thing in both cases.
	Jordan stated that the FAT_CURSOR can cause problems on certain
HGA/MDA adaptors and with some of the <$15.00 made in Taiwan clones I can
certainly believe this.  All I can say is that with this new patch
FAT_CURSOR works fine on my HGA adaptor and having it undefined still
works as well.

*** syscons.c.orig	Sun Oct 17 01:49:48 1993
--- syscons.c	Sun Oct 17 20:40:50 1993
***************
*** 310,320 ****
  		printf(" <%d virtual consoles>\n", NCONS);
  	else
  		printf("\n");
- 	if (crtc_vga) {
  #ifdef	FAT_CURSOR
                  start = 0;
                  end = 18;
! #else
  		get_cursor_shape(&start, &end);
  #endif
  		save_palette();
--- 310,321 ----
  		printf(" <%d virtual consoles>\n", NCONS);
  	else
  		printf("\n");
  #ifdef	FAT_CURSOR
                  start = 0;
                  end = 18;
! #endif
! 	if (crtc_vga) {
! #ifndef	FAT_CURSOR
  		get_cursor_shape(&start, &end);
  #endif
  		save_palette();