home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / archives / trs80model1and3.zip / trskd.src < prev    next >
Text File  |  1984-05-28  |  2KB  |  91 lines

  1. ;get a directory for a drive
  2. DIR    LD    HL,(402DH)    ;intercept the @exit
  3.     LD    (ARGBLK),HL    ;vector
  4.     LD    A,(402FH)
  5.     LD    (ARGBLK+2),A
  6.     LD    HL,(4030H)    ;intercept the @abort
  7.     LD    (ARGBLK+3),HL    ;vector
  8.     LD    A,(4032H)
  9.     LD    (ARGBLK+5),A
  10.     LD    HL,(4409H)    ;intercept the @error
  11.     LD    (ARGBLK+6),HL    ;vector
  12.     LD    A,(440BH)
  13.     LD    (ARGBLK+8),A
  14.     LD    (ARGBLK+9),SP
  15.     LD    HL,(CMDPTR)
  16. DIR1A    LD    A,(HL)
  17.     CP    CR
  18.     JR    Z,DIR1B
  19.     CP    ' '
  20.     JR    Z,DIR1AA
  21.     CP    '0'
  22.     JP    M,DIRERR    ;legal drive number?
  23.     CP    '9'+1
  24.     JP    P,DIRERR
  25.     JR    DIR1C
  26. DIR1AA    INC    HL
  27.     JR    DIR1A
  28. DIR1B    LD    A,'1'        ;default to drive 1
  29. DIR1C    LD    (DIRSPEC),A
  30.     LD    A,0C3H        ;replace dos vectors
  31.     LD    (402DH),A
  32.     LD    (4030H),A
  33.     LD    (4409H),A
  34.     LD    HL,DIR1D    ;route back to kermit
  35.     LD    (402EH),HL
  36.     LD    (4031H),HL
  37.     LD    (440AH),HL
  38.     LD    HL,DNAM14    ;execute the command
  39.     JP    4405H        ;DIR :X
  40. DIR1D    LD    HL,(ARGBLK)    ;return here after
  41.     LD    (402DH),HL    ;execution and fix
  42.     LD    A,(ARGBLK+2)    ;dos
  43.     LD    (402FH),A
  44.     LD    HL,(ARGBLK+3)
  45.     LD    (4030H),HL
  46.     LD    A,(ARGBLK+5)
  47.     LD    (4032H),A
  48.     LD    HL,(ARGBLK+6)
  49.     LD    (4409H),HL
  50.     LD    A,(ARGBLK+8)
  51.     LD    (440BH),A
  52.     LD    HL,(ARGBLK+9)
  53.     LD    SP,HL        ;all done
  54.     JP    KERMIT
  55. DIRERR    LD    DE,BADDRV    ;bad drive name
  56.     CALL    PRTSTR
  57.     JP    KERMIT
  58. ;kill a trs-80 file
  59. ERA:    LD     A,CMIFI    ; PARSE A FILE-SPEC
  60.     LD     DE,KFCB    ; INTO FCB
  61.     CALL   COMND
  62.     JP    KERMIT
  63.     LD    A,CMCFM
  64.     CALL    COMND
  65.     JP    KERMT3
  66.     LD     DE,KFCB
  67.     CALL    @OPEN
  68.     JP     Z,ERA1    ; FOUND it
  69.     LD     DE,ERMS15;"UNABLE TO FIND FILE"
  70.     CALL   PRTSTR
  71.     JP     KERMIT
  72. ERA1:    LD    DE,KFCB
  73.     CALL    @KILL
  74.     JR    NZ,ERA2
  75.     LD     DE,INMS18;" FILE KILLED"
  76.     CALL   PRTSTR
  77.     JP     KERMIT
  78. ERA2:    CALL    ERRORD
  79.     JP    KERMIT
  80. ESCPR:    LD     A,(ESCCHR)    ; GET THE ESCAPE CHAR.
  81.     CP     ' '            ; IS IT A CONTROL CHAR?
  82.     JP     P,ESCPR2
  83.     LD     DE,INMS10    ; OUTPUT CONTROL-.
  84.     CALL   PRTSTR
  85.     LD     A,(ESCCHR)
  86.     OR     100O    ; DE-CONTROLIFY.
  87. ESCPR2:    CALL    CONOUT
  88.     LD    A,20H
  89.     CALL    CONOUT
  90.     RET
  91.