*COMDECK PIFR1
_$J+  PAGE EJECT? 
_$R-,G-,I-? 
_ 
************************************************************************
*                                                                      *
*              * *   P I F R 1   * *                                   *
*                                                                      *
*              FILE REGISTER   INITIALIZATION                          *
*                                                                      *
************************************************************************
*                                                                      *
** OVERVIEW -  THIS ROUTINE INITIALIZES THE FIRMWARES FILE   REGISTERS.*
*              THE DYNAMIC REGISTER ARE INITIALIZED BY PUTTING THEIR   *
*              VALUE IN A 256 WORD ARRAY.  ALL VALUES IN THE ARRAY     *
*              THAT ARE DYNAMIC ARE SET TO FFFF.  NON USED REGISTERS   *
*              ARE SET TO ZERO.  THE FIRMWARE REGISTERS ARE LOADED BY  *
*              BY CALLING PBEF, A MACHINE LANGUAGE INSTRUCTION.        *
*              THE FILE 2 REGISTER ARE LOADED BY INST COMMANDS.        *
*                                                                      *
** INPUTS -    TABLE ADDRESSES                                         *
*                                                                      *
** OUTPUTS -   FILE 1 AND FILE 2 REGISTERS LOADED                      *
*                                                                      *
** EXTERNAL SUBROUTINES USED                                           *
*              PBEF      LOAD FILE 1 REGISTERS                         *
*                                                                      *
************************************************************************
* 
? 
PROCEDURE PIFR1;
VAR 
_ 
************************************************************************
*                                                                      *
*         F I L E - 1    R E G I S T E R    I N I T I A L I Z A T I O N*
*                                                                      *
************************************************************************
? 
      WNFIL1 : ARRAY [0..255] OF B0OVERLAY; _FILE REGISTER VALUE TABLE ?
      IPTR   : 'INTEGER;                    _INTEGER POINTER           ?
  
