1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License, Version 1.0 only
6# (the "License").  You may not use this file except in compliance
7# with the License.
8#
9# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10# or http://www.opensolaris.org/os/licensing.
11# See the License for the specific language governing permissions
12# and limitations under the License.
13#
14# When distributing Covered Code, include this CDDL HEADER in each
15# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16# If applicable, add the following below this CDDL HEADER, with the
17# fields enclosed by brackets "[]" replaced with your own identifying
18# information: Portions Copyright [yyyy] [name of copyright owner]
19#
20# CDDL HEADER END
21#
22# Copyright (c) 1996, by Sun Microsystems, Inc.
23# All rights reserved.
24#
25#ident	"%Z%%M%	%I%	%E% SMI"
26#
27# concept: (HUMAN DESIGNED SYSTEMS)
28#
29# From vax135!hpk  Sat Jun 27 07:41:20 1981
30# Extensive changes to c108 by arpavax:eric Feb 1982
31#
32# There seem to be a number of different versions of the C108 PROMS
33# (with bug fixes in its Z-80 program).
34# The first one that we had would lock out the keyboard of you
35# sent lots of short lines (like /usr/dict/words) at 9600 baud.
36# Try that on your C108 and see if it sends a ^S when you type it.
37# If so, you have an old version of the PROMs.
38# The old one also messed up running in with a 132-character line-length.
39# You should configure the C108 to send ^S/^Q before running this.
40# It is much faster (at 9600 baud) than the c100 because the delays
41# are not fixed.
42# Old cursor addressing that didn't understand > 95:
43#	cup=\Ea%p1%' '%+%c%p2%' '%+%c,
44c108|c108-8p|concept108-8p|concept 108 w/8 pages,
45	rmcup=\Ev  ^B p\Ep\r\n, use=c108-4p, 
46c108-4p|concept108-4p|concept 108 w/4 pages,
47	cr=^M, cud1=^J, ind=^J, bel=^G, 
48	is2=\EU\E F\Ef\E7\E5\E8\El\ENH\EK\E\200\Eo&\200\Eo\47\E\E!,
49	smcup=\EU\Ev  8p\Ep\r, rmcup=\Ev  ^A p\Ep\r\n,
50	il1=\E^R, cub1=^H, ed=\E^C, el=\E^S, clear=\E?\E^E, cols#80,
51	cup=\Ea%p1%?%p1%{95}%>%t^A%c%{96}%-%;%' '%+%c%p2%?%p2%{95}%>%t^A%c%{96}%-%;%' '%+%c,
52	dch1=\E^A, dl1=\E^B, rmir=\E\200, eo, smir=\E^P, lines#24, mir,
53	cuf1=\E=, kbs=^h, ul, cuu1=\E;, db, smul=\EG, rmul=\Eg,
54	cvvis=\EW, cnorm=\Ew, in, am, xenl, flash=\Ek$<50>\EK,
55	smkx=\EX, rmkx=\Ex, kcuu1=\E;,
56	kcud1=\E<, kcub1=\E>, kcuf1=\E=, khome=\E?,
57	kf1=\E5, kf2=\E6, kf3=\E7, kf4=\E8, kf5=\E9, kf6=\E:,
58	smso=\ED, rmso=\Ed, dim=\EE, bold=\ED, rev=\ED, sgr0=\Ee\Ed\Eg\Ec,
59c108-rv-8p|concept 108 w/8 pages in reverse video,
60	smcup=\EU\Ev  8p\Ep\r, rmcup=\Ev  ^B p\Ep\r\n, use=c108-rv-4p, 
61c108-rv-4p|concept 108 w/4 pages in reverse video,
62	flash=\EK\200\200\200\200\200\200\200\200\200\200\200\200\200\200\Ek,
63	is2=\EU\E F\Ef\E7\E5\E8\El\ENH\Ek\E\200\Eo&\200\Eo\47\E\E!,
64	use=c108-4p, 
65c108-na|c108-na-8p|concept 108 w/8 pages no arrows,
66	smkx@, rmkx@, kf7=\E;, kf8=\E<, kf9=\E=, use=c108-8p,
67c108-rv-na|c108-rv-na-8p|concept 108 w/8 pages no arrows in rev video,
68	smkx@, rmkx@, kf7=\E;, kf8=\E<, kf9=\E=, use=c108-rv-8p,
69# this needs new frotz in the cup capability for 2-char addrs when > 95....
70c108-w|c108-w-8p|concept 108 w/8 pages in wide mode,
71	is2=\EU\E F\Ef\E7\E5\E8\El\ENH\EK\E\200\Eo&\200\Eo\47\E\E",
72	smcup=\EU\Ev  8^AD\Ep\r, rmcup=\Ev  ^A0^AD\Ep\r\n,
73	cup=\Ea%p1%?%p1%{95}%>%t^A%c%{96}%-%;%' '%+%c%p2%?%p2%{95}%>%t^A%c%{96}%-%;%' '%+%c,
74	cols#132, use=c108-8p,
75# Concepts have only window relative cursor addressing, not screen relative.
76# To get it to work right here, smcup/rmcup (which were invented for the
77# concept) lock you into a one page window for screen style programs.
78# To get out of the one page window, we use a clever trick:
79# we set the window size to zero ("\Ev    " in rmcup) which the terminal
80# recognizes as an error and resets the window to all of memory.
81# This trick works on c100 but does not on c108, sigh.
82#
83# Some tty drivers use cr3 for concept, others use nl3, hence the delays on
84# cr and ind below.  This padding is only needed at 9600 baud.
85# One or the other is commented out depending on local conventions.
86# 2 nulls padding on rmcup isn't always enough.  6 works fine.  Maybe less
87# than 6 but more than 2 will work.
88concept100|c100|concept|c104|c100-4p|concept 100,
89	is2=\EU\Ef\E7\E5\E8\El\ENH\EK\E\200\Eo&\200\Eo\47\E,
90	cr=$<9>^M, ind=^J,
91#	cr=^M, ind=^J$<9>,
92	bel=^G, cud1=^J, smcup=\EU\Ev  8p\Ep\r, rmcup=\Ev    $<6>\Ep\r\n,
93	il1=\E^R$<3*>, am, cub1=^H, ed=\E^C$<16*>, el=\E^U$<16>, clear=^L$<2*>,
94	cup=\Ea%p1%' '%+%c%p2%' '%+%c, cols#80, dch1=\E^A$<16*>, dl1=\E^B$<3*>,
95	rmir=\E\200, eo, smir=\E^P, in, ip=$<16*>, lines#24, mir, cuf1=\E=,
96	ht=\t$<8>, kbs=^h, ul, cuu1=\E;, db, smul=\EG, rmul=\Eg,
97	xenl, cvvis=\EW, cnorm=\Ew, flash=\Ek$<20>\EK,
98	pb#9600, vt#8,
99	smul=\EG, rmul=\Eg, smso=\EE\ED, rmso=\Ed\Ee,
100	dim=\EE, rev=\ED, blink=\EC, prot=\EI, invis=\EH, sgr0=\EN\200,
101	rep=\Er%p1%c%p2%' '%+%c$<.2*>, smkx=\EX, rmkx=\Ex,
102	kcuu1=\E;, kcud1=\E<, kcub1=\E>, kcuf1=\E=, khome=\E?,
103	kf1=\E5, kf2=\E6, kf3=\E7,
104c100-rvpp|c100-rv4ppp|c100 with printer port,
105	is2=\EU\Ef\E7\E5\E8\El\ENH\Ek\E\200\Eo&\200\Eo!\200\EQ"\EY(^W\Eo\47\E,
106	use=c100-rv,
107c100-rvna|c100-rv4pna|c100 with no arrows,
108	smkx@, rmkx@, use=c100-rv,
109c100-rv|c100-rv4p|concept100-rv|c100 rev video,
110	is2=\EU\Ef\E7\E5\E8\El\ENH\Ek\E\200\Eo&\200\Eo\47\E,
111	flash=\EK$<20>\Ek, cvvis@, cnorm@, smso=\EE, rmso=\Ee, use=c100,
112