home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64-128Toolkit / ACE-R11-SCR2.ARC / RM.S < prev    next >
Encoding:
Text File  |  2019-04-13  |  2.4 KB  |  192 lines

  1. ;*** RM PROGRAM
  2.  
  3. .SEQ ACEHEAD.S
  4. .ORG ACE┴PP┴DDRESS
  5. .OBJ "@0:RM"
  6.  
  7. JMP REMOVE═AIN
  8. .BYTE ACE╔─1,ACE╔─2,ACE╔─3
  9. .BYTE 64,0  ;** STACK,RESERVED
  10.  
  11. ;*** GLOBAL DECLARATIONS
  12.  
  13. LIBWORK = $60
  14.  
  15. CHR├╥ = $0D
  16. CHR╤UOTE = $22
  17.  
  18. ;******** STANDARD LIBRARY ********
  19. PUTS = *
  20.    LDX #STDOUT
  21. FPUTS = *
  22.    STA ZP
  23.    STY ZP+1
  24.    LDY #$FF
  25. -  INY
  26.    LDA (ZP),Y
  27.    BNE -
  28.    TYA
  29.    LDY #0
  30.    JMP WRITE
  31. EPUTS = *
  32.    LDX #STDERR
  33.    JMP FPUTS
  34.  
  35. PUTCHAR = *
  36.    LDX #STDOUT
  37. PUTC = *
  38.    STA PUTC┬UFFER
  39.    LDA #<PUTC┬UFFER
  40.    LDY #>PUTC┬UFFER
  41.    STA ZP
  42.    STY ZP+1
  43.    LDA #1
  44.    LDY #0
  45.    JMP WRITE
  46.    PUTC┬UFFER .BUF 1
  47.  
  48. GETCHAR = *
  49.    LDX #STDIN
  50. GETC = *
  51.    LDA #<GETC┬UFFER
  52.    LDY #>GETC┬UFFER
  53.    STA ZP
  54.    STY ZP+1
  55.    LDA #1
  56.    LDY #0
  57.    JSR READ
  58.    BEQ +
  59.    LDA GETC┬UFFER
  60.    RTS
  61. +  SEC
  62.    RTS
  63.    GETC┬UFFER .BUF 1
  64.  
  65. ;===REMOVE LIBRARY===
  66. GETARG = *
  67.    STY ZP+1
  68.    ASL
  69.    STA ZP
  70.    ROL ZP+1
  71.    CLC
  72.    LDA ACE┴RGV
  73.    ADC ZP
  74.    STA ZP
  75.    LDA ACE┴RGV+1
  76.    ADC ZP+1
  77.    STA ZP+1
  78.    LDY #0
  79.    LDA (ZP),Y
  80.    TAX
  81.    INY
  82.    LDA (ZP),Y
  83.    STX ZP
  84.    STA ZP+1
  85.    RTS
  86.  
  87. ;===REMOVE===
  88. RM┴RG = 2
  89. RM╬AME = 4
  90.  
  91. REMOVE═AIN = *
  92.    ;** CHECK ARGUMENT COUNT
  93.    LDA ACE┴RGC+1
  94.    BNE RM┼NOUGH┴RGS
  95.    LDA ACE┴RGC
  96.    CMP #2
  97.    BCS RM┼NOUGH┴RGS
  98.  
  99. RM╒SAGE = *
  100.    LDA #<RM╒SAGE═SG
  101.    LDY #>RM╒SAGE═SG
  102.    JMP PUTS
  103.  
  104. RM╒SAGE═SG = *
  105.    .ASC "╒SAGE: RM FILE1 FILE2 ... FILE╬"
  106.    .BYTE CHR├╥
  107.    .BYTE 0
  108.  
  109. RM┼NOUGH┴RGS = *
  110.    LDA #1
  111.    LDY #0
  112.    STA RM┴RG
  113.    STY RM┴RG+1
  114. -  LDA RM┴RG
  115.    LDY RM┴RG+1
  116.    JSR GETARG
  117.    LDA ZP
  118.    LDY ZP+1
  119.    STA RM╬AME
  120.    STY RM╬AME+1
  121.    ORA ZP+1
  122.    BEQ RM┼XIT
  123.    JSR STOPKEY
  124.    BCS STOPPED
  125.    JSR RM┼CHO
  126.    LDA RM╬AME
  127.    LDY RM╬AME+1
  128.    STA ZP
  129.    STY ZP+1
  130.    JSR REMOVE
  131.    BCC +
  132.    JSR RM┼RROR
  133. +  INC RM┴RG
  134.    BNE +
  135.    INC RM┴RG+1
  136. +  JMP -
  137.  
  138. RM┼XIT = *
  139.    RTS
  140.  
  141. STOPPED = *
  142.    LDA #<STOPPED═SG
  143.    LDY #>STOPPED═SG
  144.    JMP EPUTS
  145.    STOPPED═SG = *
  146.    .ASC "<STOPPED>"
  147.    .BYTE CHR├╥,0
  148.  
  149. RM┼RROR = *
  150.    LDA #<RM┼RROR═SG1
  151.    LDY #>RM┼RROR═SG1
  152.    JSR EPUTS
  153.    LDA RM╬AME
  154.    LDY RM╬AME+1
  155.    JSR EPUTS
  156.    LDA #<RM┼RROR═SG2
  157.    LDY #>RM┼RROR═SG2
  158.    JMP EPUTS
  159.  
  160. RM┼RROR═SG1 = *
  161.    .ASC "┼RROR ATTEMPTING TO REMOVE "
  162.    .BYTE CHR╤UOTE
  163.    .BYTE 0
  164.  
  165. RM┼RROR═SG2 = *
  166.    .BYTE CHR╤UOTE
  167.    .BYTE CHR├╥
  168.    .BYTE 0
  169.  
  170. RM┼CHO = *
  171.    LDA #<RM┼CHO═SG1
  172.    LDY #>RM┼CHO═SG1
  173.    JSR EPUTS
  174.    LDA RM╬AME
  175.    LDY RM╬AME+1
  176.    JSR EPUTS
  177.    LDA #<RM┼CHO═SG2
  178.    LDY #>RM┼CHO═SG2
  179.    JMP EPUTS
  180.  
  181. RM┼CHO═SG1 = *
  182.    .ASC "╥EMOVING FILE "
  183.    .BYTE CHR╤UOTE,0
  184.  
  185. RM┼CHO═SG2 = *
  186.    .BYTE CHR╤UOTE
  187.    .ASC "..."
  188.    .BYTE CHR├╥,0
  189.  
  190. ;===THE END===
  191. RM┼ND = *
  192.