VALUE 
      WNFIL1 = (
_ 
************************************************************************
*         REGISTERS USED FOR BUFFER CONTROL BLOCKS                     *
************************************************************************
************************************************************************
*         REGISTERS USED FOR BUFFER MAINTENANCE                        *
************************************************************************
? 
       $0000,  _ BCB8       00X      8 WORD BUFFER CONTROL BLOCK       ?
       $0000,  _            01X      GET POINTER                       ?
       $0000,  _            02X      PUT POINTER                       ?
       $0D08,  _            03X      LCD/FCD                           ?
       $0000,  _ BCB16      04X      16 WORD BUFFER CONTROL BLOCK      ?
       $0000,  _            05X      GET POINTER                       ?
       $0000,  _            06X      PUT POINTER                       ?
       $1D08,  _            07X      LCD/FCD                           ?
       $0000,  _ BCB32      08X      16 WORD BUFFER CONTROL BLOCK      ?
       $0000,  _            09X      GET POINTER                       ?
       $0000,  _            0AX      PUT POINTER                       ?
       $3D08,  _            0BX      LCD/FCD                           ?
       $0000,  _ BCB64      0CX      64 WORD BUFFER CONTROL BLOCK      ?
       $0000,  _            0DX      GET POINTER                       ?
       $0000,  _            0EX      PUT POINTER                       ?
       $7D08,  _            0FX      LCD/FCD                           ?
       $0000,  _ RELADDR    10X      ADDR. OF CALLER FOR RELEASE       ?
       $0000,  _ GETADDR    11X      ADDR. OF CALLER FOR GET           ?
       $0000,  _ BUFPTR     12X      POINTER TO BUFFER ADDRESS         ?
       $0000,  _ BUFADR     13X      LAST BUFFER RELEASED              ?
       $0000,  _ RELRTRN    14X      SAVE FOR RELEASE RETURN ADDRESS   ?
       $0000,  _ GETRTRN    15X      SAVE FOR GET RETURN ADDRESS       ?
       $FFFF,  _ MAPADR     16X      ADDRESS OF BITMAP                 ?
       $0000,  _ MAPADR     17X      CURRENT MAP WORD ADDRESS          ?
       $FFFF,  _ BEMSK8     18X      ADDRESS OF 8 WORD MASKS           ?
       $FFFF,  _ BEMSK16    19X      ADDRESS FO 16 WORD MASKS          ?
       $FFFF,  _ QTOPSK     1AX      ADDRESS OF STACK INTERRUPT COUNT  ?
       $0000,  _ MULTIPL    1BX      MULTIPLE RELEASE FLAG             ?
_ 
************************************************************************
*         REGISTERS USED FOR LIST SERVICE                              *
************************************************************************
? 
       $0000,  _ NEWPUT     1CX      NEW PUT POINTER                   ?
       $0000,  _ NEWGET     1DX      NEW GET POINTER                   ?
       $0000,  _ OLDGET     1EX      OLD GET POINTER                   ?
       $0000,  _ MACWLSV    1FX      SAVE MACRO ENTRY - LIST SERVICE   ?
       $FFFF,  _ WLBSIZE    20X      SIZE OF BUFFERS FOR LIST SERVICE  ?
       $0000,  _ WLCBSV     21X      WORK LIST CONTROL BLOCK SAVE      ?
       $0000,  _ PUTSV      22X      PUT POINTER SAVE                  ?
       $0000,  _ FINK       23X      FEINC AND INC                     ?
       $0000,  _ CNTSV      24X      NUMBER OF ENTRIES COUNT           ?
       $0000,  _ LISTRET    25X      RETURN ADDRESS FOR LIST PUT       ?
       $0000,  _ PICKRET    26X      RETURN FORM PICKR3 ADDRESS        ?
       $0000,  _ INCMAC     27X      MACRO CALL TEMP FOR FEINC AND INC ?
       $0000,  _ INCSV      28X      TEMP SAVE FOR INC                 ?
       $0000,  _ FINKINC    29X      CONTAINS FEINC AND INC            ?
_ 
************************************************************************
*         REGISTERS USED FOR ODD PROCESSOR                             *
************************************************************************
? 
       $0000,  _ ODDPP      2AX      ODD P REGISTER SAVE               ?
       $0000,  _ ODDPA      2BX      ODD A REGISTER SAVE               ?
       $0000,  _ ODDPQ      2CX      ODD Q REQISTER SAVE               ?
       $0000,  _ OLDLCB     2DX      LCB ADDRESS FOR EVENT CODE 02     ?
       $0102,  _ CODE02     2EX      OUTPUT BUFFER XMITTED WORK CODE   ?
       $0184,  _ CODE04     2FX      UNSOLICITED ODD WORK CODE         ?
       $0185,  _ CODE05     30X      CLA ADDRESS OUT OF RANGE          ?
       $0000,  _ RTRNO      31X      RTJ SAVE FOR ODD EVENT CODE       ?
       $0000,  _ SVEI       32X      I REGISTER SAVE IN OBT            ?
       $0000,  _ PORTA      33X      CURRENT PORT ADDRESS FOR ODD      ?
       $07C0,  _ LTYPMSK    34X      LINE TYPE MASK IN NAPORT          ?
       $0000,  _ MLCBA      35X      MUX LCB ADDRESS                   ?
       $0000,  _ CCNT       36X      COUNT OF NUMBER OF CHAR. TO OUTPUT?
       $0000,  _ TEMP       37X      TEMPORARY STORAGE                 ?
       $0000,  _ MLCBWD1    38X      SAVE FOR MLCB WD 1                ?
       $0000,  _ TEMP1      39X      TEMPORARY STORAGE 1               ?
       $0000,  _ NLCDSV     3AX      NEW BUFFER LCD SAVE               ?
       $0000,  _ NFCDSV     3BX      NEW BUFFER FCD SAVE               ?
       $0032,  _ BSYNC      3CX      BSC SYNC CHARACTER                ?
       $0026,  _ BETB       3DX      BSC ETB CHARACTER                 ?
       $0003,  _ BETX       3EX      BSC ETX CHARACTER                 ?
_ 
************************************************************************
*         REGISTERS USED FOR IDP PROCESSOR                             *
************************************************************************
? 
       $FFFF,  _ CIB        3FX      BASE ADDRESS OF CIB               ?
       $FFFF,  _ NFP        40X      NEXT CIB FRAME POSITION           ?
       $0000,  _ OLDLFP     41X      MLIA OLD FRAME POSITION, CIB DISPL?
       $FFFF,  _ CIBEND     42X      BOTTOM OF CIB + 1                 ?
       $0000,  _ STW1N2     43X      STATUS WORD 1 AND 2 SAVE          ?
       $0000,  _ MSPTA      44X      MODEM STATE POINTER TABLE ADDRESS ?
       $0000,  _ MODIX      45X      MODEM STATE INDEX                 ?
       $0000,  _ NOT USED   46X      NOT USED                          ?
       $0000,  _ IDPP       47X      IDP P REGISTER SAVE               ?
       $0000,  _ SVAIDP     48X      IDP A REGISTER SAVE               ?
       $0000,  _ PORTADR    49X      CURRENT PORT ENTRY ADDRESS        ?
       $0000,  _ AREGSV     4AX      A REGISTER SAVE FOR EVENT 07      ?
       $0000,  _ PORTWD0    4BX      PORT WD 0 SAVE FOR IDP            ?
       $FFFF,  _ BZLTIMR    4CX      TIME TABLE START ADDRESS          ?
       $0000,  _ SVTMR      4DX      CURRENT TIMER ENTRY ADDRESS       ?
       $0000,  _ RTRNI      4EX      RTJ SAVE FOR IDP WORK CODE        ?
       $0000,  _ LC1SV      4FX      LOOP CELL 1 SAVE                  ?
       $0000,  _ LC2SV      50X      LOOP CELL 2 SAVE                  ?
       $0000,  _ LC3SV      51X      LOOP CELL 3 SAVE                  ?
       $0000,  _ LC4SV      52X      LOOP CELL 4 SAVE                  ?
       $0000,  _ EVNTCDI    53X      IDP EVENT (WORK) CODE             ?
       $0000,  _ PFWLFLG    54X      FLAG FOR BUILDING WORK CODE       ?
       $0085,  _ CODE5.1    55X      CLA ADDRESS OUT OF RANGE IDP      ?
       $0086,  _ CODE06     56X      ILLEGAL LINE FRAME FORMAT         ?
       $0087,  _ CODE07     57X      UNSOLICITED INPUT                 ?
       $0801,  _ CODE801    58X      CLA STATUS OVERFLOW               ?
       $0000,  _ IDPRET     59X      RTJ SAVE FOR ODD INTERRUPT CHECK  ?
       $0000,  _ SPRINT     5AX      SPURIOUS INTERRUPT FLAG           ?
       $0028,  _ F1BUFOV    5BX      INPUT BUFFER OVERFLOW SYSTEM PARAM?
       $0000,  _ P1CKRET    5CX      RETURN FOR INTERRUPT CHECK        ?
       $0000,  _            5DX      F2 SAVE FOR BUFFER HALT           ?
       $0000,  _            5EX      RTJ SAVE FOR BUFFER HALT          ?
       $0000,  _            5FX      P SAVE FOR BUFFER HALT            ?
       $0000,  _            60X      I SAVE FOR BUFFER HALT            ?
       $0000,  _            61X      X SAVE FOR BUFFER HALT            ?
       $0000,  _            62X      Q SAVE FOR BUFFER HALT            ?
_ 
************************************************************************
*         REGISTERS USED FOR TEXT PROCESSOR                            *
************************************************************************
? 
       $0000,  _ TPFLG      63X      TP RUNNING FLAG                   ?
       $0000,  _ TPPSV      64X      P REGISTER SAVE FOR TP            ?
       $0000,  _ TPASV      65X      A REGISTER SAVE FOR TP            ?
       $0000,  _ TPISV      66X      I REGISTER SAVE FOR TP            ?
       $0000,  _ TPSVA      67X      A REGISTER SAVE                   ?
       $0000,  _ TPSVP      68X      P REGISTER SAVE                   ?
       $0000,  _ TPSBA      69X      TP SOURCE BUFFER ADDRESS          ?
       $0000,  _ TPLFCD     6AX      CURRENT SOURCE LCD/FCD            ?
       $000A,  _ MAXCHR     6BX      MAX. NUMBER OF CHAR. TO PROCESS   ?
       $0000,  _ INTCNT     6CX      INTERNAL TP INTERRUPT CHAR. COUNT ?
       $0000,  _ LEV2FLG    6DX      FLAG FOR LEVEL 1 OR 2 IN TP       ?
       $0000,  _ TP3LCB     6EX      WORD 3 MLCB SAVE                  ?
       $0000,  _ TPISPTA    6FX      SAVE STATE POINTER TABLE ADDRESS  ?
       $0000,  _ TPIST      70X      SAVE STATE INDEX                  ?
       $0000,  _ TPSTP      71X      SAVE P REGISTER                   ?
       $0000,  _ TPTCAR     72X      SAVE CURRENT CHARACTER            ?
       $0000,  _ SVD0       73X      SAVE TPCB REGISTER 0 (DO)         ?
       $0000,  _ SVD1       74X      SAVE TPCB REGISTER 1 (D1)         ?
       $0000,  _ ENDBUF     75X      LCD + TOP OF BUFFER FOR TP SOURCE ?
_ 
************************************************************************
*         REGISTERS USED FOR TEXT PROCESSING SPECIAL MD4 INSTRUCTION   *
************************************************************************
? 
       $0000,  _ F1CC1      76X      MD4 SPECIAL CC1                   ?
       $0000,  _ F1CC2      77X      MD4 SPECIAL CC2                   ?
       $0000,  _ NOT USED   78X      NOT USED                          ?
       $0000,  _ NOT USED   79X      NOT USED                          ?
_ 
************************************************************************
*         REGISTERS USED FOR STATE INSTRUCTIONS IN GENERAL             *
************************************************************************
? 
       $0000,  _ UCAR       7AX      UNTRANSLATED CHARACTER            ?
       $0000,  _ TCAR       7BX      TRANSLATED CHARACTER              ?
       $0000,  _ W3LCB      7CX      TEMP STORE FOR WORD 3 OF MLCB     ?
       $0000,  _ WD3PTR     7DX      POINTER TO WORD 3 OF MLCB         ?
       $0000,  _ ISPTA      7EX      INPUT STATES POINTER TABLE ADDRESS?
       $0000,  _ ASAVE      7FX      A REGISTER SAVE - STATE INST.     ?
       $0000,  _ QSAVE      80X      Q REGISTER SAVE - STATE INST.     ?
       $0000,  _ ISAVE      81X      I REGISTER SAVE - STATE INST.     ?
       $0000,  _ SVX        82X      X REGISTER SAVE - STATE INST.     ?
       $0000,  _ RTJSV34    83X      RTJ SAVE FOR OP CODES 3 AND 4     ?
       $0000,  _ SM2FLG     84X      FLAG TO FIRE P3 OR NOT            ?
       $0000,  _ RTJADCR    85X      RTJ SAVE FOR ADDC INSTRUCTION     ?
       $0000,  _ SVQ11      86X      SAVE Q REGISTER FOR ADDC INST.    ?
       $0000,  _ ADCAR      87X      SAVE CHARACTER TO ADD             ?
       $0000,  _ SPECA      88X      SAVE A FOR SPECIAL CHAR. ADD      ?
       $0000,  _ SPECA1     89X      SAVE A FOR SPECIAL CHAR. ADD      ?
       $0000,  _ SPECX1     8AX      SAVE X FOR SPECIAL CHAR. ADD      ?
       $0000,  _ ACMRTJ     8BX      SAVE RTJ IN ACCUMALATE CRC        ?
       $0000,  _ SAVCAR     8CX      SAVE UCAR IN CHARACTER EXPANSION  ?
       $0000,  _ ADCAR1     8DX      SAVE REGISTER IN CHARACTER STORE  ?
       $0000,  _ NOT USED   8EX      NOT USED                          ?
       $0000,  _ OP5TYPE    8FX      OPCODE 5 STATE INSTRUCTION TYPE   ?
       $0000,  _ FSCTEST    90X      SET SCTEST SWITCH                 ?
       $0000,  _ FWRD15     91X      WORD 15 OF MLCB                   ?
       $0000,  _ FSINDEX    92X      MVCHXX SOURCE INDEX POINTER       ?
       $0000,  _ SDCHARS    93X      SOURCE CHARACTERS                 ?
       $0000,  _ WXLCB      94X      WXLCB =LCB WORD BUT NOT 3         ?
       $0000,  _ AIRFLG     95X      FLAG FOR RELEASE BUFFER ON BACKUP ?
       $0000,  _ XSVXPN     96X      SAVE COUNT IN CHARACTER EXPAND    ?
       $0000,  _ TPIBP      97X      TEXT PROCESS INPUT BUFFER POINTER ?
       $0000,  _ RTJST      98X      SAVE LOCATION FOR STORE CHAR. RTJ ?
_ 
************************************************************************
*         REGISTERS USED FOR BUILDING WORK LISTS IDP/ODP               *
************************************************************************
? 
       $0000,  _ XLTSV      99X      TRANSLATE RTJ SAVE                ?
       $FFFF,  _ PFWLCB     9AX      WORK LIST CONTROL BLOCK IDP/ODD   ?
       $0000,  _ XISV       9BX      I REGISTER SAVE                   ?
       $0000,  _OLDOBP      9AX      OUTPUT BUFFER POINTER             ?
       $0000,  _EVNTCD      9BX      EVENT CODE, COMMON                ?
_ 
************************************************************************
*        REGISTERS USED FOR CONSTANTS                                  *
************************************************************************
? 
       $0300,  _ F10300     9EX      CONSTANT                          ?
       $3000,  _ F13000     9FX      CONSTANT                          ?
       $0508,  _ OUTDATA    A0X      OUTPUT DATA TO MLIA - A/Q ADDRESS ?
       $0500,  _ ODDINP     A1X      ODD INPUT - A/Q ADDRESS           ?
       $CC00,  _ DATAID+    A2X      DATA CELL ID + EOLF + EOLB        ?
       $0C00,  _ DATAID     A3X      DATA CELL ID                      ?
       $0560,  _ SENSLFP    A4X      READ LFP - A/Q ADDRESS            ?
       $0F00,  _ CLAID-     A5X      CLA ADDRESS LOOP CELL             ?
       $0D00,  _ SUPVID     A6X      SUPERVISION ID LOOP CELL          ?
       $0001,  _ F10001     A7X      CONSTANT                          ?
       $0002,  _ F10002     A8X      CONSTANT                          ?
       $0003,  _ F10003     A9X      CONSTANT                          ?
       $0004,  _ F10004     AAX      CONSTANT                          ?
       $0005,  _ F10005     ABX      CONSTANT                          ?
       $0006,  _ F10006     ACX      CONSTANT                          ?
       $0007,  _ F10007     ADX      CONSTANT                          ?
       $0008,  _ F10008     AEX      CONSTANT                          ?
       $000A,  _ F1000A     AFX      CONSTANT                          ?
       $000E,  _ F1000E     B0X      CONSTANT                          ?
       $000F,  _ F1000F     B1X      CONSTANT                          ?
       $001F,  _ F1001F     B2X      CONSTANT                          ?
       $0037,  _ F10037     B3X      CONSTANT                          ?
       $003F,  _ F1003F     B4X      CONSTANT                          ?
_      $003F,    BIGBUF     B4X      SIZE OF DATA BUFFERS - 1          ?
       $0050,  _ F10050     B5X      CONSTANT,MAX. # OF CHAR. TO EXPAND?
       $007F,  _ F1007F     B6X      CONSTANT                          ?
       $0080,  _ F10080     B7X      CONSTANT                          ?
       $00C0,  _ F100C0     B8X      CONSTANT                          ?
       $00F0,  _ F100F0     B9X      CONSTANT                          ?
       $00FE,  _ F100FE     BAX      CONSTANT - LCD MASK               ?
       $00F8,  _ F100F8     BBX      CONSTANT                          ?
       $00FF,  _ F100FF     BCX      CONSTANT                          ?
       $8200,  _ F18200     BDX      CONSTANT                          ?
       $07E0,  _ F107E0     BEX      CONSTANT                          ?
       $0C00,  _ F10C00     BFX      CONSTANT                          ?
       $0F00,  _ F10F00     C0X      CONSTANT                          ?
       $2000,  _ F12000     C1X      CONSTANT - TRANSLATE BIT          ?
       $2180,  _ F12180     C2X      CONSTANT                          ?
       $4000,  _ F14000     C3X      CONSTANT                          ?
       $C000,  _ F1C000     C4X      CONSTANT                          ?
       $401F,  _ F1401F     C5X      CONSTANT RESET STATUS AND OON, OBT?
       $8000,  _ F18000     C6X      CONSTANT                          ?
       $A180,  _ F1A180     C7X      CONSTANT                          ?
       $CD00,  _ F1CD00     C8X      SUPV. LOOP CELL + EOLF + EOLB     ?
       $0000,  _ G32RTRN    C9X      SAVE RETURN IN GET32              ?
       $0000,  _ G16RTRN    CAX      SAVE RETURN IN GET16              ?
       $0000,  _ G8RTRN     CBX      SAVE RETURN IN GET8               ?
_ 
************************************************************************
*         REGISTERS THAT MUST BE LOCATED WITH LOW ORDER DIGIT = C      *
************************************************************************
? 
       $F000,  _ F1F000     CCX      CONSTANT                          ?
       $00E0,  _ F100E0     CDX      CONSTANT                          ?
       $0000,  _ ODDCLA     CEX      CLA ADDRESS FOR ODD               ?
       $0000,  _ OLDIBP     CFX      OLD INPUT BUFFER POINTER          ?
_ 
************************************************************************
*         REGISTERS USED FOR TEXT PROCESSING STORAGE OF THE USER TPCB  *
************************************************************************
? 
       $0000,  _ CURCAR     D0X      CURRENT SOURCE CHARACTER          ?
       $0000,  _ RITCAR     D1X      RITE CHARACTER OF SOURCE          ?
       $0000,  _ SBA1ST     D2X      FIRST SOURCE BUFFER ADDRESS       ?
       $0000,  _ TPD3       D3X      USER REGISTER 3                   ?
       $0000,  _ TPD4       D4X      USER REGISTER 4                   ?
       $0000,  _ TPD5       D5X      USER REGISTER 5                   ?
       $0000,  _ TPD6       D6X      USER REGISTER 6                   ?
       $0000,  _ TPD7       D7X      USER REGISTER 7                   ?
       $0000,  _ TPD8       D8X      USER REGISTER 8                   ?
       $0000,  _ TPD9       D9X      USER REGISTER 9                   ?
       $0000,  _ TPDA       DAX      USER REGISTER A                   ?
       $0000,  _ TPDB       DBX      USER REGISTER B                   ?
       $0000,  _ TPDC       DCX      USER REGISTER C                   ?
       $0000,  _ TPDD       DDX      USER REGISTER D                   ?
       $0000,  _ TPDE       DEX      USER REGISTER E                   ?
       $0000,  _ TPDF       DFX      USER REGISTER F                   ?
_ 
************************************************************************
*         REGISTERS USED FOR TEXT PROCESSING STORAGE LEVEL 1 AND 2 MARK*
************************************************************************
? 
       $0000,  _ LEV1A      E0X      LEVEL 1 SBA                       ?
       $0000,  _ LEV1B      E1X      LEVEL 1 RITE CHARACTER            ?
       $0000,  _ LEV1C      E2X      LEVEL 1 FLAGS                     ?
       $0000,  _ LEV1D      E3X      LEVEL 1 DESTINATION BUFFER        ?
       $0000,  _ LEV1E      E4X      LEVEL 1 CRC                       ?
       $0000,  _ SVLFCD1    E5X      LEVEL 1 SAVE FOR LCD/FCD          ?
       $0000,  _ ENDBUF1    E6X      LEVEL 1 SAVE FOR END OF BUFFER    ?
       $0000,  _ SVCARL1    E7X      LEVEL 1 SAVE FOR CURRENT CHARACTER?
       $0000,  _ LEV2A      E8X      LEVEL 2 SBA                       ?
       $0000,  _ LEV2B      E9X      LEVEL 2 RITE CHARACTER            ?
       $0000,  _ LEV2C      EAX      LEVEL 2 FLAGS                     ?
       $0000,  _ LEV2D      EBX      LEVEL 2 DESTINATION BUFFER        ?
       $0000,  _ LEV2E      ECX      LEVEL 2 CRC                       ?
       $0000,  _ SVLFCD2    EDX      LEVEL 2 SAVE FOR LCD/FCD          ?
       $0000,  _ ENDBUF2    EEX      LEVEL 2 SAVE FOR END OF BUFFER    ?
       $0000,  _ SVCARL2    EFX      LEVEL 2 SAVE FOR CURRENT CHARACTER?
_ 
************************************************************************
*         REGISTERS FOR PBFCOPY                                        *
************************************************************************
? 
    _  $0000,    BPTRS      E0X      PBFCOPY POINTER TO SOURCE BUFFER  ?
    _  $0000,    SLFCD      E1X      PBFCOPY FIRST ENTRY OF SRC LCD/FCD?
    _  $0000,    BPTRD      E3X      PBFCOPY POINTER TO DEST. BUFFER   ?
    _  $0000,    DLFCD      E4X      PBFCOPY FIRST  DEST. LCD/FCD      ?
    _  $0000,    PBFSVQ     E5X      PBFCOPY SAVE Q FOR RETURN         ?
    _  $0000,    SCHAR      E6X      PBFCOPY TWO SOURCE CHARACTERS     ?
    _  $0000,    SFCD       E7X      PBFCOPY CURRENT SOURCE FCD        ?
    _  $0000,    SCKUL      E8X      PBFCOPY CURRENT FCD POINTER       ?
    _  $0000,    DFCD       E9X      PBFCOPY CURRENT DEST. FCD POINTER ?
_ 
************************************************************************
*         REGISTERS USED FOR MISCELANEOUS FUNCTIONS                    *
************************************************************************
? 
       $0000,  _ BITFLAG    F0X       FLAGS FOR WHO IS RUNNING         ?
       $FFFF,  _ PORT       F1X       PORT TABLE START ADDRESS         ?
       $FFFF,  _ INTARRY    F2X       ADDR. OF POINTER TO INTER. ARRAY ?
       $FFFF,  _ CLAMAX     F3X       CLA ADDRESS UPPER BOUNDS + 1     ?
       $FFFF,  _ COLHLT     F4X       PBSTOP MACRO ADDRESS             ?
       $0000,  _ OP5ACT     F5X       OPCODE 5 STATE INSTRUCTION ACTION?
       $0000,  _ FDINDEX    F6X       MVCHXX DESTINATION INDEX POINTER ?
       $0000,  _ ISTASV     F7X       INPUT STATE TABLE SAVE           ?
       $0000,  _ CMD12      F8X       SAVE COMMAND WORD 1 AND 2        ?
       $0000,  _ NOT USED   F9X      NOT USED                          ?
       $0000,  _ NOT USED   FAX      NOT USED                          ?
       $0000,  _ NOT USED   FBX      NOT USED                          ?
       $FFFF,  _ MFREVLV    FCX       MUX. FIRMWARE REVISION LEVEL     ?
       $1502,  _ MMSIZE     FDX       MICRO MEMORY SIZE                ?
       $FFFF,  _ CCPLEVEL   FEX       CCP LEVEL                        ?
       $0000); _            FFX       P REGISTER SAVE LOCATION         ?
