
                     * PAG
                     **********************************************************
                     *  DELETE - DELETE UTILITY                   *
                     **********************************************************
                     * OPT PAG
                     *
                     * 'DELETE' UTILITY COPYRIGHT (C), 1979 BY
                     *
                     *   TECHNICAL SYSTEMS CONSULTANTS, INC.
                     *   BOX 2570
                     *   WEST LAFAYETTE, INDIANA  47906
                     *   USA
                     
                     * BY FLD ON 25-11-2011 FOR VEGAS
                     * DISASSEMBLY BY DYNAMITE OF 1.DELETE.CMD
                     
                     * STANDARD PRE-NAMED LABEL EQUATES
                     
               C840  SYSFCB  EQU    $C840
               CD03  WARMS   EQU    $CD03
               CD15  GETCHR  EQU    $CD15
               CD18  TCHR    EQU    $CD18
               CD1E  PSTRNG  EQU    $CD1E
               CD24  PCRLF   EQU    $CD24
               CD2D  GETFIL  EQU    $CD2D
               CD39  OUTDEC  EQU    $CD39
               CD3F  RPTERR  EQU    $CD3F
               D403  FMSCLS  EQU    $D403
               D406  FMS     EQU    $D406
                     
                     * ASCII CODE EQUATES
                     
               0004  EOT     EQU    $04
                     
                     * EXTERNAL LABEL EQUATES
                     * QUEUE PRINT FINCTION
               C719  LC719   EQU    $C719
               C71B  LC71B   EQU    $C71B     QUEUE COUNT
               C810  LC810   EQU    $C810
                     
                     
  C100                       ORG    $C100
                     
  C100 20   04       CMDADR  BRA    DELET1    SKIP VERSION NUMBER
  C102 01                    FCB    $01       VERSION NUMBER
  C103 00            MEM1    FCB    $00       FILE ERROR FLAG
  C104 00            MEM2    FCB    $00       TO STORE QUEUE COUNT
  C105 00            MEM3    FCB    $00       TO FILE DRIVE NUMBER
  C106 7F   C103     DELET1  CLR    MEM1      CLEAR FILE NUMBER
  C109 8E   C840     DELET2  LDX    #SYSFCB
  C10C BD   CD2D             JSR    GETFIL    GET FILE SPECIFICATION
  C10F 25   71               BCS    DELET3    ON ERROR SKIP
  C111 7C   C103             INC    MEM1      INCREMENT FILE NUMBER
  C114 6D   0C               TST    12,X      TEST THE EXTENSION
  C116 26   08               BNE    DELET4    IF NOT NUL SKIP
  C118 8E   C230             LDX    #TXTEXT   CLAIM FOR EXTENSION
  C11B BD   CD1E             JSR    PSTRNG    PRINT IT
  C11E 20   E9               BRA    DELET2    TRY NEXT FILE TO DELETE
  C120 86   01       DELET4  LDA    #1        EXTENSION DETECTED
  C122 A7   84               STA    0,X       OPEN FILE FOR READ
  C124 BD   D406             JSR    FMS       CALL FMS
  C127 26   61               BNE    DELET5    ON ERROR SKIP
  C129 86   04               LDA    #4        CLOSE FMS
  C12B A7   84               STA    0,X
  C12D BD   D406             JSR    FMS       CALL FMS
  C130 26   47               BNE    ERROR     ON EROR SKIP
  C132 BD   C1C5             JSR    TSTQUE    TEST IF THE FILE IS IN THE PRINT QUEUE
  C135 27   36               BEQ    DELET6    THE FILE IS IN THE PRINT QUEUE
  C137 8E   C1FD             LDX    #TXTDET   TEXT DELETE ?
  C13A BD   CD24             JSR    PCRLF     PRINT CR & LF
  C13D BD   CD1E             JSR    PSTRNG    PRINT TEXT
  C140 8E   C842             LDX    #SYSFCB+2 ADRESS OF FCB ACTIVITY STATUS
  C143 8D   50               BSR    SUBPFN    PRINT THE FULL NAME OF THE FILE
  C145 8E   C207             LDX    #TXTDE1   QUESTION MARK
  C148 C6   04               LDB    #4
 >C14A BD   C1B8             JSR    SUBPF3    PRINT THE 4 CHARACTERS
  C14D BD   CD15             JSR    GETCHR    GET THE ANSWER
  C150 84   5F               ANDA   #$5F      REMOVE THE BIT $80
  C152 81   4F               CMPA   #$4F      COMPARE TO "O"
  C154 26   B3               BNE    DELET2    PROCESS NEXT ENTRY IF NOT "O"
  C156 8E   C20C             LDX    #TXTSUR   ARE YOU SURE ?
  C159 BD   CD1E             JSR    PSTRNG    PRINT TEXT
  C15C BD   CD15             JSR    GETCHR    GET THE ANSWER
  C15F 84   5F               ANDA   #$5F      REMOVE THE BIT $80
  C161 81   4F               CMPA   #$4F      COMPARE TO "O"
  C163 27   08               BEQ    DELET6    SKIP IF OK
  C165 8E   C21C             LDX    #TXTNO    I KNEW IT !
  C168 BD   CD1E     DELET9  JSR    PSTRNG    PRINT IT
  C16B 20   9C               BRA    DELET2    PROCESS NEXT ENTRY
                     
                     * DELETE THE FILE
  C16D 8E   C840     DELET6  LDX    #SYSFCB
  C170 86   0C               LDA    #$0C      FUNCTION 12 IS DELETE FILE
  C172 A7   84               STA    0,X       STORE THE FUNCTION CODE
  C174 BD   D406             JSR    FMS       CALL FMS
  C177 27   90               BEQ    DELET2    PROCESS NEXT ENTRY
                     
                     * FATAL ERROR
  C179 BD   CD3F     ERROR   JSR    RPTERR    REPORT ERROR
  C17C BD   D403             JSR    FMSCLS    CLOSE FMS
  C17F 7E   CD03     ERROR1  JMP    WARMS     EXIT
                     
  C182 7D   C103     DELET3  TST    MEM1
  C185 26   F8               BNE    ERROR1
  C187 7C   C103             INC    MEM1
  C18A BD   CD3F     DELET5  JSR    RPTERR    REPORT ERROR
  C18D 7E   C109             JMP    DELET2    LOOP PROCESS NEXT ENTRY
                     
                     * THE FILE IS IN THE PRINT QUEUE
  C190 8E   C245     DELET7  LDX    #TXTQUE
  C193 20   D3               BRA    DELET9
                     
                     * PRINT THE FULL NAME SUBROUTINE
  C195 6F   84       SUBPFN  CLR    0,X       CLEAR ACTIVITY STATUS
  C197 5F                    CLRB             CLEAR B
  C198 BD   CD39             JSR    OUTDEC    OUTPUT DRIVE NUMBER
  C19B 8E   C844             LDX    #SYSFCB+4 PINPOINT ON FILE NAME
  C19E 86   2E               LDA    #$2E      DOT CHARACTER
  C1A0 BD   CD18             JSR    TCHR      PRINT IT
  C1A3 C6   08               LDB    #8        FILE NAME LENTH
  C1A5 A6   84       SUBPF1  LDA    0,X       GET A CHARACTER OF THE NAME
  C1A7 27   03               BEQ    SUBPF2    JUMP IF NUL
  C1A9 BD   CD18             JSR    TCHR      PRINT CHARACTER
  C1AC 30   01       SUBPF2  LEAX   1,X       INCREMENT THE POINTER
  C1AE 5A                    DECB             DECREMENT THE NAME LENTH
  C1AF 26   F4               BNE    SUBPF1    LOOP IF NOT NUL
  C1B1 C6   03               LDB    #3        EXTENTION LENTH
  C1B3 86   2E               LDA    #$2E      DOT CHARACTER
  C1B5 BD   CD18             JSR    TCHR      PRINT IT
  C1B8 A6   84       SUBPF3  LDA    0,X       GET A CHARACTER OF THE ENTENSION
  C1BA 27   08               BEQ    SUBPF4    JUMP IF NUL 
  C1BC BD   CD18             JSR    TCHR      PRINT CHARACTER
  C1BF 30   01               LEAX   1,X       INREMENT THE POINTER
  C1C1 5A                    DECB             DECREMENT THE EXT LENTH
  C1C2 26   F4               BNE    SUBPF3    LOOP IF NOT NUL
  C1C4 39            SUBPF4  RTS              FINISHED PRINTING THE FILE NAME
                     
                     * TEST IF THE FILE IS IN THE PRINT QUEUE
  C1C5 B6   C71B     TSTQUE  LDA    LC71B     LOAD QUEUE COUNT
  C1C8 B7   C104             STA    MEM2      STORE IN MEM2
  C1CB 27   2D               BEQ    TSTQU1    QUEUE EMPTY OK
  C1CD A6   03               LDA    3,X       LOAD FILE DRIVE NUMBER
  C1CF B7   C105             STA    MEM3      STORE IN MEM3
  C1D2 EC   88 11            LDD    17,X      LOAD STARTING DISK ADRESS OF THE FILE
  C1D5 BE   C719             LDX    LC719     LOAD THE ADRESS OF THE FILE IN THE QUEUE
  C1D8 10A3 01       TSTQU2  CMPD   1,X       COMPARE 
  C1DB 26   0C               BNE    TSTQU3    NOT THE SAME SKIP
  C1DD 34   02               PSHS   A         PUSH A
  C1DF B6   C105             LDA    MEM3      LOAD THE DRIVE NUMBER
  C1E2 A1   84               CMPA   0,X       COMPARE THE DRIVE NUMBER
  C1E4 35   02               PULS   A         PULL
  C1E6 26   01               BNE    TSTQU3    NOT THE SAME SKIP
  C1E8 39                    RTS              TOO BAD !
  C1E9 7A   C104     TSTQU3  DEC    MEM2      NEXT FILE IN THE QUEUE
  C1EC 27   0C               BEQ    TSTQU1    SKIP IF FINISHED
  C1EE 30   04               LEAX   4,X       NEXT QUEUED FILE ADRESS
  C1F0 8C   C840             CMPX   #SYSFCB   CHECK IF NO INTERFERENCE WITH FCB ADRESS
  C1F3 26   03               BNE    TSTQU4    SKIP IF NO INTERFERENCE
  C1F5 8E   C810             LDX    #LC810
  C1F8 20   DE       TSTQU4  BRA    TSTQU2    TEST NEXT ENTRY
                     * QUEUE EMPTY 
  C1FA 86   01       TSTQU1  LDA    #1        LOAD A WITH 1
  C1FC 39                    RTS
  C1FD 44 45 54 52   TXTDET  FCC    "DETRUIT ",'"',EOT
  C201 55 49 54 20   
  C205 22 04         
  C207 22 20 3F 20   TXTDE1  FCC    '"'," ? ",EOT
  C20B 04            
  C20C 45 54 45 53   TXTSUR  FCC    "ETES VOUS SUR? ",EOT
  C210 20 56 4F 55   
  C214 53 20 53 55   
  C218 52 3F 20 04   
  C21C 4A 45 20 4C   TXTNO   FCC    "JE LE SAVAIS BIEN !",EOT
  C220 45 20 53 41   
  C224 56 41 49 53   
  C228 20 42 49 45   
  C22C 4E 20 21 04   
  C230 45 58 54 45   TXTEXT  FCC    "EXTENSION NECESSAIRE",EOT
  C234 4E 53 49 4F   
  C238 4E 20 4E 45   
  C23C 43 45 53 53   
  C240 41 49 52 45   
  C244 04            
  C245 4C 45 20 46   TXTQUE  FCC    "LE FICHIER EST DANS LA Q"
  C249 49 43 48 49   
  C24D 45 52 20 45   
  C251 53 54 20 44   
  C255 41 4E 53 20   
  C259 4C 41 20 51   
  C25D 55 45 55 45           FCC    "UEUE DE PRINT",EOT
  C261 20 44 45 20   
  C265 50 52 49 4E   
  C269 54 04         
                     
                             END    CMDADR

0 ERROR(S) DETECTED

SYMBOL TABLE:

CMDADR C100   DELET1 C106   DELET2 C109   DELET3 C182   DELET4 C120   
DELET5 C18A   DELET6 C16D   DELET7 C190   DELET9 C168   EOT    0004   
ERROR  C179   ERROR1 C17F   FMS    D406   FMSCLS D403   GETCHR CD15   
GETFIL CD2D   LC719  C719   LC71B  C71B   LC810  C810   MEM1   C103   
MEM2   C104   MEM3   C105   OUTDEC CD39   PCRLF  CD24   PSTRNG CD1E   
RPTERR CD3F   SUBPF1 C1A5   SUBPF2 C1AC   SUBPF3 C1B8   SUBPF4 C1C4   
SUBPFN C195   SYSFCB C840   TCHR   CD18   TSTQU1 C1FA   TSTQU2 C1D8   
TSTQU3 C1E9   TSTQU4 C1F8   TSTQUE C1C5   TXTDE1 C207   TXTDET C1FD   
TXTEXT C230   TXTNO  C21C   TXTQUE C245   TXTSUR C20C   WARMS  CD03   





