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 ' 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 ... - 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- is taken to be the same as SHIFT-. It should be interpretted as CONTROL-, 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 " 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 , 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 : - 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 instead of - 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. --------------------------------------------------------------------------------