_ 
************************************************************************
*      INITIALIZE FILE 1 REGISTERS CONTAINING VARIABLES                *
************************************************************************
? 
BEGIN 
  
   ADDR (BEBITMAP,WNFIL1[$16]);             _ADDRESS OF BIT MAP        ?
   ADDR (BEMSK8 ,WNFIL1[$18]);              _ADDRESS OF 8 WORD MASKS   ?
   ADDR (BEMSK16 ,WNFIL1[$19]);             _ADDRESS OF 16 WORD MASKS  ?
   ADDR (QTOPSK,WNFIL1[$1A]);               _ SET UP STACK ADDRESS     ?
   WNFIL1[$20].BAINT := BECTLBK[B0S1].BEMSK.BAINT; _ SIZE OF WORKLIST  ?
   WNFIL1[$3F].BAINTPTR := BQCIBPTR;        _ADDRESS OF CIB            ?
   WNFIL1[$40] := WNFIL1[$3F];              _CIB NEXT LINE FRAME WRITE ?
   WNFIL1[$42].BAINT := WNFIL1[$3F].BAINT + B1CIBSIZ; 
   WNFIL1[$4C].BAINTPTR := BLTIMTBL;        _ BASE OF BLTIMTBL         ?
   ADDR(BYWLCB[MMEWLQ],WNFIL1[$9A].BAINT);  _WORK LIST CONTROL BLOCK   ?
   WNFIL1[$F1].BAINTPTR := NAPORT;          _PORT TABLE ADDRESS        ?
   ADDR(CNENTRY,WNFIL1[$F2].BAINT);         _ADDRESS OF INTERM. ARRAY  ?
   WNFIL1[$F3].BAINT := C4LCBS + 1;         _CLA UPPER BOUND + 1       ?
   ADDR(PBSTOP,WNFIL1[$F4].BAINT);          _ FIRMWARE HALT ADDRESS    ?
   ADDR (CCPLEV,IPTR);                      _ CCP LEVEL INTO FIRMWARE  ?
   WNFIL1[$FE].BAINT := IPTR';
   PBEF ($FF00,WNFIL1);                     _ LOAD F1 REGS 0 THRU $FE  ?
_ 
     SET-UP SOME REGISTERS IN FILE 2
? 
   INST ( 
        $0C06,            _ENQ   6                                     ?
        $C000,$00FF,      _LDA   =N$FF       SET F2/19 TO 00FF         ?
        $0B06,            _DMI                                         ?
        $0C09,            _ENQ   9                                     ?
        $C000,$0F00,      _LDA   =N$F00      SET F2/16 TO 0F00         ?
        $0B06,            _DMI                                         ?
        $0C0A,            _ENQ   $A                                    ?
        $0A01,            _ENA   1           SET F2/15 TO 0001         ?
        $0B06)            _DMI                                         ?
 END; 
