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) 1984, 1986, 1987, 1988, 1989 AT&T
23#	  All Rights Reserved
24
25
26#ident	"%Z%%M%	%I%	%E% SMI"	/* SVr4.0 1.11	*/
27# # --------------------------------
28#
29# concept: (HUMAN DESIGNED SYSTEMS)
30#
31# Manufacturer:	HUMAN DESIGNED SYSTEMS
32# Class:	III
33# 
34# Info:
35#	There seem to be a number of different versions of the C108 PROMS
36#	(with bug fixes in its Z-80 program).
37#	
38#	The first one that we had would lock out the keyboard of you
39#	sent lots of short lines (like /usr/dict/words) at 9600 baud.
40#	Try that on your C108 and see if it sends a ^S when you type it.
41#	If so, you have an old version of the PROMs.
42#	
43#	You should configure the C108 to send ^S/^Q before running this.
44#	It is much faster (at 9600 baud) than the c100 because the delays
45#	are not fixed.
46#	new status line display entries for c108-8p:
47#	is3 - init str #3 - setup term for status display - 
48#	set programmer mode, select window 2, define window at last 
49#	line of memory, set bkgnd stat mesg there, select window 0.
50#	
51#	tsl - to status line - select window 2, home cursor, erase to 
52#	end-of-window, 1/2 bright on, goto(line#0, col#?)
53#	
54#	fsl - from status line - 1/2 bright off, select window 0
55#	
56#	dsl - disable status display - set bkgnd status mesg with 
57#	illegal window #
58#	
59#	There are probably more function keys that should be added but 
60#	I don't know what they are.
61#
62c108|concept108|c108-8p|concept108-8p|concept 108 w/8 pages,
63	is3=\EU\E z"\Ev^A\177 !p\E ;"\E z \Ev  ^A\177p\Ep\n,
64	rmcup=\Ev  ^A\177p\Ep\r\n, use=c108-4p,
65c108+acs|alternate charset defns for c108,
66	acsc=l\\qLkTxUmMjE, rmacs=\Ej , smacs=\Ej!,
67c108-4p-acs|c108-4p w/ acs,
68	use=c108+acs, use=c108-4p,
69c108-8p-acs|c108-8p w/ acs,
70	use=c108+acs, use=c108-8p,
71c108-rv-8p-acs|c108-rv-8p w/ acs,
72	use=c108+acs, use=c108-rv-8p,
73c108-4p|concept108-4p|concept 108 w/4 pages,
74	hs, eslok, dch1=\E\s1$<16*>,
75	tsl=\E z"\E?\E^E\EE\Ea %+ , fsl=\Ee\E z , dsl=\E ;\177,
76	is3=\EU\E z"\Ev\177 !p\E ;"\E z \Ev  ^A p\Ep\n,
77	xon, is1=\EK\E!\E F,
78	smcup=\EU\Ev  8p\Ep\r\E^U, rmcup=\Ev  ^A p\Ep\r\n,
79	cvvis=\EW, cnorm=\Ew,
80# Info:
81#	No delays needed on c108 because of ^S/^Q handshaking
82#
83	pb@, cr=^M, ind=^J,
84	cup=\Ea%p1%?%p1%{95}%>%t^A%{96}%-%;%' '%+%c%p2%?%p2%{95}%>%t^A%{96}%-%;%' '%+%c,
85	use=c100,
86c108-rv|c108-rv-8p|concept 108 w/8 pages in reverse video,
87	smcup=\EU\Ev  8p\Ep\r, rmcup=\Ev  ^B p\Ep\r\n, use=c108-rv-4p, 
88c108-rv-4p|concept108-rv-|concept108rv4p|concept 108 w/4 pages in reverse video,
89	flash=\EK$<50>\Ek, is1=\Ek, smso=\EE, rmso=\Ee,
90	use=c108-4p, 
91c108-rv-4p-acs|c108-rv-4p w/ acs,
92	use=c108+acs, use=c108-rv-4p,
93c108-na|c108-na-8p|c108-8p-na|concept108-na-|concept108na8p|concept 108 w/8 pages no arrows,
94	kf7=\E;, kf8=\E<, kf9=\E=,
95	smkx@, rmkx@, use=c108-8p,
96c108-na-acs|c108-na w/ acs,
97	use=c108+acs, use=c108-na,
98c108-rv-na|c108-rv-na-8p|c108-8p-rv-na|concept 108 8 pages no arrows rev video,
99	kf7=\E;, kf8=\E<, kf9=\E=,
100	smkx@, rmkx@, use=c108-rv-8p,
101c108-rv-na-acs|c108-na w/ acs,
102	use=c108+acs, use=c108-rv-na,
103c108-w|c108-w-8p|concept108-w-8|concept108-w8p|concept 108 w/8 pages in wide mode,
104	is1=\E F\E",
105	smcup=\EU\Ev  8^AD\Ep\r, rmcup=\Ev  ^A0^AD\Ep\r\n,
106	cols#132, use=c108-8p,
107c108-w-acs|c108-w w/ acs,
108	use=c108+acs, use=c108-w,
109# Info:
110#	Concept 100:
111#	These have only window relative cursor addressing, not screen 
112#	relative. To get it to work right here, smcup/rmcup (which 
113#	were invented for the # concept) lock you into a one page 
114#	window for screen style programs.
115#	
116#	To get out of the one page window, we use a clever trick:
117#	we set the window size to zero ("\Ev    " in rmcup) which the 
118#	terminal recognizes as an error and resets the window to all 
119#	of memory.
120#	
121#	This trick works on c100 but does not on c108, sigh.
122#	
123#	Some tty drivers use cr3 for concept, others use nl3, hence 
124#	the delays on cr and ind below. This padding is only needed at 
125#	9600 baud. One or the other is commented out depending on 
126#	local conventions.
127#	
128#	2 ms padding on rmcup isn't always enough. 6 works fine. Maybe 
129#	less than 6 but more than 2 will work.
130#	
131#	Note: can't use function keys f7-f10 because they are 
132#	indistinguishable from arrow keys (!), also, del char and 
133#	clear eol use xon/xoff so they probably won't work very well.
134#	
135#	Also note that we don't define insrt/del char/delline/eop/send 
136#	because they don't transmit unless we reset them - I figured 
137#	it was a bad idea to clobber their definitions.
138#	
139#	The mc5 sequence changes the escape character to ^^ so that 
140#	escapes will be passed through to the printer. Only trouble 
141#	is that ^^ won't be - ^^ was chosen to be unlikely. 
142#	Unfortunately, if you're sending raster bits through to be 
143#	plotted, any character you choose will be likely, so we lose.
144#
145c100|concept100|concept|c104|c100-4p|hds concept 100,
146	is2=\EU\Ef\E7\E5\E8\El\ENH\E\0\Eo&\0\Eo'\E\Eo!\0\E^G!\E^HA@ \E4#:"\E:a\E4#;"\E:b\E4#<"\E:c,
147	is1=\EK, is3=\Ev    $<6>\Ep\n,
148#	cr=^M, ind=^J$<9>,
149	cr=$<9>^M, ind=^J,
150	bel=^G, cud1=^J, clear=\E?\E^E$<2*>,
151	smcup=\EU\Ev  8p\Ep\r\E^U$<16>, rmcup=\Ev    $<6>\Ep\r\n,
152	il1=\E^R$<3*>, am, cub1=^H, ed=\E^E$<16*>, el=\E^U$<16>,
153	cup=\Ea%p1%' '%+%c%p2%' '%+%c, cols#80, dch1=\E^Q$<16*>, dl1=\E^B$<3*>,
154	rmir=\E\s\s, eo, smir=\E^P, ip=$<16*>, lines#24, mir, cuf1=\E=,
155	ht=\t$<8>, kbs=^h, ul, cuu1=\E;, smul=\EG, rmul=\Eg,
156	xenl, flash=\Ek$<20>\EK, pb#9600, vt#8,
157	smul=\EG, rmul=\Eg, smso=\ED, rmso=\Ed,
158	dim=\EE, rev=\ED, blink=\EC, prot=\EI, invis=\EH, sgr0=\EN@,
159	rep=\Er%p1%c%p2%' '%+%c$<.2*>, smkx=\EX, rmkx=\Ex,
160	kcuu1=\E;, kcud1=\E<, kcub1=\E>, kcuf1=\E=, khome=\E?, kcbt=\E',
161	kf1=\E5, kf2=\E6, kf3=\E7, kf4=\E8, kf5=\E9,
162	kf6=\E:a, kf7=\E:b, kf8=\E:c,
163	kich1=\E^P, krmir=\E\0, kdch1=\E^Q, kil1=\E^R, kdl1=\E^B,
164	kel=\E^S, ked=\E^C, kpp=\E., knp=\E-, kind=\E[, kri=\E\\,
165	khts=\E], kctab=\E_,
166# Info:
167#	\EQ"\EY(^W (send anything from printer to host, for xon/xoff) 
168#	cannot be # in is2 because it will hang a c100 with no printer 
169#	if sent twice.
170#
171	mc5=\EQ"\EY(^W\EYD\Eo ^^, mc4=^^o \E\EQ!\EYP^W,
172c100-rv|c100-rv-4p|c100-rv-4p-pp|concept100-rv|c100 rev video,
173	is1=\Ek, flash=\EK$<20>\Ek, cvvis@, cnorm@,
174	smso=\EE, rmso=\Ee, use=c100,
175c100-rv-na|c100-rv-4p-na|c100 with no arrows,
176	smkx@, rmkx@, use=c100-rv,
177oc100|oconcept|c100-1p|old 1 page concept 100,
178	in, is3@, use=c100,
179# Info:
180#	
181#	ht through el included to specify padding needed in raw mode.
182#
183avt-ns|concept avt with status lins disabled,
184	am, eo, mir, ul, xenl, xon,
185	cols#80, it#8, lines#24, lm#192,
186	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z,
187	clear=\E[H\E[J$<38>, cnorm=\E[=119l, cr=\r,
188	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\b,
189	cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
190	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
191	cvvis=\E[=119h, dch1=\E[P, dim=\E[1!{,
192	dl=\E[%p1%dM$<4*>, dl1=\E[M$<4>, ed=\E[J$<96>,
193	el=\E[K$<6>, home=\E[H, hpa=\E[%p1%{1}%+%dG,
194	ht=\t$<4>, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
195	il=\E[%p1%dL$<4*>, il1=\E[L$<4>, ind=\n$<8>,
196	invis=\E8m, ip=$<4>, is1=\E[=103l\E[=205l,
197	is2=\E[1*q\E[2!t\E[7!t\E[=4;101;119;122l\E[=107;118;207h\E)1\E[1Q\EW\E[!y\E[!z\E>\E[0:0:32!r\E[0*w\E[w\E2\r\n\E[2;27!t,
198	kbs=\b, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
199	kcuu1=\E[A, kdch1=\E^B\r, ked=\E^D\r, kf1=\EOP,
200	kf2=\EOQ, kf3=\EOR, kf4=\EOS, khome=\E[H,
201	kich1=\E^A\r, kil1=\E^C\r, ll=\E[24H, mc0=\E[0i,
202	mc4=\E[4i, mc5=\E[5i, pfloc=\E[%p1%d;0u#%p2%s#,
203	pfx=\E[%p1%d;1u#%p2%s#, prot=\E[99m, rc=\E8,
204	rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\EM$<4>,
205	rmacs=^N$<1>, rmcup=\E[w\E2\r\n, rmir=\E4l,
206	rmkx=\E[!z\E[0;2u, rmso=\E[7!{, rmul=\E[4!{, sc=\E7,
207	sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m,
208	sgr0=\E[m, smacs=^O$<1>, smcup=\E[=4l\E[1;24w\E2\r,
209	smir=\E1, smkx=\E[1!z\E[0;3u, smso=\E[7m, smul=\E[4m,
210	tbc=\E[2g, vpa=\E[%p1%{1}%+%dd,
211avt-rv-ns|concept avt in reverse video mode/no status line,
212	is1=\E[=103l\E[=205h, flash=\E[=205l$<50>\E[=205h, use=avt-ns,
213avt-w-ns|concept avt in 132 column mode/no status line,
214	is1=\E[=103h\E[=205l, smcup=\E[H\E[1;24;1;132w, use=avt-ns,
215avt-w-rv-ns|concept avt in 132 column mode/no status line,
216	is1=\E[=103h\E[=205h, smcup=\E[H\E[1;24;1;132w,
217	flash=\E[=205l$<50>\E[=205h, use=avt-ns,
218# Info:
219#	Concept AVT with status line. We get the status line using the
220#	"Background status line" feature of the terminal. We swipe the
221#	first line of memory in window 2 for the status line, keeping
222#	191 lines of memory and 24 screen lines for regular use.
223#	The first line is used instead of the last so that this works
224#	on both 4 and 8 page AVT's. (Note the lm#191 or 192 - this
225#	assumes an 8 page AVT but lm isn't currently used anywhere.)
226#
227avt+s|concept avt status line changes,
228	is3=\E[2w\E[2!w\E[1;1;1;80w\E[H\E[2*w\E[1!w\E2\r\n,
229	tsl=\E[2;1!w\E[;%p1%dH\E[2K, fsl=\E[1;1!w, eslok, hs,
230	dsl=\E[0*w, lm#191, smcup=\E[2;25w\E2\r, rmcup=\E[2w\E2\r\n,
231	.wind=\E[%i%p1%{1}%+%d;%p2%d;%p3%{01}%+%d;%p4%{01}%+%dw,
232avt|c5|avt-s|conceptavt|concept-avt| avt w/4 or 8 pages/80 columns,
233	use=avt+s, use=avt-ns,
234avt-rv|avt-s-rv|avt-rv-s|concept avt in reverse video w/status line,
235	is1=\E[=103l\E[=205h, flash=\E[=205l$<50>\E[=205h,
236	use=avt+s, use=avt-ns,
237avt-w|avt-w-s|concept avt in 132 column mode w/with status line,
238	is1=\E[=103h\E[=205l, smcup=\E[H\E[1;24;1;132w,
239	use=avt+s, use=avt-ns,
240avt-w-rv|avt-rv-w|avt-w-s-rv|avt-w-rv-s|avt 132 cols w/status line,
241	is1=\E[=103h\E[=205h, smcup=\E[H\E[1;24;1;132w,
242	flash=\E[=205l$<50>\E[=205h,
243	use=avt+s, use=avt-ns,
244# HDS 200 terminals 
245#
246# if=hds give 3 screens of 24 lines each
247# sets up for 3 inputs. F10 selects input channel 1
248#			F11 selects input channel 2
249#			F12 selects input channel 3
250# if=hds3 give 3 screens-> F10 17 lines F12 has 7 lines and F11 has 24 lines
251# sets up for 3 inputs. F10 selects input channel 1
252#			F11 selects input channel 3
253#			F12 selects input channel 2
254#
255#
256hds200|generic hds 200,
257	am,	xenl,	mir,	ul, xon, km, nxon, hs,
258	cols#80,	lines#24, xmc#1, it#8, wsl#60,
259	bel=^G,	cr=\r,	clear=\E[H\E[J,
260	el=\E[K,	ed=\E[J,	cup=\E[%i%p1%02d;%p2%02dH,
261	cud1=\n,	home=$<8*>\E[H,	cub1=\b,
262	cnorm=\E[=119l,	cuf1=\E[C,	cuu1=\E[A,
263	cvvis=\E[=119h,	dch1=\E[P,	dl1=\E[M,
264	smir=\E1,	smso=\E[7m,	smul=\E[4m,
265	rmir=\E1,	rmso=\E[m,	rmul=\E[m,
266	is1=\E[1*q\E[2!t\E[7!t\E[=4;101;103;119l\E[=107;118;207h\E)1\E[1Q\EW\E[0:0:32!r\E2\r\n,	if=/usr/share/lib/tabset/hds,	il1=\E[L,
267	kbs=\b,		nel=\r\n,	ind=\n,
268	kcub1=\E[D, 	kcud1=\E[B,	kcuf1=\E[C,
269	kcuu1=\E[A,	khome=\E[H, 
270#
271#
272hds17|hds 17,
273	lines#17,
274	bel=^G,	cr=\r,	cud1=\n,
275	cub1=\b,	if=/usr/share/lib/tabset/hds3,	kbs=\b,
276	kcud1=\n,	kcub1=\b,	nel=\r\n,
277	ind=\n,	use=hds200,
278hds24|hds 24,
279	lines#24,
280	bel=^G,	cr=\r,	cud1=\n,
281	cub1=\b,	if=/usr/share/lib/tabset/hds3,	kbs=\b,
282	kcud1=\n,	kcub1=\b,	nel=\r\n,
283	ind=\n,	use=hds200,
284hds7|hds 7,
285	lines#7,
286	bel=^G,	cr=\r,	cud1=\n,
287	cub1=\b,	if=/usr/share/lib/tabset/hds3,	kbs=\b,
288	kcud1=\n,	kcub1=\b,	nel=\r\n,
289	ind=\n,	use=hds200,
290hds-w|hds wide,
291	cols#132,
292	bel=^G,	cr=\r,	cud1=\n,
293	cub1=\b,	kbs=\b,	kcud1=\n,
294	kcub1=\b,	nel=\r\n,	ind=\n,
295	use=hds200,
296hds17-w| hds 17 wide,
297	cols#132,
298	bel=^G,	cr=\r,	cud1=\n,
299	cub1=\b,	kbs=\b,	kcud1=\n,
300	kcub1=\b,	nel=\r\n,	ind=\n,
301	use=hds17,
302hds24-w|hds 24 wide,
303	cols#132,
304	bel=^G,	cr=\r,	cud1=\n,
305	cub1=\b,	kbs=\b,	kcud1=\n,
306	kcub1=\b,	nel=\r\n,	ind=\n,
307	use=hds24,
308hds7-w|hds 7 wide,
309	cols#132,
310	bel=^G,	cr=\r,	cud1=\n,
311	cub1=\b,	kbs=\b,	kcud1=\n,
312	kcub1=\b,	nel=\r\n,	ind=\n,
313	use=hds7,
314