Update pcvt to 3.20 b24

This commit is contained in:
joerg 1995-04-08 15:49:25 +00:00
parent e0324e5c7b
commit 6a06a0c94e
14 changed files with 149 additions and 159 deletions

View File

@ -2,7 +2,7 @@
# LINT -- config file for checking all the sources, tries to pull in
# as much of the source tree as it can.
#
# $Id: LINT,v 1.163 1995/04/06 14:01:20 ache Exp $
# $Id: LINT,v 1.164 1995/04/08 09:36:02 phk Exp $
#
# NB: You probably don't want to try running a kernel built from this
# file. Instead, you should start from GENERIC, and add options from
@ -385,6 +385,7 @@ options BOUNCE_BUFFERS
#device vt0 at isa? port "IO_KBD" tty irq 1 vector pcrint
#options "PCVT_FREEBSD=210" # pcvt running on FreeBSD 2.1
#options XSERVER # include code for XFree86
#options FAT_CURSOR # start with block cursor
# The syscons console driver (sco color console compatible) - default.
device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr

View File

@ -2,7 +2,7 @@
# LINT -- config file for checking all the sources, tries to pull in
# as much of the source tree as it can.
#
# $Id: LINT,v 1.163 1995/04/06 14:01:20 ache Exp $
# $Id: LINT,v 1.164 1995/04/08 09:36:02 phk Exp $
#
# NB: You probably don't want to try running a kernel built from this
# file. Instead, you should start from GENERIC, and add options from
@ -385,6 +385,7 @@ options BOUNCE_BUFFERS
#device vt0 at isa? port "IO_KBD" tty irq 1 vector pcrint
#options "PCVT_FREEBSD=210" # pcvt running on FreeBSD 2.1
#options XSERVER # include code for XFree86
#options FAT_CURSOR # start with block cursor
# The syscons console driver (sco color console compatible) - default.
device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr

View File

@ -2,7 +2,7 @@
# LINT -- config file for checking all the sources, tries to pull in
# as much of the source tree as it can.
#
# $Id: LINT,v 1.163 1995/04/06 14:01:20 ache Exp $
# $Id: LINT,v 1.164 1995/04/08 09:36:02 phk Exp $
#
# NB: You probably don't want to try running a kernel built from this
# file. Instead, you should start from GENERIC, and add options from
@ -385,6 +385,7 @@ options BOUNCE_BUFFERS
#device vt0 at isa? port "IO_KBD" tty irq 1 vector pcrint
#options "PCVT_FREEBSD=210" # pcvt running on FreeBSD 2.1
#options XSERVER # include code for XFree86
#options FAT_CURSOR # start with block cursor
# The syscons console driver (sco color console compatible) - default.
device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr

View File

