Silicon Graphics IRIS Series Terminal Manual page 72

Table of Contents

Advertisement

68
IRIS TERMINAL GUIDE
Appendix F
F.9 Six-bit and Eight-bit Transmission
The six-bit values are guaranteed to be standard ASCII printing values between
space (0x20) and '_' (0x60). To send a six-bit value, add 0x20 to it. To interpret
a received character as a six-bit value, subtract 0x20, and mask off all but the 6
low-order bits. Eight-bit values are simply transmitted as is. In six-bit mode,
all data items are transmitted 6 bits at a time, beginning with the 6 low-order
bits. For example, the word 0x1234 is sent as the following sequence of bytes:
0x54 = 'T', 0x28 = '(', and finally 0x21 = '!'. In binary, 0x1234 =
0001001000110100. The 6 bit chunks (from right to left) are: 110100, 001000 and
000001 (the last is padded with 2 zeroes). We then add 0x20 to each, giving:
0x54, 0x28 and 0x21.
Eight-bit values are sent beginning with the high-order bytes so that the IRIS
can simply slap them into memory in the order that they arrive.
F.10 Protocols
sends an eight-bit graphics code, preceded by the graphics escape
gcmd()
character (0x10).
and
send a boolean and a character (byte), respectively. The
sendo()
sendb()
IRIS considers a boolean to be exactly the same as a character. where 0x00 is
false, and 0x01 is true. Thus the two routines in the example are identical.
,
, and
send a short (16 bits), a long (32 bits), and a float
sends()
sendl
sendf
(32 bits, IEEE format), respectively.
The corresponding routines to receive a boolean, a byte, a short, a long, and a
float are
,
,
,
, and
, respectively. All are implemented
recO
recB
recS
recL
recF
in a straightforward manner.
The most complicated protocols are those associated with the sending and
receiving arrays. Consider first the routines that send arrays to the IRIS. The
routines are
,
,
,
,
, and
.
sendos()
sendbs()
sendqs()
sends()
sendls()
sendfs()
These routines send, respectively, an array of boolean's, byte's, Fontchar's, and
arrays of short's, long's and float's.
All of the commands take the array as the first argument and the number of
items of the appropriate type to send as the second argument. The IRIS has a
single receive array routine, and it expects an array of longs. Thus, the host
routine has the responsibility for arranging the information into longs so that
when placed in the IRIS, it will be interpreted correctly. The only tricky one is
—the routine that sends an array of Fontchars. Each of the routines
sendqs()
that sends arrays figures out the minimal number of longs that must be sent to
transmit all of the information, and sends them using the
primitive
sendl()
described above. Every 8 longs, a '.' is sent for synchronization. Thus a long
array transmission consists of groups of 48 bytes of information (in the six-bit
case), followed by a synchronization character. (This is why 50 nulls are sent
during initialization.)
Version 1.3

Hide quick links:

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the IRIS Series and is the answer not in the manual?

Subscribe to Our Youtube Channel

This manual is also suitable for:

Iris 1200Iris 1000

Table of Contents