
 1000  *SAVE S.HARD CAT
 1010  *--------------------------------
 1020  RWTS       .EQ $03D9
 1030  GETIOB     .EQ $03E3
 1040  *--------------------------------
 1050  CATALOG.BUFFER .EQ $B4BB
 1060  *--------------------------------
 1070  R.VOLUME   .EQ $B5F9
 1080  *--------------------------------
 1090         .OR $803
 1100         .TF CAT
 1110  *--------------------------------
 1120  HARD.CAT
 1130         JSR $FD8E
 1140         LDA #$FE     FOR VOLUME=1 TO 254
 1150         STA R.VOLUME      (.EOR.FF OF VOLUME #)
 1160  *---PATCH DOS TO TRAP ERROR------
 1170  .1     LDA #$60     'RTS'
 1180         STA $B09E
 1190         JSR $AFF7    READ VTOC OF VOLUME
 1200  *---REMOVE PATCH-----------------
 1210         LDA #$B0     'BCS'
 1220         STA $B09E
 1230         BCS .7       OUT OF LOOP, BEYOD LAST VOLUME
 1240  *---READ 1ST CATALOG SECTOR------
 1250         CLC
 1260         JSR $B011
 1270  *---PRINT VOLUME #---------------
 1280         LDA R.VOLUME      INVERSE OF #
 1290         EOR #$FF          BACK TO NORMAL FORM
 1300         LDX #"0"          CONVERT TO DECIMAL
 1310  .2     CMP #10           ANY 10'S?
 1320         BCC .3            ...NONE LEFT
 1330         SBC #10           ...YES, DIMINISH
 1340         INX                   AND COUNT IT
 1350         BNE .2            ...ALWAYS
 1360  .3     PHA               SAVE UNITS
 1370         TXA               PRINT TENS
 1380         JSR $FDED
 1390         PLA               GET UNITS
 1400         ORA #"0"          AND PRINT IT
 1410         JSR $FDED
 1420         LDA #" "          PRINT "  "
 1430         JSR $FDED
 1440         JSR $FDED
 1450  *---PRINT NAME OF FIRST FILE-----
 1460         LDY #11
 1470         LDA $B4BB,Y
 1480         BEQ .8       ...EMPTY VOLUME
 1490         LDX #0
 1500  .4     LDA $B4BB+3,Y
 1510         INY
 1520         JSR $FDED
 1530         INX
 1540         CPX #30
 1550         BCC .4
 1560  *---PRINT CARRIAGE RETURN--------
 1570  .5     JSR $FD8E
 1580  *---NEXT VOLUME------------------
 1590         DEC R.VOLUME
 1600  *---POSSIBLE PAUSE OR ABORT------
 1610         LDA $C000    ANY KEY PAUSES
 1620         BPL .1       NO KEY
 1630         STA $C010
 1640         CMP #$8D     <RETURN> ABORTS
 1650         BEQ .7
 1660  .6     LDA $C000    PAUSE LOOP
 1670         BPL .6
 1680         STA $C010
 1690         CMP #$8D     AGAIN, RETURN AGORTS
 1700         BNE .1
 1710  *--------------------------------
 1720  .7     JSR $FD8E    <RETURN>
 1730         JMP $3D0     BACK TO DOS
 1740  *---EMPTY VOLUME-----------------
 1750  .8     LDX #0
 1760  .9     LDA MT,X     PRINT STRING BELOW
 1770         BEQ .5
 1780         JSR $FDED
 1790         INX
 1800         BNE .9       ...ALWAYS
 1810  *--------------------------------
 1820  MT     .AS -/<<<EMPTY VOLUME>>>/
 1830         .HS 00
 1840  *--------------------------------

