QV069 GZ_Rainbow_100+_100B_Technical_ation_Apr85 GZ Rainbow 100 100B Technical Ation Apr85
QV069-GZ_Rainbow_100+_100B_Technical_ation_Apr85 QV069-GZ_Rainbow_100+_100B_Technical_ation_Apr85
User Manual: QV069-GZ_Rainbow_100+_100B_Technical_ation_Apr85
Open the PDF directly: View PDF .
Page Count: 232
Download | ![]() |
Open PDF In Browser | View PDF |
QV069-GZ TM lOO+/lOOB Technical Documentation digital equipment corporation First Printing, June 1984 Second Printing, April 1985 © Digital Equipment Corporation 1984, 1985. All Rights Reserved. The information in this document is subject to change without notice and should not be construed as a commitment by Digital Equipment Corporation. Digital Equipment Corporation assumes no responsibility for any errors that may appear in this document. The software described in this document is furnished under a license and may only be used or copied in accordance with the terms of such license. No responsibility is assumed for the use or reliability of software on equipment that is not supplied by DIGITAL or its affiliated companies. CP/M and CP/M-86 are registered trademarks of Digital Research Inc. CP/M-80 is a trademark of Digital Research Inc. MS is a trademark of Microsoft Corporation. Z80 is a registered trademark of Zilog, Inc. 8088 is a registered trademark of Intel Corporation. The following are trademarks of Digital Equipment Corporation: ~D~DD~D'M DEC DECmate DECsystem-10 DECSYSTEM-20 DECUS DECwriter DIBOL MASSBUS PDP P/OS Professional Rainbow RSTS RSX UNIBUS VAX VMS VT Work Processor The postage-prepaid READER'S COMMENTS form on the last page of this document requests the user's critical evaluation to assist us in preparing future documentation. Printed in U.S.A. TM 100 + 11 OOB Technical Documentation Recommended Documents Contains a list of additional reading materials. Rainbow 100 + /1 OOB System Specification This specification describes the hardware and the firmware for the Rainbow 100 + 1100B computers. Discussions of each of the standard and optional components of the Rainbow 100B system unit are included. The system motherboard description discusses the dual-processor architecture, local bus structures, standard video and communications interfaces, memory and I/O maps, and register bit-formats. The VT102 terminal emulation firmware description includes the variations from the standard VT102. Operating system support firmware is also discussed. Rainbow 100 + /1 OOB Terminal Emulation Manual This document discusses each terminal key character, processing of received characters, and use of control functions. The appendixes list character codes and control functions along with the ANSI code extension techniques for escape and control sequences. There is a description of the Rainbow computer and VT102 terminal differences and a series of international keyboard illustrations. Rainbow 100 Technical Manual This manual describes how the Rainbow computer operates. It includes explanations of the features, capabilities, system architecture, and technical characteristics of the Rainbow computer. Rainbow Color/Graphics Option Programmer's Reference Guide This guide is written for the experienced systems programmer. The information contained in this guide is operating system independent; however, it is specific to BOBB-based software and hardware. It is divided into the following parts: Operating Principles Gives an overview of the Graphics Option hardware and software. Programming Guidelines Discusses such aspects of programming as initialization, various. write and read operations, notes, and timing considerations. Reference Materials Describes the option's registers, buffers, masks, and maps, and the GDC register contents and supported GDC commands. The two appendixes contain a specifications summary and a block diagram of the option. INTEL. Specifications The 8274 Multi-protocol Serial Controller (MPSC) and the 8237A18237A-5 High Performance Programmable DMA Controller are intended for communications programmers or engineers responsible for integrating the controllers into hardware designs. They describe the controllers' functions and general operations, and provide detailed programming specifications and hardware interface information. The synchronous and asynchronous communication documents are an aid for the less experienced programmer who is implementing applications that use either synchronous or asynchronous communication techniques. They provide information on how to use MPSC in either synchronous or asynchronous modes. They also include a number of examples and sample programs to aid the programmer in developing communications applications. HOW TO ORDER ADDITIONAL DOCUMENTATION If you want to order additional documentation by phone: And you live in: Call: Between the hours of: New Hampshire, Alaska or Hawaii 603-884-6660 8:30 AM and 6:00 PM Eastern Time Continental USA or Puerto Rico 1-800-258-1710 8:30 AM and 6:00PM Eastern Time Canada (Ottawa-Hull) 613-234-7726 8:00 AM and 5:00 PM Eastern Time Canada (British Columbia) 1-800-267-6146 8:00 AM and 5:00 PM Eastern Time Canada (all other) 112-800-267 -6146 8:00 AM and 5:00 PM Eastern Time If you want to order additional documentation by direct mail: And you live in: Write to: USA or Puerto Rico DIGITAL EQUIPMENT CORPORATION ATTN: Peripherals and Supplies Group P.O. Box CS2008 Nashua, NH 03061 NOTE: Prepaid orders from Puerto Rico must be placed with the local DIGITAL subsidiary (Phone 809-754-7575) DIGITAL EQUIPMENT OF CANADA LTD. 940 Belfast Road Ottawa, Ontario K1G 4C2 Attn: P&SG Business Manager DIGITAL EQUIPMENT CORPORATION Peripherals and Supplies Group P&SG Business Manager clo Digital's local subsidiary or approved distributor Canada Other than USA, Puerto Rico or Canada TO ORDER MANUALS WITH EK PART NUMBERS WRITE OR CALL P&CS PUBLICATIONS Circulation Services 10 Forbes Road NR03/W3 Northboro, Massachusetts 01532 (617)351-4325 ~ded Documents Other Technical Documentation Kits 1. Rainbow CP/M-S6/S0 V2.0 Technical Documentation (QV067-GZ) 2. Rainbow Ms.-DOS V2.05 Technical Documentation (QV068-GZ) Additional Documents 1. Letterprinter 100 User Documentation Package CEK-LPIOO-UG) Includes: Letterprinter 100 Operator Guide LAlOO-Series Programmer Reference Manual Letterprinter 100 Installation Guide Letterprinter 100 Operator and Programmer Reference Card 2. Letterwriter 100 User Documentation Package (EK-LWlOO-UG) Includes: Letterwriter 100 Operator Guide Letterwriter 100 Installation Guide LAIOO-Series Programmer Reference Manual 3. Installing and Using the LQP02 Printer CAA-L662B-TK) 4. Installing and Using the LA50 Printer (EK-OLA50-UG) Includes: LA50 Printer Programmer Reference Manual 5. Rainbow 100 Extended Communications Option Programmer's Reference Guide CAA-V172A-TV) 6. PCIOO Rainbow 100B System Unit IPB CEK-SBIOO-IP) 7. VTI02 Video Terminal User Guide CEK-VTl02-UG) S. CP/M Operating System Manual CAA-X637 A-TV) lOO+/lOOB System Specification digital equipment corporation First Printing, Junef9~ © Digital Equipment Corporation 1984. All Rights Reserved. The inforrn/itionin thi~ document is subject ~o change withoufl;otice and.should a commitment by DigltafEquipment Corporation. Digital not be construed Equipment Cc:il'~oration assumes no responsibility for any errors that may appear in this document. as Th~sc:iftware (:\escrib9d in this document is furnishedllhder a license and may only'be used or copied in accordance with the t~rm~.of such license. No responsibility is assumed for the use or reliability of software on equipment that is not supplied by DIGITAL or its. affiliated companies, . CP/M and CP/M-86 are registered trademarks of Digital Research Inc. CP/M-80 is a trademark of Digital Research Inc. Z80 is a registered trademark of Zilog, Inc. 8088 is a registered trademark of Intel Corporation. The following are trademarks of Digital Equipment Corporation: ~DmDDmDTM DEC DECmate DECsystem-10 DECSYSTEM-20 DECUS DECwriter DIBOL MASSBUS PDP P/OS Professional Rainbow RSTS RSX UNIBUS VAX VMS VT Work Processor The postage-prepaid READER'S COMMENTS form on the last page of this document requests the user's critical evaluation to assist us in preparing future documentation. Printed in U.S.A. PC199-B Specification 27-Feb-1984 Page 2 TABLE OF CONTENTS/REVISION STATUS Subhead Title page Ti tle Page Table of Contents/Revision status 1 2 1 SYSTEM OVERVIEW 4 2 BASE SYSTEM 4 3 3.1 3.2 SYSTEM MODULES MOTHER BOARD OPTION MODULES 5 5 38 4 RX50 DRIVE GENERAL DESCRIPTION DRIVE CHARACTERISTICS TRACK FORMAT HEADER FORMAT 45 45 45 45 46 PC100-B FIRMWARE PRODUCT GOALS Functional Anomalies PERFORMANCE NON-GOALS GENERAL Text Str ings Character Sets START-UP/SHUT-DCWN/RESET Power-Up Initialization Selection of Keyboard/Language Power-Off Hardware Resetting RAM Par i ty Error MEMORY-MAPPED VIDEO ACCESS SERVICE KEY ACCESS SERVICE 47 47 4.1 4.2 4.3 4.4 5 5.1 5.1.1 5.2 5.3 5.4 5.4.1 5.4.2 5.5 5.5.1 5.5.2 5.5.3 5.5.4 5.5.5 5.6 5.7 48 51 51 51 53 53 61 61 61 62 62 62 63 64 FUNCTIONAL DEFINITION OPERATIONAL DESCRIPTION CLUSTERING OF LANGUAGES TRANSMITTED CHARACTERS RECEIVED CHARACTER PROCESSING VT102 CONTROL OF ATTACHED DEVICES OTHER DIFFERENCES - TERMINAL VS CONSOLE MODES 65 65 65 66 78 79 84 84 84 7.3 EXTERNAL INTERACTIONS OPERATING SYSTEM STACK OVERHEAD STACK USE BY APPLICATIONS 8 8.1 8.2 VT102 SET-UP RESET TECHNIQUE 84 84 6 6.1 6.2 6.3 6.4 6.5 6.6 7 7.1 7.2 80 84 90 PCU9-B Specification 27-Feb-1984 Page 3 TABLE OF CONTENTS/REVISION STATUS (Continued) Subhead 9 9.1 11 Title Page INTERFACE LAYER SOFTWARE INTERRUPT TYPE 40 (DECIMAL) 90 90 IMAGE OF Z80 RAM SPACE TO BE LOADED 99 BOOT LOADER TO READ TRACK 0, SECTOR 1 OF FLOPPY 99 12 MENU SELECTION PROCESS 102 13 SYSTEM PARAMETER INFORMATION 103 14 DIAGNOSTIC AND MANUFACTURING SUPPORT 104 15 POWER SUPPLY 106 16 16.1 16.2 16.3 16.4 CONNECTOR OUTPUTS VIDEO INTERFACE CONNECTOR COMMUNICATIONS INTERFACE CONNECTOR PRINTER PORT INTERFACE CONNECTOR FLOPPY INTERFACE CONNECTOR 108 108 109 111 112 17 OPTIONS 113 18 CABLES 114 19 ENVIRONMENTAL 114 20 RELIABILITY 114 21 PHYSICAL PACKAGING 114 22 VIDEO CHARACTER SET 115 23 APPLICABLE STANDARDS AND REGULATIONS 115 PC199-B Specification 1 27-Feb-1984 Page 4 SYSTEM OVERVIEW The PCl@@-B system is a low-cost, user-installable personal business computer used to run applications in the Fortune l00@ marketplace. The PCl@@-B provides hardware and software support for both stand-alone processing and as a terminal emulation for DEC and other computer manufacturer's systems. The PC10@-B is designed to be used by users with no prior computer experience. Applications software include packages designed by third party software houses. 2 BASE SYSTEM The base system consists of the following components: 2.1 BA2S-C The BA25-C is the system nucleus. The mul ti-box is the primary housing for the system, and encloses the following components: a. PCl@@-B System Module - The basic intell igence of the system and provides the means for interconnection of all options. This module includes the following features: o o o o o o o o o o o o o o o 2.2 8@88 CPU Z8@A CPU 64KB unshared dynamic memory 64KB shared dynamic memory 32 to 64KB ROM 256 x 4 NVM VTl@@ compatible DC@ll, DC@12 video electronics Async/Bisync communications port LA5@, LAl@@, LA12 Printer Port LK2@1 Keyboard interface RX5@ Floppy controller Option expansion capability Extended communications Color graphics Extended memory (64 to 768KB) b. RX5@ Mini-Floppy Drive - A dual platter mini-floppy drive system which is the main storage area for the system. c. H7842-D Power Supply - A 14@ W switching regulator power supply with a switch selectable l0@-12@/220-240 V primary circuit. VR201-A MONITOR A l2-inch diagonal composite monitor that supplies video information to the user, as well as an interconnect means for the keyboard. PC199-B Specification 2.3 Page 5 27-Feb-1984 LK29l-AA KEYBOARD An ergonomic keyboard.supporting 135 keys. This is interconnected via a coiled cord terminated in a four-conductor telephone plug. 3 SYSTEM MODULES 3.1 MOTHER BOARD The PC130-B includes a two-processor architecture based on the simultaneous operation of an 8388 and a Z80A CPU. These CPUs operate from and transfer data through a shared block of 62KB of RAM. In addition to this block-of shared memory, each processor has its own memory and peripheral circuitry. Note Because the floppy controller module an integral part of the system, it included in the mother board section. is is In addition to running application/user software, each processor supports a portion of the needed functions of the computer. The Z80A processor performs the func-tions required to read/write the floppy disks. The 8388 handles the video output, keyboard I/O, printer port and the communications as well as any other options. 3.1.1 Mother Board Block Diagram The Mother Board Block Diagram is shown in Figure 1. 3.1.2 8988 System The 8388 microprocessor on the module controls n-early everything except the floppy disk. The 8388 runs from a clock of 4.815 MHz and controls the following: o o o o o o Vide0 Keyb~ard Pr inter Communication line Optional graphics board Optional extended communications board PC190-B Specification 27-Feb-1984 Page 6 +----------------------INTERRUPT---------------------------------------+ +---l----+ Z80A +I--~~~;~~--+I-+----DMA--------+-;;;~:~;~~~~i +------+ ------ ----8 +--------+ +--------+ 2 KB 1 1UNSHARED -----RAM +--------+ +--------+ RX50 DISK DRIVE I/F +--------+ B I T D A T A B U S +------+ 62 KB I +------+ RAM ---+----------+ \ 1 UNSR2HAAMK:ED 1---I +----------+ i WINCHESTER DISK OPTION 8 1 ~~ ~~ 1---ROM +----------+ +----------+ OPTIONAL B +---------+ D A T +---------+ A KEYBOARD I/F B U S +-------;..--+ +---------+ I +---------+ +---------+ +------+ I -----1 4 KB SCREEN ---RAM +---+------+ PRINTER PORT 1 +---------+ 4 KB 1---RAM +----------+ +---------+ I ATTRIBUTE COLOR GRAPHICS +------+ Figure 1. I +---------+ ASYNC/ ----- BISYNC COMMS I +----------+ DC 11/12 1 ---1 VIDEO CONTROLLER +----------+ I I ------+ 8088 RAM (64 KB to 768 KBj I I I +------------+ +---------+ 1-+ ~ 1 U~:H~:ED RAM ---- +----------+ I II +---------+ Mother Board Block Diagram The 8088 also controls the Z80A's RESET line, as it can start/stop the Z80A at will. The clock time on the 8088 is approx imately 208 nanoseconds. Contention from either the Z80A or refresh can cause wait states. PC100-B Specification 27-Feb-1984 Page 7 3.1.3 8088 Memory The 8088 has several different types of memory available for its use: a. b. c. d. e. f. l28KB dynamic memory (62KB shared) 32 to 64KB ROM 4KB video screen memory (static) 4KB video attribute memory (static) 256X4 NVM with shadow RAM 64KB to 768KB optional unshared dynamic memory 3.1.3.1 Standard Memory - The 128 KB of standard memory is partitioned into a low order 64 KB bank and a high order 64 KB bank. 62 KB of the low order 64 KB bank is addressable by, and therefore accessible to, the Z80A processor. The Z80A is unable to address (and therefore can't modify) the first 2KB portion of this bank. Therefore, the 8088 keeps its interrupt vectors and some other information safe from being molested by a Z80A application. The high order 64 KB bank of standard memory is accessible to the 8088 via the same memory bus as the lower 64 KB of standard memory. It is not addressable by the Z80A, and thus is not shared, but Z80A accesses to the low order 64K bank utili ze the standard memory bus, causing the 8088 to incur wait states when 8088 access to the high order 64 KB bank of standard memory coincide with Z80A accesses to the low order 64 KB bank. If there is no contention for the standard memory bus at the time of an 8088 access, no wait states are required for the cycle. If the bus is busy due to a refresh cycle, DMA cycle, or a Z80A memory cycle, which was initiated prior to the 8088's request, wait states will occur until the request can be filled. Refresh has the highest priority for memory cycles. DMA has the second highest priority for memory cycles. The processors have the lowest priority. The 8088 has approximately equal priority with the Z80A. No parity generaton/checking is implemented for the standard 128 KB memory. 3.1.3.2 ROM - There is 32 to 64KB of ROM (two sockets) on the module which is addressable by the 8088. The ROM contains Z80A code and 8088 code for diagnostics, bootstrap, and VT102 emulation. The code for the Z80A must be moved into shared memory by the 8088 in order to be executed by the Z80A. No wait states are required when the 8088 accesses this memory; however, because the circuitry assumes that all memory is dynamic RAM, wait states will be executed whenever refresh cycles are in progress. Supported ROMs are of the 27128/27256 pinout variety, with access times <= 450 nsec. Each ROM socket has a jumper associated with it, to select the 27128 (128 K bit) pinout or the 27256 (256 K bi t) pinout. The default condition is with the jumper absent, selecting the 27128 type pinout. 3.1.3.3 4KB Screen Memory and 4KB Attribute Memory - There is screen and attribute memory available to the 8088 which allows it to control what is on the CRT display. This memory is available to the 8088 90 percent of the time. In the remaining ten percent, the DC0ll and DC0l2 have access to thi s memory and prohibi t the 8088 from access. Wai t sta tes to the 8088 occurs dur ing refresh cycles and while the DC0ll and DC0l2 are using the PC190-B Specification 27-Feb-1984 Page 8 memory. The worst case time in which the 81388 can be held ina wait state due to contention with the DC13ll and DC1312 is approximately 1213 microseconds. 3.1.3.4 256 X 4 NVM with 11324 bits of non-volatile it is called, is located 13ED0FFH and the data path 3. Phantom images of the Shadow RAM - The PCl1313-B mother board contains storage that is organized 256 x 4. The NVM, as on the 81388 CPU bus at address 13ED131313H through to the dev ice is through data bits 13, 1, 2, and NVM exist from address 13EDl1313H through 13EDFFFH. The device contains a 256 x 4 bit static RAM that performs as any other static memory. The device also contains a 256 x 4 bit non-volatile memory that is overlaid with the 256 x 4 bit static memory. On initialization, the 81388 does a RECALL of the NVM which places that data into the static memory. At this time, any read or write to the memory occurs to the static memory_ The RECALL is done via a bit in the Diagnostic write register. On power-up, this bit is set to a 13, and must be set to a 1 by firmware before data from the NVM RAM is available. To perform a RECALL, the bit is set to a 13 and then set back to 1. The minimum width for this pulse is 4513 ns. The data is available immediately after the RECALL bit. is reset. The data that is in the static memory portion can be stored in the NVM by the 81388 CPU via the PROGRAM NVM bit also located in the Diagnostic write register. This bit is also set to a 13 on power-up. To perform a PROGRAM NVM operation, the bit is set to a land then back to a 13. This pulse has a minimum width of 11313 ns. Once the PROGRAM NVM bi t has met the minimum pulse width it can be. removed, however, the device cannot be accessed by the CPU for 113 ms. At this time, the device is in the process of storing the data into the NVM. There is no indication to the CPU that the device is done other than 113 ms has passed. If another operation is done on the device during those 10 ms, it will be ignored. Once the operation is started, it cannot be terminated unless the power is turned off. In this case, data in the device is not valid. 3.1.3.5 Optional (Unshared ) Dynamic Memory - The module can optionally be expanded with 64KB to 768KB of memory for use by the 8088. If installed, this memory is always available and never requires wait states (except when the memory cycle .contends with a refresh cycle) • PC1ee-B Specification 27-Feb-1984 Page 9 3.1.3.6 8e88 I/O Map - The 81888 I/O map follows: PORT H f8f8H f818H 182H 182H 184H 186H 188H 18AH 18AH 18CH 18EH 10H 11H 218H-2FH 318H-3FH 418H 41H 42H 43H 518H-5FH 618H-6FH 70H-7FH FUNCTION Interrupts Z818A Flop (Write) Clears 81888 Interrupt Flop (Read) Communications and LED Register General Communications Status OC011 Write Register Communications Bit Rate Register Option Present Status Register Maintenance Port Maintenance Port OCf812 write Register printer Bit Rate Register Keyboard Data Register (8251A) Keyboard Control/Status Register(8251A) Ext. Comm. Option/Option Select 1 Ext. Comm. Option/Option Select 3 Comm Data Reg. (7201) Pr inter Oa ta Reg. (7201) Comm Control/Status Reg. (7201) printer Control/Status Reg. (7201) Graphics Option Select Ex t. Comm. option/Option Select 2 Ext. Comm. Option/Option Select 4 WO RO WO WO RO WO RO WO wo RO/WO RO/WO RO/WO RO/WO RO/WO RO/WO R/W PC199-B Specification 27-Feb-.1984 Page 19 3.1.3.7 8988 Memory Map - The 8088 memory map is shown in Figure 2. FFFFF ROM 1 (BOOT) (256 K bi t) (optional) ROM 1 (BOOT) (128 K bi t) FC999 ROM 1 (BOOT) (aliased) F8999 ROM 9 (256 K bit) (optional) ROM 9 (128 k bit) F4909 ROM 9 (aliased) --------------+-------------ATTRIBUTE RAM EF999 SCREEN RAM EE999 NVM (aliased) ED9FF NVM ED999 NVM ( aliased) EC999 ~----------------------------~ DFFFF OPTION RAM 29999 STANDARD RAM (UNSHARED) ----------------------------STANDARD RAM (SHARED) Figure 2. 8988 Memory Map 19999 PC199-B Specification Page 11 27-Feb-1984 3.1.3.8 8988 Interrupts - The fOllowing table lists the 8088 interrupts. Values given are in hexadecimal. The values are listed for VECTOR SEL 1 (default condition), and for VECTOR SEL = 0 (relocated vectors) • priority Highest Lowest Interrupt Source Memory Parity Error Interrupt (NMI) Vertical Frequency Interrupt Extended Comms Interrupt 1 (optional) Graphics DMA Controller Interrupt (from Optional Extended Comm. Board) Comm./Printer (7201) Interrupt Extended Comms Interrupt 0 (optional) Keyboard (8251A) Interrupt Interrupt fromZ80A Interrupt Type Vector Address VECTOR SEL 1 (9) VECTOR SEL 1 (9) 02 (02) 20 (A0) 21 (Al) (08) (08 ) 80 (280 ) 84 (284) 22 (A2) 23 (A3) 88 (288 ) 8C (28C) 24 (M) 25 (A5) 90 (290) 94 (294 ) 26 (A6) 27 (A7) 98 (298 ) 9C (29C) The VECTOR SEL control bit is used to relocate the hardware interrupt vector space to accommodate the requirements of different operating systems. The VECTOR SEL bit is implemented as VECTOR SEL L, using the DTR L· output of the 8251A UART (keyboard serial port). Refer to section 3.1.3.10 for a more detailed description. 3.1.3.9 Video Subsystem: 8088 - The video subsystem resides on the mother board and is controlled by the 8088. The subsystem provides fully VT100compatible video features. 3.1.3.9.1 General Video following features: a. b. c. d. e. f. g. h. i. Features The video subsystem supports the 24 line x 83 column display 24 line x 137 column display Smooth scrolling (full screen and split screen) Double height lines Double width lines Reverse video Bold Blinking Underline j. RS170 "like" composite video output k. 255-character set The software on the 8088 is able to vary the speed of the smooth scrolling, (for example, 3, 6, 12, or 18 lines/sec). The double height and double width attributes may be selected on a line by line basis. The other attributes (reverse, bold, blink, and underline) may be selected on a character-by-character basis. PC199-B Specification 27-Feb-1984 Page 12 3.1.3.9.2 Video Memory - The video subsystem has 4KB of screen RAM and 4KB of attribute RAM. Only the four LSBs of the attribute RAM are actually looked at by the video subsystem. 3.1.3.9.3 Video Processor (DC9ll And DC9l2) - When accessing the screen RAM, the video processor generates the l2-bit address for a particular byte in the lower 4KB bank (character RAM). The corresponding byte in the upper 4KB bank (attribute RAM) is selected also. The two bytes are passed to the video processor in parallel. The video processor uses the character code to index into a character generator and uses the attribute information to modify the video data. The contents of the screen RAM directly control the display of the lines and characters. This region of memory contains the displayable characters, their attributes the line attributes, and the addresses that link one line to the next. The microprocessor modifies and updates this· information in the intervals between the video processor's DMAs. The video processor begins reading the screen RAM at the start of RAM (location 9EE999H) following each vertical reset. Three bytes of control data are located at the end of each line of characters. The first byte, called the terminator, is FF hex and is a unique character that the video processor recognizes as the end of the line. The next two bytes form an address (low byte followed by high byte) which points to the first character of the next 1 ine to be displayed. The byte of attr ibutes that corresponds to the low byte of the address contains three bits of line attributes which are applied to the line being pointed to. Attribute RAM Attribute Data No Attribute Character RAM Character Data Terminator The bits are assi g ned in the D7 D6 Unused Unused Line Attrib. D5 Unused Alt. Char Set Unused Address of Next Line ollowing manner: D4 D3 D2 Dl Unused Not under Line Not Blink Not Bold Rev. Video Double Height Scroll Region Char. Attrib. Char. Data Line Attribute No Attribute D9 Code for Character Unused Unused Unused unused Double Width PC1SS-B Specification 27-Feb-1984 page 13 (Smooth) scroll region - if set, this line scrolls; if not set, it doesn't. Double Height Double width 0 0 1 1 0 1 0 1 Result bottom half double height top half double height double width normal height, normal width 3.1.3.9.4 DCS11 programming Information - The DC011 video-timing chip can be accessed by the 8088 (WRITE-ONLY) at I/O address 4. The DC011 must be programmed with the desired refresh rate and col mnn mode on power-up and after any mode changes. To program the DC011, wr i te two of the following four codes: Code 00 10 .20 30 configuration 80 colmnn mode sets 132 colmnn mode interlaced mode 60 Hz mode resets 50 Hz mode interlaced mode Interlaced/non-interlaced mode is determined by the order in which 80/132 col mnn and 50/60 Hz are set. Every time the DC011 is programmed, its internal timing chain is reset. Since this causes the screen to jmnp, the DC0l1 should be programmed only if absolutely necessary. For example, the following two instructions set the DC011 to 80-column, 60 Hz, no interlace: MOV AX,2000H OUT DC011,AX Note When 80 colmnn mode is selected, the video processor is actually capable of displaying 83 colmnns in single width mode or 41 colmnns in double width/height mode. When 132-colmnn mode is selected, 137 colmnns can be displayed in single width mode or 68 columns in double width/height mode. PC199-B Specification 27-Feb-1984 Page 14 3.1.3.9.5 DC912 programming Information - The OC012 video control chip can be accessed by the 8088 (WRITE-ONLY) at I/O address 0CH. The following codes are defined for the DC012: Code 00 01 02 03 04 05 06 07 98 09 0A 0B 0C 00 0E 0F Result Set Set Set Set Set scroll latch LSB's to 00 scroll latch LSB's to 91 scroll latch LSB's to 10 scroll latch LSB's to 11 scroll latch MSB's to 00 S~t scroll latch MSB's to 01 Set scroll latch MSB's to 10 Set scroll latch MSB's to 11 Toggle blink flip flop Clear vertical frequency interrupt Set reverse field on Set reverse field off Not supported Set basic attribute to reverse video with 24 lines and set blink flip flop off No t suppo r ted Set basic attribute to reverse video w/48 lines and set blink flip flop off On power-up, the DC0l2 can be programmed to bring it to a known state. Typically, codes 00, 94, 99, 0B, and 00 will be programmed at power-up time. The value to which the scroll latch is set determines which scan row the first line of a scrolling region starts on. Likewise, it determines the last scan row displayed for the last line in a scrolling region. For example, when the latch is set to zero (the degenerate case), the first line of the scroll region starts at scan row zero (so the line is completely visible). The last line of the scrolling region terminates at scan row 9 (so this line is also completely visible) • When the scroll latch is non-zero, for example 5, the first line of the scrolling region starts with scan row 5 (so only the bottom half of the line is visible). The last line of the scrolling region terminates at scan row 4 (so only the top half of the line is visible) • If the scroll latch is incremented from 0 through 9 and back to 0 again once each frame, the screen appears to smooth scroll from bottom to top (assuming that line linkages and line attributes are properly handled). On the other hand, if the scroll latch is decremented from 0 to 9 then down through 0, the screen appears to smooth scroll from top to bottom (again assuming that all line linkages and line attributes are properly handled) • A scrolling region is defined as a group of lines with their scrolling attributes set, surrounded by lines whose scrolling attribute is not set. Note that the scrolling attribute for a line resides in the line pointer information at the end of the previous line • • Also, the first line on the screen (the one at RAM location 0), has its scrolling attribute reset by definition. Also note that the definition of a scrolling region does not preclude the definition of more than one scrolling region per screen, although that is of dubious value. PCI00-B Specification 27-Feb-1984 Page 15 Whenever the scroll latch is non-zero, each scrolling region on the screen requires an extra (scrolling) line to be linked in. For example, if the scrolling region is l~ lines long, when the scroll latch is set non-zero there will have to be an eleventh line linked in. If scrolling up (incrementing the scroll latch), the line must be linked in at the bottom. When the scroll latch is incremented back to 0 again, the top line of the scrolling region must be unlinked. When scrolling down (decrementing the scroll latch), new lines must be linked in at the top of the scroll region and unlinked down at the bottom. All line linking/unlinking should be done during the vertical blanking interval (after the vertical frequency interrupt is rung). In 60-Hz mode, there are two blanked lines at the beginning of the screen (the line at RAM location 0, and the line that it points to) . The first line (at location 0) is guaranteed to have been read by the time that the interrupt service routine is entered; any changes to this line will not affect the screen until the next frame time. However, the second line will not be read for over 500 microseconds after asserting the interrupt. If it is to be changed, it must be changed very soon after entering the interrupt service routine in order to guarantee that the change will be visible in the current frame. Therefore, if the first visible line on the screen is involved in the scroll region and is being either linked in or unlinked, then the vertical interrupt routine must guarantee that its pointer (which resides in the second invisible line) is changed within approximately 500 usec after the ringing of the interrupt. The modification of the scroll latch is much less time critical than this. Because the scroll latch is loaded by the DC012 by the vertical reset at the beginning of each frame, the only requirement is that the scroll latch be modified before the next frame begins. Note that the scroll latch value is the value that will be used during the next frame rather than the current frame. 3.1.3.10 Keyboard Interface - The interface to the keyboard is a RS423 full-duplex connection. The interface runs at 4800 bits per second asynchronous, with an 8-bit no parity character format. The UART used on the mother board is an 825lA. It must be set up in asynchronous mode with a 16 times clock and 8-bits no parity. The 825lA contains a write-only command register that is used to configure the operating mode of the UART. The first byte written to the command register after a hard or soft reset of the UART is interpreted as a Mode Instruction. For the asynchronous mode of operation, all successive bytes written to the command register are interpreted as Command Instructions. PC199-B Specification 27-Feb-1984 Page 16 The Mode Instruction write Format of the 8215A (output to port 11 hex) as follows: (shown for asynchronous mode) 00 01 10 11 I 07 06 - Invalid - 1 = 1.5 Stop Bits = 2 D5 04 0 - Odd Parity 1 = Even Parity 0 - No Parity 1 = Parity I 02 03 00 - 5 BIt Char. 01 = 6 Bit Char. 10 = 7 Bit Char. 11 = 8 Bit Char. 01 I 00 00 - Synchronous IX Clock 01 10 = 16X Clock 11 = 64X Clock is I - The Command Instruction Write Format of the 8215A (output to port 11 hex) is as follows: (shown for asynchronous mode) D7 06 05 04 1 - Soft 1 - RTS Reset Ac tive Not Used 1 Error Reset 03 02 1 - Send 1 Forced Enable break Recv'r 00 01 1 = DTR Active 1 = Enable Xmi t' r I DTR (Data Terminal Ready) - This output is normally used to signal the DCE (Data Communication Equipment) that the DTE (Data Terminal Equipment) is ready to communicate. In the PC100-B, DTR is used as a general purpose, latched output. When DTR Lis active low ( a "1" in the UART command register), the hardware interrupt vectors appear in their normal locations. When DTR L is inactive high, the vectors are relocated, as defined in section 3.1.3.8. The recommended setup procedure is to output the following sequence to port 11 (hex): (all values in hex) 0,0,0,40,4E,17 DURING THE INITIALIZATION, CONSECUTIVE WRITES MUST NOT BE SPACED ANY CLOSER THAN 3 MICROSECONDS. The Status Read Format of the 8251A (input from Port 11 Hex) I I 07 I DSR ( SYNDET/ BRKDET D6 I 05 FE I 04 03 OE PE 02 TxEMPTY 01 RxRDY follows: 00 TxRDY Note 1 SAME DEFINITIONS AS I/O PINS PARITY ERROR - The PE flag is set when a parity error is detected. It is reset by the ER bit of the Command Instruction. PE does not inhibit operation of the 8251A. PC100-B Specification 27-Feb-1984 Page 17 OVERRUN ERROR - The OE flag is set when the CPU does not read a character before the next one becomes available. It is reset by the ER bit of the Command Instruction. OE does not inhibit operation of the 8251A, however, the previously overrun character is lost. FRAMING ERROR (Async only) - The FE flag is set when a valid Stop bit is not detected at the end of every character. It is reset by the ER bit of the Command Instruction. FE does not inhibit the operation of the 8251A. A framing error will be generated when the keyboard cable is not properly connected, or if certain hardware malfunctions occur in the keyboard. DATA SET READY - Indicates that the DSR is at a zero level. Used to read a manufacturing jumper. TxRDY status bit has different meanings from the TxRDY output pin. The former is not conditioned by -CTS and TxENi the latter is conditioned by both -CTS and TxEN. i.e., TxRDY status bit = DB Buffer Empty TxRDY pin out = DB Buffer Empty (-CTS=0) (TxEN=l) Note 2 TxE (Transmitter Empty) - When the 8251A has no characters to send, the TxEMPTY output will go "high". It resets upon receiving a character from the CPU if the transmitter is enabled. TxEMPTY remains low when the transmitter is disabled if it is actually empty. RxRDY (Receiver Ready) - This output indicates that the 8251A contains a character that is ready to be input to the CPU. RxRDY is connected to the interrupt structure of the CPU. For polled operation, the CPU can check the condition of RxRDY using a Status Read operation. RxEnable, when off, holds RxRDY in the Reset Condition. For Asynchronous mode, to set RxRDY, the Receiver must be enabled to sense a Start Bit and a complete character must be assembled and transferred to the Data Output Reg ister. Failure to read the received character from the Rx Data Output Register prior to the assembly of the next Rx Data character will set overrun condition error and the previous character will be written over and lost. If the Rx Data is being read by the CPU when the internal transfer is occurring, overrun error will be set and the old character will be lost. TxRDY (Transmitter Ready) - This output signalS the CPU that the transmitter is ready to accept a data character. The TxRDY output pin is used as an interrupt to the system, since it is masked by TxEnable. For Polled operation, the CPU can check TxRDY using a Status Read operation. TxRDY is automatically reset by the leading edge of -WR when a data character is loaded from the CPU. Note that when using the Polled operation, the TxRDY status bit is not masked by TxEnable, but will only indicate the Empty/Full Status of the Tx Data Input Register. Parity errors should not occur. A hardware or software problem exists if parity errors do occur. The keyboard generates an interrupt to the 8088 when either the TxRDY pin or the RxRDY pin is asserted. The interrupt is a type 26 Hex. PC199-B Specification 27-Feb-1984 Page 18 3.1.3.11 printer Port Interface - This is a general purpose printer port which provides an RS423 interface compatible with DEC printers. EIA signals supported are: o o o o Transmit Data Recei ve Da ta Data Terminal Ready Data Set Ready asserted Software programmable bit rates supported are: 1290 2400 4899 961iJ0 75 150 390 600 printer bit rates are selected by writing the following to 8088 port IiJEH: Data Bit 9-2 IiJ Bit Rate 75 159 300 600 1200 2400 481iJ1iJ 9600 1 2 3 4 5 6 7 Note Bi t 3 controls the communications port clock as follows: Source Internal External Value of Bit 3 o 1 The Printer Port is programmed to use a l6X baud rate clock input. Software-programmable character formats supported are 5-8 bits/character with 1, 1-1/2, or 2 stop bits/character. Parity may be selected as odd, even, or none. Software should support XON/XOFF restraint protocol, and DTR restraint protocol for this port. The D-type 25-pin female EIA printer connector physically resides on the mother board in the normal printer port location and attaches directly to a printer. DSR and CTS are always asserted. 3.1.4 MPSC OVerview The 72liJl Multi-protocol Serial Controller is a microcomputer peripheral device that supports Asynchronous (Start/Stop), Byte Synchronous (Monosync, IBM Bisync), and Bit Synchronous (ISO's HDLC, IBM's SDLC) protocols. This controller's flexible architecture allows implementation of many variations of these three protocols with low software and hardware overhead. PC199-B Specification 27-Feb-1984 Page 19 The Multi-Protocol Serial Controller (MPSC) implements two independent serial receiver/transmitter channels. The printer port uses one channel and the communications port uses the other channel. As implemented on the mother board, the MPSC supports two microprocessor interface options: Polled and Interrupt. 3.1.4.1 Asynchronous Operations, asynchronous mode, the MPSC must information: o o o o o o General Fo r operation in the be initialized with the following character length (WR3; D7, D6 and WR5; D6, D5) clock rate (WR4; D7, D6) number of stop bits (WR4; D3; D2) odd, even or no parity (WR4; Dl, D0) interrupt mode (WRl, WR2) receivero(WR3; D0) or transmitter (WR5; D3) enable When loading these parameters into the MPSC, WR4 information must be written before the WRl, WR3, WR5 parameters/commands. For transmission via a modem or RS423 interface, the Request To Send (RTS) (WR5; D1) and Data Terminal Ready (DTR) (WR5i D7) bits must be set along with the Transmit Enable bit (WR5; D3). setting the Auto Enables (WR3; D5) bit allows the programmer to send the first character of the message without waiting for a clear to send (CTS). Both the Framing Error and Receive Overrun Error flags are latched and cause an interrupt. If the External/Status Interrupt bit (WR1; D0) is enabled, Break Detect (RR0; D7) and Carrier Detect (RR0; D3) will cause an interrupt. Reset External/Status Interrupts (WR0; D5, D4, D3) will clear Break Detect and Carrier Detect bits if they are set. A status read after a data read will include error status for the next word in the buffer. If the Interrupt on First Character (WRl; D4, D3) is selected, then data and error status are held until an Error Reset command (WR0; D5, D4, D3) is given. If the Interrupt on Every Character Mode bit (WRl; D4, D3) is selected, the interrupt vector is different if there is an error status in RRl. When the character is read, the error status bit is set and the Special Receive Condition vector is returned if Status Affects vector (WRIB; D2) is selected. In a polled environment, the Receive Character Available bit (RR0; D0) must be monitored so that the CPU can determine when data is available. The bit is reset automatically when the data is read. If the Xl clock mode is selected, the bit synchroni zation must be accomplished externally. Refer to Figure 3. PC10'0'-B Specification D7 \ 27-Feb-1984 D6 -------- ------- ------WR3 -------- 0'13 0'1 10 11 RX RX RX RX 5 7 6 8 B/CHAR B/CHAR B/CHAR B/CHAR DS ------- AUTO ENABLES Page 20' D4 D3 D2 D1 0' 13 0' 0 D0' ------- ------- ------- ------- ------RX ENABLE --------------- ------- ------- ------- ------- ------- ------- 00 Xl CLOCK WR4 0'1 X16 CLOCK 10' X32 CLOCK 11 X64 CLOCK WRS DTR Note 1 00' 0'1 10' 11 TX TX TX TX 5 7 6 8 Figure 3. 13 0' bjCHAR b/CHAR b/CHAR b/CHAR SEND BREAK 130 ENABLE SYNC MODES 0'1 1 STOP BIT 10 1.5 STOP BIT 11 2 STOP BITS TX ENABLE 0' EVEN/ ODD PARITY PARITY ENABLE RTS Note 1 0' Asynchronous Mode Register Setup Note 1 These bits in MPSC register WRS not used. Refer to subhead 3.1.4.5.1 Communications Control Register. 3.1.4.2 Communications Port - This port is used to communicate to another computer. It has full modem support and supports the same signals as the VTl0'2. U.S. and European full- and half-duplex modems can be supported by this port. The port has ASYNC as well as BISYNC modes with a RS423 (V.24/V.28) physical interface conforming to CCITT V.21, V.22 and V.23. Break detection by this port is supported. 50' 75 110' l3 4.5 150' 20'0' 30'0' 60'0 1200' 1800 20'00 2400' 3600 480'0' 960'13 1920'0 Bit rates supported are: PC1SS-B Specification 27-Feb-1984 Page 21 Communications bit rates are selected by writing the following to 8088 port 06H: Nibble Data 0 1 2 3 4 5 6 7 8 9 A B C D E F H H H H H H H H H H H H H H H H Bit Rate 50 75 110 134.5 150 200 300 600 1200 1800 2000 2400 3600 4800 9600 19200 Percent Error o o o o o o o o +.14 o o -.17 +.46 +.46 +.46 -2.04 The low nibble of the data written to port 06H sets the transmit clock while the high nibble sets the receive clock. The Communications Port is programmed to use a 16X baud rate clock input. For example: Data 0AH written to 8088 port 06H would set the receive bit rate to 50 and the transmit bit rate to 2000. Bit 3 on port 0EH selects the comm port clocks (RxC, TxC). set; internal when reset. External .when Note Bit 0-2 on port 0EH controls the printer port bit rates. All bit rates are software selectable. Transmit and receive bit rates may be selected independently from the available bit rates. The ROM code supports VT102 emulation on this port. Signals supported are: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Receive Data Transmit Data Secondary Transmit Data Request to Send Secondary Request to Send Clear to Send Secondary Clear to Send Receive Line Signal Detect Secondary Receive Line Signal Detect/Speed Indicator (Bell 212A) Ring Indicator Data Set Ready Speed Select PC199-B Specification 27-Feb-1984 Page 22 3.1.4.3 Synchronous Operation - Mono Sync, Bi Sync, General - The MPSC must be initialized with the following parameters: o o o o o o o o Odd or even parity (WR4i 01, 00) Xl clock mode (WR4i 07, 06) 8- or 16-bit sync character (WR4i OS, 04) CRC polynomial (WR5i 02) Transmitter Enable (WR5i 03) Interrupt modes (WRl, WR2) Transmit character length (WR5i 06, 05) Receive character length (WR3i 07, 06 WR4 parameters must be written before WRl, WR3, WR5, WR6 and WR7. The data is transmitted on the falling edge of the Transmit Clock (TxC) and is received on the rising edge of Receive Clock (RxC). The Xl clock is used for both transmit and receive operations for all three sync modes: Mono, Bi and Ex ternal • -------WR3 -------WR4 07 06 -------1------------- ------- 00 01 10 11 RX RX RX RX 5 7 6 8 AUTO ENABLES ENTER HUNT MOOE RX CRC ENABLE 0 SYNC CHAR LOAO INHIBIT RX ENABLE PARITY ENABLE ------------- ------- ------- ------------EVEN/ 00 8 BIT SYNC -------1------o 0 01 16 BIT SYNC 000 PARITY 0 0 -------- ------WR5 B/CHAR B/CHAR B/CHAR B/CHAR ------- ------- ------- ------- ------- ------05 04 02 00 03 01 ------- ------- ------- ------- ------- ------- OTR Note 1 Figure 4. I 11 EXT SYNC ------- ------013 TX 5 131 TX 7 10 TX 6 11 TX B b/CHAR b/CHAR b/CHAR b/CHAR ------- ------SENO BREAK ------- ------- ------- 1 TX (SELECT RTS ENABLE CRC-16) Note 1 TX CRC ENABLE Synchronous Mode Register Setup -- Monosync, Bisync Note 1 These bits in MPSC register WR5 not used. Refer to subhead 3--:-1.4.5.1 Communications Control Register. 3.1.4.4 Synchronous Operation, SOLC, General - Like the other synchronous operations, the SOLC mode must be initialized with the following parameters: o o o o o o o o SOLC mode (WR4i OS, 04) SOLC polynomial (WR5i 02) Request to Send, Oata Terminal Ready, transmit character length (WR5i 06, 05) Interrupt modes (WRli WR2) Transmit enable (WR5i 03) Receive enable (WR3i 00) Auto enable (WR3i 05) External/status interrupt (WRli 013) Page 23 27-Feb-1984 PC100-B Specification WR4 parameters must be written before WRl, WR3, WRS, WR6 and WR7. D7 D6 -------1------------- ------WR3 00 01 10 11 RX RX RX RX 5 7 6 8 ------- ------DS D4 ------ENTER HUNT AUTO ENABLES MODE ------- B/CHAR B/CHAR b/CHAR b/CHAR -------1------WR4 -------- ------WRS DTR Note 1 --------1------- o D3 D2 -------1------------- ------RX CRC ENABLE D1 ADDRESS SEARCH MODE D0 RX ENABLE 1 (SELECTS SDLC/ HDLC MODE) ------- ------- ------00 TX< 6b/CHAR 0 01 TX 7 b/CHAR 10 TX 6 b/CHAR 11 TX 8 b/CHAR 0 0 0 ------- ------- ------- ------0 TX (SELECT RTS ENABLE SDLC Note 1 CRC) TX CRC ENABLE --------------- ------- ------- ------- ------- ------- Figure 5. Synchronous Mode Register Setup -- SOLC/HOLC Note 1 These bits in MPSC register WRS not used. Refer to subhead 3.1. 4. 5.1 Communication Control Register. 3.1.4.5 Modem Control Lines Several modem control signals are not implemented using the 7201 Multi-Protocol Serial Controller chip. These signals are implemented with the Communications Control Register and The Communications Status Register. 3.1.4.5.1 Communications Control Register The communications control register is an 8-bit write only register that controls the modem lines on the communications port. It also controls diagnostic error codes displayed by the four 8088 LEDs. This register is accessed by performing a write to address 02H. The register bit format is shown in Figure 6 and the bits are described in Table 1. 7 6 5 4 3 2 I 1 0 I 1- ADDRESS 02H (WO) COMM SPD SEL H COMM SRTS H COMM DTR L COMM RTS LED D6 (LSB) LED D3 LED D4 LED DS (MSB) Figure 6. Communications Control Register (8088) Format PCI00-B Specification 27-Feb-1984 Page 24 Table 1. Communications Control Register (8088) Bit Description Bit Name COMM SPD SEL H Description This bit controls the Speed Select line of the communications port. 1 COMM SRTS H This bit controls the Secondary Request To Send line of the communications port. 2 COMM DRT L This bit controls the Data Terminal Ready line of the communications port. 3 COMM RTS This bit controls the Request To Send line of the communications port. 4 LED (D6) This bit displays the least significant bit of the diagnostic error message code. When written with a 0, the LED lights. 5 LED (D3) This bit displays the second bit of the diagnostic error message code. When written with a 0, the LED lights. 6 LED (D4) This bit displays the third bit of the diagnostic error message code. When written with a 0, the LED lights. 7 LED (D 5) This bit displays the most significant bit of the diagnostic error message code. When written with a 0, the LED lights. 3.1.4.5.2 Communications Status Register - The Communications status Register is an 8-bit read only register that holds the status of the modem control lines for the communications port. It also serves as a status register for the special interprocessor interrupt lines and the status of the hardware failure detect enable signal. This register is accessed by performing a read to address 02H. The register bit format is shown in Figure 7 and the bits are described in Table 2. 7 6 5 2 I ADDRESS 02 H (RO) COMM RI ______ COMM SI/SCF __________ COMM DSR COMM CTS COMM RLSD ---------------- HDWRE FAILURE DETECT ENABL INT 88 L INT Z80 L 4 3 I I 0 1- Figure 7. Communications Status Register (8088 Format) PClgg-B Specification 27-Feb-1984 Page 25 Table 2. Communications Status Register (8gSS) Bit Description Blt Name COMM RI Descrlptlon This bit reflects the status of the Ring Indicator line of the communications port. 1 COMM SI/SCF This bit reflects the status of the Speed Ondicator line or the Secondary Receive Line Signal Detect of the communications port. 2 COMM DSR This bit reflects the status of the Data Set Ready line of the communications port. 3 COMM CTS This bit reflects the status of the Clear To Send line of the communications port. 4 COMM RLSD This bit reflects the status of the Feceive Line Signal Detect of the communications port. 5 HFD ENB L This bit reflects the status of Hardware Failure Detect Enable L. 6 INT 88 L This bit reflects the status of the INT 88 L bit that is asserted by the Z813A to interrupt the 81388, for interprocessor communications. 7 INT Z813 L This bit reflects the status of the INT Z813A L bit that is asserted by the 81388 to interrupt the Z813A for interprocessor communications. 3.1.5 ZSgA System The following describes the section of the system controlled directly by the Z813A. 3.1.5.1 ZSgA CPU - The module includes one Z80A microprocessor, which runs from a clock of 4.1312 MHz. The Z813A alone has access to the floppy disk interface and thus is responsible for controlling the floppy (via programmed I/O) for all applications. 3.1.5.2 Z8gA Shared Memory - The Z813A has available to it a 64KB RAM that is divided into 62KB shared and 2KB unshared memory. Accesses to the shared portion of memory select the corresponding address in the standard bank of 64KB RAMS. Accesses to the unshared memory select a private 2K x 8 byte-wide static RAM. If the shared RAM is "busy" at the time of a Z80A access, the Z813A will execute wait states until the RAM is free. The RAM is considered "busy" when an 81388 cycle or a refresh cycle is in progress or is pending. In addition to wait cycles due to contention, all Ml cycles from the shared RAM have one extra wait cycle due to the timing for this sort of machine cycle. PC199-B Specification 27-Feb-1.984 Page 26 In any case, the Z80A is held in a wait state for no longer than approximately two microseconds. If both processors are executing out of the shared memory, the Z80A cannot reliably access the floppy disk (for example, lost data errors will often result) • 3.1.5.3 Z80A Private RAM -.The 2 KB of unshared RAM may be accessed by the Z80A at any time without any wait states. 3.1.5.4 Z80A I/O Map - The following is the Z80A I/O map. PORT 00H 00H 20H 21H 2lH 40H 40H 60H 60H 6lH 62H 63H FUNCTION Clear Interrupt to Z80A (Read) Interrupts 8088 (Write) set ZFLIP Disk Diagnostic Read Register Disk Diagnostic write Register Disk Control Read Register Disk Control Write Register FDC Status Register FDC Control Register FOC Track Register FDC sector Register FDC Data Register Note RO WO Wo (See Note) RO WO (See Note) RO WO RO WO R/W R/W R/W The above Z80A I/O ports have a great number of alias addresses throughout the Z80A's 256 I/O port address space. Prudent programming practice precludes using any Z80A I/O port address that is not defined above. writing Diagnostic Write Register at address 2lH will reset ZFLIP. Writing the Diagnostic write Register at address 20H will set ZFLIP. Inadvertent use of these registers will likely cause program problems. 3.1.5.5 Z80A Memory Map - The Z80A memory map is shown in Figure 8. PC100-B Specification Page 27 27-Feb-1984 Z FLIPPED Z NOT FLIPPED FFFF 7FFF FFFF SHARED RAM SHARED RAM o 8000 FFFF FFFF 800 PRIVATE 8088 8800 800 8000 0 PRIVATE Z80 800 PRIVATE 8088 PRIVATE Z80 Figure 8. Z80A Memory Map 3.1.5.6 Z80A Cycle Time - The clock time on theZ80A is approximately 250 ns. Unshared memory accesses have no wait states. Shared memory accesses have wait states on Ml cycles and for cycles in which there is contention between devices accessing the shared RAM. Contention exists because of refresh cycles and 8088 cycles. 3.1.5.7 Z80A Interrupts - The only interrupts are interprocessor interrupts from the 8088 CPU. The vector placed on the bus is F7 (hex) which causes a RST 30 instruction to be executed in interrupt mode 0. 3.1.5.8 Floppy Controller Module - The floppy controller module is not optional. It is a separate module that connects to the mother board via J7. The interface is designed to control up to four 5-1/4 inch platters with one or two surfaces. The controller supports soft-sectored double-density diskettes using a PLL circuit. Single- or double-sided drives are supported. The interface adheres to drive capability and signal definition of the ANSI standard interface for mini-floppy drives. PC199-B Specification 27-Feb...,1984 Page 28 The floppy controller block diagram is shown in Figure 9. F L CPU CONTROL------------------------> FLOPPY DATA ---------->1 DATA SEPARATOR o 1----> !- I A DIAGNOSTIC LOOPBACK DATA >/ Z813 DATA BUS - PULSE SHAPER P P Y C T R ! +->-- -->1 WRITE PRECOMP ----> CONTROL SIGNALS -------->-+-------> L E R ----<------>---+------1 +-<-- STATUS -------<-------------------- DIAGNOSTICS BUFFER CONTROL LATCH AND DRIVE SELECT R F L o P P Y X 5 13 D I S <----+1 D R I V E R S K D R I V E -------------> +-<--I----~_~_~-~_~_~_--I<----------------------I--Figure 9. Floppy Controller Block Diagram 3.1.5.8.1 F1pppyDisk Controller Registers: .Z89A. 1. Command Register (Write Only) (Port Address 69 Hex) This 8-bit write-only register is loaded by the program with the command that is to be executed by the drive. A command summary follows: . PC199-B Specification Page 29 27-Feb-1984 Table 3. Command Summary Type Command 7 Restore Seek Step Step In Step Out Read Sector Wr i te Sector Read Address Force In terrupt I I I I I II II III IV 9 9 0 9 9 1 1 1 1 9 9 fa 1 1 9 9 1 1 4 5 6 9 9 1 9 1 9 1 9 9 9 1 u u u m m 9 1 Blts 9 3 2 1 h h h h h 9 9 9 I (3) v v v v v e e e I (2) r (1) r(l) r (1) r(l) r (1) 9 0 9 I (1) r(9) r(9) r(0) r(0) r(9) 9 a(9) fa I (0) Note Read Track supported. and write Track are not Flag Summary Type I Commands h v rl,r9 u = Head Load Flag (Bit 3) Verify Flag (Bit 2) Stepping Motor Rate (Bits Update Flag (Bit 4) 1~9) Type II and III Commands Multiple Record Flag (Bit 4) m a9 = Data Address Mark (Bit 9) e = 39 msec delay Type IV commands Ii = Interrupt Condition Flags For more detailed information on the meaning and purpose of these bits, refer to the System Module Functional Specification. Floppy Command Summary This module accepts nine commands for floppy disk control. See Table 3 for a comma.nd summary. Commands should only be loaded into the command register when the Busy status bit is off. The one exception is the Force Interrupt command. The Busy status bit is set when a command is executed. Type I Commands Type I commands are for head posi tioning. The stepping commands are dictated by the dr ive. Rl = 0 and R9 = 9 recommended stepping rate for the RXS9 drive. rate of these (6 ms) is the PC100-B Specification 27-Feb-l984 Page 30 The head load flag determines if the head is loaded at the beginning of the command. Otherwise, the head is loaded at the end of a command. The verification flag allows a verification operation to take place on the destination track. The verification consists of reading the first encountered 10 field off of the disk. The track address of the 10 field is compared to the Track Register. If there is a match and a valid ID CRC, the verification is complete. If not valid, the Seek error status bit in the FDC is set. The Step, Stepin, and Stepout commands contain an update flag for updating the track register when this bit is set after the step has been completed. Type II Commands The Type II commands are to read and write sectors to the disk. Prior to loading the Type II command into the Command register, the Sector register must be loaded with the desired sector number. Upon receipt of the command, the Busy status bit is set. If the e flag is set (normal case), the head is loaded and the HLT signal is sampled after 30 mSi otherwise, no delay is incurred after a command. The HLT does not become active until 500 ms after the head is loaded to allow the spindle motor to have time to accelerate. The FOC then attempts to find the 10 field with the specified track and sector. If the desired field is not found within five revolutions of the disk, the Record Not Found status bit is set. Otherwise, the command is executed by the FOC generating Data Requests (DRQS) for servicing the data register. Each of the Type II commands contain an m flag which determines if multiple sectors are to be read or written, depending on the command. When set, multiple sectors are read or written with the sector register internally updated for address verification on the next track. The FOC continues to do the transfers until the sector register exceeds the number of sectors on the track or until a force interrupt command is loaded into the command register. Note If the command is not terminated by software, the 1793 continues looking for five index pulses after the last sector on the disk has been read or written. If the Sector register exceeds the number of sectors on the track, the Record Not Found ISTER EXCEEDS THE NUMBER OF SECTORS ON THE TRACK, THE Record Not Found Status bit is set. When the head is loaded, the Busy status bit is set, and when an ID field is encountered that has the correct track, sector, side numbers and correct CRC, the data field is presented to the computer (read) or presented by the computer (write). PCI00-B Specification 27-Feb-1984 Page 31 At the end of the Read operation, the type of Data Address Mark encountered is recorded in the Status register (Bit 5). Ona Write operation, the a0 flag (Bit 0) determines the type of Data Address Mark to be written onto the disk. If set, a deleted data mark is written else a data mark is wri tten. Type III Commands The Read Address command is to read in the six bytes of the ID field (track number, side number, sector address, sector length, and two bytes of CRC). Type IV Command This command is to terminate an operation upon the specified condition in Bits 3-0. See Table 1, Command Summary, for descriptions of the termination conditions. Type I Command Bit Description 1. 2. Bit 0,1 - Stepping Rate Bits - These bits control the rate at which the stepping pulses are sent to the drive. Check the specifications for the drive in use to determine the drive's proper step rate. See the table above for stepping rate breakdown. Bit 2 - Track verify Bit - This bit determines if there is a veri fication operation to take place on the destination track. Dur ing ver ification, the head is loaded and after a 30-ms delay, the HLT input is sampled. After a 500-ms motor start up time, the HLT input becomes active. When HLT is true, the first ID field is read off the disk. The track address of the ID field is compared to the track reg ister. If there is a match and a val id ID CRC, the verification is complete and an interrupt is generated. If not valid, the seek error status is set. 3. Bit 3 - Head Load Flag - This bit determines if the head is to be loaded at the beg inning of a command. If the head is loaded then the head remains loaded until either the FDC receives a command that specifically disengages the head or 15 revolutions of the disk have passed with the busy bit = 0. 4. Bit 4 - Update Bit (Step Commands) - When set, the track register is updated by one for each step; otherwise the track register is not affected. 5. Bits 5-7 - Determine the command to be executed. PC199-B Specification 27-Feb-1984 Page 32 Type II Commands Bit Description 1. Bit 9 - Data Address Mark Bit - When set upon a write sector command, this bit defines a Data Mark (13FBH) to be written on the disk. If the bit is not set then a Deleted Data Mark (13F8H) is wri tten onto the disk. When writing valid data on the disk this bit should be set. 2. Bit 1 - Al ways 13. 3. Bit 2 - 313 Millisecond Delay Bit - When set during a command, there is a 313-ms delay before reading begins. For maximum controller throughput, this bit should be 13. I t should be set if the last command was a seek or new drive select. 4. Bit 3 - Always 13. 5. Bit 4 - Mul tiple sector Bi t sectors to be transferred. 6. Bits 5-7 - Determine the command to be executed. - When set, this bit allows mul tiple Type II I Command Bit Description 1. Bits 9,1 - Always set to 13. 2. Bit 2 - Same as Bit 2 for Type II commands. 3. Bits 3-7 - Determine the command to be executed. Type IV Command Bit Description This command can be loaded into the register at any time. If there is a current command under execution, the command is terminated. See Table 3 for a description of conditions upon which the command is terminated. 2. Status Register (Read Only) (Port Address 613 Hex) This read only register also resides at the same address as the command register. It contains the a-bit status resulting from the completion of a command. A description of the status bits follows. Type I Status Bit Description 7 6 5 4 3 2 1 13 I 1- Busy _ _ _ Index Track 13 ID Field CRC Error Seek Error -------------------- Head Loaded Write Protect --------------------------- Not Ready PC100-B Specification Page 33 27-Feb-1984 1. Bit 0 - Busy Bit - When this bit is true (1), the FOC is currently executing a command. Only a Type IV command can be issued when this condition exists. 2. Bit 1 - Index Bit - When this bit is true currently occurring. 3. Bit 2 - Track 0 Bit - When this bit is true head is currently positioned at track 0. 4. Bit 3 - 10 Field CRC Error Bit - When true, this means that there was a CRC error of the ID field. 5. Bit 4 - Seek Error Bit - When true, a seek error was encountered meaning that the destination track address was not found. 6. Bit 5 - Head Loaded Bit - This bit reflects the current status of the head. When set, the head is loaded and the HLT input is asserted. 7. Bit 6 - Wr i te Protect Bi t - When set, the bit means that the current disk is write protected. An attempt to write a sector generates an interrupt if the device interrupt enable bit is set. 8. Bit 7 - Not Ready Bit - When set, the bit indicates that the drive is not ready. This could mean that the drive is not up to speed, the disk is in upside down, or the door is open. This bit must be clear before any commands are issued to the FOC. (1), the index pulse is (1), the read/write Type II Read Sector Status Bit Description 7 6 5 4 3 210 I I 1-- ~____ - Busy Data Request Lost Data ID/Data Field CRC Error Record Not Found Error Record Type o Not Ready 1. Bit 9 - Busy Bit - Same as Type I status. 2. Bit 1 - Data Request Bit - This bit means that the data register is full and it is waiting for the CPU to read the register. 3. Bit 2 - Lost Data Bit - When set, ~t means that the data register had not been serviced within 27.0 microseconds and the data in the data register is not valid. 4. Bit 3 -ID/Data Field CRC Error Bit - When set, an error is found in one or more ID fields or the data field. This bit is reset when updated. 5. Bit 4 - Record Not Found Error Bit - When. equal to one, this bit means that a Data Address Mark was not found within 43 bytes of the last 'ID field CRC byte or it can indicate that the desired track, sector or side was not found. PC199~B Specification 27-Feb-1984 Page 34 6. Bit 5 - Record Type Bit - This bit reflects the type of Data Mark that was encountered during the read. When set a Deleted Data Mark was found. If clear, a Data Mark was encountered. 7. Bit 6 - Always set to 0. 8. Bit 7 - Not Ready Bit - Same as Type I Not Ready Status Bit. Type II Write Sector Status Bit Description 7 I 3. 6 5 4 3 2 I 1 I 0 1- Busy Data Request Lost Data CRC Error Record Not Found Error Wr ite Fault write Protect Not Ready 1. Bit 9 - Busy Bit - Same as Type I status Busy Bit. 2. Bit 1 - Data Request Bit - This bit means that the data register is empty and i t is wai ting for the CPU to write the reg i ster • 3. Bit 2 - Lost Data Bit - When set, it means that the data register had not been written within 23.0 microseconds and the data on the disk is not valid (zero bytes are substituted for data lost) • 4. Bit 3 - CRC Error Bit - When set, this bit indicates an error in one or more ID fields. This bit is reset when updated. 5. Bit 4 - Record Not Found Error Bit - When equal to one, this bit indicates that the desired track, sector or side was not found. 6. Bit 5 - write Fault Bit - Not implemented; should always be 0. 7. Bit 6 - Write Protect Bit - When this bit is set after a write command, then an attempt was made to write on a write protected disk. 8. Bit 7 - Not Ready Bit - Same as Type I Not Ready Status Bit Track Register (Port Address 61 Hex) This R/W 8-bit register holds the updated address of the current read/write head. It is incremented by one every time the head is stepped toward the spindle and decremented by one every time the head is stepped away from the spindle. The contents of the register are compared with the recorded track number in the ID field during disk read, write and verify operations. 4. Sector Register (Port Address 62 Hex) This read/write 8-bit register holds the address of the desired sector posi tion. The contents of. the register are compared with the recorded sector number in the ID field during disk read and write operations. PC199-B Specification 5. Page 35 27-Feb-1984 Data Register (Port Address 63 Hex) For a seek operation, this 8-bit read/write register holds the desired track position. During data transfers, this register is the data buffer for the disk. 3.1.5.8.2 General Control and Status Register Bit Description: Z89A This a-bit register holds various control information for the drive as well as the module. The lowest four bits are read/write while the upper four bits are read only. 3.1.5.9 General Floppy Control Register: Z89A - The following write-only register (Port Address 40 Hex) holds control lines used to select drives and write delay pre-comp values for the floppies. 1. Bits 9-1 - These bits control the selection of floppy drives. The binary values written to them (0 - 3) selects drive 0 through 3. Only 1 drive can be selected at a given time. 2. Bit 2 - Diagnostic READY override bit - When set, this bit asserts DRIVE READY to the 1793. 3. Bit 3 - This bit controls the MOTOR 0 ON bit. Turns on the motor on in the first drive unit. 4. Bit 4 - This bit controls the MOTOR 1 ON bit. Turns on the motor on in the second drive unit. 5. Bit 5 - This bit selects the SIDE of the disk to be accessed. single-sided drives, this bit is always set to a 0 for side 0. 6. Bits 6-7 - These binary bits are used to control the write delay pre-comp values. The following table lists the values for all tracks: (TG43) PCl PC9 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 For TRACK o- - 10 20 30 40 50 61 70 - 9 19 29 39 49 60 69 79 3.1.5.9.1 Drive Select Light Operation - The drive select logic is set up so that none of the drives are enabled on power-up. When a disk is installed, the door is closed, the drive is selected and either HEAD LOAD or MOTOR ON is asserted. Then the drive active indicator light illuminates, the head loads, and the motor turns on. Only one drive can be selected at a time. PCHJ/I-B Specification 27-Feb-1984 Page 36 The drive motors, on the other hand, are not gated with any signals. Each motor on signal can be activated independent of any other condition. The software never turns on both motors simultaneously. It is necessary to delay the start of the second selected motor for 500 ms after the start of the first motor. CAUTION When both drive motors are off, a MOTOR ON override must not be generated for the unse1ected dr ive. Due to a hardware idiosyncrasy, this causes both drive motors to turn on simultaneously. 3.1 5.1/1 General Floppy Status Register: Z811A - The following read-only reg ster (Port Address 40 Hex) holds the status of the RX50 drive lines com ng from the 1793 FDC and going to the floppy drive. 1. Bits /I-I - These bits read back the status of Bit 0 and 1 from the general floppy control reg ister. They indicate which drives have been selected. 2. Bit 2 - This bit reflects the status of the TRACK GREATER THAN 43 signal from the 1793 going to the floppy. 3. Bit 3 - This bit reflects the status of MOTOR ON 0 line at the floppy connector. The signal, when read as 0, indicates that the MOTOR ON 0 bit is set. 4. Bit 4 - This bit reflects the status of MOTOR ON 1 line at the floppy connector. The signal, when read as 0, indicates that the MOTOR ON 1 bit is set. 5. Bit 5 - This bit reflects the status of the side select signal at the floppy connector. 6. Bit 6 - This bit reflects the status of the INTERRUPT REQUEST signal coming from the 1793. This is used to indicate that a status bi t has changed. 7. Bit 7 - This bit reflects the status of the DATA REQUEST signal from the 1793. Used to indicate that the 1793 has read data to be transferred or requires new write data. PC1S0-B Specification page 37 27-Feb-1984 3.1.S.1S.1 Floppy Disk Controller Required Delays - The following describes required delays from one operation to the next operation: Operation Next Operation Delays Required (microseconds) Write to Command Register Read Busy Bit (status bit 13) 12 write to Command Register Read Status Bits 1-7 28 Write to Any Register Read from Different Reg ister Write to Track, sector or Same Register Read from Data Register write to Any Reg ister Interrupt Request Write to Another Register Read Status Register list 8 14 4 3.1.5.10.2 Floppy Disk Motor Speedup Detection - While writing to a sector on a disk, the opening or closing of the OTHER DRIVE I S door will cause a transient in the floppy spindle motor speed. This transient can make any sector being written at the time of the opening or closing to be not readable in all situations. The following procedure is recommended and is implemented in the BIOS of CP/M-86/813: Just pr ior to de-selected. selected and written to is writing a sector upon the disk, the drive being written to is The other drive IN THE SAME RX513 disk assembly is then the condition of the Ready bit is sampled. The disk being then selected again, and the write operation is performed. After the sector has been completed, the same operation is performed; the disk drive being written to is de-selected and the sister drive is selected. Ready is again sampled. If the condition of this bit had changed from the previous sample taken, then the sector must be re-written. 3.1.5.lS.3 Floppy Controller Head Load Timer Activation - The Head Load Timer can be fired only in the following circumstance: The Head Load Timer must not be already timing. This means that neither MOTOR ON bits (M13, Ml) are active, nor is the HEAD LOAD bi t (HLD). Upon the next occurence of any of these three bits, and the state of the drive is READY, then the Head Load Timer will be actuated. This timer puts a 51313-ms delay prior to HLT going true. PC199-B Specification 3.1.6 27-Feb-1984 Page 38 Mother Board Physical Dimensions The mother board is a modified quad module with the following connectors: JI J2 J3 J4 J5 J6 J7 J8 J9 JU Jll 3.2 Communications Connector Printer Connector Video/Keyboard Connector Extended Comms Connector Extended Comms Connector Memory Option Connector Graphics Option Connector Power Connector Floppy Controller Pin A/B Floppy Board C/O Floppy Board 25-pin 25-pin IS-pin 49-pin 49-pin 52-pin 49-pin 13-pin 49-pin 34-pin 34-pin D-male D-female D-male HEADER HEADER HEADER HEADER OPTION MODULES The following option modules will be supported by the Rainbow system: 3.2.1 Memory Option Description/Features The memory option for the PCI99-B allows the user to upgrade the system with an additional 64K to 768K bytes of memory. In addition to the 128K bytes of standard memory on the system module, a total of 896K bytes of available memory for the PCI99-B is possible. There are two basic types of memory options for the PCI99-B. two different variants. Each type has The 64KB and 192KB variants of the memory option use the same 59-class etch. The 128KB and 256KB var iants use the same 59-class etch. The 64KB and 192KB boards are not user upgradeable. The 128KB and 256KB boards are user upgradeable to a maximum of 768KB, using upgrade kits supplied by DEC. If installed, this memory is always available and never requires wait states, except when the memory cycle contends with a refresh cycle. The option is equipped with parity generation and a parity error detect circui t to notify the 8988 CPU in the event of a memory error. If such an error occurs, the memory option interrupts the 8988 CPU through a non-maskable interrupt. At this point the firmware takes the proper action to notify the user. 3.2.2 Extended Communications Option - Description/Features The extended communications option card is a major component of the PCI99-B system and is connected to the PCI99-B main module via standoffs. The purpose of the option is to add a second communications port to the PCI99-B with bit and byte synchronous capability. It also gives the PCI90-B a separate high-speed ser ial communications port to support cl uster ing and the addition of a high-speed file server. It has two 49-pin connectors through which it plugs into the system. PC199-B Specification Page 39 27-Feb-1984 The extended communications option functions in the following ways within the PC1913: 1. By means of the 8237 DMA Controller, block transfers data directionally between memory and the high-speed communications (72131 shared MPSC) while maintaining full interrupt support. transfer to memory is into the PC1913' s shared RAM only and into optional memory. 2. Distinguishes bit protocols at a clock rate of 722 kHz by means of the 7201 MPSC. 3. Provides an optional bisync port (72131 MPSC) the PCl1313's communication port. 4. Provides two complete serial communications controllers in a single 72131 MPSC package to: 5. bilink The not that is a subset of a. convert parallel data (from the processor) required by various protocols. to serial data, as b. Convert serial data streams of the protocols back to parallel data for the processor. c. Buffer incoming and outgoing data, allowing the processor time to respond. d. Insert and delete framing bits and characters. e. Calculate and check parity and check CRC error. f. g. In form CPU wha t actions need to be taken and when. Interface with outside world over discrete modem lines. control Uses a 72131 Bus Interface Controller to provide: a. Bus Control Logic (BCL), which determines the internal source or destination of data and control transfers between the MPSC and the processor bus. b. Interrupt Control Logic input requests and places an Interrupt Acknowledge interrupt feature has been c. DMA Control Logic (DMACL), which enables the MPSC to make a data transfer without interrupting the processor. DMACL accepts service requests (if they are prioritized) and, like ICL (in b above), places information on the data bus at appropr iate times. DMACL also accepts information from the data bus. When enabling the MPSC, DMACL activates an external controller to move data directly from the MPSC to memory or v ice versa. (ICL), which prioritizes internal information on the data bus during cycle (provided the MPSC vectored enabled) PC100-B Specification d. 27-Feb-1984 Clock and Reset Logic (C&RL), which controls the MPSC and is (usually) connected to the The extended communications option consists main components mounted on a printed circuit 1. 2. Page 40 timing states in processor clock. of the following board: A 5 MHz 8237 Direct Memory Access Controller (DMAC). A 7201 Multi-Protocol Serial Controller (MPSC) with the following features: a. A high- speed synchronous ser ial communications port with external clocks and RS422 differential drive capab i li ty. b. A general-purpose synchronous ser ial communications port, with RS423 drive capability, capable of supporting bisync modes. Refer to the Extended Communications Option Functional Specification for further information. 3.2.2.1 Reset Sequence For Extended Communications - The firmware will perform the following RESET function on the Extended Communications option upon power up, and any time that it has to handle an interrupt from the Extended Communications option: A write to 8088 port 27H will reset the option. 3.2.3 Graphics Option - Description/Features 3.2.3.1 Overview - The Graphics option is a bit mapped color graphics option which resides on a daughter board inside the Rainbow system box, and attaches to the Rainbow system board via a 40-pin connector, J7. The Graphics option will emulate VT240 functionality in both graphics and text handling. This includes, but is not limited to, the funcionality of the VT100, VT102, and VT125. 3.2.3.2 Graphics System Configurations Three distinct system configurations are possible, dependent on the selection of the monitor(s) and cable(s) that are chosen. These are as follows: a. Monochrome Graphics Configuration (VR201 only) b. Color Graphics Configuration (VR241 only) c. Monochrome and Color Graphics Configuration (VR201 and VR241) Refer to the Rainbow Graphics Module Specification, A-SP-5415688-0-DBP, for programming information. 3.2.3.2.1 Monochrome Graphics Configuration The monochrome graphics configuration uses the VR201 monitor and a BCC02 cable. These items are shipped as standard equipment with the base Rainbow System. In this configuration graphical output on the monitor is provided by selecting the "grey" bit map output from the graphics option module. This selection is made by a multiplexer that selects between the "grey" bit map output of the PC199-B Specification 27-Feb-1984 Page 41 graphics option module and the output of the DC011 and DC012 character cell video display controller subsystem on the motherboard. The default selection, upon power-up, is the DC011 and DC012 circuit. The graphics option module may be selected by setting bit 2 of 8088 I/O port 0AH. This should be done after the graphics option module has been programmed for proper screen format. To reselect the character celt v ideo display controller, bit 2 of I/O port 0AH should be reset to zero. 3.2.3.2.2 Color Graphics Configuration - In the color monitor only graphics configuration, a VR241 color moni tor and a BCC17 cable are used. These items are ordered separately from the base Rainbow System. In this configuration, graphical output on the color monitor is provided by the red, grey, and blue bit maps of the graphics option. The green bit map is not used, and must be filled with the value 0FFH. The "green" information is placed in the grey bit map. The green input of the color monitor is driven by the monochrome video output of the motherboard. The function of the monochrome output, and its ability to be multiplexed between the graphics option module and the OC011 and DC012 character cell video display controller, have been described in the previous section. The selection of the character cell video display controller, as described in the prev ious section 1 causes the textual information from the DC0l1 and DC012 to be displayed in green on the color monitor. When in the text mode, the red and blue bit maps of the graphics option must be disabled. 3.2.3.2.3 Monochrome and Color Graphics Configuration - The monochrome and color graphics configuration uses a VR201, a VR241, and a "y" cable (part number to be assigned). The VR201 monochrome monitor is dr iven by the monochrome video output from the motherboard. This is the only one of the two monitors that can display textual information from the DC0l1 and DC012 character cell video display controller. Graphical output to the monochrome monitor, from the grey bit map of the graphics option module is not supported in this configuration. The color monitor is driven by the red, green, and blue outputs of the graphics option module. Graphical information is placed in the red, green, and blue bit maps, respectively, of the option module. 3.2.3.3 Features - The Graphics option for Rainbow will support the following features: a. Medium resolution mode - 240 X 380 pixels X 4 planes b. High resolution mode - 240 X 800 pixels X 2 planes c. 16 simultaneous colors from a pallet of 4096 d. 9600 baud character throughput (hardware only) e. Smooth and jump split screen scrolling PC199-B Specification 27-Feb-1984 page 42 3.2.3.4 Differences From PC199-A to PC199-B Graphics Operation The PC199-B motherboard circuitry supports 16 shades (levels) of grey scale from the monochrome video output. The PC190-A motherboard circuitry supports 4 shades of grey scale. The difference is only detectable in the medium resolution mode; the performance is the same in high resolution mode. 3.2.4 Winchester Disk Storage Option 3.2.4.1 General Description The RCD5l-BA subsystem for the PC109-B consists of two assemblies: an RD5l-A 10 MByte Winchester Disk Drive, and a controller module. The RD5l Winchester drive is a low cost, random access, rotating memory device which stores 10 Mb of data in fixed length blocks on 5-1/4 inch (130 mm) rigid disk media, utilizing standard Winchester technology. The storage media is contained in the drive in a fixed non-operator removable configuration. The RD51 controller is a highly integrated module occupying the Extended Communication option .slot and has the capability of controlling one ST596 interface compatible Winchester drive. The controller architecture allows for subsystem extensibil i ty by hav ing sufficient track address and head select bits to support higher capacity drives when available, assuming interface and transfer rate remain unchanged. Connection between drive and controller is by a molded cable which interfaces 34-pin control and 20-pin data connectors. 3.2.4.2 Drive Characteristics 1. Performance Specifications Formatted capacity . Per drive Per surface Per track Per sector Sectors per track Transfer rate Access time Track to track Average seek Maximum seek Head Settle Rotational latency 10 MB 2.5 MB 8192 bytes 512 bytes 16 5M bi ts/sec 3 msec 85 msec, including settle 205 msec,including settle 15 msec B.33 msec average 16.7 msec maximum PC1SS-B Specification 2. page 43 27-Feb-1984 Functional Specifications Rotational speed Recording density Track densi ty Cylinders Tracks Disks Physical size Weight Power 5 Vdc + 5% 3600 rpm + 1% 9074 bpi 345 tpi 305 1220 2 5.75 inch wide x 3.25 inch high x 8.05 inch deep 5.0 Ibs. 50 mv peak-to-peak maximum ripple 75 mv peak-to-peak maximum ripple 0.7 ampere typical 1.0 ampere maximum 12 Vdc + 5% 1.8 ampere typical 3.5 amperes for 20 sec maximum Heat dissipation Environment Temperature Humidity Temp. Gr ad ien t 3.2.4.3 1. 25 watts typical 29 watts maximum 50 deg.F to 122 deg.F 20% to 80% relative humidity 20 deg. F/hr • Controller Characteristics Functional Specification Mechanical 3.9 inch x 12.8 inch module compatible with aft PC100 option slot. Power DC 5 Vdc + 5%, 50 mv ripple 1.5 ampere typical, 2.0 amperes maximum +12 Vdc + 5% 75 mv ripple .032 ampere typical, .05 ampere maximum Environment DEC STD 102 Class B Data Transfer Programmed transfer Full sector buffer Drives per controller Single drive PC199-B Specification Features 3.2.4.4 Page 44 27-Feb-1984 Buffered seek Field formatting capability ST506 compatible interface Track position status Fixed retries at 8 Field diagnostic circuitry Subsystem Product Specifications 1. Performance specifications Error rates 2. Soft Read Errors 1 per 1010 bits read Hard Read Er ror s 1 per 10 12 bits read Seek Errors 1 per 10 6 seeks Reliability Specifications MTBF 9K POH @ 50% duty cycle (11K POH Drv., l50K POH Cont.) MTTR Less than .5 hours Faul t isolation .95 probability of drive and controller isolating PCl~~-B Specification 4 RX5~ 4.1 GENERAL DESCRIPTION Page 45 27-Feb-1984 DRIVE The RX50 subsystem is a 5-l/4-inch flexible diskette drive and a single board controller which enables the PC100-B to store or retrieve information on one side of each front-loaded diskette. Each diskette can contain up to 409,600 8-bit bytes (formatted), allowing a total of 819,200 bytes of storage per device. 4.2 DRIVE CHARACTERISTICS No. No. No. No. No. No. of of of of of of recorded surfaces diskettes/drive tracks/surface sectors/track bytes/sector bits/byte Capacity (formatted) per drive per surface per track Access Time, track to track head load time, including settle time rotational latency random access drive motor start 2 2 80 10 512 8 819,200 bytes 409,600 bytes 5,120 bytes 6 ms, one track 30 ms. 100 ms 290 ms 500 ms max typical, 200 ms max. average max. Transfer rate 250K bytes/sec (average) Disk rotation 300 RPM + 1% , - Si ze 5.75 inch wide x 3.25 inch high x 8.5 inch deep VEight 3.8 pounds 4.3 TRACK FORMAT Each of the tracks is formatted as described below. Each data field is made up of 512 8-bi t bytes, with a total of 10 data fields or sectors, numbered 01 through 0A (hex) on each track. The following is a description of the track fields. PC199-B Specification Description No. of Bytes Pre ID gap ID Fields Sync Mark Header !DAM Track Address Side Number Sector Address Bytes/sector code CRC Pose !D gap Data Fields sync Mark Data DAM Data CRC Post amble Pre-index gap * Page 46 27-Feb-1984 Contents (HEX) 47 4E a 3 1 1 1 1 1 1 22 33 Al** FE Track no. (33-4F) 33 Sector n. (3l-3A) 32 Calculated header CRe code 4E 12 3 1 512 2 1 *73 33 Al** FB 23H Ca~culated data CRC code 33 4E This field is written once per track until an index field is encountered. ** The clock bit is missing between bits 4 and 5. Fields modified by a WRITE operation are: 4.4 1. The DATA SYNC field 2. The DATA MARK field 3. The DATA field 4. The DATA CRC field 5. The POST AMBLE field HEADER FORMAT The diskettes are pre-formatted with header data. cannot be modified or re-written by the system. up of seven a-bit bytes as follows: The header data fields The header field is made Byte 1:lD Address Mark (lDAM), FE (hex). This byte coupled with the ID SYNC FIELD and MARK field is decoded by the controller to identify the start of a header. Byte 2:Track Address. This is the absolute binary track address (33 to 4F hex). Each sector contains track address information to identify its radial position on 1 of 83 separate tracks. Byte 3:Zeros. Byte 4:Sector Address. This is the absolute binary sector address (31 to IJA hex). Each sector contains address information to identify its circumferential position on a track. There is no sector 33. PC199-B Specification Page 47 27-Feb-1984 Byte 5:Sector Length 92 hex. This byte specifies the number of bytes contained in one sector. The RX50 drive is formatted with 512 bytes per sector. Byte 6,7: These two bytes represent the cyclical redundancy check characters that are calculated from the first five header bytes. 5 PC199-B FIRMWARE Note References to the 7201 dual channel USART should be considered the same as an 8274 since the two IC parts are equivalent and used interchangeably. The PC100-B firmware includes two variations of VT102 emulation: "terminal" mode and "console" mode. "Terminal" mode enables PC100-B to act like a VT102 connected to a host computer via the communications port. The "console" mode enables PC100-B to act 1 ike a VT102 (without pr inter port and using FDX data leads only as a protocol) when running programs on the PC100-B. The firmware provides services to a "user" for console-out, console- in, console-in-status, enable/disable cursor, return version number, change interrupt vector map, ring the keyboard bell, line-at-a-time screen data transfers, initialize interrupt vectors, return clock rate, l6-bit "key data", and keyboard LED control. Communications and printer system in console mode. port drivers are supplied by the operating The firmware also provides self-test diagnostics and a minimal bootstrap loader for floppy disks or winchester hard disk option. 5.1 PRODUCT GOALS The PC100-B VT102 emulation runs a firmware program using the 8088 processor and looks to the user like a VT102. I t provides subfunctions in modules usable to other programs. These other programs need to be able to execute similar functions. The VT102 emulation processes incoming character strings in the same manner as a VT102. The VT102 emulation also returns characters to the host in a manner similar to that of VT102 given the same SET-UP environment. Differences between VT102 and PC100-B emulation of VT102 are listed below. VT52 emulation within the VT102 emulator performs as a VT102 (for example, VT102 emulation of VT52. includes most VT102 functions such as 132 columns, auto-wrap, split screen, double high, double wide, etc.). The basis for VT102 functionality is the VT102 engineering specification REV A (A-SP·-VT102-0-02 A) dated 0l-Aug-1981. PC199-B Specification Page 48 27-Feb-l984 5.1.1 Functional Anomalies The following is a list of deviations from VT102 functionality, variances with Terminals Interface Architecture (TIA) and other features of the firmware. 1. When printing from the screen in terminal mode and encountering a "blob" character, the VTl02 sends ASCI I "SUB" to the pr inter. The PC100-B sends the VT100 line-drawing graphics character "blob" bracketed by the appropr iate character set selection escape sequences, if required. Also PC100-B assumes the printer is capable of properly receiving 8-bit DEC STD 169 characters. 2. All 'break key' functions work with keyboard locked but they also cause the keyboard to unlock. 3. At the completion of a 'print cursor line' operation, PC100-B sends the escape str ing to restore the pr inters G0 char set in between the terminating carriage return and line feed. VT102 sends it after the line feed. 4. Locking the keyboard does stop an auto-repeat but unlocking the keyboard does not restart auto-repeat unless the original key is still the one held down. Any new key must be pressed after the keyboard is unlocked in order to have it auto-repeat. 5. When the SET-UP key is pressed to enter SET-UP mode in the PCI00-B, the key-holding buffer is cleared which causes any unserviced keys to be lost and SET-UP is immediately honored. 6. The printer port baud rate selection and the communications port external clock selection both reside in the same wr i te-only 8088 port. Selecting communications port external clocks can make the pr inter port baud rate incorrect and selecting pr inter port baud rates in SET-UP will de-select external clocks for communication. Also the break control bit for the 7201 is in the same write-only register as the number-of-data-bits. The firmware can read the NVM and set this properly for use with terminal mode. An application cannot do this. 7. PC100-B maintains wrap-pending flag unconditionally and tests it conditionally. VTl02 maintains the flag conditionally and tests it unconditionally. This affects where the next character goes when the auto-wrap mode is changed while the cursor is in the 'line-filled' position. 8. In PC100-B, the escape sequences to select alternate alternate ROM special graphics are parsed but ignored. 9. NVM defaults are not the same as VTl02 for the printer port. ROM and 10. PC100-B executes Cl control codes for index, next line, horizontal tab set, reverse index, single shift 2, single shift 3, control sequence introducer. Reception of any Cl control code will abort an escape sequence in process (CSI restarts an escape sequence). 8-bit graphic chars will be treated as if the 8th bit were 0 if received during an escape sequence. PC100-B Specification 27-Feb-1984 Page 49 11. PC100-B always sets insertion/replacement mode to replacement before saving into NVM. 12. The PC100-B accepts and acts on 8-bit character codes, the VT102 always strips the 8th bit. If 8-bit codes are received in VT52 mode they will be handled the same as in ANSI mode. 13. Shift out (CTRL/N) and shift in (CTRL/O) in VT52 mode will abort VT52 'graphics' operation if the char set selected is not the 'graphics' set. 14. Terminal mode print functions are implemented via the 'print screen' key on the PC100-B. VT102 uses the keypad 'enter' key. PC100-B 'print screen' is equivalent to VT102and PC100-B is equivalent to VT102 . 15. When hold-screen is in effect, all attempts to 'receive' a character will hang until hold-screen is removed. This includes selections from the opening menu, console out requests, data moves to screen display, terminal mode character reception. In terminal mode the receive buffer will continue to fill, but will not be emptied. When 'full', it will automatically send XOFF if enabled in SET-UP, otherwise, data will be lost if the host does not stop sending. The diagnostic routines in ROM have been given a separate entry to the display process that bypasses the 'hold screen' test. 16. The PC100-B will parse but ignore the escape sequences to set G0 and Gl to the alternate ROM and alternate ROM spec ial graphics ( ESC ( 1 , ESC ( 2 , ESC) 1 , ESC) 2 ). It will also parse but ignore the escape sequences to run self tests ( ESC [ 2 ; Pn y ) and the LED control ( ESC [ Pn q ). Also the device status report request ( ESC [ 5 n ) will always cause the ready, no malfunctions repl y ( ESC [ 0 n ) • 17. Serial line SET-UP selections of 7-bit mark and space actually use the 7201 in 8-bit no-parity mode. The mark/space aspect is handled by the firmware drivers in terminal mode. In console mode, the operating system drivers do not make this distinction and set-ups 7M and 7S are the same as 8N in console mode. 18. The HOLD SCREEN key on the PC100-B does not work the same as the NO SCROLL key on a VT102. On a VT102, it sends an XOFF/XON as it toggles back and forth and CTRL/S and CTRL/Q typed from the keyboard can be used to get the same effect. In PC100-B, setting HOLD SCREEN does not necessarily cause an XOFF to be sent. It sets an internal flag that causes the 'receive character' process to loop until the flag is cleared. This effectively 'hangs' any console output (normal or direct) in console mode. In terminal mode this 'hang' causes the comm receive buffer to fill up until it reaches the high water mark at which point it will send an XOFF if enabled by SET-UP. After the HOLD SCREEN is removed, characters are removed from the receive buffer until the low water mark is reached which causes XON to be sent if enabled. As a result of this method of implementation, PC100-B honors HOLD SCREEN even in 'local', VT102 does not. PC199-B Specification 27-Feb-1984 Page 50 19. PC100-B resets CAPS LOCK to 'lower case' any time the test) selection is made from the opening menu. '5' (self 20. The following keys generate escape sequences that end in characters which cause valid selections at opening menu time, cursor arrow keys will select drives to boot from and PF4 in the keypad will select self-test. 21. The PC100-B in VT52 mode honors the origin mode setting, VTl02 in VT52 mode does not. 22 •. In PC100-B, ESC c (reset to initial state) and cursor keys to their normal modes. 23. does not reset keypad In PC100-B, print screen while screen is 'held' is deferred until after 'hold' is removed and char being 'held' is processed. 24. In PC100-B terminal mode, after using 'hold-screen' on incoming data, the last char for display is being 'held'. Enter ing setup, swi tching to local, and exiting from setup does not clear the 'hold' state or the char. When 'hold' is finally removed, the char or ig inally being 'held' is displayed before any locally generated characters. 25. In PC100-B any noise on the printer port DTR line can cause an interrupt that will set a flag indicating a printer was once available. 26. In PC100-B, cursor key mode and keypad mode are independent. This agrees with the TIA spec but not the VT102. In the VT102 the cursor keys only send application codes if both cursor and keypad modes are set to 'application'. 27. In PC100-B the TAB character always clears the wrap-pend ing flag. This agrees with the TIA but not the VT102. As a result auto-wrap will not be the same if TAB is the 81st char in an 80 char line. Char 82 will not wrap but char 83 will. In a VT102, char 82 will wrap. 28. In PC100-B terminal mode, the second XOFF is sent at 'buffer-full'. In VT102 the second XOFF is sent 12 char before 'buffer-full'. Also the PC100-B buffer is 255 char in size, VT102 is 128. 29. PC100-B allows a tab stop in the first column, VT102 does not. 30. Function keys are not ignored when entering the answerback message and produce unpredictable results. 31. PC100-B aborts intermediate char VT102 aborts the final char so the display. escape sequence parsing when it finds an causing all following characters to be displayed. sequence but continues parsing until it finds a intervening part of the escape sequence does not 3.2. Due to differences in implementation and timing, the PC100-B and VT102 can have different transient appearances where the cursor is concerned. For example, the cursor ,may appear momentarily and/or in different locations when the same data is sent to both for display. PC100-B Specification Page 51 27-Feb-1984 33. In terminal mode, local, printer controller keyboard characters to the printer. mode does not send 34. Any printer related escape sequence (ANSI or VT52) or keyboard entry is ignored if the printer DTR signal is not asserted at the time. 35. Swi tching auto-xon/xoff after establishing contact can cause the 'terminal' to hang under the right conditions. Typing an xon (CTRL/Q) in these cases should clear the hung state. 5.2 PERFORMANCE The performance of the VT102 emulation is at least equal to that of the actual VT102. using pure text for data in jump scroll mode, the VTl02 emulation operates at 9600 baud unrestrained as a terminal. It is a goal for it to operate at 38.4K baud as a console. 5.3 NON-GOALS The non-goals for this program are: 1. Emulation of bugs in the VTl02 software. 2. SET-UP mode identical to that of the VTl02. 3. The VTl02 firmware excludes all VTl3l hooks. for editing, block mode transmit, protected linkage, etc. 4. All printer baud rates of VTl02 supported. 5.4 There is no support fields, option ROM GENERAL The firmware of the PC100-B provides the following services: 1. Power-up initialization of hardware 2. Self-test diagnostics 3. VT102 emulation - available in "terminal" and "console" modes 4. Image of Z80A RAM space to be loaded 5. Boot loader to read track 0, sector 1 of floppy or winchester disk 6. Opening menu selection process 7. Automatic shut-off of screen display after 30 minutes of non-use, and restoration of display on first activity (any keyboard key or received char) • 8. Support of the 15 keyboards supported by the Rainbow 100 product. 9. National language power-up and self test system messages, 10. National language Boot Menu, (PCl00-A) PCIgg-B Specification Page 52 27-Feb-I984 11. Implementation of the compose algorithm, 12. National language Set-ope 13. Choice of DEC 8-bit codes or national replacement characters The firmware is organized such that the VTl0'2 emulation primitives form the "console" functionality for use by "applications" through the interface layer. When in "terminal" mode a background loop is entered which calls on the "console" pr imi tives and adds the necessary functional i ty to provide full "terminal" mode. An interface layer is placed over the "console" primitives to provide an "application" with means of accessing those primitives. Note In "console" mode there is no support provided for the printer or the communication ports. This hardware (720'1) must be controlled directly by the operating system. For "applications" that need more immediate control of the hardware, services are provided to obtain "low leval" key information, enable/disable cursor, and transfer data directly to screen RAM. The interface between the "application" and using a software interrupt, with arguments registers. the firmware is implemented passed and returned in CPO This leads to a layered structure as diagrammed below. From the firmware view point, the operating system in this example is an "application". It can actually be anything, including another firmware routine. All entries to firmware routines from external processes are via a software interrupt. This makes the interface release- independent because ROM code loads the proper vectors during initialization. 81.388 side ---::---I-~~;~~~--I-------------so 1 j ---;~;;~;~~~----j SYSTEM ************* ***** **************** VT102 * * * 'TERMINAL' * INTERFACE LAYER X * * ************************************* So indicates sophisticated user ***** indicates located in ROM PC199-B Specification 5.4.1 Page 53 27-Feb-1984 Text Strings All text strings are located in a single section of the code space so they may be changed with no affect on ROM code (foreign languages). The text strings are accessed by a table of pointers which remains in a fixed location so routines do not need to know the exact text locations. This table and its associated text strings are in one ROM to minimize changes required for other language versions. The keyboard key-to-code mapping tables are also in this same ROM. The total amount of ROM space allotted to text strings cannot be increased. There is no restriction on individual string sizes, only total bytes used and order of messages. 5.4.2 Character Sets As with the VTlf32, the VTlf32 emulation supports the sets: UK, USASCII, and Special Graphics. following character The character generator ROM also contains the displayable right half of the DEC multinational character set, GR (shown as the DEC supplemental graphic set in DEC STD 169). These characters are accessed by direct writing of data into the screen via interrupt 413 calls or by reception of the corresponding 8-bit code. The character generator ROM also contains space for 31 additional displayable characters reserved for future use. The "console" VTlf32 accepts 8-bit character codes to display the alternate characters. The "terminal" VTlf32 accepts 7- or 8-bit codes (depending on comm port parameters) and displays characters based on character set mapping through escape sequences. The "console" also works with escape sequence character set mapping and 7-bit characters. It also accepts 8-bit Cl control codes for index, next line, horizontal tab set, reverse index, single shift 2, single shift 3, control sequence introducer. Any Cl control code will abort an escape sequence in process and CSI will restart it. Table 4 is a table of the characters and corresponding codes available in the PClf3f3B for display. The codes are actually a part of the address for the bit-map of that character in the character generator ROM. They are the upper 8 bits of the address; the lower 4 bits select the proper scan line wi thin the character. There are 6 unused "scan lines" at the end of each character (uses 113 out of 16) • / Note All undefined and reserved characters are indicated by a reversed question mark. PC199-B Specification Page 54 27-Feb-1984 Table 4. Displayable Characters and Corresponding Codes CHAR CODE IN RAM 8 BITS (HEX) CHAR CODE RCVD 7 BITS fiHJ ALL SF IH fiJ2 fiJ3 fiJ4 fiJ5 fiJ6 fiJ7 fiJ8 fiJ9 fiJA fiJB fiJC fiJD fiJE fiJF lfiJ 11 12 13 14 15 16 17 18 19 1A lB lC 6fiJ 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 7fiJ 71 72 73 74 75 76 77 78 79 7A 7B 2fiJ 7C 7D 23 7E 2fiJ 21 21 22 22 23 23 24 24 25 25 1D IE IF CHAR SET (DEFINES RULES FOR RCVD TO RAM TRANSLATE) SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS S PECL GRAPH ICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS S PECL GRAPH ICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS SPECL GRAPHICS UK SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS NAME OF CHARACTER NULL, IGNORED ON RCV, DISPLAYS A BLANK BLANK DIAMOND CHECKERBOARD (BLOB) HT (HORIZONTAL TAB) FF (FORM FEED) CR (CARRIAGE RETURN) LF (LINE FEED) DEGREE SYMBOL PLUS/MINUS SIGN NL (NEW LINE) VT (VERTICAL TAB) LOWER RIGHT CORNER UPPER RIGHT CORNER UPPER LEFT CORNER LOWER LEFT CORNER CROSSING LINES HORIZONTAL LINE, SCAN 1 HORIZONTAL LINE, SCAN 3 HORIZONTAL LINE, SCAN 5 HORIZONTAL LINE, SCAN 7 HORIZONTAL LINE, SCAN 9 LEFT 'T' RIGHT 'T' BOTTOM 'T' TOP 'T' VERTICAL BAR LESS-THAN OR EQUAL GREATER-THAN OR EQUAL PI SYMBOL NOT EQUAL SIGN U.K. POUND STERLING SIGN CENTERED DOT SPACE EXCLAMATION POINT DOUBLE QUOTES NUMBER SIGN (POUND SIGN) DOLLAR SIGN PER-CENT SIGN PCl~~-B Specification Page 55 27-Feb-1984 Table 4. Displayable Characters and Corresponding Codes CHAR CODE IN RAM 8 BITS (HEX) CHAR CODE RCVD 7 BITS 26 26 27 27 28 28 29 29 2A 2A 2B 2B 2C 2C 20 2D 2E 2E 2F 2F 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 3A 3A 3B 3B 3C 3C 3D 3D CHAR SET (DEFINES RULES FOR RCVD TO RAM TRANSLATE) UK!USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCI I SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCI I SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCI I SPECL GRAPHICS UK/USASCII SPECr, GRAPHICS UK/USASCI I SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCI I SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS (Continued) NAME OF CHARACTER AM PERSAND SIGN SINGLE QUOTE LEFT PARENTHESES RIGHT PARENTHESES ASTERISK SIGN PLUS SIGN COMMA DASH (MINUS SIGN) PERIOD SLASH (FRACTION BAR) NUMERAL 0 NUMERAL 1 NUMERAL 2 NUMERAL 3 NUMERAL 4 NUMERAL 5 NUMERAL 6 NUMERAL 7 NUMERAL 8 NUMERAL 9 COLON SEMI -COLON LEFT ANGLE BRACKET EQUALS SIGN PC199-B Specification Page 56 27-Feb-1984 Table 4. Displayable Characters and Corresponding Codes (Continued) CHAR CODE IN RAM 8 BITS (HEX) CHAR CODE RCVD 7 BITS 3E 3E 3F 3F 418 418 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 4A 4A 4B 4B 4C 4C 40 40 4E 4E 4F 4F 59 518 51 51 52 52 53 53 54 54 55 55 CHAR SET (DEFINES RULES FOR RCVD TO RAM TRANSLATE) UK/USASCI I SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCI I SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCI I SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCI I SPECL GRAPHICS UK/USASCI I SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCI I SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCI I SPECL GRAPHICS UK/USASCI I SPECL GRAPHICS NAME OF CHARACTER RIGHT ANGLE BRACKET QUESTION MARK AT SIGN CAPITAL A CAPITAL B CAPITAL C CAPITAL D CAPITAL E CAPITAL F CAPITAL G CAPITAL H CAPITAL I CAPITAL J CAPITAL K CAPITAL L CAPITAL M CAPITAL N CAPITAL 0 CAPITAL P CAPITAL Q CAPITAL R CAPITAL S CAPITAL T CAPITAL U PClOO-B Specification Page 57 27-Feb-l984 Table 4. Displayable Characters and Corresponding Codes (Continued) CHAR CODE IN RAM 8 BITS (HEX) CHAR CODE RCVD 7 BITS 56 56 57 57 58 58 59 59 5A 5A 58 58 5C 5C 5D 5D 5E 5E 5F 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 78 7C 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C CHAR SET (DEFINES RULES FOR RCVD TO RAM TRANSLATE) UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII SPECL GRAPHICS UK/USASCII UK/USASCU UK/USASCII UK/USASCII UK/USASCII UK/USASCII UK/USASCII UK/USASCII UK/USASCII UK/USASPI UK/USASCII UK/USASCII UK/USASCII UK/USASCII UK/USASCII UK/USASCII UK/USASCII UK/USASCII UK/USASCII UK/USASCII UK/USASCII UK/USASCII UK/USASCII UK/USASCII UK/USASCII UK/USASCII UK/USASCII UK/USASCII UK/USASCII NAME OF CHARACTER CAPITAL V CAPITAL W CAPITAL X CAPITAL Y CAPITAL Z LEFT SQUARE 8RACKETS BACK-SLASH RIGHT SQUARE 8RACKETS CIRCUMFLEX UNDERLINE ACCENT GRAVE LOWER CASE A LOWER CASE B LOWER CASE C LOWER CASE D LOWER CASE E LOWER CASE F LOWER CASE G LOWER CASE H LOWER CASE I LOWER CASE J LOWER CASE K LOWER CASE L LOWER CASE M LOWER CASE N LOWER CASE 0 LOWER CASE P LOWER CASE Q LOWER CASE R LOWER CASE S LOWER CASE T LOWER CASE U LOWER CASE V LOWER CASE W LOWER CASE X LOWER CASE Y LOWER CASE Z LEFT BRACES VERTICAL LINE (BROKEN) PCl99-B Specification Page 58 27-Feb-l9a4 Table 4. Displayable Characters and Corresponding Codes (Continued) CHAR CODE IN RAM 8 BITS (HEX) 70 7E 7F CHAR CODE RCVD 7 BITS 70 7E 7F CHAR SET (DEFINES RULES FOR RCVD TO RAM TRANSLATE) UK/USASCI I UK/USASCII ALL 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 80 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 90 9E 9F A0 Al A2 A3 A4 AS A6 A7 A8 A9 RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED RESERVED NAME OF CHARACTER RIGHT BRACES TILDE RESERVED FOR CHARACTER GENERATOR ROM CHECKSUM DISPLAYS JUNK, SHOULD NOT BE USED UNFILLED RECTANGLE FOR 'A UTO-B LANKED CURSOR' FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE FOR FUTURE USE NOT USED INVERTED EXCLAMATION POINT CENT SIGN U.K. POUND STERLING SIGN RESERVED (DEC STD 169) YEN SIGN RESERVED (DEC STD 169) SECTION SIGN GENERAL CURRENCY SIGN COPYRIGHT SIGN PCl00-B Specification Page 59 27-Feb-l984 Table 4. Displayable Characters and Corresponding Codes (Continued) CHAR CODE IN RAM 8 BITS (HEX) AA AB AC AD AE AF BIJ Bl B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF CIJ Cl C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF DIJ 01 02 D3 D4 D5 06 CHAR CODE RCVD 7 BITS CHAR SET (DEFINES RULES FOR RCVD TO RAM TRANSLATE) NAME OF CHARACTER FEMININE ORDINAL INDICATOR LEFT ANGLE QUOTATION MARKS RESERVED (DEC STD 169) RESERVED (DEC STD 169) RESERVED (DEC STD 169) RESERVED (DEC STD 169) DEGREE SIGN PLUS/MINUS SIGN SUPERSCRIPT 2 SUPERSCRIPT 3 RESERVED (DEC STD 169) MICRO SIGN PARAGRAPH SIGN, PILCROW MIDDLE DOT RESERVED (DEC STD 169) SUPERSCRIPT 1 MASCULINE ORDINAL INDICATOR RIGHT ANGLE QUOTATION MARK FRACTION 1/4 FRACTION 1/2 RESERVED (DEC STD 169) INVERTED QUESTION MARK CAPITAL A WITH GRAVE ACCENT CAPITAL A WITH ACUTE ACCENT CAPITAL A WITH CIRCUMFLEX ACCENT CAPITAL A WITH TILDE CAPITAL A WITH UMLAUT CAPITAL A WITH RING CAPITAL AE DIPTHONG CAPITAL C WITH CEDILLA CAPITAL E WITH GRAVE ACCENT CAPITAL E WITH ACUTE ACCENT CAPITAL E WITH CIRCUMFLEX ACCENT CAPITAL E WITH UMLAUT CAPITAL I WITH GRAVE ACCENT CAPITAL I WITH ACUTE ACCENT CAPITAL I WITH CIRCUMFLEX ACCENT CAPITAL I WITH UMLAUT RESERVED (DEC STD 169) CAPITAL N WITH TILDE CAPITAL 0 WITH GRAVE ACCENT CAPITAL 0 WITH ACUTE ACCENT CAPITAL 0 WITH CIRCUMFLEX ACCENT CAPITAL 0 WITH TILDE CAPITAL 0 WITH UMLAUT PC199-B Specification Page 60 27-Feb-1984 Table 4. Displayable Characters and Corresponding Codes (Continued) CHAR CODE IN RAM 8 BITS (HEX) D7 D8 D9 DA DB DC DD DE DF E9 El E2 E3 E4 ES E6 E7 E8 E9 EA EB EC ED EE EF F9 Fl F2 F3 F4 FS F6 F7 F8 F9 FA FB FC FD FE FF CHAR CODE RCVD 7 BITS CHAR SET (DEFINES RULES FOR RCVD TO RAM TRANSLATE) NAME OF CHARACTER CAPITAL OE DIPTHONG CAPITAL o WITH SLASH CAPITAL U WITH GRAVE ACCENT CAPITAL U WITH ACUTE ACCENT CAPITAL U WITH CIRCUMFLEX ACCENT CAPITAL U WITH UMLAUT CAPITAL Y WITH UMLAUT RESERVED (DEC STD 169) GERMAN SMALL SHARP S LOWER CASE A WITH GRAVE ACCENT LOWER CASE A WITH ACUTE ACCENT LOWER CASE A WITH CIRCUMFLEX ACCENT LOWER CASE A WITH TILDE LOWER CASE A WITH UMLAUT LOWER CASE A WITH RING LOWER CASE AE DIPTHONG LOWER CASE C WITH CEDILLA LOWER CASE E WITH GRAVE ACCENT LOWER CASE E WITH ACUTE ACCENT LOWER CASE E WITH CIRCUMFLEX ACCENT LOWER CASE E WITH UMLAUT LOWER CASE I WITH GRAVE ACCENT LOWER CASE I WITH ACUTE ACCENT LOWER CASE I WITH CIRCUMFLEX ACCENT LOWER CASE I WITH UMLAUT RESERVED (DEC STD 169) LOWER CASE N WITH TILDE LOWER CASE 0 WITH GRAVE ACCENT LOWER CASE 0 WITH AC UTE ACCENT LOWER CASE 0 WITH CIRCUMFLEX ACCENT LOWER CASE o WITH TILDE LOWER CASE o WITH UMLAUT LOWER CASE OE DIPTHONG LOWER CASE o WITH SLASH LOWER CASE U WITH GRAVE ACCENT LOWER CASE U WITH ACUTE ACCENT LOWER CASE U WITH CIRCUMFLEX ACCENT LOWER CASE U WITH UMLAUT LOWER CASE Y WITH UMLAUT RESERVED (DEC STD 169) NOT ALLOWED, THIS IS 'TERMINATION' CODE PC100-B Specification 5.5 27-Feb-1984 Page 61 START-UP/SHUT DOWN/RESET 5.5.1 Power-up Initialization This process initializes all the hardware, including any indicated EXPANSION RAM options and all the flags, pointers, etc. Power-up must also read in the contents of the NVM and configure itself accordingly. The NVM contains information on memory configuration for ~use by self-test diagnostics. It shows which 64K memory blocks are installed. Note NVM contents refers to the data stored in non-volatile memory, normally by means of the Set-up process, that affects the system operation as defined by the various parameters. The NVM consists of two elements, the non-volatile storage part and a vOlatile shadow RAM part. A recall operation transfers the contents of the non-volatile storage part to the shadow RAM part. A store operation transfers the contents of the shadow RAM part into the non-volatile storage part, destroying any previous contents. Data can only be transferred to/from the cpu from the shadow RAM part, and only when the NVM is not either in the recall or store modes of operation. A CRC is calculated and stored along with the shadow RAM data. This CRC is verified after any recall operation. If the CRC does not verify, the recovery procedure is: 1. A second recall is done. 2. If second recall is OK, continue as normal. 3. If second recall is also bad, it could be due to two reasons: 4. 5.5.2 a. first time ever used, contains random data b. bad NVM Put defaults into shadow RAM, store into NVM and display INITIALIZED TO DEFAULTS message and continue as normal. NVM Selection of Keyboard/Language The NVM maintains a binary valued variable that indicates whether or not a keyboard has been selected. This var iable is tested just before the opening menu is displayed. If a keyboard has been selected, then everything proceeds as normal using the keyboard and the implied language. If a keyboard has not been selected, a screen is displayed that allows the operator to make a keyboard selection. The operator may choose to skip the selection process which then uses the current language of the cluster. The selection process uses keys that are the same in all languages, arrow keys to make cho ice and I select I to make it happen. To change a keyboard selection after the initial selection is made the operator must enter Set-up, set the keyboard to I unselected I , save in NVM, and then reset the system to get the selection screen. Any error message that occurs when a PC199-B Specification 27-Feb-1984 Page 62 keyboard selection has not been made will appear in the default language of the current cluster. Error messages normally appear in the selected language. In Set-up, the choice of keyboard 'selected' or 'not selected' is the only selection the opera tor can make. Following a 'not selected' choice, the operator must save the set-ups into NVM and then reset the system to get the keyboard selection choices in order to select ci new keyboard or remain wi th 'not selected'. The defaul t is 'not selected'.< 5.5.3 Power-Off No attempt to do anything special is made on power-off. 5.5.4 Hardware Resetting The system resets similar to a VT102. Enter Set-up mode and press the Ctrl key and the Set-up key simultaneously. The resetting is accomplished by jumping to a separate location at the start of the self-test diagnostics. Entry at this point distinguishes it from a power-up start. This assumes the system is still capable of entering Set-up. If not, the only recovery is to cycle the power off and on. CAUTION Leaving interrupts disabled for 100 ms or more in the 8088 CPU causes the hardware failure detect circuitry to be activated. It is possible to disable the hardware failure detect circuitry, if it is mandatory to leave interrupts masked for a longer period of time. This procedure may adversely affect the video display and any real-time dependent system operations; use with care and discretion. The following is the correct proced ure: 1.) disable interrupts using a eLI instruction, 2.) disable the hardware fail ure detect circui t by wr i ting a 00H to 8088 I/O port 10C (hex). The hardware failure detect circuit will be re-enabled automatically, after the 8088 interrupt mask has been re-enabled, using the STI instruction. 5.5.5 RAM Parity Error When the expansion RAM is installed, a par i ty error activates the NMI input. The NMI causes the ram option fail ure message to be displayed on the screen and causes the bell to beep. No more options are allowed except to enter Set-Up and reset the system. If an operating system needs to handle parity errors itself, it takes over the NMI interrupt vector. PC199-B Specification 5.6 27-Feb-1984 Page 63 MEMORY-MAPPED VIDEO ACCESS SERVICE A "sophisticated user" accesses the screen/attribute RAM directly for fast data transfers. Note The character stored in the screen RAM by this process is actually a code (not necessar ily ASCII). This code is bits 4-11 of the address in the character generator ROM for the first scan line of the bit pattern of that character. The screen display is a linked list and there are several related tables, flags, and pointers that must be retained. It is imperative, then, that the "sophisticated user" follow certain restrictions when directly accessing the screen/attribute RAM. 1. In order to guarantee a known starting condition and remove all effects of scroll ing, double height, double width 1 ine, top and bottom marg ins, or ig in mode, and so on, the user must send the escape sequence to set the desired screen width. These also place the cursor at the top, left screen position and clear the screen. for 89 columns escape [ ? 3 1 for 132 columns escape [ ? 3 h (Note that a lower case L is used here.) 2. The standard escape sequences to position the cursor and set double height and width lines can be used. The user is responsible for keeping track of what lines have been modified so no attempt is made to put more characters on a line than it can hold. CAUTION Each 1 ine ends with a termination code and pointer to the next line. Video display hardware uses these in its operation. Destroying these val ues in either screen display or attribute space causes unpred ictable resul ts on the display. 3. Each character (data) screen position has a related attribute. When the screen width escape sequence initializes the screen, these attributes are all set to the "off" condition. PC100-B Specification 27-Feb-1984 Page 64 Bit assignments for character attributes are: Bit 0 Reverse Video normal reverse video 0 I Bit I 0 I Bit 2 0 Blink blink not blink I Bit 3 = o I 4. 5.7 Bold bold not bold Underscore underscore not underscore Contents of character locations can be changed at any time. However due to the way the cursor is implemented, attributes at the cursor position cannot be changed at will. When the user wishes to change the attributes of the character at the cursor position, he must use the DISABLE CURSOR function. This removes all cursorrelated attribute affects. After the attributes have been changed as desired, the user must use the ENABLE CURSOR function to restore the cursor to operation. See subheads 6.1.5 and 6.1.6 for these functions. KEY ACCESS SERVICES This allows a "sophisticated user" to obtain low level key data (for example, a code for left arrow instead of an escape sequence) to simplify the process of detecting special keys. If no key is waiting for detection a "no data" status is returned. Two different layers of access are provided. The lowest level (Levell) gives a unique 16-bit code for any key in combination with any or all of the Shift, Caps Lock, or Ctrl keys. It also identifies the function keys with a unique code (reference section 6.1.4). The highest level (Level 2) is the same as the VT102 generates, plus additional 8-bit codes for certain keys and foreign keyboards. Certain keys are trapped out for special processing and are never seen in the buffer. The following keys cannot be remapped: KEY POSITION Hold Screen Set-up Control Caps Lock Shift Keys Compose Character G99 G01 C99 C00 B99,B11 A99 Any other keys may be remapped by a "console" mode user. PC100-B Specification Page 65 27-Feb-1984 6 FUNCTIONAL DEFINITION 6.1 OPERATIONAL DESCRIPTION The VT102 emulation is always resident used even without working floppy disks. in the PC1(J0-B I s ROM, and can be The VT1(J2 "console" emulator must be completely interrupt driven. The "terminal" VT102 uses a "background" routine to add the add i t ional functions of printer port and modem protocols. The VT102 HDX modem protocols are not supported by the firmware. The VT1(J2 emulator must operate in two distinct modes. Terminal mode provides VTl02 capabilities. Console mode also has VT1(J2 capabilities with these exceptions: no printer port, no local echo, and modem protocol equivalent to full duplex data leads only. 6.2 CLUSTERING OF LANGUAGES The amount of character storage space required to include all language var iations in a single set of 128K bit ROMs is too great. Therefore, the languages are 'clustered I in 5 sets of 3 languages. Engl ish is part of all sets. The first set consists of English, French, and German. This set covers keyboards for U. S., UK, Ireland, Engl ish and French Canada, French Belgium, Germany, Austria, German and French, Switzerland, and France. This accounts for approximately 75% of the European market. The second set consists of English, Dutch, and French. The third set consists of English, Swedish and Finnish. The fourth set consists of English, Norwegian, and Danish. The fifth set consists of English, Italian, and Spanish. The keyboard selection 10 is stored in NVM. Two nibbles are assigned to the 10 to allow for expansion beyond 16 keyboard variations. The keyboard IDs and their associated languages are assigned as shown in Table 5. Table 5. Keyboard 10 Codes and Associated Languages SET 2 SET SET 1 3 4 SET 5 X X X X X X X X X X X X X X SET KEYBOARD 10 13 1 2 3 4 5 6 7 8 9 113 11 12 13 14 - US CANADIAN FR BRITISH FINNISH SWEDISH NORWEGIAN DANISH SPANISH GERMAN/AUSTRIAN SWISS FR SWISS GER DUTCH FLEMISH FRENCH ITALIAN LANGUAGE English French English Finnish Swedish Norweg ian Danish Spanish German French German Dutch Dutch French Italian X X X X X X X X X X X X PC100-B Specification 27-Feb-1984 Page 66 Tabl e 5 ID codes were chosen for best code efficiency in the keyboard translation process. A table is associated with each cluster ROM that defines the allowable keyboards and the associated relative languages for those keyboards. This enables the keyboard selection routine to allow all the choices with default languages assigned to keyboards whose natural language is not in the current cluster. Table 5 contains one entry for each of the 15 (or more) keyboards. Each entry contains a number which defines the 'relative language' for that keyboard. For example, in cluster 1, English is relative language 0, French is 1, German is 2. These relative language numbers are used as an index into a group of text strings that are for the same message. The text str ing s are bro ken into two types; those that are the same in all languages, and those that are different as a function of language. The' fixed' text strings are accessed in the same manner as currently used, pointer to 'tag name' in diagnostics and 'terminator count' in Set-Up. I f the string is different by language, it is accessed in diagnostics by counting terminators according to the 'relative language' in use after first getting the start of the group of strings by the usual method. The two groups of text types are kept together with the 'fixed' type first in order. The type of algorithm to use is then determined by comparing the string location pointer with the start address of the first of the 'different' strings. Set-up uses a method of counting string terminators to access a message. The 2-group approach works in Set-Up by multiplying the message number by the number of languages supported and then counting that number of terminators to get to the block of text strings for that message. Then the language index value advances that many more terminators to get the actual text string desired. This technique is independent of number of languages, size of strings, and allows for conservation of data space by extracting any common elements. 6.3 TRANSMITTED CHARACTERS The LK201 keyboard generates a code for each key which identi fies the physical location of that key on the keyboard. These position codes are converted to character codes by means of ROM-resident language tables. The ROM must be mapped by language to the keyboard (different keycap legends) • Two different types of codes are passed to routines requesting keyboard data. These types are designated as Levelland Level 2. Level 2 is the standard 7 bit codes transmitted by a VT102 with the addition of the DEC STD 169 multi-national character codes being sent in the context of the current language option. At Level 2 (terminal mode) all keys not defined in a normal VT102 send no code and cause the bell to beep. In console mode, level 2, the function keys not defined in a normal VT102 send escape sequences. Level 2 supports all the VT102 key-generated escape sequences (cursor and keypad keys) in the current key mode context (keypad numeric/application, cursor key normal/application). In addition foreign keyboard support incl udes a correspondence/data processing mode that allows up to four di fferent character codes per key. This mode is a Set-Up parameter and allows a foreign keyboard user to access key codes normally lost because of special character requirements. PC100-B Specification 6.3.1 27-Feb-1984 Page 67 Multi-National 8-Bit/National 7-Bit Character Selection The invoking of the a-bit/7-bit character translation is provided as part of the binary parameter field. The default is a-bit operation. The display for this Set-up parameter will be the 27th location in the major field marked 'PARAM SET'. The minor field display will be: CHAR CODES o DEc-a 7-bit 1 6.3.2 National 7-Bit Character Codes A shell is placed over the keyboard output function and the display input function tha t conditionally translates a-bi t/7-bi t character codes. The translation is dependent on the state of an NVM binary valued variable to select either a-bit multinational or 7-bit national language operation. The translation process only appl ies to the 'normal' console/terminal I/O paths; it does not apply to the extended console or 16-bit keyboard paths. Choice of the 7-bit National Replacement Characters (NRC) brings in a shell that performs the translation (i f required). There are two parts to the shell; keyboard input and video display. NRC character sets are keyboard related; there is one and only one NRC set available to a particular keyboard. The current mappings of keyboard to NRC are as follows: Keyboard AIDer ican French/Canada UK Finnish Swedish Norwegian Danish Spanish German Swiss/French Swiss/German Dutch Flemish French Italian NRC table to be used No table French/Canada UK Finnish Swedish Norweg ian Danish Spanish German Swiss Swiss Dutch French French Ital ian If there is no table, then no replacement will be attempted. 6.3.2.1 Keyboard Input Algorithm - No replacement is attempted i f we are in DEC a-bit mode. No replacement is attempted i f there is no NRC table associated with a keyboard. No replacement is attempted in escape or control sequences. If a 7-bit code is encountered, it is looked up in the NRC for the current keyboard. If it is found then no code is returned and the keyboard bell is rung. If it is not found the 7-bit code is sent as normal. If an a-bit code is encountered, it is looked up in the NRC for the current keyboard. If it is found it is replaced by the appropr iate PCl90-B Specification Paqe 68 27-Feb-l984 7-bit code, also found in the NRC table, and it is this 7-bit code which is returned as the character entered. If it is not found then no code is returned and the bell is rung as above. 6.3.2.2 video Display Algorithm - No replacement is attempted if we are in DEC 8-bit mode. No replacement is attempted if there is no NRC table associated with a keyboard. No replacement is attempted if the character set is other than USASC!I. If a replacement 7-bit code is encountered, it is looked up in the NRC for the current keyboard. If it is found, it is replaced by the appropriate 8-bit code, also found in the NRC table and it is this 8-bit code that is displayed. If it is not found, it is the 7-bit character which is displayed. If an 8-bit code is encountered, it is displayed as normal. NRC TABLES 1 French/Canadian. 7-bi t character 8-bi t character lower lower lower lower lower lower lower lower lower lower 2 case case case case case case case case case case a a c e e e i a u u with with with with with with with with with with grave circumflex cedilla grave acute circumflex circumflex circumflex grave circumflex [ \ } { 1 A 1 Finnish. 8-bi t character upper upper upper upper lower lower lower lower lower 3 @ A with umlaut A with ring 0 with umlaut U with umlaut a with umlaut a with ring e with acute a with umlaut u with umlaut 7-bit character [ 1 ~ { } 1 Swedish. 8-bit character upper upper upper upper upper lower lower lower lower E with acute A with umlaut A with ring 0 with umlaut U with umlaut a with umlaut a with ring e with acute a with umlaut 7-bit character @ [ 1 \ A { 1 PC1""-B Specification 3 Page 69 27-Feb-1984 Swedish (continued) 8-bit character 7-bit character lower u with umlaut 4 Norwegian/Danish. 8-bit character upper upper upper upper upper lower lower lower lower lower 5 A with umlaut A with ring AE dipthong o with slash U with umlaut a with umlaut a with ring ae dipthong 0 with slash u with umlaut inverted exclamation mark br itish pound section sign degree sign inverted question mark upper N with tilda lower c with cedilla lower n with tilda 1 [ \ } { 1 7-bit character [ # @ { 1 \ } I German. 8-bit character section sign upper A with upper 0 with upper U with sharp S8 lower a with lower 0 with lower u with 7 @ Spanish. 8-bit character 6 7-bit character 7-bit character @ umlaut umlaut umlaut [ \ 1 umlaut umlaut umlaut French. 8-bit character british pound section sign degree sign lower a with grave lower c with cedilla lower e with grave lower e with acute 7-bit character # 1 [ @ \ } { PC100-B Specification 7 Page 70 27-Feb-1984 French (continued) 8-bit character 7-bit character lower u with grave Umlaut sign 8 Italian. 8-bit character british pound section sign degree sign lower i with grave lower a with grave lower c with cedilla lower e with grave lower e with acute lower 0 with grave lower u with grave 9 7-bit character i @ [ { \ } ] J UK. 8-bit character 7-bit character Bri tish Pound sign 10 Swiss. 8-bit character small small small small small small small small small small small small 11 u a e c e i e o a with with with with with with with with with 0 with u with u with grave grave acute cedilla circumflex circumflex grave circumflex umlaut umlaut umlaut circumflex 7-bit character number sign, i commercial at, @ left square bracket, backslash, \ right square bracket, circumflex, underl ine, grave accent, , left curly bracket, { vertical line, I right curly bracket, } tilde, A Dutch. 8-bit character br i ti sh pound 3/4 sign * ij sign ** 1/2 sign vertical bar umlaut sign *** florin sign **** 1/4 sign acute accent 7-bit character # @ [ \ ] { ! PCl99-B Specification * ** *** **** The The The The 27-Feb-l984 Page 71 3/4 sign is displayed as a reverse question mark. ij sign is displayed as lower y with umlaut. umlaut sign is displayed as double quotes. florin sign is displayed as lower f. Note The 3/4, ij and florin signs are not in DEC STD 169 nor engraved on the Dutch keyboard and thus cannot be entered directly. Because the Dutch set replaces some 7-bit characters as well as 8-bit characters, the algorithm is slightly different. If the Dutch set is in use then the 8-bit table is searched. If the character is found, it is replaced; else the 7-bit part is searched. 6.3.3 Support For TIA Control Code Generation Using Number Keys The foreign keyboards have several symbols missing that are used on the domestic keyboard, in conj unction wi th to generate control codes. The TIA defined an alternate method for generating these control codes. The keyboard routine has been modified to use these keys (the number keys 2 through 8) in combination with the control key as specified by the TIA and shown below. This is implemented on all keyboards, including US, as per the TIA. Also, the shift/dependency to generate the control codes in the 'normal' way has been removed. For example, it is no longer necessary to type shift/tilde with control to generate the RS, only type the key containing tilde (as the shifted character). Key ASCII 2 3 4 5 6 7 8 6.3.4 NULL ESC FS GS RS US DEL Control Char 00H lBH lCH lDH lEH lFH 7FH Auto-Repeat Control Codes Generated By the Keyboard The keyboard algorithms are modified to allow control keys to auto-repeat. All keys will auto-repeat, if it is enabled, including those keys that generate control codes. The only time auto-repeating is not allowed is during compose sequences. Level 1 is only available to a sophisticated user in console mode. This provides a unique l6-bit code for any key in combination with the CAPS LOCK, SHIFT, and CONTROL keys with the following exceptions: Hold Screen - not available SET-UP - not available Compose character - not available PC100-B Specification 27-Feb-1984 The keyboard may be broken into several its own general characteristics. Page 72 functional key groups. Each has Note The following refers to the keyboard layout shown in the figure at the end of this section. This layout differs from a VT 102 keyboard. 6.3.5 Unseen Fixed Function Keys - Hold Screen, Set-up These keys,always provide the same function regardless of console terminal mode and are never provided to any level of output request. or 6.3.5.1 HOLD SCREEN POSITION unfreezes it (toggle mode) • or G99 Freezes the screen display Any attempt to output any character is blocked until Hold Screen is "off." May cause an XOFF to be sent in terminal mode if receive buffer reaches high water mark and auto XON/XOFF is enabled. This is equal to the NO SCROLL key on a VT102. Note If a program does not want to be 'hung up' by a display routine that is being blocked due to a 'hold screen' in effect, the user should test the state (available in SYSPAR) and put off "console out" until the user unblocks the display process by turning the Hold Screen off. 6.3.5.2 SET-UP - POSITION G01 - This causes entry to and exit from Set-up mode. A system reset occurs when the CONTROL key is pressed in combination with the Set-up key while in SET-UP mode. 6.3.5.3 COMPOSE CHARACTER POSITION A99 The compose algorithm, as described in DEC STD 169, will be implemented. However, the keyclick and bell specifications found in the standard may not be completely adhered to. 6.3.6 Fixed Function Keys LOCK, TAB, RETURN, DELETE ESCAPE, LINE FEED, BACKSPACE, SHIFT, CONTROL, These keys always prov ide the same function regardless of terminal mode and are provided to any level of output request. 6.3.6.1 ESCAPE - POSITION Gll escape character code, IB (hex). CAPS LOCK keys. console or Escape at all times generates the ASCII It is not affected by SHIFT, CONTROL, or PC1101O-B Specification 27-Feb-1984 Page 73 6.3.6.2 LINE FEED - POSITION G13 - Line feed at all times generates the ASCII line feed character code, OA (hex). I t is not affected by SHIFT, CONTROL, or CAPS LOCK keys. 6.3.6.3 BACKSPACE - POSITION G12 ASCII backspace character code, 108 CONTROL, or CAPS LOCK keys. Backspace at all times generates the (hex). It is not affected by SHIFT, 6.3.6.4 SHIFT (2 Keys) -POSITION B99, Bll - Shift at all levels causes a modification of the codes being generated by the alpha, numeric, and symbol keys. For alpha keys it sends the upper case code. The numeric and symbol keys send the code for the upper character shown on the keycap. If there are mul tiple upper and/or lower characters shown on the keycap, then the upper character/case is sen t accord ing to the correspondence/da ta processing mode in effect at the time. 6.3.6.5 CONTROL POSITION C99 Control at all levels causes a modification of the codes being generated by the alpha keys and some of the symbol keys and the space bar. Some of the symbol keys are only accessible with some foreign keyboards by using the data processing mode. The control codes remain associated with the keycap legend. If for example the alpha key for C is moved, a still generates the ETX code. 6.3.6.6 LOCK - POSITION CIOIO - Lock at all levels caupes selection of upper case for all alpha keys when "on." "On" state is irg'jicated when the LED marked "Lock" is lit. 6.3.6.6.1 CAPS-SHIFT LOCK FUNCTION - The handling of the shift/caps lock mode is determined by an NVM parameter. NVM contains a binary valued var iable that defines whether the • lock' key functions as a shi ft or ,caps lock. If shift lock, then all keys that have a shifted representation will generate the code for the shifted character. If caps lock, then only alphabetic keys will generate their shifted character code. The 25th bit in the PARAMETERS field of Set-up will be used as the shift/caps lock selector. When selected, this field will display the appropr iate text and allow the operator to modify the state. The lock mode choice of shift/caps lock is provided as part of the binary parameter field. The default is 'caps lock' mode. The display for this Set-up parameter will be the 25th location in the major field marked 'PARAM SET'. The minor field display will be LOCK 10 I MODE CAPS SHIFT 6.3.6.7 TAB POSITION D010 Tab at all times generates the ASCII horizontal tab code, 09 (hex). I t is not affected by SHIFT, CONTROL, or CAPS LOCK keys (except in SET-UP mode) • PC100-B Specification 6.3.6.8 RETURN - POSITION C13 carriage return code, 00 (hex). CAPS LOCK keys. Page 74 27-Feb-1984 Return at all times generates the ASCII It is not affected by SHIFT,CONTROL, or Note If NEW-LINE mode is selected, this will generate a CR LF combination. 6.3.6.9 DELETE - POSITION E13 delete character code, 7F (hex). CAPS LOCK keys. 6.3.7 key Delete at all times generates the ASCII It is not affected by SHIFT, CONTROL, or Alpha and Symbol Keys - POSITIONS E00-E12, 001-012, C01-C12, These are the Standard Keys affected by the SHIFT, B00-B10, CONTROL, and CAPS LOCK keys, as well as the correspondence/data processing mode. They are mapped to match the keycap legends according to the language being used. Note This requires use of the control key for those 'symbols' that generate control codes. Some foreign language keyboards may also require use of the 'data processing' keyboard mode (see SETUP) in order to select the desired 'symbol'. 6.3.8 Keypad Keys - POSITION E20-E23, 020-023, C20-C23, B20-B22, A21-A23 These keys act the same at Level 2 as in a VT102 except for the which is not used for pr int functions. Ei ther character codes sequences are generated depending on keypad numeric/application ANSI/VT52 mode. At Levell these keys are considered as function control/shift/caps lock flags are included in the 16-bit code. 6.3.9 Enter key or escape mode and keys, and Cursor Arrow Keys - POSITION C17, B16-B18 These keys act the same at Level 2 a s in a VT 102. Escape sequences are generated depending on cursor key normal/application mode and ANSI/VT52 mode. At Level 1 these keys are considered as function keys and the control/shift/caps lock flags are included in the 16-bit code. 6.3.10 Special Function Keys - PRINT SCREEN, BREAK These keys have a defined function in terminal mode. 6.3.10.1 Print Screen - POSITION G90 - In terminal mode Print Screen causes the contents of the screen to be sent to the attached printer. pressing causes the terminal to toggle back and forth between auto print "on" and "off". This key is used in place of the ENTER key on a VT102 for printer functions. PC100-B Specification Page 75 27-Feb-1984 6.3.10.2 FLAG FOR PRINT SCREEN KEY - In order to provide MS-DOS and others a means of detecting the 'print screen' key without using the 16-bit keyboard interface, a flag bit in location SYS PAR has been defined. The ROM code will set this flag when a 'print screen' key is detected in the process of extracting key data from the key buffer. The O/S or application is responsible for clearing this bit after it is detected and when the O/S or application is first started. The location of SYSPAR is at address EF00:FFE and the flag bit is bit 7. 6.3.10.3 PRINT SCREEN ESCAPE SEQUENCE - The been assigned to the 'print screen' key for appl ication to see when this key has application's responsibility to do the indicates the key has been activated. escape sequence ESC [ 1 2 - has use in console mode allowing an been depressed. It is the printing, the firmware only 6.3.10.4 BREAK KEY - POSITION GfB - In terminal mode the Break key acts just like in a VT102 including Shift-Break for a long break disconnect and Control-Break for a transmitted answerback message. In console mode, this key is considered a function key and is available at Level 1 or as an escape string at level 2. The control/shift/caps lock flags are included in the l6-bit code. The pressing of this key also sets a flag bit in the SYSPAR location. 6.3.11 Function Keys 016-018 POSITION G02, G0S-G09, G14-G16, G20-G23, E16-E18,- These keys are only available in console mode at either Level 1 or Level 2 (as escape sequences). The control/shift/caps lock flags are included in the 16-bit level 1 code. Note Some of these keys have functions within Set-Up mode: Help - position GlS Next Screen - position 018 Previous Screen - position 017 PC100-B Specification Page 76 27-Feb-1984 ESCAPE SEQUENCES GENERATED BY FUNCTION KEYS (all final characters 'tilde') • Name Pr int Screen F4 F6 F7 F8 F9 F10 F14 HELP DO F17 F18 F19 F20 FIND INSERT HERE REMOVE SELECT PREV SCREEN NEXT SCREEN position G@@ G@2 G@5 G@6 G@7 G@8 G@9 G14 G15 G16 G2@ G21 G22 G23 E16 E17 E18 016 017 018 ESC Sequence ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC The keyboard layout of the PCl@0-B is shown below. [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ 1 1 1 1 1 2 2 2 2 2 3 3 3 3 1 2 3 4 5 6 2 4 7 8 9 13 - 1 6 8 9 1 2 3 4 - - are PC100-B Specification 27-Feb-1984 Page 77 T--: CYRL H'tD SCIUM C99 SHIfT -t"'ln•.-~~~~ C99 PUIT 899 -r--- LOCK ico"pos£ --,--- ( BOO '99 --,-- ---rB02 ----r8tn 000 coo, E02 : : G02 i---.-i C02 : l ~i--££Ol G03 i-.---i I : :--V-: : DOl i - - - . - i 1-,--: -[0' --r-i i , co. , DO' ;~; :---r-: £os DOS : C06; ; 7 :--0--: --.- , B08 007 008 COB: 009 , B'O 'C10 : 0 E'O 011 -,-:] : 012 : ESCAPE Gll : 1---1 : , :---: i---i CHAI RETURN E'3 Dowl Up ARROW ARROW 8'7 C17 SELEct fIND 0'6 £'6 pity prrr-f SCIEEN 017 NEtT SCREEN 0'8 E' 8 020 E20 : LOCIt DO '_I -l---i F17 020 f' 8 82' C2' ,02' E2' 02' pFl .22 B22 C22 EIT£i A23 C23 022 "nUS SIG. 023 \_, : COMPOSE'-' Pf2 '2' 1-' : REMOVE: PFl C20 G15 ,---, HERE : [17 A.RROW 820 : iNsERT : RrCRt 8' 8 flO cu : IIROW : 8'6 LIIE fEED e'3 C13 : B.CK SPACE G'2 DELETE: C'2 811 n:trr'"T f'O e09 : l ;--.-; ;--.,.-;' E'2 \ 1---1 , - E 11 --.--;:----r--: [ , C" f9 G08 010 I fB G07 :-r-: : : SHIFT ;---; : : E09 : :~: ---:---: f7 G06 , i---r-l : 9 : --?- EOB :--0-: -:-r.---: i---i !~! , 8 , :--.-: C09: B09 ' [07 : I F6 GOS 6 :---r--: E06 --H-l 006 1--.-: C07 .09 ;__; cos: --.--: --.B07 BREAK c03 806 TO 2 002 ---,-- ----0-; '0' SET-UP GO' 80' -y- : : --.- BOS : , [01 --S- SCllEtN :-,--: :--w-: --r-: DO' C01 80' GOO [00 f'9 E22 022 PF' ---' E23 02] I fZO : PClgg-B Specification 6.4 Page 78 27-Feb-1984 RECEIVED CHARACTER PROCESSING 6.4.1 Received Character processing VT102 emulation responds to different characters and control sequences so as to duplicate the response of the VT102. The full description is found in section 8 (Terminal Control Functions) of the VT102 Engineering Specification. A summary follows. Reception of 8-bit control codes cause the same effect 2-character, 7-bit escape-FE equivalent had been received. as if the Note Reception of the 'RESET TO INITIAL STATE' escape sequence (ESC c) will also reset the 7201 serial line controller effectively disabling its interrupt structure. This escape sequence should not be used from wi thin an appl ication without restoring the interrupt structure. Normally the operating system is in control of the interrupts of the 7201 and an application will not know how to restructure the interrupts. Note Some operational capabilities are common to both terminal and console modes; others are not. These are noted below in the following format: 1. Those common to both are marked BOTH. 2. Differences are marked as either TERMINAL or CONSOLE. 6.4.2 ANSII Mode Control Functions BOTH These functions give the terminal its intelligence. group include: Examples in this 1. Cursor functions (Movement, positioning, 2. 3. Mode setting and resetting Line and character modes etc. ) 4. Terminal editing (Insert and delete line and character, etc.) 5. Terminal identify, test, and status 6. Terminal etc. ) characteristics (Bl ink (Key position reporting, etc.) character, underline character, autorepeat,linefeed/newline mode, PC100-B Specification 27-Feb-1984 Page 79 CONSOLE MODE No local echo, modem, or pr inter functions in "console" mode. 6.4.3 Operational Variations Some of the sequences listed in the previous section affect the terminal's operational mode. Examples ( incl ude VT52 or ANS I mode, smooth or jump scroll and the like. The escape sequence which normally causes a VT102 to execute self-tests are ignored and the status report always returns a "no problem" status. 6.4.4 Terminal Reports BOTH The host computer tells the VT102 emulator cursor position, status, and device attributes. to report its current TERMINAL MODE printer status reports occur only in Terminal Mode. 6.4.5 Terminal Reset BOTH The terminal also responds it to reset to its saved state. system reset which returns to set-ups, clears the screen, and 6.5 to a command from the computer which causes This is not the same as a keyboard entered the opening menu. This recalls the NW homes the cursor only. VT102 CONTROL OF ATTACHED DEVICES TERMINAL MODE VT102 emulation firmware printer and EIA modem as the VT102. has the same control over the CONSOLE MODE VT102 emulation firmware does printer and comm ports or EIA modern lines. not have control over the 6.5.1 Modern Control TERMINAL MODE Terminal Mode has full duplex capabilities: 1. data leads only 2. full modern 3. asymmetrical (requires special cable) Terminal Mode does not have half duplex capabilities. CONSOLE MODE In console mode the "appl ication" must control the comm port hardware directly. PC100-B Specification 6.5.2 27-Feb-1984 Page 80 Printer Control BOTH The baud rates available for the pr inter port are more 1 imi ted than VT102 baud rates. The available baud rates are: 75, 150, 300, 600, 1200, 2400, 4800, 9600. TERMINAL MODE VTl02 firmware contains code to control a serially connected printer in this mode only. The emulation supports the print screen and print cursor line commands, auto print mode, and printer control mode. CONSOLE MODE In Console Mode the printer is only "application" through direct control of the hardware. 6.6 accessible to an OTHER DIFFERENCES TERMINAL VS. CONSOLE MODES TERMINAL MODE This mode emulates a VT102, where keyboard characters go to the communication line, and communication line characters go to the display, plus all the printer support and Set-up and modern control, etc. Differences from a real VTl02 are due to differences in the keyboard (keys in different places), different numbers of and different labels for LEOs and more extensive Set-up information required (option ID' s, volumes of bell and click, etc.). Also, no support of HDX modern protocols is provided. CONSOLE MODE This mode acts I ike a VTl02 console (without modern control, local echo, or pr inter por t) to an appl ication, where keyboard characters go to the application, application characters go to the display, and the printer 1S under control of the application; the communication port is under control of the application. However, the VTl02 can still be put into Set-up mode and have its characteristics changed like a real console. Because there is no XON/XOFF between the "console VT102" and an application, both are running on the same CPU and/or in a single threaded environment. As a result the service routine hangs waiting for buffer space to become available (emptied by interrupt process) before returning to the calling routine. There are two accesss methods: 1. The "appl ication" accesses the VT102 "console" through the interface as though it were a serial line controller communicating over a high speed comm line. 2. A" sophisticated appl ication" may access the video display RAM through indirect write of the display/attribute memory. This bypasses normal VTl02 rcvd char processing. A" sophisticated user" also obtains 16-bit coded (level 1) key data to bypass escape sequence encoding/decoding needs. Note Level I and level 2 'character-available' status are not interchangeable, a level 2 character-available does not imply a level I character available. PC199-B Specification Page 81 27-Feb-1984 Wi thin the VTl02 emulation there from/to the interface layer. are routines to pass status and data within the VTl02 emulation, interrupts must not be disabled any longer than 459 microsec. This requires cautions on re-entrancy of routines that are shared and potential problems of not completing an interrupt handler that re-enables interrupts and then does not complete before it is called again. DATA FLOW DIAGRAMS FOR THE DIFFERENT MODES OF OPERATION 'TERMINAL' mode PRINTER <--------------all print functions bell KEYBOARD <-------------------------------------------------) APPLICATION DISPLAY SET-UP PROCESS Figure 19. ~Termina1' COMM or 'Console' Mode 'Off-line' PRINTER bell KEYBOARD <---------------------------------------------------) DISPLAY v APPLICATION SET-UP PROCESS Figure 11. 'Terminal' or 'Console' Mode 'Set-up' COMM PC199-B Specification Page 82 27-Feb-1984 PRINTER bell <-------------------------------------KEYBOARD local DISPLAY -------> I echo A I I V APPLICATION COMM SET-UP PROCESS Figure 12. 'Terminal' Mode 'On Line' No Printer Functions <-----------------------c if operator selects <--------------print screen PRINTER it takes precedence bell KEYBOARD <--------------------------------local -------> I DISPLAY echo I V APPLICATION SET-UP PROCESS COMM Figure 13. 'Terminal' Mode 'On Line' In 'Printer Controller' PC100-B Specification Page 83 27-Feb-1984 PRINTER <--------------- I bell KEYBOARD <-------------------------------------- DISPLAY ------------X blocked blocked X I APPLICATION SET-UP PROCESS COMM Figure 14. 'Terminal' Mode 'On Line' printing From Screen PRINTER A bell KEYBOARD <-------- ----------------------------------> DISPLAY I I I ------------------------------------I ~------------------------------------------------~ V V APPLICATION SET-UP PROCESS Figure 15. 'Console' Mode COMM PC1~~-B Specification 7 EXTERNAL INTERACTIONS 7.1 OPERATING SYSTEM 27-Feb-1984 Page 84 VT102 emulation allows access to its subroutines by the operating system. It does not require operating system services and runs without the use of disks. 7.2 STACK OVERHEAD Hardware interrupts and the attendant interrupt handlers impose a stack overhead on any program running at the time of the interrupt. The interrupt handlers swap to their own stack as soon as possible to minimize this overhead. However, it still requires three words due to the interrupt process itself (CS, IP, FLAGS) and the firmware pushes three 3 more words before it swaps to its own stack. Software interrupts do not swap stacks, and the user must provide sufficient stack space (plus hardware interrupt overhead). The amount of stack required is 25 words (plus hardware, total = 31). 7.3 STACK USE BY APPLICATIONS The firmware hardware interrupt handlers swap stacks, if required, so they always run on their own stack. Some of the handlers re-enable interrupts after this swap, but while still within the interrupt handler, so other interrupts are not held up. At the conclusion of the original firmware interrupt handler the stacks are swapped back to the original. There is a caution for 'application' interrupt handlers that expect to use the stack or registers to pass data between their interrupt handler and the main-line program. If the application interrupt occurs while still within the firmware interrupt handler then current stack and registers will not be preserved for main-line use. Application interrupt handlers must never use registers to pass data and must guarantee their own private stack if they are going to pass data on a stack. 8 VT102 8.1 SET-UP The non-volatile Set-up parameters are different from those in the VT102 due to hardware differences and system requirements. The non-volatile Set-up parameters that are the same as the VT102 are: PC100-B Specification Minor Field Page 85 27-Feb-1984 Major Field Default header on line on line/local mode 80/132 column mode parameter 80 tab stop bit map every 8 positions TABs scroll - SMOOTH/JUMP parameter smooth parameter auto repeat - ON/OFF on screen background parameter dark - LIGHT/DARK cursor - UNDERLINE/BLOCK parameter block parameter off margin bell - ON/OFF on parameter keyclick - ON/OFF parameter ANSI ANSI/VT52 parameter on * auto xon/xoff - ON/OFF parameter US US/UK char set auto wrap - ON/OFF parameter off parameter LF line feed/new line parameter * local echo - ON/OFF off * print termination parameter FF char - none/FF * print extent - ALL parameter SCREEN/SCROLLING REGION all comm stop bits - 1/2 parameter 1 * rcv parity check parameter on - ON/OFF * break enabled - ON/OFF parameter on * disconnect char enable parameter off - ON/OFF * disconnect delay parameter 2 sec - 60 MS/2 SEC * auto answerback enabled parameter off - ON/OFF 50/60 hz parameter 60 comm data/parity bits modem 7S comm xmit rate modem 9600 comm rcv rate modem 9600 * comm modem line discipline modem FDXA * disconnect char modem none answerback message - UP TO 20 CHAR (PLUS 2 DELIMITERS) answerback none printer data/parity bits printer 8N printer xmit/rcv rate printer 4800 Insertion/replacement mode is always saved as replacement mode. VT102 non-volatile parameters not included in the emulator are: screen brightness - NO SOFTWARE CONTROL WPS keyboard - NO KEYBOARD VARIATION FOR THIS HDX protocol related parameters PC199-B Specification 27-Feb-1984 Page 86 New non-volatile parameters to be added in emulator are: Minor Field Major Field bell vol ume keycl ick vol ume memory size installed automatic screen blanking after elapsed time - ON/OFF scroll rate for smooth scroll - 3,6,12 LINES/SEC AT 60HZ (slower at 50HZ) keyboard key assignments (for foreign language keyboard support) CORRESPONDENCE/DATA PROCESSING lock mode - CAPS/SHIFT keyboard selected - YES/NO character code mode - DEC-B/7-BIT auto-boot from drive - ?,A,B,C,D,W Default misc misc fixed header 7 (max) 7 (max) none parameter on mise 6 parameter parameter parameter parameter auto-boot correspondence caps no DEC-B ? (none) Legend * 8.1.1 only apply in terminal mode Set-up Display and Operation The Set-up displays consist of two major screen areas. One is fixed and the other variable as a function of what part of Set-up is used. The fixed part of the display, called the header, consists of the words shown below. TTTTT SSS EEE S E T EE T E T EEE T S S SSS XXX u u u u u u u u u u PPP P P PPP P P TO EXIT PRESS" SET-UP" PRESS "HELP" TO RESET TYPE 05.03A 12BK I ON LINE (or LOCAL) A I reverse video PCl~~-B Specification 27-Feb-1984 Page 87 Beneath the header is the variable area which is one of eight different displays called "major fields." On entering the Set-up mode, the tab settings major field is automatically displayed. There are two types of major fields. One type is accessed by stepping through them sequentially by means of the Next Screen and Previous Screen keys. The other type is entered directly at any time (almost) by means of the Help key (help field) and shifted A (answerback field). within some of the major fields are variable numbers of minor fields, one for each parameter selectable within that major field. Minor fields are stepped through by means of the left and right arrow keys. Except for 'HELP' and 'ANSWERBACK' fields, the following keys always have the same effect: SET-UP CTRL-SET-UP HELP NEXT SCREEN PREV SCREEN UPPER/LOWER CASE L UP-ARROW DOWN-ARROW SHIFT-S SHIFT-D SHIFT-R SHIFT-A exit set-up mode reset system enter/exit help field select next major field select preceeding major field toggle line/local state select next higher value select next lower value save current set-ups in NVM set current set-ups to defaults (does not save) recall saved set-ups from NVM enter answerback field 8.1.1.1 HELP Field - The help field is displayed by pressing the Help key. It is entered at any time except when already in the answerback field. It presents a short list of how to access the major sequential fields, minor fields, and how to change values. The only key honored while in "Help" is the Help key which causes an exit to the field displayed before entry to "Help." 8.1.1.2 ANSWERBACK Field - The answerback field is displayed at any time by pressing and holding the SHIFT key and then pressing the A key. The major field heading ANSWERBACK is displayed and beneath it "A =". The first character typed (and displayed) is a delimiter. Up to 2~ characters can be entered following the delimiter. The string automatically terminates after the 2~ characters or before that when a second delimiter entry is made. Any character can be entered in the answerback str ing, including NULL, DELETE, or CTRL characters. Normally non-printing control characters show as their related ASCII characters in reverse video. For example, ETX (control C) shows up as a reverse video C. Answerback is exited by typing the delimiter character a second time or by reaching the 2~ character entry 1 imit. Str ing entry errors can only be fixed by exiting answerback and re-entering to make a new string. The string is eliminated by making the first two characters the same (2 delimiters with nothing between) • 8.1.1.3 TAB SETTINGS Field - The tab setting field is displayed on entry to Set-Up. It consists of a row of numbers running repetitively from 1 through ~ with alternate groups of l~ shown in reverse video. The line above this row of numbers contains a variable number of the letter "T." 27-Feb-1984 PC100-B Specification Page 88 The location of the T symbol signifies that a tab stop is set at that point. There are 80 or 132 possible tab stops depending on the screen width setting in effect. A cursor shows the current active position. This cursor moves by means of the left and right arrow keys, Return (to start of line), Tab (to next "T" location), and the space bar(acts the same as right arrow). The "T" key (or up or down arrow keys) reverses the tab setting at the active position. In addition Ctrl Tab clears all tab stops and SHIFT TAB sets the default tab stops at every eighth position (beginning with the ninth position a T is displayed) • 8.1.1.4 PARAMETER MAJOR Field - The parameter major field displays all the Set-up parameters that have only two possible values (usually on/off). The parameters are shown as a row of l's and 0's with alternate groups of 4 shown in reverse video. The current active parameter is shown by a cursor. This cursor moves left and right by means of the left and right arrow keys, Return (to start of line) ,Tab, and space bar(acts the same as right arrow). As the cursor moves to a new position a field is displayed below the line tha t details the name of the parameter and what the 0 and 1 val ues mean. The 0 and 1 values are changed by means of the up and down arrow keys. Some of these parameters have an immediate affect if changed. Others do not take affect until exiting from Set-up mode. Changing to either 80 or 132 columns destroys the user's text display (normally it is preserved dur ing Set-up and restored on exit). S.1.1.5 MODEM Field - The modem field displays the parameters for the modem port (communications port). Some of these are only applicable in n terminal" mode. Each parameter has a range of possible val ues, and the field is shown as a list on the display as shown below. The active parameter is shown by a reverse video field. MODEM SN -->1 9600 DATA/PARITY 1 XMIT BAUD 9600 RCV BAUD FDXA PROTOCOL ---------------- reverse video The value of the active parameter changes by means of the up and down arrow keys which cause the parameter to step through its allowable values. The active parameter selection changes by means of the left and right ·arrow keys. Which moves the active field up and down the list of parameters. PC19~-B Specification 27-Feb-1984 page 89 8.1.1.6 PRINTER Field - The printer field displays the parameters for the printer port. The active parameter selection and value changes are the same as for the modem. 8.1.1.7 MISCELLANEOUS Field - The miscellaneous field is used to select the bell and key cl ick vol urnes and the smooth scroll rate. The active parameter selection and value changes are the same as for the modem. 8.1.1.8 Auto-boot Device Selection - The device will be stored in NVM as 1 of 6 different values, nothing selected (shown as '?'), A, B, C, D (for the 4 possible floppy drives), or W (for the winchester disk). The default is 'nothing selected' The major field heading will be 'AUTO-BOOT '. The minor field choices will be '?,A,B,C,D,W' which are selected by the up/down arrow keys. Example: AUTO-BOOT? = unit (when no device has been chosen) 8.1.1.9 Storing the Set-ups - The current contents of all the Set-Up fields, including any answerback message, are transfered to non-volatile storage by Pressing the SHIFT and "s" keys simultaneously (not while in HELP or ANSW~ERBACK) • Note Insertion/replacement mode is always set to replacement mode before saving is done. 8.1.1.19 Using Default SElt .. ups - ~U the Set-up fieldS are set to tpeir respective default cODoitions by pressing the SHIFT and "D" keys simul taneously (not while in HELP or A~SWERBACK). Defaults are 1 isted in section 5.1. Note This does not enter the defaults into non-volatile storage (must use "store"), but it causes the user's text to be erased from the screen and causes a line disconnect in "terminal" mode. 8.1.1.11 Recalling Stored Parameters The parameters stored in non-volatile storage are recalled for use by pressing the SHIFT and "R" keys simultaneously. This also causes the user's text to be erased from the screen and causes a line disconnect in "terminal" mode. Stored parameters are also automatically recalled at power-up, system reset, and reception of the RIS escape sequence ( ESC c ). RIS will also do a channelteset of the 72rn printer and communications ports destroying the mode and interrupt structure in use at the time. PC199-B Specification 8.2 27-Feb-1984 Page 99 RESET TECHNIQUE within Set-up mode a "reset" key combination (CONTROL SET-UP) causes a jump to the start of the self-test at a point which allows it to be distinguished from a power-up. 9 INTERFACE LAYER Functions provided by the sophisticated applications. 9.1 firmware for use by operating systems and SOFTWARE INTERRUPT TYPE 40 (DECIMAL) Function code is passed in DI. It is organized as 16 even number values for ease in using as table offsets to dispatch to service routines. FUNCTION COPES HEX o 2 4 6 8 A C E 113 12 14 16 18 lA lC IE CONSOLE OUT LEVEL 2 CONSOLE IN LEVEL 2 CONSOLE IN STATUS LEVEL 1 (16-BIT) CONSOLE IN DISABLE CURSOR ENABLE CURSOR INITIALIZE INTERRUPT VECTORS RETURN CLOCK RATE SET LEDs ON KEYBOARD CLEAR LEDs ON KEYBOARD SEND DATA TO SCREEN INIT 72131 TO NVM PARAMETERS RAW KEYBOARD DATA RETURN ROM VERSION NUMBER CHANGE INTERRUPT VECTOR MAP RING KEYBOARD BELL Note Only registers CS: , SS: , and DS: are preserved. All other general purpose and segment registers are not preserved. 9.1.1 Console Out ENTRY DI = 13 AL character characters) in ASCII (includes 8-bit multi-national PC100-B Specification 9.1.2 Page 91 Level 2 Console In ENTRY DI 2 EXIT Level 2 keyboard character if available returned status AL CL o= FF 9.1.3 27-Feb-1984 no character available is in AL = character Level 2 Console In Status ENTRY 01 4 EXIT CL returned status no character available FF = character is available o= Note Cannot be used to detect staus of level 1 character available. 9.1.4 Levell Console In ENTRY DI ExIT AX CL 6 l6-bit level 1 character returned status o = no character available = no character available due to Level 2 sequence not completed (previous key caused a string of level 2 characters to be generated. Level 2 buffer has not been emptied of this string yet.) FF = character is in AX RULES FOR LEVEL 1 CHARACTERS 1 AH AL 11 10 \ \ 9 \ 8 \ \ FUNCTION KEY FLAG 1 This is a function key. SHIFT FLAG shift key in effect 1 _________ CONTROL FLAG _____________ CAPS LOCK FLAG 1 control key in effect 1 = caps lock in effect PCI99-B Specification Page 92 27-Feb-1984 For non-function keys, the AL = character (including B-bit multi-national characters). The effect of shift/control/caps lock is already taken into account. For function keys, the AH follows: KEY CODE HEX (,J 1 2 3 5 7 9 B 0 F 11 13 15 17 19 IB 10 IF 21 23 25 27 29 2B 20 2F 32 35 3B 3B 3E 41 44 47 4A 40 5(,J 53 56 59 5C SF 62 65 = flag data and AL = function key code (ASCII) as KEY HELP DO not used PRINT SCREEN F4 F6 F7 FB F9 FI(,J F14 F17 FIB Fl9 F2(,J FIND INSERT HERE REMOVE SELECT PREV SCREEN NEXT SCREEN UP-ARROW DOWN-ARROW RIGHT-ARROW LEFT-ARROW KEYPAD (,J KEYPAD 1 KEYPAD 2 KEYPAD 3 KEYPAD 4 KEYPAD 5 KEYPAD 6 KEYPAD 7· KEYPAD B KEYPAD 9 KEYPAD DASH KEYPAD COMMA KEYPAD PERIOD KEYPAD ENTER KEYPAD PFI KEYPAD PF2 KEYPAD PF3 KEYPAD PF4 BREAK ( PC199-B Specification 9.1.5 27-Feb-1984 Page 93 Disable Cursor ENTRY 01 = 8 EXIT There is no cursor affect on attributes at cursor position. The cursor does not show on the screen. Note The disable and enable cursor functions are only to be used immediately preceding and following a function 14 that may attempt to set the attributes at the current cursor position. They can be used to make the cursor 'invisible' while it is moved around by other escape sequences or control characters. These functions must be used in pairs, first disable then enable. 9.1.6 Enable Cursor ENTRY 01 = A EXIT Cursor does affect attributes shows on the screen. 9.1.7 at cursor position. The cursor Initialize Interrupt vectors ENTRY DI EXIT =C The following firmware: interrupt types are modified for Type 2 NMI for RAM option parity error 32. 34. 35. 37. 38. 44. vertical frequency refresh graphics controller option OMA controller of extended coroms option 7201 of extended comms option keyboard 8251 time tick use by the In addition, the extended comms option and graphics option are reset to the disabled state. The extended comms option is reset by writing anything to 8088 port 27 hex. The graphics option is reset by toggling bit 0 of 8088 port 50 hex high to low to high. from PC199-B Specification Page 94 27-Feb-1984 Return Clock Rate 9.1.8 ENTRY 01 =E EXIT AL bit 13 clock rate 13 613 hz 1 513 hz set Keyboard LEOs 9.1.9 Set and clear LEOs are only for the indicators. They do not cause any action that may be implied by the label of the LED affected. Firmware normally maintains all LEOs in the proper state. ENTRY 01 = 113 AL = bit pattern of LEOs to turn on bit set to 1 = LED on 7 654 3 2 1 13 WAIT COMPOSE CAPS LOCK HOLD MUST BE 1 EXIT 9.1.19 LEOs as requested Clear Keyboard LEOs ENTRY 01 AL 12 bit pattern of LEOs to turn off bit set to 1 LED off 7 654 3 2 1 13 IJ IIIJJJJ , 1 - WAIT COMPOSE CAPS LOCK HOLD MUST BE 1 EXIT LEOs as requested PC199-B Specification 27-Feb-1984 Page 95 9.1.11 Send Data To Screen ENTRY DI AX BX BL BH 14 TRANSFER TYPE CHARACTERS AND ATTRIBUTES ATTRIBUTES ONLY 1 2 CHARACTERS ONLY 3 - FFFF = UNDEFINED o START LOCATION IN DISPLAY LINE NUMBER (1-24) COLUMN NUMBER (1-132) Note Maximum column number is a function of screen width (80,132) and line width (single ,double) CX NUMBER OF CHARACTERS/ATTRIB TO TRANSFER, IN BYTES Note User is responsible for limiting size of transfer so end-of-line is not exceeded. DX OFFEST TO START OF ATTRIBUTES RELATIVE TO USER'S DS: SI OFFSET TO START OF CHARACTERS RELATIVE TO USER'S DS: BP CHARACTER/ATTRIB SEGMENT COpy OF USER'S DS: USED FOR OFFSETS PASSED IN DX AND SI. Note Characters and attributes must be relative to same value of DS; this will not modify line attr ibutes, only character attributes. 9.1.12 Init 7291 To NVM Parameters NVM refers to current contents of the shadow RAM which are displayed in SET-UP. They are not necessarily the same as the currently saved SET-UP par ameter s • ENTRY DI = 16 DL = 0 FUNCTION 1. Does a channel reset on both channels A and B 2. Sets baud rates for modem and printer ports according to NVM 3. Loads 10 (hex) into write register 2A, and 0 .into write register 2B 4. Loads write registers 4A,B with X16 clock, parity/stop bits according to NVM for the port PC100-B Specification 5. 6. Loads wr i te reg isters acco rd i ng to NVM for the Loads wr i te reg ister s acco rd i ng to NVM for the Page 96 27-Feb-1984 3A,B with number of receive por t and enables receive 5A, B with number of transmit por t and enable transmit data bits data bits Note When data/parity is 7M or 7S, the 7201 is actually set for 8 data bits, no parity. 9.1.13 Raw Keyboard Data ENTRY DI = 18 This function is provided for diagnostics to test the keyboard and is only intended for that purpose. It is documented here for completeness. Note The SHIFT, CAPS LOCK, and CONTROL keys can only be read in conjunction with another key by looking at the flag bits inA H• Th e SET - UP key will no t b e detectable by a program, but an operator will see entry into set-up mode on the display. The HOLD SCREEN key will not be detectable by a program, but an operator will see the 'HOLD SCREEN' LED on the keyboard light up. EXIT CL o no key available 1 key available AL key location matrix code as defined in LK201 keyboard spec i fica t ion AH = flag bits as for function 6, level 1 console 9.1.14 Return ROM Version Number This function is provided for those programs that are hardware/ROM version dependant. It returns an ASCII text string of the form MM.mm L , where MM is the major version variation and mm is the minor version variation, L is the language variation and is the ASCII null character, 00. This is the same format as the 'hardware part' of the extended console function that returns software and hardware versions. It may be used by the BIOS to provide the hardware version part of that function. By creating an 'empty' buffer and requesting this function, software can tell whether or not this new function (and its companions) is supported when it does or does not 'fill in' the buffer. Internally the version number is kept in ROM as two separate str ings that are combined to produce the final result. ROM 0 contains an ASCII text string. of the form MM.mm and ROM 1 contains a string of BCD values that are added to the ROM 0 string on a per-character basis to provide the final result. By choosing the proper characters and values the overall version number can be set to any desired result. PC100-B Specification 27-Feb-1984 Page 97 EXAMPLE: '0 4 • - 7' o 1 0 3 -1 ROM 0 ASCII string ROM 1 BCD str ing '0 5 • 0 6' resultant version number The language variation comes from the keyboard selection stored in NVM. The language 10 character is the same as used in the 100A ROMs. It is obtained by using the keyboard 10, from NVM, code as an index into a list of characters such that the result is as shown in the following table. If a keyboard has not been assigned, the default 10 character is lower case x. Therefore the version number for the base level 1 ROM set, which does not have keyboard selection implemented as yet, is 04.01x. Keyboard 10 character AMERICAN CANADIAN/FRENCH UK FINNISH SWEDISH NORWEGIAN DANISH SPANISH GERMAN SWISS/FRENCH SWISS/GERMAN DUTCH BELGIAN/FLEMISH FRENCH ITALIAN Function Code 1A return A C E F M N 0 S G K L H B P I Description ROM (hardware) version number ENTRY 01 OX BP EXIT Buffer filled in with version text string as follows: DB DB DB DB DB DB DB DB lA address offset of B-byte buffer for returned version address segment of buffer ( i.e. buffer is at BP:DX) number in form of ASCII tens digit of ROM/hardware version number major part units digit of ROM/hardware version number major part period character as separator between parts tens digit of ROM/hardware version number minor part units digit of ROM/hardware version number minor part NULL separator character that identifies language variation NULL terminator PC199-B Specification 27-Feb-1984 Page 98 9.1.15 Change Interrupt vector Map The purpose of this function is to re-map the interrupt vectors to another block of addresses pr imar ily to resolve a confl ict with MS-DOS on vector usage. The format is such that it is expandable for the future if any future hardware allows for selectable vector space. In this implementation only 1 other vector block is supported. Also in this implementation, only 16 consecutive vectors are affected. The format supports future expansion. Function Code lC Oeser iption Remap interrupt vectors ENTRY DI = lC AL = vector number where transfer will begin from if AL = 13, then beg in from defaul t vector number AH vector number where transfer will go to if AH = 13, go to default vector number if AX 13, then only initialize default vector space For current (decimal) CX I f CX Rainbow 11313, the default vector number is 213 (hex), 32 number of vectors to be moved entry, exit with no changes made o on For current Rainbow 11313, the default number of vectors is 16 (decimal) For the PCl1313-B board, where this will first be implemented, the only supported capabilities will be: Move 16 vectors from default (213 HEX) AL 13 (or 213 HEX) AH A0 (HEX) CX 16 (decimal) to A0 (HEX) Move 16 vectors from A13(HEX) to defaul t AL A0 (HEX) AH 13 (or 213 HEX) CX 16 (decimal) (20 HEX) Note This will not relocate the time tick vector at 1013 (decimal), since it is unique to CP/M-86/80 BIOS and the firmware knows nothing about it, but it will relocate the time tick at 44 (dec imal) • EXIT CX = 0 to show successful remapping (this will serve as a quick check of support that can be used by software) Requested block of interrupt vectors copied to new location. Old block of vectors remains unchanged. Firmware interrupt related routines now use new vector locations for hardware and software interrupts. PC100-B Specification 27-Feb-1984 Page 99 9.1.16 Sound The Keyboard Bell The ringing of the keyboard bell required the user to use the normal console out data path. This function is to prov ide the bell function within the framework of the high performance data path. Function Code lE Description Ring the keyboard bell ENTRY 01 = lE 9.1.17 Get/Set The DEC-8/7-bit Character Code Usage Parameter In NVM The NVM parameter that determines usage of DEC-8 or national replacement 7-bit character codes is able to be read or set by an external user. Description Function Code 20H set/get DEC-8/7-bit character code state ENTRY 01 20H 1, for get function 0, for set function AH for set function AL = 0, for DEC-8 1, for 7-bit national replacement character codes EXIT for get function AL 19 = 0, for DEC-8 1, for 7-bit national replacement character codes IMAGE OF Za0 RAM SPACE TO BE LOADED Any routines that must be loaded into the Z80 space for it to run initially must be put there by the B0B B. The ROM must contain this code because it cannot be obtained from the floppy disk until after the floppy handler is loaded into the ZB0 and the interface to access the loader is also in place. This initial code must know how to take care of the 'flipped' ZB0 RAM addresses and relocate routines in the proper locations in RAM. 11 BOOT LOADER TO READ TRACK 0, SECTOR 1 OF FLOPPY The purpose of the boot loader is to get into memory a minimal routine which initiates the loading of the overall operating system. The boot loader accesses any available dr ive as selected by the opera tor from the opening menu. If an error occurs, an error message is displayed and the opening menu is re-displayed. PC100-B Specification 27-Feb-1984 The boot loader loads 512 bytes from the specified drive, tr.ack 0', sector 1 into the shared RAM beginning at address 1000 (hex) and jumps to it. If the loaded routine returns an error, the opening menu is re-displayed. The selected drive is available by examining the Z80drive select port (40 hex) which did the selection. The loaded data must be Z80' instructions. 11.1 BOOT PROCESS The boot process consists of the following steps: 1. Opera tor selects the dr ive to boot from by me.ans of the menu. 2. The 8088 passes control to the Z80' routine. The routine attempts to read track 0, sector 1 of the selected dr ive into address 1000 (hex) • 3. While the Z80' is attempting to read, the 8088 counts time monitors a semaphore location at 0:FFF (initially set to 0'). 4. If the semaphore does not change from 0 within approximately 10 seconds, there is some sort of major problem. The Z80 is stopped and the Z80 response failure message is displayed along with the open ing menu. The opera tor may then make a select ion from the menu. 5. If the Z80 routine detects a 'drive not ready' condition, it returns a value of 6 in the semaphore location. The 8088 displays the message 'Failure, drive not ready, consult your user guide' and redisplays the opening menu. A 'drive not ready' is caused when either a drive door is opened, no disk is in the drive, or when there is no drive in the system. 6. If the Z80 detects an error read ing track 0, sector 1 of the selected drive due to a seek or CRC error, it retries up to two more times. If all three attempts fail, the Z80 returns the value 2 in the semaphore location. The 80'88 displays the message ' Failure, boot loader, consult your user guide' and redisplays the opening menu. 7. If the Z80 successfully reads track 0, sector 1 of the selected drive, it checks the contents of address 1000 (hex). If this is not the Z80 code for disable interrupts (F3), the Z80' returns the val ue 4 in· the semaphore location. The 8088 displays the message 'Fa i1 ure, non-system disk, consult your user guide' and redisplays the. open ing menu. and Note This requires the Z80 code resident in track 0, sector 1 to beg in wi th a '01' instruction. 11.1.1 If the Z80 successfully reads track 9,; sector 1 of.the selected dr ive into address 10130 (hex), and the ·first byte is the '01' instruction, control transfers to this secondary boot by jumping to address 1000 (heX). 27-Feb-1984 PC199-B Specification page 191 Note The secondary boot is Z80 code. 11.1. 2 The secondary boot is responsible for load ing the remainder of the system. 11.1.3 If the loading process fails, control returns to the 8088 by placing the value 8 in the semaphore location. The 8088 displays the message "Failure, system loader, consult your user guide', halts the Z80, reloads the boot reading routine, and redisplays the opening menu. 11.1.4 When the loading process completes successfully, control passes to the 8088 by placing the value A (hex) in the semaphore location. The 8088 passes control to the loaded system by doing an indi.rect, intersegment, far jump via 0:FFB. Note The contents of four bytes, starting at 0:FFB, must be pre-loaded with the code segment and an offset of· the 8088 (system) start address: FFB, FFC contain IP FFD, FFE contain CS Note The selected drive is determined by reading the Z80 port 40 (hex), masking to read bits 9 and 1, and the drive selected is: Bit 9 Bit 1 Drive A 1 9 B 9 1 C 1 1 D 11.1. 5 When the menu choice is made, the screen is blanked by means of a hardware gate. This leaves the menu image still in display RAM, it just does not show. The loaded program should send escape strings to erase the screen and home the cursor, then unblank the display by writing an 83 (hex) to 8~88 port 0A (hex). This port should not be written to at any other time as it contains other bits which could cause maj or problems if they do not agree with an internally maintained copy of the port. The firmware properly maintains this port at all other times for NVM and Z89 control. PC100-B Specification page 102 27-Feb-1984 11.2 SUPPORT BOOT OF THE WINCHESTER DISK Booting from the Winchester disk will be supported in the Start-up menu. The selection item, for booting from the winchester disk, will always be displayed. If the winchester disk is not present, a system message will be displayed in response to attempting the boot. The boot process will only consist of reading in the Wini boot block and passing control to the loaded code. The loaded code is responsible for selecting the partition to use, etc. If the Wini option is not present the message 'Drive not ready' will be displayed. The boot loading process will be similar to that used for the floppy disk drives. Instead of being Z80 code it will be 8088 code and the first byte loaded at location l000H must be 90H (8088 NOP) • Since the 8088 is doing the remainder of the boot process (instead of the Z80), there is no time-out error detection required. If the 8088 loaded code goes off into limbo, the only recovery will be to reset the system. If it goes out in such a way as to prevent keyboard interrupts, the only recovery will be to cycle the power. The actual boot process consists of loading track 0, sector 1 from the Wini into address l000H. If this process fails the error message 'MESSAGE 11, system load incomplete' is displayed. If the first byte of the loaded code is not 90H, the error message 'MESSAGE 23, non-system diskette' is displayed. If the previous two steps are completed successfully, the firmware then does a far call to address l001H. If the loaded code or any code that it loads determines that there is some problem that requires terminating the process, it may execute a far return (using the original stack), in which case the firmware will regain control and the message 'MESSAGE 9, system load incomplete' is displayed and the opening menu is redisplayed allowing for another attempt or other choices. 12 MENU SELECTION PROCESS After initialization and self-test with a choice of things to do. (or reset), the operator is presented 1. VT102 terminal mode - system looks like a VT102 to a host connected to the communications port. 2. Boot operating system drive is selectable read in and start the operating system, 3. Run more extensive self-tests. 12.1 SUPPORT AUTO-BOOT ON POWER-UP OF A SELECTED DRIVE The operator will be able specify a specific disk drive to boot from automatically on power-up. A Set-up field will be defined for selection of the appropriate boot drive. Automatic booting will occur at power-up and on system reset if it is selected for in Set-Up. If the boot procedure cannot be successfully completed the Start-up menu will be displayed. The operator can select drives A, B, C, D, or the Hard Disk. Only the selected drive will accessed for the attempted boot. Multiple drives will not be searched. PC100-B Specification 13 27-Feb-1984 Page 103 SYSTEM PARAMETER INFORMATION This is a word of data which maintains bit flags which define the system state. It is used mainly by the firmware, but is defined here for use by special routines (e.g. 3277 emulator) that need to know about these parameters in order to avoid problems. Location Mnemonic - Syspar Address - EF00:FFE Bit Assignments Bit 0 - Emulator Mode flag o console mode 1 = terminal mode Bit 1 - On/Off Line flag o On Line 1 = Off Line, Local Bit 2 - Set-up Mode flag o normal 1 = in Set-up Bit 3 - Hold Screen Mode flag o normal 1 = Hold Screen in effect Bit 4 - Scroll In Process flag o normal 1 = smooth scroll in process Bits 5-6 reserved Bit 7 - print Screen Key flag o not pressed 1 = key pressed Bit 8 - Bundle Card Option present flag o option present 1 = option not present Bit 9 - Floppy Controller Board Present flag o = floppy present 1 = floppy not present Bit 10 - Graphics Option Present flag o graphics option present 1 = graphics option not present Bit 11 - Memory Option Present flag o PC100-A Style memory option present 1 = PC100-A Style memory option not present PC100-B Style memory option mayor may not be present (determined by firmware) Bits 12 - 15 reserved PC100-B Specification 14 27-Feb-1984 Page 104 DIAGNOSTIC AND MANUFACTURING SUPPORT 14.1 FIXED ENTRY POINT FOR MANUFACTURING ROM DIAGNOSTICS A fixed entry point for the external manufacturing ROM diagnostics has been provided by means of the existing indirection jump table structure. This guarantees that even though the future location of the ultimate re-entry to the diagnostic code may be different, by using a fixed location for a JMP to the final location, the overall resul t is a fixed location for the external routine to access. The address of this JMP instruction that will be maintained for all versions of the 100B ROMs is F400:0006. A far jump to this address will result in a near jump to label JSTSEG2, which is the desired re-entry to the diagnostics. 14.1.1 Head Load Timing Test The head load timing diagnostic test is modified for a low limit value of 230 to 475 ms. This is based on measurements of the RX50 and a plus/minus 10% tolerance. 14.1.2 Memory Diagnostic For Option Configurations The Power-up memory diagnostics test the lower 128KB of memory. The self-test memory diagnostics test the full memory configuration. At power-up, the diagnostics size memory. Memory is sized in 64KB increments. If the sized memory is identical to the memory size currently saved in NVM, the sizing terminates normally with no message. If the sized memory is different from that currently saved in NVM, the NVM contents will be changed to reflect the new memory size. A message will be placed on the Start-up menu screen in the upper left hand corner, informing the user of the new memory size. The user is not be allowed to explicitly change the memory size, contained in NVM, by means of set-up. Set-up displays the total memory size as part of its fixed header information. The default memory size is 128KB. The main Set-Up screen reflects the system memory size, as determined by start-up sizing code. 14.1.3 Memory Test and Initialize Routines The memory test is modified to account for 128KB of RAM in the base system and all the potential memory option sizes. I t will recognize the old RAM memory options (64 and 192 K) by the 'option present' hardware signal. The new RAM option is recognized by the presence of actual memory with the absence of the hardware 'option present' signal. The RAM initialization to set the parity is modified to account for the maximum memory configuration. If the memory si ze found does not agree with the si ze stored in NVM, the new size will be stored in NVM and a warning message will be displayed as part of the opening menu. The message will consist of the following string with the xxx part filled in with actual total memory size. New memory si ze = xxxK PC100-B Specification Page 105 27-Feb-1984 14.1.4 Set-up Algorithms For New Memory Sizes The main Set-up screen reflects the amount of memory in the system. The field will be informational only. The user may no longer set the memory field. The total memory size is displayed as xxxK on the line between the version number and the line/local status. 14.1.5 Memory parity option Test PC100-B memory parity starts at address parity testing at the l28K address. l28K. The memory tests start 14.1.6 Extended Initialization Of Option Memory Option memory must be wri tten to, to ini tiali ze the par i ty flag for each byte. The diagnostics are modified to initialize the extended option memory. 14.1.7 Staggered Power-Up Of Winchester and RX50 The power-up of the Wini and RX50 will be staggered so the power supply surge will be within limits. The Wini will be powered up along with all the rest of the system. The RX50 motor-on will not occur until up approximately 15 seconds later. 14.1.8 Error Message Storage In ROM The error messages have been modified to reduce the amount of text required. Each error message will consist of three parts: a fixed introductory part (See user's guide - message), a variable message number to define the specific problem, (nn,), and an optional text string to provide a general indication if appropriate. The optional text string defines the 'field replaceable unit' where the problem is occurring or be a reminder as in 'interrupts off'. This approach provides the knowledgeable user with a reminder and the new user with a reference message number which he can look up for detailed information on the problem. The following error message assignments have been made. The error numbers are the same as those used in the foreign language translations of the l00A to maintain a sense of continuity. Original English Text VIDEO UNSOLICITED INTERRUPTS INDEX PULSE MOTOR SPEED SEEK READ SECTOR RESTORE STEP SYSTEM LOAD VIDEO VFR BOOT LOAD NOT READY (dur ing sel f- test) New English Text MESSAGE MESSAGE MESSAGE MESSAGE MESSAGE MESSAGE MESSAGE MESSAGE MESSAGE MESSAGE MESSAGE MESSAGE l,main board 2,main board 3,drive A (or B as appropriate) 4,drive A ( or B as appropr iate) 5,drive A (or B as appropr iate) 6,drive A ( or B as appropriate) 7,drive A (or B as appropr iate) 8,drive A (or B as appropriate) 9,system load incomplete 10,main board ll,system load incomplete l2,drive not ready PC199-B Specification Original English Text KEYBOARD NVM DATA INTERRUPTS OFF VIDEO RAM Z80CRC RAM 0-64K UNSOLICITED INTERRUPTS Z80 NOT READY (during boot) REMOVE CARD OR DISKETTE NON-SYSTEM DISKETTE SET UP DEFAULTS STORED RAM ARBITRATION RAM OPTION RX50 CONTROLLER BOARD Z80 RESPONSE ROM CRC, ROM #0 ROM CRC, ROM #1 CONTENTION MAIN BOARD PRINTER PORT KEYBOARD PORT COMM PORT 15 27-Feb-1984 Page 196 New English Text MESSAGE 13,keyboard MESSAGE l4,main board MESSAGE l6,interrupts off MESSAGE l7,main board MESSAGE l8,main board MESSAGE 19,main board MESSAGE 20,main board MESSAGE 2l,drive not ready MESSAGE 22,remove card or diskette MESSAGE 23,non-system diskette MESSAGE 24,new memory size = xxxK MESSAGE 25,set up defaults stored MESSAGE 26,main board MESSAGE 27,memory board MESSAGE 28,RX50 controller board MESSAGE 29,main board MESSAGE 30,main board MESSAGE 3l,main board MESSAGE 33,contention MESSAGE 40,main board MESSAGE 50,main board MESSAGE 60,main board POWER SUPPLY The output connector on the power supply is a 13-pin in-line connector with the following pinout: 1 ACOK This signal indicates the presenc.e or absence of valid ac power entering the power supply. When valid ac power is present, this signal will be high (open circuit) and when the ac power is lower than the required minimum input voltage, this signal will be low (short circuit to logic ground) • Low State (ac power invalid): The voltage level of this signal is 0.45 volts maximum when sinking 2.0 milliamperes. High State (ac power valid): The voltage on this signal is pulled-up by external circuitry. When pulled up to 10.0 volts, the leakage current to logic ground shall be 25 microamperes maximum at the maximum external pull-up voltage of 10.0 volts. Transition Times: The rise time (10% to 90%) and fall time (90% to 10%) shall be 1.0 microsecond maximum. 2 VBIAS When the ac input power is within its valid range, this source has an open circuit voltage of 12.0 volts + 19% and a source impedance of 470 ohms + 10%. This signal is used for manufacturing to automate test monitoring via connecting the LED write signal through a jumper to this pin. PC190-B Specification 27-Feb-1984 Page 197 Power-Up: During power-up of the power supply, this source has an open circuit voltage of 8.0 volts minimum at the time when the dc output voltages start to increase from zero volts. Power Down: During power-down of the power supply, the voltage on this source decreases toward zero. Due to output loading variations, there is no definable relationship between the decay of this output and the decay of the dc output voltages. Note This pin, on the corresponding motherboard connector, is used for manufacturing diagnostics purposes. A jumper is installed to connect the motherboard circuitry to this pin, for the purpose of enabling this feature. Otherwise this pin appears as an open c ircui t on the motherboard. Should the jumper be installed and the power supply connected and operated, circuit damage to the motherboard could result. 3 Key This pin must be missing on the connectors. 4 -12V OUT Maximum Current -12 VDC, 0.0 amperes minimum to 0.35 amperes maximum Output 'Voltage variations: Total Tolerance + 7% Initial Tolerance + 3% Line Regulation + 1.5% Load Regulation + 4.0% 5.1 Volt Load Interaction + 3.0% Temperature Stability + 0.05%/C degrees Long Term Stability + 1%/1000 hrs Ripple and Noise 120 millivolts, peak to peak Short Circuit Current 3.0 amperes, maximum Overvoltage protection Range,Minimum Trip Point -13.0 Volts Absolute Maximum Output -15.0 Volts 5,6 +12.2V OUT Maximum Current +12 VDC, 0.9 ampere minimum to 6.7 amperes maximum, steady state 9.5 amperes maximum, transient(*) Output voltage Variations Total Tolerance + 6% Initial Tolerance + 2% Line Regulation + 1% Load Regulation + 3% 5.1 Volt Load Interaction + 3% Temperature Stability + 0.05 %/C degrees Long Term Stability + 1%/1000 hrs Ripple and Noise 75 millivolts, peak to peak PC100-B Specification 27-Feb-1984 Page 108 Overcurrent Trip point Minimum: 9.5 amperes (*) Maximum: 11.S amperes Short Circuit Current 4.0 amperes (maximum) Overvol tage protection Range: not appl icable 7,8,9 +5.1 10,11, 12,13 V OUT Maximum Current: +5 VDC amperes max imum Output voltage Variations: Total Tolerance Initial Tolerance Line Regulation Load Regulation 12.1 Volt Load Interaction Temperature Stability Long Term Stability Ripple and Noise Overcurrent Trip Point, 2.5 amperes minimum to 11.S + 6% + 2% + 1% + 3% + 3% + 0.0S%/C degrees + 1%/1000 h 50 millivolts, peak to peak minimum: 12.0 amperes max imum: 14.0 amperes Short Circuit Current: Overvol tage protection Range, Minimum trip point: Absolute maximum output: Voltage DC Power Return Signal Ground 8.0 amperes, maximum 5.80 volts 7.0 volts (*) - The +12.2 Volt output shall be capable of sourcing 9.S amperes for a transient of up to 300 mS. Continuous current draw at this level will damage the supply. 16 CONNECTOR OUTPUTS 16.1 VIDEO INTERFACE CONNECTOR This connector is a IS-pin D-type female connector supplying signals and power to the PC100-B monitor and keyboard with the pinout: pin 1 2 3 4 5,6 7,8 9 10 11 12 13 14 15 Name Red Shield Green Shield Blue Shield Mono Sh ield GND +12V Blue Green Red Mono video Not used KBD RCV data KBD TX data interface following Description Ground connector for red gun shield Ground connector for green gun shield Ground connector for bl ue gun shield Ground connector for monochrome video gun shield +12V returns +l2V DC to monitor and keyboard RS170 "like" composite red gun output RS170 "like" composi te green gun output RS170 "like" composite bl ue gun output RS170 "like" composi te monochrome video output RS423 serial data from keyboard RS423 serial data to keyboard PC100-B Specification 27-Feb-1984 Page 109 Note In a system configuration with a graphics option and color monitor only, the green gun of the color monitor would normally be connected to the monochrome video output, ra ther than the green v ideo output. 16.2 COMMUNICATIONS INTERFACE CONNECTOR pin Signal Description 1 2 3 4 5 6 7 8 9 10 Protective Ground Transmit Data Receive Data Request To Send Clear To Send Data Set Ready Signal Ground Receive Line Signal Det. Not Used Not Used Not Used Speed Indicator/Secondary Receive Line Signal Det. Not used Not used Send Clock Not Used Receive Clock Not Used Secondary Request To Send Data Term inal Ready Not Used Ring Ind ica tor Speed Select Not Used Not Used 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Mnemonic Direction PROT GND XMIT DATA REC DATA RTS CTS DSR GND RLSD N/U N/U N/U SI/SRLSD SEND eLK N/U REC CLK N/U SRTS DTR N/U RI SPDSEL N/U N/U 16.2.1 Communications Signal Descriptions Note The following terminology is interchangeably to describe communications signals: Negative voltage Posi tive Vol tage 1. 1 o used the Mark = OFF Space = ON protective Ground - This contact is connected to logic and chassis ground via a wire jumper, W17. This jumper may be cut out if local conditions require. PC100-B Specification 27-Feb-1984 Page 110 2. Signal Ground This circuit establishes the common ground reference potential for all interface circuits except protective ground. 3. Transmitted Data (output) Signals on the line represent the serially encoded characters that are transmitted from the communications port. This circuit is held in the marking state during intervals between characters and at all times when no data is being transmitted. 4. Receive Data (input) Signals on this serially-encoded characters to be received. 5. Request to Send (output) - Assertion of this signal indicates that the channel is ready for transmission. 6. Clear to Send (input) - When this signal is asserted, it indicates that the modem is ready for transmission. 7. Data Set Ready (input) - The on condition of DSR indicates that the modem is in data mode, and that the control signals asserted by the modem are val id • 8. Receive Line Signal Detector (input) - Also called Carrier Detect. The modem asserts this signal ON when the received signal is of sufficient quality and magnitude. 9. Data Terminal Ready (output) - This signal is turned ON whenever the channel is ready for transmission. circuit represent the 10. Ring Indicator (input) - The ON condition indicates that a ringing signal is being received from the comm line. 11. Speed Indicator (input) - This signal allows some modems to control channel bit rates. 12. Secondary Receive Line Signal Detect (input) - This circuit is used in half duplex coded control with reverse channel. Note Speed Ind ica tor and Secondary Rece i ve Line Signal Detect are two different uses of the same physical line. 13. Speed Select (output) - This signal allows the 8088 to control the modulation method of the modem to coincide with its selected bit rate. 14. Secondary Request to Send (output) - This signal is used for HDX restraint mode and Asymetric FDX Secondary Request to Send. 15. Secondary Clear to Send (input) - In FDX, this signal is the same as Clear to Send. In Asymetric FDX, it provides the functionality for the secondary channel. 16. Secondary Transmitted Data (output) - In FDX, this signal is the same as Transmitted Data, but when operating in Asymetric FDX, it provides functionality for the secondary channel. PC100-B Specification Page 111 27-Feb-1984 17. Send Clock (input) - This is the external transmit clock that is suppl ied by the modem substi tuted for the communication transmit clock when the synchronous select bit is set. 18. Receive Clock (input) - This is the external receive clock that is supplied by the modem substituted for the communication receive clock when the synchronous select bit is set. Note The Communications Interface connector is configured as Data Terminal Equipment (DTE) • 16.3 PRINTER PORT INTERFACE CONNECTOR Pin 1 2 3 5 6 7 20 Signal Description Protective Ground Receive Data Transmi t Data Clear to Send Data Set Ready Signal Ground Data Terminal Ready Mnemonic Direction PROT GND RXD TXD CTS DSR GND DTR -----Output Input Output * Output * -----Input Notes *This output is always asserted high. The Protective Ground contact is connected to logic and chassis ground via a wire jumper, W16. This jumper may be cut out if local conditions require. is The Printer Interface connector configured as Data Communications Equipment (DCE). PC1~0~B Specification 27-Feb-1984 Page 112 16.4 FLOPPY INTERFACE CONNECTOR Pin Signal Description 1 2 3 4 5 6 7 8 9 10 Ground Track greater than 43 Ground Not Used Ground Select 3 Ground Index Ground Select 0 Ground Select 1 Ground Select 2 Ground Motor On Ground Direction Ground Step Ground Write Data Ground Write Gate Ground Track 00 Ground Write Protect Ground Read Data Ground Side Select Ground Drive Ready 11 12 l3 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 Mnemonic GND TG43 GND N/U GND SEL3 L GND INDEX L GND SEL0 L GND SELl L GND SEL2 L GND MOTOR ON L GND DIR L GND STEP L GND WRT DATA L GND WG L GND TK00 L GND WRT PRT L GND RD DATA L GND Side OH GND READY L 16.4.1 Floppy Signal Descriptions 1. Select Unit 3 (output, pin 6) When asserted, this indicates that the current disk in position 3 is selected. 2. Index Pulse (input, pin 8) - This input informs the controller when the index hole is encountered on the diskette. Minimum pulse width is 20 microseconds. Select Unit 2 (output, Pin 14) When asserted, this signal indicates that the current disk in position 2 is selected. 3. signal 4. Select Unit 1 (output, Pin 12) When asserted, this indicates that the current disk in position 1 is selected. signal 5. Select Unit 0 (output, Pin 10) When asserted, this indicates that the current disk in position 0 is selected. signal PCI99-B Specification 27-Feb-1984 Page 113 6. Motor On (output, pin 16) - When asserted, this signal turns on the drive's spindle motor. 7. Stepping Direction Control (output, pin 18) - This direction signal is an act ive low when stepping the head toward the spindle and active high when stepping the head away from the spindle. 8. Step Pulse (output, Pin 20) - This is a 2-microsecond pulse to move the head one track. The direction of the step is determined by the direction output. 9. Write Data (output, Pin 22) - This is a 500 ns pulse generated for each flux transition. 10. Write Gate (output, Pin 24) - This output writing is to be performed to the diskette. is made valid before 11. Track 00 (input, pin 26) - When asserted, this signal informs the controller that the R/W head is positioned over track 0. 12. write Protect (input, Pin 28) - This input is sampled whenever a write command is received. When asserted, the command terminates and sets the write protect status bit in the FDC status register. 13. Read Data (input, pi n 30) - Thi s i s the raw data signal from the drive. This signal should be a negative pulse from a minimum of 750 ns to a maximum of 1250 ns for each flux transition. 14. Side Select (output, pin 32) - When high, the outer surface is selected. At present, only single surface drives are available, so this pin would always be high. 15. Ready (input, pin 34) - This bit indicates sampled for a logic high before a read or signal means that a disk is in place and drive selected. The motor does not have to 17 drive readiness and is write opera"tion. This the door is closed and be on. OPTIONS The following assemblies shall be also be offered as options to the base system: 1. Expansion RX50 consisting of: a. b. RX50 disk drive Data cable for second disk drive unit. longer than the standard drive cable. This cable will be 2. Color graphics, including a controller module, and optional color monitor and cable. 3. Ex tended communications, giv ing Bi t/Byte/Async well as a high speed networking capability. 4. winchester Disk Storage Sub-system (integral to system box) communications, as PCI90-B Specification 18 page 114 27-Feb-1984 CABLES The following cables are included with the system: 1. Monitor cable - transports monochromatic RS-170 "like" video signals to the monitor and supplies the keyboard interface. This cable carries all power and ground to the monitor and keyboard. The cable runs external to the system. 2. RX50 cable - is be a 34-pin ribbon cable to supply interface and ground from the system board to a single RX50 disk drive. 3. Power harness - carries all DC power to the system board and up to two disk drive units. The following cables non-standard cables. 19 are optionally offered with the system. They are 1. RX50 add-on cable - allows an upgrade to a second RX50 disk drive. 2. Video color cable - allows connection to a color moni tor. cable suppl ies a keyboard connection to the system. Used color graphics option. This with ENVIRONMENTAL The PC100-B meets the requirements of the DEC STD 102, Class A. The PC100-B and all peripherals as a part of the system meet the requirements for FCC Class B emitted radiation and conducted. 29 RELIABILITY The PC100-B demonstrates mean time between failures of no less than 2800 hours. This correlates to roughly one year of operation. 21 PHYSICAL PACKAGING The outer measurements of the BA25 are 17.5 inches in width, 13.625 inches in depth, and 6.0 inches height. On the front of the unit is the main power switch, and a bezel with pop-out plugs for the RX50 disk drive(s). The back of the uni t suppl ies access for ac power and pr imary circuit selection switch and circuit breaker, and access to standard and option connectors. The packaging includes a fan. The system board is housed in the lower portion of the BA25 and is encased in sheet metal to minimize RFI problems. Enough space is available to support another plane of circuit at in the very least 7/8-inch above the system module. PC100-B Specification 22 27-Feb-1984 Page 115 VIDEO CHARACTER SET See Appendix A. 23 APPLICABLE STANDARDS AND REGULATIONS The PC100-B complies with the following standards: EL-00119-00 DEC STD 119 - DIGITAL PRODUCT SAFETY EL-00102-00 DEC STD 102 - ENVIRONMENTAL STANDARD FOR COMPUTERS AND PERIPHERALS. The PC100-B will be a Class A product. EL-00122-00 DEC STD 122 - AC POWER LINE STANDARD EL-00103-00 DEC STD 103 - ELECTROMAGNETIC COMPATIBILITY (EMC) HARDWARE DESIGN REQUIREMENTS. The PC100-B will meet FCC Class B Level. EL-00052-01 DEC STD 052-1 OPERATIONAL REQUIREMENTS FOR ASYNCHRONOUS, FULL DUPLEX, SERIAL TERMINALS AND SYSTEM INTERFACES OPERATING AS DTE'S CONNECTED TO EIA RS-232 OR CCITT V.28 POINT-TO-POINT MODEMS. EL-00110-00 DEC STD 110 ESCAPE SEQUENCE STANDARD EL-00111-00 DEC STD 111 TERMINAL SYNCHRONIZATION STANDARD EL-00107-00 DEC STD 107 DIGITAL STANDARD FOR TERMINAL KEYBOARDS EL-00l38-00 DEC STD 138 REGISTRY OF CONTROL FUNCTIONS (proposed) In addition, the following non-DEC standards have been used in the design of the PC100: ANSI X3.16 Character Structure and Character Parity Sense ANSI X3.4-l977 USA Standard Code for Information Interchange (ASCII) ANSI X3.4l-l974 Code Extension Techniques for Use with ASCII ANSI X3.64-l977 Additional Controls for Use with ASCII PC100-B Specification 23 27-Feb-1984 page 116 APPLICABLE STANDARDS AND REGULATIONS (continued) UL-478 Electronic Data-processing units and Systems CSA C22.2, No. 54 Canadian Electronic Code, Part II, Safety Standards for Electrical Equipment VDE 0871 Limits of Radio Interference from Radio Frequency Apparatus and Installations VDE 0875 Regulations for Radio Frequency Suppression IEC 485 Safety of Data Processing Equipment FCC Part 15, Subpart J Rules and Regulations - Radio EIA RS170 Electrical Performance Standards Monochrome Television Studio Facilities CCITT Recommendation List of Definitions for Interchange Circuit V.24 Between Data Terminal Equipment and Data Circuit Terminating Equipment CCITT Recommendation Electrical Characteristic for Unbalanced V.28 Double-Current Interchange Circuit RainbowTM 100+/1006 System Specification QV069-'GZ READER'S COMMENTS Did you find this manual understandable, usable, and well-organized? Please make suggestions for improvement. Did you find errors in this manual? If so, specify the error and the page number. Please indicate the type of reader that you most nearly represent. D D D D D First-time computer user Experienced computer user Application package user Programmer Other (please specify) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ Name__________________________________________________________________ Dme'_________________________________________________________________ Organization_________________________________________________ Street~ _________________________________________________________________ City_________________________________________________________ Statet:-_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ Zip Code orCount~------------------------------------------------------------__ I ";Ha ---~.--o~ ;oTearo" ~ ~ e re I I I I I I and Ta~-- - - - -- - - - -- - - - -- - - - - - rrnll-------- ~~;; ---i W if Mailed in the United States BUSINESS REPLY MAIL FIRST CLASS PERMIT NO. 33 MAYNARD MASS. POSTAGE WILL BE PAID BY ADDRESSEE SOFTWARE PUBLICATIONS 200 FOREST STREET MR01-2/L12 MARLBOROUGH, MA 01752 I I I I I I I I I 1 I I 1 I 1 1 1 I 1 1 I 1 I 1 Do Not Tear -Fold Here and Tape ------------------------------------------- I _I TM lOO+/lOOB Terminal Emulation Manual digital equipment corporation First Printing. June ,1984 © Digital Equipment Corporation 1984. All Rights ReserVed. , The inforrnationirr thi,s,dOcuml;lflt is subject~o chan!le'without~tice ~ndshould not be construed ii'ronimitmertt oy'Qigitat'l;quipmerifqrirpo(!!(jlfn. Digital Equipment Corporation'assumes 11.0 rcE!,sp~ibili.ty .fO,r any,errOrs that'i'nay , appear in this document.',' " < " "~,: ':'.. as The software described in this document is furnished under a license and may only be used orcopi6din aecordalJcewith iheterms of....such license. . '- . " No responsibility 'is assumed for the use or reliability of,software on equipment that is not supplied by DIGITAL or its affiliated companies. CP/M an~ CP/M...,.asare regis!ered tradem~rks of Digital Resejirch Inc., CP/M-80 iss 'trademark of Digital Research lnc. ~". ,i Z80 is a registered trademark of Zilog, Inc. 8088 is a registered trademark of Intel Corporation. The following are trademarks of Digital Equipment Corporation: ~D~DDmD'· DEC DECmate DECsystem-10 DECSYSTEM-20 DECUS DECwriter DIBOL MASSBUS PDP P/OS Professional Rainbow RSTS RSX UNIBUS VAX VMS VI Work Processor The postage-prepaid READER'S COMMENTS form on the last page of this document requests the user's critical evaluation to assist us in preparing future documentation. Printed in U.S.A. CONTENTS PREFACE CHAPTER 1 TRANSMITTED CHARACTERS CHAPTER 2 INTRODUCTION • • STANDARD KEYS • • • • Cursor Control Keys Control Character Keys • FUNCTION KEYS • • • Break • • • • • • • • NUMERIC KEYPAD KEYS • • • RECEIVED CHARACTER PROCESSING APPENDIX A GENERAL • • • • • • • • • • • • • • • • 9 RECEIVED CHARACTERS • • • 9 CONSOLE MODE TABLES • • • • • • 9 DISPLAY CHARACTERS • •••••• 12 12 CONTROL CHARACTERS • • • • • • • • • • • • ESCAPE AND CONTROL SEQUENCES •••••• 13 14 Error Recovery • • • • • • • • • • ANSI-Compatible Sequences • • • • • • • • 17 Set-Up Feature and Mode Selection • • • • 17 ANSI/VT52 Compatibility • • • • • • • • • 21 Scrolling • • • • • • • • • • • • • • • • • • 21 22 Scrolling Region • • •••• Origin • • • • • • • • •• 22 Cursor Positioning • • • • • • • •• 23 Columns Per Line • • • • • • • • •. 25 Auto Wrap •• • • 26 26 Screen Background • • • • • • • • • 27 Line Feed/New Line • • • • • • • Keyboard Ac t ion • • • • 27 28 Auto Repeat • • • • • • • • • • • • Local Echo (Keyboard Send-Rec;eive) • • •• 28 Cursor Key Character Selection • • • • • 28 Keypad Character Selection • • • • • • 29 31 Character Sets and Selection • 36 Character Attributes • • • • Tab Stops • • • • • • • • • • 37 Line Attributes • • • •• 37 38 Erasing • • • • • • • • • Computer Editing ••••••• • • •• 39 Inserting and Replacing Characters • 39 40 Pr in ting in Te rminal Mode • • • • • Pr inter Extent in Terminal Mode • • • • • • • 41 Print Te~mination Character in Terminal Mode • 42 Reports . • . . . . . . . . . . • . . . • . • 42 Adjustments • • • • • • • 44 44 VT52-Compatible Sequences Modes •• • • • • • • • • · . . >. 44 ANSI/VT52 Compatibility 44 45 Cursor Positioning • • • • 46 Keypad Character Selection • 48 Character Sets and Selection Erasing • • • • • • • • •• 49 Printing in Terminal Mode • • • • • • ,e .50 51 Reports • • • • PROGRAMMING SUMMARY APPENDIX B GENERAL • • • • • • • • • • • • • • CONTROL FUNCTIONS (SEQUENCE FORMATS) iii • • • • • 1 · • • . • • 1 • • • • • • • • • 2 • • 3 • • • • • • 5 • • • • • • • • • 5 • • ." • • • 7 . . . .. . . . 52 GENERAL Control Functions • • • • • • Escape and Control Sequences • Escape Sequence Introducer Intermediate-Characters • • • • • • • • Final Character • • • • • • Control Sequence Format Control Sequence Introd~cer Parameter Characters • • • Intermediate Characters • • • • Final Character • • • • • APPENDIX C RAINBOW 100 COMPUTER AND VT100 TERMINAL FAMILY DIFFERENCES ., . 61 61 65 65 65 65 66 66 66 66 67 APPENDIX D DEC'S MULTINATIONAL 8-BIT CHARACTER • • • • • MULTINATIONAL 8-BITCHARACTER CODES • • • • 8-BIT CHARACTER CODES • • • • • • • • • Cl CONTROL CODES • • • • • • • • • • • • KEYBOARD AND 8-BIT KEY CODES • • • • • •• COMPOSE CHARACTER SEQUENCES • • • • TWO-KEY COMPOSE SEQUENCE··.. •• THREE-KEY COMPOSE SEQUENCE • • • • • • • KEYBOARD CONTROL CODE GENERATION •••• SET-UP PURGING KEYBOARD BUFFER • • • • • • • • WAIT INDICATOR • • • • • • • • • • • KEYBOARD PRINT SCREEN KEY IN TERMINAL MODE • KEYBOARD HOLD SCREEN KEY • • • • • • • • • KEYBOARD CURSOR KEY MODES • • • • • • • • PRINTER CHARACTER SETS IN TERMINAL MODE • • • • • PRINTING BLOB CHARACTERS IN TERMINAL MODE • • • • PRINTER PORT DEFAULTS • '. • • • • • • • • • • • • PRINT CURSOR LINE OPERATION IN TERMINAL MODE PRINTER PORT STATUS REQUEST IN TERMINAL MODE • TERMINAL ID • • • • • • • • • • • • • • INSERT AND DELETE LINE ESCAPE SEQUENCES ALTERNATE 'ROM' CHARACTER SETS • • • • • • ALTERNATE ROM AND LED EscApE SEQUENCES • • G2 AND G3 CHARACTER SETS • • • • • • • • ABORTING ESCAPE SEQUENCES BY INTERMEDIATE CHARACTERS • • • • • • • • • • • • INSERT AND REPLACE MODES. • • • • • ••••• SELFTEST ESCAPE SEQUENCES • • • • • • • • • RESET TO INITIAL STATE • • • • • • • • • VT52 MODE AND ORIGIN MODE AUTOWRAP MODE • • • • • • TAB AND AUTO WRAP • • • • • • • • • • • • • • • • XON/XOFF PROTOCOL AND BUFFER SIZE IN TERMINAL MODE FULL DUPLEX COMMUNICATION PROTOCOL IN TERMINAL MODE HALF DUPLEX COMMUNICATION SUPPORT IN TERMINAL MODE INTERNATIONAL LANGUAGE KEYBOARDS APPENDIX E COMPOSE SEQUENCES APPENDIX F 7-BIT/DEC 8-BIT TRANSLATIONS 68 68 69 69 69 69 69 70 70 70 70 70 71 71 71 71 71 72 72 72 72 72 72 73 73 73 73 73 73 73 74 74 74 74 FIGURES 1 2 3 4 5 Standard Key Codes Editing and Cursor Keys Function Keys ••••• •••• Standard Key Codes • • • • LK20l-AE British Keyboard iv • • 1 • • 2 . . . . . . . • 525 75 ( 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 · ···· · · · · ······ ···· ·· ··· ··· ··· ··· ····· ····· ········· ···· · · · · · · · ·· ·· · · · ·· · · ·· · ·· · ·· · · · · ···· ·· LK201-AA American (English) Keyboard 75 76 LK201-AC Canadian (French) Keyboard LK201-AD Danish Keyboard 76 LK201-AF Finnish Keyboard 76 77 LK201-AG Austrian/German Keyboard LK201-AH Dutch Keyboard 77 LK201-AI Ital ian Keyboard 77 LK201-AK Swiss (French) Keyboard 78 LK201-AL Swiss (German) Keyboard 78 78 LK201-AM Swedish Keyboard LK201-AN Norwegian Keyboard 79 LK201-AP Belg ian/French Keyboard 79 LK201-AT Flemish Keyboard 79 LK201-AS Spanish Keyboard 80 Mapping Keyboard to National Replacement Characters 83 French Canadian Character Set (7-bit) 84 Finish Character Set (7-bi t) 85 French Character Set (7-bit) 86 87 German Character Set (7-bit) Italian Character Set (7-bi t) 88 Norwegian/Danish Character Set (7-bi t) 89 Spanish Character Set (7-bi t) 90 91 Swedish Character Set (7-bi t) 92 Swiss Character Set (7-bit) United Kingdom Character Set (7-bit) 93 7-bit/DEC8-bit Translations 94 Dutch Character Set (7-bit) 95 ······· ········ · · · · · · ·· ·· · · · ··········· TABLES 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2 · · 3 ··· ·· · · · · · · · · · 45 ··· . . . · · · · · · · ·· ·· ·· ·· ·· ·· · ·1076 · · · · · · · · · · · 11 12 .....····· 15 ·· · · · · · 18 19 · · · · · ·· · · · ·· · · · · · 19 ·· ·· · · · ·· · · · · · · 2720 29 30 · · · · · ·· · · ·· ·· ·· ·· · · · · 33 · · · · · 3435 · · · · · · · · · · · · · · · · 47 49 ······ · · 62 · · · · · · ·· · · · 63 ·· 64 81 · · ·· · · · ·· ·· ·· ·· · · · · 82 Rainbow 100 Editing and Cursor Keys Cursor Control Key Codes Control Codes Generated Rainbow 100 Key Changes Rainbow 100 Function Keys Keypad Codes 7-bit US/UK ASCII Characters 8-bit Control and Displayable Characters Control Characters Recognized by Rainbow 100 Computer Escape and Control Sequences Set-Up Features and Modes ANSI-Specified Modes ANSI-Compatible Private Modes Permanently Selected Modes Line Feed/New Line Feature ANSI Cursor Control Key Codes ANSI Keypad Codes 7-bit US/UK ASCII Characters 8-bit Control and Displayable Characters Special Characters and Line Drawing Character Set VT52 Keypad Codes Special Characters and Line Drawing Set and VT52 Graphics Mode Comparison US/UK ASCII Characters Control and Displayable Characters Special Characters and Line Drawing Set Implici t Compose Sequences Dead Diacritical Keys v ( \ PREFACE INTENDED READER This guide assumes you are an application programmer. The information in this guide describes escape used by the Rainbow 1008 terminal emulation. sequences and codes GUIDE ORGANIZATION Chapter 1 shows the characters transmitted by each terminal key. Chapter 2 describes how the terminal processes received characters. It also describes the use of control functions. Control functions control the display, processing, and transmission of characters received by the terminal. The application programmer uses the chapter when creating applications software for the terminal. Appendix A summarizes the character codes used to program the terminal. Appendix 8 describes the ANSI code extension techniques create escape and control sequences. Appendix C describes the differences between computer and a VTl02 terminal. Appendix D contains the international language keyboards vii and control the functions used Rainbow to 100 CHAPTER 1 TRANSMITTED CHARACTERS INTRODUCTION This chapter describes the characters generated by the Rainbow 100 keyboard. The keys are divided into four groups: standard keys, editing and cursor keys, function keys, and numeric keypad keys. A distinction is also made between console mode and terminal the Rainbow 100 computer. mode on STARDARD KEYS The keyboard generates American Standard Code for Information Interchange (ASCII) characters. The standard keys (Figure 1) generate lowercase ASCII characters when neither Shift nor Lock is down. These keys generate uppercase ASCII characters when either Shift or Lock is down. The Lock key can act as either a 'Caps Lock' or 'Shift Lock', selectable from SET-UP. Ctrl Figure 1: Standard Key Codes 1 Editing and Cursor Keys MR·9589 Figure 2: Table 1: Editing and Cursor Keys Rainbow 100 Editing and Cursor Keys Key Characters Generated Find ESC 1 Insert Here ESC 2 Remove ESC 3 - Select· ESC 4 - Prev Screen ESC 5 - Next Screen ESC 6 - Up Arrow ESC A Down Arrow ESC B Right Arrow ESC C Left Arrow ESC D - Cursor Control Keys In ANSI mode the cursor keys generate either application or cursor control sequences. Cursor key mode selects the type of sequence. The cursor keys generate ANSI cursor commands. The computer selects both cursor key mode and keypad mode. See Cursor Key Character Selection in Chapter 2 for more information. 2 In VT52 mode, the cursor keys only generate VT52 cursor control sequences. Table 2 lists the ANSI and VT52 compatible cursor key characters. Table 2: Cursor Keys Cursor Control Key Codes ANSI Mode Cursor Key Cursor Key Mode Reset Mode Set VT52 Mode [ ESC A 033 l33 101 ESC 0 A 033 117 101 ESC A 033 101 [ ESC B 033 133 102 ESC 0 B 033 117 102 ESC B 033 102 [ ESC C 033 l33 103 ESC 0 C 033 117 103 ESC C 033 103 [ ESC D 033 133 104 ESC 0 D 033 117 104 ESC D 033 104 Control Character Keys Table 3 lists the control characters generated by the can generate control characters in two ways. Table 3 keyboard. You under Key • Hold down Ctrl and press any key in Pressed column. the • Press any key in Table 3 under the Dedicated Key column. These dedicated keys generate control characters without the use of Ctrl. Different computer systems may use each control character differently. NOTE The Rainbow 100 computer generates some characters differently than previous terminals. Table 4 lists the changes. 3 control DIGITAL Table 3, Control Codes Generated Control Character Mnemonic Transmitted Code (Octal) Null Start of heading Start of text End of text End of transmission Enquire Acknowledge Bell Back space Horizontal tabulation Line Feed Vertical tabulation Form feed Carriage return Shift out Shift in Data link escape Device control 1 Device control 2 Device control 3 Device control 4 Negative acknowledge Synchronous idle End of transmission block Cancel previous word or character End of medium Substitute Escape File separator Group separator Record separator Unit separator Delete Null Escape File Sep Group Sep Record Sep Unit Sep Delete NUL SOH STX ETX EaT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DCl (XON) DC2 DC3 (XOFF) DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US DEL NUL ESC FS GS RS US DEL 000 001 002 003 004 005 006 007 010 011 012 013 014 015 016 017 020 021 022 023 024 025 026 027 030 031 032 033 034 035 036 037 177 000 033 034 035 036 037 177 Key Pressed Dedicated Key Space Bar A B C D E F G H Back Space Tab Line Feed I J K L M Return* N 0 P Q R S T U V W X Y Z ·Escape [ / 1 ? Delete 2 3 4 5 6 7 8 . unshifted unshifted unshifted unshifted unshifted unshifted unshifted *1n numeric keypad mode (application keypad mode off), you can change the Enter character code with the line feed/new line feature. When off, this feature causes Enter to generate a single control character (CR, octal 015). When on, this feature causes Enter to generate two characters (CR, octal 015 and LF, octal 012). 4 Table 4: Control Code VTl02 NUL (octal 000) RS (0 c tal 036) US (octal 037) ESC Ctrl Ctrl Ctrl Ctrl Ctrl Ctrl FS GS DEL Space Bar ? [ Rainbow 100 Key Changes Previous Terminals Rainbow 100 Computer Ctrl @ Ctrl Ctrl - Ctrl Ctrl Ctrl Ctrl Ctrl Ctrl / 1 Space Bar ? [ / 1 Ctrl Ctrl Ctrl Ctrl Ctrl Ctrl 2 6 7 3 4 5 FUNCTION KEYS The function keys (Figure 3) generate characters used by the computer software or communication system. The following paragraphs describe the function keys. Break In terminal mode this key generates a break defined by the computer system when the break enable feature is on. This feature does not affect other key sequences using Break. Hold down Shift and press Break to generate a long break disconnect. A long break disconnect usually disconnects the terminal from the communication line. Hold down Ctrl and press Break to transmit the answerback message. console mode this key is not functional. Figure 3: Function Keys 5 W-0095 In Table 5: Rainbow 100 Function Keys Key Characters Generated Print Screen ESC [ 12 - F4 ESC [ 14 - Interrupt ESC 17 - Resume ESC 18 - Cancel ESC 19 - Main Screen ESC 20 - Exit ESC 21 - (ESC) ESC (BS) BS (LF) LF Addtnl Options ESC 26 - Help ESC 28 - Do ESC 29 - F17 ESC 31 F18 ESC [ 32 - F19 ESC [ 33 - F20 ESC 34 \ - ( 6 NUMERIC KEYPAD KEYS These keys generate characters selected by the ANSI/VT52 feature and alternate (application) keypad mode. The computer selects application keypad mode. See Keypad Character Selection in Chapter 2 for more information. In numeric keypad mode, the numeric keypad generates the numeric, comma, period, and minus sign characters used by the main keyboard. In application keypad mode, the numeric keypad generates escape sequences. Table 6 lists the characters generated by the numeric keypad. Table 6: Keypad Codes Key ANSI Mode Numeric Application Keypad Mode Keypad Mode o o 060 ESC 0 P 033 11 7 160 VT52 Mode Numeric Keypad Mode Application 'Keypad Mode o ESC 060 033 077 160 ? ? q 033 077 161 1 1 061 ESC 0 q 033' 117 161 1 060 ESC 2 2 062 ESC 0 r 033 117 162 2 062 ESC? 3 063 ESC 3 063 ESC? 4 ESC 3 4 064 5 6 7 8 9 0 s 033 117 163 0 t 033 117 164 0 u P r 033 077 162 s 033 077 163 4 ESC 064 033 077 164 ? 5 065 ESC 6 066 ESC ?' t u 5 065 ESC 6 ESC 066 033 117 166 7 067 ESC 7 ESC? 033 117 167 067 033 077 167 8 070 ESC 8 070 ESC x 9 071 ESC 9 071 ESC 033 117 165 0 0 0 v w x 033 117 170 0 y 033 117 171 7 033 077 165' ? v 033 077 166 ? w 033 077 170 ? Y 033 077 171 Table 6 (Cont.): Keypad Codes ANSI Mode Application Numeric Keypad Mode Keypad Mode VT52 Mode Numeric Application Keypad Mode Keypad Mode - (minus) 055 ESC 0 m 033 117 155 - (minus) 055 ESC ? m 033 077 155* , (comma) 054 ESC 0 1 033 117 154 , (comma) 054 ESC ? 1 033 077 054* .(period) 056 ESC 0 n 033 117 156 • (period) 056 ESC ? n 033 077 156 Enter+ CR or CR LF 015 015 012 ESC 0 M 033 117 115 CR or CR LF 015 015 012 ESC ? M 033 077 115 PFl ESC 033 o P 117 120 ESC 0 P 033 117 120 ESC 033 120 ESC P 033 120 ESC 033 o Q 117 121 ESC 0 Q 033 117 121 ESC 033 121 ESC 033 11 7 122 ESC 0 R 033 117 122 ESC 033 122 ESC 033 117 123 ESC 0 S 033 117 123 ESC 033 123 Key PF2 PF3 PF4 o o R S P Q R S ESC Q 033 121 ESC R 033 122 ESC S 033 123* *These sequences are not generated by the VT52 terminal. +In numeric keypad mode (application keypad mode off), you can change the Enter character code with the line feed/new line feature. When off, this feature causes Enter to generate a single control character (CR, octal 015). When on, this feature causes Enter to generate two characters (CR, octal 015 and LF, octal 012). 8 CHAPTER 2 RECEIVED CHARACTER PROCESSING GENERAL This chapter describes how the Rainbow 100 computer processes received characters. There are two types of received characters, display characters and control functions. The chapter covers all display characters and control functions used by the Rainbow 100 computer. RECEIVED CHARACTERS The Rainbow 100 computer processes characters according to American National Standards Institute (ANSI) standards X3.64-1979, X3.4-1977, and X3.41-1974. ANSI standard X3.4 defines the American Standard Code for Information Interchange (ASCII). Table 7 shows each ASCII character with its binary, octal, decimal, and hexadecimal values. ASCII corresponds to the International Standards Organization (ISO) Standard 646 and International Telegraph and. Telephone Consultive Committee (CCITT) Alphabet 5. The Rainbow 100 computer processes a received character based on character types defined by ANSI. Position in the ASCII table tells yo·u whether a character is a control function or display character. The ASCII table is 8 columns wide and 16 rows long. The control functions are in columns a and 1. The display characters are in columns 2 through 7. In addition to the characters shown in Table 7, the Rainbow 100 computer displays the 8-bit characters shown in Table 8 and executes the control functions (CI) in columns 8 and 9. CONSOLE MODE TABLES In terminal mode, however, it depends on the communication port's configurations. In order to correctly process the 8-bit characters in Table 8, you must have the communication port parameter set to 8 data bits. If it is set to 7 data bits the high order bit is set to zero and the character is processed as though in Table 7. 9 Table 7: 0 COLUMN - ROW BITS b8 1 a b7 a b6 b5 b4 b3 b2 bl 7-bit US/UK ASCII Characters a a a a a a a a I I 4 3 2 a a 5 a 0 I I I a a a I I , 0 0 0 NUL a a a OLE 20 16 10 SP 40 32 20 0 60 48 30 @ 100 64 40 P 120 80 50 1 a a a I SOH I I I DC1 iXONI 21 17 11 ! 41 33 21 1 61 49 31 A 101 65 41 Q 121 81 51 a 2 a a 1 0 STX DC2 18 12 " 42 34 22 2 62 50 32 B 102 66 42 R 122 82 52 b 3 a 0 I 1 ETX 3 3 3 DC3 iXOFFI 23 19 13 43 35 23 3 63 51 33 C 4 a 1 a 0 EOT 4 4 4 DC4 24 20 14 $ 44 36 24 4 64 52 34 0 % 45 37 25 5 65 53 35 E 6 66 54 36 F 7 67 55 37 8 70 56 38 2 2 2 22 5 0 1 0 1 ENQ 5 5 5 NAK 25 21 15 6 0 I 1 0 ACK 6 6 6 SYN 22 7 0 BEL 7 7 7 ETB 27 23 17 BS 10 8 8 CAN 30 24 18 EM 31 25 19 8 1 1 0 9 1 0 1 0 1 0 26 16 Q 1 HT 11 9 9 1 0 LF 12 10 A SUB 32 26 lA *# ~£ & , 46 38 26 47 39 27 ( 50 40 28 ) 51 41 29 9 71 57 39 52 42 2A : 58 3A 103 165 117 75 106 70 46 V f 146 102 66 V 166 118 76 G 107 71 47 W H 110 72 48 Y J 112 74 4A Z 1 1 0 0 FF 14 12 C FS 34 28 lC , 54 44 2C < 74 60 3C L 1 1 0 1 CR 15 13 D GS 35 29 10 - 55 45 2D 75 61 3D SO 16 14 E RS 17 15 F US NOTE: 51 1 37 31 1F / 57 47 2F ? 87 57 1 12 1 127 131 89 59 K 1 56 111 73 49 73 59 38 1 86 X ; 15 126 130 88 58 53 43 28 2E 163 115 73 U + 46 S 145 101 65 33 27 18 IE 143 99 63 e ESC 30 C 125 85 55 13 11 8 0 162 114 72 U VT 1 r 98 62 105 69 45 1 1 161 113 71 164 116 74 1 1 q t 0 14 141 97 61 144 100 64 1 56 160 112 70 d 11 36 P 124 84 54 72 = > 140 96 60 T 1 0 13 104 68 83 53 I 142 123 S 44 10 * 67 43 I a I 0 0 I I 0 a 7 6 147 103 67 h 150 104 68 X i 151 105 69 Y 152 106 6A Z 132 90 5A j [ 133 91 58 k 114 76 4C \ 134 92 5C 1 M 115 77 4D ] 135 93 5D m 76 62 3E N 116 78 4E 77 63 3F 0 117 79 4F 113 75 48 A - ·167 119 9 153 107 68 154 108 6C 155 109 6D 136 94 5E n 156 110 6E 137 95 5F 0 157 111 6F W 77 170 120 78 1'71 121 79 172 122 7A 173 123 78 { 174 124 7C I } DEL 175 125 7D 176 126 7E 177 127 7F DEPENDS ON THE CHARACTER SET SELECTED; U.S.-# U.K.- J: r--- CO CODES--~'I...· - - - - - - - - - ( A S C IGLCODES I GRAPHICS)----------~·I L KEY CHARACTER ESC 33 OCTAL 27 DECIMAL 18 HEX MR·9593 10 Table 8: 8 10 9 1 0 0 0 NEL HTS 200 128 80 220 144 90 201 129 81 221 145 91 202 130 82 222 146 92 203 131 83 223 147 93 204 132 84 224 148 94 205 133 85 225 149 95 206 134 86 226 150 96 207 135 87 227 151 97 210 136 88 230 152 211 137 89 231 153 99 213 139 8B ~ 232 154 9A CSI 233 155 98 240 160 AO 0 i e 242 162 A2 2 £ 243 163 A3 3 § , 320 208 DO 301 193 Cl 266 182 86 IE. 306 198 C6 267 183 87 ~ 307 199 C7 247 167 A7 251 169 A9 252 170 AA 253 171 A8 1 Q E 271 185 89 E 272 186 SA » 273 187 88 214 140 8C 234 156 9C 254 172 AC 1A 274 188 8e RI 215 141 80 235 157 90 255 173 AD Y2 275 189 80 SS2 216 142 8E 236 158 9E 256 174 AE SS3 217 143 8F 237 159 9F 257 175 AF i. , 270 184 88 , A E 310 200 C8 311 201 C9 312 202 CA E 313 203 C8 I 314 204 CC •• , , I 315 205 CO A I 206 277 191 8F •• 317 207 CF I o 0 1 0 2 363 243 F3 o 0 1 1 3 364 244 F4 0 1 o 0 4 0 365 245 F5 0 1 0 1 5 345 229 E5 0 326 214 06 • 346 230 E6 0 366 246 F6 0 1 1 0 6 CE 327 215 07 Ii 347 231 E7 oe 367 247 F7 0 1 1 1 7 330 216 08 ~ 350 232 E8 f1 370 248 F8 1 000 8 U 331 217 09 e 371 249 F9 1 0 0 1 9 U 332 218 OA e 352 234 EA 372 250 FA 1 0 1 0 10 333 219 08 e 353 235 E8 u 373 251 F8 1 0 1 1 11 "u" 374 252 FC 1 1 o 0 12 375 253 FO 1 1 0 1 13 376 254 FE 1 1 1 '0 14 377 255 FF 1 1 1 1 15 , 0 , A •• (IJ , , A U ..U ..Y 316 276 190 8E 362 242 F2 a 0 ~ 1 325 213 05 324 212 04 246 166 A6 1 344 228 E4 0 305 197 C5 000 - a 304 196 C4 A 0 361 241 Fl a 0 ..A 0 -.. A 264 180 B4 000 343 227 E3 303 195 C3 - , ROW 360 240 FO 342 226 E2 302 194 C2 N 323 211 03 A 334 220 DC 335 221 DO 336 222 DE CE .B 337 223 OF ~ 1 GRCODES C1 CODES-----o·+·o-------(DEC SUPPLEMENTAL GRAPHICS) r-KEY , A , I ,I A I .. I 341 225 El I-- a A 263 179 B3 a J40 224 EO b5 b4 b3 b2 bl 1 322 210 02 262 178 B2 A , BITS b6 1 a A 265 181 B5 © - b7 1 0 321 209 01 ± f.L 250 168 A8 « A 300 192 CO COLUMN b8 1 1 245 165 A5 )( ! , 1 0 261 177 Bl 244 164 A4 ¥ 260 176 BO 15 1 0 0 1 241 161 Al 98 212 138 BA 1 0 14 1 1 1 0 1 1 13 1 1 0 0 0 12 11 1 1 1 INO 8-bit Control and Displayable Characters 351 233 E9 354 236 EC 355 237 ED n , 0 ,0 A 0 ,u , u A ..Y 356 238 EE 357 239 EF ~ ·1 CHARACTER~06 OCTAL IE. 198 C6 DECIMAL HEX MR-9594 11 DISPLAY CHARACTERS Display characters are received characters displayed on the screen. The actual character displayed depends on the character set selected. You select the character set by using control functions. See Character Sets and Selection in this chapter for more information. CONTROL CHARACTERS These single-character control functions start, modify, or stop terminal operations; the control functions are not displayed. Table 9 defines the control characters recognized by the terminal. All other control characters are ignored. Each control character in this chapter has a mnemonic, listed in Table 9. The mnemonic is an abbreviation of the control character name. Table 9: Control Characters Recognized by Rainbow 100 Computer Character Mnemonic Octal Code Null NUL 000 Ignored when received (not stored in input buffer) and used as a fill character Enquire ENQ 005 Transmits answerback message Bell BEL 007 Generates bell tone. Backspace BS 010 Moves cursor to the left one character position; if cursor is at left margin, no action occurs. Horizontal tab HT 011 Moves cursor to next tab stop, or to right margin if there are no more tab stops. Line Feed LF 012 Causes a line feed or a new operation. (See Line Feed/New Line) • Also causes printing in terminal mode only if auto print operation is selected. Vertical tab VT 013 Processed as LF. Form feed FF 014 Processed as LF. Carriage return CR 015 Moves cursor current line. Shift out SO 016 Selects Gl character set designated by a select character set sequence. Shift in SI 017 Selects GO character set designated by a select character set sequence. Function 12 to left margin on Table 9 (Cont.): Control Characters Recognized by Rainbow 100 Computer Character Mnemonic Octal Code Device control 1 DCl 021 Processed as XON. DCl causes the Rainbow 100 computer to resume (if XOFF) previously stopped by in transmitting characters only terminal mode. Device control 3 DC3 023 Processed as XOFF. DC3 causes the computer stop Rainbow 100 to transmi tting all characters except XOFF and XON. Cancel CAN 030 If received during an escape or control sequence, cancels the sequence and displays substitution character (cursor). Substitute SUB 032 Processed as CAN. Escape ESC 033 Processed as introducer. Index IND 204 Processes a LF. Next 1 ine NEL 205 Processes a CR LF sequence. Horizontal HTS 210 Sets a horizontal tab current cursor location. Reverse index RI 215 Equals a reverse line feed~ Single shift 2 SS2 216 Selects G2 character next character only. Single shift 3 SS3 217 Selects G3 character next character only. Control sequence introducer CSI 233 Equals an ESC .[. Function an escape sequence at the set for the set for the ESCAPE AND CONTROL SEQUENCES Escape and control sequences provide additional control functions not provided by the single-character controls of the character set. These multiple-character sequences are not displayed; instead, they control Rainbow 100 computer operation. Escape and control sequences are defined by ANSI X3.41-1977 and X3.64-1979. See Appendix B for more information about sequences and sequence formats. 13 The ANSI-compatible control functions in this user guide have a mnemonic assigned by ANSI. If the control function is an ANSI private control function (defined by DIGITAL), the mnemonic begins with DEC. The escape and control sequences shown here use ASCII characters. You must type the characters in the sequenc~s exactly as shown (upper or lowercase) • The text provides the octal equivalent of each character in the sequence as a second reference. See Table 7 for decimal and hexadec imal rep:resen ta t ions. The following section groups sequences by software compatibil i ty (ANSI or VT52) and function (Table 10). Appendix A summarizes all control functions. Error Rec~very Current standards do not specify the action performed when the terminal receives a control function with an error. Errors are incorrect parameters; invalid control functions. The terminal usually recovers from these errors by performing as much of the function as possible. The specific error recovery procedures are as follows: • Unrecognized control functions are usually ignored. • Unsupported control functions listed in this user guide) produce unexpected results. • If a 7-bit control character from Table 7 is received within a sequence, the terminal performs the function of the control character, followed by the function of the sequence. • If cancel (CAN, octal 030) or substitute (SUB octal 032) i~ received during a sequence, the current sequence is aborted. The terminal displays the substitute character, followed by characters in the sequence received after CAN or SUB. • If an 8-bit control character from Table 8 is received, the current escape sequence is aborted, and the function of the character is performed. • If an 8-bit displayable character is received from Table 8, the 8th bit is stripped off and the escape sequence continues as if the equivalent 7-bit remainder had been received. 14 (valid control functions not are usually ignored, but may Table 10: Escape and Control Sequences Ansi-Compatible Sequences Set-Up Feature and Mode Selection Set mode (SM) and reset mode (RM) ANSI/VT52 Compatibility ANSI/VT52 mode (DECANM) Scroll ing Scroll mode (DECSCLM) Scrolling Region Set top and bottom margins (DECSTBM) Origin Origin mode (DECOM) Cursor Positioning . Cursor up (CUU) Cursor down (CUD) Cursor forward (CUF) Cursor backward (CUB) Cursor position (CUP) Horizontal and vertical position (HVP) Index (IND) Reverse index (RI) Next 1 ine (NEL) Save cursor (DECSC) Restore cursor (DECRC) Columns Per Line Column mode (DECCOLM) Auto Wrap Auto wrap mode (DECAWM) Screen Background Screen mode (DECSCNM) Line Feed/New Line Line Feed/New Line mode (LNM) Keyboard Action Keyboard action mode (KAM) Auto Repeat Auto repeat mode (DECARM) *Local Echo Send-receive mode (SRM) Cursor Key Character Selection Cursor key mode (DECCKM) Keypad Character Selection Numeric keypad (DECKPNM) Application keypad (DECKPAM) Character Sets and Selection Select character set (SCS) Single shift 2 (SS2) Single shift 3 (SS3) Character Attributes Select graphic rendition (SGR) Tab Stops Horizontal tab sets (HTS) Tabulation clear (TBC) Line Attributes Double-height line (DECDHL) Single-width line (DECSWL) Double-width line (DECDWL) 15 Table 10 (Cont.): Escape and Control Sequences Ansi-Compatible Sequences Erasing Delete character (DCH) Insert line (IL) Delete 1 ine (DL) Inserting and Replacing Characters Insertion-replacement mode (IRM) *Printing Media copy (MC) *Printer Extent Printer extent mode (DECPEX) *Print Termination Character Printer form feed mode (DECPFF) Reports Device status report (DSR) Cursor position report (CPR) Device attributes (DA) Identify terminal (DECID) Reset Reset to initial state (RIS) Adjustments Screen alignment display (DECALN) Modes ANSI/VT52 Compatibility ANSI mode (DECANM) Cursor Positioning Cursor up Cursor down Cursor right Cursor left Cursor to home Direct cursor address Reverse line feed Keypad Character Selection Application keypad mode Numeric keypad mode Character Sets and Selection Enter graphics mode Exit graphics mode Erasing Erase to end of line Erase to end of screen *Printing Auto print Print controller Print cursor line Print screen Reports Identify *Only in terminal mode. 16 ANSI-Compatible Sequences ANSI-compatible sequences meet ANSI standards X3.64-1979 and X3.41-1974. This section describes the ANSI control functions used by the terminal. You can select ANSI compatibility from the keyboard in Set-Up or have the computer use a sequence. (See VT52-Compatible Sequences in this chapter) • Set-Up Feature and Mode Selection - Set-Up features change how the Rainbow 100 computer operates. You can select these features from the keyboard or through escape sequences. Some Set-Up features are modes. A mode affects Rainbow 100 computer operation. The Rainbow 100 computer uses the selected mode until you or an escape sequence changes the selection. Table 11 lists Set-Up features and modes. Modes are changed by using set mode (SM) and reset mode (RM) sequences. Set and reset the terminal modes by using the following sequences. NOTE Ps represents a variable parameter selected from a list of parameters. A series of asterisks (***) represent the parameter in the octal sequence. The parameter is transmitted using decimal ASCII characters. When you set several modes with a single SM or RM sequence, a semicolon (i, octal 073) separates parameters. Set Mode (SM) ESC [Ps i ••• ; Ps h 033 133 *** 073 073 *** 150 Sets one or more modes specified by selective parameters (Ps) parameter string. in the Reset Mode (RM) ESC [Ps ; ••• ; Ps I 033 133 *** 073 073 *** 154 Resets one or more modes specified by selective parameters (Ps) parameter string. 17 in the Table 11: Set-Up Features and}1odes. Set-Up·Featureor Mode Change by Escape Seque.nces On/off line** Columns per line '!lab stops Scroll rate No Yes (DECCOLM) Yes (H.TS/TBC)* No Auto repeat Screen background Cursor Margin. bell volume Keyclkk volume Yes .(DECARM) Yes (DECSCNM) No . No No (DECANM) ·Chang.e from Keyboard in Sect-Up Yes Yes Yes Yes Yes Yes Yes Yes Yes ANSI/VT52 Auto XON/XOFF** US/UK character set Auto Wrap Line Feed/New Line Yes No Yes Yes Yes .(SCS) * (DECAWM) (LNM) Yes Yes Yes Yes Yes Local echo*.* 'Pr int termina·tion character** Printer extent** One or two stop bits Receive parity YeS (SRM) Yes (DECPFF) Yes (DECPEX) No No Yes Yes Yes Yes Yes Break enable** Disconnect character enable** Disconnect delay** Auto answerback enable** No No No No Yes' Yes Yes Yes Power Modem data/parity bits No No Yes Yes Transmit speed Receive speed Modem control** Printer data/parity bits No No No No Yes Yes Yes Yes Transmit/receive speed Application keypad mode! numeric keypad mode Cursor key mode Origin mode Insertion-replacement mode Country/KBD selected 8-bit/7-bit NRC Lock mode Caps/Shift ~ hs Yes (DECKPAM/DECKPNM)* No Yes (DECCKM) Yes (DECOM) Yes (IRM) No No ~ hs hs hs ~ ~ *These features are not changed using the set mode (SM) and reset mode (RM) sequences. **Happens only in terminal mode. 18 Table 12 lists the ANSI-specified modes and their selective parameters (Ps) • Table 13 lists the ANSI-compatible private modes and their selective parameters. When you change ANSI-compatible private modes, the first character in the parameter string is a question mark (?, octal 077). All parameters in the sequence are interpreted as ANSI compatible private parameters. This chapter explains each mode in detail and provides the sequences to set and reset each mode. The following example shows the use of the question mark (used with ANSI private parameters) and semicolon (used with multiple parameters). The sequence sets both column and scroll modes. ESC [ ? 3 ; 4 h 033 133 077 063 073 064 150 Table 14 describes modes specified in ANSI X3.64-1979 that are permanently set, permanently reset, or not applicable. See the ANSI standard for more information about these modes. Table 12: ANSI-Specified Modes Name Mnemonic Error (ignored) Keyboard action Insertion-replacement Line Feed/New Line KAM IRM LNM Table 13: Name Error (ignored) Cursor key ANSI/VT52 Column Scroll Screen Origin Auto wrap Auto repeat Printer form feed* Printer extent* Parameter (Ps) o 2 4 20 ANSI-Compatible Private Modes Mnemonic DECCKM DECANM DECCOLM DECSCLM DECSCNM DECOM DECAWN DECARM DECPFF DECPEX Parameter (Ps) o 1 2 3 4 5 6 7 8 18 19 *Happens only in terminal mode. NOTE The application keypad and numeric keypad modes are selected using dedicated sequences, not set and reset mode sequences. See Keypad Character Selection in this chapter for more information. 19 Table 14: Permanently Selected Modes Name Mnemonic Selection Function Control representation CRM Reset Rainbow 100 computer performs control functions without displaying a character to represent control function received. Editing boundary EBM Reset Characters moved outside the margins are lost; terminal does not perform erasing and cursor positioning functions outside the margins. This does not affect horizontal and vertical position (HVP) and cursor position (CUP) sequences. Erasure ERM Set All characters be erased. Format effector action FEAM Reset Terminal immediately performs control functions that affect the screen display. Format effector transfer FETM N/A Guarded area transfer GATM N/A Horizontal editing HEM N/A Multiple area transfer MATM N/A Positioning unit PUM Reset Selected area transfer SATM N/A Status reporting transfer SRTM Reset Tabulation stop TTM N/A Vertical editing VEM N/A displayed can Terminal specifies horizontal and vertical positioning parameters in control functions in units of character position. Terminal transmits status reports by using device status report (DSR) seq~ences. 20 ANSI/VT52 Compatibility - The Rainbow 100 computer is compatible with both ANSI and private DIGITAL standards. Therefore, you can use new software that meets both ANSI standards and existing software designed for previous terminals (such as the VT52) • ANSI-compatible sequences meet ANSI standards X3.64-l979 and X3.4l-l974. You select ANSI compatibility by using the ANSI/VT52 mode (DECANM) sequence in VT52 mode. See VT52-Compatible Sequences in this chapter for details on selecting ANSI sequence compatibility. In ANSI mode, the following sequence selects (VT52 mode). Features and modes selected in ANSI mode are also used in VT52 mode. However, these features and modes usually cannot change in VT52 mode. VT52 Mode (DECANM) ESC [ ? 2 1 033 133 077 062 154 In ANSI mode, reset selects VT52 compatibility. Rainbow 100 computer responds like a VT52 sequences. In to VT52 mode, the private DIGITAL Scrolling - Scrolling is the upward or downward movement of existing lines on the screen. This makes room for more display lines at either the top or bottom of the scrolling region. There are two methods of scrolling, jump scroll and smooth scroll. Select the type of scrolling by using the following sequences~ NOTE Op In full-duplex communication, the auto XON/XOFF Set-Up feature prevents the loss of received characters when using smooth scroll. I f auto XON/XOFF is not used, fill characters are needed. Scroll Mode (DECSCLM) ESC [ ? 4 h 033 133 077 064 150 Set selects smooth scroll. Smooth scroll rate selected in Set-Up. ESC [ ? 4 1 033 133 077 064 154 Reset selects jump scroll. Jump scroll lets the terminal add lines to the screen as fast as possible. 21 Scrolling Region - This inclusive region is the area of the screen defined by top and bottom margins~ The margins determine which screen lines move during scrolling. Characters added outside the scrolling region do not cause the screen to scroll. The minimum size of the scrolling region is two lines. Therefore, the line number of the top margin must be less than ~he number of the bottom margin. The origin mode selects line numbers relative to the whole screen or the scrolling region. After the margins are selected, the cursor moves to the home position. The origin mode feature also affects the home position. Select the top and bottom margins of the scrolling region by using the following sequence. NOTES: When you power up or use the system scrolling region becomes the full screen. reset command, the Pt and Pb represent variable numeric parameters. The parameters are decimal numbers transmitted to the terminal as ASCII characters. Asterisks (***) represent one or more variable numeric parameters in the octal sequence. Set Top and Bottom Margins (DECSTBM) ESC [ Pt ; Pb r 033 133 *** 073 *** 162 Selects top and bottom margins, defining the scrolling region. Pt is line number of first line in the scrolling region. Pb is line number of bottom line. If Pt and Pb are not selected, the complete screen is used (no margins) • Origin - This mode determines if the cursor can move outside the scrolling region (the area between the top and bottom margins). You can move the cursor outside the margins with the cursor position (CUP) and horizontal and vertical position (HVP) sequences. Lines on the screen are numbered according to the location of the home position. Home position is always line 1, column 1. The cursor moves to the new home position whenever origin mode is selected. Select origin mode by using the following sequences. NOTE When you power up or use origin mode resets. the system reset command, Origin Mode (DECOM) ESC [ ? 6 h 033 133 077 066 150 Set selects home position in scrolling region. Line numbers start at top margin of scrolling region. The cursor cannot move out of scrolling region. ESC [ ? 6 1 033 133 077 066 154 22 Reset selects home position in upper-left corner of screen. Line numbers are independent of the scrolling region (absolute). Use CUP and HVP sequences to move cursor out of scrolling region. Cursor Positioning - The cursor indicates the active screen where the next character will appear. The cursor moves: position • One column to the right when a character appears • One line down after a line feed (LF, octal 012), form feed (FF, octal 014) or vertical tab (VT, octal 013) (Line feed/new line may also move the cursor to the left margin). If at the bottom margin, this causes an upward scroll. • One line up after a reverse index, if at the causes a downward scroll. • To the left margin after a carriage return (CR, octal 015) • One column to the left after a backspace (85, octal 010) • To the next tab stop (or right margin if no tabs after a horizontal tab character (HT, octal all) • To the home position when the top and bottom margins of the scrolling region (DECST8M) or origin mode (DECOM) selection changes. top margin, are it set) You can also move the cursor by using the following sequences. NOTE Pn represents a variable numeric parameter. The parameter is a decimal number transmitted to the terminal by using ASCII characters. If you select no parameter or 0, the terminal assumes the parameter equals 1. Asterisks (***) represent one or more characters in the octal sequence. Cursor Up (CUU) [ Pn A 033 133 *** 101 ESC Moves cursor up Pn lines in same column. Cursor stops at top margin. Cursor Down (CUD) [ Pn B 033 133 *** 102 ESC Moves cursor down Pn lines in same column. marg in. 23 Cursor stops at bottom Cursor Forward (CUF) ESC [ Pn C 033 133 *** 103 Moves cursor right Pn columns. Cursor stops at right margin. Cursor Backward (CUB) ESC [ Pn D 033 133 *** 104 Moves cursor left Pn columns. Cursor stops at left margin. Cursor Position (CUP) ESC [ PI ; Pc H 033 133 *** 073 *** 110 Moves cursor to line PI, column Pc. If PI or Pc are not selected or selected as 0, the cursor moves to first line or column, respectively. Origin mode (DECOM) selects line numbering and ability to move cursor into margins. NOTE PI and Pc represent variable numeric parameters. The parameter is a decimal number that represents one or more characters transmitted to the terminal as ASCII characters. Asterisks (***) represent the variable parameter in the octal sequence. CUP operates the same as the horizontal position (HVP) sequence. Cursor Position (Home) and vertical (CUP) ESC [ H 033 133 110 Moves cursor to home position, selected by origin mode (DECOM). Horizontal and Vertical Position (HVP) ESC [ PI ; Pc f 033 133 *** 073 *** 146 Moves cursor to line PI, column Pc. If PI or Pc are not selected or selected as 0, the cursor moves to first line or column, respectively. Origin mode (DECOM) selects line numbering and ability to move the cursor into margins. NOTE HVP operates the same as sequence. the 24 cursor position (CUP) Horizontal and Vertical Position (Home) (HVP) ESC [ f 033 133 146 Cursor moves to home position selected by origin mode (DECOM). Index ESC D or 033 104 IND 204 Moves cursor down one line in same column. margin, screen performs a scroll-up. If cursor is at bottom Reverse Index (RI) ESC M or RI 033 115 215 Moves cursor up one line in same column. screen performs a scroll-down. If cursor is at top margin, Next Line (NEL) ESC E or NEL 033 105 205 Moves cursor to first position on next line. margin, screen performs a scroll-up. If cursor is at bottom Save Cursor (DECSC) ESC 7 033 067 Saves cursor position, character attribute (graphic rendition) , character set, and origin mode selection. (See restore cursor.) Restore Cursor (DECRC) ESC 8 033 070 Restores previously saved cursor position, character attribute (graphic rendition), character set, and origin mode selection. If none were saved, the cursor moves to home position. Columns Per Line - This mode selects the number of columns in a display line, 80 or 132. With either selection, the screen can display 24 lines. Select the number of columns per line by using the following sequences. NOTE When you change the number of columns per line, the screen is erased. This also sets the scrolling region for full screen (24 lines). 25 Column Mode (DECCOLM) ESC [ ? 3 h 033 133 077 063 150 Set selects 132 columns per line. ESC [ ? 3 1 033 133 077 063 154 Reset selects 80 columns per line. Auto Wrap - This mode selects where a received character will appear when the cursor is at the right margin. Select auto wrap by using the following sequences. NOTE Regardless of the auto wrap Set-Up feature selection, the tab character never moves the cursor to the next 1 ine. Auto Wrap Mode (DECAWM) ESC [ ? 7 h 033 133 077 067 150 Set selects auto wrap. Any display characters received when cursor is at right margin appear on next line. The display scrolls up if cursor is at end of scrolling region. ESC [ ? 7 1 033 133 077 067 154 Reset turns auto wrap off. Display characters received when cursor is at right margin replace previously displayed character. Screen Background - This mode selects either light (reverse) or dark display background on the screen. Select screen mode by using the following sequences. Screen Mode (DECSCNM) [ ESC ? 5 h 033 133 077 065 150 a white screen background with black Reset selects normal screen, a characters. black screen background with white Set selects reverse screen, characters. [ ESC ? 5 1 033 133 077 065 154 26 Line Feed/New Line - This mode selects the control character(s) transmitted by Return. Line feed/new line also selects the action taken by the terminal when receiving line feed, form feed, and vertical tab. Table 15 provides a summary of the feature. Select line feed/new line mode by using the following sequences. Line Feed/New Line Mode (LNM) ESC [ 2 0 h 033 133 062 060 150 Set causes a received line feed, form feed, or vertical tab to move cursor to first column of next line. Return transmits both a carriage return and line feed. This selection is also called new line option. ESC [ 2 0 1 033 133 062 060 154 Reset causes a received line feed, form feed, or vertical tab to move cursor to next line in current column. Return transmits a carriage return. Table 15: Line Feed/New Line Feature Feature Selection Key PressedCharacter Sent Character Received-Function Off Return-CR CR-Cursor moves to left margin. Off Line Feed-LF LF, FF, VT-Cursor moves to but stays in same column. On Return-CR LF CR-cursor moves to left margin. On Line Feed-LF LF, FF, VT-Cursor moves to left of next line. next line margin Keyboard Action - Keyboard action lets the computer turn the keyboard on or off. This mode always resets when you enter Set-Up. Select keyboard action mode by using the following sequences. Keyboard Action Mode (KAM) ESC [ 2 h 033 133 062 150 Set turns off keyboard and turns on the Wait indicator. ESC [ 2 1 033 133 062 154 Reset turns on keyboard and turns off the Wait indicator. 27 A key Auto Repeat - This mode selects automatic key repeating. pressed for more than one-half second automatically repeats the transmission of the character. Key repeating ~oes not affect Set-Up, Hold Screen, and Ctrl. Select auto repeat mode by using the following sequences. Auto Repeat Mode (DECARM) ESC [ ? 8 h 033 133 077 070 150 Set selects auto repeat. automatically repeats. A key pressed for more than one-half second ESC [ ? 8 I 033 133 077 070 154 Reset turns off auto repeat. Keys do not automatically repeat. Local Echo (Keyboard Send-Receive) - This mode selects local echo, only in terminal mode, which causes every character transmitted by the Rainbow 100 computer to automatically appear on the screen. Therefore, the host computer does not have to transmit (echo) the character back to the Rainbow 100 computer for display. When local echo is off, the Rainbow 100 computer only transmits characters to the host computer. The host computer must echo the characters back to the Rainbow 100 computer for display. Select send-receive mode by using the following sequences. Send-Receive Mode (SRM) ESC [ I 2 h 033 133 061 062 150 Set turns off local echo. The Rainbow 100 characters to the host computer, which must display on screen. computer transmits echo characters for ESC [ I 2 I 033 133 061 062 154 Reset selects local echo. Characters transmitted to the host computer automatically appear on the screen. Cursor Key Character Selection - Cursor key mode selects the set of characters transmitted by the cursor keys. See Table 16 for the codes transmitted by the cursor keys. Select cursor key mode by using the following sequences. NOTE If you power up or use a system reset command, cursor This mode also resets during a key mode resets. communication line connection in all communication except full-duplex no modem control (FDX A) • 28 Cursor Key Mode (DECCKM) ESC [ ? 1 h 033 133 077 061 150 Set selects cursor keys to generate (application) functions. ESC [ ? 1 I 033 133 077 061 154 Reset selects cursor keys to generate cursor control sequences. Table 16: Cursor Key ANSI Cursor Control Key Codes Cursor Key Mode Reset Sends Cursor Control Sequence Cursor Key Mode Set Generates Application Functions ESC ESC [ A 0 A 033 l33 101 033 117 101 ESC ESC [ B 0 B 033 133 102 033 117 102 ESC ESC [ C 0 C 033 l33 103 033 117 103 ESC ESC [ D 033 133 104 0 D 033 117 104 Keypad Character Selection - The numeric keypad generates either numeric characters or control functions. Selecting application or numeric keypad mode determines the type of characters. The program function (PF) keys generate the same characters regardless of the keypad character selection. See Table 17 for the characters generated by the keypad. Select the keypad mode by using the following sequences. NOTE When you power up or use a system reset command, the terminal selects numeric keypad mode. This mode is also selected during communication line connections, except full-duplex no modem control (FDX A) • Application Keypad Mode (DECKPAM) ESC = 033 075 Selects application keypad mode. Keypad generates control functions. 29 Numeric Keypad Mode CDECKPNM) ESC > 033 076 Selects numeric keypad mode. Keypad generates characters that match the numeric, comma, period, and minus sign keys on main keyboard. Table 17: Key 0 1 Numeric Keypad Mode Application Keypad Mode 0 060 ESC 1 ESC 061 2 3 4 5 6 7 ANSI Keypad Codes 0 P 033 117 160 0 q 033 117 161 2 062 ESC 3 063 ESC r 0 033 117 162 s 0 033 117 163 4 ESC 064 033 117 164 5 065 ESC 6 066 ESC 7 ESC 067 t 0 u 0 033 117 165 v 0 033 117 166 0 w 033 117 167 x 8 070 ESC 9 9 071 ESC -(minus) - (minus) ESC 055 033 117 155 , (comma) ESC 8 , (comma) • (period) 0 033 117 170 0 Y 033 117 171 m 0 054 0 1 033 117 154 • (period) ESC 056 033 117 156 n 0 30 Table 17 (Cont.): ANSI Keypad Codes Numeric Keypad Mode Application Keypad Mode Enter* CR or CR LF 015 015 012 ESC 0 M 033 117 115 PFI ESC 0 P 033 117 120 ESC 0 P 033 117 120 PF2 Q ESC 0 033 117 121 Q ESC 0 033 117 121 PF3 ESC 0 R 033 117 122 R ESC 0 033 117 122 PF4 ESC a S 033 117 122 S ESC 0 033 117 123 Key NOTE In ANSI mode, if the codes are echoed back to the terminal or i f the terminals is off-line, the last character of the sequence appears on the screen; for example, PF4 appears as an nS". *In numeric keypad mode, Enter generates the same characters as Return. You can change the Return key character code with the line feed/new line feature. When off, this feature cause's the key to generate a single control character (CR, octal 015). When on, this feature causes the key to generate two characters (CR, octal 015 and LF, octal 0121. Character Sets and Selection - The Rainbow 100 the characters found in Tables 18 through 20. computer can display The Rainbow 100 computer can select only one character set at a time. Therefore, the Rainbow 100 computer uses the following three character sets, with some characters appearing in more than one set. The GR displayable characters found in Table 8 are always available. United States United Kingdom Special characters and line drawing (VT100 compatible) Tables 18 through 20 show the character sets. The United States and United Kingdom character sets meet the standard of the nISO interriatiori'al register of character sets ,to be used with escape sequences." The space (SP) and control characters are the same in all sets. 31 The terminal uses two active character sets at anyone time. The computer designates these sets as GO and Gl, using the select character set (SCS) sequence. Then a single control character can swi tch between sets. Shift in (Sr, octal 017) invokes the GO character set; shift out (SO, octal 016) invokes the Gl character set. The designated character sets are active until the terminal receives another SCS sequence. You can use the SCS sequence as often as needed to designate GO and Gl. Designate GO by using the following sequences. NOTE The terminal uses the character set selected in Set-Up after all communication line connections, except full-duplex no modem control (FDX A) • Select Character Set (SCS) ESC ( A 033 050 101 Designates the UK character set as GO. ESC ( B 033 050 102 Designates the US character set as GO. ESC ( 0 033 050 060 Designates the spec ial characters and line drawing GO. character set as character set as Designate Gl by using the following sequences. Select Character Set (SCS) ESC ) A 033 051 101 Designates the UK character set as Gl. ESC) B 033 051 102 Designates the US character set as Gl. ESC) 0 033 051 060 Designates the special characters and line drawing Gl. The terminal also has G2 and G3 character sets. However, these are always the default (selected in Set-Up) character sets. You select G2 and G3 for only one character at a time. The terminal returns to the previous character set after displaying a single character. Select G2 and G3 for one character by using the following sequences. 32 Table 18: 0 COLUMN BITS b8 rROW b5 b4 b3 b2 bl NUL 0 0 1 0 o 0 1 SOH 2 o 0 1 0 STX 3 0 0 1 1 ETX 4 0 1 0 0 EOT 5 0 1 0 1 ENQ 0 0 6 0 1 1 0 ACK 7 0 1 1 1 BEL 0 1 0 1 0 0 0 0 1 1 1 20 16 10 SP 21 17 11 ! 40 32 20 41 33 21 DC2 22 18 12 " DC3 IXOFFI 23 19 13 "# DC4 24 20 14 $ NAK 25 21 15 % 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 OLE DC1 IXONI SYN ETB 26 22 16 27 23 17 ~£ & , 42 34 22 43 35 23 44 36 24 45 37 25 46 38 26 47 39 27 0 A 101 65 41 Q 2 62 50 32 B 102 66 42 R 4 5 6 8 70 56 38 9 : BS 9 1 0 1 HT 11 9 9 EM 31 25 19 1 0 LF 12 10 A SUB 32 26 lA + 53 43 28 ; 54 44 2C < 10 1 0 ) * 11 1 0 1 1 VT 13 11 8 ESC 33 27 18 12 1 1 0 0 FF 14 12 C FS 34 28 lC , 1 CR 15 13 0 GS 35 29 - 13 1 1 14 1 1 1 0 SO 16 14 E RS 15 1 1 1 1 SI 17 15 F US NOTE: 0 10 36 30 1E 37 31 IF I 52 42 2A 55 45 20 56 46 2E 57 47 2F 65 53 35 66 54 36 67 55 37 0 0 63 51 33 64 52 34 7 0 ( P 61 49 31 1 0 CAN 100 64 40 1 3 = > ? C 0 E F G 103 67 43 104 68 44 105 69 45 106 70 46 107 71 47 U V W 125 85 55 126 86 56 127 87 57 111 73 49 Y 131 89 59 J 112 74 4A Z K 113 75 48 ( L 114 76 4C M 115 77 40 71 57 39 I 72 58 3A 76 62 3E 77 63 3F T 122 82 52 123 83 53 124 84 54 X H 74 60 3C 75 61 3D S 120 80 50 121 81 51 130 88 58 110 72 48 73 59 38 1 1 @ 30 8 50 40 28 51 41 29 60 48 N 0 0 0 0 0 116 78 4E 117 79 4F 90 5A ] A - 133 91 58 134 92 5C 135 93 50 1 1 1 1 0 , a b C d e f 9 140 96 60 141 97 61 142 98 62 143 99 63 144 100 64 145 101 65 146 102 66 147 103 67 P 160 112 70 q 161 113 71 r 162 114 72 5 163 115 73 U V W h X i 151 105 69 Y 152 106 6A Z j k 1 m 153 107 68 154 108 6C 155 109 60 136 94 5E n 156 110 6E 137 95 5F 0 157 111 6F 164 116 74 165 117 75 166 118 76 167 119 77 17Q 120 78 t 150 104 68 132 , 7 6 1 0 1 10 8 8 30 24 18 0 1 0 1 0 5 0 0 0 0 0 4 3 2 0 0 b6 0 1 0 b7 1-bit US/UK ASCII Characters 171 121 79 172 122 7A 173 123 78 { I 174 124 7C } 175 125 70 .... DEL 176 126 7E 177 127 7F DEPENDS ON THE CHARACTER SET SELECTED; U.S.-# U.K.- £ r-- CO CODES--~oI- · - - - - - - - - - ( A S C IGLCODES I GRAPHICS)----------loI L KEY CHARACTER E i l l 3 3 OCTAL 27 DECIMAL 18 HEX MR·9593 33 8~bit Table 19: 8 10 9 1 0 0 0 1 200 128 80 220 144 90 201 129 81 221 145 91 202 130 82 222 146, 92 203 131' 83 223 147 93 IND 204 132; 84 224 148 94 NEL 205 133 85 225 149 95 206 134 86 226 150 96 207 135 87 227 151 97 210 136 8B 230 152 98 HTS 211 137 89 231 153 99 212 138 8A 232 154 9A 213 139 BB CSI 214 140 ' 8C 233 155 9B 1 ~ 240 160 AD 0 i 241 161 ' AI' e 242 162 A2 2 £ 243 163 A3 3 245 165 A5 246 166 A6 263 179 83 264 180 B4 320 208 DO A 302 194 C2 A 303 195 C3 A - ..A 304 196 C4 ~ 266 182 B6 .E 306 198 C6 C; 307 199 C7 ):( 251 169 A9 1 252 170 AA Q 254 172 AC 300 192 CO 265 lBl 85 270 184 B8 234 156 9C 1 J.l 250 168 AB 253 171 AB 0 271 185 B9 272 186 BA » 273 187 BB 114 274 188 8C RI 215 141 80 235 157 90 255 173 AD SS2 216 142 8E 236 158 9E 256 174 AE 276 190 BE SS3 217 143 8F 237 159 9F 257 175 AF 277 191 BF" V2 (, 275 189 BD A , E , E A E ..E , I , I A I •• I 305 197 C5 310 200 C8 311 201 C9 312 202 CA 313 203 CB 314 204 CC 315 205 CD , a 340 224 EO - a 0 322 210 02 aA 342 226 , E2 0 323 211 03 , - 1 ~ ROW 360 240 FO 0 0 0 0, 0 n 361 241 Fl 0 0 0 1 1 0 362 242 F2 0 0 1 0 2 363 243 F3 0 0 1 1 3 364 244 F4 0 1 0 0 4 0 365 245 F5 0 1 0 1 5 0 1 1 0 ,6 -, , a '343 227 E3 0 324 212 04 a 344 228 E4 0 325 213 05 a 345 229 E5 0 366 246 F6 C8 367 247 F7 0 1 1 1 7 III 370 248 F8 1 0 0 0 8 371 249 F9 1 0 0 1 9 372 250 FA 1 0 1 0 10 u 373 251 FB 1 o .1 1 11 354 236 EC jj 374 252 FC 1 1 0 0 12 355 237 ED Y 375 253 FD 1 1 0 1 13 376 254 FE 1 1 1 0 14 377 255 FF 1 1 1,1 15 A 0 326 214 06 • 346 230 E6 CE 327 215 07 c; 347 231 E7 (lj 330 216 08 •• , U 331 217 09 U 332 218 DA 333 219 DB , A U •• U •• Y 316 206 CE 317 207 CF 0 BITS b6 b5 b4 b3 b2 bl 1 341 225 El , , b7 1 321 209 01 N COLUMN b8 1 0 301 193 Cl 262 17B B2 267 183 B7 « , A 247 167 A7 S! A ± § @ , 261 177 Bl 244 164 A4 ¥ 260 176 BO 1 1 0 1 0 15 1 1 1 0 1 14 1 1 0 0 13 12 11 1 1 1 0 Control and Displayable Characters 334 220 DC 335 22L DO 336 222 DE .13, 337 223 , OF , e , 350 232 E8 , 351 e 233 E9 e A 352 234 EA e 353 235 EB , I ,I A I 00 I 0 A 0 ,u , u A 356 236 EE 357 239 EF ~ I ~'I GRCODES ~C1 CODES--·+o·>---'------(DEC SUPPLEMENTAL GRAPHICS)-------I· KEY CHARACTER~06 OCTAL .E 19B DECIMAL C6 HEX MR-9594 34 Special Characters and Line Drawing Character Set Table 20: B7 0 0 0 B6 BITS - 000 0 0 NUL o 0 1 1 1 1 1 o 0 1 0 2 2 2 2 0 1 1 22 18 12 " 23 19 13 1 61 49 31 42 34 22 2 # 43 35 23 A 101 65 41 Q 121 81 51 62 50 32 B 102 66 42 R 122 82 52 3 63 51 33 C 103 S 123 5 5 % 45 37 25 5 65 53 35 E 105 69 45 U 5 25 21 15 6 6 6 26 22 16 & 46 6 66 54 36 F V 126 7 7 7 27 23 17 7 67 55 37 G W 127 7 BEL 106 70 46 107 71 47 10 8 8 H 110 72 48 11 9 9 ENQ 6 1 o ·0 0 8 BS 1 o 0 1 9 HT 0 41 33 21 P T 5 1 1 6 120 80 50 104 6B 44 1 0 ! 5 100 64 40 D 0 1 21 17 11 @ 64 52 34 1 1 0 60 48 30 4 0 1 DC3 40 32 20 44 36 24 4 1 DC1 (XON) SP 4 3 2 20 16 10 $ 0 0 1 0 24 20 14 o 0 1 1 1 4 4 4 1 1 1 0 0 3 3 3 0 1 0 1 ETX 3 EOT 0 1 1 0 1 0 0 0 0 o 1 0 1 1 COLUMN B4 B3 82 Bl ROW 0 0 0 0 B5 10 LF (XOFF) CAN 12 10 A SUB ESC , 3B 26 47 39 27 165 117 75 0 146 102 66 L 166 118 76 ± 147 X 130 88 58 ! 150 104 68 I 111 73 49 Y 131 \ 151 105 69 $ 112 74 4A Z J 152 106 6A l [ 153 107 6B II 154 108 6C 155 109 6D ~ 174 124 7C f. 175 125 7D 1 32 26 lA * 52 42 2A : 72 58 3A J 33 27 lB + 53 43 2B ; 73 59 3B K 113 , 54 < 74 60 3C L 114 76 4C = 75 61 3D M 115 77 4D ] 56 46 2E > 76 62 3E N 116 78 4E A 57 47 2F ? 77 0 117 79 (BLANK) 4F 0 12 FF 14 12 C 34 28 lC 1 1 o 1 13 CR 15 13 D 35 29 10 1 1 1 0 14 SO 16 14 E 36 30 lE 1 1 1 1 15 SI 17 15 F 37 31 IF / 44 2C 55 45 2D 63 3F 75 4B 86 56 71 57 39 0 114 72 i 83 53 55 9 1 SCAN 7 145 101 65 51 41 29 1 162 ~ ) 13 11 8 - 125 B5 31 25 19 VT SCAN 5 161 113 71 i 8 11 98 62 160 112 70 144 100 64 70 56 38 1 142 SCAN 3 124 B4 54 50 40 28 1 141 97 61 7 143 99 63 ( o , I - ~ 67 43 30 24 18 1 • 140 96 60 87 57 89 59 132 90 5A , 133 91 5B 134 92 5C 135 93 5D 136 94 5E 137 96 5F 1 r L t SCAN 1 103 67 - SCAN 9 r 163 115 73 164 116 74 167 119 T 77 170 120 78 171 121 79 172 122 7A 173 123 7B 156 110 6E 176 126 7E 157 111 6F 177 127 7F KEY ASCII CHARACTEREill33 OCTAL 27 DECIMAL 18 HEX MR-9587 35 Single Shift 2 (SS2) ESC N or SS2 033 116 216 Selects G2 (default) character set for one character. in Set-Up. You select G2 You select G3 Single Shift 3 (SS3) ESC 0 or SS3 033 117217 Selects G3 (default) character set for one character. in Set-Up. Character Attributes- The terminal can display character attributes that change the character changing the character. the following display· without • Underline • Reverse video (character background background feature) • Blink • Bold (increased intensity) • Any combination . of these attr ibutes (appl ied in the reception) opposite of the screen order of You can select one or more character attrib~tes at one time. Selecting an attribute do.es not turn off other attributes already selected. After you select an attribute, all, characters received by the terminal appear with that attribute. If you move the characters by scrolling, the attribute moves with the characters. Select the character attributes by using the following sequences. Select Graphic Renditi.on (SGR) ESC [ .. or ESC [ 0 m 033 133 155 . 033 133 060. 155 Turns off character attributes. ESC [ 1 m 033 133 061 155 Selects bold (increased intensity). ESC [ 4 m 033 133 064 155 Selects underline. ESC [ 5 m 033 133 064 155 Selects blink. ESC [ 7 II 033 133 065 155 Selects reverse video. 36 Tab Stops - You select tab stop positions on the horizontal l.ines of the screen. The cursor advances (tabs) to the next tab stop when the terminal receives a horizontal tab (HT, octal all). If no tab stops are set, horizontal tab moves the cursor to the right margin. Set and clear the tab stops by using the following sequences. Horizontal Tabulation Set (HTS) ESC H or HTS 033 110 210 Sets a horizontal tab stop at cursor position. Tabulation Clear (TBC) ESC [ 9 or ESC [ 0 9 033 133 147 033 133 060 147 Clears a horizontal tab stop at cursor position. ESC [ 3 9 033 133 063 147 Clears all horizontal tab stops. Line Attributes - These are display features that affect a complete display line. The cursor selects the line affected by the attribute. The cursor stays in the same character position when the attribute changes. However, if the attribute would move the cursor past the right marg in, the cursor stops at the right marg in. When you move lines on the screen by scrolling, the attribute moves with the line. Select line attributes by using the following sequences. NOTE If you erase an entire line by using the erase in display (ED) sequence, the line attribute changes to single-height and single-width. Double~.He ight Line (DECDHL) Top Half: ESC t 3 033 043 063 Bottom Half: ESC t 4 033 043 064 Makes the line with the cursor the top or bottom half of a double-height, double-width line. Sequences work in pairs on adjacent lines. The same character must be used on both lines to form full characters. If the line was single-width, single-height, all characters to the right of center are lost. 37 Single-Width Line (DECSWL) t 5 033 043 065 ESC Makes the line with the cursor single-width, single-height. line attribute for all new lines on screen. This is Double-Width Line (DECDWL) t 6 033 043 066 ESC Makes the line with the cursor double-width, single-height. If the line was single-width, single-height, all characters to the right of center screen are lost. Erasing - Erasing removes characters from the screen without affecting other characters on the screen. Erased characters are lost. The cursor position does not change when erasing characters or lines. sequence, the If you erase a line by using the erase in display (ED) line attribute becomes single-height, single-width. If you erase a line by using the erase in line (EL) sequence, the line attr ibute is not affected. Erasing a character also erases any character attribute of character. Erase characters by using the following sequences. the Erase in Line (EL) ESC ( K or ESC ( 0 K 033 133 113 033 133 060 113 Erases from cursor to end of line, including cursor position. ESC ( 1 K 033 133 061 113 Erases from beginning of line to cursor, including cursor position. ESC ( 2 K 033 133 062 113 Erases complete line. Erase in Display (ED) ESC ( J or ESC [ 0 J 033 133 112 033 133 060 112 Erases from cursor to end of screen, including cursor position. ESC [ 1 J 033 133 061 112 Erases from beginning of screen to cursor, including cursor position. 38 ESC [ 2 J 033 l33 062 112 Erases complete display. All lines single-width. Cursor does not move. are erased and changed to Computer Editing - Editing allows the computer to insert or delete characters and lines of characters at the cursor position. The cursor position does not change when inserting or deleting lines. Delete characters or insert and delete lines by using the following sequences. NOTE Insertion-replacement mode (RM) selects how characters are added to the screen. See Inserting and Replacing Characters in this chapter for more information. Delete Character (DCB) ESC [ 033 133 Pn *** P 120 Deletes Pn characters, starting with character at cursor position. When a character is deleted, all characters to the right of cursor move left. This creates a space character at right margin. This character has all attributes off. Insert Line (IL) ESC [ 033 133 Pn *** L 114 Inserts Pn lines at line with cursor. Lines displayed below cursor move down. Lines moved past the bottom margin are lost. This sequence is ignored when cursor is outside scrolling region. Delete Line (DL) ESC [ 033 l33 Pn *** M 115 Deletes Pn lines starting at line with cursor. As lines are deleted, lines displayed below cursor move up. Lines added to bottom of screen have spaces with same character attributes as last line moved up. This sequence is ignored when cursor is outside scrolling region. Inserting and Replacing Characters - The terminal displays received characters at the cursor; position. This mode determines how the terminal adds characters to the screen. Insert mode displays the character and moves previously displayed characters to the right. Replace mode ad~s characters by replacing the character at the cursor position. Select insertion-replacement mode by using the following sequences. 39 NOTE This mode resets after a communication line connection in all communication except full-duplex no modem control (FOX A). It also resets any time NVM is saved. Insertion-Replacement Mode (IRM) ESC [ 4 h 033 133 064 150 Set selects insert mode and turns INSERT on. New display characters move old display characters to the right. Characters moved past the right margin are lost. ESC [ 4 I 033 133 064 154 Reset selects replace mode and turns INSERT off. New characters replace old display characters at cursor position. character is erased. display The old Printing in Terminal Mode - The Rainbow 100 computer has a serial printer interface for local printing. The host computer can select all print operations by using escape sequences. You can only select two of the print operations from the keyboard, auto print and Print Screen. When you print characters from the screen, Rainbow 100 computer terminal and printer tab stops are ignored. Print char~cters are spaced with the space (SP, octal 040) character. The terminal transmits a carriage return (CR, octal 015) and line feed (LF, octal 012) after the last printable character of a line - but not a space character. A line of double-height characters prints as two identical lines single-width characters. Double-width characters print single-width characters on a single line. of as Before selecting a print operation, check the printer status by using the printer status report (DSR) in ANSI mode. Do not select a print operation if the serial printer is not ready to print. Select print operations by using the following sequences. Media Copy (Auto Print ON) (MC) ESC [ ? 5 i 033 133 077 065 151 Turns on auto print. A display line prints after you move cursor off the line, using a line feed, form feed, or vertical tab (also transmitted to printer). The line also prints during an auto wrap. CR,LF. 40 Auto wrap lines end with a Media Copy (Auto Print Off) (MC) ESC [ ? 4 i 033 133 077 064 151 Turns off auto print. NOTE Printer controller has a higher priority than auto print. Therefore, you can select printer controller and print characters during auto print. Media Copy (Printer Controller On) (MC) ESC [ 5 i 033 133 065 151 Turns on printer controller. The terminal transmits received characters to printer without displaying them. The terminal does not insert or delete spaces, provide line delimiters, or select the correct printer character set. Media Copy (Printer Controller Off) (MC) ESC [ 4 i 033 133 064 151 Turns off printer controller. Always move printhead before turning off printer controller. Media Copy (Print Cursor Line) to left margin (MC) ESC [ ? 1 i 033 133 077 161 151 Prints display line with cursor. Cursor Print cursor line ends when line prints. Media Copy (Print Screen) position does not change. (MC) ESC [ i or ESC [ 0 i 033 133 151 033 133 060 151 Prints the screen. Printer extent (DECEXT) selects full screen or scrolling region to print. Select scrolling region by using set top and bottom margins (DECSTBM) sequence. Print Screen ends when .screen prints. Printer Extent in Terminal Mode- This mode selects the full- screen or the scrolling region to print during a Print Screen. Select printer extent mode by using the following sequences. 41 Printer Extent Mode (DECPEX) ESC [ ? 1 9 h 033 133 077 061 071 150 Set selects the full screen to print during a Print Screen. ESC [ ? 1 9 .1 033 133 077 061 071 154 Reset selects the scrolling region to print during a Print Screen. Print Termination Character in Terminal Mode - This mode determines if the terminal should transmit a print termination character after a Print Screen. The form feed (octal, 014) control character serves as the print termination character. Select printer form feed mode by using the following sequence. ESC [ ? 1 8 h 033 133 077 061 070 150 Set selects form feed as print termination character. The transmits this character to printer after each Print Screen. terminal ESC [ ? 1 8 1 033 133 077 061 070 154 Reset selects no termination character. Reports - The Rainbow 100 computer transmits reports in response to escape sequence requests. Reports determine terminal emulation type and status, and cursor position. The report requests and responses are as follows. NOTE The terminal does not respond to the DSR, DA, or DECID sequences during printer controller operation. Device Status Report (DSR) ESC [ 5 n 033 133 065 156 Computer requests a status report (using a DSR sequence) • ESC [ 0 n 033 133 060 156 Terminal response: Ready, no malfunctions detected. 42 These next four codes apply to terminal mode only. ESC [ ? 1 5 n 033 133 077 061 065 156 Computer requests a printer status report. Terminal checks status of printer. This report should be requested before any print operation. ESC [ ? 1 3 n 033 133 077 061 063 156 Printer not connected to terminal. Data terminal ready (DTR) of the printer has not been on since terminal turned on. signal ESC [ ? lIn 033 133 077 061 061 156 Printer not ready to print. Printer DTR was on, but is now off. ESC [ ? IOn 033 133 077 061 060 156 Printer ready to print. Printer DTR is on. Cursor Position Report (CPR) ESC [ 6 n 033 133 066 156 Requests a cursor position report. ESC [ PI ; Pc R 033 133 *** 073 *** 122 Terminal reports cursor position in response to DSR sequence request from computer. PI indicates line and Pc indicates column. No parameters, or parameters of 0, indicate cursor is at home position. Origin mode (DECOM) determines whether line numbering is relative to the top of the screen or the top of the scrolling region. Device Attributes (DA) ESC [ c or ESC [ 0 c 033 133 143 033 133 060 143 A request for Rainbow 100 computer identification. Identify Terminal (DECID) ESC Z 033 132 A request for Rainbow 100 computer identification. Rainbow 100 computer uses device attributes (DA) to respond. Future DIGITAL terminals may not support this sequence. Therefore, new software should use device attributes. Device Attributes (DA) ESC [ ? 6 c 033 133 077 066 143 Rainbow 100 response: nI am a VTI02. n 43 Reset to Initial State(RIS) ESC c 033 143 Resets the terminal to its initial state. CAUTION It is recommended that unpredictable results. this not be uSed due to Adjustments - The terminal has a screen alignment pattern that lets Field Service personnel adjust the screen. Display the screen alignment pattern by using the following sequence. Screen Alignment Display (DECALN) ESC • 8 033 043 070 Fills screen with uppercase E's for screen focus and alignment. This command is used by DIGITAL Manufacturing and Field Service personnel. VT52-Compatible Sequences VT52-compatible sequences meet private DIGITAL standards. Therefore, the terminal can use existing software designed for previous terminals (such as the VT52). You can select VT52 compatibility from the keyboard in Set-Up or the computer can use a sequence. (See ANSI~Compatible Sequences in this chapter). , NOTE In VT52 mode, a-bit control characters and displayable characters are processed just as in ANSI mode. Modes - In VT2 mode, you cannot select most terminal features by,using sequences. You can, however, select, the following three modes by using sequences: ANSI mode, application keypad mode on, and application keypad mode off (numeric keypad mode on). ANSI/VT52 Compatibility - The terminal is compatible with both ANSI and private DIGITAL standards. Therefore, the terminal can use new software that meets ANSI standards and existing software designed for previous terminals (such as the VT52). ANSI-compatible sequences meet standards X3.64-1979 andX3.4l-l974. You use ANSI mode to select most terminal features1 the terminal uses the same features when it switches to .VT52 mode. You cannot, ,", however, change most of these ,features in VT52 mode. Select ANSI compatibility by using the following sequence. 44 ANSI Mode (DECANM) ESC < 033 074 The terminal interprets all sequences according to ANSI standards X3.64-1979 and X3.41-1974. The VT52 escape sequences described in this chapter are not recognized. Cursor Positioning - The cursor indicates the active screen position where the next character will appear. You must select the margins for VT52 mode in ANSI mode. If you do not select marg ins, the terminal uses the complete screen. The cursor moves: • One column to the right when a character appears • One line down after a line feed, form feed, or vertical tab (Line feed/new line may also move the cursor to left margin.) • To the left margin after a carriage return • One column to the left after a backspace • To the next tab stop (or right margin after a horizontal tab character. if no tabs are set) You can also move the cursor by using the following sequences. Cursor Up ESC A 033 101 Moves cursor up one line in same column. Cursor stops at top margin. Cursor Down ESC 8 033 102 Moves cursor down one line in same column. marg in. Cursor stops at Cursor Right ESC C 033 103 Moves cursor one column to right. Cursor stops at right margin. Cursor Left ESC D 033 104 Moves cursor one column to left. Cursor stops at left margin. 45 bottom Cursor to Home ESC H 033 110 Moves cursor to home position. Direct Cursor Address ESC Y line column 033 131 *** *** Moves cursor to specified line and column. Line and column numbers are ASCII characters whose codes are their octal value plus octal 037. For example, line 1 column 8 parameters are octal 040 (first line) and octal 047 (eighth column) • Reverse Line Feed ESC I or RI 033 I I I 215 Moves cursor up one line in same column. screen performs scroll-down. If cursor is at top margin, Keypad Character Selection - The numeric keypad generates either numeric characters or control functions. Select application keypad mode to generate control functions. Exit application keypad mode (select numeric keypad mode) to generate numeric characters. See Table 21 for the characters generated by the keypad. Enter and exit application keypad mode by using the following sequences. NOTE When you power up or use a system reset command, the terminal exits application keypad mode (selects numeric keypad mode). This mode is also selected during communication line connections, except full-duplex no modem control (FDX A) • Enter Application Keypad Mode ESC = 033 075 Keypad generates sequences used by the application program. Exit Application Keypad Mode (Numeric Keypad Mode) ESC > 033 076 Keypad generates characters that match the numeric, comma, period, and minus sign keys on main keyboard. 46 Table 21: VT52 Keypad Codes Application Keypad Mode Off (Numeric Keypad Mode) Application Keypad Mode On 0 0 060 ESC ? P 033 077 160 1 1 061 ESC ? q 033 077 161 2 2 062 ESC ? r 033 077 162 3 3 063 ESC ? s 033 077 163 4 4 064 ESC ? t 033 077 164 5 5 065 ESC ? u 033 077 165 6 6 066 ESC ? v 033 077 166 7 7 067 ESC ? w 033 077 167 8 8 070 ESC ? x 033 077 170 9 9 071 ESC ? Y 033 077 171 -(minus) - (minus) ESC ? m 033 077 155* Key 055 , (comma) , (comma) 054 • (period) .(period) 056 ESC ? 1 033 077 154* ESC ? n 033 077 156 47 Table 21 (Cont.): VT52 Keypad Codes Application keypad Mode Off (Humeric Keypad Mode) Applic.ation Keypad Mdde On Enter+ CR or CR LF 015 015 012 ESC ? M 033 077 115 PF1 ESC P 033 120 ESC P 033 120 PF2 ESC Q 033 121 ESC Q 033 121 PF3 ESC R 033 122 ESC R 033 122 PF4 ESC S 033 123 ESC S 033 123* Key *These sequences are not generated by the VT52. +In numeric keypad mode, (application keypad mode off), Enter generates the same characters as Return. You can change the Return key character code with the line feed/new line feature. When off,' this feature causes the key to generate a single control character (CR, octal 015). When on, this feature causes the key to generate two characters (CR, octal 015 and LF, octal 012). Character Sets and Selection - In VT52 mode, the terminal uses either the US/UK character set selected in Set-Up or the special characters and line drawing character set. Tables 18 and 19 show the United Kingdom and United States character sets. Table 20 shows the special characters and line drawing character set. Table 22 compares the special characters and line drawing character set to VT52 graphics mode (character set). Select the character sets by using the following sequences. NOTE The character setsele~ted in Set-Up is used after all communication line connections, except full-duplex no modem control (FOX A) • Enter Graphics Mode ESC F 033 106 Selects the special characters and line drawing character set. Exit Graphics Mode ESC G 033 107 Selects the character set selected in Set-Up. 48 Table 22: Octal Code US or UK Set 137 140 141 / 142 143 144 145 146 147 150 151 152 153 154 155 156 157 160 161 162 163 164 165 166 167 170 171 172 173 174 175 176 a b c d e f g h i j k 1 m n 0 P q r s t u v w x Y z { I } Special Characters and Line Graphics Mode Comparison Special Characters and Line Drawing Set Blank Diamond Checkerboard (error ind icator) Horizontal tab Form feed Carriage return Line feed Degree symbol Plus/minus New line Vertical tab Lower-right corner Upper-right corner Upper-left corner Lower-left corner Crossing lines Horizontal line - scan 1 Horizontal line - scan 3 Horizontal line - scan 5 Horizontal line - scan 7 Horizontal line - scan 9 Left "T" Right "T" Bottom "T" Top "T" Vertical bar Less than or equal to Greater than or equal to Pi Not equal to UK pound sign Centered dot Drawing Set and VT52 VT52 Graphics Mode (Not Available in Rainbow 100 Computer Blank Reserved Solid rectangle 1/ 3/ 5/ 7/ Degrees Plus or minus Right arrow Ell ipsi s (dots) Divide by Down arrow Bar at scan 0 Bar at scan 1 Bar at scan 2 Bar at scan 3 Bar at scan 4 Bar at scan 5 Bar at scan 6 Bar at scan 7 Subscript 0 Subscript 1 Subscript 2 Subscript 3 Subscript 4 Subscript 5 Subscript 6 Subscript 7 Subscript 8 Subscript 9 Paragraph Erasing - Erasing removes characters from the sc reen. Erased characters are lost. Erase characters by using the following sequences. Erase to End of Line ESC K 033 113 Erases all characters from cursor to end of cursor position. Cursor does not move. 49 current line, including Erase to end of Screen ESC J 033 112 Erases all characters from cursor to end of screen, to end of position. Cursor does not move. including cursor Printing in Terminal Mode - The Rainbow 100 computer has a serial printer interface for local printing. The host computer can select all print operations by using sequences. You can only select two print operations from the keyboard, auto print and Print Screen. When you print characters from the screen, terminal and printer tab stops are ignored. Characters printed are spaced with the space (SP, octal 040) character. The Rainbow 100 computer transmits a carriage return and line feed but not a space character - after the last printable character of a line. A line of double-height characters print as two identical lines single-width characters. Double-width print characters single-width characters on a single line. of as Before selecting a print operation, check the printer status by using the printer status report (DSR) in ANSI mode. Do not select a print operation if the serial printer is not ready to print. Select print operations by using the following sequences. Auto Print ESC 033 136 Turns on auto print. A display line prints after you move cursor off the line, using a line feed, form feed, or vertical tab (also transmitted to printer). The line also prints during an auto wrap. CR, LF. Auto wrap lines end ESC 033 137 Turns off auto print. NOTE Printer controller has a higher priority than auto print. Therefore, you can select printer controller and print characters during auto print. 50 with Print Controller ESC W 033 127 Turns on print controller. The terminal transmits received characters to printer without displaying them. The terminal does not insert or delete spaces, provide line delimiters, or select printer character set. ESC X 033 130 Turns off printer controller. Always move printhead before turning off printer controller. to left margin Print Cursor Line ESC V 033 126 Prints display line with cursor. Cursor position Print cursor line ends when the line prints. does not change. Print Screen ESC ] 033 135 Prints the screen. Printer extent (DECPEX) determines whether full screen or scrolling region prints. Select scrolling region by using DECSTBM sequence. Print Screen ends when screen prints. Reports - The Rainbow 100 computer transmits reports in response to escape sequence report requests. The Rainbow 100 computer generates only one report in VT52 mode. The report requests and responses are as follows. Identify ESC Z 033 132 This escape sequence requests the Rainbow itself • 100 computer to ESC / Z 033 057 132 Rainbow 100 computer responds "I am a VT52." (Same as VT52.) 51 identify APPENDIX A PROGRAMMING SUMMARY GENERAL This appendix provides a summary of Rainbow 100 control sequences. computer escape and Figure 4 shows the codes generated by the standard keys. Figure 5 shows the control codes generated by the function keys; shaded keys do not need Ctrl down to generate the control character. Ctrl LJ-Olljl Figure 4: Standard Key Codes Programming Sequences The rest of this appendix repeats the information in summary for •• Control Charact.ers Received Name Character Mnemonic Octcll Code Null NUL 000 Ignored when r.eceived (not stored in input buffer) and used as a fill character. End of transmission EOT 004 Can be selected as a disconnect character. When used as a turnaround character, the disconnect character is DLE-EOT. 52 Function Name Character Mnemonic Octal Code Function Enquire ENQ 005 Transmits answerback message. Bell BEL 007 Generates bell tone. Backspace BS 010 Moves cursor to the left one character position; if cursor is at left margin, no action occurs. Horizontal HT 011 Moves cursor to next tab stop, or to right margin if there are no more tab stops. Line feed LF 012 Causes a line feed or a new line operation (See line feed/new line mode.) Causes printing if in terminal mode and if auto print operation selected. Vertical tab VT 013 Processed as LF. Form feed FF 014 Processed as LF. Carriage return CR 015 Moves cursor to current line. Shift out SO 016 Selects Gl character set designated by a select character set sequence. Shift in SI 017 Selects GO character set designated by a select character set sequence. Device control 1 DCl 021 Processed as XON. DCl causes terminal to continue transmit~ing characters. (Terminal mode only) • Device control 3 DC3 023 Processed as XOFF. DC3 causes terminal to stop transmitting all characters except XOFF and XON. (Terminal mode only) • Cancel CAN 030 If received during an escape or control sequence, cancels the seq~~nce and displays substitution character( ). Substitute sus 032 Processed as CAN. Escape ESC 033 Processed introducer. Index IND 204 Processes a line feed. Next line NEL 205 Processes as a CR LF sequence. Horizontal tab set HTS 210 Sets a horizontal location. Reverse index RI 215 Equals a reverse line feed. 53 as left margin on , sequence a tab at cursor Name Character Mnemonic Octal Code Function Single shift 2 SS2 216 Selects G2 character set for next character only. the Single shift 3 SS3 217 Selects G3 character set for next character only. the Control sequence introducer CSI 233 Equals an ESC [ . ANSI Compatible Sequences Set Mode Name Mnemonic Mode Sequence Keyboard action Insertion-replacement Send-receive Line feed/new line Cursor key ANSI/VT52 Column Scrolling Screen Origin Auto Wrap Auto repeat Print form feed Print extent KAM IRM SRM LMN DECCKM DECANM DECCOLM DECSCLM DECSCNM DECOM DECAWM DECARM DECPFF EDCPEX Locked Insert Off New line Application ANSI 132 column Smooth Reverse Relative On On On Full screen ESC ESC ESC ESC ESC N/A ESC ESC ESC ESC ESC ESC ESC ESC Name Mnemonic Mode Sequence* Keyboard Action Insertion-replacement Send-receive Line feed/new line Cursor Key ANSI/VT52 Column Scroll ing Screen Origin Auto wrap Auto repeat Print form feed Print extent KAM IRM SRM LMN DECCKM DECANM DECCOLM DECSCLM DECSCNM DECOM DECAWM DECARM DECPFF DECPEX Unlocked Replace On Line feed Cursor VT52 80 column Jump Normal Absolute Off Off Off Scroll ing region ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC ESC 2 4 1 2 h h 2 h ** 0 h ? 1 h [ ? 3 h [ ? 4 h [ ? 5 h [ ? 6 h [ ? 7 h [ ? 8 h [ ? 1 8 h** [ ? 1 9 h** Reset Mode *The last character of the sequence is lowercase **Terminal mode only. 54 [ [ [ [ [ 2 4 1 2 ? ? [ ? [ ? [ 5 [ ? [ ? [ ? [ ? [ ? [ ~(154 1 1 2 0 1 2 3 4 ? 6 7 8 1 1 1** 1 1 1 1 1 1 1 1 1 8 1** 9 1** octal) Cursor Key Codes Generated Cursor Key (Arrow) ANSI Characters Generated Reset Set (Application) (Cursor) Up Down Right Left ESC ESC ESC ESC A a a a a ESC ESC ESC ESC B C D A B C D Keypad Character Selection Name Mnemonic Sequence Al ternate Numeric DECKPAM DECKPNM ESC ESC> Keypad Codes Generated Key 0 1 2 3 4 5 6 7 8 9 - (minus) ,(comma) • (period) ENTER PF1 PF2 PF3 PF4 VT52 VT52 Numeric Keypad Mode Alternate Keypad Mode ESC ESC 2 ESC ESC 3 4 ESC ESC 5 6 ESC 7 ESC 8 ESC ESC 9 -(minus) ESC ,(comma) ESC • (period) ESC Same as ESC RETURN ESC P ESC ESC Q ESC ESC R ESC ESC S ESC 0 1 *The last character ~f ? ? ? ? ? ? ? ? ? ? ? ? ? ? P Q R S P q r s t u v w x Y m 1* N M ANSI Numeric Keypad Mode ANSI Alternate. Keypad Mode ESC ESC ESC ESC ESC ESC ESC 6 ESC 7 8 ESC ESC 9 - (minus) ESC ,(comma) ESC • (period) ESC Same as ESC RETURN ESC a P ESC ESC a Q ESC ESC a R ESC ESC a S ESC 0 1 2 3 4 5 a a a a a a a a a a a a a a a a a a p q r s t u v w x. y m 1* n M P Q R S the sequence is lowercase L (154 octal) 55 Select Character Sets SCS Character Set GO Designator Gl Designator United Kingdom (UK) United States (USASCII) Special characters and line drawing set ESC ESC ESC ESC ESC ESC Name Mnemonic Sequence Single shift 2 Single shift 3 SS2 SS3 ESC N ESC 0 A B o A B o Character Attributes Name Mnemonic Sequence Select graphic rendition (no attributes) SGR ESC Select graphic rendition (no attr ibutes) SGR EC [ 0 m Select graphic rendition (select attribute bold) SGR ESC I m Select graphic rendition (select attribute underl ine) SGR ESC 4 m Select graphic rend i tion (select attribute blink) SGR ESC 5 m Select graphic rendition (select attribute, reverse video) SGR ESC Name Mnemonic Sequence Cursor up Cursor down Cursor forward ( right) Cursor backward (left) Cursor position Cursor position (home) Hor izontal and vertical position Horizontal and vertical position (home) Index Reverse index Next line Save cursor (and attributes) Restore cursor (and attributes) euu CUD eUF CUB CUP CUP HVP HVP ESC ESC ESC ESc ESC ESC ESC ESC IND RI NEL DEese DEeRe ESC ESC ESC ESC ESC [ [ m 7 m Scrolling Region 56 Pn A Pn B Pn e Pn D PI; Pc H H PI; Pc f f D M E 7 8 Tab Stops Name Mnemonic Sequence Horizontal tab set (at current column) Tabulation clear (at current column) Tabulation clear (at current column) Tabulation clear (all tabs) HTS ESC H TBC ESC g TBC ESC 0 g TBC ESC 3 g Name Mnemonic Sequence Double-height top half Double-height bottom half Single-width single-height Double-width single-height DECDHL ECDHL DECSWL DEC OWL ESC ESC ESC ESC Name Mnemonic Sequence Erase in line (cursor to end of line) Erase in line (cursor to end of line) Erase in line (beginning of line to cursor) Erase in line (entire line containing cursor) Erase in display (cursor to end of screen) Erase in display (cursor to end of screen) Erase in display (beginning of screen to cursor) Erase in display (entire screen) EL ESC K EL ESC 0 K EL ESC 1 K EL ESC 2 K ED ESC [ J ED ESC 0 J ED ESC 1 J ED ESC 2 J Name Mnemonic Sequence Delete character Insert line Delete line DCH ESC [ Pn P ESC [ Pn L ESC [ Pn M Line Attributes t i t i 3 4 5 6 Erasing Editing Functions IL DL 57 Print Commands for Terminal Mode Name Mnemonic Sequence Media copy (enter auto print) Media copy (exit auto print) Media copy (enter printer controller) Media copy (exit printer controller) Media copy (Print Screen) Media copy (Print Screen) Media copy (print cursor line) MC MC MC ESC [ ? 5 i ESC [ ? 4 i ESC [ 5 i MC ESC 4 i MC MC MC ESC ESC ESC i 0 i ? I i Name Mnemonic Sequence Device status report (request status of VTI02) Response: Terminal OK DSR ESC 5 n DSR ESC o Device status report (request status of printer) Response: Printer ready Printer not ready No printer DSR ESc ? 1 5 n DSR DSR DSR ESC [ ? I 0 n* ESC [ ? I 1 n* ESC [ ? I 3 n* Device status report (report cursor position) Cursor position report DSR ESC 6 n CPR ESC PI; Pc R DA DA ESC [ c ESC [ 0 c ESC Z Reports Device attributes (what are you) Device attributes (what are you) Identify terminal (what are you) DEClO n NOTE ESC Z is not recommended. Device attributes response: VTI02 DA NOTE ESC c is not recommended. *Terminal mode o~ly. 58 ESC [ ? 6 c Reset Name Mnemonic Sequence Reset to initial state RIS ESC c CAUTION Do not use, unpredictable results. Tests and Adjustments Name Mnemonic Sequence Screen alignment display (fill screen with "ES") DECALN ESC * 8 VT52 Compatible Mode Modes Sequence Enter ANSI mode ESC < Keypad Character Selection Name Sequence Enter alternate keypad mode Exit alternate keypad mode (Numeric keypad mode) ESC = ESC> NOTE VT52 alternate keypad different than ANSI. and numeric keypad mode Character Sets Name Sequenc.e Special graphics character set ESC F* Select US/UK character set ESC G (as determined by US/UK character Set-Up feature) *Same as special character and line drawing set in ANSI mode. 59 Cursor Position Name Sequence Cursor up* Cursor down* Cursor right* Cursor left* Cursor to horne Direct cursor address Reverse line feed ESC ESC ESC ESC ESC ESC ESC A B C D H Y pI Pc** I*** *Same when sent from the terminal. **Line and column numbers for direct cursor address are single character codes whose values are the desired number plus 37 octal. Line and column number start at one. ***The last character of the sequence is an uppercaSe I Erasing Name Sequence Erase to end of line Erase to end of screen ESC K ESC J Print Commands for Terminal Mode Name Sequence Enter auto print mode Exit auto print mode Enter printer controller mode Exit printer controller mode Print Screen Print cursor line ESC ESC ESC W ESC X ESC] ESC V Reports Name Sequence Identify (what are you) Response: VTI02 (same as VT52) ESC Z ESC / Z 60 (Ill octal). APPENDIX B CONTROL FUNCTIONS (SEQUENCE FORMATS) GENERAL This appendix summarizes the ANSI code extension techniques defined in standards X3.4l-l974 and X3.64-l979. Those specifications cover many special cases and details not included here. Control Functions The ANSI standards detine types of characters used for specific purposes. You can determine a character's type by its position in the ASCII table (Table 22). There are two general categories of characters: • display (columns 2 through 7; 10-15) • control (columns a and 1; 8 and 9) This table and the ANSI system can work for either a 7-bit or 8-bit character environment. The Rainbow 100 computer uses both 7-bit. and 8-bit characters. NOTE The ASCII 7-bit table corresponds to International Standards Organization (ISO) standard 646 and International Telegraph and Telephone Consultive Committee (CCITT) alphabet 5. All control characters and groups of characters (sequences) not intended for display on the screen are control functions. Not all control functions perform an action in every ANSI device, but each device can recognize all control functions and discard any that do not apply to it. Therefore, each device performs a subset of the ANSI functions. Because different devices use different subsets, compliance with ANSI does not mean compatibility between devices. Compliance only means that a particular function, if defined in the ANSI standard, is invoked by the same control function in all devices. If an ANSI device does not perform an action that has a control function defined in the ANSI standard, it cannot use that control function for any other purpose. 61 'l'able 23: BITS b8 b7 ,-ROW 0 , 0 000 NUL 1 o 0 0 1 SOH 2 o 0 1 0 STX 3 o 0 1 1 ETX 4 o 1 o 0> EOT 5 o 1 0 1 ENQ 6 o 1 0 ACK 7 0 8 1 0 9 1 1 0 10 1 0 11 1 12 1 o 1 1 o 1 0 BEL BS 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 20 16 10 OC1 iXONI 21 17 11 ! OC2 22 18 12 " OC3 iXOFFI 23 19 13 DC4 24 20 14 NAK 25 21 15 SYN ETB co CAN 8 8 SP •• "£ $ % 26 22 16 27 23 & , n 30 ( 24 18 HT 11 9 9 EM 31 25 19 1 0 LF 12 10 A SUB 32 26 lA 1 VT 13 11 8 ESC 33 27 18 FF 14 12 C FS 34 28 lC , GS 35 29 10 - 0 1 0 1 1 0 13 11 o 1 CR 14 1 1 1 0 SO 16 14 E RS 15 1 1 1 1 SI 17 15 F US 1 0 OLE 15 13 0 NOTE: 1 1 0 ) * + 36 30 IE 37 3>1 IF I 0 1 40 32 20 41 33 21 42 34 22 43 35 23 44 36 24 45 37 25 46 38 26 47 39 27 50 40 28 51 41 29 0 60 48 > 80 A 101 65 41 Q 121 81 51 B 102 66 42 R 1 61 49 31 2 62 50 32 4 63 51 33 64 52 34 5 65 53 35 6 54 C 0 66 67 55 37 F G 56 38 68 44 69 45 106 70 46 107 71 47 70 8 103 67 43 104 S T 105 E 36 7 120 P 64 40 U , a b C d e 126 V W 86 56 127 87 57 f 110 72 48 X 88 58 141 97 61 142 98 62 143 99 63 144 100 64 145 101 65 146 102 160 P 112 70 q 161 113 71 r 162 114 72 S 163 115 13 u 9 147 103 67 W h 150 104 68 X i 151 105 69 Y 170 I 111 73 49 Y 52 42 2A : 72 58 3A J 112 74 4A Z 132 90 5A j 152 106 6A Z 53 43 28> ; 73 59 38 K 113 75 48 [ 133 91 58 k 153 107 68 { L 114 76 4C \ M 115 77 40 ] 54 2C < 55 45 20 = 74 60 3C 75 61 30 56 46 2E > 76 62 3E 57 47 2F ? 44 71 63 3f I N 0 116 78 4E 117 79 4F A - 131 89 134 92 5C 135 93 50 166 118 76 167 119 77 Y 71 57 39 59 164 116 74 165 117 75 t 86 130 H 140 96 60 1 m 154 108 6C 155 109 60 136 94 5E n 156 110 6E 137 95 5F 0 157 111 6F 1 1 0 50 122 82 52 123 83 53» 124 84 > 54 125 85 55 1 1 9 DEPENDS ON THE CHARACTER SET SELECTED; U.S.-# U.K.- J: I-- 100 30 3 1 1 0 @ 0 0 0 0 7 6 1 1 0 0 0 5 0 0 0 0 0 b5 b4 b3 b2 bl 4 3 2 0 0 b6 o 1 Q COLUMN OS/OK ASCII Characters 120 7B 171 121 79 172 122 7A 173 123 78 I 174 124 7C } 175 125 70 DEL 176 126 7E 177 127 7F I GL CODES COCODES--'ofo--'--------(ASCIiGRAPHICS)-----------t' KEY CHARACTEREill33 OCrAL 27 DECIMAL 18 HEX MR;9593 62 Table 24: 10 9 8 1 1 a NEL HTS 11 1 a 1 200 128 80 220 144 90 201 129 Bl 221 145 91 202 130 82 ~ 240 160 AO A ± 261 177 Bl A 262 17B B2 i 241 161 Al 222 146 92 e 242 162 A2 2 203 131 83 223 147 93 £ 243 163 A3 3 204 132 84 224 148 94 263 179 B3 , 321 209 Dl a ..A 0 32.5 213 D5 0 326 214 D6 307 199 C7 310 200 C8 A 305 197 C5 ~ 266 182 86 ,IE 306 198 C6 207 135 87 227 151 97 § 247 167 A7 267 183 87 ~ 210 136 88 230 152 98 ~ 250 168 A8 270 184 88 E 211 137 89 231 153 99 © 251 169 A9 1 271 185 B9 E 212 138 8A 232 154 9A !! 252 Q AA 272 186 BA E 213 139 8B 233 155 98 253 171 AB » 273 187 BB 114 274 lB8 8C 112 275 189 BO RI 215 141 80 235 157 90 255 173 AD SS2 216 142 8E .!36 158 9E 256 174 AE 276 190 BE SS3 217 143 BF 237 159 9F 257 175 Af 277 .191 BF (, , , A ..E , I , I A I •• I 323 211 D3 0 f.L 246 166 A6 , 322 210 D2 324 212 D4 245 165 A5 254 172 AC , 0 265 181 85 234 156 9C N 303 195 C3 264 180 84 HO - A - 226 150 96 1__ .... C1 a 0 A 206 134 86 « 320 208 DO A 225 149 95 CSI 300 192 CO 302 194 C2 205 133 85 =t- 1 301 193 Cl 304 196 C4 A -.. 315 205 CO , 340 224 EO 341 225 E1 a 342 226 E2 a 343 227 E3 A a a 344 228 E4 345 229 E5 CE C; 347 231 E7 £' 330 216 D8 e , U 314 204 CC , 327 215 D7 312 202 CA 313 203 CB a 346 230 E6 U , A U ..U ..Y , 350 232 E8 e 351 233 E9 332 218 OA e" 352 234 EA eo 353 235 E8 334 220 DC 335 221 DO 316 206 CE 336 222 DE 317 207 CF 337 223 OF .Jl , 331 211 D9 333 219 08 1 GR CODES CODES----o·...·o-------(DEC SUPPLEMENTAL GRAPHICS) b7 ,I , I 354 236 EC 355 237 ED "I 356 238 EE "I 357 239 EF B.ITS b6 b5 b4 b3 b2 bl 1 ae 311 201 C9 b8 1 1 a 244 164 A4 214 140 8C r--- , 260 176 BO 0 COLUMN 1 1 a a 1 a 15 1 1 1 a 1 14 1 1 a a 13 12 1 1 a a INO Control and Displayable Characters 1 - ROW 360 240 Fa a a a a 0 361 241 Fl a a a 1 1 362 242 F2 a a 1 a 2 0 363 243 F3 a a 1 1 3 0 " 364 244 F4 a 1 a a 4 0 365 245 F5 a 1 a 1 5 0 366 246 F6 a 1 1 a 6 oe 367 247 F7 a 1 1 1 7 370 248 F8 1 a a a 8 371 249 F9 1 a a 1 9 372 250 FA 1 a 1 a 10 373 251 FB 1 a 1 1 11 374 252 FC 1 1 a a 12 375 253 FO 1 1 a 1 13 376 254 FE 1 1 1 a 14 377 255 FF 1 1 1 1 15 n , 0 , '," U , u " 'u U Y ~ -I KEY CHARACTERru06 OCTAL ,IE 198 DECIMAL C6 HEX MR·9594 63 Table 25; 87 0 0 0 85 BITS 84 83 B2 81 0 o 0 0 1 0 o 0 0 1 1 0 1 1 1 1 1 0 0 1 0 1 0 NUL 0 0 0 DC1 1 1 1 1 (XONI 2 3 2 2 ETX DC3 IXOFFI 3 3 3 4 3 2 60 40 32 20 0 ! 41 33 21 1 61 49 31 22 18 12 " 42 34 2 62 23 19 13 # 20 16 10 SP 21 17 11 22 48 JO 50 A 101 65 41 Q 121· 81 51 B 102 66 42 R 3 63 51 C 103 S 33 67 43 V 126 0 146 102 66 l. 168 118 76 67 55 37 G 107 71 47 W 127 ± 147 103 67 r 167 119 77 70 H 110 72 48 X 130 88 , 150 104 68 I 170 J20 78 151 105 69 ~ 171 121 79 152 106 6A 2 172 122 7A 153 107 68 J 154 108 6C 155 109 60 ~ 174 124 7C ~ 175 125 70 % 45 37 25 5 65 53 35 E o .1 1 0 6 6 6 26 22 & 6 6 16 68 54 36 27 23 17 , 46 38 26 47 39 27 7 50 40 28 8 1 0 1 1 0 CAN : 9 HT 11 9 9 10 LF 12 10 A SUB ESC ) 51 41 29 9 71 57 39 1 111 73 49 Y 131 32 26 lA * 52 42 2A : 72 58 3A J 112 74 4A Z 132 33 27 18 + 53 43 28 ; 73 59 38 K 113 [ , 54 44 2C < 74 60 3C L 114 76 4C 55 45 20 = 75 61 3D M 115 77 40 ] 56 > 76 62 3E N 116 78 4E A 77 63 3F 0 117 79 (BLANKI 4F 1 11 VT 13 11 8 1 1 o 0 12 FF 14 12 C 34 28 lC 1 0 1 13 CR 151 1 35 29 10 1 1 1 0 14 SO 6 14 'E 1 1 1 1 15 - 36· 30 lE 37 31 lF SI Ii'1715 F 87 57 31 25 19 1 1 96 56 ( o lJ 44 30 24 18 1 46 I 57 47 2F 56 38 2E ? 163 115 73 106 70 46 25 21 15 10 8 8 - F 5 5 5 BS SCAN 9 165 117 75 ENQ 8 SCAN 7 i 5 0 62 143 99 63 162 114 72 145 101 65 0 1 0 - ~ 0 1 0 ~ 83 53 98 125 85 55 104 68 f 123 SCAN 5 U D 7 7 7 ~ 142 161 113 71 105 69 45 64 52 34 BEL 122 82 52 - 164 116 74 4 7 141 97 61 160 112 70 ~ 44 36 24 1 I SCAN 3 144 100 64 $ 1 • - i 24 20 14 1 7 140 96 60 124 84 54 4 4 4 0 120 80 50 T EOT 0 1 6 P @ 32 43 35 23 5 4 1. 0 1 0 100 64 40 0 1 1 1 1 o 0 1 0 0 COLUMN r;;ow 2 o 1 0 0 0 B6 000 Special Characters and Line Drawing Set 75 48 58 89 59 l J 90 5A , 133 91 58 134 92 5C 135 93 50 . 136 94 c 5E 137 95 5F 1 r L t - SCAN 1 173 123 7B 156 110 6E 176 126 7E 157 111 6F 177 127 7F KEY ASCII CHARACTERETIJ33 OCTAL 27 DECIMAL lB HEX MR-9581 64 Escape and Control Sequences Escape and control sequences provide more controls in addition to the control characters in the ASCII 7-bit table. These multiple-character control sequences are not displayed but control the displaying, processing, and transmission of characters. At the end of a sequence or during an error condition, the terminal continues to display received characters. Escape Sequences The format for an escape sequence is as follows: ESC 033 1 •••• 1 040-057 Escape sequence introducer Intermediate characters (0 or more characters) F 060-176 Final character (1 character) Escape Sequence Introducer - This is the ESC character (octal 033) defined by ANSI X3.4-1977. After receiving ESC, the terminal stores (but does not display) all control function characters received in the proper range. Intermediate Characters - These are characters received after ESC in the octal range of 040 057 (column 2 of the ASCII table). The terminal stores intermediate characters as part of the control function. Final Character - This is a character received after ESC in the octal range of 060 176 (columns 3 - 7 of the ASCII table). The final character indicates the end of the control function. The intermediate and final characters together define the function of the sequence. The terminal then performs the specified function and continues to display received characters. ANSI standard control functions have a final character in the octal range of 100 - 176 (columns 4 - 7 of the ASCII table). Private sequences have a final character in the octal range of 060 - 077 (column 3 of the ASCII table). Example Action: Designate ASCII character set as GO. Sequence ESC ( B 033 050 102 Escape sequence introducer character Intermediate Final character 65 Control Sequence Format The format of a control sequence, is as follows: CSI P••••• P 1 ••••• 1 F 033 133 060-077 040-057 100-176 Control sequence introducer Parameter characters (0 or more characters) Immediate characters (0 or more (characters) Final character (1 character) Control Sequence Introducer - The CSI is the ESC (octal 033) and [ (octal 133) characters defined by ANS~ X3.41-1977. These characters provide 8-bit control functions by using 7-bit characters. After receiving CSI characters, the Rainbow 100 computer stores (but does not display) all control function characters received in the proper range. During an escape sequence, if the Rainbow 100 computer receives an 8-bit control character, (octal 200-237), the escape sequence continues after. rhe 8-bit control character's function is executed if it is one of the supported functions. An 8-bit display character, received during an esc'ape sequence, has the 8th bit stripped off and the escape sequence continues with the resultant 7-bit remainder. Parameter Characters .... These are characters received after the CSI character, in the octal range of 060 -077 (column 3 of the ASCII table). The parameter characters modify the action or interpretation of the control function. The terminal interprets parameter characters as private when the < = >? characters (octal 074 077) begin the ,parameter string. The character (octal 072) is reserved. This me,ans an ANSI-specified control sequence can have a parameter function with a private interpretation. The Ra inbow 100 computer uses two types o,f parameter characters, numerlc ,and selective. A numeric parameter represents a decimal number', designated by Pn. The decimal characters have a range of 0 -9 (octal 060 ,- 071). A sele'ctive parameter comes from a list of specified parameters, ~esignated by Ps. If a control sequence includes more than one parameter, the parameters are separated by a delimiter, the; character (octal 073). Intermediate Characters - These are characters received after the CSI character, in the octal range of 040 -057 (column 2 of the ASCII table). The terminal stores these characters as part of the control function. NOTE The terminal ddes not use intermediate control functions. 66 characters in Final Character - This is a character received after the CSI character, in the octal range of 100 - 176 (columns 4 - 7 of the ASCII table) • The final character indicates the end of the control function. The intermediate and final characters together define the function of the sequence. The terminal then performs the speci£ied function and continues to display received characters. ANSI standard control functions have a final character in the octal range of 100 157 (columns 4 6 of the ASCII table). Private sequences have a final character in the octal range of 160 - 176 (column 7 of the ASCII table) • Example Action: Clear all horizontal tabs. Sequence ESC [ 3 9 033 133 063 147 Parameter Control sequence character introducer Final character Sequence Examples These examples show the use of multiple functions sequence, private parameters and private sequences. ESC [ ? 4 h 033 133 077 064 150 Set smooth scroll mode (? = ANSI private parameter) ESC [ 2 ; 1 Y 033 133 062 073 061 171 Invoke self-test (y = ANSI private sequence) 67 selected in one APPENDIX C RAINBOW 100 COMPUTER AND VT100 TERMINAL FAMILY DIFFERENCES The following is a list of the differences between the Rainbow 100 and members of the VT100 family of terminals. Also included are certain ·points-of-interest" that should be considered by programmers. DEC'S MULTINATIONAL 8-BIT CHARACTER The Rainbow 100 computer implements the printing graphics found iri DEC's Multinational Character set, and the 8-bit character codes for the printing characters. It is a subset of the Multinational Character set. It is not the full character set. In particular, it does not implement all the control sequences specified for the Multinational Character set. When a keyboard other than the US LN201-AA is selected the Rainbow 100 computer can also implement the 7-bit National Replacement character set for that country~ The active character set is selected via SET-UP. MULTINATIONAL 8-BIT CHARACTER CODES DIGITAL has extended standard ASCII coding to introduce the DEC Multinational Character set. This set gives a uniform coding for all characters used in most European languages. It also adds characters such as ¢, ©, 1/4, and 1/2. The full set is shown in Appendix F. To represent these extra characters, DIGITAL uses 8 bits (standard ASCII uses 7 bits). DIGITAL's Multinational Character set is an extension of, and fully compatible with, the ASCII codes generally used in North America. European countries (and French Canada) also define modifications to ASCII codes that replace certain ASCII characters with some of the extra characters in use in their language. These codes are known as National Replacement Character (NRC) codes. They use 7 bits to code each character. These code sets can differ from the ASCII codes in up to twelve positions. They are listed in Appendix F. The Rainbow computer allows you to choose either DIGITAL's 8-bit Multinational Character set, or the 7-bit National Replacement Character set associated with your keyboard. ( 68 8-BIT CHARACTER CODES The Rainbow 100 computer accepts and acts on 8-bit character codes, the VTl02 terminal always strips the 8th bit. If a-bit codes are received in VT52 mode, they will be handled the same as in ANSI mode. Cl CONTROL CODES Rainbow 100 computer executes (8-bit) control codes for index, next line, horizontal tab set, reverse index, single shift 2, single shift 3, control sequence introducer. Reception of any Cl control code will cause the appropriate action and not abort an escape sequence in process (CSI restarts an escape sequence). KEYBOARD AND 8-BIT KEY CODES The Rainbow 100B keyboard is called the LK201 keyboard. . It is available in 15 different international varieties (See Appendix D). Each keyboard can generate every character in the Multinational character set via the compose mechanism. COMPOSE CHARACTER SEQUENCES Compose character sequences allow you to create and display accented characters, ligatures, numerical fractions, and other special characters that may not be on your keyboard. There are two forms of compose sequences that you can use to create and display a. character. • Two-key compose sequence • Three-key compose sequence TWO-KEY COMPOSE SEQUENCE A two-key compose sequence uses two keys to create a different character. For example, on the British keyboard, typing the acute accent key, then typing E results ina new character: an E with an acute accent. Note that you do not use the Compose Character key to create two-key compose sequences. The only keys for which you can use the two-key compose sequence are: • Diaeresis/umlaut mark •• • . Ac-ute accent • Grave accent • Circumflex" • Tilde- I. You must type the character key compose sequences. before the letter key in on the NOTE The two-key compose sequence cannot North American (English) keyboard. 69 be used two-key THREE-KEY COMPOSE SEQUENCE You can use the three-key compose sequence on any keyboard. To start a compose sequence, you press the Compose Character key; then, you press the next two characters of the compose sequence. (See Figure E-l in Appendix E for the compose sequences and resulting characters.) For example, if you press the Compose Character key, the acute accent key, and the letter E in sequence, the screen displays an E with an acute accent. The order in which you type the characters is important. Certain sequences have an obvious order - the AE ligature and 1/4 fraction, for example. In these examples, the order may not be reversed. When you compose the E with an acute accent, you may type either the E or the acute accent after you press the Compose Character key. Use the ~ key if you want to cancel a compose sequence. KEYBOARD CONTROL CODE GENERATION The Rainbow 100 can be used with one of 15 different national LK201 keyboards. Since not all of the keyboards have all the characters used by the VTl02 to generate control codes all the keyboards can generate the NULL, ESC, FS, GS, RS, US and DEL codes by using the Control key in conjunction with keys 2-8 as described in table 3. The numeric keys are always used in the unshifted position, even on those keyboards where the numeral is in the shifted position. SET-UP PURGING KEYBOARD BUFFER When the Set-Up key is pressed to enter Set-Up mode in the Rainbow 100, the key-holding buffer is cleared which causes any unserviced keys to be lost and Set-Up is immediately honored. WAIT INDICATOR When the keyboard buffer fills up, the Rainbow 100 computer ignores further entries and sounds the bell. It lights the Wait LED as the VTl02 terminal does. The bell and Wait LED are used to notify the user that the key was not accepted. KEYBOARD PRINT SCREEN KEY IN TERMINAL MODE Terminal mode print functions are implemented via the Print Screen key on the Rainbow 100 computer. VTl02 terminal uses the keypad Enter key. Rainbow 1008 Print Screen is equivalent to VTl02's and Rainbow 1008 is equivalent to VTl02's . 70 KEYBOARD HOLD SCREEN KEY The Hold Screen key on the Rainbow 100 computer does not work the same as the NO SCROLL key on a VTI02 terminal. On a VTI02 terminal it sends an XOFF/XON as it toggles back and forth, the and typed from the keyboard can be used to get the same effect. Setting Hold Screen for the Rainbow 100 computer does not necessarily cause an XOFF to be sent. It sets an internal flag that causes the "receive character" process to loop until the flag is cleared. This effectively "hangs" any console output (normal or direct) in console mode. In terminal mode this "hang" causes the comm receive buffer to fill up until it reaches the high water mark at which point it will send an XOFF, if enabled by Set-Up. After the Hold Screen is removed, characters are removed from the receive buffer until the low water mark is reached which causes XON to be sent, if enabled. As a result of this method of implementation, Rainbow 100 honors Hold Screen even in "local", VTl02 terminal does not. In Rainbow 100 terminal data, the last char switching to local, and state or the char. originally being 'held' characters. computer mode, after using Hold Screen on incoming for display is being 'held'. Entering setup, exiting from setup does not clear the 'hold' When 'hold' is finally removed, the char is displayed before any locally generated In the Rainbow 100 computer, if the while the Hold Screen is asserted, the 'hold' is removed and char being terminal prints a screen even if the Print Screen key is depressed the print is deferred until after 'held' is processed. The VTI02 NO SCROLL key as been depre'ssed. KEYBOARD CORSOR KEY MODES Cursor key mode and keypad mode for the Rainbow 100 computer are independent. In the VTI02 terminal, the cursor keys only send application codes if both cursor and keypad modes are set to 'application' • PRINTER CHARACTER SETS IN TERMINAL MODE The Rainbow 100 computer assumes the printer is receiving 8-bit DEC Multinational characters. capable of properly PRINTING BLOB CHARACTERS IN TERMINAL MODE When printing from the screen in terminal mode and encountering a 'blob' character, the VTI02 terminal sends ASCII 'SUB' to the printer. The Rainbow 100 computer sends the VT100 line-drawing graphics character 'blob' bracketed by the appropriate character set selection escape sequence if required~ PRINTER PORT DEFAULTS Factory Set-Up defaults are not the same as the VTl02 terminal for the printer port. 71 PRINT CURSOR LINE OPERATION IN TERMINAL MODE At the completion of a 'print cursor line' operation, Rainbow 100 computer sends the escape string to restore the printers GO char set in between the terminating carriage return and line feed. VTI02 terminal sends it after the line feed. PRINTER PORT STATUS REQUEST IN TERMINAL MODE The following anomaly occurs when a printer cable is attached to a Rainbow after it is powered up, but the printer end of the cable is not attached to anything. A printer status request is made to Rainbow Rainbow responds: Printer not ready or No printer VTI02 responds: No printer ESC ESC ESC ESC ? n 11n 13 n 13n TERJlIINAL 10 The Rainbow 100 computer identifies itself as a VTI02 terminal. INSERT AND DELETE LINE ESCAPE SEQUENCES Insert Line: Default line: CSI CSI Pn Pn L M If the cursor is on the last line of the scrolling regions, and the line is double-width, then after execution of either of the above controls, the active line attributes are: AD On Rainbow 100: single-width 80 On the VTI02 terminal: whatever the active line attributes were before execution of the control sequence. ALTERNATE ROM CHARACTER SETS Rainbow 100 computer does not implement the sets found in the VTI02 terminal. alternate ROM character ALTERNATE ROM AND LED ESCAPE SEQUENCES The Rainbow 100 computer parses but ignores the escape sequences to set GO and Gl to the alternate ROM and alternate ROM special graphics (ESC ( 1 , ESC ( 2 , ESC ) 1 , ESC ) 2 ). It will parse but ignore the escape sequence for LED control (ESC [ Pn q ). Rainbow has no alternate ROMs and the LEDs are not available for software control. 72 G2 AND G3 CHARACTER SETS G2 and G3 are permanently.designated as the NVM default character set. They are either US or UK variations of Rainbow's subset of the multinational character set. They can be invoked for single characters by the single-shift-2 or single-shift-3 escape sequences or the Cl control codes. ABORTING ESCAPE SEQUENCES BY INTERMEDIATE CHARACTERS Rainbow 100 computer aborts escape sequence parsing when it finds an intermediate char causing all following characters to be displayed. VTl02 terminal aborts the sequence but continues parsing until it finds a final char so the intervening part of the escape sequence does not display. INSERT AND REPLACE MODES Rainbow 100 computer ~lways sets insertion/replacement replacement before savlng into NVM. These modes are selectable. They are only selectable by software. mode to not user SELFTEST ESCAPE SEQUENCES The Rainbow 100 computer parses but ignores the escape sequences to run self tests (ESC [ 2 , Pn y ). Also the device status report request (ESC [ 5 n ) will always cause the ready, no malfunctions reply ( ESC LOn ). RESET TO INITIAL STATE In Rainbow 100 computer, ESC c (reset to initial state) does not reset keypad and cursor keys to their normal modes. RIS is a dangerous sequence to issue from workstation software. It is not recommended to be used. Its function will change in future versions of Rainbow. VT52 MODE ABD ORIGIN MODE The Rainbow 100 computer in VT52 mode honors the origin mode VTI02 terminal in VT52 modes does not. setting, AOTOWRAP MODE The Rainbow 100 computer maintains the wrap-pending flag unconditionally and tests it conditionally. VTI02 terminal maintains the flag conditionally and tests it conditionally. This implementation affects where the next character goes when the auto-wrap mode is CHANGED while the cursor is in the 'line-filled' position. The VTI02 terminal places the cursor in a different place than the Rainbow. Software is recommended to not use auto wrap mode for controlling the placement of the text on the screen. 73 TAB AND AUTO WRAP In Rainbow 100 computer the Tab character always clears the wrap-pending flag. As a result, if Tab is the 8lst char in an 80 char 1 ine, char 82 will not wrap but char 83 will. In a VTl02 terminal, char 82 will wrap. XON/XOFF PROTOCOL AND BUFFER SIZE IN TERMINAL MODE In Rainbow 100 terminal mode, the second XOFF is sent at 'buffer-full'. In a VTl02 terminal, the second XOFF is sent 12 char before 'buffer-full'. Also the Rainbow 100 buffer is 255 char in size, a VTl02 terminal is 128. FULL DUPLEX COMMUNICATION PROTOCOL IN TERMINAL MODE The Rainbow 100 computer always precedes the dropping of DTR with a EOT character. The VTl02 terminal does not always do this. The Rainbow 100 computer does not disconnect if it is placed in Local mode. The VTl02 terminal disconnects if placed in local mode. HALF DUPLEX COMMUNICATION SUPPORT IN TERMINAL MODE The Rainbow 100 terminal emulation does not support communication protocols of theVTl02 terminal. 74 the half duplex APPENDIX D INTERNATIONAL LANGUAGE KEYBOARDS The figures in this appendix illustrate the different national language keyboards that are or will be available. One of the main differences is the label strip that you add to the top of the keyboard. The label strip comes in the country kit. DDDDD DDDD D[](][:][[][][][][[][[](]LJ(]~ DEJEJ[][][]~~DEJ~(][]D LJDEJ[]~D[]~[][][J[]LJGJ D[][][]D[][][]~DD[]D t:=J1 I LJEJEJLJ O[][]D [][J[]D [][][JD'"' ~D MR-9570 Figure 5: LK201-AE British Keyboard DDDDD DDDDD DDDD LJD[i][][][](][J~[J[]LJ[;]~ DEJEJ[][][]~~DEJ~[][]D·"'" LJDEJ[]~D[]~[][][JDDD D[][][]D[][][]~DD[]D t:=J1 I LJEJEJLJ O[][]D [][J[JD [][][JD"" ~D MR-9572 Figure 6: LK201-AA American (English) Keyboard 75 Fll IESC) fU {SS) F1J Opl.onl ILF) suppl MR-9583 Figure 7: LK201-AC Canadian (French) Keyboard DDDDD DDDD EJLJLJLJ [][][][] [J[][]O [][][]Fl ~DU MR-9578 Figure 8: LK201-AD Danish Keyboard EJLJLJLJ [][][][] [J[][]O [][][]DOOO ~D MR-9569 Figure 9: LK201-AF Finnish Keyboard 76 EJLJLJLJ [][][][] [][J[]D [][][]fl ~DU MR-9581 Figure 10: LK201-AG Austrian/German Keyboard 00000 00000 DODD D[[]~[i]lOLD[[][J[][]lDD[]~ I DEJEJ~[][][][]DEJ[]D[]n LJuEJ[J[]DEJ[J[][][][]D[]~ D[J[]EJD[][][]~DD[8D I EJLJEJLJ [][][][] [][J[]D [][][]D'~'" ~D MR-9577 Figure 11: LK201-AH Dutch Keyboard 00000 00000 DODD MR-9573 Figure 12: LK201-AI Italian Keyboard 77 DDDDD DDDDD DDDD DDDD EJ[]LJLJ D[](](][;j(][[][][][](]O(]E:] DEJEJ[]~~EJEJD[][][J[]n LJuEJ[][]DEJ[][][JDrrJ[2][:]~ I~ . 1[J[][]D[][][]~DDLJc:=J ~I ~. I . [][][][] E][][]D [J[][].rl CJDU MR-9575 Figure 13: l.K201-AK Swiss (French) Keyboard DDDD EJ[]LJLJ O[][J[] E][][]D [J[][]fl CJDU MR-9582 Figure 14: l.K201-AL Swiss (German) Keyboard DDDDD DDDD EJ[]LJLJ O[][][] E][][]O [J.[][] 0·· CJD MR-9580 Figure 15: LK201~AM 78 Swedish Keyboard DDDD EJEJ[JLJ [JEJ[][] rn[]D [][][]rl ~DU MR-9579 Figure 16: LK20l-AR Norwegian Keyboard DDDDD DDDD EJEJ[JLJ [JEJ[][] []~[]D [][][]rl ~DU MR-9571 Figure 17: ~:~:: LK20l-AP Belgian/French Keyboard HERVAr A"HULEn :::~: E.IHDE DDDDD DDDD EJEJ[JLJ [JEJ[][] []~[]D [][][]rl ~DU MR-9576 Figure 18: LK20l-AT Flemish Keyboard 79 Figure 19: LK201-AS Spanish Keyboard 80 APPENDIX E COMPOSE SEQUENCES Table 26 shows the compose sequences you must type special characters that you may need. A A ii a , A , " @ a ~ C A Ii c a ¢ c A A © a• , a a A A A a a ..IE A , ae a A - a 0 "e' E " it e " E E E e e e A , , , , A e• e a E E ~ e 0 a a ! 0 E A a / c E A a , * * ..I .," ,, , , A , , I ,, 0 E U U oe 0 e u A u 0 0 U U 0 fJ N • 0 n 0 0 N ii 0 0 - " " 2 0 ,-r P , , « < < » > > u / / V " y y " X :t y - • A 0 0 6 , 0 0 § s 0 0 .B s s " " 6 0• 0 U- U " " U A , y 0 0 A u , , A u CE , generate U A 0 L , u 0' £ , , 0 0 , 0 to i. ? ? A / # + + + - 3 ± \ 1/2 Ii- I I I 2 1/4 4 2 A u MR-ll083 Table 26: Impl icit Compose Sequences 81 some Table 27 shows the dead diacritical keys for each language keyboard. DEAD DIACRITICAL KEYS KEYBOARD K201-AB Belgian/Flemish K201-AC Canada (French) K201-AD Danish K201 -AE British K201-AF Finnish K201 -AG Austrian/German K201-AH Netherlands K201-AI Italian K201-AK Swiss (French) K201-AL Swiss (German) K201-AM Swedish K201-AN Norwegian K201-AP Belgian/French K201-AS Spanish II II II II II .' II II II II II II II II II LJ-0140 Table 27: Dead Diacritical Keys 82 APPENDIX F 7-BIT/DEC 8-BIT TRANSLATIONS The following figures show the 7-bit and character sets for each language keyboard. KEYBOARD 7-bit NRC TABLE USED American Belgian/Flemish Canadian (French) Danish British Finnish Austrian/German Dutch Italian Swiss (French) Swiss (German) Swedish Norwegian Belgian/French Spanish (none) French French Canadian Norwegian /Danish United Kingdom Finnish German Dutch Italian Swiss Swiss Swedish Norwegian/Danish French Spanish 8-bit translations MR-11081 Figure 20: Mapping Keyboard to National Replacement Characters 83 and 0 B7 0 0 B6 BITS B4 83 92 81 ~ 1 0 NUL 0 0 0 0 0 0 0 0 0 1 I I I I 0 0 1 0 2 2 2 2 0 0 1 1 3 0 1 0 0 4 0 1 0 1 5 1 0 6 0 1 1 1 7 ENQ BEL 3 3 3 4 4 4 5 5 5 DCl !XONI 0 0 0 8 BS 10 8 8 1 0 0 1 9 HT 11 9 9 2 1 " 1 0 1 0 40 32 20 0 21 ! 41 33 1 " 42 34 22 43 35 23 17 11 22 12 DC3 (XOFFJ 21 23 19 13 # 24 20 14 $ 25 % 21 15 25 22 16 1 1 0 27 , 23 17 CAN 30 24 18 31 25 19 ( ) 0 10 LF 12 10 A SUB 32 26 1A * 0 1 1 11 VT 13 11 8 ESC 33 1 + 1 1 0 0 12 FF 14 12 C 34 28 lC 1 1 0 1 13 CR 15 13 0 35 29 1 1 0 14 SO 16 14 36 30 1 1 1 1 15 51 17 15 F 37 31 IF , - DECIMAL ' - _ - '........... HEX 46 38 25 47 39 C 103 67 43 S 123 0 104 68 44 T 4 46 57 47 2F D b 52 83 53 124 84 54 61 142 98 62 160 112 70 q 161 113 71 r 162 114 72 C 143 99 63 S 163 115 73 d 144 100 64 t 164 116 74 165 E 105 69 45 U 125 85 55 e 145 101 65 U 6 66 54 36 F V 126 86 56 f 146 102 66 V 166 118 76 7 67 55 37 70 G 106 70 46 107 71 47 W 127 87 57 9 147 103 67 W 167 X 130 h 150 104 68 X 77 170 120 78 i 151 105 69 Y 171 121 56 : ; 71 57 39 72 58 3A 73 59 111 73 49 V 131 J 112 74 4A Z 132 90 5A j 152 106 6A Z K 113 75 48 i 133 91 k 153 107 e 173 123 78 i! 174 124 7C II 175 125 72 48 88 58 89 59 58 74 60 3C L 114 76 4C 75 61 3D M 115 77 40 ~ 76 62 N 116 78 4E '"I 136 94 0 117 79 - 137 95 77 63 3F "' I 3E ? 75 110 3B < = > 117 H 38 2E I 82 97 p 65 53 35 28 55 45 64 52 34 a 140 96 60 141 5 2A 54 44 2C 51 33 a 51 63 42 53 Q 3 9 43 101 65 41 122 51 52 A 7 6 120 80 50 121 81 R 8 41 P 102 66 42 50 40 28 2D 56 1E r-----r---. OCTAL Figure 21: . 10 1 37 100 64 40 B 29 1 18 36 24 45 5 a 62 50 32 27 0 27 44 60 48 30 61 49 31 2 25 & 4 3 SP 1 KEY 0 1 20 16 10 18 6 6 6 7 7 7 1 ASCII CHARACTER 1 1 0 COLUMN 0 1 1 0 1 I 0 0 0 0 0 B5 4F If 134 92 5C 135 93 79 6B I m 50 154 108 6C 155 109 60 172 122 7A 7D n 156 110 ~ 176 126 0 6' 157 111 6F DEL 177 5E SF 7E 127 7F Highlights differences from ASCII MR-11137 French Canadian Character Set (7-bit) NOTE Empty positions are reserved for future use. 84 B7 0 0 0 B6 BITS 64 63 62 81 0 0 0 0 r;ow 0 0 0 1 1 0 0 1 0 2 0 0 1 1 3 0 0 0 1 1 1 0 1 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 0 0 1 1 1 1 0 1 0 1 1 0 COLUMN 0 0 0 0 0 B5 DCl {XONl 7 BS HT 21 17 11 ! 33 22 " 34 # $ % ,. & 16 , 27 23 17 30 2' lB ( 31 ) 25 19 0 1 0 10 LF 12 10 A SUB 32 1 0 1 1 11 VT 13 1 ESC 33 27 lB 11 B 26 lA 34 1 1 0 0 12 FF 14 12 C 1 1 0 1 13 CR 15 13 0 35 29 lD 36 30 37 31 1 1 1 0 14 SO 16 14 1 1 1 1 15 SI 17 15 F 41 1 42 2 2B lC * + 3 44 36 4 . - 5 46 38 26 47 39 27 6 50 40 2B 8 52 34 65 53 35 66 54 7 9 62 42 2A : 53 ; 56 46 / 2E 57 47 A B C 101 65 41 102 66 42 Q 121 Bl 51 a R 122 B2 52 b 103 67 S 123 B3 161 113 r 162 114 72 S 163 115 73 70 71 143 99 63 d 144 100 64 t 164 116 74 E 105 U 125 B5 55 e 145 101 65 U 165 117 75 V 126 B6 f 146 102 66 147 103 67 V 166 118 76 W 167 119 77 170 120 7B 69 45 F 106 70 46 107 71 56 W 127 X 130 8B 58 131 89 47 110 72 4B 71 111 73 49 Y I B7 57 72 5B 3A J 112 74 4A Z 132 73 59 3B K 113 75 4B A 133 0 90 91 75 61 3D M 115 77 4D A N 116 7B U 136 94 4E 5E 0 117 79 - 137 4F 150 104 6B X i 151 105 Y 171 121 Z 172 122 7A 69 j 134 92 5C 135 93 79 153 107 6B ii 173 1 154 lOB 6C 155 109 6D i) 174 124 7C m 5D 95 152 106 6A k 5B = 3F h SA L 3E 9 59 < 2F q 124 B4 54 H 77 160 112 T 3B 63 p 104 68 44 114 76 4C ? 140 96 60 141 97 61 142 9B 62 C 53 74 60 3C > e D 70 76 62 7 6 120 BO 50 43 G 57 39 2C 55 64 P 40 67 55 37 56 2B 45 51 5 100 36 51 41 29 54 44 63 33 64 2D 1E 1F 45 37 25 43 62 50 @ 32 43 35 23 24 22 11 9 9 4B 30 61 49 31 22 23 19 13 25 21 15 CAN 60 0 21 20 14 10 B B 32 20 24 6 6 6 7 7 7 6 40 SP 12 DC3 (XQFFj 4 3 2 20 16 10 18 3 3 3 4 4 4 5 5 5 5 9 0 0 0 1 1 1 2 2 2 4 8 1 0 NUL 7B a 175 125 10 n 156 110 ii 0 6' 157 111 6F DEL SF 123 176 '" 7E 177 127 7F KEY ASCII CHARACTERETIJsc 33 OCTAL 27 DECIMAL 18 HEX Figure 22: D Highlights differences from ASCII MR-11143 Finish Character Set (7-bit) NOTE Empty positions are reserved for future use. 85 0 B7 0 0 B6 BITSr- 0 0 0 0 0 0 1 0 0 1 0 2 0 0 1 1 3 0 1 0 0 4 0 1 0 1 5 0 1 1 0 0 0 0 1 1 1 DC1 {XONI 2 2 2 ENQ 6 0 1 1 1 7 BEL 1 0 0 0 6 BS DC3 3 3 3 4 4 4 5 5 5 (XQFFI CAN 10 6 6 9 HT 1 0 1 0 10 LF 12 10 A SUB 13 11 6 ESC 1 1 0 0 12 1 1 0 1 13 1 1 1 1 1 1 0 1 14 15 VT 22 16 12 11 23 19 13 £ 24 20 14 $ 25 21 % & 1 1 1 1 1 0 A 31 62 2 50 32 101 Q 65 41 B 102 66 42 R C 103 67 43 104 66 44 S t 164 116 74 U 165 117 75 6 66 54 36 F 106 V 126 86 56 f V 166 116 76 67 55 37 70 56 36 G W 127 67 57 9 146 102 66 147 103 67 W X 130 66 56 h 48 150 104 66 167 119 77 170 120 76 I 111 73 49 Y 131 69 59 i 151 105 69 Z 132 90 SA j 152 106 6A 133 91 56 k 153 107 6. e 173 123 76 134 92 5C 135 93 5D 1 154 10. 6C 155 109 6D U 174 124 7C e 175 125 7D 46 38 50 40 28 7 8 H 70 46 107 71 47 110 72 113 75 54 44 2C < 74 60 3C L 114 76 4C 55 45 2D = 75 61 3D M 115 56 > 76 N OCTAL DECIMAL 144 100 64 145 101 65 K HEX d 72 e 73 59 36 18 163 115 73 125 65 55 ; 33 27 S U ( 71 57 39 42 2A 46 2E / 162 114 b 105 69 45 53 43 26 31 r 122 62 52 123 63 53 124 64 54 E + 1F 161 113 71 65 53 35 33 36 30 IE 37 q 5 112 74 4A 16 14 E 160 112 70 45 37 , - a 60 141 97 61 142 96 62 143 99 P D J 29 10 96 64 52 34 72 58 3A 35 140 4 51 33 : 15 13 0 7 6 44 36 24 26 47 39 27 . , 63 52 27 120 60 50 121 81 51 3 * CR Figure 23: 42 34 22 43 35 23 61 49 P 32 26 1A 34 28 lC ETI]sc 1 5 100 64 40 9 16 17 15 F 41 33 a ) 25 19 14 12 C SI 4 60 46 30 51 41 29 FF SO 0 25 30 24 16 KEY ASCII CHARACTER 1 0 0 3 40 32 20 21 31 1 11 ! 27 0 1 21 17 11 23 17 0 1 SP 26 22 16 6 6 6 7 7 7 1 0 0 1 2 20 16 10 15 11 9 9 1 1 1 0 1 0 NUL 1 0 1 0 1 1 COLUMN 84 B3 82 81 ROW 0 0 0 0 65 57 47 77 63 3F ? 77 . .. § 4D 3E 2F D 62 4B T 116 78 A 117 79 4F 63 m n 5E 4E 0 136 94 C - 137 95 SF 0 156 110 6E 157 111 6F X Y Z .. DEL 171 121 79 172 122 7A 176 126 lE 177 127 7F Highlights differences from ASCII MR-11138 French Character Set (7-bit) NOTE Empty positons are reserved for future use. 86 67 0 66 BITS a a 0 , a 0 a 2 a a , 1 3 a a a 1 1 1 1 1 1 1 1 , a a a a 1 1 0 a a a 1 a 1 1 1 1 a 1 a 1 a 5 7 8 9 1 11 12 13 DCl (XON) ENQ BEL BS HT LF VT FF CR 1 1 0 14 1 1 1 15 23 19 13 # 24 20 $ 25 21 26 22 16 27 23 CAN 30 24 % & , ( 18 31 25 ) SUB 13 11 8 ESC 14 12 C , a a ,, , , , , a 1 42 34 22 43 35 23 44 36 2 3 A 31 62 50 32 63 51 64 4 52 46 38 26 6 47 7 35 66 54 36 8 67 55 37 70 56 38 71 9 57 39 P 10' Q 6& 41 C 103 67 43 S 104 60 44 T 105 69 45 U E F G '06 70 46 107 71 '" a 122 82 b 81 52 123 03 53 124 84 V I 111 73 49 Y 131 89 59 J 112 74 4A Z 132 K 113 75 4S A 133 + 53 43 28 ; 54 44 2C < 74 60 3C L 114 76 4C 0 55 = 75 61 30 M 115 77 4D i.i > 76 62 N 116 78 A 136 94 5E 0 117 7. - 137 95 SF . - 45 20 36 30 56 46 " 2E 37 31 1F KEY ASCII CHARACTERETIJ33 OCTAL 27 DECIMAL lB HEX I 57 47 38 77 63 3F 2F D 4F t 164 116 74 U 165 117 75 V 166 118 76 W 167 119 77 170 120 78 90 SA 91 134 92 5C 135 93 50 '0640 9 146 102 66 147 103 67 113 71 6& h 150 104 i 151 105 69 Y j 152 106 6A Z k 153 107 ii 173 123 78 154 108 6C 155 109 60 li 174 124 7C ii 175 156 110 6 176 126 X 68 68 58 4E 3E ? 163 115 73 f 33 27 18 34 28 73 59 S 126 86 130 88 58 3A 143 99 145 101 : 72 162 114 72 63 57 '" r e B7 160 112 70 q "5 85 55 127 P 14' 97 61 142 96 62 144 52 42 2A " 140 96 60 d X 110 72 4S C 56 W 7 6 54 47 H , so 51 R D 120 50 B 34 65 53 5 100 64 40 102 66 42 33 5 41 " 49 45 37 25 39 27 50 40 28 51 § * 35 29 10 14 4 60 40 30 32 26 lA lC 15 13 41 33 29 19 12 10 A 0 24 17 11 9 9 SI 11 15 E 1 a 3 40 32 20 21 14 10 8 8 17 15 F ! 12 DC3 (XOFFI 6 6 6 7 7 7 16 21 17 18 3 3 3 4 4 4 5 5 5 SO SP 22 0 1 , ,, 0 a 2 20 16 10 11 2 2 2 6 10 1 , 0 , 1 1 1 4 a a a a a a a , 1 1 NUL 1 a a a 0 a COLUMN r- 84838281 ROW a a a a a os 1 m n 157 111 6F 125 70 7E 6E 0 171 121 79 172 122 7A DEL 177 127 7F Highlights differences from ASCII MR-11135 Figure 24: German Character Set (7-bi t) NOTE Empty positions are reserved for future use. 87 B7 0 0 0 B6 BITS 84 83 82 B1 0 0 0 0 0 0 0 1 ROW 0 0 NUL 1 1 0 0 0 1 1 I 1 0 2 2 2 2 0 0 1 I 3 3 3 3 0 1 0 0 4 0 I 0 I 5 0 1 1 ENQ 6 DC1 (XON) 7 BEL 7 7 7 1 0 0 0 B BS \0 8 8 DC3 (XQFF) 14 26 CAN 1 0 10 LF 12 \0 A SUB 13 11 B ESC 1 1 1 1 0 1 1 1 0 1 13 14 15 CR SO SI I I 1 24 32 26 lA 33 27 1 1 0 14 12 C 34 2B lC 15 13 0 35 16 14 E 36 30 IE 37 29 lD 31 F IF KEY ASCII CHARACTERETIJsc 33 OCTAL 27 DECIMAL 18 HEX Figure 25: 4B 7 6 120 60 50 121 \ U 140 96 60 141 97 61 142 9B 62 A 101 65 41 Q 2 62 50 32 B 102 66 R 122 B2 52 b 3 63 51 C 103 S C 143 99 44 36 24 45 37 25 4 64 52 123 B3 53 124 84 d 144 100 5 65 53 35 E 46 6 66 F 42 34 22 43 35 23 38 26 47 7 54 36 67 55 G : + 53 43 2B ; 8 9 70 56 38 70 46 107 71 T H 110 72 81 51 W h 150 104 68 167 119 77 170 120 7B i 151 105 69 Y 152 106 6A Z X K 0 74 60 3C L 75 61 3D M N 76 62 57 47 ? 77 63 3F C 4C If 40 116 78 0 117 79 4F B9 59 134 92 5C 135 93 65 A 136 94 j k 1 m n Sf - 137 95 SF 76 67 50 4E 3E 74 147 103 133 91 5B >, 165 117 75 64 9 W 113 75 4B 2E U 73 166 liB 73 59 3B 56 164 116 V 56 127 B7 57 130 BB 5B 132 90 5A 77 t 72 146 102 66 Z 115 163 115 f 112 74 4A = S 71 126 B6 J 55 45 2D 162 114 V 3A 76 r 145 101 131 < 161 113 a 4B 114 q 63 54 Y 54 44 2C 160 112 70 125 B5 55 111 73 49 72 a P U I 71 57 39 58 2F 67 43 104 6B 44 105 69 45 106 47 37 52 42 2A D D 34 * 46 42 33 ) / P 61 49 31 28 51 41 29 - 100 64 40 1 50 40 , 5 § 30 ( lB 4 60 0 27 30 25 19 17 15 32 20 41 33 39 31 0 1 , 18 1 1 & 16 11 9 9 12 % 15 HT 0 $ 21 9 0 £ 25 1 1 23 19 13 0 FF 1\ 24 20 0 1 I 0 0 3 40 21 lB 12 1 VT ! 27 23 17 1 11 21 17 11 22 1 1 SP 6 6 6 1 1 0 1 2 20 16 10 22 4 4 4 5 5 5 0 0 I 1 0 COLUMN 0 1 I 0 1 1 0 0 0 0 0 65 X \ 153 107 6B a , 154 lOB 6C 155 109 6D 0 156 110 157 111 122 7A 173 123 7B 174 124 7C a \ 175 125 70 \ 176 126 7E I 6E 0 171 121 79 172 DEL 177 127 7F 6F Highlight's differences from ASCII MR-11136 Italian Character Set (7--bi t) NOTE Empty positions are reserved for future use. 88 0 87 ~!!,SROW o 0 0 0 0 0 0 0 I I o 0 I 0 2 o 0 I I 3 o I o 0 I 0 1 5 0 I I 0 6 0 I 1 I 7 I o 0 0 8 1 o D I • 1 0 1 I 1 1 I 1 0 01 I 1 1 o o 0 1 1 1 0 1 "' 1 10 11 12 13 14 15 I 0 I I I I 0 0 I I I I 0 I 0 I I 0 COLUMN 1 0 NUL . 0 0 0 0 85 .. 83 0 0 86 ENQ BEL BS HT 0 0 0 I I I 2 2 2 3 3 3 4 4 4 2 20 16 10 DCl (XONI 21 17 II 22 18 12 DC3 (XOFFI , 5 5 23 19 13 24 20 14 25 21 15 26 6 6 6 7 7 7 10 8 8 II 22 27 CAN • 30 2' 18 31 25 "32 LF SUB VT 13 II 8 ESC FF 14 12 C 34 28 IC 15 13 0 35 29 lD 16 14 , 36" 3D 17 15 F 37 31 IF SI ! 41 33 1 21 " 42 34 # 43 35 23 44 36 24 45 % & I 23 17 12 10 A SO 0 16 9 CR 40 32 20 S 26 IA 33 27 18 " KEY ASCIICHARACTEREill33 OCTAL 27 DECIMAL 18 HEX ( ) 37 25 46 38 26 47 39 27 50 40 28 51 41 29 * + 53 43 28 54 ". / 2 22 52 . 4 3 SP 3 4 5 6 7 8 .. 46 2E 57 47 2F D A B C 0 6' 53 35 66 54 36 67 55 37 70 56 : 71 57 39 72 58 3A ; 73 59 38 < 74 = > 60 3C 75 61" 3D 76 62 77 63 3F 103 67 43 104 ... ii R 122 82 52 b S 123.. Q T 93 53 124 8' a C d 54 U 125 85 F 106 70 46 107 V 126 86 e 55 5A iE k 153 107 68 13 134 .2 5C 135 93 5D 1 164 lOB 6C 155 109 6D 9 H 110 72 48 X 130 98 58 h 1 111 73 49 Y 131 89 59 i J 112 74 4A K 113 75 48 L 114 76 4C 115 M 77 Z P. 4D N 0 116 m 90 j m U 136 94 5' n 4E 117 - 137 0 78 7' 4F 97 61 142 98 62 143 99 63 144 100 64 145 101 65 133 91 58 127 67 57 71 47 140 88 60 141 146 102 56 147 103 67 150 104 68 151 105 6. 152 106 6A f 56 W G 7 6 120 80 50 121 81 51 P E 3E ? 5 100 64 40 101 65 41 102 66 42 105 69 45 3B 9 42 44 A 34 2A 2C 55 45 2D 60 48 30 61 49 31 62 50 32 63 51 33 64 ,2 .5 5F P q 71 r 162 114 S 163 115 73 164 116 72 t 74 U V W 165 117 75 166 118 76 167 "' 77 l! Y Z • • a '" ii 110 6' 157 111 6F 160 112 70 161 113 170 120 78 171 121 7' 172 122 7A 173 123 78 17' 124 7C 175 125 7D 176 126 7E DEL 177 127 7F Highlights differences from ASCII MA-11133 Norwe,9 i.an/DanishCharacter Set (?-bi t) NOTE Empty pos it ions are reserved for "future use. 89 .7 0 0 0 BB .5 BITS B4 B3 8281 o o 0 0 0 0 0 1 ROW 0 1 0 2 o 0 1 3 o 1 o o 1 0 1 • , o 1 1 0 6·· 0 1 1 1 o 0 0 1 0 o 1 o 1 1 1 0 o 1 1 7 • • 10 16 10 DCl (XON) 2 2 2 3 3 3 4 4 ENQ HT 11 9 11 23 24 20 14 25 21 15 26 22 27 CAN • ,. 1 1 1 1 0 47 7 . 54 36 67 54 44 2e < 74 55 45 20 = ,. 1 o 1 13 CR 15 13 0 35 29 10 15 14 36 3D IE 37 31 IF KEY ASCIICHARACTEflEill33 OCTAL 27 DECIMAL Figure 27: 6 73 1 HEX E ; 2. Ie 18 5 65 63 35 + . - .. 46 2E / 57 47 2F D 55 37 70 56 F 1 60 3e 75 61 3D > ? 76 62 3' 77 63 122 .2 52 123 .3 53 124 S T U V •• 54 125 B5 55 126 B5 56 127 .7 H X 130 I 111 73 49 Y 131 J K L M •• 112 74 'A 113 75 4. 11. 76 .e 115 77 W N 116 76 0 b C Z i M L A 59 132 90 5A 133 91 5. 134 92 50 135 93 50 136 94 5E - 137 .5 5F 160 112 70 141 .7 61 142 q 161 113 .. .. r 162 71 62 143 S 63 d e f 9 h 58 4E 117 7. 4F .. .. P eo 57 40 3F Hig!llights from ASCII R 7 . 140 81 110 72 3A 59 3. 121 107 71 47 \ ., • Q G 39 72 5. 6 120 .0 50 46 38 71 57 P 42 D 27 * 103 67 .3 104 6B 44 105 6. 45 106 70 33 46 38 26 41 29 C 6' 52 34 : FF 17 15 F I 102 66 4 52 42 2A 53 '3 2. 32 26 lA 33 27 34 SI & 37 25 B 32 ., 5 100 64 40 101 6' 41 63 9 12 15 % 24 45 A 3 " 0 1 1 1 1 $ '3 36 23 44 36 50 ) VT , 2 6 13 11 ESC .2 3' .' 4. 31 62 ( 24 LF • 1 50 40 26 ,. SUB 41 33 21 22 £ § 30 30 16 31 25 • •• 30 12 SO 11 4 60 0 23 17 1 o 14 ! 16 1 1 1 0 1 0 0 3 40 32 20 13 5 5 5 BS BEL ,. ,. SP 12 DC3 (XOFF) • 6 6 6 7 7 7 10 6 21 17 11 22 14 12 e 1 1 2 20 0 0 0 1 1 1 A 1 1 0 1 0 1 0 NUL 1 0 0 1 0 1 1 COLUMN o 1 0 0 0 i 14' 100 6' 146 101 65 t 146 102 66 147 103 67 V j k 153 107 6B' 1 15. 108 6e 155 108 60 W n Y ..08 0 156 110 6' 157 111 6F 165 117 75 166 11. 76 167 11. 77 X Z 6A m 72 163 116 73 I •• 116 74 U 150 104 66 151 105 69 152 "' 0 n ~ DEL 170 120 7. 171 121 79 172 122 7A 173 123 7. 174 12' 7e 175 125 70 176 126 7E 177 127 7F d~fferences MR-11134 Spanish Character S~t ,(7-bit) NOTE Empty positions are reserved for future use. 90 87 0 0 0 85 BITS,-- 0 0 0 0 1 0 0 0 0 1 0 2 0 0 1 1 3 0 1 0 0 4 0 1 0 1 5 0 1 1 0 6 0 1 1 1 7 0 0 0 1 1 1 BEL 8 BS 10 8 8 0 0 1 9 HT 11 1 1 0 1 1 10 11 1 1 0 0 12 1 1 0 1 13 1 1 1 0 14 ~XON) DC3 IXOFF) IF VT 1 1 1 15 ! 22 18 12 " 23 # 19 13 24 20 14 $ 25 % 15 26 22 16 & , 27 23 1 1 1 0 1 0 CAN 30 ( 24 18 ,, 31 ) 25 19 12 10 A SUB 13 11 8 ESC 1 1 0 32 * 26 1A 33 + 27 18 . FF 34 28 1C CR 15 13 0 35 29 10 16 14 SI 27 DECIMAL 16 HEX Figure 28: Q 2 62 50 32 B 102 66 42 3 63 51 C 103 67 43 104 33 5 65 53 35 E 105 69 46 38 26 47 6 66 54 36 F 106 70 67 55 37 G 70 H I 50 40 28 51 41 52 34 7 8 56 - 52 71 57 39 : II 140 a R 122 82 52 b S 123 68 44 V 126 86 f 146 102 66 147 103 67 V 166 118 76 167 119 56 74 W 127 110 72 48 X 130 88 58 h 150 104 68 111 Y 131 i 151 105 69 Y Z 132 90 SA j 152 106 6A Z k 153 107 68 ii 173 1 154 108 6C 155 109 60 0 174 124 7C Ii 175 ii 176 126 DEL 177 71 73 112 87 57 8' 59 < 74 60 3C l 114 76 4C 0 55 = 75 61 3D M 115 A 134 92 5C 135 93 50 > 76 D 73 165 117 75 54 44 2C 2F 163 115 U 49 74 4A 77 40 0 S 145 101 65 133 77 63 3F 143 99 63 71 e 85 55 A ? 162 114 72 125 113 75 48 57 r U K 47 142 98 62 164 116 47 N 161 113 t 46 3E q 144 100 64 73 59 38 62 141 97 61 d ; 45 160 112 70 124 84 54 28 53 P 96 60 T J 43 C 53 45 107 83 72 58 3A 42 2A 20 / 0 38 9 120 80 50 121 81 51 P 40 64 46 2E KEY 101 65 41 64 4 36 ASCII CHARACTERETIJ33 OCTAL A 1 100 44 36 24 45 37 25 30 31 1F F 42 34 22 43 35 23 56 1E 37 17 15 33 21 E 7 6 5 60 48 30 61 49 31 0 29 14 12 C SO 4 3 40 32 20 41 3' 27 17 E 1 21 17 11 21 6 6 6 7 7 7 0 0 DC1 4 5 5 5 0 1 10 4 ENQ SP 16 3 3 3 4 0 0 0 1 2 20 2 2 2 1 1 1 1 0 1 0 NUL 1 0 1 0 1 1 COLUMN 84838261 ROW 0 0 0 0 86 116 78 U 91 58 136 94 4E 5E 117 79 137 95 4F - 9 m n W 77 X 156 110 SF 157 111 6F 171 121 79 172 122 7A 123 78 125 70 7E 6E 0 170 120 78 127 7F Highlights. differences from ASCII MR-11141 Swedish Character Set (7:-bit) NOTE Empty positions are reserved for future use. 91 8' .. 8' ·aITS 84 83 82 81 r.row o 0 0 0 .. •• • 1 • 1·0 I I I 1 I 1 0 1 I • 1 I 1 •• I I I I I 11 23 iI 19 13 24 20 26 22 HT II 8 I. LF 12 I. sua • • ESC 38 26 .* 52 3' 26 ,. 33 CR 15 13 0 35 " ,. IC ,. 10 36 30 IE 37 15 F " IF KEY ASCII CHARACTEREIT]33 OCTAL 27 DECIMAL 18 HEX 6' 56 37 70 56 38 71 " 26 + , I 44 'C 56 45 '0 56 46 'E " 41 D E F G H 1 " 73 K .. ; < = > ? 3. 74 60 3C ,. 61 30 L M '6 6' 3E N " 0 63 2F D C J .8 3A 42 53 '3 '8 54 A 38 : 'A I. " 8 9 39 21 34 65 53 35 66 54· 36 5 51 41 34 51 " ..,. •, " 33 6• ., 4 ) 14 12 C 15 36 24 45 3' 63 3 ,. FF E .. 30 61 •9 31 ii 32 31 26 12 I. '3 36 '3 50 2 8 13 II 14 ., " 50 40 28 VT so 1 33 21 ( 30 24 ,. 8 8 " 7 II • ". S 17 CAN 0 1 •• . • .,. a 3 40 3' 20 34 23 1 I. 8 8 I 1 1 1 " " , as 1 1 " I. 8 • 1 I ! 25 21 15 6 6 , 13 • • 2 SP 21 17 11 " • 1 1 1 18 12 5 5 • • •• •• • IXONI ••• 5 1 1 DC1 DC3 (XOFF) 3 3 3 I.I. 20 , 3·· • 1 • •• ,, 1 I I 1 • • 1 1 0 NUL 1 I • 1 COLUMN ••• •• • , •• •• • I •• • 3F • 5 100 114 P 40 '"'6' Q ., ... 43 104 105 69 45 106 ,. 46 I.' "" II. " '8 111 13 '9 1I2 74 'A 113 • ,., q 161 113 71 r 123 83 53 12. C T U V W X . 54 125 85 56 126 66 .. '" 81 .. " 130 .. .. 131 Z 13' • , " it '0 116 '8 'E i '" 8 I:>.' 9' 50 135 93 '0 136 94 5E 13' .5 SF 9, 61 I., .. .. .. ,., ., 143 14. U '.5 '" V ., W 166 118 '6 161 119 65 102 66 150 104 68 151 105 68 k 1 m n 0 72 163 I1S '3 I.' 116 "5 h j 16' II. t 14' 103 I • '"70 100 II .8 SA 133 91 5. i6 .3 d 5. Y 7 ·'40 180 5 8' 1 60 b q ,. 121 81 1 p '"., "' 4F .... 1 • 8 a R ,. e •• 7. 'C I1S 1 120 51 41 102 66 42 103 1 1 15' 106 6A 153 ,., •• 15. 108 .C 156 109 .0 156 II. 6E 157 III 6F " '",. 17 X Y Z 17. ,. 120 '" 121 18 m " 'A jj 0 ii i.i DEL ," ,. 123 114 124 1C 175 125 10 176 126 'E '" 127 1F Highlights differences from ASCII MR-l0954 Figure 29: Swiss Character Set (7-bit) NOTE Empty positions are reserved for future use. 92 87 0 0 86 0 BITS B4 83 62 81 0 0 o o 0 0 0 0 o 0 0 0 0 0 1 0 1 1 0 1 o 1 0 1 0 1 1 1 0 1 1 1 ROW 0 2 3 4 5 7 1 1 o 1 13 1 26 22 14 15 FF CR SO 51 1 0 0 I: S % 61 49 2 62 50 36 24 45 37 & I 46 38 26 47 39 3 4 5 6 7 8 31 ) 51 9 32 26 lA 33 27 29 * + 29 10 36 30 IE 37 31 1F KEY 27 DECIMAL 16 HEX , - 52 42 2A 53 43 28 54 44 2C 55 45 20 56 46 57 47 51 33 64 52 34 65 53 35 66 54 36 67 55 37 70 56 38 71 57 : 72 58 3A ; 73 59 38 74 60 3C < = > C 1 1 1 1 0 75 61 3D 76 62 ? 77 63 5 100 64 40 101 65 41 102 66 42 103 67 . P Q R S D 104 E 105 6. 45 U F 106 70 V G 107 71 47 H 110 72 48 X I 111 73 49 Y J 112 Z K 113 75 48 114 76 4C 115 T 44 46 L M N 0 3F 74 4A 77 40 116 78 4' 117 7' 4F 120 80 50 121 81 , 1 W 122 82 52 123 83 53 124 84 54 125 85 55 126 .. 56 127 87 57 130 88 58 131 8. a b C d e f 9 h i 59 [ \ ] A 132 90 5A 133 91 58 134 92 5C 135 93 50 136 94 137 95 140 96 60 141 97 61 142 9B 62 143 9. 63 144 100 64 145 101 65 146 102 66 147 103 67 150 104 68 151 105 6. P q r S t U V W Y j Z k 153 107 68 { 1 154 108 6C 155 109 60 I m n 0 SF 156 110 6' 157 111 6F 160 112 70 161 113 71 162 114 72 163 115 73 164 116 74 165 117 75 166 118 76 167 11. 77 X 152 106 6A 5E - 7 6 51 43 3E 2F D 63 39 2E I B 32 ( 41 A 31 27 35 17 15 F 1 50 40 28 34 28 lC , 43 35 23 44 @ 30 25 18 16 14 20 41 33 21 42 34 4 60 48 0 17 25 19 15 13 0 32 22 23 11 8 14 12 C 3 40 30 24 18 ASCII CHARACTER E T I J 3 3 OCTAL Figure 30: 11 16 27 VT 12 1 1 1 21 15 11 0 23 19 13 24 25 ESC 1 0 ! 14 13 HT 21 17 11 20 10 1 1 1 0 DC3 (XOFF) SUB • BS SP 18 12 12 10 A 1 1 0 1 2 20 16 10 22 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 LF 0 1 1 BEL DC1 (XON) CAN 1 0 o 1 1 0 1 0 0 0 1 1 1 10 8 8 11 9 9 8 1 ENQ 6 0 1 0 0 NUL 1 0 1 0 1 0 1 1 COLUMN o 1 0 0 0 85 } DEL 170 120 78 171 121 79 172 122 7A 173 123 78 174 124 7C 175 125 70 176 126 7E 177 127 7F Highlights differences from ASCII MA-11142 United Kingdom Character Set (7-bit) NOTE Empty positions are reserved for future use. 93 DEC 8-bit MUL TlNATIONAL CHARACTER r z ~ Cl « z « u ~ e A e A ,U'0 A u c,!). A , "8' 0 ae 0 I ~ I £ § !!? 0 « 0. (. u. a ,, - l Ul 0 0 "u ~ ] { 'Ii I I l.i Jl I- ·Ii ::> "d ii l , l 0 - ::i « ".: I u I I- ::> \ ] l' - Cl I % £ § r Z « ::::; « - ~ \ , ] a , e e, l # @ , 0 ,1 !:: \ ..A a e [ N \ W C,!) jj # @ { ] [ s:Ul Figure 31: # @ z « :;;; a:: Ul l # "u @ ~ U U § a:: ., 0, ( Z I Ul , .J.J ww cece A z jj 1 "" u I C,!)C,!) A A - L !!? ~~ A A a:: z -zz e a W a ~~ e , , :;;;z WW .Ja:: a, :;: I z z I-I !!?u ~ a, 1 <5 r it-· A W 7-bit NATIONAL REPLACEMENT CHARACTER [ { I , ,I 0 U NOTE: . mrn ~.I) "'"'''''''' ~y f is displayed as IS displayed as f .., is displayed as " ( US VERSION, NOT SHOWN, DOES NOT USE NRC) MA-11082 7-bit/DEC8-bit Translations 94 ., . 0 BITS 84 13 82 8' r;,;w o 0 o • •• • • 1 • • 1 0 1 0 .5 0 0 0 1 0 NUL 0 0 0 1 1 1 • 0 • DC1 (XONI o 1 0 o 1 1 0 0 1 1 1 1 1 1 10 • 1 o 1 1 11 0 1 1 1 1 o • 1 0 1 1 1 0 1 1 1 1 HT " 25 •• •• CAN 11 ,." 30 ••" 2 •• B £ •••• 35 31 3 .3 S '4 311 •• 45 37 4 , ., 66 54 311 7 * 5. 4' ,A : + 53 .3 ; 34 lC CA 35 13 15 13 0 28 ,. 14 .. " 37 31 29 10 15 F IF KEY ASCII CHARACTER E J ] 3 3 OCTAL 27 DECIMAL HEX 8 28 , I 53 35 .,.. 37 70 1 1 1 1 0 F G .... 103 6' '3 104 .. 105 Q A 8 •• .. V 10' ., 71 '".,., •• 122 5' "3 B3 '"•• 5. 125 85 .. 56 W 126 55 12> ., .. . 111 73 48 Y 131 S. J 112 Z 13. 73 K 72 . < • > ••3. •• 80 3C 55 45 .0 55 15 ., .. B3 14 'A 113 '5 L 1 Y M N 0 3F 77 I 80 5A 133 81 58 134 BB •• 162 " "' .. '" t • "5 101 U f 145 102 ¥ II 147 103 W ,.7 11. h 150 11/4 X 170 120 I 151 106 Y 121 IS' Z 63 I 100 M .. . ., .. •• k 163 ,.7 .. f '14 , B. 5' 0 1S7 111 OF . ,., , '" " ,. 11. 165 166 116 . , '" 19 •• " n 163 115 73 77 106 .A m SF r d 93 85 '0 181 113 • 6C - '" q .. 155 100 .0 155 110 '" 180 "' 143 1 A 78 ..., I., 5C 50 138 P 80 135 .0 11. 7. 4E 4F .. ,., 154 108 •• 7 140 e 5. "',. In 4C 115 b 55 4. 3D 77 •• • 57 1 71 57 8 53 T U 4. 106 70 , 80 50 131) 3. 14 ? •5 120 X .A . ,., " I., 5 P 110 '2 44 D E .. 100 H 56 2C 47 'F D 39 ••5' 57 C 3B II 28 3D IE • 40 5' 34 8 26 39 .7 50 .. IS 25 •,. 50 3. .3 51 33 5 51 41 • 18 34 ) "C 81 11 41 31 25 18 FF 80 A 31) ( ,.., ~ . :Q •• 3. 26 lA 33 80 1 "" '7 23 7 10 0 33 a ••,. 4 3 40 ! 26 15 12 IS 1 0 0 ••., " 14 14 0 1 20 13 •• "10 SUB A VT 1311 ESC LF ,. 20 1 BS ,. DC3 "• 3 (XOFF) •• , 0 • 0 0 1 1 2 SP 11 4 5 5 5 • • • • • 1 1 1 "" •• 3 1 ,. 10 3 o 1 0 1 0 20 •• • • •• • • 3 0 1 COLUMN 1 1 0 DEL 172 22 'A .,. ". '.3 7. 124 'C ". 126 70 '" 126 7E 177 12> 7F .High,ights differences from ASCII MR·10955 Figure 32: Dutch Character Set (7-bi t) NOTE Empty positions are reserved for future use. 95 Rainbow™ 100 + 11 OOB Terminal Emulation Manual QV069-GZ READER'S COMMENTS Did you find this manual understandable, usable, and well-organized? Please make suggestions for improvement. Did you find errors in this manual? If so, specify the error and the page number. Please indicate the type of reader that you most nearly represent. D D D D D First-time computer user Experienced computer user Application package user Programmer Other (please specify), _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ Name_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ___ Date'_____________________________________ Organization_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ Street~ ___________________________________ City,_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ Statei_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ Zip Code orCount~'--------------------------------- I I I I I I ---~-.--0 00 I id mN.otoTear t- FOa HDe~ and T.~ - - - - - - - - - - - - - - - - - - - - - Trnn--------~~~~~~; ---i if Mailed in the United States BUSINESS REPLY MAIL FIRST CLASS PERMIT NO. 33 MAYNARD MASS. POSTAGE WILL BE PAID BY ADDRESSEE SOFTWARE PUBLICATIONS 200 FOREST STREET MR01-2/L 12 MARLBOROUGH, MA 01752 - - - - Do Not Tear - Fold Here and Tape - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37 Create Date : 2013:10:25 18:50:06-08:00 Modify Date : 2013:10:25 19:07:21-07:00 Metadata Date : 2013:10:25 19:07:21-07:00 Producer : Adobe Acrobat 9.55 Paper Capture Plug-in Format : application/pdf Document ID : uuid:d8aa49f0-b4c9-4a2f-8bc8-de22f455b9c0 Instance ID : uuid:b6fd4c25-1f31-418e-9b18-750d8ffe1983 Page Layout : SinglePage Page Mode : UseOutlines Page Count : 232EXIF Metadata provided by EXIF.tools