
                     * PAG
                     *************************************************
                     * P - PRINT UTILITY COMMAND                     *
                     * THE P COMMAND INITIALIZE A PORT AND           *
                     * CHANGES THE OUTCH JUMP VECTOR IN FLEX         *
                     *************************************************
                     * OPT PAG
                     *
                     * 'P' UTILITY COPYRIGHT (C). 1979 BY
                     * 
                     * TECHNICAL SYSTEMS CONSULTANTS, INC.
                     * BOX 2570
                     * WEST LAFAYETTE, INDIANA 47906
                     * USA
                     
                     * BY FLD ON 15-10-2011 FOR VEGAS
                     * DISASSEMBLY BY DYNAMITE OF P.CMD
                     
                     * STANDARD PRE-NAMED LABEL EQUATES
                     
               C840  SYSFCB  EQU    $C840
               CC02  EOLCHR  EQU    $CC02
               CC09  PAUSE   EQU    $CC09
               CC11  LSTTRM  EQU    $CC11
               CCC0  PINIT   EQU    $CCC0
               CCE4  POUT    EQU    $CCE4
               CCFC  PR1     EQU    $CCFC
               CD03  WARMS   EQU    $CD03
               CD06  RENTER  EQU    $CD06
               CD1E  PSTRNG  EQU    $CD1E
               CD30  LOAD    EQU    $CD30
               CD3F  RPTERR  EQU    $CD3F
               D403  FMSCLS  EQU    $D403
               D406  FMS     EQU    $D406
                     
                     * ASCII CODE EQUATES
                     
               0004  EOT     EQU    $04
                     
                     * EXTERNAL LABEL EQUATES
                     
               0000  L0000   EQU    $0000
               C1B5  LC1B5   EQU    $C1B5
               CD10  LCD10   EQU    $CD10
                     
                     
  C100                       ORG    $C100
                     
  C100 20   01       CMDADR  BRA    P1        SKIP VESION NUMBER
  C102 01                    FCB    $01       VERSION NUMBER
  C103 B6   CCFC     P1      LDA    PR1       CHECK SYSTEM PROCESS REG
  C106 27   09               BEQ    P12       IS IT BUSY
  C108 8E   C840             LDX    #SYSFCB   POINT TO FCB
  C10B C6   1B               LDB    #$1B      SET BUSY ERROR
  C10D E7   01               STB    1,X       STUFF IN FCB
  C10F 20   44               BRA    P3        GO REPORT ERROR
  C111 B6   CC11     P12     LDA    LSTTRM    GET LAST TERMINATOR
  C114 81   0D               CMPA   #$0D      IS IT A CR?
  C116 27   46               BEQ    P8
  C118 B1   CC02             CMPA   EOLCHR    IS IT EOL CHARACTER?
  C11B 27   41               BEQ    P8
  C11D 7F   CC09             CLR    PAUSE     DISABLE THE PAUSE FEATURE
  C120 B6   CCE4             LDA    POUT      GET 1ST BYTE OF SPACE
  C123 81   39               CMPA   #$39      IS IT RTS?
  C125 26   14               BNE    P15       IF NOT - THEN LOADED
  C127 8E   C840             LDX    #SYSFCB   POINT TO FCB
  C12A 86   01               LDA    #1        OPEN FILE FOR READ
  C12C A7   84               STA    0,X
  C12E BD   D406             JSR    FMS       CALL FMS
  C131 26   14               BNE    P2        CHECK FOR ERRORS
  C133 86   FF               LDA    #$FF      SET FOR BINARY READ
  C135 A7   88 3B            STA    59,X      SET COMPRESSION FLAG
  C138 BD   CD30             JSR    LOAD      CALL FLEX'S LOADER
  C13B BD   CCC0     P15     JSR    PINIT     GO INITIALIZE PORT
  C13E 8E   CCE4             LDX    #POUT     GET OUTPUT ADRESS
  C141 BF   CD10             STX    LCD10     STUFF IN FLEX
  C144 7E   CD06             JMP    RENTER    RETURN TO FLEX
                     
  C147 A6   01       P2      LDA    1,X       GET ERROR CODE
  C149 81   04               CMPA   #4        IS IT "NO SUCH FILE"?
  C14B 26   08               BNE    P3
  C14D 8E   C163             LDX    #NOPST    POINT TO MESSAGE
  C150 BD   CD1E     P25     JSR    PSTRNG    GO PRINT IT
  C153 20   03               BRA    P4
                     
  C155 BD   CD3F     P3      JSR    RPTERR    REPORT ERROR
  C158 BD   D403     P4      JSR    FMSCLS    CLOSE ALL FILES
  C15B 7E   CD03             JMP    WARMS     RETURN TO FLEX
                     
  C15E 8E   C17C     P8      LDX    #ERSTR
  C161 20   ED               BRA    P25
                     
                     
  C163 22 50 52 49   NOPST   FCC    '"',"PRINT.SYS",'"'," N'EXISTE"
  C167 4E 54 2E 53   
  C16B 59 53 22 20   
  C16F 4E 27 45 58   
  C173 49 53 54 45   
  C177 20 50 41 53           FCC    " PAS"
  C17B 04                    FCB    $04
  C17C 22 50 22 20   ERSTR   FCC    '"',"P",'"'," DOIT ETRE S"
  C180 44 4F 49 54   
  C184 20 45 54 52   
  C188 45 20 53      
  C18B 55 49 56 49           FCC    "UIVIE PAR UNE COMMANDE"
  C18F 45 20 50 41   
  C193 52 20 55 4E   
  C197 45 20 43 4F   
  C19B 4D 4D 41 4E   
  C19F 44 45         
  C1A1 04                    FCB    $04
                     
                     * THE FOLLOWING CODE IS LOADED INTO
                     * THE SYSTEM FCB WHEN THE P COMMAND IS
                     * LOADED INTO MEMORY
                     * IT PRESETS THE FILE NAME INTO THE FCB
                     
  C843                       ORG    $C843
                     
  C843 FF                    FCB    $FF
  C844 50 52 49 4E           FCC    "PRINT"
  C848 54            
  C849 00 00 00              FCB    $00,$00,$00
  C84C 53 59 53              FCC    "SYS"
                     
                             END    CMDADR

0 ERROR(S) DETECTED

SYMBOL TABLE:

CMDADR C100   EOLCHR CC02   EOT    0004   ERSTR  C17C   FMS    D406   
FMSCLS D403   L0000  0000   LC1B5  C1B5   LCD10  CD10   LOAD   CD30   
LSTTRM CC11   NOPST  C163   P1     C103   P12    C111   P15    C13B   
P2     C147   P25    C150   P3     C155   P4     C158   P8     C15E   
PAUSE  CC09   PINIT  CCC0   POUT   CCE4   PR1    CCFC   PSTRNG CD1E   
RENTER CD06   RPTERR CD3F   SYSFCB C840   WARMS  CD03   




