Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

import pcvt 3.32

  • Loading branch information...
commit 19ccb3bce7b37056adc609214e3de0129914748b 1 parent a2bca40
jtc authored
Showing with 32,926 additions and 0 deletions.
  1. +52 −0 share/man/man1/man1.i386/fed.1
  2. +121 −0 sys/arch/i386/isa/pcvt/Doc/Acknowledgements
  3. +193 −0 sys/arch/i386/isa/pcvt/Doc/Bibliography
  4. +57 −0 sys/arch/i386/isa/pcvt/Doc/BugList
  5. +1,040 −0 sys/arch/i386/isa/pcvt/Doc/ChangeLog
  6. +149 −0 sys/arch/i386/isa/pcvt/Doc/CharGen
  7. +99 −0 sys/arch/i386/isa/pcvt/Doc/Charsets
  8. +268 −0 sys/arch/i386/isa/pcvt/Doc/EscapeSequences
  9. +405 −0 sys/arch/i386/isa/pcvt/Doc/FAQ
  10. +160 −0 sys/arch/i386/isa/pcvt/Doc/INSTALL.FreeBSD-2.0
  11. +115 −0 sys/arch/i386/isa/pcvt/Doc/INSTALL.NetBSD-1.0
  12. +286 −0 sys/arch/i386/isa/pcvt/Doc/Keyboard-Layout.HP
  13. +231 −0 sys/arch/i386/isa/pcvt/Doc/Keyboard-Layout.VT
  14. +170 −0 sys/arch/i386/isa/pcvt/Doc/Manifest
  15. +80 −0 sys/arch/i386/isa/pcvt/Doc/TestedHardware
  16. +15 −0 sys/arch/i386/isa/pcvt/Doc/ToDo
  17. +16 −0 sys/arch/i386/isa/pcvt/Etc/MAKEDEV.pcvt
  18. +287 −0 sys/arch/i386/isa/pcvt/Etc/Termcap
  19. +41 −0 sys/arch/i386/isa/pcvt/Etc/Terminfo
  20. +19 −0 sys/arch/i386/isa/pcvt/Etc/pcvt.el
  21. +288 −0 sys/arch/i386/isa/pcvt/Etc/rc.local
  22. +148 −0 sys/arch/i386/isa/pcvt/Etc/ttys.pcvt.freebsd
  23. +70 −0 sys/arch/i386/isa/pcvt/Etc/ttys.pcvt.netbsd
  24. +594 −0 sys/arch/i386/isa/pcvt/Etc/uemacs.tar.Z.uu
  25. +117 −0 sys/arch/i386/isa/pcvt/Etc/xmodmap-german
  26. +298 −0 sys/arch/i386/isa/pcvt/README.FIRST
  27. +9 −0 sys/arch/i386/isa/pcvt/Util/Makefile
  28. +33 −0 sys/arch/i386/isa/pcvt/Util/Makefile.inc.FreeBSD1
  29. +32 −0 sys/arch/i386/isa/pcvt/Util/Makefile.inc.FreeBSD2
  30. +30 −0 sys/arch/i386/isa/pcvt/Util/Makefile.inc.NetBSD
  31. +35 −0 sys/arch/i386/isa/pcvt/Util/Makefile.inc.NetBSD-current
  32. +3 −0  sys/arch/i386/isa/pcvt/Util/cursor/Makefile
  33. +76 −0 sys/arch/i386/isa/pcvt/Util/cursor/cursor.1
  34. +157 −0 sys/arch/i386/isa/pcvt/Util/cursor/cursor.c
  35. +54 −0 sys/arch/i386/isa/pcvt/Util/demo/Makefile
  36. +20 −0 sys/arch/i386/isa/pcvt/Util/demo/README
  37. +53 −0 sys/arch/i386/isa/pcvt/Util/demo/chardemo.vt.gz.uu
  38. +15 −0 sys/arch/i386/isa/pcvt/Util/demo/colors.vt.gz.uu
  39. +90 −0 sys/arch/i386/isa/pcvt/Util/demo/cowscene.vt.gz.uu
  40. +193 −0 sys/arch/i386/isa/pcvt/Util/demo/outerlimit.vt.gz.uu
  41. +111 −0 sys/arch/i386/isa/pcvt/Util/demo/playvt.c
  42. +11 −0 sys/arch/i386/isa/pcvt/Util/demo/sgr.vt.gz.uu
  43. +350 −0 sys/arch/i386/isa/pcvt/Util/demo/twzone.vt.gz.uu
  44. +110 −0 sys/arch/i386/isa/pcvt/Util/demo/xmas.vt.gz.uu
  45. +6 −0 sys/arch/i386/isa/pcvt/Util/fed/Makefile
  46. +340 −0 sys/arch/i386/isa/pcvt/Util/fed/edit.c
  47. +52 −0 sys/arch/i386/isa/pcvt/Util/fed/fed.1
  48. +168 −0 sys/arch/i386/isa/pcvt/Util/fed/fed.c
  49. +127 −0 sys/arch/i386/isa/pcvt/Util/fed/fed.h
  50. +353 −0 sys/arch/i386/isa/pcvt/Util/fed/misc.c
  51. +334 −0 sys/arch/i386/isa/pcvt/Util/fed/select.c
  52. +5 −0 sys/arch/i386/isa/pcvt/Util/fontedit/Makefile
  53. +36 −0 sys/arch/i386/isa/pcvt/Util/fontedit/README
  54. +58 −0 sys/arch/i386/isa/pcvt/Util/fontedit/fontedit.1
  55. +925 −0 sys/arch/i386/isa/pcvt/Util/fontedit/fontedit.c
  56. +37 −0 sys/arch/i386/isa/pcvt/Util/fonts/COPYRIGHT
  57. +54 −0 sys/arch/i386/isa/pcvt/Util/fonts/Makefile
  58. +49 −0 sys/arch/i386/isa/pcvt/Util/fonts/vt220h.808.uu
  59. +60 −0 sys/arch/i386/isa/pcvt/Util/fonts/vt220h.810.uu
  60. +83 −0 sys/arch/i386/isa/pcvt/Util/fonts/vt220h.814.uu
  61. +95 −0 sys/arch/i386/isa/pcvt/Util/fonts/vt220h.816.uu
  62. +49 −0 sys/arch/i386/isa/pcvt/Util/fonts/vt220l.808.uu
  63. +60 −0 sys/arch/i386/isa/pcvt/Util/fonts/vt220l.810.uu
  64. +83 −0 sys/arch/i386/isa/pcvt/Util/fonts/vt220l.814.uu
  65. +95 −0 sys/arch/i386/isa/pcvt/Util/fonts/vt220l.816.uu
  66. +6 −0 sys/arch/i386/isa/pcvt/Util/ispcvt/Makefile
  67. +91 −0 sys/arch/i386/isa/pcvt/Util/ispcvt/ispcvt.8
  68. +310 −0 sys/arch/i386/isa/pcvt/Util/ispcvt/ispcvt.c
  69. +22 −0 sys/arch/i386/isa/pcvt/Util/kbdio/Makefile
  70. +330 −0 sys/arch/i386/isa/pcvt/Util/kbdio/kbdio.8
  71. +344 −0 sys/arch/i386/isa/pcvt/Util/kbdio/kbdio.y
  72. +87 −0 sys/arch/i386/isa/pcvt/Util/kbdio/lex.l
  73. +10 −0 sys/arch/i386/isa/pcvt/Util/kcon/Makefile
  74. +122 −0 sys/arch/i386/isa/pcvt/Util/kcon/kcon.1
  75. +753 −0 sys/arch/i386/isa/pcvt/Util/kcon/kcon.c
  76. +19 −0 sys/arch/i386/isa/pcvt/Util/keycap/Makefile
  77. +121 −0 sys/arch/i386/isa/pcvt/Util/keycap/keycap.3
  78. +133 −0 sys/arch/i386/isa/pcvt/Util/keycap/keycap.5
  79. +377 −0 sys/arch/i386/isa/pcvt/Util/keycap/keycap.c
  80. +49 −0 sys/arch/i386/isa/pcvt/Util/keycap/keycap.h
  81. +613 −0 sys/arch/i386/isa/pcvt/Util/keycap/keycap.src
  82. +3 −0  sys/arch/i386/isa/pcvt/Util/loadfont/Makefile
  83. +91 −0 sys/arch/i386/isa/pcvt/Util/loadfont/loadfont.1
  84. +392 −0 sys/arch/i386/isa/pcvt/Util/loadfont/loadfont.c
  85. +3 −0  sys/arch/i386/isa/pcvt/Util/mcon/Makefile
  86. +166 −0 sys/arch/i386/isa/pcvt/Util/mcon/mcon.1
  87. +192 −0 sys/arch/i386/isa/pcvt/Util/mcon/mcon.c
  88. +4 −0 sys/arch/i386/isa/pcvt/Util/pcvtdoc/Makefile
  89. +906 −0 sys/arch/i386/isa/pcvt/Util/pcvtdoc/pcvt.4
  90. +3 −0  sys/arch/i386/isa/pcvt/Util/scon/Makefile
  91. +214 −0 sys/arch/i386/isa/pcvt/Util/scon/scon.1
  92. +860 −0 sys/arch/i386/isa/pcvt/Util/scon/scon.c
  93. +28 −0 sys/arch/i386/isa/pcvt/Util/set2061/CAUTION
  94. +297 −0 sys/arch/i386/isa/pcvt/Util/set2061/ICD2061Aalt.c
  95. +10 −0 sys/arch/i386/isa/pcvt/Util/set2061/Makefile
  96. +22 −0 sys/arch/i386/isa/pcvt/Util/set2061/README
  97. +341 −0 sys/arch/i386/isa/pcvt/Util/set2061/compiler.h
  98. +112 −0 sys/arch/i386/isa/pcvt/Util/set2061/main.c
  99. +3 −0  sys/arch/i386/isa/pcvt/Util/userkeys/Makefile
  100. +131 −0 sys/arch/i386/isa/pcvt/Util/userkeys/vt220keys.1
  101. +297 −0 sys/arch/i386/isa/pcvt/Util/userkeys/vt220keys.c
  102. +28 −0 sys/arch/i386/isa/pcvt/Util/vgaio/CAUTION
  103. +18 −0 sys/arch/i386/isa/pcvt/Util/vgaio/Makefile
  104. +68 −0 sys/arch/i386/isa/pcvt/Util/vgaio/lex.l
  105. +156 −0 sys/arch/i386/isa/pcvt/Util/vgaio/vgaio.8
  106. +66 −0 sys/arch/i386/isa/pcvt/Util/vgaio/vgaio.h
  107. +263 −0 sys/arch/i386/isa/pcvt/Util/vgaio/vgaio.y
  108. +5 −0 sys/arch/i386/isa/pcvt/Util/vttest/Makefile
  109. +57 −0 sys/arch/i386/isa/pcvt/Util/vttest/README
  110. +398 −0 sys/arch/i386/isa/pcvt/Util/vttest/esc.c
  111. +43 −0 sys/arch/i386/isa/pcvt/Util/vttest/header.h
  112. +2,016 −0 sys/arch/i386/isa/pcvt/Util/vttest/main.c
  113. +13 −0 sys/arch/i386/isa/pcvt/Util/vttest/vttest.1
  114. +471 −0 sys/arch/i386/isa/pcvt/pcvt_conf.h
  115. +1,336 −0 sys/arch/i386/isa/pcvt/pcvt_drv.c
  116. +2,903 −0 sys/arch/i386/isa/pcvt/pcvt_ext.c
  117. +1,462 −0 sys/arch/i386/isa/pcvt/pcvt_hdr.h
  118. +589 −0 sys/arch/i386/isa/pcvt/pcvt_ioctl.h
  119. +2,932 −0 sys/arch/i386/isa/pcvt/pcvt_kbd.c
  120. +566 −0 sys/arch/i386/isa/pcvt/pcvt_kbd.h
  121. +2,304 −0 sys/arch/i386/isa/pcvt/pcvt_out.c
