home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / USCX / DOSUT-09.ZIP / COVER.ASM < prev    next >
Assembly Source File  |  1984-11-01  |  2KB  |  96 lines

  1.     TITLE    COVER    - Diskette Contents List - Main    Module
  2.     SUBTTL    Version    1.1 - July 1984
  3.     PAGE    81,132
  4. ;
  5. ;    ****************************************************************
  6. ;    *  D. W. Daetwyler - Route 5, Box 518A - Springdale, AR    72764  *
  7. ;    ****************************************************************
  8. ;
  9. CODE    SEGMENT    PARA PUBLIC 'CODE'
  10.     ASSUME    CS:CODE,DS:CODE
  11. ;
  12.     EXTRN    DOPRT:NEAR
  13. ;
  14.     ORG    100H
  15. BEGIN:    JMP    START
  16. ;
  17.     PUBLIC    VERS,RESTR
  18. ;
  19. SETPRT    DB    27,'0',27,'C',44,15,0,0,0,0,0,0    ;Set 1/8" 132 character
  20. RESPRT    DB    27,64,0,0,0,0,0,0,0,0,0,0 ;Restore to power up status
  21. RESTR    DB    12,0,0,0,0,0        ;Do a form feed
  22. VERS    DB    0            ;DOS Version flag
  23. DDRV    DB    0            ;Default drive at entry
  24. NDRV    DB    0            ;Number    of drives in system
  25. LOGO    DB    'D',0FDH,' Cover$'
  26. PRMT    DB    13,10,'Enter drive to list (Esc to quit): $'
  27. ERMSG1    DB    13,10,'Invalid drive$'
  28. ;
  29.     EXTRN    GETTTL:NEAR,GETFRE:NEAR,SCAN:NEAR
  30.     EXTRN    SORT:NEAR,PRINT:NEAR
  31.     EXTRN    PSX:BYTE
  32. ;
  33. START    PROC    NEAR
  34.     MOV    DX,OFFSET LOGO
  35.     MOV    AH,9
  36.     INT    21H
  37.     MOV    DX,OFFSET SETPRT
  38.     CALL    DOPRT            ;Set printer
  39.     MOV    AH,30H
  40.     INT    21H            ;Check DOS Version
  41.     OR    AL,AL
  42.     JZ    NOTTWO            ;V1.x
  43. NOTTWO:    MOV    VERS,AL            ;Save DOS flag
  44.     MOV    AH,19H
  45.     INT    21H            ;Get default drive
  46.     MOV    DDRV,AL            ;  and save
  47.     MOV    DL,AL
  48.     MOV    AH,0EH
  49.     INT    21H            ;Get number of drives
  50.     MOV    NDRV,AL            ;  and save
  51. ;
  52. ;    Start of main loop
  53. ;
  54. MLOOP:    MOV    DX,OFFSET PRMT        ;Prompt    for drive
  55.     MOV    AH,9
  56.     INT    21H
  57.     MOV    AH,1
  58.     INT    21H            ;Get user response
  59.     CMP    AL,1BH            ;Check for exit
  60.     JE    QUIT            ;He's done, so get off
  61.     OR    AL,' '            ;Force lower case
  62.     SUB    AL,'a'-1        ;Compute drive number
  63.     JNC    DRVOK            ;May be    valid drive
  64. ERR1:    MOV    DX,OFFSET ERMSG1    ;Invalid drive message
  65.     MOV    AH,9
  66.     INT    21H            ;Error message out
  67.     JMP    MLOOP
  68. DRVOK:    CMP    AL,NDRV            ;Check for installed drive
  69.     JA    ERR1            ;Drive not installed
  70.     DEC    AL
  71.     MOV    DL,AL
  72.     MOV    AH,0EH
  73.     INT    21H            ;Make selected drive default
  74.     CALL    GETTTL            ;Get title
  75.     CALL    GETFRE            ;Get free space
  76.     CALL    SCAN            ;Load directory    entries
  77.     CALL    SORT            ;Sequence directory entries
  78.     CALL    PRINT            ;Produce listing
  79.     JMP    MLOOP
  80. ;
  81. QUIT:    MOV    DL,DDRV            ;Load entry default drive
  82.     MOV    AH,0EH
  83.     INT    21H            ;Restore default
  84.     TEST    PSX,1
  85.     JZ    NOREST
  86.     MOV    DX,OFFSET RESTR
  87.     CALL    DOPRT            ;Restore page
  88. NOREST:    MOV    DX,OFFSET RESPRT
  89.     CALL    DOPRT            ;Reset printer
  90.     INT    20H            ;  and exit
  91. START    ENDP
  92. ;
  93. CODE    ENDS
  94. ;
  95.     END    BEGIN
  96.