@ -44,7 +44,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*
* @(#)ioctl_pcvt.h, 3.20, Last Edit-Date: [Thu Mar 30 10:38:23 1995]
* @(#)ioctl_pcvt.h, 3.20, Last Edit-Date: [Fri Apr 7 10:17:13 1995]
*
*/
@ -57,15 +57,16 @@
* -hm version definitions moved to begin of file
* -hm removed PCVT_FAKE_SYSCONS10
* -hm accept KERNEL or _KERNEL
* -hm changed _IOCTL_PCVT_H_ to _MACHINE_PCVT_IOCTL_H_ (bde)
*
*---------------------------------------------------------------------------*/
#ifndef _IOCTL_PCVT_H_
#define _IOCTL_PCVT_H_
#ifndef _MACHINE_PCVT_IOCTL_H_
#define _MACHINE_PCVT_IOCTL_H_
/* pcvt version information for VGAPCVTID ioctl */
#define PCVTIDNAME "pcvt-b23" /* driver id - string */
#define PCVTIDNAME "pcvt-b24" /* driver id - string */
#define PCVTIDMAJOR 3 /* driver id - major release */
#define PCVTIDMINOR 20 /* driver id - minor release */
@ -413,7 +414,7 @@ struct pcvtid { /* THIS STRUCTURE IS NOW FROZEN !!! */
struct pcvtinfo { /* compile time option values */
u_int opsys; /* PCVT_xxx(x)BSD */
#define CONF_UNKNOWNOPSYS 0
#define CONF_386BSD 1
#define CONF_386BSD 1 /* unsupported */
#define CONF_NETBSD 2
#define CONF_FREEBSD 3
u_int opsysrel; /* Release */
@ -442,14 +443,14 @@ struct pcvtinfo { /* compile time option values */
#define CONF_NULLCHARS 0x00000400
#define CONF_BACKUP_FONTS 0x00000800
#define CONF_SW0CNOUTP 0x00001000 /* was FORCE8BIT */
#define CONF_NEEDPG 0x00002000
/* 0x00002000 was NEEDPG */
#define CONF_SETCOLOR 0x00004000
#define CONF_132GENERIC 0x00008000
#define CONF_PALFLICKER 0x00010000
#define CONF_WAITRETRACE 0x00020000
#define CONF_XSERVER 0x00040000
#define CONF_USL_VT_COMPAT 0x00080000
/* 0x00100000 was FAKE_SYSCONS10 */
#define CONF_PORTIO_DELAY 0x00100000 /* was FAKE_SYSCONS10 */
#define CONF_INHIBIT_NUMLOCK 0x00200000
#define CONF_META_ESC 0x00400000
#define CONF_NOFASTSCROLL 0x00800000
@ -579,4 +580,4 @@ typedef struct keymap keymap_t;
/* end of USL VT compatibility stuff */
#endif /* _IOCTL_PC_H_ */
#endif /* ! _MACHINE_PCVT_IOCTL_H_ */

View File

@ -32,7 +32,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*
* @(#)pcvt_conf.h, 3.20, Last Edit-Date: [Sun Feb 26 12:48:45 1995]
* @(#)pcvt_conf.h, 3.20, Last Edit-Date: [Sun Apr 2 18:57:45 1995]
*
*/
@ -138,14 +138,6 @@
* PCVT_FREEBSD = 200 for FreeBSD 2.0-Release
* PCVT_FREEBSD = 210 for FreeBSD 2.1-Release
*
*======================================================================*
* 3 8 6 B S D *
*======================================================================*
*
* options "PCVT_386BSD" enables support for 386BSD + pk 0.2.4
* NOTE: the 386BSD pcvt is unsupported and
* will be removed in a future release
*
*/
/* -------------------------------------------------------------------- */
@ -284,6 +276,14 @@
# define PCVT_NO_LED_UPDATE 1 /* wards. If you experience Problems */
#endif /* like this, try to enable this option */
#if !defined PCVT_PORTIO_DELAY /* ---------- DEFAULT: ON ------------- */
# define PCVT_PORTIO_DELAY 1 /* Defining PCVT_PORTIO_DELAY lets pcvt */
#elif PCVT_PORTIO_DELAY != 0 /* use multiple accesses to port 0x84 */
# undef PCVT_PORTIO_DELAY /* to produce a delay of 7 us needed for*/
# define PCVT_PORTIO_DELAY 1 /* accessing the keyboard controller, */
#endif /* otherwise the system delay functions */
/* are used. */
#if !defined PCVT_PCBURST /* ---------- DEFAULT: 256 ------------ */
# define PCVT_PCBURST 256 /* NETBSD and FreeBSD >= 2.0 only: this */
#endif /* is the number of output characters */
@ -346,13 +346,6 @@
/* each driver, sometimes even with */
/* different values (:-) */
#if !defined PCVT_NEEDPG /* ---------- DEFAULT: OFF ------------ */
# define PCVT_NEEDPG 0 /* pg moved out to cons.c with pk 0.2.2 */
#elif PCVT_NEEDPG != 0 /* if you run a system with patchkit */
# undef PCVT_NEEDPG /* 0.2.1 or earlier you must define this*/
# define PCVT_NEEDPG 1 /* OBSOLETE, just for 386BSD 0.1 !! */
#endif /* will be removed in a future release */
#if !defined PCVT_SETCOLOR /* ---------- DEFAULT: OFF ------------ */
# define PCVT_SETCOLOR 0 /* enable making colors settable. this */
#elif PCVT_SETCOLOR != 0 /* introduces a new escape sequence */

View File

@ -41,7 +41,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*
* @(#)pcvt_drv.c, 3.20, Last Edit-Date: [Thu Mar 23 20:37:05 1995]
* @(#)pcvt_drv.c, 3.20, Last Edit-Date: [Sun Apr 2 19:09:19 1995]
*
*/
@ -72,6 +72,7 @@
* -hm multiple X server bugfixes from Lon Willett
* -hm patch from joerg - pcdevtotty for FreeBSD pre-2.1
* -hm delay patch from Martin Husemann after port-i386 ml-discussion
* -jw add some code to provide more FreeBSD pre-2.1 support
*
*---------------------------------------------------------------------------*/
@ -104,13 +105,15 @@ static char vt_description[];
#define VT_DESCR_LEN 40
#endif /* PCVT_FREEBSD > 205 */
int
#if PCVT_NETBSD > 100 /* NetBSD-current Feb 20 1995 */
int
pcprobe(struct device *parent, void *match, void *aux)
#else
#if PCVT_NETBSD > 9
int
pcprobe(struct device *parent, struct device *self, void *aux)
#else
int
pcprobe(struct isa_device *dev)
#endif /* PCVT_NETBSD > 9 */
#endif /* PCVT_NETBSD > 100 */
@ -468,8 +471,10 @@ pcopen(Dev_t dev, int flag, int mode, struct proc *p)
#if PCVT_FREEBSD > 205
if(retval == 0)
{
/* XXX currently, only one vt device is supported */
kdc_vt[0].kdc_state = DC_BUSY;
}
#endif
return(retval);
@ -518,10 +523,12 @@ pcclose(Dev_t dev, int flag, int mode, struct proc *p)
#if PCVT_FREEBSD > 205
if(!pcvt_is_console)
{
/* XXX currently, only one vt device is supported */
kdc_vt[0].kdc_state = DC_IDLE;
}
#endif
return(0);
}
@ -751,12 +758,15 @@ vt_registerdev(struct isa_device *id, const char *name)
{
if(id->id_unit)
kdc_vt[id->id_unit] = kdc_vt[0];
kdc_vt[id->id_unit].kdc_unit = id->id_unit;
kdc_vt[id->id_unit].kdc_isa = id;
/* XXX only vt0 currently allowed */
strncpy(vt_descr + sizeof("Graphics console: ") - 1,
name,
VT_DESCR_LEN - sizeof("Graphics console: "));
dev_attach(&kdc_vt[id->id_unit]);
}
@ -859,11 +869,7 @@ pcrint(void)
{
ret = 1; /* got something */
#if PCVT_NETBSD > 9
delay(6); /* Gateway 2000 fix */
#elif PCVT_FREEBSD || (PCVT_NETBSD <= 9)
DELAY(6); /* Gateway 2000 fix */
#endif
PCVT_KBD_DELAY(); /* 7 us delay */
dt = inb(CONTROLLER_DATA); /* get it 8042 data */
@ -1087,9 +1093,12 @@ pccnprobe(struct consdev *cp)
if ((u_int)cdevsw[maj].d_open == (u_int)pcopen)
break;
}
if (maj == nchrdev)
{
/* we are not in cdevsw[], give up */
panic("pcvt is not in cdevsw[]");
}
/* initialize required fields */
@ -1221,27 +1230,6 @@ pcparam(struct tty *tp, struct termios *t)
return(0);
}
#if PCVT_NEEDPG /* this is moved to cons.c in patchkit 0.2.2 and higher */
int
pg (char *p,
int q, int r, int s, int t, int u,
int v, int w, int x, int y, int z)
{
#if !PCVT_USL_VT_COMPAT
vgapage(0);
#else
switch_screen(0, 0);
#endif /* !PCVT_USL_VT_COMPAT */
printf(p,q,r,s,t,u,v,w,x,y,z);
printf("\n");
return(getchar());
}
#endif /* PCVT_NEEDPG */
/* special characters */
#define bs 8
#define lf 10
@ -1536,11 +1524,6 @@ pcvt_xmode_set(int on, struct proc *p)
}
#endif /* XSERVER && !PCVT_USL_VT_COMPAT */
#if PCVT_386BSD /* dummies required to work with patchkit 0.2.4 */
void cons_highlight (void) {}
void cons_normal (void) {}
#endif /* PCVT_386BSD */
#endif /* NVT > 0 */
/*-------------------------- E O F -------------------------------------*/

View File

@ -35,7 +35,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*
* @(#)pcvt_ext.c, 3.20, Last Edit-Date: [Fri Mar 24 20:58:28 1995]
* @(#)pcvt_ext.c, 3.20, Last Edit-Date: [Thu Apr 6 10:07:45 1995]
*
*/
@ -61,6 +61,9 @@
* -hm multiple X server bugfixes from Lon Willett
* -hm patch from John Kohl fixing tsleep bug in usl_vt_ioctl()
* -hm bugfix: clear 25th line when switching to a force 24 lines vt
* -jw add some forward declarations
* -hm fixing MDA re-init when leaving X
* -hm patch from John Kohl fixing potential divide by 0 problem
*
*---------------------------------------------------------------------------*/
@ -70,7 +73,6 @@
#include "pcvt_hdr.h" /* global include */
static int s3testwritable( void );
static int et4000_col( int );
static int wd90c11_col( int );
static int tri9000_col( int );
@ -2187,19 +2189,25 @@ switch_screen(int n, int oldgrafx, int newgrafx)
/* re-initialize lost MDA information */
if(adaptor_type == MDA_ADAPTOR)
{
/*
* Due to the fact that HGC registers are
* write-only, the Xserver can only make
* guesses about the state the HGC adaptor
* has been before turning on X mode. Thus,
* the display must be re-enabled now, and
* the cursor shape and location restored.
*/
/* enable display, text mode */
outb(GN_DMCNTLM, 0x28);
/* XXX - something missing here ? Joerg ??? */
/*
* Due to the fact that HGC registers are write-only,
* the Xserver can only make guesses about the state
* the HGC adaptor has been before turning on X mode.
* Thus, the display must be re-enabled now, and the
* cursor shape and location restored.
*/
outb(GN_DMCNTLM, 0x28); /* enable display, text mode */
outb(addr_6845, CRTC_CURSORH); /* select high register */
outb(addr_6845+1,
((vsp->Crtat + vsp->cur_offset) - Crtat) >> 8);
outb(addr_6845, CRTC_CURSORL); /* select low register */
outb(addr_6845+1,
((vsp->Crtat + vsp->cur_offset) - Crtat));
outb(addr_6845, CRTC_CURSTART); /* select high register */
outb(addr_6845+1, vsp->cursor_start);
outb(addr_6845, CRTC_CUREND); /* select low register */
outb(addr_6845+1, vsp->cursor_end);
}
/* make status display happy */
@ -2743,7 +2751,11 @@ usl_vt_ioctl(Dev_t dev, int cmd, caddr_t data, int flag, struct proc *p)
int pitch = *(int *)data & 0xffff;
#if PCVT_NETBSD
sysbeep(PCVT_SYSBEEPF / pitch, duration * hz / 1000);
if(pitch != 0)
{
sysbeep(PCVT_SYSBEEPF / pitch,
duration * hz / 1000);
}
#else /* PCVT_NETBSD */
sysbeep(pitch, duration * hz / 3000);
#endif /* PCVT_NETBSD */

View File

@ -32,7 +32,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*
* @(#)pcvt_hdr.h, 3.20, Last Edit-Date: [Wed Mar 8 21:00:00 1995]
* @(#)pcvt_hdr.h, 3.20, Last Edit-Date: [Fri Apr 7 10:16:58 1995]
*
*/
@ -59,13 +59,15 @@
* -hm added pcstop (patch from Onno)
* -hm multiple X server bugfixes from Lon Willett
* -hm patch from Joerg for FreeBSD pre-2.1
* -jw adding more support for FreeBSD pre-2.1
*
*---------------------------------------------------------------------------*/
#define PCVT_REL "3.20-b23" /* driver attach announcement */
#define PCVT_REL "3.20-b24" /* driver attach announcement */
/* see also: pcvt_ioctl.h */
#if PCVT_FREEBSD >= 200
#include <sys/param.h>
#include <sys/conf.h>
#include <sys/ioctl.h>
@ -79,7 +81,9 @@
#include <sys/syslog.h>
#include <sys/malloc.h>
#include <sys/time.h>
#else /* ! PCVT_FREEBSD >= 200 */
#include "param.h"
#include "conf.h"
#include "ioctl.h"
@ -93,6 +97,7 @@
#include "syslog.h"
#include "malloc.h"
#include "time.h"
#endif /* PCVT_FREEBSD >= 200 */
#include "pcvt_conf.h"
@ -158,15 +163,15 @@
#if PCVT_FREEBSD >= 200
#include <machine/pc/display.h>
#if PCVT_FREEBSD > 200
#include <machine/clock.h>
#include <machine/md_var.h>
#include <vm/vm_kern.h>
#else
#include "machine/pc/display.h"
#include "vm/vm_kern.h"
#endif
#include <vm/vm_kern.h>
#else /* PCVT_FREEBSD >= 200 */
#include "machine/pc/display.h"
#include "vm/vm_kern.h"
#endif /* PCVT_FREEBSD >= 200 */
#if PCVT_FREEBSD > 205
#include <sys/devconf.h>
@ -187,11 +192,6 @@
/* perform option consistency checks */
#if defined PCVT_386BSD && PCVT_386BSD != 0
#undef PCVT_386BSD
#define PCVT_386BSD 1
#endif
#if defined PCVT_FREEBSD && PCVT_FREEBSD == 1
# undef PCVT_FREEBSD
# define PCVT_FREEBSD 102 /* assume 1.0 release */
@ -202,13 +202,11 @@
#define PCVT_NETBSD 9 /* assume 0.9 release for now */
#endif
#if PCVT_386BSD + PCVT_FREEBSD + PCVT_NETBSD == 0
# error "pcvt_hdr.h: You MUST define one of PCVT_{386,NET,FREE}BSD \
#if PCVT_FREEBSD + PCVT_NETBSD == 0
# error "pcvt_hdr.h: You MUST define one of PCVT_{NET,FREE}BSD \
in the config file"
#elif (PCVT_386BSD && (PCVT_FREEBSD || PCVT_NETBSD)) || \
(PCVT_NETBSD && (PCVT_FREEBSD || PCVT_386BSD)) || \
(PCVT_FREEBSD && (PCVT_386BSD || PCVT_NETBSD))
# error "pcvt_hdr.h: You should only define *one* of PCVT_{386,NET,FREE}BSD \
#elif (PCVT_FREEBSD && PCVT_NETBSD)
# error "pcvt_hdr.h: You CAN only define *one* of PCVT_{NET,FREE}BSD \
in the config file"
#endif
@ -236,12 +234,6 @@ in the config file"
#endif /* XSERVER */
/* #undef PCVT_NEEDPG is mandatory for PCVT_NETBSD and PCVT_FREEBSD */
#if (PCVT_NETBSD || PCVT_FREEBSD) && PCVT_NEEDPG
#undef PCVT_NEEDPG
#define PCVT_NEEDPG 0
#endif
/* PCVT_SCREENSAVER is mandatory for PCVT_PRETTYSCRNS */
#if PCVT_PRETTYSCRNS && !PCVT_SCREENSAVER
#undef PCVT_SCREENSAVER
@ -1281,11 +1273,6 @@ int kbdioctl ( Dev_t dev, int cmd, caddr_t data, int flag );
void loadchar ( int fontset, int character, int char_scanlines,
u_char *char_table );
void mda2egaorvga ( void );
#if PCVT_NEEDPG
int pg ( char *p, int q, int r, int s, int t, int u, int v,
int w, int x, int y, int z );
#endif
void roll_up ( struct video_state *svsp, int n );
void select_vga_charset ( int vga_charset );
void set_2ndcharset ( void );
@ -1390,4 +1377,32 @@ static __inline void vt_selattr(struct video_state *svsp)
#endif /* PCVT_INCLUDE_VT_SELATTR */
/*---------------------------------------------------------------------------*
* produce 7 us delay accessing the keyboard controller
*---------------------------------------------------------------------------*/
#if PCVT_PORTIO_DELAY
/* use multiple dummy accesses to port */
/* 0x84 to produce keyboard controller */
/* access delays */
#define PCVT_KBD_DELAY() \
{ u_char x = inb(0x84); } \
{ u_char x = inb(0x84); } \
{ u_char x = inb(0x84); } \
{ u_char x = inb(0x84); } \
{ u_char x = inb(0x84); } \
{ u_char x = inb(0x84); }
#else /* PCVT_PORTIO_DELAY */
/* use system supplied delay function for */
/* producing delays for accesssing the */
/* keyboard controller */
#if PCVT_NETBSD > 9
#define PCVT_KBD_DELAY() delay(7)
#elif PCVT_FREEBSD || (PCVT_NETBSD <= 9)
#define PCVT_KBD_DELAY() DELAY(7)
#endif
#endif /* PCVT_PORTIO_DELAY */
/*---------------------------------- E O F ----------------------------------*/

View File

@ -38,7 +38,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*
* @(#)pcvt_kbd.c, 3.20, Last Edit-Date: [Fri Mar 24 18:38:16 1995]
* @(#)pcvt_kbd.c, 3.20, Last Edit-Date: [Sun Apr 2 18:59:04 1995]
*
*/
@ -308,12 +308,7 @@ kbd_response(void)
if (--timeo == 0)
return (-1);
#if PCVT_NETBSD > 9
delay(6); /* Gateway 2000 fix - ziff */
#elif PCVT_FREEBSD || (PCVT_NETBSD <= 9)
DELAY(6); /* Gateway 2000 fix - ziff */
#endif
PCVT_KBD_DELAY(); /* 7 us delay */
ch = inb(CONTROLLER_DATA);
#if PCVT_SHOWKEYS
@ -941,13 +936,7 @@ sgetc(int noblock)
{
if (!noblock) /* source = 8042 */
{
#if PCVT_NETBSD > 9
delay(6); /* Gateway 2000 fix - ziff */
#elif PCVT_FREEBSD || (PCVT_NETBSD <= 9)
DELAY(6); /* Gateway 2000 fix - ziff */
#endif
PCVT_KBD_DELAY(); /* 7 us delay */
dt = inb(CONTROLLER_DATA); /* get from obuf */
}
else /* source = keyboard fifo */
@ -966,14 +955,8 @@ sgetc(int noblock)
if (inb(CONTROLLER_CTRL) & STATUS_OUTPBF)
{
#if PCVT_NETBSD > 9
delay(6); /* Gateway 2000 fix - ziff */
#elif PCVT_FREEBSD || (PCVT_NETBSD <= 9)
DELAY(6); /* Gateway 2000 fix - ziff */
#endif
dt = inb(CONTROLLER_DATA); /* yes, get it ! */
PCVT_KBD_DELAY(); /* 7 us delay */
dt = inb(CONTROLLER_DATA); /* yes, get data */
#endif /* !PCVT_KBD_FIFO */
@ -1261,13 +1244,7 @@ sgetc(int noblock)
{
if (!noblock) /* source = 8042 */
{
#if PCVT_NETBSD > 9
delay(6); /* Gateway 2000 fix - ziff */
#elif PCVT_FREEBSD || (PCVT_NETBSD <= 9)
DELAY(6); /* Gateway 2000 fix - ziff */
#endif
PCVT_KBD_DELAY(); /* 7 us delay */
dt = inb(CONTROLLER_DATA);
}
else /* source = keyboard fifo */
@ -1287,14 +1264,8 @@ sgetc(int noblock)
if(inb(CONTROLLER_CTRL) & STATUS_OUTPBF)
{
#if PCVT_NETBSD > 9
delay(6); /* Gateway 2000 fix - ziff */
#elif PCVT_FREEBSD || (PCVT_NETBSD <= 9)
DELAY(6); /* Gateway 2000 fix - ziff */
#endif
dt = inb(CONTROLLER_DATA); /* yes, get it ! */
PCVT_KBD_DELAY(); /* 7 us delay */
dt = inb(CONTROLLER_DATA); /* yes, get data ! */
}
#endif /* !PCVT_KBD_FIFO */

View File

@ -38,7 +38,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*
* @(#)pcvt_kbd.h, 3.20, Last Edit-Date: [Wed Feb 22 12:53:51 1995]
* @(#)pcvt_kbd.h, 3.20, Last Edit-Date: [Sun Apr 2 18:59:08 1995]
*
*/

View File

@ -35,7 +35,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*
* @(#)pcvt_out.c, 3.20, Last Edit-Date: [Sun Feb 26 16:43:58 1995]
* @(#)pcvt_out.c, 3.20, Last Edit-Date: [Sun Apr 2 18:59:11 1995]
*
*/

View File

@ -37,7 +37,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*
* @(#)pcvt_sup.c, 3.20, Last Edit-Date: [Sun Feb 19 19:59:38 1995]
* @(#)pcvt_sup.c, 3.20, Last Edit-Date: [Thu Apr 6 10:49:44 1995]
*
*/
@ -57,6 +57,7 @@
* -hm getting PCVT_BURST reported correctly for FreeBSD 2.0
* -hm applying patch from Joerg fixing Crtat bug
* -hm moving ega/vga coldinit support code to mda2egaorvga()
* -hm patch from Thomas Eberhardt fixing force 24 lines fkey update
*
*---------------------------------------------------------------------------*/
@ -262,10 +263,7 @@ vgapcvtid(struct pcvtid *data)
static void
vgapcvtinfo(struct pcvtinfo *data)
{
#if PCVT_386BSD
data->opsys = CONF_386BSD;
data->opsysrel = PCVT_386BSD;
#elif PCVT_NETBSD
#if PCVT_NETBSD
data->opsys = CONF_NETBSD;
data->opsysrel = PCVT_NETBSD;
#elif PCVT_FREEBSD
@ -335,9 +333,6 @@ vgapcvtinfo(struct pcvtinfo *data)
#if PCVT_SW0CNOUTP /* was FORCE8BIT */
| CONF_SW0CNOUTP
#endif
#if PCVT_NEEDPG
| CONF_NEEDPG
#endif
#if PCVT_SETCOLOR
| CONF_SETCOLOR
#endif
@ -356,6 +351,9 @@ vgapcvtinfo(struct pcvtinfo *data)
#if PCVT_USL_VT_COMPAT
| CONF_USL_VT_COMPAT
#endif
#if PCVT_PORTIO_DELAY
| CONF_PORTIO_DELAY
#endif
#if PCVT_INHIBIT_NUMLOCK
| CONF_INHIBIT_NUMLOCK
#endif
@ -677,7 +675,20 @@ vid_setscreen(struct screeninfo *data, Dev_t dev)
vgacs[(vs[screen].vga_charset)].screen_size;
if(data->force_24lines != -1)
{
vs[screen].force24 = data->force_24lines;
if(vs[screen].force24)
{
swritefkl(2,(u_char *)"FORCE24 ENABLE *",
&vs[screen]);
}
else
{
swritefkl(2,(u_char *)"FORCE24 ENABLE ",
&vs[screen]);
}
}
if((data->screen_size == SIZ_25ROWS) ||
(data->screen_size == SIZ_28ROWS) ||

View File

@ -29,7 +29,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*
* @(#)pcvt_tbl.h, 3.20, Last Edit-Date: [Thu Jan 5 15:56:17 1995]
* @(#)pcvt_tbl.h, 3.20, Last Edit-Date: [Sun Apr 2 18:59:19 1995]
*
*/

View File

@ -35,7 +35,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*
* @(#)pcvt_vtf.c, 3.20, Last Edit-Date: [Wed Mar 29 20:45:48 1995]
* @(#)pcvt_vtf.c, 3.20, Last Edit-Date: [Wed Apr 5 18:08:50 1995]
*/
/*---------------------------------------------------------------------------*
@ -53,6 +53,7 @@
* -jw/hm fixing bug in roll_up() and roll_down()
* -hm fastscroll/Crtat bugfix from Lon Willett
* -hm patch for non-XSERVER/UCONSOLE compiles from Rafal Boni
* -hm bugfix: PCVT_USL_COMPAT renamed to PCVT_USL_VT_COMPAT ...
*
*---------------------------------------------------------------------------*/
@ -1947,7 +1948,7 @@ roll_up(struct video_state *svsp, int n)
{
u_short *Memory =
#if defined(PCVT_USL_COMPAT)
#if PCVT_USL_VT_COMPAT
(vsp != svsp || (vsp->vt_status & VT_GRAFX)) ?
#else
(vsp != svsp) ?
@ -1968,7 +1969,7 @@ roll_up(struct video_state *svsp, int n)
svsp->Crtat += n * svsp->maxcol;
}
#if defined(PCVT_USL_COMPAT)
#if PCVT_USL_VT_COMPAT
if(vsp == svsp && !(vsp->vt_status & VT_GRAFX))
#else
if(vsp == svsp)
@ -2014,7 +2015,7 @@ roll_down(struct video_state *svsp, int n)
{
u_short *Memory =
#if defined(PCVT_USL_COMPAT)
#if PCVT_USL_VT_COMPAT
(vsp != svsp || (vsp->vt_status & VT_GRAFX)) ?
#else
(vsp != svsp) ?
@ -2034,7 +2035,7 @@ roll_down(struct video_state *svsp, int n)
svsp->Crtat -= n * svsp->maxcol;
}
#if defined(PCVT_USL_COMPAT)
#if PCVT_USL_VT_COMPAT
if(vsp == svsp && !(vsp->vt_status & VT_GRAFX))
#else
if(vsp == svsp)