ChangeLog                             last edit-date: [Thu Apr  6 10:52:50 1995]
================================================================================

Changes 3.10 -> 3.20                                                  April 1995
--------------------------------------------------------------------------------

- bugfix from Thomas Eberhardt: the force 24 lines enable function key
	label was not updated when changing force 24 lines mode with 
	'scon -f on|off', this is now fixed.

- bugfix from John Kohl fixing divide by zero problem in pcvt_ext.c when
	ringing the bell and pitch is 0: this avoids an integer divide
	trap in supervisor mode.

- changed the default behaviour of keyboard controller delay from using
	delay()/DELAY() to using dummy reads to port 0x84 because i got
	keyboard hangs in X.

- bugfix: in pcvt_ext.c, MDA state restore when leaving X was lost, should
	function now again.

- renamed PCVT_XSERVER to XSERVER in ispcvt.c

- bugfix in pcvt_vtf.c: renamed PCVT_USL_COMPAT to PCVT_USL_VT_COMPAT

- added '-d <device>' option to ispcvt and loadfont

- removed PCVT_NEEDPG

- almost completely removed support for 386BSD 0.1 with patchkit 0.2.4

- applied a patch from Joerg providing missing FreeBSD 2.1 functionality and
        a some minor bugfixes and checks.

- provide a single place PCVT_KBD_DELAY in pcvt_hdr.h. made it configurable
	via PCVT_PORTIO_DELAY to use either 6 dummy reads from port 0x84
	or the delay/DELAY function of the operating system. Changed ispcvt
	to report status of compile time switch.

- release beta 23 --------------------------------------------------------------

- removed some files for 386BSD as there is virtually noone outside
	using it anymore

- make pcvt_ioctl.h accept "KERNEL" or "_KERNEL" for NetBSD-current

- configuration fix: patch from Rafal Boni for pcvt_vtf.c, he writes:
	This patch lets one compile pcvt on a system that is lacking XSERVER
	and UCONSOLE [or either?] in the config file.  I found this while 
	trying to build a minimal floppy-based test kernel. The problem is
	that roll_up and roll_down assume that PCVT_USL_COMPAT is 
	unconditionally set, and hence muck with parts of the video structure
	that are only there if PCVT_USL_COMPAT is set.
	(generalized the patch a bit so that fastscroll functionality is
	 not lost in case of PCVT_USL_COMPAT not being defined. -hm)

- bugfix: pcvt_ext.c switch_screen() - when switching to a 25 line charset
	pure VT emulation screen which has force 24 lines set, then we have
	to clear the last line on screen (bugreport from Joerg).

- added define PCVT_NONRESP_KEYB_TRY for how many times to try to detect
	a non-connected keyboard. This was previously set to 100 and
	Joerg reports a 5+ minutes delay for a 386 booting without keyboard.
	Set to 25 now in the definition. Also made shure the messages in
	the corresponding loop display only once. [doreset() in pcvt_kbd.c]

- updated kbdio utility to include the 7 us delay and added a 'what' command
	detect type of MCA motherboard keyboard controller according to
	Frank van Gilluwe, "The Undocumented PC", Addison Wesley, pp 273

- "Gateway 2000" problem: after some discussion on the NetBSD port-i386
	mailing list about hanging keyboards, Martin Husemann sent in a
	patch where each inb(CONTROLLER_DATA) is now preceeded by a
	delay(6). This fixed his keyboard problem, the same was reported
	from Roland McGrath for his Gateway 2000 keyboard/machine.

- patch from John Kohl for usl_vt_ioctl() in file pcvt_ext.c, he writes:
	This is probably a long standing bug.  tsleep() returns ERESTART
	if it's	interrupted.  ERESTART is -1, which means that the
	VT_WAITACTIVE call returns from usl_vt_ioctl() with -1, 
	meaning "not one of my ioctl's".

- patch from Matthieu Herrb for NetBSD-current (post 1.0) support

- patch from Joerg for FreeBSD pre-2.1 support

- added file ToDo in directory Doc

- fix for Util/Makefile.inc.NetBSD-c from Onno

- removing unnecessary Trident support code from pcvt_out.c

- fix from Onno for IST_EDGE in NetBSD-current

- patch from Thomas Eberhardt to fix the bell frequency and duration setting
	for NetBSD

- some fixes from Onno van der Linden for NetBSD

- added patch for NetBSD-current from Rafal Boni and Lon Willett

