070201_CGC_7900_Users_Manual_May81 070201 CGC 7900 Users Manual May81
070201_CGC_7900_Users_Manual_May81 manual pdf -FilePursuit
070201_CGC_7900_Users_Manual_May81 070201_CGC_7900_Users_Manual_May81
User Manual: 070201_CGC_7900_Users_Manual_May81
Open the PDF directly: View PDF .
Page Count: 330
Download | ![]() |
Open PDF In Browser | View PDF |
OPERATORS MANUAL CGC 7900 SEiuES COLOR GRAPHICS COMPUTERS CHROMATICS CGC 7930 COLOR GRAPHICS COMPUTER SYSTEM USER'S MANUAL Copyright (C) 1981 by Chromatics, Inc. 2558 Mountain Industrial Boulevard Tucker, Georgia 30084 Phone (404) 493-7300 TWX 810-766-8399 This manual is Chromatics Part Number 073201. It is applicable to CGC 7930 system software version 1.1, released May, 1981. PUBLICATION COMMENT FORM Please use this sheet to give us feedback on the enclosed documentation. Your comments on errors or omissions, suggested changes, format of presentation, etc., will be helpful in preparing future manuals. Wherever possible, refer to specific page numbers in your comments below. After completing this form, mail to: Chromatics, Inc. 2558 Mountain Industrial Boulevard Tucker, GA 30084 Attn: R&D Department Name: Date: ____________ Company Name: Name/Model Number of Product: _____________________________ Title of Publication: Preliminary?_____ Date of Publication Release: Page No. Comments TABLE OF CONTENTS PREFACE COMl-1AND REFERENCE LIST CONVENTIONS USED IN THIS DOCUHENT SECTION ONE - GENERAL SYSTEM INFOR1~TION INTRODUCTION CGC 7gea OVERVIEW INSTALLATION· CONVERGENCE AND DEGAUSSING CONVERGENCE AND DEGAUSSING CONTROLS i- 1 i- 3 i- 9 1- 1 1- 3 1111- 4 6 7 9 CODES AND CODE SEQUENCES CODE HIERARCHY 1- 11 1- 17 THE KEYBOARD 1- 19 RESET, BOOT, SOFT BOOT WARM START 1- 23 1- 25 TERMINAL EMULATOR LOCAL HALF DUPLEX FULL DUPLEX 1111- ASSIGNING PHYSICAL DEVICES PHYSICAL DEVICE ASSIGNMENT LIST KEYBOARD SYNC 1- 31 27 28 29 3a 1- 33 1- 35 1- 37 SERIAL COMMUNICATIONS 1- 39 SERIAL PORT PINOUTS SERIAL PORT CONNECTORS 1- 40 1- 41 RECOM~mNDED SERIAL PORT WIRING 1- 43 SET SERIAL BAUD RATE SET SERIAL PARITY, WORD LENGTH, STOP BITS 1- 45 SET HOST EOL SEQUENCE 1- 47 CASE TABLE 1- 48 CREATE BUFFER OPERATIONS CREATE BUFFER "ON" CREATE BUFFER "OFF" REDRAW THE CREATE BUFFER TRANSMIT THE CREATE BUFFER APPEND TO CREATE BUFFER DEFINE A SUB-BUFFER VIEW A SUB-BUFFER KILL A SUB-BUFFER INSERT INTO SUB-BUFFER LITERAL CREATE DELAY 1- 54 WINDOWS SET WINDOW LIMITS 1- 61 1- 51 1- 52 1- 52 1- 53 1- 53 1- 54 1- 55 1- 56 1- 57 1- 59 1- 60 1- 62 TEST 1- 65 VISIBLE CONTROL-CHARACTERS SELECT CHARACTER SET 1- 67 1- 69 FUNCTION KEYS BEZEL KEYS 1- 71 TONE GENERATOR 1- 75 LIGHT PEN 1- 77 REAL TIME CLOCK SET CLOCK DISPLAY TIME 1- 81 1- 81 1- 82 THAW _ DEFAULT RAM ALLOCATION 1- 83 1- 94 NUMERICAL DATA WINDOW VARIABLES WINDOW VARIABLE ASSIGNMENTS OPERATE ON WINDOW VARIABLE DISPLAY AND TRANSMIT WINDOW VARIABLE WINDOW VARIABLE USES BINARY MODE 1- 97 1- 98 1- 99 1- 1~0 1- 101 1- 103 1- 104 SECTION TWO - THE OVERLAY THE OVERLAY: INTRODUCTION OVERLAY DEFAULTS OVERLAY OPERATIONS OVERLAY CURSOR CONTROL OVERLAY CURSOR BLINK ON/OFF OVERLAY ROLL AND PAGE 1- 73 2222222- 1 3 5 6 7 1~ 11 OVERLAY COLOR AND BLINK SET FOREGROUND COLOR SET BACKGROUND COLOR OVERLAY BLINK ON OVERLAY BLINK OFF 2- 15 2- 16 2- 16 MODIFY OVERLAY VISIBLE ATTRIBUTES 2- 17 OVERLAY PLOTTING FUNCTIONS 2- 19 SECTION THREE - THE BITMAP THE BITMAP: INTRODUCTION BITMAP DEFAULTS BITMAP OPERATIONS BITMAP CURSOR CONTROL 2- 13 2- 14 3- 1 3333- 3 5 6 8 SET CURSOR COLOR BITMAP ROLL ~~D PAGE 3- 10 3- 11 SET BITMAP CHARACTER SIZE SET BITMAP INTERCHARACTER SPACING 3- 13 3- 14 OVERSTRIKE 3- 15 COLOR LOOKUP TABLE CHANGE COLOR LOOKUP TABLE ENTRY (RGB) CHANGE COLOR'LOOKUP TABLE ENTRY (HVS) DEFAULT COLOR LOOKUP TABLE '3- 17 BITMAP BLINK SELECT BLINK PLANE(S) BITMAP COLOR AND BLINK SET FOREGROUND COLOR SET BACKGROUND COLOR BLINK ON BLINK OFF 3- 27 PLOT SUBMODES FILL DOT VECTOR CONCATENATED VECTOR CIRCLE TWO-POINT CIRCLE RECTANGLE TRIANGLE, SET VECTOR WIDTH BOLD VECTOR CONCATENATED BOLD VECTOR INCREMENTAL X-BAR INCREMENTAL Y-BAR INCREMENTAL VECTOR POLYGON FILLED POLYGON (TILER) CURVE ARC RAY 3- 21 3- 24 3- 25 3- 28 33333- 29 29 30 31 31 333333- 33 34 35 36 38 40 3- 42 3- 43 3- 45 3- 47 3- 48 3333333- 49 59 S3 55 59 62 63 3- 66 3- 68 VECTOR-DRAWN CHARACTERS EXITING PLOT SUBMODES 3- 70 3- 72 RASTER PROCESSOR GRAPHICS DEFINE SOURCE RASTER COpy RASTER COpy RASTER WITH OVERSTRIKE SET RASTER DIRECTION SET VECTOR TYPE COLORSWAP COLORSET 333333- 73 74 75 76 77 89 3- 81 3- 82 COMPLEX FILL ALGORITHMS AREA FILL EDGE ~ILL 3- 83 3- 84 3- 85 SCALE FACTORS (VIRTUAL COORDINATES) SCALING ON/OFF WINDOW AND SCALE 3- 93 3- 94 RUBBER BAND 3- 97 PAN AND ZOOM ABSOLUTE PAN ABSOLUTE ZOOM 3- 99 3- 101 3- 102 JOYSTICK 3- 105 PLANE SELECT 3- 107 PLANE VIDEO SWITCH 3- 109 EXPANDED IMAGE MEMORIES SELECT INAGE PLANE/VIDEO/BLINK SELECT WRITING TO THE SECOND I~~GE 3- 112 3- 113 3- 114 3- 89 3- III APPENDIX A - SPECIAL CODES A- 1 APPENDIX B - 'HUE, VALUE, SATURATION THE COLOR CUBE THE HEXCONE B- 1 B- 6 B- 7 APPENDIX C - MONITOR MONITOR OPERATIONS THE INLINE EDITOR DUMP MEMORY CHANGE MEMORY MOVE MEMORY CO~1PARE MEMORY FILL MEMORY SET MEMORY VIRTUAL SEARCH CHECKSUM MEMORY EVALUATE MATH EXPRESSION LOAD PUNCH END PUNCH EXAMINE REGISTERS TRACE (SINGLE STEP) TRACE DISPLAY GO (WITH BREAKPOINTS) ABORT cccCcccCccCc- CCC- ccC- CC- 1 2 3 5 7 8 9 10 11 13 15 16 17 18 19 20 22 23 24 25 APPENDIX D - TP~PS APPENDIX E - ASCII CODES STANDARD ASCII CHARACTER SET REGULAR AND ALTERNATE (A7) CHARACTER FONTS D- 1 E- 1 E- 2 E- 3 79g0 Page i-I User's Manual PREFACE (DIFFERENCES BETWEEN CG SERIES AND THE CGC 7900) This list is by no means a complete reference to the CGC 7900. Its intended purpose is to point out some changes in operating procedure between the Chromatics CG series computers and the new CGC 7900. Please refer to the main body of this User's Manual for detailed instructions on operating the CGC 7900. 1. Decimal numbers must alw~ys be delimited (Due to allowing 16-bit numbers) by a comma or then the s~micolon. 2. Foreground colors are set by using the color key. Background uses SHIFT SET. 3. Pressing a Plot Submode key will mode and turn on the ~ key light. ~ key and automatically invoke Plot 4. CREATE, fILL, BLINK, and most other lighted keys: Pressing the key turns the function on and turns on the light in the key; pressing the key again will turn it off (similarly to the CG). Alternatively, using SHIF~ with the key will always turn the function off, regardless of whether the key is currently lit • . 5. The DEFINE key is used to set up user-defined function keys. 6. Logical device assignment method increased number of devices available: is changed due to Logical devices are now numbered 0 to 4 Physical devices (including windows) now labeled A to Z ASSIGN is used to assign output, SHIFT ASSIGN for input. 7. Create Buffer: Sub-buffer numbers are entered in decimal. the Page i-2 Chromatics CGC 7900 8. Overlay cursor is produced by hardware. white. Its color is always 9. Character size in Bitmap: both X and Y dimensions entered together, as ~, , (using the ~. key) la. Complex area fill (including black). (optional) will work with any are colors In addition to Escape and Mode, ,two other codes are in use: Plot and User. Plot codes cause entry into a Plot Submode. User codes cause execution of a program or alter the configuration of the 79aa in some important way. 11. 12. Escape codes can be entered using the "Literal Create" command. into the Create Buffer, 13. Coordinate axes in Bitmap range from a to la23 in X, and a to 767 in Y. The 0, ~ position is the upper left corner. The "Scale" command allows varying the coordinate system over a wide range. 14. Up to eight windows exist. The number of active determined with the "Thaw" command. windows is Page 1-3 7900 User's Manual COMMAND REFERENCE LIST This section is a brief guide to the operation of the CGC 790" • The commands are listed here as they would be entered from the keyboard. For details on any command, consult the detailed descriptions in the main body of this manual. Terminal Emulator and I/O: SHIFT USER H Half Duplex SHIFT USER F Full Duplex SHIFT USER L Local ASSIGN SHIE:;t ASSI~H Assign Output Assign Input SHIFT USER S , , Set Baud Rate SHIFT USER SHIFT s , Set Format Create Buffer: CREATE Create On SHIFT CREATE REDRAW ~ Create Off Redraw the Create Buffer Transmit the Create Buffer SHIF:;t USER A Append to Create Buffer CTRL X Define a Sub-Buffer SHIFT VIEW , View a Sub-Buffer SHIFT USER K , Literal Create (put Esc's in Buffer) Page i-4 Chromatics CGC 7900 Window Functions: WINDOW , , , , SHIFT WINDOW Default window size SCALE , , , , SHIFT SCALE : , ~ ~? Set window limits Set window scale factors Default- scale factors Plane Select Keyboard sync Text and Cursor functions: ~ ~ / SHIFT ROLL Roll or Page mode V <9 or 1> CTRL N / CTRL ~ ~ , , MODE I ~ Visible Controls on/off A7 character set on/off Q Fill window with character Set Bitmap character size , , \ <0 or 1> Set Bitmap intercharacter spacing Overstrike on/off CURSOR ON / SHIFT CURSOR ON MODE Q Cursor on or off Set cursor color (Bitmap only) MOYE x-x ~ SHIFT m , , , , Move cursor (absolute) to X-Y Move cursor relative 7900 User's Manual Page i-S Colors: SET Set foreground color SHIFT SET Set background color BLINK / SHIFT BLINK ~ SHIFT b , Blink on/off Select Blink Plane(s) CHANGE , ,, Change RGB in Lookup Table SHIFT CHANGE , , , . Change HVS in Lookup Patterns (optional): MODE ~, , , , , , Define Source Raster Copy raster ~ SHIFT u , , ~ SHIFT f , ~ T <0 or 1> Copy raster with overstrike Set raster direction Set vector type (patterns on/off) COLORSWAP , , Swap colors SHIFT CQLORswAP , , Set colors Chromatics Page i-6 eGC 790~ Plotting: ~ / SHIFX FILL Fill attribute on/off ~ / SHIFT PLOT Enter Plot or Alpha ~ , , 'VECTOR , , , , CONCAT VECTOR , , [ , , ••• ] CIRCLE , , , SHIFT PLOT 0 , , , , Two-point circle REeT , , , , TRIANGLE , , , , , , SHIFT V. WIDTH , Set vector width SHIFT PLOT SHIFT v , , , , Bold Vector SHIFT PLOT SHIFT w , , , , Concat Bold V. SHIFT INC X-BAR , ,[ , ••• ] SHIFT INC Y-BAR , ,[ ,.~.] INC VECTOR , ,[dXdY ••• ] POLYGON , , , , [ , , ••• ] ; ~HIE~ CPRVE , , , , , , , , ARC , , , , , BaI , , , , AREA FILL , , Area fill at X-Y with color SHIFT AREA FILL , , Edge fill at X-Y 79g~ User's Manual Page i-7 Zoom and Pan: ~ (with arrow keys) M2 HOME Pan Reset Pan M2 CLEAR LINE Pan to cursor location SHIFT PAN X-Y , , ESC SHIFT m , , M2 ERASE PAGE M2 RECALL Pan to X-Y (absolute) Relative Pan Zoom Up Zoom Down ESC Z Absolute Zoom Miscellaneous: OVERLAY / SHIFT OVERLAY MODE V ~ ~ v S , Address Overlay or Bitmap Modify Overlay present attributes Modify Overlay future attributes Plane Video Switch SHIFT TONE , , , , DEFINE Make tones Define Function Key CTRL Z Flush input buffer, cancel code sequence SHIFT PLOT E , <0 or 1> SHIFT OSER \ <0 or 1> Vector-drawn characters Joystick on/off SHIFT USER SHIFT I <0-4> Enable Lightpen Page i-a Chromatics CGC 7900 Page i-9 7903 User's Manual CONVENTIONS OSED IN THIS DOCUMENT 1. Any keys which have labeled caps will be called by their full names, capitalized and underlined. For example, the carriage return key will be denoted by RETURN 2. Color keys will be called example above. by their name, similar to the 3. All punctuation shown in the examples must be typed exactly as shown. Commas must be typed literally. Spaces will be denoted by SPACE 4. The modifier keys, ~, SHIFT, Hl, and HZ, must be held down while striking the key they are to modify. Note that these four keys do not generate any characters on their own, but simply modify the character which is struck simultaneously. This process of holding down a modifier key while striking another key will be denoted by the modifier AND the key being underlined together. For example, CTRL F would indicate that the ~ key should be held down while striking the F key. If two or more modifiers are needed simultaneously, they will all be underlined together: CTRL SHIFT T would mean that BOTH modifiers, SHIFT down while striking the T key. and~, should be held 5. Variable parameters will be enclosed in angle brackets, < >. Any items enclosed in these brackets will be expla'ined in full in the text which immediately follows. 6. Optional parameters will be enclosed in square brackets { ]. Any items which may be repeated will be followed by an ellipsis (three dots). Page i-l~ Chromatics CGC 790~ Example of (5) and (6): , [ , , ••• ] The parameter is required. The parameters" , , and so on, are optional. Any number of these may be included. All three types of parameters would be explained immediately beneath the example which contained them. 7. Zeros will be slashed (~), alphabetic 0 will"not be slashed. 7903 Userrs Manual Page i-II "- Page i-12 Chromatics CGC 7900 7900 User's Manual SECTION ONE - GENERAL SYSTEM INFORMATION Page 1-1 Page 1-2 Chromatics CGC 7900 7900 User's Manual Page 1-3 INTRODUCTION This is the User's Manual for the Chromatics CGC 7900 Color Graphic Computer. It discusses how to operate the 7900, and gives examples of the system's capabilities. If you are just beginning to learn about the 7900, this is the first mantial you should read. This manual is divided into three sections, and several appendices. S~ction One (this section) discusses the 7900 architecture and philosophy, and explains the system commands which relate to the 7900 as a whole. Section Two goes into more detail about the Overlay. Section Three discusses the Bitmap, including the graphics features which make the CGC 7900 unique in the field of color graphics. The appendices provide detailed information on the 7ge0 which will be useful to advanced users. Page 1-4 Chromatics CGC 7900 CGC 790B OVERVIEW The CGC 7900 is the successor to Chromatics' CG Series of color graphics computers. Many of the same philosophies have been retained in the development of the 7900, and a user who is familiar with ,the CG will quickly become accustomed to the 790~. The 7900 contains three processors. Most system functions revolve around the MC68000 processor, selected for its high speed (8 megahertz) and large memory addressing range (16 megabytes). This powerful processor gives the 7900 outstanding capability for stand-alone computing applications. And when the 7900 is acting as a terminal (connected to a host system), the 7900's power relieves the host of many of the tasks normally required in a graphics environment. The 7900 also includes a processor in the keyboard, and a Raster Processor to provide high performance and speed in graphics operations. Many graphics systems have suffered from a drawback: the need to have a separate, Ndumb N terminal, for command level interaction between the system and the operator. The 7900 addresses this need by providing a character-oriented NOverlayN display in addition to the high-resolution Bitmap graphics display_ With its eight standard colors and blink, the Overlay is a very effective tool for operator interaction. When not needed, the Overlay can become instantly ntransparent N to reveal a high-resolution graphics image in the Bitmap. The concept of logical and physical devices, used in Chromatics' CG Series of computers, has been expanded and applied to the 7900. All programs in the 7900 communicate only with Logical Devices, known by a number (0 through 4). 7900 software associates each Logical Device to one or more Physical Devices. This association may be changed at any time, allowing total flexibility in programmed input/output. Any program can accept input from any Physical Device, and transmit output to any Physical Device. Some examples of Physical Devices are the keyboard, the serial ports, and the 7900 display screen. The screen can be subdivided into several distinct areas known as nwindows,N and each window is a separate Physical Device (emulated by software). Thus, each window can be used for a separate purpose, and independent simultaneous displays are possible. In Some applications, one 7900 could replace up to 16 separate terminals. 7900 Userrs Manual Page 1-5 All 7900 features discussed in this manual, and all currently available optional features, are contained in a single stand-alone package. Standard features include: l28K bytes of buffer memory, one or four planes of Bitmap image memory, a keyboard with 151 keys (21 lighted), 32 user-definable keys, two serial ports, a 19-inch color' display screen, and a PROM software package which allows easy control of all system functions. Optional features currently include: a lightpen and joystick for interactive use, a battery-backed Real-Time Clock and CMOS memory, a Disk Operating System with flexible and fixed drives, and extended graphics software features. Page 1-6 Chromatics CGC 7900 INSTALLATION Unpack the CGC 7900 according to the instructions supplied in the shipping carton. Retain the packing material so that it may be used for shipping the 7900 in the future. CAUTION: If your 79~H) system includes the optional Hard Disk drive, REMOVE the locking screw which was used to secure the drive during shipment! See instructions on your unit for details. FAILURE TO REMOVE THIS SCREW WILL DESTROY THE HARD DISK, AND VOID YOUR WARRANTY 1 Connect the 7900 power cord to a source of 110 volt AC, power (50 hertz optional), capable of supplying at amperes. For reliable operation, the 7900 power should from a circuit with any heavy motors or industrial which could create transients on the power lines. This equipment such as refrigerators and air conditioners. 60 hertz least 10 NOT come equipment includes The 7900 has no strict environmental requirements. But, like any precision instrument, the 7900 will perform best if it is not subjected to excessive heat or dust. 7900 ventilation removes heat from the unit through vents in the front and rear; these vents should not be obstructed. The rear door should remain CLOSED during normal operation to provide proper air flow through the 7900 chassis. 7900 power is applied by pressing the square, lighted switch on the front of the unit (above the keyboard). The switch illuminates whenever the system's five volt power supply is operating. When turning the 7900 on, observe the indicator light on the keyboard, just above the cursor keypad. It will glow green as the unit performs internal power-on diagnostics. The green light will extinguish after one or two seconds. By this time, the picture tube should have warmed up, and a blinking cursor should be visible on the screen. Your 7900 is now running I 79~0 Page 1-7 User's Manual CONVERGENCE AND DEGAOSSING The 7900 analog circuitry requires periodic adjustment to maintain best performance. Convergence is the adjustment which causes the red, blue and green portions of the picture to join properly without "fringes n or other artifacts around the edges of the display. Degaussing is the process which demagnetizes the screen, removing residual magnetic fields which can affect color purity. Controls for both of these adjustments are located behind the door on the right side of the CRT (Cathode-Ray Tube, or picture tube). These controls are conveniently located so that a "touch-up" alignment may be performed whenever necessary. The degaussing switch is located at the top of the recessed area behind the door. The need for degaussing is indicated by a lack of purity, and can be seen easily by generating a red screen: Hold down the SHIFT key and press~. Release SHIFT and press the RED key and the ERASE PAGE key. If the screen is not uniformly red (it may contain areas where the red tends toward green or purple), the 7900 should be degaussed. To degauss the screen, press the Degauss button. Colors screen will shimmer for a moment as the degaussing occurs. on the process You must wait at least 15 minutes after turning the system power on, before degaussing will function. After pressing the switch, degaussing proceeds automatically for several seconds. Once degaussing is complete, it may not be restarted for another 15 minutes. If you press the switch again before 15 minutes have elapsed, degaussing will NOT occur, and you will have to wait another 15 minutes before attempting it again. It is generally necessary to degauss the screen after moving the unit, even if you are only moving it across a room. A weekly degaussing is also beneficial. If you intend to degaussing first. outlined below. degauss AND converge Then proceed to the the 7900, perform convergence steps Below the degaussing button, nine groups of three small potentiometers (variable resistors) are located. These are the convergence adjustments. Each potentiometer adjusts either red, blue, or green, and each group of potentiometers adjusts, one of nine sectors of the screen. For example, the upper left group of potentiometers adjusts convergence for the upper left corner of the screen. Page 1-8 Chromatics CGC 79~0 NOTE: Use a small screwdriver (a jeweler's screwdriver is ideal) and BE GENTLE when adjusting convergence. The convergence potentiometers are fragile. NOTE: Do not attempt convergence until the unit warmed up for at least 15 minutes. Convergence drift until the 7900 has completely warmed up. has may Set up a test pattern on the screen: Press the keys SOFT BOOT, TEST, and the period (decimal point) key. This produces a pattern of white dots on a dark background. Beginning with the center set of adjustments, turn the red, blue and green potentiometers until the dots in the center of the screen become white (with no colored fringes). Proceed to the other eight groups of potentiometers according to the numbers in the following diagram. 7903 User's Manual Page 1-9 CONVERGENCE AND DEGAUSSING CONTROLS Degauss - _ _~_ @ Red Blue Brightness o Page 1-10 Chromatics CGC 7900 7900 User's Manual Page 1-11 CODES AND CODE SEQUENCES The 790~ system is controlled through the keyboard, or through a communications port from a host system. The 7900 software allows all important system functions to be accessed through ASCII characters, which make up codes or code sequences. We define a code to be a single ASCII character typed on the keyboard, or received from a host. A code sequence is a set of such characters. Certain code sequences cause no immediate change in the visible state of the system. Commands such as "Set Color" have an effect on future displays, but do not alter anything currently being displayed. This can be disconcerting to an operator, since there is no feedback to indicate that the code sequence was accepted properly. It may be helpful to compare such code sequences to similar commands on a familiar office typewriter: the "set tab stop" function of a typewriter does not generate any feedback to indicate acceptance of this command. The command is silently accepted. The 790~ software is thus a bit terse; the altern~tive would be a system whose "verbose" output might interfere with the designs of an applications programmer. (Of course, an applications program can generate as much verbosity as is required.) The 79"~ recognizes four ."prefix" codes: Escape, User, Plot and Mode. When a prefix code is entered, it signals the system that one or more additional codes is about to follow, and that the entire code sequence should be taken together to perform a function. These prefix codes are NOT the same as the modifiers, Shift, Ctrl, Ml and M2. Modifiers do not generate codes; they merely alter the key which is pressed simultaneously with the modifier. The prefix keys DO generate codes on their own, and thus the prefix key must be pressed and released before the next key is struck. Some of the named keys on the upper part of the keyboard cause actions which are equivalent to pressing more than one key on the lower keyboard. For example, pressing ~ to enter the ·Plot Rectangle" mode, is equivalent to entering the sequence ~ R. This is simply an alternate way of entering commands, and we will always use the simplest way to describe each command in this document. The advanced user is referred to Appendix A for detailed information on which keys produce which codes. Page 1-12 Chromatics' CGC 7900 If you enter a code iequence which is not defined in the 7900 software, a "bong" sound will be produced from the speaker, as a warning. The same sound will be heard if you attempt to access an optional software feature which is not installed in your unit. The 7900's structure of code sequences is not designed to be totally "user-proof." It is possible to enter a sequence which will force the system into an undefined state. However, the RESET key will usually allow recovery from errors without losing the work ln progress. This problem should not exist if important code sequences are being transmitted only from a host or from an applications program (assuming such programs do not contain errors). 790" User's r-tanual . Page 1-13 Escape Code Sequences Format: ~ [ ••• l An Escape code sequence consists of the Esc character, followed by a single character which defines the type of Escape code sequence. This may be followed by one or more arguments, , depending on what the sequence requires. All arguments fall into one of two categories: Numbers: decimal or hexadecimal numbers which are delimited by a comma or semicolon. Characters: a single ASCII character. In addition, a few Escape code sequences will accept an arbitrary number of arguments. Details are described in each command where applicable. In these cases, a special delimiter character (usually the semicolon) is used to signal the enc of the argument list. To produce an Escape code sequence, you would press and release the ~ key, then press whatever other keys are necessary to complete the sequence. The argument list is determined by the particular Escape code sequence you are executing, and examples will be found throughout this manual. Escape codes sequences affect the entire machine. They control aspects of the operation such as pan and zoom, Color Lookup Table assignments, etc. Chromatics Page 1-14 CGC 7900 User Code Sequences Format: SHIFT USER [ ••• l The User character is produced by holding down the SHIFT key pressing the key marked USER. The definitions of are identical to those for Escape code sequences. and and User code sequences cause execution of a program, or affect the configuration of the 7900 in some manner. Some examples of User codes are I/O assignments, duplex selection, user-defined function keys, and Create Buffer operations. 790~ User's Manual Page 1-15 Plot Code Sequences Format: SHIFT PLOT Where is a single character. A Plot code sequence will place the window in a Plot submode, such as Vector, Circle, Arc, etc. Plot code sequences affect only the currently assigned window. The Plot character is produced by holding down the SHIFT modifier key and pressing the key marked ~. NOTE: The PLOT key used in this context is the key labeled Plot and Mode, located in the typewriter area of the keyboard. It is NOT the same as the lighted ~ key in the upper keyboard area. The lighted ~ key is used ONLY to move between plotting and text entry (Alpha) functions. Page 1-16 Chromatics CGC 7900 Mode Code Sequences Format: ~ [ , , ••• l Mode code sequences also affect only the currently assigned window. They are used in a wide variety of cases, from setting colors to scaling character size. Details on the available Mode code sequences are found throughout "this document. 790~ User's Manual Page 1-17 CODE HIERARCHY code sequences described on the previous pages are arranged In a prioritized structure. It is possible, and often desirable, to interrupt one sequence, enter a sequence of a higher priority, then resume the previous code sequence. The priorities are arranged as follows: ~he Escape, User Highest Priority Mode Intermediate Plot Lowest Priority A common example would be: while entering coordinates to draw a rectangle, you decide to change the foreground color. Since coordinates belong to a Plot sequence, and colors are higher priority (Mode sequence), you may interrupt the coordinates at any time and set a color. Then, you may resume entering coordinate data with no lost information. Escape and User codes have identical priority, and they take Plot, higher priority than any other code sequence. ANY Mode, or text entry function may be interrupted by an Escape or User code, and the code sequence will be processed. This means that important aspects of system operation, controlled by Escape and User codes, may be changed at any time, even in the middle of coordinate data ,or text. The high priority of Escape and User codes can result in confusion under certain conditions. The key point is this: when an Escape or User code sequence is begun, it MUST be completed. For example, the Escape code sequence which changes entries in the Color Lookup Table requires four arguments: color, red component, green component, and blue component. If this sequence is begun by pressing the CHANGE key, the system will ignore all other commands until the four arguments required by the Change command are satisfied. If the system appears to be suddenly unresponsive to commands, chances are good that an Escape or User code sequence has begun but has not been completed. Typing several commas, to satisfy any pending arguments, will usually regain control of the system. Page 1-18 Chromatics CGC 7900 79~3 Page 1-19 User's Manual THE KEYBOARD The 7ge3 system keyboard is divided into several areas. area is designed for a specific purpose, and the keys in area are arranged and color-coded for ease of operation. In general, keys on the keyboard are marked t~ree Each each ways: The marking on the top of the key is the primary function of that key. Pressing the key alone, without using any modifiers, will cause that code to be sent from the keyboard. The marking on the front of the key (if marked in white) is the code which is output when the SHIFT modifier is used in conjunction with the key. The marking on the front of the key (if marked in blue) is code which is output when the ~ modifier is used conjunction with the key. the in In the center of the keyboard, you will find a sculptured, typewriter-like set of keys. With few exceptions, these keys may be used just as if they were a standard typewriter. On the right of this set are the control keys, RETURN (carriage return), Lt (line feed), and BREAK (used t~ interrupt a running program). On the left are the modifiers, SHIFT, ~, Hl, and HZ. The high speed REPEAT key is also in this area. Any key on the keyboard may be caused to repeat, at either low or high speed. To repeat a key at low speed, simply hold the key down. To cause high speed repeat, hold down both the desired key and the REPEAT key. In the left of this area are the four ·prefix· keys which the system understands: ~, ~, ~, and~. Pressing any of these keys is a signal that one or more other keys will immediately follow, to complete a code sequence. To cause the keyboard to output a User code, hold down the modifier SHIFT and press the key marked ~ and~. Similarly, for the code Plot, down the SHIFT key and press the key marked ~ and ~. Page 1-20 Chromatics CGC 7900 To the far left are two special keys: QUIET L~K and ALPHA LaCE. These two are alternate-action keys. Pressing one of these keys will lock it in the down (on) position; pressing it again will release it to the up (off) position. QUIET LOCK will disconnect the built-in speaker the down (on) position. when it is in ALPHA LOCK will reverse the case of all letters ty~ed from the typewriter section of the keyboard. When it ~s up (off), letters typed on the typewriter keyboard will be upper case when the shift key is not being used. They will come out in lower case when the shift key is used. (This is the opposite of a normal typewriter, but is useful when the unit is acting as a terminal.) To reverse this, and return to standard typewriter usage, press the ALPHA LOCK key into the down (on) position. Now characters typed on the typewriter keyboard will be in lower case, and SHIFT will change them to upper case. This will primarily be useful for text editing applications. Unless specifically stated, all examples in manual will assume you have both QUIET LOCK ALPHA LOCK keys in their normal (up) position. this and To the right of the keyboard are two smaller, special purpose keypads. The cursor keypad is used-to position the cursor, and for text editing functions such as inserting and deleting lines. The numeric keypad is intended as an easy way to input numeric data. The keys on the numeric keypad duplicate the functions of their counterparts on the typewriter keyboard. The special function keys on the upper half of the keyboard are used to access most of the system's features. The majority of this manual is dedicated to explaining, in detail, what each of these keys will do. In general, the following comments apply: The name on top of the key represents its primary function. The name on the front of the key represents its secondary function, and is accessed by holding the SHIFT modifier and pressing the key. Page 1-21 7900 User's Manual Keys which have a built-in light are keys whose functions may be in one state or the opposite state. For example, the BLINK key has a light, and at any time, the "blink" attribute may either be on or off. The condition of the light will tell which state the system is in. (In some cases, it is possible for the keyboard lights to be "out of sync" with the rest of the system, in which case they will not present true information. See "Keyboard Sync" and ftAssign" for the details.) Lighted keys have an additional feature: Pressing a lighted key will turn a function on if it is off, and turn it off if it is currently on. Thus, repeatedly pressing a lighted key will toggle the light in that key on and off. The function produced by a key depends on whether the light in that key is currently on or off. (Using SHIFT with a lighted key will, however, always turn the function OFF.) The character Control-Z acts as a ftflush" command. It will clear out the keyboard buffer, so that any keystrokes that have not yet been executed will no longer wait in the queue. Control-Z will also cancel any pending Mode, Plot, Escape, or User code sequences which are expecting arguments. To execute the "flush" command, hold down the CTRL press the Z key: modifier and CTRL Z Two keys on the keyboard are not the BASIC and CALC MOPE keys. currently defined. They are A two-color light-emitting diode (LED) is located near the cursor keypad. This LED glows green during Reset and power-on diagnostics. It will glow red in the event of a system failure. CGC 7900 Keyboard 7900 User's Manual Page 1-23 RESET, BOOT, SOFT BOOT The 7900 recognizes several types of initialization procedures. At power-up time, a special type of initialization occurs, which erases all memory· in the system (except CMOS). The image memories are erased, and all of user memory is zeroed. Pressing the RESET key initializes all hardware to default states. All I/O ports are initialized, and all buffers are flushed. Any operations in progress are immediately halted. (In fact, Reset may be the only way out of some operations.) Following Reset, the Terminal Emulator program is executed by default (this may be altered with the Thaw command). Reset leaves the contents of memory essentially unchanged. The Reset command may not be stored in the Create Buffer, since it is a hardware function and does not generate a normal code sequence. The most common use of the RESET key is to halt a process, such as a picture being drawn from the Create Buffer. After pressing the RESET key, it may be necessary to wait several seconds before the system will again respond to input. When the system acknowledges RESET, the green indicator near the cursor keypad will illuminate briefly. Boot is designed to cold-start the system. It is executed by pressing CTRL BOOT on the keyboard. Boot initializes most of the 79fJ0 system, based on default parameters (either in PROM or in the optional battery-powered CMOS memory). After Boot, the Terminal Emulator is executed unless CMOS contains orders to execute a different program. CTRL SOQT is the simplest way to reload most of the default parameters in the 7900 system. The Boot command may not be stored in the Create Buffer. It is possible to simulate most of a power-up reset sequence, by pressing the three keys ~ SHIFT RESET simultaneously (and releasing RESET before releasing the other keys). This sequence is equivalent to a Reset followed by a Boot, and also erases any image in memory. This sequence takes longer to execute than the normal RESET, and is not usually needed. (It may be required if a user program writes into system memory and the RESET key will not recover control of the system.) Chromatics Page 1-24 CGC 790~ memory (optional) retains information concerning how the system is configured at Boot time. CMOS is set 'up using the Thaw command, to define buffer sizes and other defaults. As long as the data in CMOS remains intact, it continues to be used at Boot time. It is possible for a user to sufficiently scramble CMOS data so that the system cannot boot; in this case, the keys ~ SHIFT Ml. M2. RESET should be pressed simultaneously (releasing RESEI first) to clear out CMOS and force the system to boot from PROM data instead. This sequence destroys any defaults entered by Thaw, so it is not recommended unless absolutely necessary. See ·~haw· for details. C~OS The preceding two sequences (using Hl HZ ~ SHIFT or SHIFT in conjunction with RESET) should be used only when necessary. You are cautioned against getting into the habit of using these sequences, since they will destroy any work in progress. ~ SOFT BOOT initializes only the window receiving the command. It reloads all default window parameters, such as color, character size, and other values associated with a 'window. It may be used to set a window to a known state at any time. Soft Boot is executed by pressing the SOFT BOOT key, and this command may be stored in the Create Buffer. Besides reloading the default window parameters, the SOFT BOOT key also erases the Overlay. To reload the window parameters without erasing the Overlay, enter the sequence ~ = This performs the same functions as the SOFT erasing anything. BOO~ key, but without When beginning a new process on the 799a system, it is usually sufficient to press the SOFT BOOT key. To interrupt a process, pressing BESET followed by SOFT BOOT will usually suffice. Neither of these key sequences will affect the Bitmap image. 7900 User's Manual WARM Page 1-25 START Format: SHIFT USER W Programs which interact with the user and take over control of the 79aa system may often be re-entered' after an interruption. For example, if you are editing a file with a text editor, you may wish to enter the Disk Operating System (DOS) to examine your disk directory, then continue editing. The general form execute the Warm allow themselves vector" so that action to occur. for re-entering an interrupted program is to start sequence, SHIFT USER W. Programs which to be re-entered will take over the "warmstart typing this sequence will cause the proper If a program is in a "runaway" condition, such as a very long listing that will not terminate, it is generally possible to stop the program by pressing RESET, followed by SHIFT USER W. In a properly designed program, this will interrupt the current process but not destroy any data in memory. The details of program itself. question. warm-starting a program will depend on the Consult the instructions for the program in Page 1-26 Chromatics CGC 7900 7900 User's Manual Page 1-27 TERMINAL EMULATOR The Terminal Emulator is a program which executes automatically when the 7900 is booted. It configures the system to act like a communications terminal. The primary function of the Terminal Emulator is to read characters from input devices and transmit these characters to output devices. The default input devices are the keyboard (device K), and RS232 serial port (device L). The default output devices are Window A (device A), and the RS232 serial port (device L). As is the case with most of the 7900's defaults, these assignments may easily be changed. The Terminal Emulator allows a choice of Local, Half or Full duplex, and a wide variety of baud rates to suit many peripheral or host devices. This section describes each configuration, and other options available in the Terminal Emulator. NOTE: The terms Loca~, Half, and Full, have no meaning except within a program such as the Terminal Emulator. Other programs may also communicate wit~ external devices, but they do so through the logical device assignment system. See ftAssign. ft If another program is running, the Terminal Emulator re-entered by pressing the key marked TERMINAL. may be The code sequence structure of the CGC 7900 is affected by the configuration (half, full or local) of the Terminal Emulator. Escape and User code sequences are processed on the input stream, so typing and Escape or User code sequence will always result in immediate processing, regardless of the system configuration. On the other hand, Mode and Plot codes are not processed until they reach an output device which recognizes them (the windows). If the 79~0 is operating as a full duplex terminal, the host system must echo Mode and Plot codes or they will not be executed by the 7900. If it is necessary to transmit an Escape or User code to the host system, and NOT have this code trapped by the 79~0 code processing scheme, you must hit two Escapes or Users in a row: transmit ONE Esc to the host . Chromatics Page 1-28 CGC 7900 LOCAL Local operation is one of the three which are provided. communications arrangements In Local operation, Logical Input Device e (normally the keyboard) is connec"ted to Logical Output Device 0 (normally a window). The external device is ignored. This is the default arrangement, and must be used whenever a host or peripheral device is not connected. Format: SHIFT USER L Hold down the SHIfT press the L key. modifier (Local operation) and press the ~ key. Then Page 1-29 7903 User's Manual HALF DUPLEX In Half duplex, Logical Input Device 3 is connected to Logical Output Devices 3 and 1. This is the only case where a means is provided to connect one Logical Input Device t~ more than one Logical Output Device (see ftAssigning Physical Devices ft ). Also, in Half duplex, Logical Input Device 1 is connected to Logical Output Device 3. Format: SHIFT QSER H (Half duplex operation) The following figure illustrates the connections defined in duplex. LoglnDev 3 (keyboard) Half LogOutDev 1 (serial port) LogOutDev 9 (window) LoglnDev 1 (serial port) (The device assignments in par"entheses are These may be altered with the ASSIGN key.) defaul t assignments. Half duplex is used when it is necessary to transmit keyboard data to an external device and simultaneously display it on the screen. Page 1-30 Chromatics CGC 7900 FULL DUPLEX If the external device is a host computer, or other intelligent interface, Full duplex may be required. Full duplex is similar to Half, in that it defines a path to an external device. In Full duplex, the external device is required to echo back the characters it receives. Thus, anything typed on the keyboard will be received back from the external device as an echo, and the double assignment shown above is not required. All data received from the host will be displayed, whether it originated as data from the 790~ or was originated by the host. Format: SHIFT USER F (Full duplex operation) The following figure illustrates the connections defined in duplex. LogInDev ~ (keyboard) LogInDev 1 (serial port) -"/ , / Full LogOutDev 1 ( se rial po r t ) LogOutDev (window) ~ (The device assignments in parentheses are default These may be al tered using the' ASSIGN key.) assignments. Page 1-31 7900 User's Manual ASSIGNING PHYSICAL DEVICES Assigning output devices: Format: ASSIGN OPTPUT Where: is the Logical Device number (3 thru 4) is the letter corresponding to a physical device (see table) Each Logical Output Device may access up to four physical devices. This allows transmitting commands to more than one peripheral device window, or sending to a window and a simultanously. All four physical devices must be specified. If less than four are required, you must enter dummy devices using the character z. Example: ASSIGN OUTPUT 1 A B Z Z Logical Output Device number I has been devices A and B (the first two windows). used. connected Two dummy to physical devices are Example: ASSIGN OUTPUT a AK Z Z Logical Output Device 0 has been connected to physical device A (the first window), and the keyboard lights (see below). No other physical devices are connected to Logical Output Device a. This is the default condition. Physical Output Device K is the keyboard lights. The keyboard handler interprets all codes it receives, and decides which lights should be on or off. For example, when the ElLL key is pressed, the ftFillft attribute is turned on. The keyboard recognizes the code sequence produced by the ElLL key and turns Page 1-32 Chromatics CGC 790~ on the light in that key. It is possible to assign other Logical Output Devices to the keyboard lights, or to arrange the assignments so that the keyboard lights receive no information at all. If this is done, the keyboard lights may not reflect the current state of the system. Example: ASSIGN OUTPUT ~ AKT Z Logical Output Device ~ has been connected to window A, to the keyboard lights (K), and to the tone generator (T). Physical output device T is a special configuration of the tone generator. When assigned in this manner, it will sound a "click" every time a key is pressed. Some users appreciate this feedback, especially if they are not used to typing on a computer keyboard. Please note that we have maintained a connection to the keyboard lights in this assignment. Assigning Input Devices: Format: SHIFT ASSIGN INPUT Input devices are assigned using the SHIFT ASSIGN key. Only one physical input device Logical Input Device. modifier with the is assigned to a WARNING! Logical Input Device 0 is normally assigned to the keyboard. Most programs will read from Logical Input Device 0 to receive their input. If you connect Logical Input Device 0 to another physical device, or to a dummy device, the system could hang. Recovery will only be possible via the RESET key. 790~ Userls Manual Page 1-33 PHYSICAL DEVICE ASSIGNHENT LIST The following physical devices are defined: OUTPUT DEVICES F G H window window window window window window window window K keyboard lights L M RS-232 serial port RS-449 serial port P parallel p, , Where: is the identifying number of the serial port, is the baud rate to which the port should be set. Two serial ports are installed in the standard They are identified by number as follows: RS-232 serial port: 3 RS-449 serial port: 1 CGC 7903 system. Sixteen standard baud rates are provided: 50 75 113 134.5 153 330 60" 120" 18"" 2""0 24"" 36"" 48"" 72"" . 963" 1923" NOTE: To set the baud rate to 134.5, you must enter the number 134 as . Decimal fractions are not accepted. Page 1-44 Chromatics CGC 7900 If an unrecognized baud rate is entered, no action will be taken. Examples: SHIFT USER S 0,300, SHIFT USER S . 1,1200, (set RS-23"2 port to 3~H~ baud) (set RS-449 port to 1200 baud) The system defaults to 9600 baud for both serial ports. be changed using the "Thaw" command. This may Page 1-45 7900 User's Manual SET SERIAL PARITY, WORD LENGTH, STOP BITS Format: SHIFT USER SHIFT s , Where: is the identifying number of the serial port specifies the number of bits per character (5, 6, 7, or 8) specifies EVEN, ODD, or NO parity (E, 0, or N) specifies the number of stop bits per character (see below) NOTE: each of the three parameters , , and is entered as a single character. No commas are used to separate them. NOTE: This command letter, RSR. If the (up) position, it is while preSSing the S requires entering a lower case ALPHA LOCK key is in its normal necessary to hold the SHIFT key key to produce a lower case s. Two serial ports are installed in the standard They are identified by number as follows: RS-232 serial port: a RS-449 serial port: 1 CGC 7900 system. is a single character. It may be either the character "Sft, R6 ft , -7", or RSR. determines the number of data bits transmitted for each character sent out the serial port (excluding parity bits). is the single character "E", "0", determines even or odd parity, or no parity. or "N". It Chromatics Page 1-46 CGC 7900 is the single character "1", "2", or "3". If = 1, one stop bit is transmitted after each character. if = 2, two stop bits are transmitted. «stop> = 3 is a special case and produces 1.5 stop bits per character.) Examples: SHIFT USER SHIFT s 0, 7Nl 7 bits, no parity, one stop bit. SHIFT USER SHIFT s 1, SE2 5 bits, even parity, two stop bits. Both serial ports default to 7 bits, even parity, one stop bit. This corresponds to standard ASCII transmission. (This can be changed using the "Thaw" command.) The three parameters may be entered in any order; the same as 17E or E17. thus, 7El NOTE: Entering an invalid sequence of characters for , , or may hang the serial port. is Page 1-47 7900 User's Manual SET HOST EOL SEQUENCE Format: SHIFT USER SHIFT z , , Where: and are each decimal numbers between ~ and 255, and are the decimal equivalents of ASCII characters to be translated. NOTE: This command requires entering a lower case letter, "w". If the ALPHA LOCK key is in its normal (up) position, it is necessary to use the SHIFT key with the "W" key to produce a lower case "w". This command provides a way to resolve the "host conflict" problem described above. For example, if the host system used Control-A (the 790~ Mode character) as a" system interrupt code, it would not be possible to use this character in programs. The command SHIFT USER SHIFT w 1, 5, would interchange Control-A with Control-E every time either of these characters went through the 7900 serial ports. (We are assuming here that Control-E would be an unused character in the vocabulary of the host system.) This translation would allow the host system to use Control-E as a Mode character in transmission to the 7900. This command does not give complete flexibility in loading the Case Table. If your application requires a special Case Table arrangement, Thaw provides the address of the Case Table. You may then modify it from the Monitor or from an assembly language program. The Case Table is normally stored in CMOS (optional), so it will remain loaded with your required values even if system power is turned off. Page 1-50 Chromatics CGC 7900 7900 User's M~nual Page 1-51 CREATE BUFFER OPERATIONS The Create Buffer is an area of system memory used to store commands and characters. When the Create Buffer is in the "on" condition, any characters or commands typed will be executed normally; they will also be stored in the Create Buffer. After a set of instructions has been stored in the Create Buffer, it may be repeated using the REDRAW key. Commands also allow editing the contents ·of the Create Buffer. If the Create Buffer fills up, characters "are no longer stored in the Create Buffer. However, the CREATE key remains lit, and the Create Buffer remains full. The system does not provide a warning for this condition. (In practice, the Create Buffer seldom fills up. The Create Buffer is normally allocated a larger portion of system memory than any other buffer in the 7900.) Create Buffer processing occurs at the same point as Escape and User code processing. All input from Logical Input Device 0 is trapped for the Create Buffer, and if the system is in Half or Full duplex, all input from Logical Input Device 1 is also trapped. This results in all characters typed on the keyboard or received thru the serial port being inserted into the Create Buffer when it is "on.ft Chromatics Page 1-52 CGC 7900 CREATE BUFFER ·ON· Format: CREATE Pressing the CREATE key causes that key to illuminate, indicating that the Create Buffer is ~on.~ This action initializes the buffer, so if there was any information in it previously, it is now gone. All characters or commands typed at this point will enter the Create Buffer. Format: SHIFT CREATE Holding down the SHIFT modifier and pressing CREATE will turn off the Create Buffer. Anything typed after this command will not be stored in the Create Buffer. The lamp in the CREATE key will extinguish. This command is also used to terminate the functions described on the following pages. Append and Insert 7903 User's Manual Page 1-53 REDRAW THE -cREATE BUFFER Forma t: REPRAW The contents of the Create Buffer are transmitted to Logical Output Device 0. Under default conditions, this will cause the Create Buffer contents to be transmitted to the screen. Only RESET can interrupt a REDRAW. If the Create Buffer is riot already off when REPRAW is REDRAW turns it off. executed, TRANSMIT THE CREATE BUFFER Format: The content~ of the Create Buffer are transmitted to Logical Output Device 1. Under default conditions, this will result in transmission to the RS-232 serial port. Chromatics Page 1-54 CGC 79~0 APPEND TO CREATE BOFFER Format: SHIFT USER A The Create Buffe~ is turned back on, but is not initialized. Anything typed will be appended to the end of the Create Buffer. The previous contents of the Create Buffer are still intact. NOTE: This command shoulq NOT be used if there is nothing in the Create Buffer (as would be the case after power-up). Append will not work properly if the Create Buffer has not been initialized using Create On. The Append function is terminated using SHIFT CREATE. DEFINE A SOB-BOFFER In many cases, you will want to set up a very complex sequence of commands in the Create Buffei. It is useful to be able to define Sub-Buffers, which can -be manipulated individually. A Sub-Buffer is established by inserting a Control-X into the Create Buffer. Up to 32767 sub-buffers may exist. Format: CTRL X (Hold down the ~ modifier and type an X.) Sub-Buffers may be accessed individually with the following commands. (REDRAW and XMIT will always operate on the entire Create Buffer, regardless of any Sub-Buffers which may exist.) 79~0 Userrs Manual Page 1-55 VIEW A SUB-BUFPER Format: SHIFT VIEW , Where: is a decimal number, corresponding to the Sub-Buffer you wish to view. Sub-Buffers are numbered consecutively, beginning with the number 0. To view any Sub-Buffer, hold down the SHIFT modifier and press the key marked~. Then enter the number of the Sub-Buffer you want to see. The contents of that Sub-Buffer will be redrawn to Logical Output Device 0 (normally the screen). Example: SHIFT VIEW 0, The first Sub-Buffer will be redrawn. If no Sub-Buffer exist, this will perform the same function as REPRAW. markers Example: SHIFT VIEW 3, The fourth Sub-Buffer will be redrawn~ If the system find three Sub-Buffer markers, it will assume a Sub-Buffer does not exist, and no action will occur. cannot fourth Page 1-56 Chromatics CGC 7900 KILL A SUB-BUFFER Format: SHIFT USER K , Where: is a decimal number corresponding to the Sub-Buffer you wish to eliminate. The Sub-Buffer numbered , if it exists, will be eliminated. All Sub-Buffers with numbers greater than will move down one number. All Sub-Buffers with numbers less than will be untouched. Example: SHIFT USER K 0, Sub-Buffer 0 (the first one) will be killed. Sub-Buffer I will become Sub-Buffer a, 2 becomes 1, and so on. If no Sub-Buffer markers exist, the entire Create Buffer is killed. (This can also be accomplished by typing CREATE, followed by SHIFT CREATE.) Example: SHIFT USER K 4, Sub-Buffer 4 will be killed, if it exists. (If fewer than four Sub-Buffers exist, no action is taken.) Sub-Buffers 0 thru 3 are unchanged. Sub-Buffer 5 will become 4, 6 will be 5, and so on. 7903 User's Manual Page 1-57 INSERT INTO SOB-BOFFER Format: SHIFT USER A , Where: is a decimal number, telling which sub-buffer to insert into. A search is performed for the start of Sub-Buffer . At the completion of the search, the Create Buffer is turned on. Any characters or commands typed from that point on will be stored, beginning at the front of Sub-Buffer . If Sub-Buffer is not found, the insertion takes place at the end of the Create Buffer. This is the same as the ftAppend to Sub-Buffer ft function. Example: SHIFT USER A 9, Characters typed in will now be stored at the front of Sub-Buffer 3, which means they will be at the front of the Create Buffer. Even if no Sub-Buffer markers are being used, this is a handy way to insert something at the beginning of the Create Buffer. Example: SHIFT USER A 2, Characters typed in will now be stored at the front of Sub-Buffer 2. When a REDRAW is performed, they will occur after the contents of Sub-Buffer 1, but before the present contents of Sub-Buffer 2. NOTE: If you are inserting near the front of the Create Buffer, and the Create Buffer contains a large amount of data, there may be a noticeable delay while the insertion is performed. Page 1-58 Chromatics CGC 790~ NOTE: This command 'should not be used if there is nothing in the Create Buffer (as would be the case after power-up). See the warning under ,"Append to Create Buffer." The Insert function is terminated by SHIFT CREATE. 7900 User's Manual Page 1-59 LITERAL CREATE Format: SHIFT USER [ Literal' Create is used to allow inserting Escape code sequences into the Create Buffer. Escape code sequences are normally not allowed in the Create Buffer, since they can cause undesired changes in the system configuration. If you wish to insert Escape codes into the Create Buffer, you should go through the following steps: Turn on Create, either with "Create On", "Append Create Buffer", or "Insert Into Sub-Buffer". to Turn on Literal Create with SHIFT USER [ Now, any Escape code sequences entered will be executed AND stored in the Create Buffer for' future Redr~wing. Literal Create remains in effect until the Create Off command is given. Normal codes will still go into the Create Buffer while Literal Create is turned on. NOTE: Many of the keys on the upper half of the keyboard produce Escape code sequences. It is not always obvious which ones will, or will not, be put into the Create Buffer. If Literal Create is NOT on, commands such as Zoom and Pan, or Change Color Lookup Table Entry, will be executed but will NOT be stored in the Create Buffer. Consult Appendix A to see which keys produce Escape code sequences. Under no circumstances are User code Create Buffer. sequences allowed in the Page 1-60 Chromatics CGC 7900 DELAY Format: ~ D , Where: is the number of 6~ths of a second to delay. Delay is discussed here, since it is so often used in conjuction with pictures drawn in the Create Buffer. Delay allows pauses to be inserted into the C~eate Buffer. This is often required to allow time for a d~awing to be examined, or text to be read. Delays may be specified to the nearest 60th of a second. Example: ~ D 120, Delay two seconds Note that this command is an Escape Code sequence, and thus cannot be inserted into the Create Buffer unless Literal Create is in effect. If is -1, the system will wait keyboard: ESC D -1, until a key is pressed on the Delay until a key is pressed 7900 User's Manual Page 1-61 WINDOWS window is one of the system's primary output devices. occupy the full screen, or any rectangular subset of the Its limits may be defined in the Overlay, or in Bitmap. have different dimensions in each. A It may screen. It may A window is handled in the same manner as other "physical devices." When characters or commands are sent to a window, it will take some action based on the data it receives, and also based on any previous data it may have received. For example, if a window receives a "set color" command, all future text sent to that window will be affected by that command, until another "set color" command arrives. The system will handle up to eight windows. When the system is initialized, only window "A" is assigned, so the existence of the other windows is not immediately apparent. Other windows are assigned with Escape-code sequences (see "Assign Physical Devices"). Unless otherwise assignej, all primary output from the system is directed to window A. The 7gee defaults to four active windows, named A, B, C, and D. The number of active windows may be set by Thaw, up to eight maximum. Window A is termed the "Master Window." In some cases it is necessary for the system to reference a known (For window, in order to properly execute a command. example, Pan and Zoom make reference to the current cursor position. Since each window may have its own cursor, the system must choose a particular window. The "Master Window" is always chosen in these cases.) Page 1-62 Chromatics CGC 790~ SET WINDOW LIMITS The dimensions of the window you are currently addressing may se t with th e ):1 INDQW command. be Format: WINDOW , , , , Where and are the coordinates of one window, and and are the coordinates of opposite corner. corner of the the diagonally Following the WINDOW command, the cursor will be moved to the "home" position (upper left corner) of the newly defined window. An alternate form of the WINDOW command may be used when the dimensions are located inside the previous dimensions: new WINPOW • • To use this form of the command, first press the WINDOW key. Move the cursor to where one of the corners of the window will be. Press the "period" (decimal point) key. Move the cursor to the diagonally opposite corner of the desired window and press the period key again. The cursor will move to its "home" position and the limits of the window have now been defined. The cursor control keys will not be able to move the cursor outside the window limits. Any text written into the window will remain inside the established limits. Windows may be defined and redefined at any time during the execution of a user program. Text or figures may be created· inside a window; then, the limits of the window may be redefined so as to protect that text from being altered. Text editing commands, such as Erase Page, will not affect areas outside the window to which they are sent. In fact, nearly all Mode and Plot code sequences affect only the window to which they are sent. Thus, such attributes as color, transparency, plot submodes, blink, fill, character size, and many others, are specific to a window. Only the window receiving such commands will act upon them. Window dimensions are defined differently in Overlay and in the Bitmap. A WINDOW command given while addressing the Bitmap will 790~ User's Manual Page 1-63 . defir.e limits only for Bitmap operation. A WIt-jDON command given while addressing the Overlay will define limits for the window only in Overlay operation. Thus a single window can have different limits in Overlay and in Bitmap •. The possible ranges for window limits are as follows: Overlay: ~ ~ Bitmap: a <= a <= <= <= X <= 84 Y <= 47 X <= la23 Y <= 1023 Where X is either or , and Y is either or , the WINDOW command format shown above. in One alternate form of the WINDOW command is available to reset a window's limits to the maximum size possible. This relieves the operator of remembering what the maximum limits are for each type of window. WINDOW a,a,-l,-l, or, SHIFT WINPOW This will reset an Overlay window to B, a, 84, 47, or a Bitmap window to 0, a, la23, 1023, depending on whether you are addressing the Overlay or Bitmap. The SHIFT WINPOW command may only be used from the keyboard; the other version may be used from a host or a program as well. Page 1-64 Example: Chromatics CGC 7900 (in the Overlay) WINDOW ~,0,84,23, The window size has been set to the upper screen. The cursor control' keys will outside this area. Example: half of the overlay not move the cursor (in the Bitmap) WINDOW ~,a,5ll,383, The window size has been set to the the visible Bitmap screen. upper left-hand corner of You can easily see the limits of the current window by changing the background color and erasing the window to that color: SHIFT SET GREEN ERASE PAGE (set background color to green) (clear the window to green) 7900 User's Manual Page 1-65 TEST Format: TEST Where is any displayable character. The TEST command will entirely fill the window in use with the specified character. TEST is available in both Overlay and Bitmap. Whichever window is currently being addressed will be filled with the character. (Either the Overlay window OR the Bitmap window - not both - will be filled with the charact.er.) In the Overlay, all currently defined attributes will be applied to the test ch~racter. This includes foreground and background color, foreground and background transparency, and blink. In the Bitmap, the currently defined attributes will also be applied. Remember that these attributes may not be the same as the currently defined attributes of the Overlay. The currently defined foreground and background colors, blink, and character size, will be applied to the test character. Following completion of the ~ function, the placed in the Rhome R position of the window. cursor will be Page 1-66 Chromatics CGC 7900 7900 User's Manual Page 1-67 VISIBLE CONTROL-CHARACTERS The 7gee has the capacity to make control-characters visible. Control-characters are normally non-printing symbols which have an effect on the state of the system, such as Break or Return. For debugging purposes it is sometimes useful to observe the characters themselves, without letting them operate their control functions. Format: ESC V <3 or 1> Where: is the name of the window where visible control characters are desired. This will usually be the default window, named A. is the character 3, or 1. 3 turns visible control-characters off (the default condition) and 1 turns them on. After visible control-characters are turned on, all ASCII control-characters sent to the window will be displayed in abbreviated form. Example: ~ V A1 Visible control-characters are now ON in window A. strike the RETURN key, we see the symbol Now, if we C R which is the abbreviation for Carriage Return. control-characters may be displayed in the same way. Other Chromatics Page 1-68 CGC 7900 Alternatively, it is possible to force Visible Control-Characters from the keyboard, by holding down the ~ and M2 keys, and striking a control character. This is useful for quickly examining the symbol produced. by a particular control character. l:U. and M2. will always cause Visible ControlCharacters, regardless of whether the ~ V command was given. \ Example: Ml M2 ERASE PAGE displays the abbreviation F F standing for Form Feed, the standard ASCII erase-page code. To examine a control character which does not have a key assigned to it, you must hold the Ml and M2. keys ~ modifier, and press the desired key. separate and the Example: Ml M2 CTRL D displays E T which is the abbreviation for EOT, or End Of Transmission. Note that some keys (especially the labeled keys in the upper part of the keyboard) produce several codes for each keystroke. This is normal. The Appendix provides a complete list of code sequences, and the advanced user will want to familiarize himself with many of these sequences. 7903 User's Manual Page 1-69 SELECT CHARACTER SET Format: CTRL 0 ("A7 off" - standard character set) CTRL N (·A7 on· - alternate chararacter set) Two character sets are supplied in the 7933. The standard character set contains 96 printable ASCII characters, plus 32 "visible control characters. n The standard character set is selected by default when the system is booted. The alternate character set is called the nA7 n set. It contains g~aphics figures, Greek characters, and other special symbols. It may be selected at any time by pressing CTRL N (hold down the CTRL key and press N). Only the window which receives the command will switch to the alternate character set. To return to the standard character set, hold down the and press o. ~ key The alternate character set is available in both Overlay and Bitmap. See Appendix E for the available character fonts. Note that the Overlay also has a Plot Dot capability, and this is not related to the character fonts. Plot dots are used for Overlay plotting features. Page 1-70 Chromatics CGC 790~ 7900 User's Manual Page 1-71 FUNCTION KEYS Format: DEFINE Where: is a Function Key, f l thru ~, is any set of characters and/or commands. The twenty-four Function Keys, II thru r2!, are user-definable keys. You may "educate" these keys to perform any sequence of commands, and once educated, the keys will remember their definitions until the definitions are changed. If your system is equipped with battery-powered CMOS memory (optional), then the user-defined keys will remain defined even while system power is off. The Function Keys ~ thru Eli are accessed by holding SHIFT key while pressing the appropriate function key. down the Thus, SHIFT Fl is the same as To make the distinction clearer, we will refer to the thru fZ! with their number AND the SHIFT modifier, as: keys rll SHIFT F13 To define a Function Key, press the PEFINE key, followed by the Function Key you wish to define. To educate the I l key, type DEFINE .u Then type any sequence of commands or characters. "The keys you press will not have any effect on the display, but they will each be acknowledged by a "hissing" sound from the speaker. When you have typed all the keystrokes you wish to enter into this Function Key definition, hit the Function Key again (the same key you started with). This will be acknowledged by a Chromatics Page 1-72 CGC 7900 n gong " sound from the s~eaker, and the Function Key defir.ition is now complete. Pressing the same Function Key at any future time will produce the stream of characters (or commands) which you entered as the definition. Example to educate Function Key fl: DEFINE fl T HIS SPACE I 5 SPACE A SPACE T EST El Example to educate Function Key Il!: DEFINE SHIFT F24 1 2 3 4 5 6 7 8 9 0 SHIFT F24 Note that to CLOSE the definition of fli, you must be sure to hold down the SHIFT key at the end of the definition. This is because a Function Key is allowed to ftcall ft other Function Keys: DEFINE U tl n tl tl f.2. Pressing f.l is now equivalent to pressing tl four times. Storage for Function Key definitions is dynamcally allocated. A key will use only as much space as it needs. This means the available storage may be used all by one key, spread evenly among many keys, or distributed in any other way. The default Function Key buffer allocation is 768 bytes, in CMOS (if present) or in static RAM. The "Thaw ft command may be used to alter this allocation. If Function Key storage overflows while defining a key, the normal ~gongft ~ound for closing the definition is produced, and no more characters are accepted. It is then necessary to ftun-define ft some keys (define them to be null) to provide space for future definitions. Note that since definitions are stored in battery-powered CMOS memory (if installed), it is possible for Function Key definitions to remain in the system long after their usefulness has ended. Example to "un-defineR Function Key fl: PEFINE .tl tl Page 1-73 7900 User's Manual BEZEL KEYS Eight Bezel Keys are located on the bottom of the frame surrounding the 7900 screen. They are defined and used in the same way as the Function Keys described above. Format: DEFINE Where: