

                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                               ;
                ;      MODUL NAME :  BIS-80/3270  USER CONFIGURATION MODULE     ;
                ;                                                               ;
                ;        COMPUTER :  PHILIPS  P3500                             ;
                ;        TERMINAL :  PHILIPS  P2711                             ;
                ;                                                               ;
                ;     PREPARED BY :  FRANK VAN DE RIDDER                        ;
                ;                 :  PHILIPS DATA SYSTEMS                       ;
                ;                 :  POSTBUS 245                                ;
                ;                 :  7300 AE  APELDOORN                         ;
                ;                                                               ;
                ;            DATE :  29.09.82                                   ;
                ;          UPDATE :  08.03.83                                   ;
                ;                                                               ;
                ;                                                               ;
                ;       THIS MODULE CONTAINS ALL USER CONFIGURABLE PARAMETERS   ;
                ;       WITHIN BISYNC80/3270. THE PARAMETERS THAT MAY BE        ;
                ;       CHANGED INCLUDE:                                        ;
                ;                - COMMUNICATION LINE REQUIREMENTS              ;
                ;                - DEVICE MODE (3271/3277 OR 3275)              ;
                ;                - MICROCOMPUTER SYNCHRONOUS I/O PORT TYPE      ;
                ;                     AND ADDRESSES                             ;
                ;                - MICROCOMPUTER CPU CLOCK SPEED                ;
                ;                - MICROCOMPUTER CONSOLE SPEED                  ;
                ;                - MICROCOMPUTER LIST (PRINTER) DEVICE DRIVER   ;
                ;                - MICROCOMPUTER CONSOLE TERMINAL OPERATIONAL   ;
                ;                     CODES AND ADDRESSING SEQUENCES            ;
                ;                - 3270 TO MICROCOMPUTER KEYBOARD EQUIVALENTS   ;
                ;                - 3270 ADDRESSING (POLLING) CHARACTERS         ;
                ;                - 3270 TO MICROCOMPUTER KEYBOARD DEFINITION    ;
                ;                                                               ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                               ;
                ;       ** MICRO-INTEGRATION, INC. PROPRIETARY INFORMATION **   ;
                ;                                                               ;
                ;       THIS PROGRAM IS SUPPLIED UNDER THE TERMS OF A LICENSE   ;
                ;       AGREEMENT WITH MICRO-INTEGRATION, INC. AND MAY NOT BE   ;
                ;       COPIED OR DISCLOSED EXCEPT IN ACCORDANCE WITH THAT      ;
                ;       AGREEMENT.                                              ;
                ;                                                               ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
                ;
                ;               THE FOLLOWING EQUATE STATEMENTS ARE PROVIDED
                ;               TO ALLOW CONVENIENT CONFIGURATION.  THEY
                ;               MUST NOT BE CHANGED:
                ;
                ;
                ;       INTERNAL USE EQUATES:
                ;
                ;
 0001 =         TRUE    EQU     01H             ;TRUE EQUATE
 0000 =         FALSE   EQU     00H             ;FALSE EQUATE
 0005 =         CPM     EQU     00005H          ;CP/M CALL ADDRESS
 0002 =         POLLED  EQU     02H             ;POLLED COMMUNICATION LINE EQUATE
 0003 =         SWITCH  EQU     03H             ;SWITCHED COMMUNICATION LINE EQUATE
 0002 =         M3271   EQU     02H             ;3271 MODE EQUATE
 0002 =         M3274	EQU	02H		;3274 MODE EQUATE
 0003 =         M3275   EQU     03H             ;3275 MODE EQUATE
 0002 =         M3276	EQU	02H		;3276 MODE EQUATE
 0002 =         IN8251  EQU     02H             ;INTEL 8251 EQUATE
 0003 =         IN8274	EQU	03H		;INTEL 8274 EQUATE
 0003 =         Z80SIO  EQU     03H             ;ZILOG Z80-SIO EQUATE
 0000 =         ROWCOL  EQU     00H             ;ROW/COLUMN CURSOR ADDRESSING
 0001 =         ABSPOS  EQU     01H             ;ABSOLUTE CURSOR POSITIONING
 0002 =         COLROW	EQU	02H		;COLUMN/ROW CURSOR ADDRESSING
 008C =         MLTKY1  EQU     8CH             ;MULTIPLE KEY SEQUENCE IDENTIFIER 1
 008D =         MLTKY2  EQU     8DH             ;MULTIPLE KEY SEQUENCE IDENTIFIER 2
 008E =         MLTKY3  EQU     8EH             ;MULTIPLE KEY SEQUENCE IDENTIFIER 3
 008F =         MLTKY4  EQU     8FH             ;MULTIPLE KEY SEQUENCE IDENTIFIER 4
                ;
                ;
                ;    -  3270 KEYBOARD KEY EQUATES  -
                ;
                ;       USE THESE NAMES TO DEFINE 3270 KEYS IN KBTAB:
                 
                 
 00FD =         ENTER   EQU     0FDH            ;ENTER KEY
 00ED =         CLEAR   EQU     0EDH            ;CLEAR KEY
 0080 =         RESET   EQU     080H            ;RESET KEY
 00F1 =         PF1     EQU     0F1H            ;PF1 KEY
 00F2 =         PF2     EQU     0F2H            ;PF2 KEY
 00F3 =         PF3     EQU     0F3H            ;PF3 KEY
 00F4 =         PF4     EQU     0F4H            ;PF4 KEY
 00F5 =         PF5     EQU     0F5H            ;PF5 KEY
 00F6 =         PF6     EQU     0F6H            ;PF6 KEY
 00F7 =         PF7     EQU     0F7H            ;PF7 KEY
 00F8 =         PF8     EQU     0F8H            ;PF8 KEY
 00F9 =         PF9     EQU     0F9H            ;PF9 KEY
 00FA =         PF10    EQU     0FAH            ;PF10 KEY
 00FB =         PF11    EQU     0FBH            ;PF11 KEY
 00FC =         PF12    EQU     0FCH            ;PF12 KEY
 00EC =         PA1     EQU     0ECH            ;PA1 KEY
 00EE =         PA2     EQU     0EEH            ;PA2 (CANCEL) KEY
 00EB =         PA3     EQU     0EBH            ;PA3 KEY
 0081 =         FWSPAC  EQU     081H            ;RIGHT (FORWARD SPACE) KEY
 0082 =         BKSPAC  EQU     082H            ;LEFT (BACK SPACE) KEY
 0083 =         UPLINE  EQU     083H            ;UP KEY
 0084 =         DNLINE  EQU     084H            ;DOWN KEY
 0085 =         FWTAB   EQU     085H            ;FORWARD TAB KEY
 0086 =         BKTAB   EQU     086H            ;BACK TAB KEY
 0087 =         NXLINE  EQU     087H            ;NEXT LINE KEY
 0088 =         ERAEOF  EQU     088H            ;ERASE END OF FIELD KEY
 0089 =         ERAINP  EQU     089H            ;ERASE INPUT KEY
 008A =         FMARK   EQU     08AH            ;FIELD MARK KEY
 008B =         DUP     EQU     08BH            ;DUP KEY
 0090 =         HOME    EQU     090H            ;HOME KEY
 0091 =         PRINT   EQU     091H            ;LOCAL PRINT KEY
 0092 =         RUBOUT  EQU     092H            ;RUB-OUT KEY
 0093 =         INSERT  EQU     093H            ;INSERT MODE KEY
 0094 =         TSTREQ	EQU	094H		;TEST REQUEST KEY
                ;
                ;       -  CONTROL KEY EQUATES  -
                ;
                ;          USE THESE EQUATES WHEN DEFINING A CONTROL/KEY
                ;
 0000 =         CTLAT   EQU     00H             ;CONTROL/@ (NUL)
 0001 =         CTLA    EQU     01H             ;CONTROL/A (SOH)
 0002 =         CTLB    EQU     02H             ;CONTROL/B (STX)
 0003 =         CTLC    EQU     03H             ;CONTROL/C (ETX)
 0004 =         CTLD    EQU     04H             ;CONTROL/D (EOT)
 0005 =         CTLE    EQU     05H             ;CONTROL/E (ENQ)
 0006 =         CTLF    EQU     06H             ;CONTROL/F (ACK)
 0007 =         CTLG    EQU     07H             ;CONTROL/G (BEL)
 0008 =         CTLH    EQU     08H             ;CONTROL/H (BS)
 0009 =         CTLI    EQU     09H             ;CONTROL/I (HT - TAB)
 000A =         CTLJ    EQU     0AH             ;CONTROL/J (LF)
 000B =         CTLK    EQU     0BH             ;CONTROL/K (VT)
 000C =         CTLL    EQU     0CH             ;CONTROL/L (FF)
 000D =         CTLM    EQU     0DH             ;CONTROL/M (CR - RETURN)
 000E =         CTLN    EQU     0EH             ;CONTROL/N (SO)
 000F =         CTLO    EQU     0FH             ;CONTROL/O (SI)
 0010 =         CTLP    EQU     10H             ;CONTROL/P (DLE)
 0011 =         CTLQ    EQU     11H             ;CONTROL/Q (DC1)
 0012 =         CTLR    EQU     12H             ;CONTROL/R (DC2)
 0013 =         CTLS    EQU     13H             ;CONTROL/S (DC3)
 0014 =         CTLT    EQU     14H             ;CONTROL/T (DC4)
 0015 =         CTLU    EQU     15H             ;CONTROL/U (NAK)
 0016 =         CTLV    EQU     16H             ;CONTROL/V (SYN)
 0017 =         CTLW    EQU     17H             ;CONTROL/W (ETB)
 0018 =         CTLX    EQU     18H             ;CONTROL/X (CAN)
 0019 =         CTLY    EQU     19H             ;CONTROL/Y (EM)
 001A =         CTLZ    EQU     1AH             ;CONTROL/Z (SUB)
 001B =         CTLLBK  EQU     1BH             ;CONTROL/[ (ESC)
 001C =         CTLBSL  EQU     1CH             ;CONTROL/\ (FS)
 001D =         CTLRBK  EQU     1DH             ;CONTROL/] (GS)
 001E =         CTLUPA  EQU     1EH             ;CONTROL/^ (RS)
 001F =         CTLUNS  EQU     1FH             ;CONTROL/_ (US)
                ;
                ;
                ;
                ;       -  OTHER CONVENIENT EQUATES  -
                ;
                ;
 000D =         CR      EQU     0DH             ;CR OR RETURN KEY
 000A =         LF      EQU     0AH             ;LINE FEED KEY
 001B =         ESC     EQU     1BH             ;ESCAPE KEY
                ;
                ;
                ;
                ;
                ;
                ;       THE FOLLOWING STATEMENTS MUST NOT BE MODIFIED.
                ;       NO CODE MAY BE INSERTED BEFORE THESE STATEMENTS.
                ;
 0100 =         BASEAD  EQU     0100H           ;BASE ADDRESS FOR THIS MODULE
 0100                   ORG     BASEAD          ;ORG TO MODULE START ADDRESS
 0100 C3EE04            JMP     USDTIN          ;USART DATA INPUT
 0103 C3F104            JMP     USDTOT          ;USART DATA OUTPUT
 0106 C3F404            JMP     USSTIN          ;USART STATUS INPUT
 0109 C3F704            JMP     USSTOT          ;USART STATUS OUTPUT
 010C C3FA04            JMP     TMCTOT          ;TIMER CONTROL OUTPUT
 010F C3FA04            JMP     TMDTIN          ;TIMER DATA INPUT
 0112 C3FA04            JMP     TMDTOT          ;TIMER DATA OUTPUT
 0115 C3FA04            JMP     SELDAT          ;SELECT DATA MODE
 0118 C3FA04            JMP     SELCMD          ;SELECT CONTROL MODE
 011B C3FB04            JMP     RTMODE          ;RETURN DEVICE MODE
 011E C30205            JMP     RTCPUS          ;RETURN CPU CLOCK SPEED
 0121 C30505            JMP     RTCONS          ;RETURN CONSOLE SPEED
 0124 C3AC01            JMP     LSTDRV          ;CALL LIST DEVICE ROUTINE
 0127 C3FE04            JMP     RTXLAT          ;RETURN TRANSLATE TABLE ADDRESS
 012A C3FA04            JMP     CKCMOT          ;BAUD RATE CLOCK COMMAND OUTPUT
 012D C3FA04            JMP     CKDTOT          ;BAUD RATE CLOCK DATA OUTPUT
 0130 0805              DW      BDRTVL          ;BAUD RATE CLOCK SET VALUE
 0132 C001              DW      CLRSCR          ;CLEAR SCREEN CODE ADDRESS
 0134 C401              DW      HILITE          ;HIGHLIGHT FIELD CODE
 0136 C701              DW      LOLITE          ;NORMAL FIELD CODE
 0138 CA01              DW      ROWCON          ;ROW CONSTANT ADDRESS
 013A CD01              DW      COLCON          ;COLUMN CONSTANT ADDRESS
 013C CE01              DW      ROWTAB          ;ROW TABLE ADDRESS
 013E E701              DW      COLTAB          ;COLUMN TABLE ADDRESS
 0140 3802              DW      ENDROW          ;END OF ROW CONSTANT ADDRESS
 0142 3902              DW      ENDCOL          ;END OF COLUMN TABLE ADDRESS
 0144 3C02              DW      KBTAB           ;KEYBOARD TABLE ADDRESS
 0146 BC02              DW      MLTTB1          ;MULTIPLE SEQUENCE TABLE 1 ADDRESS
 0148 EB02              DW      MLTTB2          ;MULTIPLE SEQUENCE TABLE 2 ADDRESS
 014A EC02              DW      MLTTB3          ;MULTIPLE SEQUENCE TABLE 3 ADDRESS
 014C ED02              DW      MLTTB4          ;MULTIPLE SEQUENCE TABLE 4 ADDRESS
 014E 0000              DW      CUADDR          ;CONTROL UNIT ADDRESS VALUE
 0150 0000              DW      DVADDR          ;DEVICE ADDRESS VALUE
 0152 A901              DW      TERMID          ;TERMID VALUE ADDRESS
 0154 3A02              DW      STRTSC          ;START SCROLLING SEQUENCE
 0156 3B02              DW      STOPSC          ;STOP SCROLLING SEQUENCE
 0158 C30A05            JMP     RTIO            ;RETURN I/O DEVICE
 015B C31005            JMP     GETTIM          ;RETURN TIME-OUT VALUE
 015E C30D05            JMP     RTRTSA          ;ASSERT RTS
 0161 C35205            JMP     RETNL           ;RETURN AUTO-NEWLINE STATUS
 0164 C3B201            JMP     CONDRV          ;USER SUPPLIED CONSOLE INPUT ROUTINE
 0167 C3B101            JMP     CNSTAT          ;USER SUPPLIED CONSOLE STATUS ROUTINE
 016A C3B301            JMP     MAINLN          ;USER SUPPLIED EXIT
 016D C3B401            JMP     SCROUT          ;USER SUPPLIED EXIT
 0170 C3B501            JMP     SCRNIN          ;USER SUPPLIED EXIT
 0173 C33E05            JMP     SETSCR          ;PARAMETER
 0176 C34205            JMP     SETAID          ;PARAMETER
 0179 C34605            JMP     SETDSP          ;PARAMETER
 017C C34A05            JMP     SETSTA          ;PARAMETER
 017F C34E05            JMP     SETCUR          ;PARAMETER
 0182 0000              DW      VIDRAM          ;VIDEO MEMORY MAP INDICATOR
 0184 0000              DW      VIDADR          ;ADDRESS OF VIDEO MEMORY
 0186 C35505            JMP     RTCMLN          ;RETURN COMMUNICATION LINE EQUATE
 0189 C35805            JMP     RTPRN           ;RETURN PRINTER START-UP VALUE
 018C 0000      	DW	ADRMOD		;CURSOR ADDRESSING TYPE
 018E C35C05            JMP     FSTEXT          ;
 0191 C35D05            JMP     EXTEXT          ;
 0194 C35E05            JMP     INEXT           ;
 0197 C35F05            JMP     OUTEXT          ;
 019A C36005            JMP     INTEXT          ;
 019D C36105            JMP     RTSEXT          ;
 01A0 C36205            JMP     RSTEXT          ;
 01A3 C36305            JMP     XMTEXT          ;
 01A6 C36405            JMP     RCVEXT          ;
                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                                ;
                ;                 USER CONFIGURABLE PARAMETER SECTION            ;
                ;                                                                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
                ;
                ;
                ;       THE FOLLOWING EQUATE STATEMENTS MAY BE USER CHANGED
                ;       TO RECONFIGURE THE EMULATOR'S DISTRIBUTION DISKETTE
                ;       SUPPLIED PARAMETERS FOR --
                ;               -       POLLED OR SWITCHED COMMUNICATION LINE
                ;               -       3271/3277, 3274/3278, 3276 OR 3275 DEVICE MODE
                ;               -       8251 USART, 8274 MPSC, OR Z80-SIO SERIAL
                ;                            CHANNEL USE
                ;               -       8251, 8274, OR Z80-SIO PORT ADDRESSES
                ;               -       CPU CLOCK SPEED
                ;               -       TERMINAL BAUD RATE
                ;               -       SELF CLOCKING I/O PORT BAUD RATE
                ;
                ;
                ;
                ;								;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                               ;
                ;                                                               ;
                ;                COMMUNICATION LINE EQUATE SECTION              ;
                ;                                                               ;
                ;                ** THIS VALUE MUST BE SUPPLIED **              ;
                ;                                                               ;
                ;                                                               ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
 0002 =         COMLNE  EQU     POLLED          ;CHANGE THIS STATEMENT TO 'SWITCH' IF
                ;                               ;THE EMULATOR IS TO OPERATE IN A SWITCHED
                ;                               ;(DIAL-UP) ENVIRONMENT.  LEAVE THIS STATEMENT
                ;                               ;SET TO 'POLLED' IF THE EMULATOR IS TO
                ;                               ;OPERATE IN A POLLED (POINT-TO-POINT)
                ;                               ;ENVIRONMENT.
                ;                               ;
                ;                               ;            ** NOTE **
                ;                               ;
                ;                               ;IF THIS VALUE IS SET TO 'SWITCH' AN
                ;                               ;IBM 3275 WILL BE EMULATED.  IF THIS VALUE
                ;                               ;IS SET TO 'POLLED', AN IBM 3271 OR 3275 WILL
                ;                               ;BE EMULATED, DEPENDING ON THE VALUE THAT
                ;                               ;IS SPECIFIED FOR THE 'DEVICE' EQUATE.
                ;
                ;
                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                               ;
                ;                                                               ;
                ;                  EMULATOR DEVICE EQUATE SECTION               ;
                ;                                                               ;
                ;       ** THIS VALUE MUST BE SUPPLIED, ONLY IF 'COMLNE' **     ;
                ;       **             IS SET TO 'POLLED'                **     ;
                ;                                                               ;
                ;                                                               ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
 0002 =         DEVICE  EQU     M3271           ;CHANGE THIS STATEMENT TO 'M3271'
                ;                               ;TO ENABLE BISYNC-80/3270 TO EMULATE
                ;                               ;AN IBM 3271/3277 DEVICE.
                ;                               ;CHANGE THIS STATEMENT TO 'M3274'
                ;                               ;TO ENABLE BISYNC-80/3270 TO EMULATE
                ;                               ;AN IBM 3274/3278 DEVICE.
                ;                               ;CHANGE THIS STATEMENT TO 'M3276'
                ;                               ;TO ENABLE BISYNC-80/3270 TO EMULATE
                ;                               ;AN IBM 3276 DEVICE.
                ;                               ;LEAVE THIS STATEMENT SET TO 'M3275'
                ;                               ;TO ENABLE BISYNC-80/3270 TO EMULATE
                ;                               ;AN IBM 3275 DEVICE
                ;
                ;
                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                                   ;
                ;                                                                   ;
                ;                TERMINAL ADDRESSING CONFIGURATION                  ;
                ;                                                                   ;
                ;   ** THESE VALUES MUST BE SUPPLIED IF 'COMLNE' EQUALS 'POLLED' ** ;
                ;                                                                   ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
                ;
                ;
                ;        THE FOLLOWING DEFINE THE 3270 ADDRESSES
                ;        THAT ARE TO BE RECOGNIZED BY THE EMULATOR.
                ;        TWO ADDRESSES MUST BE DEFINED --
                ;
                ;        CONTROL UNIT ADDRESS - CUADDR
                ;        DEVICE ADDRESS   -     DVADDR
                ;
                ;        SINCE THE EMULATOR WILL NOT RESPOND TO A SPECIFIC POLL UNLESS
                ;        BOTH ADDRESSES MATCH, MULTIPLE EMULATORS MAY SHARE
                ;        THE SAME LINE AND THE SAME CONTROL UNIT ADDRESS, SO LONG AS
                ;        SPECIFIC POLLING IS USED AND DIFFERENT DEVICE ADDRESSES ARE
                ;        USED. IF GENERAL POLLING IS USED, DEVICE ADDRESS MUST BE
                ;        SPECIFIED AS ZERO.
                ;
                ;
 0000 =         CUADDR  EQU     0               ;CHANGE THIS STATEMENT TO REFLECT THE
                ;                               ;3270 CONTROL UNIT ADDRESS TO BE
                ;                               ;RECOGNIZED BY THE EMULATOR (0-31).
                ;
                ;
 0000 =         DVADDR  EQU     0               ;CHANGE THIS STATEMENT TO REFLECT THE
                ;                               ;327X DEVICE ADDRESS TO BE RECOGNIZED BY
                ;                               ;THE EMULATOR (0-31).  LEAVE THIS STATEMENT
                ;                               ;SET TO 0 IF A 3275 IS BEING EMULATED,
                ;                               ;I.E. DEVICE EQU M3275.
                ;
                ;
                ;
                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                                   ;
                ;                                                                   ;
                ;                      TERMINAL ID CONFIGURATION                    ;
                ;                                                                   ;
                ;  ** THESE VALUES MUST BE SUPPLIED IF 'COMLNE' EQUALS 'SWITCH' **  ;
                ;                                                                   ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
                ;
                ;       THE FOLLOWING DEFINES THE 3275 TERMID TO BE USED IN
                ;       3275 SWITCHED MODE (COMLNE EQU SWITCH).  IF THE EMULATOR
                ;       IS OPERATING ON A SWITCHED LINE, USING CONTENTION,
                ;       ENTER THE THREE CHARACTER 3275 TERMID TO BE USED.
                ;
                ;
                ;
 01A9 =         TERMID  EQU     $
 01A9 C6C4D9            DB      0C6H,0C4H,0D9H
                ;
                ;
                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                               ;
                ;                                                               ;
                ;                INPUT/OUTPUT DEVICE EQUATE SECTION             ;
                ;                                                               ;
                ;              ** THIS THIS VALUE MUST BE SUPPLIED **           ;
                ;                                                               ;
                ;                                                               ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
 0003 =         IODEV   EQU     Z80SIO          ;CHANGE THIS STATEMENT TO 'IN8274'
                ;                               ;TO CHANGE THE EMULATOR COMMUNICATIONS
                ;                               ;DEVICE TO AN INTEL 8274 USART.
                ;                               ;CHANGE THIS STATEMENT TO 'Z80SIO'
                ;                               ;TO USE A ZILOG Z80-SIO USART.
                ;				;LEAVE THIS STATEMENT SET TO
                ;				;'IN8251' IF AN INTEL 8251 USART
                ;				;IS BEING USED.
                ;
                ;
                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                               ;
                ;                                                               ;
                ;            INPUT/OUTPUT DEVICE INPUT EQUATE SECTION           ;
                ;                                                               ;
                ;                ** THIS VALUE MUST BE SUPPLIED **              ;
                ;                                                               ;
                ;                                                               ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
 0000 =         USDATA  EQU     00H             ;CHANGE THIS STATEMENT TO REFLECT
                ;                               ;THE 8251 USART, 8274 MPSC, OR
                ;				;Z80-SIO DATA PORT ADDRESS IF THE
                ;				;ADDRESS IS NOT 58H (88 DECIMAL).
                ;
                ;                      =>=>=>=> ;Z80-SIO DATA-PORT A FOR DC = 00
                ;                      =>=>=>=> ;TERMINAL IS CONNECTED TO CHAN A
                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                               ;
                ;                                                               ;
                ;            INPUT/OUTPUT DEVICE STATUS EQUATE SECTION          ;
                ;                                                               ;
                ;                ** THIS VALUE MUST BE SUPPLIED **              ;
                ;                                                               ;
                ;                                                               ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
 0002 =         USSTAT  EQU     02H             ;CHANGE THIS STATEMENT TO REFLECT
                ;                               ;THE 8251 USART, 8274 MPSC, OR
                ;				;Z80-SIO USART STATUS PORT ADDRESS
                ;				;IF THE ADDRESS IS NOT 59H
                ;                               ;(89 DECIMAL).
                ;
                ;                      =>=>=>=> ;Z80-SIO STATUS-PORT A FOR DC = 02
                ;                      =>=>=>=> ;TERMINAL IS CONNECTED TO CHAN A
                ;
                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                               ;
                ;                                                               ;
                ;                 CPU CLOCK SPEED EQUATE SECTION                ;
                ;                                                               ;
                ;                ** THIS VALUE MUST BE SUPPLIED **              ;
                ;                                                               ;
                ;                                                               ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
 0002 =         CPUSPD  EQU     02H             ;CHANGE THIS STATEMENT TO REFLECT THE
                ;                               ;MICROCOMPUTER CPU CLOCK SPEED IN
                ;                               ;MHZ IF THE CLOCK IS NOT A 4MHZ CLOCK.
                ;                               ;IF THE CPU CLOCK SPEED IS NOT AN
                ;                               ;EVEN NUMBER, ROUND DOWN TO THE NEXT
                ;                               ;LOWER NUMBER.  LEAVE THIS STATEMENT
                ;                               ;SET AT 4 IF THE CPU CLOCK IS A 4MHZ
                ;                               ;CLOCK.
                ;
                ;
                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                               ;
                ;                                                               ;
                ;                 CONSOLE BAUD RATE EQUATE SECTION              ;
                ;                                                               ;
                ;                ** THIS VALUE MUST BE SUPPLIED **              ;
                ;                                                               ;
                ;                                                               ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
 2580 =         CONSPD  EQU     9600            ;CHANGE THIS STATEMENT TO REFLECT THE
                ;                               ;BAUD RATE OF THE MICROCOMPUTER
                ;                               ;CONSOLE.
                ;
                ;
                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
                ;
                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                                   ;
                ;                                                                   ;
                ;                     LIST DEVICE (PRINTER) ROUTINE                 ;
                ;                                                                   ;
                ;                         ** OPTIONAL ENTRY **                      ;
                ;                                                                   ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
                ;
                ;
                ;       THE FOLLOWING IS THE ROUTINE USED TO WRITE DATA TO THE
                ;       LIST DEVICE (PRINTER).  IF THE CP/M BIOS ROUTINE IS
                ;       MODIFIED TO NOT WAIT ON THE PRINTER, THEN THIS ROUTINE
                ;       MAY BE LEFT AS A CP/M CALL.  IF THE CP/M BIOS ROUTINE
                ;       IS NOT MODIFIED, CHANGE THIS ROUTINE TO WRITE DATA TO THE
                ;       PRINTER WITHOUT WAITING ON PRINTER READY, PER THE
                ;       USER'S MANUAL.
                ;
                ;
 01AC =         LSTDRV  EQU     $
 01AC CD0500            CALL    CPM             ;CPM LIST DRIVER ROUTINE
 01AF C9                RET                     ;RETURN TO CALLER
                ;
                ;
                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                                   ;
                ;                                                                   ;
                ;               LIST DEVICE (PRINTER) START-UP VALUE                ;
                ;                                                                   ;
                ;                         ** OPTIONAL ENTRY **                      ;
                ;                                                                   ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
                ;
                ;
                ;        THIS VALUE IS TO BE SUPPLIED IF THE LIST DEVICE IS TO BE
                ;        INITIALIZED TO A PHYSICAL OR LOGICAL PRINTER UPON
                ;        START-UP OF THE EMULATOR.  IF NO PRINTER VALUE IS REQUIRED
                ;        UPON START-UP, LEAVE THIS SECTION UNCHANGED.  IF A FILE IS
                ;        TO BE ASSIGNED TO THE PRINTER UPON START-UP (NO OPERATOR
                ;        INPUT REQUIRED), CHANGE THIS SECTION TO INDICATE THE
                ;        PRINTER FILE TO USE.
                ;
                ;        FOR EXAMPLE:
                ;
                ;        IF THE EMULATOR IS TO START-UP WITH THE LIST DEVICE TO BE
                ;        ASSIGNED TO THE PHYSICAL PRINT DEVICE, THE PARAMETERS ENTERED
                ;        WILL APPEAR AS FOLLOWS:
                ;
                ;  EX. 1 ---  PRTFIL  EQU     $
                ;                     DB      4               ;LENGTH OF FILE NAME
                ;                     DB      'LST:'           ;FILE NAME
                ;
                ;        IF THE EMULATOR IS TO START-UP WITH THE LIST DEVICE TO BE
                ;        ASSIGNED TO THE LOGICAL PRINT DEVICE 'B:PRINT.001', THE PARAMETERS
                ;        ENTERED WILL APPEAR AS FOLLOWS:
                ;
                ;  EX. 2 ---  PRTFIL  EQU     $
                ;                     DB      11              ;LENGTH OF FILE NAME
                ;                     DB      'B:PRINT.001'   ;FILE NAME
                ;
                ;
 01B0 =         PRTFIL  EQU     $
 01B0 00                DB      00             ;LIST DEVICE IS ASSIGNED ON START-UP
                ;                              ;
                ;
                ;
                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                                    ;
                ;                                                                    ;
                ;                        CONSOLE STATUS ROUTINE                      ;
                ;                                                                    ;
                ;                         ** OPTIONAL ENTRY **                       ;
                ;                                                                    ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
                ;
                ;
                ;       CHANGE THIS ROUTINE TO RETURN CONSOLE STATUS TO A CALLING
                ;       PROGRAM.  IF NO CONSOLE CHARACTER IS AVAILABLE RETURN WITH
                ;       ACCUMULATOR EQUAL TO ZERO.  IF A CHARACTER IS READY RETURN
                ;       WITH THE ACCUMULATOR EQUAL TO A 0FFH.  IF A CPM VERSION 2.0
                ;       OR GREATER IS BEING USED, THIS ROUTINE MUST NOT BE CHANGED.
                ;
                ;
 01B1 =         CNSTAT  EQU     $
 01B1 C9                RET                     ;CPM VERSION IS 2.0 OR GREATER
                ;
                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                                    ;
                ;                                                                    ;
                ;                        CONSOLE INPUT ROUTINE                       ;
                ;                                                                    ;
                ;                         ** OPTIONAL ENTRY **                       ;
                ;                                                                    ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
                ;
                ;
                ;       IF A CPM VERSION LESS THAN 2.0 IS BEING USED
                ;       CHANGE THIS ROUTINE TO RETURN A CONSOLE INPUT
                ;       CHARACTER IN THE ACCUMULTOR.  PARITY MUST BE REMOVED
                ;       FROM THE CHARACTER RECEIVED.  IF CPM VERSION 2.0 OR
                ;       GREATER IS BEING USED, THIS ROUTINE MUST NOT BE CHANGED.
                ;
                ;
 01B2 =         CONDRV  EQU     $
 01B2 C9                RET                     ;CMP VERSION 2.0 OR GREATER IS BEING USED
                ;
                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                                    ;
                ;                                                                    ;
                ;                 USER SUPPLIED MAINLINE EXIT ROUTINE                ;
                ;                                                                    ;
                ;                        ** OPTIONAL ENTRY **                        ;
                ;                                                                    ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
                ;
                ;
                ;       INSERT CODE HERE FOR A MAINLINE EXIT ROUTINE.  THIS EXIT IS
                ;       NEARLY CONTINUOUSLY EXECUTED AND MUST BE VERY TIME CONSCIOUS.
                ;       THE TIME PERIOD FOR THE 'MAINLN' EXIT TO COMPLETE ITS PROCESSING
                ;       IS DEPENDENT ON THE BAUD RATE OF THE LINE TO THE REMOTE.
                ;       AS A GENERAL RULE:
                ;
                ;                 BAUD RATE               MAINLN TIME LIMIT
                ;
                ;                   1200                       3.0ms
                ;                   2400                       1.5ms
                ;                   4800                       500us
                ;                   9600                       200us
                ;                 19,200                       No exit possible
                ;
                ;       LEAVE THIS STATEMENT UNCHANGED IF NO MAINLINE EXIT IS DESIRED
                ;
                ;
 01B3 =         MAINLN  EQU     $               ;THIS IS FOR THE USER SUPPLIED
 01B3 C9                RET                     ;MAINLINE EXIT
                ;
                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                                    ;
                ;                                                                    ;
                ;                    USER SUPPLIED SCREEN OUT EXIT                   ;
                ;                                                                    ;
                ;                         ** OPTIONAL ENTRY **                       ;
                ;                                                                    ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
                ;
                ;
                ;       INSERT CODE HERE FOR USER SUPPLIED EXIT.  THIS EXIT IS
                ;       CALLED IMMEDIATELY BEFORE DATA IS TRANSMITTED TO THE
                ;       REMOTE.  LEAVE IS ROUTINE UNCHANGED IF NO SCREEN OUT
                ;       EXIT IS DESIRED.
                ;
                ;
 01B4 =         SCROUT  EQU     $               ;USER SUPPLIED SCREEN OUT EXIT
 01B4 C9                RET                     ;GOES HERE
                ;
                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                                    ;
                ;                                                                    ;
                ;                     USER SUPPLIED SCREEN IN EXIT                   ;
                ;                                                                    ;
                ;                         ** OPTIONAL ENTRY **                       ;
                ;                                                                    ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
                ;
                ;
                ;       INSERT CODE HERE IF A USER SUPPLIED SCREEN IN EXIT IS DESIRED
                ;       THIS ROUTINE IS CALLED IMMEDIATLY BEFORE THE DATA IS DISPLAYED
                ;       ON THE CONSOLE.  LEAVE THIS ROUTINE UNCHANGED IF NO SCREEN IN
                ;       EXIT IS DESIRED.
                ;
                ;
 01B5 =         SCRNIN  EQU     $               ;USER SUPPLIED SCREEN IN EXIT
 01B5 C9                RET                     ;GOES HERE
                ;
                ;
                ;
                ;
 01B6 0000      AIDADR: DW      00              ;THIS LOCATION CONTAINS THE
                ;                               ;ADDRESS OF THE AID VALUE TO
                ;                               ;BE TRANSMITTED TO THE REMOTE
                ;
                ;
                ;
                ;
 01B8 0000      SCRADR: DW      00              ;THIS LOCATION CONTAINS THE
                ;                               ;ADDRESS OF THE 1920 BYTE
                ;                               ;SCREEN BUFFER
                ;
                ;
                ;
                ;
 01BA 0000      DSPADR: DW      00              ;THIS LOCATION CONTAINS THE
                ;                               ;ADDRESS OF A SINGLE BYTE
                ;                               ;DISPLAY/NO DISPLAY INDICATOR
                ;
                ;
                ;
                ;
 01BC 0000      STAADR: DW      00              ;THIS LOCATION CONTAINS THE
                ;                               ;ADDRESS OF A SINGLE BYTE
                ;                               ;SCREEN STATUS INDICATOR
                ;
                ;
                ;
                ;
 01BE 0000      CURADR: DW      00              ;THIS LOCATION CONTAINS THE
                ;                               ;ADDRESS OF THE CURSOR POSITION WORD
                ;
                ;
                ;
                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                                   ;
                ;                                                                   ;
                ;                TERMINAL SCREEN CODE DEFINITION SECTION            ;
                ;                                                                   ;
                ;      ** THE FOLLOWING TERMINAL SCREEN CODES MUST BE DEFINED **    ;
                ;                                                                   ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
                ;
                ;
                ;
                ;       THE FOLLOWING DEFINES THE CLEAR SCREEN CODE USED BY THE
                ;       MICROCOMPUTER CONSOLE DEVICE.  THE CODE IS DEFINED WITH
                ;       A ONE BYTE LENGTH FIELD, GIVING THE LENGTH OF THE CLEAR
                ;       SCREEN DATA NOT INCLUDING THE LENGTH BYTE, FOLLOWED BY
                ;       THE DATA THAT WILL CAUSE THE SCREEN TO CLEAR.
                ;       SOME TERMINALS MAY REQUIRE NULLS AFTER THE CLEAR SCREEN.
                ;       INSERT NULLS AS 80H, NOT AS 00H.
                ;
                ;
 01C0 =         CLRSCR  EQU     $
 01C0 03                DB      3               ;LENGTH BYTE
 01C1 1E                DB      CTLUPA          ;CURSOR TO HOME POSITION
 01C2 1B2A              DB      ESC,'*'         ;CLEAR ALL CHARACTERS BEHIND CURSOR
                ;
                ;
                ;
                ;       THE FOLLOWING DEFINES THE HIGHLIGHTING CODE USED BY THE
                ;       MICROCOMPUTER CONSOLE DEVICE.  THE CODE IS DEFINED WITH
                ;       A ONE BYTE LENGTH FIELD, GIVING THE LENGTH OF THE HIGH-
                ;       LIGHTING (REVERSE VIDEO, ETC.) DATA FOR THE TERMINAL, NOT
                ;       INCLUDING THE LENGTH BYTE, FOLLOWED BY THE DATA THAT WILL
                ;       CAUSE A SCREEN FIELD TO BE HIGHLIGHTED. IF THE TERMINAL
                ;       BEING USED DOES NOT SUPPORT HIGHLIGHTING OR OTHER MARKING
                ;       OF FIELDS, THE LENGTH BYTE MUST BE SET TO ZERO.
                ;
 01C4 =         HILITE  EQU     $
 01C4 02        	DB	2		;2 LENGTH BYTE -
 01C5 1B29              DB      ESC,')'         ;LOW INTENSITY SWITCH-ON SEQUENCE
                ;
                ;       THE FOLLOWING DEFINES THE NORMAL FIELD CODE USED BY THE
                ;       MICROCOMPUTER CONSOLE DEVICE.  THE CODE IS DEFINED WITH A
                ;       ONE BYTE LENGTH FIELD, GIVING THE LENGTH OF THE DATA THAT
                ;       WILL CAUSE NORMAL PRESENTATION OF A FIELD AFTER A HIGHLIGHTED
                ;       FIELD, FOLLOWED BY THE DATA ITSELF.  THE LENGTH BYTE VALUE
                ;       DOES NOT INCLUDE THE LENGTH BYTE ITSELF. IF THE TERMINAL BEING
                ;       USED DOES NOT SUPPORT HIGHLIGHTING OR OTHER MARKING OF FIELDS,
                ;       THE LENGTH BYTE MUST BE SET TO ZERO.
                ;
 01C7 =         LOLITE  EQU     $
 01C7 02                DB      2               ;2 LENGTH BYTE -
 01C8 1B28              DB      ESC,'('         ;NORMAL INTENSITY SWITCH-OFF SEQUENCE
                ;
                ;       THE FOLLOWING DEFINES THE CURSOR ADDRESSING MODE USED BY
                ;       THE TERMINAL.  IF ROW/COLUMN ADDRESSING IS USED, THE
                ;       FOLLOWING STATEMENT MUST BE EQUATED TO 'ROWCOL'.  IF
                ;       COLUMN/ROW ADDRESSING IS USED, THE FOLLOWING STATEMENT
                ;	MUST BE EQUATED TO 'COLROW'.  IF ABSOLUTE CURSOR
                ;       ADDRESSING IS USED, CHANGE THE EQUATE TO 'ABSPOS'.
                ;
                ;
 0000 =         ADRMOD  EQU     ROWCOL
                ;
                ;
                ;       THE FOLLOWING ENTRIES ARE SET TO INDICATE IF THE MICRO-COMPUTER
                ;       CONSOLE SUPPORTS MEMORY MAPPED I/O.  IF MEMORY MAPPED VIDEO
                ;       IS SUPPORTED, CHANGE 'VIDRAM' TO TRUE.  IF MEMORY MAPPED
                ;       IS NOT SUPPORTED, LEAVE 'VIDRAM' SET TO FALSE.  IF
                ;       'VIDRAM' IS SET TO TRUE, 'VIDADR' MUST BE SET TO THE
                ;       BEGINNING ADDRESS OF THE VIDEO MEMORY.
                ;
                ;            EXAMPLE:   IF YOUR TERMINAL SUPPORTS MEMORY MAPPED I/O
                ;                       AND THE STARTING ADDRESS FOR THE VIDEO MEMORY
                ;                       BEGINS AT ADDRESS EF00 HEX, THE VALUES
                ;                       ENTERED FOR 'VIDRAM' AND 'VIDADR' ARE:
                ;
                ;                       VIDRAM  EQU     TRUE
                ;                       VIDADR  EQU     0EF00H
                ;
                ;
                ;
                ;
 0000 =         VIDRAM  EQU     FALSE
                ;
                ;
 0000 =         VIDADR  EQU     00000H
                ;
                ;
                ;
                ;       THE FOLLOWING DEFINES THE CONSTANT THAT, WHEN SENT TO THE
                ;       TERMINAL, DEFINES THE START OF A ROW POSITIONING SEQUENCE.
                ;       THE CONSTANT IS DEFINED WITH A LENGTH BYTE THAT GIVES THE
                ;       LENGTH OF THE CONSTANT, NOT INCLUDING THE LENGTH BYTE ITSELF,
                ;       FOLLOWED BY THE CONSTANT.
                ;
                ;
 01CA =         ROWCON  EQU     $
 01CA 02                DB      2               ;LENGTH OF CONSTANT
 01CB 1B3D              DB      ESC,'='         ;ESC/[ SEQUENCE IS CURSOR
                ;                               ;POSITIONING ADDRESSING SEQUENCE
                ;                               ;START
                ;
                ;
                ;
                ;       THE FOLLOWING DEFINES THE CONSTANT, IF ANY, THAT MUST BE SENT
                ;       TO THE TERMINAL TO IDENTIFY THE START OF COLUMN POSITIONING
                ;       DATA.  THE ENTRY CONTAINS A LENGTH BYTE, GIVING THE LENGTH OF
                ;       THE CONSTANT, NOT INCLUDING THE LENGTH BYTE, THAT MUST BE SENT.
                ;       IF NO DATA IS TO BE SENT, THE LENGTH BYTE MUST BE ZERO.
                ;
                ;
 01CD =         COLCON  EQU     $
 01CD 00                DB      0               ;LENGTH OF ZERO INDICATES NO
                ;                               ;POSITIONING DATA IS NEEDED.
                ;
                ;
                ;
                ;       THE FOLLOWING TABLE DEFINES THE CHARACTERS THAT MUST BE SENT
                ;       TO THE TERMINAL TO POSITION THE CURSOR TO A SPECIFIED ROW (LINE)
                ;       ON THE SCREEN.  THE TABLE CONTAINS A LENGTH BYTE THAT GIVES
                ;       THE LENGTH OF EACH FOLLOWING TABLE ENTRY.  AFTER THE LENGTH
                ;       BYTE ARE 24 TABLE ENTRIES, ONE FOR EACH ROW ON THE SCREEN.
                ;       THE CHARACTER IN THE FIRST TABLE ENTRY IS TO SELECT ROW 1,
                ;       ETC., TO THE 24TH TABLE ENTRY WHICH IS FOR ROW 24.
                ;
                ;
 01CE =         ROWTAB  EQU     $
 01CE 01                DB      1               ;LENGTH OF EACH ENTRY
                ;
 01CF 20                DB      ' '             ;ROW  1 SELECT
 01D0 21                DB      '!'             ;ROW  2 SELECT
 01D1 22                DB      '"'             ;ROW  3 SELECT
 01D2 23                DB      '#'             ;ROW  4 SELECT
 01D3 24                DB      '$'             ;ROW  5 SELECT
 01D4 25                DB      '%'             ;ROW  6 SELECT
 01D5 26                DB      '&'             ;ROW  7 SELECT
 01D6 27                DB      ''''            ;ROW  8 SELECT
 01D7 28                DB      '('             ;ROW  9 SELECT
 01D8 29                DB      ')'             ;ROW 10 SELECT
 01D9 2A                DB      '*'             ;ROW 11 SELECT
 01DA 2B                DB      '+'             ;ROW 12 SELECT
 01DB 2C                DB      ','             ;ROW 13 SELECT
 01DC 2D                DB      '-'             ;ROW 14 SELECT
 01DD 2E                DB      '.'             ;ROW 15 SELECT
 01DE 2F                DB      '/'             ;ROW 16 SELECT
 01DF 30                DB      '0'             ;ROW 17 SELECT
 01E0 31                DB      '1'             ;ROW 18 SELECT
 01E1 32                DB      '2'             ;ROW 19 SELECT
 01E2 33                DB      '3'             ;ROW 20 SELECT
 01E3 34                DB      '4'             ;ROW 21 SELECT
 01E4 35                DB      '5'             ;ROW 22 SELECT
 01E5 36                DB      '6'             ;ROW 23 SELECT
 01E6 37                DB      '7'             ;ROW 24 SELECT
                ;                   
                ;
                ;
                ;       THE FOLLOWING TABLE DEFINES THE CHARACTERS THAT MUST BE SENT
                ;       TO THE TERMINAL TO POSITION THE CURSOR AT A SPECIFIED COLUMN
                ;       ON THE SCREEN.  THE LAYOUT OF THIS TABLE IS THE SAME AS THAT
                ;       FOR ROW POSITIONING DATA, AS ABOVE, WITH A ONE BYTE LENGTH
                ;       FIELD FOLLOWED BY THE TABLE ENTRIES NEEDED.
                ;
                ;
 01E7 =         COLTAB  EQU     $
 01E7 01                DB      1               ;LENGTH OF EACH TABLE ENTRY
                ;
 01E8 20                DB      ' '             ;COLUMN  1 SELECT
 01E9 21                DB      '!'             ;COLUMN  2 SELECT
 01EA 22                DB      '"'             ;COLUMN  3 SELECT
 01EB 23                DB      '#'             ;COLUMN  4 SELECT
 01EC 24                DB      '$'             ;COLUMN  5 SELECT
 01ED 25                DB      '%'             ;COLUMN  6 SELECT
 01EE 26                DB      '&'             ;COLUMN  7 SELECT
 01EF 27                DB      ''''            ;COLUMN  8 SELECT
 01F0 28                DB      '('             ;COLUMN  9 SELECT
 01F1 29                DB      ')'             ;COLUMN 10 SELECT
 01F2 2A                DB      '*'             ;COLUMN 11 SELECT
 01F3 2B                DB      '+'             ;COLUMN 12 SELECT
 01F4 2C                DB      ','             ;COLUMN 13 SELECT
 01F5 2D                DB      '-'             ;COLUMN 14 SELECT
 01F6 2E                DB      '.'             ;COLUMN 15 SELECT
 01F7 2F                DB      '/'             ;COLUMN 16 SELECT
 01F8 30                DB      '0'             ;COLUMN 17 SELECT
 01F9 31                DB      '1'             ;COLUMN 18 SELECT
 01FA 32                DB      '2'             ;COLUMN 19 SELECT
 01FB 33                DB      '3'             ;COLUMN 20 SELECT
 01FC 34                DB      '4'             ;COLUMN 21 SELECT
 01FD 35                DB      '5'             ;COLUMN 22 SELECT
 01FE 36                DB      '6'             ;COLUMN 23 SELECT
 01FF 37                DB      '7'             ;COLUMN 24 SELECT
 0200 38                DB      '8'             ;COLUMN 25 SELECT
 0201 39                DB      '9'             ;COLUMN 26 SELECT
 0202 3A                DB      ':'             ;COLUMN 27 SELECT
 0203 3B                DB      ';'             ;COLUMN 28 SELECT
 0204 3C                DB      '<'             ;COLUMN 29 SELECT
 0205 3D                DB      '='             ;COLUMN 30 SELECT
 0206 3E                DB      '>'             ;COLUMN 31 SELECT
 0207 3F                DB      '?'             ;COLUMN 32 SELECT
 0208 40                DB      '@'             ;COLUMN 33 SELECT
 0209 41                DB      'A'             ;COLUMN 34 SELECT
 020A 42                DB      'B'             ;COLUMN 35 SELECT
 020B 43                DB      'C'             ;COLUMN 36 SELECT
 020C 44                DB      'D'             ;COLUMN 37 SELECT
 020D 45                DB      'E'             ;COLUMN 38 SELECT
 020E 46                DB      'F'             ;COLUMN 39 SELECT
 020F 47                DB      'G'             ;COLUMN 40 SELECT
 0210 48                DB      'H'             ;COLUMN 41 SELECT
 0211 49                DB      'I'             ;COLUMN 42 SELECT
 0212 4A                DB      'J'             ;COLUMN 43 SELECT
 0213 4B                DB      'K'             ;COLUMN 44 SELECT
 0214 4C                DB      'L'             ;COLUMN 45 SELECT
 0215 4D                DB      'M'             ;COLUMN 46 SELECT
 0216 4E                DB      'N'             ;COLUMN 47 SELECT
 0217 4F                DB      'O'             ;COLUMN 48 SELECT
 0218 50                DB      'P'             ;COLUMN 49 SELECT
 0219 51                DB      'Q'             ;COLUMN 50 SELECT
 021A 52                DB      'R'             ;COLUMN 51 SELECT
 021B 53                DB      'S'             ;COLUMN 52 SELECT
 021C 54                DB      'T'             ;COLUMN 53 SELECT
 021D 55                DB      'U'             ;COLUMN 54 SELECT
 021E 56                DB      'V'             ;COLUMN 55 SELECT
 021F 57                DB      'W'             ;COLUMN 56 SELECT
 0220 58                DB      'X'             ;COLUMN 57 SELECT
 0221 59                DB      'Y'             ;COLUMN 58 SELECT
 0222 5A                DB      'Z'             ;COLUMN 59 SELECT
 0223 5B                DB      '['             ;COLUMN 60 SELECT
 0224 5C                DB      '\'             ;COLUMN 61 SELECT
 0225 5D                DB      ']'             ;COLUMN 62 SELECT
 0226 5E                DB      '^'             ;COLUMN 63 SELECT
 0227 5F                DB      '_'             ;COLUMN 64 SELECT
 0228 60                DB      '`'             ;COLUMN 65 SELECT
 0229 61                DB      'a'             ;COLUMN 66 SELECT ;NOTE THAT SOME ASSEMBLERS
 022A 62                DB      'b'             ;COLUMN 67 SELECT ;WILL ASSEMBLE LOWER CASE
 022B 63                DB      'c'             ;COLUMN 68 SELECT ;ALPHABETIC CHARACTER AS
 022C 64                DB      'd'             ;COLUMN 69 SELECT ;UPPER CASE.  IF YOUR
 022D 65                DB      'e'             ;COLUMN 70 SELECT ;ASSEMBLER MAKES THIS CHANGE,
 022E 66                DB      'f'             ;COLUMN 71 SELECT ;LOWER CASE ALPHABETIC CHAR.
 022F 67                DB      'g'             ;COLUMN 72 SELECT ;MUST BE ENTERED IN HEX
 0230 68                DB      'h'             ;COLUMN 73 SELECT
 0231 69                DB      'i'             ;COLUMN 74 SELECT
 0232 6A                DB      'j'             ;COLUMN 75 SELECT
 0233 6B                DB      'k'             ;COLUMN 76 SELECT
 0234 6C                DB      'l'             ;COLUMN 77 SELECT
 0235 6D                DB      'm'             ;COLUMN 78 SELECT
 0236 6E                DB      'n'             ;COLUMN 79 SELECT
 0237 6F                DB      'o'             ;COLUMN 80 SELECT
                ;
                ;
                ;
                ;       THE FOLLOWING DEFINES THE CONSTANT, IF ANY, THAT MUST BE
                ;       SENT TO THE TERMINAL TO DELIMIT THE END OF ROW POSITIONING
                ;       DATA.  THE DATA IS DEFINED WITH A LENGTH BYTE THAT GIVES THE
                ;       LENGTH OF THE CONSTANT, NOT INCLUDING THE LENGTH BYTE ITSELF,
                ;       FOLLOWED BY THE END OF ROW CONSTANT.  IF NO END OF ROW DATA IS
                ;       TO BE SENT, THE LENGTH BYTE MUST BE ZERO.
                ;
                ;
 0238 =         ENDROW  EQU     $
 0238 00                DB      0               ;NOT NECESSARY
                ;
                ;
                ;
                ;       THE FOLLOWING DEFINES THE CONSTANT, IF ANY, THAT MUST BE
                ;       SENT TO THE TERMINAL TO DELIMIT THE END OF COLUMN POSITIONING
                ;       DATA.  THE DATA IS DEFINED WITH A LENGTH BYTE THAT GIVES THE
                ;       LENGTH OF THE CONSTANT, NOT INCLUDING THE LENGTH BYTE,
                ;       FOLLOWED BY THE CONSTANT TO BE SENT.  IF NO END OF ROW DATA
                ;       IS TO BE SENT, THE LENGTH BYTE MUST BE ZERO.
                ;
                ;
 0239 =         ENDCOL  EQU    $
 0239 00                DB     0                ;NOT NECESSARY
                ;
                ;
                ;       THE FOLLOWING DEFINES THE CONSTANT, IF ANY, THAT MUST BE
                ;       SENT TO THE TERMINAL TO START SCREEN SCROLLING, UNDER
                ;       SOFTWARE CONTROL.  THE DATA IS DEFINED WITH A LENGTH
                ;       BYTE THAT GIVES THE LENGTH OF THE CONSTANT, NOT INCLUDING
                ;       THE LENGTH BYTE, FOLLOWED BY THE CONSTANT TO BE SENT.
                ;       IF NO START SCREEN SCROLLING SEQUENCE IS ALLOWED, THE
                ;       LENGTH BYTE MUST BE ZERO.
                ;
                ;
 023A =         STRTSC  EQU     $
 023A 00                DB      0
                ;
                ;
                ;       THE FOLLOWING DEFINES THE CONSTANT, IF ANY, THAT MUST BE
                ;       SENT TO THE TERMINAL TO STOP SCREEN SCROLLING UNDER
                ;       SOFTWARE CONTROL.  THE DATA IS DEFINED WITH A LENGTH
                ;       BYTE THAT GIVES THE LENGTH OF THE CONSTANT, NOT INCLUDING
                ;       THE LENGTH BYTE, FOLLOWED BY THE  CONSTANT TO BE SENT.
                ;       IF NO START SCREEN SCROLLING SEQUENCE  IS ALLOWED, THE
                ;       LENGTH BYTE MUST BE ZERO.
                ;
                ;
 023B =         STOPSC  EQU     $
 023B 00                DB      0
                ;
                ;
 0001 =         NEWLNE  EQU     TRUE            ;THIS STATEMENT INDICATES IF THE TERMINAL
                ;                               ;HAS AUTO NEW-LINE CAPIBILITIES.  LEAVE
                ;                               ;THIS STATEMENT SET TO 'TRUE' IF THE
                ;                               ;TERMINAL DOES SUPPORT AUTOMATIC NEW-LINE.
                ;                               ;CHANGE THIS STATEMENT TO 'FALSE' IF THE
                ;                               ;TERMINAL DOES NOT SUPPORT AUTOMATIC NEW LINE.
                ;
                ;
                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                                   ;
                ;                                                                   ;
                ;            3270 TO MICROCOMPUTER KEYBOARD EQUIVALENCE TABLE       ;
                ;                                                                   ;
                ;                                                                   ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
                ;
                ;
                ;
                ;       THE FOLLOWING TABLE DEFINES THE 3270 KEYBOARD KEYS TO
                ;       BE REPRESENTED BY EACH MICROCOMPUTER CONSOLE KEY.
                ;
                ;       THIS TABLE HAS 128 ENTRIES, EACH CORRESPONDING TO A
                ;       CHARACTER THAT MAY BE ENTERED ON A STANDARD ASCII TERMINAL.
                ;       GRAPHIC CHARACTERS (THOSE THAT ARE DISPLAYABLE ASCII
                ;       CHARACTERS) ARE IN THE TABLE IN THEIR NATIVE FORM. SPECIAL
                ;       3270 CHARACTERS ARE IN THE TABLE THROUGH USE OF THE
                ;       EQUATES DEFINED ABOVE.  TO CHANGE THE MEANING
                ;       OF A KEY, CHANGE THE VALUE OF THE DEFINITION OF THE KEY
                ;       IN THE TABLE.
                ;
                ;       TABLE ENTRIES WITH ZERO VALUES WILL CAUSE THE CORRESPONDING
                ;       KEY TO BE A NO-OPERATION.
                ;
                ;       TO DEFINE A MULTIPLE KEY SEQUENCE, ENTER ONE OF THE MULTIPLE
                ;       KEY IDENTIFIERS MLTKY1 THROUGH MLTKY4 IN KBTAB AND COMPLETE
                ;       THE DEFINITION BY ENTERING THE REST OF THE SEQUENCE IN ONE
                ;       OF THE FOUR MULTIPLE KEY SEQUENCE TABLES, MLTTB1 THROUGH
                ;       MLTTB4, RESPECTIVELY.
                ;
                ;
 023C =         KBTAB  EQU     $               ;KEYBOARD CORRESPONDENCE TABLE
                ;
 023C 00                DB      00              ;CONTROL/@ IS NO OPERATION
 023D 86        	DB	BKTAB		;CONTROL/A FIELD LEFT IS BACKTAB
 023E 89        	DB	ERAINP		;CONTROL/B REFORM  IS ERASE INP.FIELDS
 023F 84        	DB	DNLINE		;CONTROL/C CURSOR DOWN (DOUBLE) IS DOWN LINE
 0240 81        	DB	FWSPAC		;CONTROL/D CURSOR RIGHT IS FORW.SP./CUR. RIGHT
 0241 00                DB      00              ;CONTROL/E IS NO OPERATION
 0242 85        	DB	FWTAB		;CONTROL/F FIELD RIGHT IS FORWARD TAB
 0243 92        	DB	RUBOUT		;CONTROL/G DELETE CHAR IS DELETE KEY
 0244 82                DB      BKSPAC          ;CONTROL/H BACK SPACE IS LEFT (BACK SPACE) 
 0245 8B        	DB	DUP		;CONTROL/I TAB IS DUP KEY
 0246 94                DB      TSTREQ          ;CONTROL/J HELP IS TEST REQUEST 
 0247 8A        	DB	FMARK		;CONTROL/K FILE/BLOCK IS FIELD-MARK
 0248 80        	DB	RESET		;CONTROL/L FIND AGAIN IS RESET
 0249 FD                DB      ENTER           ;CONTROL/M (CR) OR ENTER IS ENTER 
 024A 87        	DB	NXLINE		;CONTROL/N LINEFEED IS NEXT LINE
 024B 00        	DB	00    		;CONTROL/O IS NO OPERATION
 024C 91                DB      PRINT           ;CONTROL/P PRINT IS LOCAL PRINT 
 024D 90        	DB	HOME		;CONTROL/Q QUICK IS CURSOR HOME
 024E 83        	DB	UPLINE		;CONTROL/R CURSOR UP (DOUBLE) IS UPLINE
 024F 82                DB      BKSPAC          ;CONTROL/S CURSOR LEFT IS LEFT (BACK SPACE)
 0250 88        	DB	ERAEOF		;CONTROL/T DELETE WORD IS ERASE TO E.O.FIELD
 0251 ED        	DB	CLEAR		;CONTROL/U STOP IS CLEAR-KEY
 0252 93        	DB	INSERT		;CONTROL/V INSERT ON/OFF IS INSERT
 0253 00        	DB	00    		;CONTROL/W IS NO OPERATION
 0254 00        	DB	00     		;CONTROL/X IS NO OPERATION
 0255 00                DB      00              ;CONTROL/Y IS NO OPERATION
 0256 00        	DB	00    		;CONTROL/Z IS NO OPERATION
 0257 8C                DB      MLTKY1          ;ESCAPE BEGINS MULTIPLE KEY SEQUENCE
 0258 00                DB      0               ;CONTROL/\ IS NO OPERATION
 0259 00                DB      0               ;CONTROL/] IS NO OPERATION
 025A 00                DB      0               ;CONTROL/^ IS NO OPERATION
 025B 00                DB      0               ;CONTROL/_ IS NO OPERATION
 025C 20                DB      ' '             ;SPACE
 025D 21                DB      '!'             ;EXCLAMATION POINT
 025E 22                DB      '"'             ;DOUBLE QUOTE
 025F 23                DB      '#'             ;POUND SIGN
 0260 24                DB      '$'             ;DOLLAR SIGN
 0261 25                DB      '%'             ;PERCENT SIGN
 0262 26                DB      '&'             ;AMPERSAND
 0263 27                DB      ''''            ;SINGLE QUOTE (APOSTROPHE)
 0264 28                DB      '('             ;LEFT PARENTHESIS
 0265 29                DB      ')'             ;RIGHT PARENTHESIS
 0266 2A                DB      '*'             ;ASTERISK
 0267 2B                DB      '+'             ;PLUS SIGN
 0268 2C                DB      ','             ;COMMA
 0269 2D                DB      '-'             ;HYPHEN
 026A 2E                DB      '.'             ;PERIOD
 026B 2F                DB      '/'             ;SLASH
 026C 30                DB      '0'             ;0
 026D 31                DB      '1'             ;1
 026E 32                DB      '2'             ;2
 026F 33                DB      '3'             ;3
 0270 34                DB      '4'             ;4
 0271 35                DB      '5'             ;5
 0272 36                DB      '6'             ;6
 0273 37                DB      '7'             ;7
 0274 38                DB      '8'             ;8
 0275 39                DB      '9'             ;9
 0276 3A                DB      ':'             ;COLON
 0277 3B                DB      ';'             ;SEMICOLON
 0278 3C                DB      '<'             ;LESS THAN
 0279 3D                DB      '='             ;EQUAL SIGN
 027A 3E                DB      '>'             ;GREATER THAN
 027B 3F                DB      '?'             ;QUESTION MARK
 027C 40                DB      '@'             ;COMMERCIAL ADD SIGN
 027D 41                DB      'A'             ;A
 027E 42                DB      'B'             ;B
 027F 43                DB      'C'             ;C
 0280 44                DB      'D'             ;D
 0281 45                DB      'E'             ;E
 0282 46                DB      'F'             ;F
 0283 47                DB      'G'             ;G
 0284 48                DB      'H'             ;H
 0285 49                DB      'I'             ;I
 0286 4A                DB      'J'             ;J
 0287 4B                DB      'K'             ;K
 0288 4C                DB      'L'             ;L
 0289 4D                DB      'M'             ;M
 028A 4E                DB      'N'             ;N
 028B 4F                DB      'O'             ;O
 028C 50                DB      'P'             ;P
 028D 51                DB      'Q'             ;Q
 028E 52                DB      'R'             ;R
 028F 53                DB      'S'             ;S
 0290 54                DB      'T'             ;T
 0291 55                DB      'U'             ;U
 0292 56                DB      'V'             ;V
 0293 57                DB      'W'             ;W
 0294 58                DB      'X'             ;X
 0295 59                DB      'Y'             ;Y
 0296 5A                DB      'Z'             ;Z
 0297 5B                DB      '['             ;LEFT BRACKET
 0298 5C                DB      '\'             ;BACK SLASH
 0299 5D                DB      ']'             ;RIGHT BRACKET
 029A 5E                DB      '^'             ;ACCENT CIRCUMFLEX
 029B 5F                DB      '_'             ;UNDERSCORE
 029C 60                DB      '`'             ;REVERSE ACCENT
 029D 61                DB      61H             ;a
 029E 62                DB      62H             ;b
 029F 63                DB      63H             ;c
 02A0 64                DB      64H             ;d
 02A1 65                DB      65H             ;e
 02A2 66                DB      66H             ;f
 02A3 67                DB      67H             ;g
 02A4 68                DB      68H             ;h
 02A5 69                DB      69H             ;i
 02A6 6A                DB      6AH             ;j
 02A7 6B                DB      6BH             ;k
 02A8 6C                DB      6CH             ;l
 02A9 6D                DB      6DH             ;m
 02AA 6E                DB      6EH             ;n
 02AB 6F                DB      6FH             ;o
 02AC 70                DB      70H             ;p
 02AD 71                DB      71H             ;q
 02AE 72                DB      72H             ;r
 02AF 73                DB      73H             ;s
 02B0 74                DB      74H             ;t
 02B1 75                DB      75H             ;u
 02B2 76                DB      76H             ;v
 02B3 77                DB      77H             ;w
 02B4 78                DB      78H             ;x
 02B5 79                DB      79H             ;y
 02B6 7A                DB      7AH             ;z
 02B7 7B                DB      '{'             ;LEFT BRACE
 02B8 7C                DB      '|'             ;VERTICAL BAR
 02B9 7D                DB      '}'             ;RIGHT BRACE
 02BA 7E                DB      '~'             ;ACCENT TILDE (SPANISH)
 02BB 92                DB      RUBOUT          ;RUB OUT IS DELETE ONE CHARACTER 
                ;
                ;
                ;
                ;       -  THE FOLLOWING ARE THE MULTIPLE KEY SEQUENCE TABLES  -
                ;
                ;
 02BC =         MLTTB1  EQU     $               ;MULTIPLE KEY TABLE 1
                ;                               ;THIS TABLE IS ASSOCIATED WITH THE KEY
                ;                               ;DEFINED AS MLTKY1 (ESCAPE).
                ;
 02BC 02                DB      2               ;LENGTH OF EACH KEY SEQUENCE, NOT
                ;                               ;INCLUDING THE LEADING KEY IDENTIFIED
                ;                               ;IN KBTAB
                ;
 02BD 3031F1    	DB	'01',PF1	;ESC 0 1         IS PF1
 02C0 3032F2    	DB	'02',PF2	;ESC 0 2         IS PF2
 02C3 3033F3    	DB	'03',PF3	;ESC 0 3         IS PF3
 02C6 3034F4    	DB	'04',PF4	;ESC 0 4         IS PF4
 02C9 3035F5    	DB	'05',PF5	;ESC 0 5         IS PF5
 02CC 3036F6    	DB	'06',PF6	;ESC 0 6         IS PF6
 02CF 3037F7    	DB	'07',PF7	;ESC 0 7         IS PF7
 02D2 3038F8    	DB	'08',PF8	;ESC 0 8         IS PF8
 02D5 3039F9    	DB	'09',PF9	;ESC 0 9         IS PF9
 02D8 3130FA    	DB	'10',PF10	;ESC 1 0         IS PF10
 02DB 3131FB    	DB	'11',PF11	;ESC 1 1         IS PF11
 02DE 3132FC    	DB	'12',PF12	;ESC 1 2         IS PF12
 02E1 4131EC    	DB	'A1',PA1	;ESC A 1         IS PA1
 02E4 4132EE    	DB	'A2',PA2	;ESC A 2         IS PA2
 02E7 4133EB    	DB	'A3',PA3	;ESC A 3         IS PA3
                ;
 02EA 00                DB      0               ;END OF TABLE - OTHER ESC SEQUENCES
                ;                               ;ARE NO OPERATIONS
                ;
                ;
 02EB =         MLTTB2  EQU     $               ;MULTIPLE KEY SEQUENCE TABLE 2 -
                ;                               ;THIS TABLE IS ASSOCIATED WITH THE
                ;                               ;MLTKY2 IDENTIFIER.
                ;
 02EB 00                DB      0               ;NOT USED - END OF TABLE
                ;
                ;
 02EC =         MLTTB3  EQU     $               ;MULTIPLE KEY SEQUENCE TABLE 3 -
                ;                               ;THIS TABLE IS ASSOCIATED WITH THE
                ;                               ;MLTKY3 IDENTIFIER.
                ;
 02EC 00                DB      0               ;NOT USED - END OF TABLE
                ;
                ;
 02ED =         MLTTB4  EQU     $               ;MULTIPLE KEY SEQUENCE TABLE 4 -
                ;                               ;THIS TABLE IS ASSOCIATED WITH THE
                ;                               ;MLYKY4 IDENTIFIER.
                ;
 02ED 00                DB      0               ;NOT USED - END OF TABLE
                ;
                ;
                ;
                ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;                                                                   ;
                ;                      ASCII/EBCDIC TRANSLATE TABLES                ;
                ;                                                                   ;
                ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                ;
                ;
                ;
                ;        THE FOLLOWING TWO TABLES ARE THE ASCII TO EBCDIC
                ;        AND EBCDIC TO ASCII TRANSLATE TABLES USED BY THE
                ;        EMULATOR IN CODE CONVERSION.  THESE TABLES MAY BE
                ;        MODIFIED TO ALLOW TRANSLATION OF ANY CHARACTER TO
                ;        ANY OTHER CHARACTER, SO LONG AS LINE CONTROL
                ;        CHARACTERS ARE NOT TRANSMITTED.
                ;
                ;
 02EE =         ASCEBC  EQU     $               ;ASCII TO EBCDIC TRANSLATE TABLE
                ;
                ;
 02EE 0001020337        DB 000H,001H,002H,003H,037H,02DH,02EH,02FH  ;00H-07H
 02F6 1605250B0C        DB 016H,005H,025H,00BH,00CH,00DH,00EH,00FH  ;08H-0FH
 02FE 101112133C        DB 010H,011H,012H,013H,03CH,03DH,032H,026H  ;10H-17H
 0306 18193F271C        DB 018H,019H,03FH,027H,01CH,01DH,01EH,01FH  ;18H-1FH
 030E 404F7F7B5B        DB 040H,04FH,07FH,07BH,05BH,06CH,050H,07DH  ;20H-27H
 0316 4D5D5C4E6B        DB 04DH,05DH,05CH,04EH,06BH,060H,04BH,061H  ;28H-2FH
 031E F0F1F2F3F4        DB 0F0H,0F1H,0F2H,0F3H,0F4H,0F5H,0F6H,0F7H  ;30H-37H
 0326 F8F97A5E4C        DB 0F8H,0F9H,07AH,05EH,04CH,07EH,06EH,06FH  ;38H-3FH
 032E 7CC1C2C3C4        DB 07CH,0C1H,0C2H,0C3H,0C4H,0C5H,0C6H,0C7H  ;40H-47H
 0336 C8C9D1D2D3        DB 0C8H,0C9H,0D1H,0D2H,0D3H,0D4H,0D5H,0D6H  ;48H-4FH
 033E D7D8D9E2E3        DB 0D7H,0D8H,0D9H,0E2H,0E3H,0E4H,0E5H,0E6H  ;50H-57H
 0346 E7E8E94AE0        DB 0E7H,0E8H,0E9H,04AH,0E0H,05AH,05FH,06DH  ;58H-5FH
 034E 7981828384        DB 079H,081H,082H,083H,084H,085H,086H,087H  ;60H-67H
 0356 8889919293        DB 088H,089H,091H,092H,093H,094H,095H,096H  ;68H-6FH
 035E 979899A2A3        DB 097H,098H,099H,0A2H,0A3H,0A4H,0A5H,0A6H  ;70H-77H
 0366 A7A8A9C06A        DB 0A7H,0A8H,0A9H,0C0H,06AH,0D0H,0A1H,007H  ;78H-7FH
 036E 2021222324        DB 020H,021H,022H,023H,024H,015H,006H,017H  ;80H-87H
 0376 28292A2B2C        DB 028H,029H,02AH,02BH,02CH,009H,00AH,01BH  ;88H-8FH
 037E 30311A3334        DB 030H,031H,01AH,033H,034H,035H,036H,008H  ;90H-97H
 0386 38393A3B04        DB 038H,039H,03AH,03BH,004H,014H,03EH,0E1H  ;98H-9FH
 038E 4142434445        DB 041H,042H,043H,044H,045H,046H,047H,048H  ;A0H-A7H
 0396 4951525354        DB 049H,051H,052H,053H,054H,055H,056H,057H  ;A8H-AFH
 039E 5859626364        DB 058H,059H,062H,063H,064H,065H,066H,067H  ;B0H-B7H
 03A6 6869707172        DB 068H,069H,070H,071H,072H,073H,074H,075H  ;B8H-BFH
 03AE 767778808A        DB 076H,077H,078H,080H,08AH,08BH,08CH,08DH  ;C0H-C7H
 03B6 8E8F909A9B        DB 08EH,08FH,090H,09AH,09BH,09CH,09DH,09EH  ;C8H-CFH
 03BE 9FA0AAABAC        DB 09FH,0A0H,0AAH,0ABH,0ACH,0ADH,0AEH,0AFH  ;D0H-D7H
 03C6 B0B1B2B3B4        DB 0B0H,0B1H,0B2H,0B3H,0B4H,0B5H,0B6H,0B7H  ;D8H-DFH
 03CE B8B9BABBBC        DB 0B8H,0B9H,0BAH,0BBH,0BCH,0BDH,0BEH,0BFH  ;E0H-E7H
 03D6 CACBCCCDCE        DB 0CAH,0CBH,0CCH,0CDH,0CEH,0CFH,0DAH,0DBH  ;E8H-EFH
 03DE DCDDDEDFEA        DB 0DCH,0DDH,0DEH,0DFH,0EAH,0EBH,0ECH,0EDH  ;F0H-F7H
 03E6 EEEFFAFBFC        DB 0EEH,0EFH,0FAH,0FBH,0FCH,0FDH,0FEH,0FFH  ;F8H-FFH
                ;
                ;
 03EE =         EBCASC  EQU     $               ;EBCDIC TO ASCII TRANSLATE TABLE
                ;
                ;
 03EE 000102039C       DB 000H,001H,002H,003H,09CH,009H,086H,07FH  ;00H-07H
 03F6 978D8E0B0C       DB 097H,08DH,08EH,00BH,00CH,00DH,00EH,00FH  ;08H-0FH
 03FE 101112139D       DB 010H,011H,012H,013H,09DH,085H,008H,087H  ;10H-17H
 0406 1819928F1C       DB 018H,019H,092H,08FH,01CH,01DH,01EH,01FH  ;18H-1FH
 040E 8081828384       DB 080H,081H,082H,083H,084H,00AH,017H,01BH  ;20H-27H
 0416 88898A8B8C       DB 088H,089H,08AH,08BH,08CH,005H,006H,007H  ;28H-2FH
 041E 9091169394       DB 090H,091H,016H,093H,094H,095H,096H,004H  ;30H-37H
 0426 98999A9B14       DB 098H,099H,09AH,09BH,014H,015H,09EH,01AH  ;38H-3FH
 042E 20A0A1A2A3       DB 020H,0A0H,0A1H,0A2H,0A3H,0A4H,0A5H,0A6H  ;40H-47H
 0436 A7A85B2E3C       DB 0A7H,0A8H,05BH,02EH,03CH,028H,02BH,021H  ;48H-4FH
 043E 26A9AAABAC       DB 026H,0A9H,0AAH,0ABH,0ACH,0ADH,0AEH,0AFH  ;50H-57H
 0446 B0B15D242A       DB 0B0H,0B1H,05DH,024H,02AH,029H,03BH,05EH  ;58H-5FH
 044E 2D2FB2B3B4       DB 02DH,02FH,0B2H,0B3H,0B4H,0B5H,0B6H,0B7H  ;60H-67H
 0456 B8B97C2C25       DB 0B8H,0B9H,07CH,02CH,025H,05FH,03EH,03FH  ;68H-6FH
 045E BABBBCBDBE       DB 0BAH,0BBH,0BCH,0BDH,0BEH,0BFH,0C0H,0C1H  ;70H-77H
 0466 C2603A2340       DB 0C2H,060H,03AH,023H,040H,027H,03DH,022H  ;78H-7FH
 046E C361626364       DB 0C3H,061H,062H,063H,064H,065H,066H,067H  ;80H-87H
 0476 6869C4C5C6       DB 068H,069H,0C4H,0C5H,0C6H,0C7H,0C8H,0C9H  ;88H-8FH
 047E CA6A6B6C6D       DB 0CAH,06AH,06BH,06CH,06DH,06EH,06FH,070H  ;90H-97H
 0486 7172CBCCCD       DB 071H,072H,0CBH,0CCH,0CDH,0CEH,0CFH,0D0H  ;98H-9FH
 048E D17E737475       DB 0D1H,07EH,073H,074H,075H,076H,077H,078H  ;A0H-A7H
 0496 797AD2D3D4       DB 079H,07AH,0D2H,0D3H,0D4H,0D5H,0D6H,0D7H  ;A8H-AFH
 049E D8D9DADBDC       DB 0D8H,0D9H,0DAH,0DBH,0DCH,0DDH,0DEH,0DFH  ;B0H-B7H
 04A6 E0E1E2E3E4       DB 0E0H,0E1H,0E2H,0E3H,0E4H,0E5H,0E6H,0E7H  ;B8H-BFH
 04AE 7B41424344       DB 07BH,041H,042H,043H,044H,045H,046H,047H  ;C0H-C7H
 04B6 4849E8E9EA       DB 048H,049H,0E8H,0E9H,0EAH,0EBH,0ECH,0EDH  ;C8H-CFH
 04BE 7D4A4B4C4D       DB 07DH,04AH,04BH,04CH,04DH,04EH,04FH,050H  ;D0H-D7H
 04C6 5152EEEFF0       DB 051H,052H,0EEH,0EFH,0F0H,0F1H,0F2H,0F3H  ;D8H-DFH
 04CE 5C9F535455       DB 05CH,09FH,053H,054H,055H,056H,057H,058H  ;E0H-E7H
 04D6 595AF4F5F6       DB 059H,05AH,0F4H,0F5H,0F6H,0F7H,0F8H,0F9H  ;E8H-EFH
 04DE 3031323334       DB 030H,031H,032H,033H,034H,035H,036H,037H  ;F0H-F7H
 04E6 3839FAFBFC       DB 038H,039H,0FAH,0FBH,0FCH,0FDH,0FEH,0FFH  ;F8H-FFH
                ;
                ;
                ;
                ;
                ;
                ;       THE FOLLOWING ROUTINES MUST NOT BE MODIFIED.
                ;
 0000 =         USDT    EQU     USDATA
 0002 =         USST    EQU     USSTAT
 04EE DB00      USDTIN: IN      USDT
 04F0 C9                RET
 04F1 D300      USDTOT: OUT     USDT
 04F3 C9                RET
 04F4 DB02      USSTIN: IN      USST
 04F6 C9                RET
 04F7 D302      USSTOT: OUT     USST
 04F9 C9                RET
 04FA =         TMCTOT  EQU     $
 04FA =         TMDTIN  EQU     $
 04FA =         TMDTOT  EQU     $
 04FA =         SELDAT  EQU     $
 04FA =         SELCMD  EQU     $
 04FA =         CKCMOT  EQU     $
 04FA =         CKDTOT	EQU	$
 04FA C9                RET
 04FB 3E02      RTMODE:	MVI A,DEVICE
 04FD C9        	RET
 04FE 21EE02    RTXLAT:	LXI H,ASCEBC
 0501 C9                RET
 0502 3E02      RTCPUS: MVI     A,CPUSPD
 0504 C9                RET
 0505 3E04      RTCONS: MVI     A,CONCON
 0507 C9                RET
 0508 0000      BDRTVL:	DW	0
 0004 =         CONCON  EQU     CONSPD/2400
                ;
 050A 3E03      RTIO:   MVI     A,IODEV
 050C C9                RET
                ;
 050D 3E00      RTRTSA: MVI     A,FALSE
 050F C9                RET
                ;
 0510 =         GETTIM  EQU     $
 0510 3E04              MVI     A,CONCON
 0512 FE08              CPI     8
 0514 CA3205            JZ      TIM4
 0517 D23205            JNC     TIM4
 051A FE04              CPI     4
 051C CA3805            JZ      TIM2
 051F D23805            JNC     TIM2
 0522 216E01            LXI     H,016EH
 0525 =         GETTM   EQU     $
 0525 3E02              MVI     A,CPUSPD        ;GET THE CPU SPEED
 0527 44                MOV     B,H             ;PUT HIGH ORDER IN B
 0528 4D                MOV     C,L             ;PUT LOW  ORDER IN C
 0529 210000            LXI     H,0             ;CLEAR H,L
 052C =         SETVAL  EQU     $
 052C 09                DAD     B               ;ADD TIME CONSTANT TO ITSELF
 052D 3D                DCR     A               ;UNTIL WE
 052E C22C05            JNZ     SETVAL          ;GET IT
 0531 C9                RET                     ;RIGHT
                ;
 0532 215B00    TIM4:   LXI     H,05BH
 0535 C32505            JMP     GETTM
 0538 21B700    TIM2:   LXI     H,0B7H
 053B C32505            JMP     GETTM
                ;
 053E =         SETSCR  EQU     $
 053E 22B801            SHLD    SCRADR
 0541 C9                RET
 0542 =         SETAID  EQU     $
 0542 22B601            SHLD    AIDADR
 0545 C9                RET
 0546 =         SETDSP  EQU     $
 0546 22BA01            SHLD    DSPADR
 0549 C9                RET
 054A =         SETSTA  EQU     $
 054A 22BC01            SHLD    STAADR
 054D C9                RET
 054E =         SETCUR  EQU     $
 054E 22BE01            SHLD    CURADR
 0551 C9                RET
                ;
 0552 =         RETNL   EQU     $
 0552 3E01              MVI     A,NEWLNE
 0554 C9                RET
                ;
 0555 =         RTCMLN  EQU     $
 0555 3E02              MVI     A,COMLNE
 0557 C9                RET
                ;
 0558 =         RTPRN   EQU     $
 0558 21B001            LXI     H,PRTFIL
 055B C9                RET
                ;
 055C C9        FSTEXT: RET
 055D C9        EXTEXT: RET
 055E C9        INEXT:  RET
 055F C9        OUTEXT: RET
 0560 C9        INTEXT: RET
 0561 C9        RTSEXT: RET
 0562 C9        RSTEXT: RET
 0563 C9        XMTEXT: RET
 0564 C9        RCVEXT: RET
                ;
 0565                   END