- added another mega patch from Lon Willett fixing several bugs:

	1 -- Misc porting changes to deal with NetBSD-current, including
	a new Util/Makefile.inc.NetBSD-current.

	2 -- The Control_R scancodes were being mapped to the Control_L
	pcvt keynum.

	3 -- FASTSCROLL/graphics-mode problem: there was a problem where
	switching from a graphics screen to a text screen would corrupt
	the text screen's content if it had been scrolling using the
	FASTSCROLL code.  (The problem is the bcopy() from kernel to
	video memory was using the vs[i].Memory pointer as the source,
	instead of the vs[i].Crtat pointer).  This is fixed in the beta
	21 release by just disabling the fast scroll code for screens
	which aren't active.

	The patch I'm sending you re-enables the fast scroll code on
	inactive (i.e. in kernel memory) screens, saving a few cpu
	cycles. 

	4 -- This is a big one: running multiple X servers was not
	really working.  The USL handshaking code was a mess (not very
	well designed to begin with, but there's not much that can be
	done about that).  I did manage to get it fairly functional, but
	there's a lot of changes.

- changing example rc.local to take care of good old EGA's

- fixing support for EGA boards in vt_coldinit()

- removing vt100 font files from Util/fonts, updated Manifest

- fixing an obviously longstanding bug in roll_up() / roll_down() which was
	triggered by Joergs "Crtat" cleanup mega patch.

- removing PCVT_FAKE_SYSCONS10

- removing duplicate names in termcap entries

- fixing vt_coldinit:	setting variable "color" for mda/hercules and cga
			initializing cursor position

- fixing roll_up() and roll_down() for mda/hercules: mda's have ALWAYS
	just one page of memory, original hercules boards too so they
	can NEVER use the fastscroll option. SOME hercules are somehow
	enhanced in that they support 2 pages. pcvt now just supports
	one page hercules/mda!

- made cleanups to 8x14 high and 8x8 high fonts: adjust the 5 scanline
	characters to adjust with the corner characters from the low fonts

- applying patch from Joerg which fixes some bugs:

	writing to a tty containing an X server resulted in some stange
		behaviour depending on the opsys and opsys version used

	the init code preserving the screen contents and cursor shape
		can only be done on boards allowing the reading of
		several crtc registers

- removed bcopyb declaration from pcvt_hdr.h for FreeBSD 2.1

- another patch from Lon Willett (willett@math.utah.edu), he writes:

	1 -- Very minor: One of my previous changes didn't get merged
	into "pcvt_out.c"; the caclulation of ws_row doesn't account for
	"force24" at one spot.  It's easier to just set it from
	screen_rows anyway, unless there's something that I didn't
	understand happening here.

	2 -- Debugging stuff: I don't know if you care to add it, but I
	found it useful, so I left it in.  I rearranged the
	PCVT_SHOWKEYS code a little, and added a few lines to show
	keyboard commands and responses, with special delimiters.
	[file: pcvt_kbd.c]

	3 -- "kcon" utility enhancement: I added a "-R" switch to kcon
	to do a KBDRESET ioctl.  [file: Util/kcon/kcon.c]

	4 -- KBDRESET-ioctl bug: the code was trying to read kbd
	responses without an spltty(), so naturally it would fail, since
	pcrint() was grabbing the ACKs.  [file: pcvt_kbd.c]

	5 -- update_led() makes kbd hang: the problem here is that
	update_led() makes the keyboard generate two KEYB_R_ACK
	responses, and one of the interrupts sometimes gets lost when
	there is a lot of other I/O happening.  See the comment in the
	code.  My fix seems to work for me, but you may want to handle
	it some other way.  It would probably be quite reasonable to
	check for lost interrupts periodically anyway, whether
	update_led() has been called or not.  [file: pcvt_kbd.c]

	(NOTE: item 5 has been disabled because it causes older
	 FreeBSD's to panic because of the timer queue not being
	 initialized at the time called. -hm)

- partly rewrote doreset() in pcvt_kbd.c to enable boot procedure to proceed
	if no (PC) keyboard is found. The current behaviour and implementation
	is subject to change.

- patch from Thomas Gellekum to Util/keycap/keycap.src

- minor modification to main.c in Util/set2061

- patch from Onno and John Kohl to make pcvt beta 16 work on NetBSD current:
	1. pcvt_conf.h
	   _real_ 1.0         ===> NetBSD1_0 == 1
	   current 1.0 (1.0A) ===> NetBSD1_0 == 2
	2. pcvt_hdr.h
	   Put pcvt_conf.h before _all_ the #ifdef PCVT_*. This way
	   the #ifdef NetBSDx_y stuff can do its work.

- size of PCVT_BURST was still reported as 1 for FreeBSD 2.0, fixed

- made some adjustments for FreeBSD 2.0 in Util/vgaio

- Another patch from Joerg for FreeBSD 2.0

- included vgaio, kbdio and set2061 into the outer Makefile, this programs
	are build and cleaned but don't install anything.
	All program's in the Util dir should now cleanly make <anything> ...

- enable 132 column support for Trident TVGA8900CL, some NetBSDisms

- addend patch from Joerg for pcvt-320b7 to fix FreeBSD 2.0's ttymalloc's
	encapsulation into #if's. Also new keycap.src entry.

- fixed keyboard status/LED not updated on soft reset emulator

- on 23rd of December i had some spare time, so i added some demos to the
	Util/demo directory as well a a time-killer program (playvt) to view
	some of the VT animations and a christmas animation i got from Joerg.

- added a new utility set2061 to program the clock generator on my S3 based
	ELSA Winner VGA board. This eventually lets me use 132 columns on this
	board, because i'm now able to program the clock to generate 40MHz
	on clock output #2.

- debugged winsize patch on FreeBSD 1.1, line discipline open init's the 
	queues, winsize initialization must happen after line disc. open!

- got a bunch of NetBSD PR's from J.T. Conklin:

	PR #214: PCVT treats ctrl-shift exactly like shift for most characters.
		 (fixed by Lon Willet's Mega Patch described below -hm)

	PR #399: If you define PCVT_META_ESC when builting PCVT, Meta-Return
		 sends 0x8d instead of ESC RET.
		 (fixed by applying the patch from Bill Sommerfeld. -hm)

	PR #400: pcvt sometimes gets confused about window size
		 (fixed by applying the patch from Bill Sommerfeld. -hm)

	PR #404: Meta-Control-Space broken with PCVT_META_ESC and PCVT_NULLCHARS
		 (put into "BugList" file, no solution yet .. -hm)

	PR #488: pcvt can loose keyboard control if you start an xserver from
		 an xterm 
		 (already fixed by a patch from John Kohl, see below -hm)

	PR #580: NetBSD i386/pcvt bugs/enhancements; fixes included
		 (already integrated the patch from Lon Willet, see below -hm)

- on coldinit, if FAT_CURSOR is defined, the old large blockcursor is used

- enhanced the vgaio output in an attempt to make 132 column mode work
	for my S3 board ....

- applied patch from Thomas Gellekum: install instructions for FreeBSD 2.0,
	patch to fontedit to compile under FreeBSD 2.0, an addition to
	keycap.src and a fix for kbdio

- changed installation instructions to reflect recent changes, removed
	instructions for FreeBSD 1.0 and added instructions for FreeBSD 2.0

- upgraded all utilities version strings to 3.20

- new example of rc.local

- changing timeout()/untimeout() function parameter type to TIMEOUT_FUNC_T
	definition in pcvt_hdr.h

- changed install instructions to reference Etc dir instead of Doc dir for
	several files which were moved from Doc to Etc.

- new parameter -d for the cursor utility, updated cursor manpage

- applying a patch from Lon Willett, willett@math.utah.edu which fixes
	several bugs and provides some enhancements. Lon writes:

	1 -- The displayed cursor is not updated during kernel I/O,
	because async_update() doesn't get called.  This is merely ugly
	while the system startup messages are being displayed, but it is
	positively annoying when using the kernel debugger.

	2 -- CONTROL-SHIFT-<KEY> is taken to be the same as SHIFT-<KEY>.
	It should be interpretted as CONTROL-<KEY>, or even have its own
	binding.  One of the lines below fixes it in the former way.
	This is especially bad (i.e. clearly buggy) when I type
	CONTROL-SHIFT-<6/^> to get a "Control-^", and instead get a "^".

	3 -- The "special" region at the bottom of the screen, i.e.  the
	function-key-labels/status-line in HPVT mode, and the blank line
	in FORCE24LINES mode, do not get properly cleared/updated.

	4 -- When switching screen sizes/modes, the FORCE24LINES setting
	is not always handled.

	5 -- The PCVT_VT220KEYB functions are missing some features.
	The control key settings are bug fixes; they apply only if
	system function key labels are on, and match the labels.  The
	shift key definitions are enhancements.

	The new keys (previously undefined) are:

		Control-F1 -- toggle 80/132 columns
		Control-F2 -- soft reset emulator
		Control-F3 -- toggle force 24 lines mode
		Control-F4 -- toggle keyboard debugging

		Shift-F1 -- select screen 4
		Shift-F2 -- select screen 5
		Shift-F3 -- select screen 6
		Shift-F4 -- select screen 7
		Shift-F5 -- select (current screen - 1)

	6 -- [Enhancement] The initial startup screen is cleared, and
	the screen gets cleared when changing modes/sizes.  I don't like
	this.  I want a chance to see bootstrap loader messages, and I
	also want the command "scon -d/dev/ttyv0 -H -s28" in my
	rc.local, but then I lose various messages from daemons, etc
	(which aren't always logged to syslog).  So I have fixed the
	code so that it tries to preserve the contents of the screen
	when starting up, and when changing modes/sizes.

	7 -- [Enhancement?] I added code to preserve the initial cursor
	shape at startup.  This isn't really necessary, since the
	"cursor" command can be used to set it to your preference; but
	it seems like this is the preferable policy to use for the
	default.

- applying patches from Onno van der Linden and Martin Husemann: adding
	support for post 1.0 NetBSD-current and adding PCVT_NO_LED_UPDATE

- patch from Joerg Wunsch: support for FreeBSD 2.0 and better support
	for serial console coexistence

- bugreport from Michael Havemester regarding PCVT_NOFASTSCROLL: it was
	not enabled in pcvt_vtf.c, fixed. 

- renamed pcvt_disable_intr and pcvt_enable_intr to PCVT_DISABLE_INTR and
	 PCVT_ENABLE_INTR (Joerg)

- attempt to automatically compile time configure in pcvt_conf.h, how
	does FreeBSD do this ? should work for NetBSD (from Onno v.d. Linden)

- split off pcvt_kbd.h from pcvt_kbd.c, file > 100k

- split off pcvt_config.h from pcvt_hdr.h. All compile time configurations
	should be put into pcvt_config.h now.

- moved version definitions to begin of file  in pcvt_ioctl.h and pcvt_hdr.h

- fixing NetBSD #ifdef in pcvt_drv.c

- fixed bug in scon. when doing "scon -c <num>" the destination screen was
	cleared, this is fixed now by properly setting "force_24lines"

- added kbdio utility from Joerg into Util directory

- changed font dir from /usr/share/misc/vgafonts to /usr/share/misc/pcvtfonts

- Fix for Gateway 2000 keyboard problems from Brian Moore

- Starting to implement more keymoard mapping layers in pcvt_kbd.c. This
	section is a building site, enclosed in NOT_YET_DEF ifdef's

- VT_SETMODE ioctl patch from John Kohl <jtk@kolvir.blrc.ma.us>, see text
	from John in the source file pcvt_ext.c

- patch from Joerg for kbd_emulate_pc(), intro of timeout

- fixed bug in soft/hard reset and real system fkey labels

- added patch from Joerg for FreeBSD 1.1.5.1R

- fixed both SR and SF entries in termcap database file

- removed SR entry in termcap database file (bugreport from John Perry)

- bugfix in cirrus 132 column switching got from Onno/Charles

- french keycap database entry from Matthieu Herrb

- cleanup patch from Joerg for Util/demo/Makefile und Util/fonts/Makefile


Changes 3.00 -> 3.10                                                   June 1994
--------------------------------------------------------------------------------

- patch from Joerg correcting my assumed timeout/untimeout FreeBSD casts

- adjusted some #if's while validating NetBSD 0.9 and NetBSD-current

- rolled in Joerg's changes for a pre-1.1.5 (?) FreeBSD-current

- Util/fonts: install only the necessary fontfiles, vt100 not used anymore

- updated and commented Etc/rc.local and updated to more recent /etc/ttys files

- updated all installation instructions and changed their names

- documenting more PCVT_ options in pcvt_hdr.h

- adding CONF_ options to driver config ioctl and upgrading ispcvt

- commenting the source, housekeeping, step up to 3.10 beta 2

- casting timeout()/untimeout() for FreeBSD 1.1R :-(

- unprotecting vgapage() routine with #if !PCVT_KBD_FIFO

- adding Michael Havemester's keyboard fifo diffs to source tree

- pcvt_drv.c: made declaration of Crtat global for this file for NetBSD

- changing Util/fonts/Makefile and Util/demo/Makefile to run in all
	supported environments

- moving inline from pcvt_vtf.h into pcvt_hdr.h, i still feel that this is
	not the best solution, but i got annoyed by the 10 line pcvt_vtf.h

- bugfix, in hpmode, clear last 4 lines when 28 column mode and force
	24 lines are true

- applying patch from Thomas Gellekum <thomas@ghpc8.ihf.rwth-aachen.de>:
	- discard escape sequences ESC space F and ESC space G
	- discard escape sequences DECELR = enable locator report
		and DECSLE = select type of locator event
	- disable scrolling when writing outside the scrolling region
		at an absolute position.

	[ pcvt now seems to be "VAX resistant" :-) ]

- optional switch to screen 0 can be done on kernel/console output

- fixed kernel output cursor positioning

- removed PCVT_FORCE8BIT

- pcvt_ext.c, changed screen switching bcopyb's to bcopy's

- new patch from Onno to support all BIOS versions of the Cirrus chipset.

- pcvt_x_hook() has to care about fkey labels now

- updated Doc/NotesAndHints and Doc/BugList

- applied patch from Onno van der Linden for updated Cirrus chipset support

- updated Doc/Bibliography

- removed paranoid delay()/DELAY() from vga_test()

- added prototype ttrstrt() into pcvt_drv.c for NetBSD 0.9 

- made INSTALLATION.NetBSD and INSTALLATION.NetBSD.bundled from mycrofts base

- Charles Hannum took Michael Havemesters speedup modifications, made some
	further enhancements and after adding support for pcvt, put it into
	the NetBSD-current tree. THANK YOU, Charles !
	The NetBSD version of May 20th '94 was taken as the base for 3.10.


Changes 2.20 -> 3.00                                                  March 1994
--------------------------------------------------------------------------------

- Release 3.00

- last minute patch from Joerg (pcvt_hdr.h, BugList, NotesAndHints)

- included speedup patch from Michael Havemester as Etc/LAST-MINUTE

- updated Doc/pcvt.4

- removed bug in Util/ispcvt/Makefile which caused ispcvt to be installed
	into /usr/sbin and /usr/local/bin

- split ioctl VGAPCVTID into two: intro of ioctl VGAPCVTINFO for compile
	time options only.
	VGAPCVTID is now frozen for identification purposes (XFree86 3.0)
	updated Util/ispcvt for the above mentioned changes

- issued patch to upgrade beta14 to beta16

- bugfix: when scrolling up (bcopy) is interrupted by a keystroke requesting
	a change of the current screen, the "new" screen is scrolled up. Fixed
	in pcvt_kbd.c and pcvt_out.c (check_scroll)

- fixed bug "Jumping through vt's with ALT-F12 does jump over vt0"

- PCVT_PCBURST intro, update of ioctl and Util/ispcvt

- NetBSD speedup patch from Michael Havemester (factor 6-10)

- issued patch to upgrade beta14 to beta15 (never officially announced)

- added patch for ttioctl parameters NetBSD-current 12 Feb 94 from Michael
	Havemester in pcvt_drv.c

- INSTALLATION.xxx(x)BSD upgraded to reflect changes in Util and NetBSD-current

- struct pcvtid changed to hold the value of PCVT_xxx(x)BSD, ispcvt upgraded

- applied patch from Szabolcs Szigeti for 132 column operation  for Trident
	TVGA 8900B and TVGA8900C based boards

- PCVT_NETBSD can/must now be 1 or 09 for Release 0.9 and > 09 for current

- applied patches from John Brezak and Szabolcs Szigeti for recent 
	NetBSD-current changes (syscframe -> trapframe)

- in Util, removed Makefile.inc. Make Makefile.inc.FreeBSD and
	Makefile.inc.NetBSD and added a check to the toplevel and every
	other Makefile in this part of the tree. sigh ...

- patch from Joerg for pcvt.4 Makefile and Debugger in FreeBSD

- issued pcvt-beta14, code freeze for 3.00 release, just bugfixes now

- INSTALLATION.FreeBSD and a small cleanup patch from Joerg

- large patch from Joerg to get pcvt FreeBSD-current compliant

- permission/owner cleanup, files:664, dirs:775, user:root, group:wheel

- got rid of the verbose error message when installing in Util/fonts

- new make-method in Util/kcon to workaround make portability problems

- NetBSD-current detection workaroundaroundaround for NEW_AVERRUNNABLE in
	pcvt_header.h

- MONO_BUF and COLOR_BUF now ifndef'ed

- fixed typo in pcvt_kbd.h in cfkey11() and cfkey12()

- machine/pio.h must be included in pcvt_hdr.h for recent NetBSD-current 

- protected every tsleep call with an "if(curproc)" otherwise there is
	chance to panic the system (Joerg has an idea why ...)

- more fixes from Joerg: keyboard scansets fixed, X server is now aware
	of redefined keys (ioctl implemented)

- patch from Heiko Rupp, configuration with XSERVER not defined didn't	compile

- new version of vgaio from Joerg installed

- large keyboard cleanup patch from Joerg merged in

- bugfixes from Joerg: fix crash on not-open vt, remove pcxint, add option
  PCVT_INHIBIT_NUMLOCK (for notebook owners :-), support for EGA/VGA
  fonts with up to 32 scanlines.

- included vgaio, a program to read/write vga register values from Joerg.

- included mcon, the keyboard mouse emulator control program from Joerg.

- applied averrunnable patch to satisfy the most recent NetBSD-current.

- fixing cursor not updated bug if usl/vt server is running on vt0

- polished some chars in Util/fonts/vt220l.810, fixed all permissions in
	the uuencoded fontfiles.

- debugged the EGA/VGA curses based font editor 'fed' in Util/fed. It seems
	it's working ok now now.

- updated copyright header files

- synchronize asynchronous cursor position update with having a valid
	(new) cursor (row) position from sputc(). (Otherwise a cursor
	would appear temporarily in the first position of the first
	function key label in the HP mode)

- updated screeninfo ioctl and scon to report the monitor type

- added file Doc/Notes for random notes and hints for pcvt-users.

- enhanced the pcvtid-ioctl and the ispcvt(8) utility to print out the
	values of all "PCVT_XXXXXX" compile time options.

- included work from Joerg to convert all ifdef's to if's, to be able
	to compile various configurations of pcvt without changing
	options in the header file.

- included (currently untested !) patch for a keyboard mouse emulator
	from Joerg. (he got problems after he bought a notebook with
	just one serial port, which he wanted to use for slip ...)

- screensaver reset is now also done asynchronously to get more speed. the
	function average() was renamed to async_update().

- cursor position update and cursor position display in HP mode is now done
	asynchronously in function average() in pcvt_sup.c. the function
	update_cursor does no longer exist. this gave about 10..30% increase
	in speed depending on the data cat'ed (termcap, kernel, 1Mb nulls)

- HP function key emulation processing debugged, this has to be rewritten
	to use a stack and a new parser. elm -K now works a bit more, the
	display is not garbled anymore, but fkey strings do not work.

- pcvt_vtf.c split off from pcvt_out.c, file got > 100k. Checked all
	forward declarations in header and source files

- 132 column support for Cirrus Logic CL-GD542X chipsets written by
	Onno van der Linden, c/o vdlinden@fwi.uva.nl

- keyboard scancode display	(#define PCVT_SHOWKEYS)

- printscreen keycode fix form Onno van der Linden

- Util/Makefile.inc added .depend dependency for make depend

- pcvt_ioctl.h is now installed into /usr/include/machine.

- keyboard scancode 1 is now used by default, perhaps it cures some problems

- support for keyboard scancodes sets 1 and 2 (compile time selectable via
	PCVT_SCANSET), patch from Onno van der Linden, c/o vdlinden@fwi.uva.nl

- Util/fontedit.c updated to "#if defined (__386BSD__) || defined (__NetBSD__)"
	(suggested by Mark Weaver, Mark_Weaver@brown.edu)

- 132 column support for S3 86c928 chipsets

- split off pcvt_ext.c from pcvt_sup.c, it was more than 100k ....

- intro of Doc/Manifest and Doc/TestedHardware, removed README.X-PATCH because
	it was now really outdated

- superprobe compatibility patches from Joerg

- intro of file Doc/BugList

- another powerpatch from Joerg:
	- some vgaioctl's are now available if in X mode (i.e. to scon to 
		another screen from within an xterm)
	- removed bug in keyboardhandling, numlock'ed numkeys did send an
		additional null (0x00) char, this has been fixed now.
	- SysRq key made functional

- made force 24 lines (see below) the default configuration to have a well
	behaving vt220 emulator at startup.

- every vt now has a separate caps-lock, num-lock and scroll-lock flag and
	a separate handling of these lock-keys.

- made sleeping in case of scroll lock working from an earlier patch from Joerg.

- large patch from Joerg:
	- Doc/pcvt.4 updated to reflect recent changes
	- struct winsize set ok when switching between HP/VT
	- struct winsize pixels reflect real values now
	- ioctl for switching between 80 and 132 cols
	- 132 columns for generic VGA's	
	- updated scon to provide access to ioctl 80/132 col switching 

- removed pcconcoftc and kbdsoftc structures from header files, removed
	pcconsintr variable and introduced kbd polling synchronization
	variable kbd_polling.

- merging Joerg's patch to support 132 columns on Tseng Labs ET3000

- moved  Util/uemacs/* --> Etc/uemacs.tar.Z.uu

- added patches from Joerg for new Makefiles in Util

- added keyboard security define's to the new X server code

- adding bugfixes from Joerg Wunsch for "old" (= non vt switching) X server

- Control-Alt-Functionkey(1...12) switches now virtual screens/terminals to
	behave consistently with xfree 2.0, also the pages are now checked
	against the real no. of terminals available ALL the time ...

- pcvt_hdr.h: changed "int pcstart();" to "void pcstart();" to avoid warning
	message when compiling under NetBSD-current

- Doc dir split into Doc and Etc, Support renamed to Util

- adding NetBSD-current support for new X server support (syscframe changed 
	to trapframe in NetBSD-current as of 11/11/93)

- adding Joergs changes for XFree86 2.0 multiple X server and/or terminal
	session support

- adding entries from patchkit 0.2.4 codrv keymap to Support/keycap/keycap.src

- Keyboard security introduced into the XSERVER dependent part in pcvt_drv.c

- renamed device files from /dev/ttycXX to /dev/ttyvXX

- added file Doc/pcvt.el from Joerg Wunsch to distribution

- added HP-mode function key map from Gordon L. Burditt to description
	in Doc/Keyboard.HP

- fixed bug in scon which prevents it from showing the correct status of
	132 column support of chipset

- 132 column mode for Trident TVGA9000 works now, after 2 1/5 months of 
	calling everybody i eventually got a tech ref manual from Trident .... 

- it is now possible to "force" pcvt into a 24 line mode when operating
	in pure VT mode with 25 lines or in HP mode with 28 lines. This
	is sometimes necessary when running software which assumes it runs
	on a "real" VT220 which has just 24 lines.

- updated scon to support the 24 lines force mode (scon -f [ on | off ])

- soft reset fkey now positions cursor into left upper corner, update_cursor()
	made global function

- updated scon (-l) to print out additional info about the vga chipset,
	family and 132 column support if VGA detected.

- added additional fields to screeninfo structure in pcvt_ioctl.h to be
	able to return information about current vga chipset.

- moved VGA type/family definitions from pcvt_hdr.h to pcvt_ioctl.h

- Terminfo and Termcap updated to support 132 columns

- fixed bug in kcon which outputs garbage for remapped keys in kcon -l.
	(reported by Gordon L. Burditt, gordon@sneaky.lonestar.org)

- modified Makefile for Support/ispcvt to copy it for installation instead
	of moving it ..

- renamed /usr/share/misc/keycap -> /usr/share/misc/keycap.pcvt to
	avoid nameclash with same file for codrv (Gordon Burditt)

- security bit no longer ignored when initializing keyboard (see #define
	PCVT_USEKBDSEC in pcvt_hdr.h, suggested by Terry Lambert)

- cpufunc.h include made only for NetBSD (Gordon Burditt)

- switch statement in pcvt_drv.c removed for 386BSD (Gordon Burditt)

- Trident cursor size bug removed

- keyboard initialization for ddb

- added support for cursor on/of switching, screensaver and DECTCEM

- removed explicit Hercules support, MDA = Hercules in this context now

- patchkit from Joerg Wunsch (kbd-overlay malloc, scroll_sleep, clip fix)

- ispcvt now installed into /usr/sbin

- removed PCVT_NETBSD08 and PCVT_NETBSDCU, intro of PCVT_NETBSD

- implemented 132 column operation for wd90c11 chipsets

- PCVT_PREPATCH022 renamed to PCVT_NEEDPG

- INSTALLATION.NetBSD written

- DEVICE in kcon makefile changed from /dev/console to /dev/ttyc0

- new keyboard code in pcvt_kbd.c from NetBSD current

- new /etc/rc.local script in INSTALLATION

- implemented 132 column operation for et4000 chipsets

- detection of super vga chipsets as a prerequisite for 132 col mode

- switched to memory mapped virtual screen operation, configurable no. of
  virtual screens, virtual screens now also on MDA and Hercules boards


Changes 2.10 -> 2.20                                                   June 1993
--------------------------------------------------------------------------------

- added new option -a to scon to get the video adaptor in scripts

- support for NetBSD-current, define PCVT_NETBSDCU to enable it

- Support for NetBSD 0.8, define PCVT_NETBSD08 in pcvt_hdr.h to enable it.

- Change Support/Makefile to use <bsd.subdir.mk> instead of <bsd.prog.mk>

- Font editor for the EGA/VGA font-files added to support the design of new
  fonts. One will need Zeyd M. Ben-Halim's ncurses library to compile it, see
  file README.FIRST for information where to get it

- Doc/INSTALLATION upgraded

- Terminfo entry added to support Zeyd M. Ben-Halim's ncurses port

- ispcvt is now installed in /sbin to have it at boottime if /usr is not
	yet mounted.

- applied a patch which prevents CAPS LOCK, SHIFT LOCK, and SCROLL LOCK
	from being repeated (causing i.e a flashing CAPS LOCK led while
	holding CAPS LOCK key down).
	(diff from Gordon L. Burditt, gordon@sneaky.lonestar.org)

- merging patches to support the pccons-model of X11 server support
	(diff from Joerg Wunsch, joerg_wunsch@uriah.sax.de)

- file pcvt_drv.c routine pg() enclosed in "#ifdef PCVT_PREPATCH022" to solve
	multiple defined symbols beginning with patchkit 0.2.2
	(reported by Marko Karppinen, dreamer@purkki.apu.fi)

- added british keycap entry into keycap source file
	(from Andy Duplain, duplain@rtf.bt.co.uk)


Changes 2.00 -> 2.10                                                  March 1993
--------------------------------------------------------------------------------

- detecting the presence of video boards has been changed to ask the 
  BIOS "equipment byte" in the RTC-CMOS ram what's installed. this caused
  many discussions but solved also many problems ....

- driver name changed from "pc" to "vt" for multiple driver coexistence
	(diff from Joerg Wunsch, joerg_wunsch@uriah.sax.de)

- new devicenames recommended for showup in utils like "ps"
	(many people suggested that ..)

- new location for manual pcvt.0
	(diff from Joerg Wunsch, joerg_wunsch@uriah.sax.de)

- new demo file "sgr.vt" to show available graphic renditions

- intro of Doc/ChangeLog (this file)

- fixed bug in Support/keycap/Makefile
	(diff from Gordon L. Burditt, gordon@sneaky.lonestar.org)

- make vttest (main.c) compile after applying patchkit-beta2

- screensaver fixed by Joerg Wunsch

- screensaver now compiled in by default

- made recognition of CONTROL-ALT-DELETE an optional #ifdef'ed feature

- added sgr-conversion table for MDA adaptors

- fixed sgr-conversion table for VGA monochrome environments

- added support for using the kernel debugger
	(diff from Bruce Evans, bde@runx.oz.au)

- fixed several bugs regarding monochrome environments in pcvt_sup.c

- fixed bug in scon preventing one from piping output though more
	(reported by Gordon L. Burditt, gordon@sneaky.lonestar.org)

- display current screen number in HP-mode in the bottom right of screen

- changed names of all #define-able compile time options to start with
  "PCVT_" for easy identification and installation into the kernel config file

- applied another pcvt_kbd.c patchkit from Bruce Evans, bde@runx.oz.au. he
  writes:

	These fixes are mainly related to ddb.  sgetc has a weird interface that
	has caused some bugs, and it was too easy for ddb to reenter itself.
	
	1. Don't use char for keypad2num, char might be unsigned.  Space is not
	   important since the array is small.
	
	2. Don't use u_short for n.
	
	3. Change some 0's to NULLs.
	
	4. sgetc must not return NULL for the !noblock case.  Only callers with
	   noblock set check for the null pointer.  When the kernel follows a
	   null pointer, I think page 0 is sometimes mapped in so nothing bad
	   happens.  The kernel panics if the page is not mapped in.
	
	5. Reentrancy fix. The debugger really ought to check for reentrancy
	   itself, but the driver still needs to return early after the 
	   debugger returns, so that it doesn't return a junk ESC from
	   ctrl-alt-ESC.
	
	6. xlatkey2ascii may return NULL too.

--------------------------------------------------------------------------------