Sorry, we could not display the entire diff because it was too big.
View
52 share/man/man1/man1.i386/fed.1
@@ -0,0 +1,52 @@
+.\" Copyright (c) 1992, 1995 Hellmuth Michaelis
+.\"
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Hellmuth Michaelis
+.\" 4. The name authors may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" @(#)fed.1, 3.30, Last Edit-Date: [Wed Jul 5 19:25:39 1995]
+.\"
+.Dd July 3, 1995
+.Dt FED 1
+.Sh NAME
+.Nm fed
+.Nd font editor for pcvt's EGA/VGA download fonts
+.Sh SYNOPSIS
+.Nm fed
+.Op filename
+.Sh DESCRIPTION
+The
+.Nm fed
+utility allows a user to edit or create EGA/VGA download fontfiles to be
+used by the
+.Nm pcvt
+device driver.
+.Pp
+.Sh BUGS
+No known bugs
+.Sh SEE ALSO
+.Xr pcvt 4
+.Xr loadfont 1
View
121 sys/arch/i386/isa/pcvt/Doc/Acknowledgements
@@ -0,0 +1,121 @@
+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 !!!
+
+
+ J.T. Conklin
+
+ for forwarding the pcvt-related NetBSD PR's to me !
+
+
+ John Kohl
+
+ for producing patches for NetBSD-current !
View
193 sys/arch/i386/isa/pcvt/Doc/Bibliography
@@ -0,0 +1,193 @@
+
+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
+
+
+ Tim Burke, Mark A. Parenti, Al Wojtas, "Writing Device Drivers,
+ Tutorial and Reference", Digital Press 1995
+
+
+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
View
57 sys/arch/i386/isa/pcvt/Doc/BugList
@@ -0,0 +1,57 @@
+
+List of known bugs Last Edit-Date: [Tue Sep 5 17:52:05 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 ....
+------------------------------------------- --------------------------------
+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 !
+------------------------------------------- --------------------------------
View
1,040 sys/arch/i386/isa/pcvt/Doc/ChangeLog
@@ -0,0 +1,1040 @@
+ChangeLog last edit-date: [Tue Oct 3 12:32:18 1995]
+================================================================================
+
+Release 3.32 October 1995
+--------------------------------------------------------------------------------
+
+- renamed Doc/NotesAndHints to Doc/FAQ
+
+- TS_ASLEEP not available in FreeBSD 2.1 (FreeBSD 2.1.0 SNAP 950928)
+
+- patch from John Kohl adding missing kbd_setmode() in switch_screen()
+
+- implemented KDGKBMODE ioctl
+
+- removed support for KBDGLEDS and KBDSLEDS private ioctls
+
+- changed/updated pcvt termcap entry in Doc/Termcap
+
+- patch from Thomas Gellekum: GL and GR did not get updated after
+ loading a new charset into G0..G3, fixed in pcvt_vtf.c
+
+- patch from Charles Hannum to further cleanup the saved keyboard state
+ per screen patch.
+
+- patch from Frank van der Linden to support a saved keyboard state per
+ screen instead of one global saved flag.
+
+- the support for NetBSD <= 0.9 and FreeBSD <= 1.1.5.1 has been dropped since
+ i don't run this OS versions anymore. Not all the code supporting
+ this versions has been removed but it will disappear without further
+ notice.
+
+- removing support for the old pccons-like handling of the Xserver, the
+ former option PCVT_USL_VT_COMPAT has been removed since it is
+ now the only supported way of running X with pcvt.
+
+- patch from Martin Husemann for 132 cols switch support for Cirrus GD6225
+
+- patch from Martin Husemann to support Cirrus GD6225 VGA chipsets (Notebooks)
+
+- patch from Thomas Gellekum to introduce VT220 C1 control support
+
+- patch from Thomas Gellekum, this fixes a problem in the scrollregion code,
+ only reproducable under VMS: in some cases svsp->abs_write was set
+ to 1 when the scrollregion was set which caused check_scroll() to
+ fail.
+
+- patch from Ulf Kieber (uk1@irz301.inf.tu-dresden.de) to pcvt_conf.h to
+ better support changing the kernel message foreground and background
+ color at compile time, on monochrome diplays kernel messages are
+ underlined by default, so one can't distinguish between 'p' and 'q'
+ on some displays.
+
+- hint from Patrick Hausen to put 'pcvt' in the kcon manual page header
+
+- patch from Joerg to loadfont to support variable scanline values
+
+- patch from Joerg to make the mouse emulator work again (pcvt_drv.c)
+
+
+Release 3.30 July 1995
+--------------------------------------------------------------------------------
+
+- new Makefile for pcvt fonteditor Util/fed
+
+- patch from Joerg, removing all trailing whitespace chars
+
+- added missing ECHO definition in Util/Makefile.inc.NetBSD-current
+ (reported by Matthieu Herrb)
+
+- patch from John Kohl and Douglas Crosher for NetBSD-current regarding a
+ changed name of an include file
+
+Changes 3.10 -> 3.20 June 1995
+--------------------------------------------------------------------------------
+
+- updating Etc/rc.local to support path variables for pcvt utilities
+
+- fixing some code for compile with -Wall (unused variables/ add brackets)
+
+- patch to make pcvt work on NetBSD-current and a patch to fix a FreeBSD
+ bug; both from John Kohl, also a minor change from him:
+
+ I changed the auto-detect code to set PCVT_NETBSD to 102 if on
+ -current; I figure people can use "options PCVT_NETBSD=101" in
+ their config file if they need to.
+
+- keyboard code bugfix from Jukka A. Ukkonen (ukkonen@csc.fi):
+
+ I noticed that the doreset() function in pcvt was too hasty
+ in expecting SELFOK answers from certain keyboards. At least
+ Alps Membrane seems to first respond with an ACK as expected
+ but then it takes a short moment for itself.
+ During that time the only response to any attempts to fetch
+ the status value is -1. If one didn't allow for a few negative
+ replies being received before the SELFOK, one would get the
+ SELFOK only when expecting the answer to KBD ID query and
+ right after that there would be a request to re-issue the
+ KBD ID query.
+
+ My patch may not be the best possible solution, but it hits
+ the point quite nicely. With this patch attached e.g. Alps
+ Membrane will be correctly recognized as an MF-II keyboard.
+
+- adding NetBSD-current patches from John Kohl
+
+- added ${DESTDIR} to some Makefiles (patch from Joerg)
+
+- added support for Cirrus Logic CL-GD5430 VGA chipset 132 columns mode
+
+- new Util/Makefile.inc for FreeBSD 2.0.5-RELEASE
+
+- merging in changes from FreeBSD 2.0.5-RELEASE
+
+- (internal) release beta 25 ---------------------------------------------------
+
+- added ECHO to Makefile.inc.*BSD
+
+- added some (!) ${DESTDIR}'s to utilities Makefiles in Util
+
+- patch from Michael Havemester for NetBSD current later than April 21 1995,
+ for integration into NetBSD later than this date one has to define
+ a version value greater than 101, i.e. "options PCVT_NETBSD=102"
+
+- patch from joerg:
+ - if pcvt is acting as the systems console avoid panics going to
+ the debugger while we are in process mode.
+ - before using svsp->vs_tty and svsp->vs_tty->t_pgrp check that
+ vs_tty and t_pgrp are really set, other wise one can get panics
+ while booting with -c in FreeBSD
+
+- added -f to all gunzip's in Util/demo
+
+- added destination directory to ispcvt Makefile
+
+- moved pcvt.4 and Makefile from Doc to Util/pcvtdoc
+
+- Util Makefile cleanup
+
+- Util Makefile patch from Bruce Evans
+
+- Util Makefile patch from Joerg
+
+- updated example rc.local in directory Etc to run on a serial console
+
+- release beta 24 --------------------------------------------------------------
+
+- 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.
+
+--------------------------------------------------------------------------------
View
149 sys/arch/i386/isa/pcvt/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 ..)
View
99 sys/arch/i386/isa/pcvt/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.
+
View
268 sys/arch/i386/isa/pcvt/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
+
View
405 sys/arch/i386/isa/pcvt/Doc/FAQ
@@ -0,0 +1,405 @@
+FAQ's, Notes and Hints Last Edit-Date: [Tue Oct 3 11:05:55 1995]
+--------------------------------------------------------------------------------
+
+How to start the X server at boot time in a dedicated virtual screen
+================================================================================
+
+> I'm trying to keep an xdm session open on screen 4 at all times so I
+> don't have to keep starting X whenever I login. However, I don't want
+> the xdm login screen to be the default since I usually prefer
+> character mode screens.
+>
+> I'm using the pcvt console driver and in rc.local I'm doing this:
+>
+> /usr/sbin/scon -c 3 # go to screen 4
+> /usr/X11R6/bin/xdm -daemon # fire up xdm
+> sleep 10 # give xdm some time to start
+> /usr/sbin/scon -c 0 # come back to preferred login screen
+>
+> When I reboot, I see xdm start, come up with the graphical login, then
+> switch back to screen 1. However, if I hit CTRL+ALT+F4, the xdm
+> screen is gone and I'm met with just a blank (character mode) screen.
+
+Hmm - I'm doing this all the time with 2.0.5 on the 8th virtual screen.
+
+Did you disable the getty for the corresponding screen in /etc/ttys ?
+
+You need a configuration for xdm in /usr/X11R6/lib/X11/xdm/Xservers similar
+to this (from my system):
+
+ :0 local /usr/X11R6/bin/X vt8
+
+My (part of) rc.local looks like this for starting xdm at boot time on
+screen 8:
+
+[....]
+
+# path for xdm (X11R6)
+XDMP=/usr/X11R6/bin
+# path for xdm (X11R5)
+#XDMP=/usr/X386/bin
+
+# set to YES to start xdm on screen 8
+xdm_start=YES
+#xdm_start=NO
+
+[....]
+
+#--------------------------------------------------
+# if desired, start xdm on screen 8
+#--------------------------------------------------
+
+ if [ X${xdm_start} = X"YES" -a -x $XDMP/xdm ]
+ then
+ $SCONP/scon -d /dev/ttyv7
+ $XDMP/xdm
+ sleep 10
+ $SCONP/scon -d /dev/ttyv0
+ fi
+
+
+pcvt (german) keyboard remapping not adopted by X server
+================================================================================
+
+1) make shure your xterm is able to display national (8-bit) characters,
+ i.e. issue something like "stty cs8 -parenb -istrip".
+
+2) and more important, in the XFree86 3.x configuration file XF86Config,
+ you have to enable the AltGr - Key by uncommenting the line:
+
+ RightAlt ModeShift
+
+ in the Keyboard Section.
+
+
+Keyboard not working with pcvt
+================================================================================
+
+From Leo Bicknell (bicknell@ufp.org):
+
+ I have two systems I am trying to use your PCVT driver on
+ running NetBSD 1.0. One is a plain vanilla PC, but it has a
+ Northgate Omnikey Ultra programmable keyboard, the other is a IBM
+ Thinkpad 755c laptop. Both exhibit the same behavior. Under scan
+ set 1 they both are completely broken. Virtual consoles don't work
+ at all, in fact on the laptop none of the keys work properly.
+
+After using PCVT_SCANSET=2 both keyboards are running (-hm).
+
+
+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)
+
+Scancode 2 is also reported to work for a Thinkpad 755c (-hm)
+
+
+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 to compile pcvt with:
+
+ 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 */
View
160 sys/arch/i386/isa/pcvt/Doc/INSTALL.FreeBSD-2.0
@@ -0,0 +1,160 @@
+Note: As of FreeBSD 2.0.5 pcvt is integrated into the FreeBSD source tree and
+ the item #1 no longer applies!
+
+
+How to install the pcvt driver on a FreeBSD 2.0 machine (pcvt rel. 3.20)
+-------------------------------------------------------------------------------
+ last edit-date: [Fri Jun 30 20:35:28 1995]
+
+(1) Copy the driver distribution files into appropriate directories:
+
+ (1a) make a fresh directory
+
+ mkdir /usr/src/sys/i386/isa/pcvt
+ cd /usr/src/sys/i386/isa/pcvt
+
+ (1b) copy the pcvt distribution (or unshar it) into this newly
+ created directory (/usr/src/sys/i386/isa/pcvt)
+
+ (1c) copy the ioctl-header file into its destination directory
+
+ cp pcvt_ioctl.h /usr/include/machine
+
+(2) You have the choice of two keyboard layouts regarding the placement of
+ the vt220 function keys and the HELP and DO keys.
+
+ Both configurations are documented in the files Keyboard.HP and Keyboard.VT
+ respectively.
+
+ Decide which one to use and set the "#define" of PCVT_VT220KEYB to
+ compile the one you choosed.(see also pcvt_conf.h and pcvt_kbd.c)
+ Note: the preferable way to do all option hacking is to add "options"
+ lines to the kernel's config file. See the pcvt(4) man page (in this
+ directory).
+
+(3) There are several other configuration "#define"-able options located at
+ the beginning of pcvt_conf.h. "user"-settable options all start with
+ "PCVT_".
+ Please (!!!) read the comments for them in the header file !
+
+(4) Add a line
+
+ option "PCVT_FREEBSD=200"
+
+ into your kernel config file. The quotes are important. The number
+ should represent the version of your kernel, "200" stands for "2.00",
+ which is the official version number for FreeBSD 2.0 (Release).
+
+(5) Edit your kernel configuration file and comment the following line out
+ by placing a "#" in front of it:
+
+ device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
+
+ add a new config-line just below it:
+
+ device vt0 at isa? port "IO_KBD" tty irq 1 vector pcrint
+
+ The lines in my config file look like this:
+
+ #device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
+ device vt0 at isa? port "IO_KBD" tty irq 1 vector pcrint
+
+ You can use now either the pccons driver or the pcvt driver (or possibly
+ other console drivers too!) by simply un-commenting ONE of them.
+
+ YOU CANNOT USE/UNCOMMENT MORE THAN __ONE__ CONSOLE DRIVER !!!
+
+(6) Configure a new kernel using config(8).
+
+(7) Run "make depend" for the new kernel !!!!
+
+(8) Compile the new kernel
+
+(9) Test the new kernel and check whether it still works with your
+ keyboard and your videoboard. Testing could be done best by entering
+ the kernel name (e.g. /kernel.pcvt) at the boot prompt, append a
+ "-s" flag to prevent it from booting multi-user! The multi-user
+ boot phase requires the kernel to be named "/kernel".
+
+ If the kernel works, rename the old kernel (you don't need it any
+ more?), link the new one to "/kernel", and reboot up to multi-user.
+
+(10) Change into the distribution subdirectory "Util".
+ Copy Makefile.inc.FreeBSD to Makefile.inc and edit Makefile.inc
+ to suit your needs, especially have a look at "MANDIR" and "BINDIR".
+ Then execute "make". This makes all the utilities in their directories.
+ when you are satisfied with the results, execute "make install". This
+ installs all programs in all subdirs in "BINDIR" and all manual pages
+ in "MANDIR", all fonts in "FONTDIR" and the keycap database in "CAPDIR".
+ NB: unless you've got this distribution along with a FreeBSD distrib-
+ ution (where it is pre-installed:-), you WILL have to edit Makefile.inc
+ in order to get the man pages installed in source form.
+
+ Change into the distribution subdirectory "Doc" and edit Makefile
+ to suit your needs. Then execute "make" to prepare the manpage for
+ the driver.
+
+(11) If necessary, edit /usr/share/misc/keycap to match your keyboard.
+ Keycap uses special codes which are documented in Util/kcon/keycap.3
+ and Util/kcon/keycap.5. Also have a look at Util/kcon/kcon.1.
+
+(12) There are example termcap entries for the various screen resolutions
+ in the file "Etc/Termcap". Integrate them into your termcap file if
+ you don't have a "normal" vt220 entry or want to use pcvt's extensions.
+ Don't forget to run cap_mkdb after changing your termcap file !
+
+ NOTE: pcvt works with an unmodified VT220 termcap entry !
+ (it was written to do that .... ;-)
+
+(13) To use the virtual terminals, one must "mknod" this devices, they have
+ major number 12 and minor numbers 0 to n. The MAKEDEV script in the
+ /dev directory is suitable for this task, just change into the /dev
+ directory and execute 'sh ./MAKEDEV vty8' to make devicefiles for 8
+ virtual terminals.
+
+ If you want to use the mouse emulator, see the comments in pcvt(4).
+
+(14) edit /etc/ttys to enable login on the virtual consoles, mine looks like
+ this: