diff options
Diffstat (limited to 'usr.sbin/pcvt/Misc/Doc')
-rw-r--r-- | usr.sbin/pcvt/Misc/Doc/Acknowledgements | 111 | ||||
-rw-r--r-- | usr.sbin/pcvt/Misc/Doc/Bibliography | 189 | ||||
-rw-r--r-- | usr.sbin/pcvt/Misc/Doc/BugList | 62 | ||||
-rw-r--r-- | usr.sbin/pcvt/Misc/Doc/ChangeLog | 899 | ||||
-rw-r--r-- | usr.sbin/pcvt/Misc/Doc/CharGen | 149 | ||||
-rw-r--r-- | usr.sbin/pcvt/Misc/Doc/Charsets | 99 | ||||
-rw-r--r-- | usr.sbin/pcvt/Misc/Doc/EscapeSequences | 268 | ||||
-rw-r--r-- | usr.sbin/pcvt/Misc/Doc/Keyboard.HP | 286 | ||||
-rw-r--r-- | usr.sbin/pcvt/Misc/Doc/Keyboard.VT | 231 | ||||
-rw-r--r-- | usr.sbin/pcvt/Misc/Doc/Makefile | 15 | ||||
-rw-r--r-- | usr.sbin/pcvt/Misc/Doc/Manifest | 162 | ||||
-rw-r--r-- | usr.sbin/pcvt/Misc/Doc/NotesAndHints | 321 | ||||
-rw-r--r-- | usr.sbin/pcvt/Misc/Doc/TestedHardware | 79 | ||||
-rw-r--r-- | usr.sbin/pcvt/Misc/Doc/ToDo | 13 |
14 files changed, 2884 insertions, 0 deletions
diff --git a/usr.sbin/pcvt/Misc/Doc/Acknowledgements b/usr.sbin/pcvt/Misc/Doc/Acknowledgements new file mode 100644 index 0000000..327f23d --- /dev/null +++ b/usr.sbin/pcvt/Misc/Doc/Acknowledgements @@ -0,0 +1,111 @@ +Thank You, (in the order of appearance) + + + Lynne and Bill Jolitz + + for your work on 386BSD and making all this possible ! + + + Holger Veit (veit@du9ds3.uni-duisburg.de) + + for the permission to use a modified version of his keyboard + driver and utilities for keyboard remapping / multinational + keyboard support. + + + Per Lindberg + + for the extremely helpful vt100 terminal testprogram found + in the directory vttest. + + + John Birchfield + + for the ncsa telnet package, which contains a vt100 emulation + and which was very helpful in studying some concepts. + + + Ralf Friedl (friedl@informatik.uni-kl.de) + + for making his implementation of multi-sceens for the net-2 + distribution available. i looked at this and took some ideas + and lines from his code. + + + Bruce Evans (bde@runx.oz.au) + + for contributing some bugfixes and a complete termcap entry + + + Brian H. Dunford-Shore (brian@morpheus.wustl.edu) + + for contributing most of the EGA/VGA screen switching code + and being a fast, reliable and responsive co-author. This + driver would not be what it is without Brian, Thank You ! + + + Frank da Cruz (fdc@columbia.edu) + + for my famous datacomm program and for giving the permission + to redistribute files from the msdos kermit distribution + located in the directory support/demo. + + + Joerg Wunsch (joerg_wunsch@uriah.sax.de) + + for contributing precise bugreports and -fixes, the 8x10 + EGA/VGA fonts and the color palette ioctls and for being + a very responsive contributor of various ideas. + Joerg wrote pcvt's interface to XFree86 1.2 and 1.3 and + the SYSV/syscons - like interface to XFree86 2.0. + There would be no support for X without Joerg's work! + Thank you very much Joerg, i enjoy it !!! :-) + + + Scott Turner (scotty@gagetalker.com) + + for contributing code to change the winsize structure, many + discussions on the keyboard code and fine-tuning the driver + + + Gordon L. Burditt (gordon@sneaky.lonestar.org) + + for the nicest and most complete bugreports i ever got + + + Theo Deraadt (deraadt@fsa.ca) + + for pushing me forward. There would be no 3.00 release + if Theo didn't asked for features ... ;-) + + + Onno van der Linden (c/o frank@fwi.uva.nl) + + for writing the 132 column support for the Cirrus + chipsets although he had no time to do it ... :-) + + + Wolfram Solfrank, Ingo Koenig + + for putting some data onto tape (and handling and shipping + in the case of Wolfgang) to provide me with some latest + sources because i still have no ip-connectivity .... + + + Michael Havemester (tik@abqhh.hanse.de) + + for giving me a chance to stay up to date with NetBSD- + current, for programming the initial version of the fast + scrolling code and for the keyboard fifo code! + + + Charles Hannum (mycroft@gnu.ai.mit.edu) + + for getting bored by a slow-scrolling video driver and + for leaving me some bugs to fix ;-) + + + The NetBSD and FreeBSD teams + + for giving me something to play, work and learn with ! + There would be nothing to write a driver for without you !!! diff --git a/usr.sbin/pcvt/Misc/Doc/Bibliography b/usr.sbin/pcvt/Misc/Doc/Bibliography new file mode 100644 index 0000000..2cce039 --- /dev/null +++ b/usr.sbin/pcvt/Misc/Doc/Bibliography @@ -0,0 +1,189 @@ + +VGA BOOKS +--------- + + Richard Wilton, "Programmers Guide to PC & PS/2 Video Systems", + Microsoft Press 1987 + + + Richard F. Ferraro, "Programmers Guide to the EGA and VGA Cards", + Second Edition, Addison-Wesley 1990 + + + Richard F. Ferraro, "Programmers Guide to the EGA and VGA Cards", + Third Edition, Addison-Wesley 1994 + + + Matthias Uphoff, "Die Programmierung der EGA/VGA Grafikkarte", + Addison Wesley 1992 + + + Bradley Dyck Kliewer, "EGA/VGA A Programmers Reference Guide", + McGraw Hill, 2nd Edition 1990 + + +UNIX AND UNIX DEVICE DRIVERS +---------------------------- + + Bell Telephone Laboratories, Inc. "UNIX Programmer's Manual, Seventh + Edition, Volume 2". Revised and Expanded Version. + Holt, Rinehart and Winston 1983 + + + George Pajari, "Writing Unix Device Drivers" + Addison Wesley 1992 + + + Janet I. Egan and Thomas J. Teixeira, "Writing a UNIX Device Driver" + John Wiley & Sons 1988 + + + Janet I. Egan and Thomas J. Teixeira, "Writing a UNIX Device Driver" + Second Edition. John Wiley & Sons 1992 + + + Leffler, McKusick, Karels, Quarterman, "The Design and Implementation + of the 4.3BSD UNIX Operating System" + Addison Wesley 1988, corrected Reprint 1989 + + + Leffler, McKusick, "The Design and Implementation of the 4.3BSD UNIX + Operating System, Answer Book" + Addison Wesley 1991 + + + Maurice J. Bach, "The Design of the UNIX Operating System" + Prentice-Hall 1986 + + + Sun Microsystems Inc., "Writing Device Drivers" + Part No. 800-3851-10, Revision A of 27 March 1990 + + + Hewlett-Packard Company, "HP-UX Driver Development Guide", + Part No. 98577-90013, First Edition 07/91 + + + W. Richard Stevens, "Advanced Programming in the UNIX Environment", + Addison Wesley 1992 + + + Phillip M. Adams, Clovis L. Tondo, "Writing Unix Device Drivers in C", + Prentice Hall 1993 + + + Berny Goodheart, James Cox, "The Magic Garden Explained", + Prentice Hall 1994 + + + Peter Kettle, Steve Statler, "Writing Device Drivers for SCO Unix" + Addison Wesley 1993 + + +TERMINAL MANUALS +---------------- + + Digital Equipment, VT100 Users Manual, 2nd ed. 1979 + Digital Equipment, VT132 Users Manual + Digital Equipment, VT220 Programmers Reference Manual, 2nd ed. 1984 + Digital Equipment Corporation + + + Hewlett Packard, 700/92 Technical Reference Manual (ANSI Operation) + Hewlett Packard, 2392a Users Manual (ANSI Operation) + Hewlett-Packard Company + + + Walker Richer & Quinn, Inc., "Reflection 2 and Reflection 4 Technical + Reference Manual", Version 4.2 + Walker, Richer & Quinn, Seattle, August 1992 + + +IBM PC HARDWARE/FIRMWARE +------------------------ + + Frank van Gilluwe, "The Undocumented PC", + Addison Wesley, First Edition May 1994 + + + IBM Corporation, "Technical Reference Personal Computer AT", + Part No. 6280070, Form No. S229-9611-00, First Edition 1985 + + + Phoenix Technologies Ltd., "System BIOS for IBM PC/XT/AT Computers + and Compatibles", Addison Wesley, Fourth Printing June 1990 + + + Phoenix Technologies Ltd., "System BIOS for IBM PCs, Compatibles, + and EISA Computers", Second Edition + Addison Wesley, First Printing May 1991 + + + American Megatrends, Inc., "Hi-Flex ISA and EISA AMIBIOS Technical + Reference", American Megatrends, Inc. 1992 (9/25/92) + + + Thom Hogan, "The Programmers PC Sourcebook", 2nd Edition + Microsoft Press, 1991 + + +TERMCAP/TERMINFO +---------------- + + John Strang, Linda Mui and Tim O'Reilly, "Termcap and Terminfo", + O'Reilly & Associates, Inc. , April 1991 + + + Richard M. Stallman, "Termcap - The Termcap Library and Data Base", + Free Software Foundation, Second Edition November 1988 + + + +DATABOOKS/DATASHEETS +-------------------- + + Intel Corporation, "Microsystem Components Handbook Volume II", + Intel Corporation, 1984 + + + Intel Corporation, "Peripheral Design Handbook", + Intel Corporation, 1980 + + + Tseng Labs, Inc. "ET4000 Graphics Controller Data Book", 1990 + + + Western Digital Corporation, "WD90C11, WD90C11A (PVGA1C) Enhanced + VGA Controller", Western Digital 9/18/91 + + + Western Digital Corporation, "WD90C00 Enhanced VGA Controller", + Western Digital 1/14/91 + + + Western Digital Corporation, "WD90C00 Interface Guide", + Western Digital 1/10/91 + + + Western Digital Corporation, "VGA Register Based Programmers Manual", + Western Digital 1/30/91 + + + Western Digital Corporation, "VGA BIOS Programmers Manual", + Western Digital 1/10/91 + + + Cirrus Logic, "True Color VGA Family - CL-GD542X", Technical Ref. + Manual, Cirrus Logic, Inc. April 1993 + + + S3 Inc, "86C801/86C805 GUI Accelerators" + S3 Incorporated, September 1992 + + + S3 Inc, "86C928 GUI Accelerator" + S3 Incorporated, July 1993 + + + Trident Microsystems Inc., "TVGA9000i Technical Reference Manual", + Trident Microsystems, Inc. (c) 1992, March 1993, Rev 1 diff --git a/usr.sbin/pcvt/Misc/Doc/BugList b/usr.sbin/pcvt/Misc/Doc/BugList new file mode 100644 index 0000000..9c8feef --- /dev/null +++ b/usr.sbin/pcvt/Misc/Doc/BugList @@ -0,0 +1,62 @@ + +List of known Bugs Last Edit-Date: [Sun Mar 5 13:03:51 1995] +================================================================================ + + +Description: Fixed/done by/date +------------------------------------------- -------------------------------- +Util/keycap/man5/keycap.5 does STILL not +build correctly when doing a make obj. +Will there ever be a solution ... :-) +------------------------------------------- -------------------------------- +NetBSD PR #404: Meta-Control-Space broken +with PCVT_META_ESC and PCVT_NULLCHARS set +Meta-Control-Space should (theoretically) +send ESC NUL if PCVT_NULLCHARS and +PCVT_META_ESC are defined; in reality, it +just sends ESC. Because of the grody +encoding hack used by sgets() to implement +PCVT_NULLCHARS (if the first character is +a null, send it), there isn't a trivial +one-line fix. +How-To-Repeat: in a kernel with +PCVT_NULLCHARS and PCVT_META_ESC, type a +M-C-SPC to emacs. +------------------------------------------- -------------------------------- +when auto switching to vt0 is enabled by +PCVT_SW0CNOUTP and the screen is switched +from an X-vt to screen 0, the video mem +is irrecoverably destroyed - no data loss +------------------------------------------- -------------------------------- +Altgr+Shift+key is not separately They way the keyboard mapping +mappable. is done is subject to a sub- + stantial rewrite in a future + release +------------------------------------------- -------------------------------- +132 column mode not working with #9 GXE +(S3-based) (sorry, i don't have one -hm) +(see discussion of 132 column mode in the + NotesAndHints file!) +------------------------------------------- -------------------------------- +WD90Cxx chip detection fails to detect +chips other than C00,C10 and C11. C30 +chips are detected as C11s .... +------------------------------------------- -------------------------------- +Xfree86 2.0 locks the console when started +under NetBSD 0.9. SuperProbe and X both +show process status "DE+" in ps. Work- +around is to disable PCVT_USL_VT_COMPAT. +------------------------------------------- -------------------------------- +On one keyboard, if a "Lock" key is pressed +the leds do not get updated and the key- +board hangs. +------------------------------------------- -------------------------------- +HP function key labels code needs to set +the user defined fkey string somehow! +------------------------------------------- -------------------------------- +Video 7 1024i not fully supported yet, has +sometimes problems with some chars to displ +------------------------------------------- -------------------------------- +The HP-Escape sequences need to be FULLY 28.12.93, -hm did a bit to supp- +implemented port elm. Needs MORE work ! +------------------------------------------- -------------------------------- diff --git a/usr.sbin/pcvt/Misc/Doc/ChangeLog b/usr.sbin/pcvt/Misc/Doc/ChangeLog new file mode 100644 index 0000000..2e8547e --- /dev/null +++ b/usr.sbin/pcvt/Misc/Doc/ChangeLog @@ -0,0 +1,899 @@ +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. + +-------------------------------------------------------------------------------- diff --git a/usr.sbin/pcvt/Misc/Doc/CharGen b/usr.sbin/pcvt/Misc/Doc/CharGen new file mode 100644 index 0000000..c047bfa --- /dev/null +++ b/usr.sbin/pcvt/Misc/Doc/CharGen @@ -0,0 +1,149 @@ +Character Generator description (before it gets lost ..) +-------------------------------------------------------------------------------- + +The lower character generator is the default IBM character set II. + +The description of the higher character generator follows below. The +character names are taken from the "Postscript Language Reference +Manual", 2nd Edition, Fourth printing July 1991, pp 596. + +NOTE: The hex values here are NOT the values the character is identified + by in the emulator. The "physical" (vt220 character) to "logical" + (this table, character generator) conversion is done in the character + output routine by using the tables from file pcvt_tbl.h. + +The order of the characters is not regular and was largely influenced by +the status of my brain while pixel-placing characters .... + +HEX What +--- ------------------------------------------------- +00 Control code display for +. control characters in the +1f range 0x00 - 0x1f + +20 Control code display for +. control characters in the +3f range 0x80 - 0x9f + +HEX What +--- ------------------------------------------------- +40 rho +41 psi +42 partialdiff +43 lambda +44 iota +45 eta +46 epsilon +47 chi +48 logicaland +49 logicalor +4a union +4b propersuperset +4c propersubset +4d gamma +4e Xi +4f Psi + +HEX What +--- ------------------------------------------------- +50 Pi +51 arrowdblright +52 arrowdblboth +53 Lambda +54 Theta +55 congruent +56 gradient +57 Delta +58 proportional +59 therefore +5a integral +5b fraction +5c (inverted fraction ????) +5d angle +5e (inverted angle ????) +5f braceleftmid + +HEX What +--- ------------------------------------------------- +60 bracerightmid +61 bracelefttp +62 braceleftbt +63 bracerighttp +64 bracerightbt +65 radical +66 omega +67 (Yen ??) +68 xi +69 yacute +6a thorn +6b eth +6c Thorn +6d Yacute +6e multiply +6f Eth + +HEX What +--- ------------------------------------------------- +70 threequarters +71 Cedillasmall +72 Acutesmall +73 emdash +74 registered +75 endash +76 logicalnot +77 dieresis +78 notequal +79 scan 9 +7a scan 7 +7b scan 5 +7c scan 3 +7d scan 1 +7e upsilon +7f emptyset + +HEX What +--- ------------------------------------------------- +80 oe +81 Otilde +82 atilde +83 Ydieresis +84 Ucircumflex +85 Uacute +86 Ugrave +87 Oslash +88 OE +89 Otilde +8a Ocircumflex +8b Oacute +8c Ograve +8d Idieresis +8e Icircumflex +8f Iacute + +HEX What +--- ------------------------------------------------- +90 Igrave +91 Edieresis +92 Ecircumflex +93 Egrave +94 Atilde +95 Acircumflex +96 Aacute +97 Agrave +98 onesuperior +99 (small black rectangle) +9a zeta +9b threesuperior +9c copyright +9d currency +9e kappa +9f (inverted question mark) + +HEX What +--- ------------------------------------------------- +a0 the remaining positions +. are used for the vt220 +ff downloadable characterset + +------------------------------------------------------------------------------- + (phoooo ..) diff --git a/usr.sbin/pcvt/Misc/Doc/Charsets b/usr.sbin/pcvt/Misc/Doc/Charsets new file mode 100644 index 0000000..b30dd8a --- /dev/null +++ b/usr.sbin/pcvt/Misc/Doc/Charsets @@ -0,0 +1,99 @@ + +I. Character Set Selection on VT220 Terminals +================================================== + + +name C0 GL C1 GR + +---+ +-------------------+ +---+ +-------------------+ + |00h| | | |80h| | | +range | | | | 20h .. 7fh | | | | | a0h .. ffh | + |1fh| | | |9fh| | | + +---+ +-------------------+ +---+ +-------------------+ +length 32 96 32 96 + + /\ +SECOND /||\ "lock"- or "single"-shift one set of G0, G1, G2 or +STEP || G3 into one of the "displayable" charactersets GL + || or GR. (escape) sequences are: SI, SO, ESC ~, ESC n, + || ESC }, ESC o, ESC |, ESC N and ESC O. + + +----+ +----+ +----+ +----+ +name | G0 | | G1 | | G2 | | G3 | +length |(96)| |(96)| |(96)| |(96)| + +----+ +----+ +----+ +----+ + + /\ + /||\ designate a hard or a soft character set as + || one of G0, G1, G2 or G3, used escape sequences +FIRST || are, ESC ( X, ESC ) X, ESC * X and ESC + X - where X is +STEP || B for ascii, < for supplemental, 0 for special, A for + || british, 4 for dutch, C and 5 for finnish etc. etc. ... + || + + +-----+ +------------+ +--------+ +-----------+ +------------+ +name |ascii| |supplemental| |special | | national | |downloadable| + | | | graphics | |graphics| |replacement| |characterset| +length | (96)| | (96)| | (96)| | (96)| | (96)| + +-----+ +------------+ +--------+ +-----------+ +------------+ + + \-------\ /----------/ norway/danish + | dutch + together, this is also finnish + referred to as the french + multinational character french canada + set (power on default german + on a dec vt220) italian + spanish + swedish + swiss + + +II. Emulating Character Set Selection +========================================= + +MDA/HCG/CGA: + + just a partial emulation is done, because these boards don't allow + downloadable charactersets. some characters simply don't display + because they are not in the characterset roms on the video board. + + if you want to change the mapping, have a look at the default tables + in pcvt_tbl.h. + +EGA/VGA: + + these cards have provisions for downloadable charactersets and so + many vt220/vt320 charactersets are fully supported: + + - US Ascii + - DEC Supplemental + - DEC Special Graphic + - DEC Technical + - ISO Latin-1 + - Downloadable + + when the emulator is started, it behaves initially similar to + the MDA/CGA/HCG method described above. + + when a second (special) characterset for a given screen resolution + is loaded via the "loadfont" utility, the emulator detects this fact + and uses from then on extended tables to access the second charset + as an upper half 512 characterset in terms of ega/vga speak. + + from this time on, vt220 downloadable fonts are usable. + + the organization of this extended characterset is as follows: + + 0x00 ... 0x1f C0 display function fonts + 0x20 ... 0x3f C1 display function fonts + 0x40 ... 0x9f fonts for DEC Supplemental, DEC Special + Graphic, DEC Technical and ISO Latin-1 + 0xa0 ... 0xff VT220 Downloadable Font + + the mapping between vt220 charactersets and the charactersets inside + the ega/vga is done by tables found in the file pcvt_tbl.h. + + there is a MSDOS fonteditor called "EVAFONT" available on the + SIMTEL-20 archive, which i used to edit the character sets in the + distribution. + diff --git a/usr.sbin/pcvt/Misc/Doc/EscapeSequences b/usr.sbin/pcvt/Misc/Doc/EscapeSequences new file mode 100644 index 0000000..8e0e2c7 --- /dev/null +++ b/usr.sbin/pcvt/Misc/Doc/EscapeSequences @@ -0,0 +1,268 @@ + Control Codes and Escape Sequences supported by pcvt +=============================================================================== + +CONTROL CODES +------------------------------------------------------------------------------- + + NUL (0x00) ignored + SOH (0x01) ignored + STX (0x02) ignored + ETX (0x03) ignored + EOT (0x04) ignored + ENQ (0x05) ignored + ACK (0x06) ignored + + BEL (0x07) beep + + BS (0x08) move one character position to the left + until at left margin + + HT (0x09) move to next tab stop + + LF (0x0a) move to next line, same column + VT (0x0b) move to next line, same column + FF (0x0c) move to next line, same column + + CR (0x0d) move to left margin on current column + + SO (0x0e) invoke character set G1 into GL + SI (0x0f) invoke character set G0 into GL + + DLE (0x10) ignored + DC1 (0x11) ignored + DC2 (0x12) ignored + DC3 (0x13) ignored + DC4 (0x14) ignored + NAK (0x15) ignored + SYN (0x16) ignored + ETB (0x17) ignored + + CAN (0x18) abort current escape sequence + + EM (0x19) ignored + + SUB (0x1a) abort current escape sequence + + ESC (0x1b) start of escape sequence + + FS (0x1c) ignored + GS (0x1d) ignored + RS (0x1e) ignored + US (0x1f) ignored + + VT220 control codes in the range 0x80 .. 0x9f are completely ignored, + but displayed as C1 display controls. + + +ESCAPE SEQUENCES DIGITAL EQUIPMENT +------------------------------------------------------------------------------- + +(ni) = not implemented yet, all hooks available inside emulator! +<p> = numeric parameter + + ESC space F select 7-bit c1 control transmission (ni) + ESC space G select 8-bit c1 control transmission (ni) + + ESC # 3 double height top half (ni) + ESC # 4 double height bottom half (ni) + ESC # 5 single width single height (ni) + ESC # 6 double width single height (ni) + + ESC # 8 fill screen with 'E's + + ESC 7 save cursor + + ESC 8 restore cursor + + ESC = keypad application mode + + ESC > keypad numeric mode + + ESC D index + + ESC E next line + + ESC H set tab at cur col + + ESC M reverse index + + ESC N single shift G2 + + ESC O single shift G3 + + ESC Z who are you + + ESC d Only available if PCVT_SETCOLOR was defined when + compiling the kernel, allows to set custom color table + for more info, see pcvt_out.c ... + + ESC c power up reset + + ESC n Lock Shift G2 -> GL + + ESC o Lock Shift G3 -> GL + + ESC } Lock Shift G2 -> GR + + ESC | Lock Shift G3 -> GR + + ESC ~ Lock Shift G1 -> GR + + ESC [ ? <p> h set dec private modes + ESC [ ? <p> l reset dec private modes + 1 CKM - cursor key mode + 6 OM - origin mode + 7 AWM - auto wrap mode + + ESC [ <p> ' z DECELR - Enable Locator Report (ni) + + ESC [ <p> ' { DECSLE - Select type of locator events (ni) + + ESC [ ? n Terminal Reports + + ESC [ ? K selective erase in line + + ESC [ ? J selective erase in display + + ESC [ <p> @ insert char(s) + + ESC [ <p> A cursor up + + ESC [ <p> B cursor down + + ESC [ <p> C cursor forward + + ESC [ <p> D cursor backward + + ESC [ <p> H cursor direct cursor addressing + + ESC [ <p> J erase screen + + ESC [ <p> K erase line + + ESC [ <p> L insert line + + ESC [ <p> M delete line + + ESC [ <p> P delete char + + ESC [ <p> S scroll up + + ESC [ <p> T scroll down + + ESC [ <p> X erase character + + ESC [ <p> c device attributes + + ESC [ <p> f direct cursor addressing + + ESC [ <p> g clear tabs + + ESC [ <p> h set mode + ESC [ <p> l reset mode + 4 IRM - insert replacement mode + 20 LNM - line feed / newline mode + + ESC [ <p> i media copy (ni) + + ESC [ <p> m select graphic rendition + 0 reset to normal attributes + 1 bold + 4 underline + 5 blinking + 7 reverse + 22 bold off + 24 underline off + 25 blinking off + 27 reverse off + 30-37 foreground colors (on color display) + 40-47 background colors (on color display) + + ESC [ <p> n device status report + + ESC [ <p> r set scrolling region + + ESC [ <p> x request / report terminal parameters + + ESC [ <p> y invoke selftests (ni) + + + ESC [ x request/report parameters + ESC [ y invoke seftest(s) + + ESC [ " q SCA + ESC [ ! p SCA + + ESC ( <p> designate G0 + ESC ) <p> designate G1 + ESC * <p> designate G2 + ESC + <p> designate G3 + ESC - <p> designate G1 (96) + ESC . <p> designate G2 (96) + ESC / <p> designate G3 (96) + A British or ISO-Latin-1 + B USASCII + C Finnish + 5 Finnish + E Norwegian/Danish + 6 Norwegian/Danish + H Swedish + 7 Swedish + K German + Q French Canadien + R French + Y Italian + Z Spanish + 0 special graphics + 1 alternate ROM + 2 alt ROM, spec graphics + 3 HP Roman 8, upper 128 chars*/ + 4 Dutch + < DEC Supplemental + = Swiss + > DEC Technical + + +ESCAPE SEQUENCES HEWLETT-PACKARD +------------------------------------------------------------------------------- + +ESC&f<attr>a<key>k<llen>d<slen>L<label><string> set function key label + + attr = attribute, 0 - normal (not implemented) + 1 - local only (not implemented) + 2 - transmit only (not implemented) + + key = function key number, range 1 .. 8 + + llen = label string length + + slen = string string length + + label = label data (up to 16 chars per label) + + string = string to send data (up to 80 chars per label) + (not implemented) + +EXAMPLE: +======== + + ESC&f0a1k16d1LFUNCTION KEY 0 + + sets function key label 1 to "FUNCTION KEY ". + should program fkey 1 to emit "0" on keypress + + +ESC&j<parm> function key operations + + parm = '@' remove the function key labels from screen + + parm = 'A' display the modes set of function key labels + + parm = 'B' enable & display user function key labels + + parm = 'C' clear message & restore the current key labels + + parm = 'R' enable usr/sys and menu and label modes + + parm = 'S' disable usr/sys and menu and label modes + diff --git a/usr.sbin/pcvt/Misc/Doc/Keyboard.HP b/usr.sbin/pcvt/Misc/Doc/Keyboard.HP new file mode 100644 index 0000000..06ad5b7 --- /dev/null +++ b/usr.sbin/pcvt/Misc/Doc/Keyboard.HP @@ -0,0 +1,286 @@ +================================================================================ +# # +# Function key mapping for the "more HP" - like layout # +# # +================================================================================ + + +I. Function Key Map +======================== + + +PC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | +Key + _________________________________________________________________________ +UNSHF| 132 | Soft| | | | 7/8 | Dspl| Auto| SCRN| SCRN| SCRN| SCRN| +SYS | Cols|Reset| | | Beep| Bit | Func| Wrap| 0 | 1 | 2 | 3 | +LABEL|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____| +UNSHF| | | | | | | | | SCRN| SCRN| SCRN| SCRN| +USER | F6 | F7 | F8 | F9 | F10 | F11 | F12 | F13 | 0 | 1 | 2 | 3 | +LABEL|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____| + | | | | | | | | | Fkey| U/S |VT/HP| Next| +ALT | F14 | HELP| DO | F17 | F18 | F19 | F20 | F21 |Label|Label| Mode| SCRN| + |_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____| + | User| User| User| User| User| User| User| User| | | | | +SHIFT| F6 | F7 | F8 | F9 | F10 | F11 | F12 | F13 | | | | | + |_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____| +ALT- | User| User| User| User| User| User| User| User| | | | | +SHIFT| F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | | | | | + |_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____| +CTRL-| SCRN| SCRN| SCRN| SCRN| SCRN| SCRN| SCRN| SCRN| SCRN| SCRN| SCRN| SCRN| +ALT | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | + |_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____| + +PC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | +Key + + + +II. Special Keys Used To Change The General Runtime Functionality +===================================================================== + + + To be consistent with XFfree86 2.0 Virtual Screen switching, it is + now also possible to switch screens by using: + + CTRL - ALT - Fx , where x can be 1 ... No of screens compiled, + see the definition of PCVT_NSCREENS ! + + + Virtual Screen/Terminal switching + --------------------------------- + + F9 or CTRL-ALT-F1 switches to screen 0 + F10 or CTRL-ALT-F2 switches to screen 1 + F11 or CTRL-ALT-F3 switches to screen 2 + F12 or CTRL-ALT-F4 switches to screen 3 + CTRL-ALT-F5 switches to screen 4 + CTRL-ALT-F6 switches to screen 5 + CTRL-ALT-F7 switches to screen 6 + CTRL-ALT-F8 switches to screen 7 + CTRL-ALT-F9 switches to screen 8 + CTRL-ALT-F10 switches to screen 9 + CTRL-ALT-F11 switches to screen 10 + CTRL-ALT-F12 switches to screen 11 + + (see also ALT-F12 below) + + + ALT-F9 Function key labels ON / OFF + ------------------------------------ + + this key is only operational, when in HP/VT mode, see F11 + + ALT-F9 toggles between function key labels displayed or not. + + ON: screen has either 25-3 = 22, 28-3 = 25 or 50-3 = 47 lines + 2 lines fkey labels displayed + row/col display enabled + 1 line status/load avg line + + OFF: screen has either 25-3 = 22, 28-3 = 25 or 50-3 = 47 lines + no function key labels displayed + no row/col display + no status/load avg line + + applicable escape sequences: + + switch OFF: + ESC & j @ remove labels from screen + + switch ON: + ESC & j A display system fkey labels + ESC & j B display user fkey labels + ESC & j C display current fkey labels + + + ALT-F10 User / System Function key labels + ----------------------------------------- + + this key is only operational, when in HP/VT mode, see ALT-F11 + + ALT-F10 toggles between the display of user or system + function key labels + + this key is only active if labels are toggled on via + the ALT-F9 function key + + screen has either 25-3 = 22, 28-3 = 25 or 50-3 = 47 lines + 2 lines fkey labels displayed + row/col display enabled + 1 line status/load avg line + + + applicable escape sequences: (see above) + + ESC & j A display system fkey labels + ESC & j B display user fkey labels + ESC & j C display current fkey labels + + + ALT-F11 Toggle between pure VT and HP-VT Emulation + -------------------------------------------------- + + This key switches between pure vt100/vt220 mode and + vt100/vt220 with hp-fkey-labels mode of operation. + this is not dependent of any screen resolution the + virtual consoles are in. + + initially, after power on, all virtual screens are in + the pure vt-mode: + + - the emulator does not execute any hp escape sequences + - the function key label lines are switched off + - no load average or status line is displayed + - no row / column counter is displayed + - no window number is displayed + - the full screen 25x80, 28x80 or 50x80 is usable + - ALT-F9 and ALT-F10 have no function + + when toggled to the vt/hp mix of operation, the following + changes take place: + + - the emulator executes the supported hp-esc sequences + - the function key labels are displayable depending + on the state of ALT-F9/F10 + - the load average is displayed + - the row / column counters are displayed + - the window number is displayed in the lower right corner + - in any screen resolution, the last 3 lines are lost, + so one has a 22x80, 25x80 and 47x80 resolution + - F9 and F10 are operational. + + when switching modes by means of ALT-F11, the following + changes to the current environment, the emulator may + be in, apply: + + - the screen is cleared + - the cursor moves to the home position + - the scrolling region is reset to default + + (this functionality is available via an ioctl) + + ALT-F12 Cycle current screen + ---------------------------- + + This key cycles through the display of the video + screens. on startup, screen 0 is displayed; with every + keypress of F12, the next screen is displayed, wrapping + from the maximum screen number back to screen 0. + + (this functionality is available via an ioctl) + + +III. Special Keys used to change the Runtime Functionality of a Page +======================================================================= + + when in mixed HP/VT mode, one has two types of function key labels + on screen, user function keys and system function keys. + + this functionality is NOT available in pure VT220 mode ! + + the user function keys emit the below mentioned VT220 function- + key sequences. the labels can be reprogrammed by use of escape + sequences. + + in system function key mode, several pre-programmed functions inside + the emulator can be toggled, currently implemented are: + + - F1, if a chipset is detected for which 132 operation is supported, + F1 toggles between 80 columns and 132 columns. + - F2, does a soft reset of the emulator code + - F3, -/- + - F4, -/- + - F5, toggle the audible beep generation + - F6, toggle 7/8 bit char width + - F7, toggle display functions. this means that control codes + in the range 0x00 to 0x1f are not EXECUTED by the emulator + any longer, but displayed on the screen + - F8, toggle automatic cursor wraparound at end of line + + these functions operate just for the selected screen + + +IV. Keyboard VT220 compatibility +==================================== + + The following keys behave different as probably expected. + + They were mapped to provide more VT220 compatibility. + + To have F1-F8 emit something in HP-mode, you have to switch + to user function key labels by using ALT-F10 (see ALT-F10 above) ! + + PC Keyboard VT220 Keyboard + ------------- -------------------------------------------------- + F1 F6 (ESC [ 17 ~) + F2 F7 (ESC [ 18 ~) + F3 F8 (ESC [ 19 ~) + F4 F9 (ESC [ 20 ~) + F5 F10 (ESC [ 21 ~) + F6 F11 (ESC [ 23 ~) + F7 F12 (ESC [ 24 ~) + F8 F13 (ESC [ 25 ~) + ALT-F1 F14 (ESC [ 26 ~) + ALT-F2 HELP (ESC [ 28 ~) + ALT-F3 DO (ESC [ 29 ~) + ALT-F4 F17 (ESC [ 31 ~) + ALT-F5 F18 (ESC [ 32 ~) + ALT-F6 F19 (ESC [ 33 ~) + ALT-F7 F20 (ESC [ 34 ~) + ALT-F8 F21 (ESC [ 35 ~) (i know !!!!) + + SHIFT-F1 ... SHIFT-F8 + User Defined Keys for F6 - F13 + + ALT-SHIFT-F1 ... ALT-SHIFT-F8 + User Defined Keys for F14 - F20 + + Insert Insert Here (ESC [ 2 ~) + + Delete Remove (ESC [ 3 ~) + + Home Find (ESC [ 1 ~) + + End Select (ESC [ 4 ~) + + PgUp Prev Screen (ESC [ 5 ~) + + PgDn Next Screen (ESC [ 6 ~) + + PrtSc (ignored) + + Pause (ignored) + + Break (ignored) + + Cursor Keys dependent upon state of cursor key mode either + ESC [ A ... ESC [ D or ESC O A ... ESC O D + + NumLock toggles Numeric Keypad for Keypad Numeric Mode + and Keypad Application Mode + + ALT-Keypad-0 can be used to generate any keycode in the + ALT-Keypad-1 rage 0-255. + ALT-Keypad-2 this was modeled with the behaviour of a + ALT-Keypad-3 popular boot loader in mind + ALT-Keypad-4 + ALT-Keypad-5 + ALT-Keypad-6 + ALT-Keypad-7 + ALT-Keypad-8 + ALT-Keypad-9 + + Numeric Keypad dependent upon state of keypad numeric/application + mode either 0 ... 9 or ESC O p ... ESC O y + + ALT-NumLock emits PF1 sequence (ESC O P) + + ALT-Keypad-/ emits PF2 sequence (ESC O Q) + + ALT-Keypad-* emits PF3 sequence (ESC O R) + + ALT-Keypad-- emits PF4 sequence (ESC O S) + + +/* EOF */ diff --git a/usr.sbin/pcvt/Misc/Doc/Keyboard.VT b/usr.sbin/pcvt/Misc/Doc/Keyboard.VT new file mode 100644 index 0000000..4353ec7 --- /dev/null +++ b/usr.sbin/pcvt/Misc/Doc/Keyboard.VT @@ -0,0 +1,231 @@ +================================================================================ +# # +# Function key mapping for the "more VT220" - like layout # +# # +================================================================================ + + +I. Special Keys Used To Change The General Runtime Functionality +===================================================================== + + + CTRL-F9 Function key labels ON / OFF + ------------------------------------ + + this key is only operational, when in HP/VT mode, see CTRL-F11 + + CTRL-F9 toggles between function key labels displayed or not. + + ON: screen has either 25-3 = 22, 28-3 = 25 or 50-3 = 47 lines + 2 lines fkey labels displayed + row/col display enabled + 1 line status/load avg line + + OFF: screen has either 25-3 = 22, 28-3 = 25 or 50-3 = 47 lines + no function key labels displayed + no row/col display + no status/load avg line + + applicable escape sequences: + + switch OFF: + ESC & j @ remove labels from screen + + switch ON: + ESC & j A display system fkey labels + ESC & j B display user fkey labels + ESC & j C display current fkey labels + + + CTRL-F10 User / System Function key labels + ------------------------------------------------- + + this key is only operational, when in HP/VT mode, see CTRL-F11 + + CTRL-F10 toggles between the display of user or system + function key labels + + this key is only active if labels are toggled on via + the CTRL-F9 function key + + screen has either 25-3 = 22, 28-3 = 25 or 50-3 = 47 lines + 2 lines fkey labels displayed + row/col display enabled + 1 line status/load avg line + + + applicable escape sequences: (see above) + + ESC & j A display system fkey labels + ESC & j B display user fkey labels + ESC & j C display current fkey labels + + + CTRL-F11 Toggle between pure VT and HP-VT Emulation + ---------------------------------------------------------- + + This key switches between pure vt100/vt220 mode and + vt100/vt220 with hp-fkey-labels mode of operation. + this is not dependent of any screen resolution the + virtual consoles are in. + + initially, after power on, all virtual screens are in + the pure vt-mode: + + - the emulator does not execute any hp escape sequences + - the function key label lines are switched off + - no load average or status line is displayed + - no row / column counter is displayed + - the full screen 25x80, 28x80 or 50x80 is usable + - CTRL-F9 and CTRL-F10 have no function + + when toggled to the vt/hp mix of operation, the following + changes take place: + + - the emulator executes the supported hp-esc sequences + - the function key labels are displayable depending + on the state of CTRL-F9/CTRL-F10 + - the load average is displayed + - the row / column counters are displayed + - in any screen resolution, the last 3 lines are lost, + so one has a 22x80, 25x80 and 47x80 resolution + - CTRL-F9 and CTRL-F10 are operational. + + when switching modes by means of CTRL-F11, the following + changes to the current environment, the emulator may + be in, apply: + + - the screen is cleared + - the cursor moves to the home position + - the scrolling region is reset to default + + (this functionality is available via an ioctl) + + F5 Cycle current page + -------------------------- + + This key cycles through the display of the video + pages. on startup, page 0 is displayed; with every + keypress of F5, the next page is displayed, wrapping + from the maximum page number back to page 0. + + F1 switches to page 0 + F2 switches to page 1 + F3 switches to page 2 + F4 switches to page 3 + + 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) + + (this functionality is available via an ioctl) + + +II. Special Keys used to change the Runtime Functionality of a Page +======================================================================= + + when in mixed HP/VT mode, one has two types of function key labels + on screen, user function keys and system function keys. they are + accessed by using the CTRL key while pressing a function key. + + the function key labels are NOT available in pure VT220 mode--although + the function keys are still active + + the user function keys and their labels can be reprogrammed by use of + escape sequences. + + in system function key mode, several pre-programmed functions inside + the emulator can be toggled, currently implemented are: + + - CTRL-F1, toggle 80/132 columns + - CTRL-F2, soft reset emulator + - CTRL-F3, toggle force 24 lines mode + - CTRL-F4, toggle keyboard debugging (if compiled in) + - CTRL-F5, toggle the audible beep generation + - CTRL-F6, toggle 7/8 bit char width + - CTRL-F7, toggle display functions. this means that control codes + in the range 0x00 to 0x1f are not EXECUTED by the emulator + any longer, but displayed on the screen + - CTRL-F8, toggle automatic cursor wraparound at end of line + + these functions operate just for the selected page + + +III. Keyboard VT220 compatibility +==================================== + + The following keys behave different as probably expected. + + They were mapped to provide more VT220 compatibility. + + + PC Keyboard VT220 Keyboard + ------------- -------------------------------------------------- + F6 - F12 emit the sequences for VT220 F6 - F12 keys + (ESC [ 17 ~ .... ESC [ 24 ~) + + ALT F1 - F10 emit the sequences for VT220 F11 - F14, HELP, DO, + F17 - F20 keys + (ESC [ 23 ~ .... ESC [ 34 ~) + + SHIFT F6 - F12 emit the User Definable Key sequences for VT220 + F6 - F12 keys or + (ESC [ 17 ~ .... ESC [ 24 ~) for cleared sequences + + ALTSHIFT F1-F10 emit the User Definable Key sequences for VT220 + F11 - F14, HELP, DO, F17 - F20 keys or + (ESC [ 23 ~ .... ESC [ 34 ~) for cleared sequences + + Insert Insert Here (ESC [ 2 ~) + + Delete Remove (ESC [ 3 ~) + + Home Find (ESC [ 1 ~) + + End Select (ESC [ 4 ~) + + PgUp Prev Screen (ESC [ 5 ~) + + PgDn Next Screen (ESC [ 6 ~) + + PrtSc (ignored) + + Pause (ignored) + + Break (ignored) + + Cursor Keys dependent upon state of cursor key mode either + ESC [ A ... ESC [ D or ESC O A ... ESC O D + + NumLock toggles Numeric Keypad for Keypad Numeric Mode + and Keypad Application Mode + + ALT-Keypad-0 can be used to generate any keycode in the + ALT-Keypad-1 rage 0-255. + ALT-Keypad-2 this was modeled with the behaviour of a + ALT-Keypad-3 popular boot loader in mind + ALT-Keypad-4 + ALT-Keypad-5 + ALT-Keypad-6 + ALT-Keypad-7 + ALT-Keypad-8 + ALT-Keypad-9 + + Numeric Keypad dependent upon state of keypad numeric/application + mode either 0 ... 9 or ESC O p ... ESC O y + + ALT-NumLock emits PF1 sequence (ESC O P) + + ALT-Keypad-/ emits PF2 sequence (ESC O Q) + + ALT-Keypad-* emits PF3 sequence (ESC O R) + + ALT-Keypad-- emits PF4 sequence (ESC O S) + + ALT-F11 emits PF1 sequence (ESC O P) + + ALT-F12 emits PF2 sequence (ESC O Q) + +/* EOF */ diff --git a/usr.sbin/pcvt/Misc/Doc/Makefile b/usr.sbin/pcvt/Misc/Doc/Makefile new file mode 100644 index 0000000..8999896 --- /dev/null +++ b/usr.sbin/pcvt/Misc/Doc/Makefile @@ -0,0 +1,15 @@ +FILES= Acknowledgements Bibliography BugList ChangeLog CharGen \ + Charsets EscapeSequences Keyboard.HP Keyboard.VT \ + Manifest NotesAndHints TestedHardware ToDo + +beforeinstall: + for file in ${FILES}; \ + do \ + ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ + ${.CURDIR}/$$file ${DESTDIR}${BINDIR}/Doc/$$file ; \ + done + +afterdistribute: beforeinstall + +.include "../Makefile.inc" +.include <bsd.subdir.mk> diff --git a/usr.sbin/pcvt/Misc/Doc/Manifest b/usr.sbin/pcvt/Misc/Doc/Manifest new file mode 100644 index 0000000..cd75e15 --- /dev/null +++ b/usr.sbin/pcvt/Misc/Doc/Manifest @@ -0,0 +1,162 @@ + +FILES AND DIRECTORIES - Base Directory [pcvt Release 3.20] +-------------------------------------------------------------------------------- + +Doc Documentation, see below +Etc Additional things, see below +README.FIRST guess what +Util Additional utilities and support, see below + +Driversource Description +------------ -------------------------------------------------------- +pcvt_conf.h Driver, compile-time configuration file +pcvt_drv.c Driver, os-interface +pcvt_ext.c Driver, USL-VT Xserver ioctl's and 132 column support +pcvt_hdr.h Driver, global include file +pcvt_ioctl.h Driver, ioctl's available for the driver +pcvt_kbd.c Driver, keyboard handling +pcvt_kbd.h Driver, keyboard handling header file +pcvt_out.c Driver, VT220 emulator state machine and misc +pcvt_sup.c Driver, support code for ega's/vga's +pcvt_tbl.h Driver, character set to vga charset mapping tables +pcvt_vtf.c Driver, VT220 emulator support functions + +FILES AND DIRECTORIES - Doc +-------------------------------------------------------------------------------- + +Acknowledgements Everyone and everything who/what helped +Bibliography Useful Books and documentation +BugList Things to do +ChangeLog Driver development history +CharGen Description of the character set files +Charsets VT220 and mda/cga/hcs/ega/vga charactersets +EscapeSequences List of supported control codes & escape sequences +INSTALL.FreeBSD-1.1 Install instructions for FreeBSD Release 1.1 or 1.1.5.1 +INSTALL.FreeBSD-2.0 Install instructions for FreeBSD Release 2.0 +INSTALL.NetBSD-0.9 Install instructions for NetBSD Release 0.9 +INSTALL.NetBSD-1.0 Install instructions for NetBSD Release 1.0 +Keyboard.HP Special keys and emulated VT220 keys, one style +Keyboard.VT Special keys and emulated VT220 keys, other style +Makefile Makefile for the pcvt.4 manualpage +Manifest This file +NotesAndHints Random notes and hints +TestedHardware A list of tested Hardware, this is just what we got ... +ToDo A list of things to do +pcvt.4 Manual page for the driver and ioctl's + + +FILES AND DIRECTORIES - Etc +-------------------------------------------------------------------------------- + +MAKEDEV.pcvt A shell script to mknod the device files +Terminfo A terminfo entry for the emulator, this IS in + fact a VT220 terminfo entry ! +Termcap A termcap entry for the emulator, this IS in fact + a series of VT220 termcap entries which + are extended by 24/25/40/50 lines, 80/132 + columns and HP-function key labels +pcvt.el GNU emacs configuration +rc.local sample script for driver initialization +ttys.pcvt.netbsd sample /etc/ttys.pcvt for NetBSD-current +ttys.pcvt.freebsd sample /etc/ttys.pcvt for FreeBSD 1.1R +ttys.pccons.netbsd sample /etc/ttys.pccons for NetBSD-current +ttys.pccons.freebsd sample /etc/ttys.pccons for FreeBSD 1.1R +uemacs.tar.Z.uu an example of how to use the function key labels. + It consists of some files from/for MicroEmacs 3.11a: + - dot-emacsrc, to be moved to /usr/local/.emacsrc, + startup file for micro emacs, contains setup of + the function key labels + - emacs.hlp, interactive uemacs help system + - unix.c-3.11a the source for the terminal handling +xmodmap-german X-server german keyboard mapping sample + + +FILES AND DIRECTORIES - Util +-------------------------------------------------------------------------------- + +directory description +--------- --------------------------------------------------------------- + +loadfont Program to download charactersets into EGA/VGA character + generator memory. + +cursor Very simple program to set the cursor shape. + +scon Program to control various aspects of terminal emulation, + such as: emulation mode, screen switching etc. + +kcon Program to control various aspects of the keyboard such as + key remapping for national keyboards etc. + +keycap A library for accessing the keycap database + +ispcvt A short program usable in shell scripts to verify that the + current running kernel has pcvt compiled in and that the + the utility version and the driver version are the same. + +fontedit A program to edit VT220 downloadable character sets. + +userkeys A program to edit the VT220 programmable function keys. + +fonts Contains uuencoded binary fontfiles following the naming rule: + + vt220<X>.<YYY>.uu + + <X> can be 'l' or 'h', where 'l' stands for a standard + IBM II charset and is to be loaded first for the + base characterset to support a desired resolution, + and 'h' is the extended characterset needed for proper + VT220 emulation and is to be loaded as the second set + in addition to the above mentioned base characterset. + + <YYY> is the identifier for the character cell size, currently + we have: + 808 = 8x8 - 50 lines on VGA, 43 lines on EGA + 810 = 8x10 - 40 lines on VGA + 814 = 8x14 - 28 lines on VGA, 25 lines on EGA + 816 = 8x16 - 25 lines on VGA + + Files distributed: + + vt220l.808.uu, vt220h.808.uu + vt220l.810.uu, vt220h.810.uu + vt220l.814.uu, vt220h.814.uu + vt220l.816.uu, vt220h.816.uu + +vttest A VT100 compatibility tester. This is a test tool for + VT100 emulation writers and terminal buyers. + +demo - chardemo.vt and colors.vt: These two files are from the + MSDOS-Kermit distribution from the Columbia University. + They can be "cat"-ed to the terminal screen and display + all supported VT220 charactersets and all possible colors + respectively. + - sgr.vt: A demonstration of the various display enhancement + combinations for the DECSGR escape sequence. + - some other VT animations i collected over the time and a + program to play them on pcvt with adjustable delay. + +fed - a simple, System V curses based font-editor for the EGA/VGA + fonts in the above mentioned font - directory. + Fed was developed using Zeyd M. Ben-Halim's ncurses library, + which is available by ftp from netcom.com:pub/zmbenhal/. + +mcon - a program to control the mouse emulation via the keyboard + +kbdio - keyboard controller debugging utility + +vgaio - a program to read and write VGA registers. + ---------------------- CAUTION ------------------------------ + Because you are able to change the timings without check + or warning, this program may permanently damage your monitor. + If you don't know what you are doing, DO NOT USE IT !!!!!!!!! + ------------------------------------------------------------- + +set2061 - a program to set the programmable clock generator on my S3- + based ELSA Winner 1000 VGA board. + ---------------------- CAUTION ------------------------------ + Because you are able to change the timings without check + or warning, this program may permanently damage your monitor. + If you don't know what you are doing, DO NOT USE IT !!!!!!!!! + ------------------------------------------------------------- + diff --git a/usr.sbin/pcvt/Misc/Doc/NotesAndHints b/usr.sbin/pcvt/Misc/Doc/NotesAndHints new file mode 100644 index 0000000..725831a --- /dev/null +++ b/usr.sbin/pcvt/Misc/Doc/NotesAndHints @@ -0,0 +1,321 @@ +Random Notes and Hints Last Edit-Date: [Sun Apr 2 18:28:09 1995] +-------------------------------------------------------------------------------- + + +First of all, please read the file BugList in this directory ! + + +Can't get pcvt working on a ThinkPad +=============================================================================== + +Anyway, back to the keyboard. The problem is that by default the +ThinkPad uses PS/2 scan code mode. + +You can fix this by using an option and building a kernel, as shown +below. + +] Just for the record, in case someone else is asking for this: Al's +] confirmation that pcvt w/ PCVT_SCANSET=2 works for the ThinkPad: +] +] As Al Elia wrote: +] | Date: Mon, 28 Nov 1994 18:24:42 GMT +] | From: Al Elia <aelia%aelia.student.harvard.edu@sax.sax.de> +] | Message-Id: <199411281824.SAA01554@aelia.student.harvard.edu> +] | To: joerg_wunsch@bonnie.tcd-dresden.de +] | Subject: Re: Anyone got FreeBSD 1.1.5.1 running on a ThinkPad? +] | +] | PCVT_SCANSET=2 worked...I had put in PCVT_SCAN_SET=2 (Doh!) +] | +] | --Al Elia +] | <aelia@aelia.student.harvard,edu> + + (Terry Lambert quoting Joerg Wunsch quoting Al Elia) + + +If one of the "lock" keys is pressed, LEDs do not get updated, keyboard hangs +=============================================================================== + +This entry used to be a long time in the BugList file, and i could never +reproduce the problem. Today i got an explanation in german from someone +owning such a keyboard, i'll try to translate: + +"This are old keyboards manufactured (~1985/1986) which manage their LED + setting only internally. + It is not possible to set the LEDs from the (main-) processor, if you + try, the keyboard processor hangs and the PC has to be reset by switching + power on and off, hard- and/or softreset does not work in this case. + Workaround: recompile pcvt with the LED update removed" + +In other words, define PCVT_NO_LED_UPDATE if you have such a beast! + + +Cursor not visible anymore in 40 and 50 lines mode +=============================================================================== + +You have programmed an underline cursor in i.e. 28 line mode by doing +"cursor -s 10 -e 12". Then you switch to 40 line mode using "scon -s 40". +At this point the cursor is no longer visible because the 40 line font +is only 10 pixels high and the cursor size is programmed with a value +expressing its size from the top down and NOT from the bottom up! +If anyone has a good idea how to solve this problem, please tell me! +The only solution i see so far is having some sort of "generic" cursor +sizes/descriptions (i.e. underline, rectangle, block) which are +recalculated in case of a switch to another line size. + + +386BSD port +=============================================================================== + +I don't have access to a 386BSD 0.1 machine anymore so the 386BSD pcvt is +considered unsupported and will disappear in the future. + +386BSD support was dropped with release 3.20. + + +Keyboard hangs after first update of keyboard LED's +=============================================================================== + +Define PCVT_NO_LED_UPDATE and recompile pcvt. (Or, get yourself a better +keyboard. Some keyboards just don't work the documented way, this fact is +"normally" masked by the manufacturers BIOS but unhides when one accesses +the hardware directly.) + + +Garbled screen when running vi +=============================================================================== + +When the terminal speed in the tty structure is set to low speeds (i.e. 1200 +Baud), pcvt shows a strange behaviour in some environments due to the changed +screen update sequences from vi. + +Please check your shell startup files, /etc/ttys and /etc/gettytab and change +the baudrate (i.e. by using stty(1)) to a higher value, i.e. 19200 Baud. + +Since i'm not a vi specialist, i never managed to find out wheter to blame +vi or pcvt. + + +Stty influences on the driver +=============================================================================== + +There used to be an entry in the BugList: + + (printf with 9 x tab) printf "\n\t\t\t\t\t\t\t\t\tGotcha" works ok, + while one tab more: printf "\n\t\t\t\t\t\t\t\t\t\tGotcha" doesn't + work (it doesn't print Gotcha at column 80, but at column 131). + +This was solved some time ago: + + On another note: if I use stty xtabs, the 'printf "\t\t\t\t\t\t\t" + bug goes away. With stty xtabs the tab handling is done in the kernel. + +(See also below: "Vttest shows strange results") + + +After running some graphics application, the cursor is stuck on the +bottom line, though everything else appears well +=============================================================================== + +Though this might initially appear to be a driver problem, it's rather +an application program's bogosity. The cursor update is done asynchron- +ously (to gain output speed), but this cursor update is inhibited while +an application has put a virtual terminal into ``graphics mode'' (i.e., +the application program tells the driver that it's now responsible for +anything and all on this vty). This is notably the case while X11 is +running. + +If the application fails to properly shut down itself, the terminal +might be left in an undefined state. The driver stand no chance there, +even if it could detect this bad status, since it doesn't know enough +about each piece of hardware to deal with. One possibility is that +the X server has been shot up and didn't get it to do its cleanups. +Another case (which i've often noticed on my slow notebook) is, killing +the Xserver is too slow for the (unfortunately hard-coded) 10-second +timeout from xinit, so it's being aborted ridiculously. (``X server +slow to shut down, sending KILL signal.'') This way, the state of +damage might range from ``almost okay, but cursor is stuck'' up to +a totally unusable machine (moon bitmap from xphoon still displayed, +no keyboard responses, only network is working and can be used to +shut down cleanly). +If the state of damage is only minimal, you might try to run the pure +X server on that vty again, and exit it with Ctrl-Alt-BkSpc. This might +be a workaround. + + +Vttest shows strange results +=============================================================================== + +Verify your stty "oxtabs" settings, it has to be "oxtabs", NOT "-oxtabs". +Get yourself an original DEC terminal to verify vttest's output, i have +until now not seen any (!) VTxxx clone, which does it right !!! + + +VT220-like Keyboard Layout +=============================================================================== + +I have to say, i don't use it and i don't like it, so it's mostly unsupported +and untested. Patches welcome! + + +132-column mode +=============================================================================== + +There are known difficulties running pcvt in 132 column mode in conjunction +with X. Switching to 132 column mode does not only depend on a given chipset, +but on the board/manufacturers method of clock generation also. Even if your +chipset is detected, there may be still a problem with your board and it's +method of generating clocks. You may run in severe difficulties if your +board has a programmable clock generator and you run X and you switch from +132 col mode into X and back. + +I have currently no idea how to solve this, other than having a similar +scheme as XFree86 applied to pcvt: Letting the user probe his board by using +SuperProbe and recompiling pcvt according to the result. + +I stumbled a bit deeper into this with my ELSA Winner 1000, which is equipped +with a ICD2061 clock synthesizer chip. For 132 column mode to work properly, +clock generator 2 must deliver 40 MHz to the S3 VGA chip, but this value has +to be programmed or initialized. If this VGA board has ever been switched +into 132 colums, i.e. in my case from a DOS program, it will continue to do +so until X runs or the machine is power cycled. If that occurs, the clock +generator 2 does contain nothing or garbage (in case of power cycling) or it +does contain the value for the current resolution in X in case of having been +in the X Server screen recently. + +The X Server reprograms the clock generator each time the server is entered, +so the only thing to do is to reprogram the clock generator too when pcvt is +entered. Until now i found no way of identifying the clock oscillator chip +used, so an automatic clock switching seems to be a problem. + + +NetBSD 0.9 and Xfree86 2.0 +=============================================================================== + +To get the X server up and running on 0.9, you have to compile pcvt with +PCVT_USL_VT_COMPAT disabled, otherwise X (and SuperProbe) will hang the +video driver (not the whole machine !). This bug is reproducible but not +found yet ... +This does not apply to NetBSD-current, 386BSD and FreeBSD. + + +X server ioctl compatibility: +=============================================================================== + +The compatibility X-Mode ioctl commands CONSOLE_X_MODE_ON and +CONSOLE_X_MODE_OFF should not be used intermixed with the USL VT style +commands on another virtual terminal. NB, that this situation could happen +if you run an XFree86 2.0 server on one virtual terminal and attempt to +run SuperProbe version 1.0 (as delivered with the XFree86 2.0 release) +on another vty. SuperProbe is still using the old commands in order to +gain IO privileges. +Since the old commands cannot care for things like terminal switching, +serious corruption could result from this, which need not to be detected +immediately (i.e., apparently SuperProbe ran well). Known problems are +font corruptions after the X server has been shut down later, or palette +flickers in 1-second intervals due to an erroneously re-enabled screen +saver. + +Once that SuperProbe has been fixed in its release to use the USL VT style +commands, any support for the old CONSOLE_X_MODE_XXX commands will be +eliminated. + +(Recent comment: SuperProbe 1.3 has been fixed. It will be delivered with +XFree86 2.1.) + + +How to set the foreground intensity to high on VGA mono screens: +=============================================================================== + +try to issue the command: "scon -p8,60,60,60", EXPERIMENT !!! + + +How to change the color palette on VGA cards: +=============================================================================== + +try out the following commands: + + /usr/local/bin/scon -d/dev/ttyv0 -pblack:0,0,0 -pblue:20,20,40 + /usr/local/bin/scon -d/dev/ttyv0 -pbrown:55,55,15 -plightgray:0,42,0 + /usr/local/bin/scon -d/dev/ttyv1 -pblack:42,42,42 -pblue:60,60,60 + /usr/local/bin/scon -d/dev/ttyv1 -pbrown:60,60,30 -plightgray:30,10,0 + /usr/local/bin/scon -d/dev/ttyv2 -pblack:42,42,42 -pblue:63,63,63 + /usr/local/bin/scon -d/dev/ttyv2 -pbrown:60,60,20 -plightgray:0,22,0 + /usr/local/bin/scon -d/dev/ttyv3 -pblack:38,38,38 -pblue:63,63,63 + /usr/local/bin/scon -d/dev/ttyv3 -pbrown:60,40,0 -plightgray:0,0,20 + + ("scon -p default" resets the colors ...) + + +I have the screensaver compiled in, but can't see any effect +=============================================================================== + +Don't forget to turn it on with the scon utility. E.g., + + scon -t 120 + +sets the timeout to 2 minutes. + + +Your Notebook uses the NumLock state to switch half of the keyboard into a +numeric keypad +=============================================================================== + +Sigh, each time you leave "vi", your NumLock LED is on again and you +get a "6" instead of "o"? Try + + options "PCVT_INHIBIT_NUMLOCK" + +this prevents applications from turning NumLock on/off (except the +Xserver - but you want this). + + +Your notebook significantly loses contrast when using pcvt +=============================================================================== + +Pcvt turns off the "high intensity" attribute bit internally (to enable +the use of a 512-characters charset). Some notebooks hard-code the out- +put intensity versus the character attribute though (i know it for a +Cirrus Logic CL-GD610/620 chipset). + +As a quick & dirty workaround, you can reverse what pcvt did to the +Attribute Controller. Do not hack pcvt_sup.c, instead patch your +VGA registers during rc.local with the help of the vgaio utility: + + echo "ar12=0f" | vgaio > /dev/null + +For the CL-GD610/620, i'm remapping some attribute registers and +get a simple gray scale emulation with this (i.e., i DO NOT use +the hack above): + + eagle_id=`echo 'cr1f?' | vgaio | cut -dx -f2` + echo "sr 6 = $eagle_id" | vgaio > /dev/null # enable extended regs + echo "sr d5 = 40" | vgaio > /dev/null # not inverse, enable + # color emulation + echo "ar0=0;ar1=9;ar2=12;ar3=1b;ar4=24;ar5=2d;ar6=36;ar7=3f"|vgaio>/dev/null + echo "ar8=0;ar9=9;ara=12;arb=1b;arc=24;ard=2d;are=36;arf=3f"|vgaio>/dev/null + +NOTE THAT THIS IS ONLY FROM EXPERIMENTS! There's no warranty that something +like this wouldn't damage your screen/VGA! + +(If you have chipset documentation, you're lucky...) + + +How to set the "LINES"-Environment variable for sh/csh: +=============================================================================== + +(Note: this is mostly obsoleted now since the driver properly generates +SIGWINCH'es to notify applications about a changed screen size.) + + first for the csh: + + alias linesw scon -s \!^ \; setenv LINES \!^ + + now for the bash/ash/sh/bash users: + + linesw() + { + scon -s $1 + LINES=$1; export LINES + } + +/* EOF */ diff --git a/usr.sbin/pcvt/Misc/Doc/TestedHardware b/usr.sbin/pcvt/Misc/Doc/TestedHardware new file mode 100644 index 0000000..5d37681 --- /dev/null +++ b/usr.sbin/pcvt/Misc/Doc/TestedHardware @@ -0,0 +1,79 @@ +Tested Hardware List last edit-date: [Mon Feb 20 19:36:20 1995] + +This is by no means a complete list of hardware pcvt runs on, it is just +compiled from reports people sent in and from hardware owned/loaned ! + + +TESTED VIDEO BOARDS (80 column operation) +-------------------------------------------------------------------------------- + +Manufacturer Chipset Monitor Notes +------------------------------ -------------- ---------------------- -------- +2theMax (?) ET4000 VGA Color +Video7 Inc. VEGA VGA VGA Color/Mono (2) +Diamond Stealth VRAM S3 NEC 3FGx +Trident TVGA 8800CS NEC 3D +Trident TVGA 9000B VGA Color/Mono (2) +Data General C&T P82C604 VGA Color +NoName Hercules W86855AF Mono +Tandon Monochrome (Hercules) TD3088A Tandon Mono +Kyocera ML III25 (Mainboard) WD90C00 JVC VGA Color (1) +Kyocera ML III25 (Mainboard) WD90C00 Nokia CED1 VGA Mono (1) +Kyocera ML IIII33 (Mainboard) WD90C11 Nokia CED1 VGA Mono (1) +NoName VGA TVGA9000B JVC VGA Color (1,2) +Tseng Labs ET3000AX JVC VGA Color (2) +Video7 Inc. VEGA VGA VGA Mono (2) +Video7 Inc. 1024i VGA Mono (2) +ELSA GmbH S3 928 VGA Mono/Color +IBM EGA 6845 Monochrome (2,3) +IBM EGA 6845 Tandon EGA Color (2,3) +Trident TVGA 8900CL VGA Mono (2) + +Notes: +(1) - slight display distortion when switching between screens +(2) - remarkable display distortion and/or loss of sync while loading fonts +(3) - snow while scrolling with HP function key labels turned on + +TESTED VIDEO BOARDS (132 column operation) +-------------------------------------------------------------------------------- + +Manufacturer Chipset Monitor Notes +------------------------------ -------------- ---------------------- -------- +2theMax (?) ET4000 VGA Color +2theMax (?) ET4000 Tandon VGA Mono +Kyocera ML III33 (Mainboard) WD90C11 Tandon VGA Mono (1,2) +Kyocera ML IIII33 (Mainboard) WD90C11 Tandon VGA Mono (1,2) +Kyocera ML IIII33 (Mainboard) WD90C11 VGA Color (1,2) +Trident (?) TVGA9000B VGA Mono (1,3) +Tseng Labs (?) ET3000 NEC 3D +ELSA GmbH S3 928 VGA Mono/Color +Trident TVGA 8900CL VGA Mono + +Notes: +(1) - slight display distortion when switching between screens +(2) - all fonts must be loaded in ascending order prior to switching to 132 cols +(3) - remarkable display distortion and/or loss of sync while loading fonts + + +TESTED KEYBOARDS +-------------------------------------------------------------------------------- + +Manufacturer Type Layout +------------------------------ ---------------------- ------------------------ +Cherry MF II US +Cherry/Tandon MF II German +Hewlett-Packard MF II US +Hewlett-Packard MF II German +Tatung AT German +Kyocera MF II German + +There is absolutely NO support for the ancient PC-keyboards (they had 83 keys). + +There is only limited support for AT-keyboards (they have 84 keys, and a +separate numeric keypad, they don't have F9-F12 keys) because the emulator +needs F9-F12 for control functions, and due to the current design of the +keyboard driver there is no (full) support for national keyboards because +of the lack of a ALTGR key. + +MF-keyboards are fully supported, 101- and 102-key versions. + diff --git a/usr.sbin/pcvt/Misc/Doc/ToDo b/usr.sbin/pcvt/Misc/Doc/ToDo new file mode 100644 index 0000000..463e005 --- /dev/null +++ b/usr.sbin/pcvt/Misc/Doc/ToDo @@ -0,0 +1,13 @@ + +Things to do Last Edit-Date: [Sun Apr 2 18:29:16 1995] +================================================================================ + +- implement secondary DA request: ESC [ > c and/or ESC [ > 0 c + +- implement user settable primary DA response and secondary DA response + +- retrying for a non-connected keyboard in doreset() must be made cpu and + speed independent. in case of a not connected keyboard, a fast machine + runs doreset() fast and a slow machine runs doreset() slow - bad !! + +- remove single screen X server support and make PCVT_USL_VT the default |