home *** CD-ROM | disk | FTP | other *** search
- 10 REM MSD SD-2 UTILITY PROGRAM
- 20 REM PUBLIC DOMAIN NOT FOR SALE
- 30 REM COPY RIGHT 1984
- 40 REM JIM RHODES
- 50 REM PO BOX 571, STERLING, VA 22170
- 60 PRINT CHR$(142):POKE 53281,1:POKE53280,1:PRINT"[147][144]":REM WHITE CURSER
- 70 PRINT" ******************************"
- 80 PRINT" * DUAL DRIVE UTILITY PROGRAM *"
- 90 PRINT" * COPYRIGHT 1984 *"
- 100 PRINT" * JIM RHODES *"
- 110 PRINT" * PUBLIC DOMAIN REV 3.0[146] *"
- 120 PRINT" ******************************":FORI=1TO2000:NEXT
- 130 PRINT"[147] FUNCTIONS SUPPORTED"
- 140 PRINT" [197][197][197][197][197][197][197][197][197] [197][197][197][197][197][197][197][197][197]"
- 150 PRINT" DIR -------- DISK DIRECTORY"
- 160 PRINT" FORMAT ----- FORMAT NEW DISK"
- 170 PRINT" COPYDISK --- COPY DISK"
- 180 PRINT" COPYFILE --- COPY FILE"
- 190 PRINT" RENAME ----- RENAME FILE"
- 200 PRINT" ERASE ------ ERASE FILE"
- 210 PRINT" STATUS ----- DISK ERROR STATUS"
- 220 PRINT" VALIDATE --- VALIDATE DISK"
- 230 PRINT" DEVICE ----- CHANGE DEVICE NUMBER"
- 240 PRINT" QUIT ------- EXIT PROGRAM"
- 300 GOSUB1005:INPUT" COMMAND ";F$:IFF$=""THEN130
- 301 IFF$="?"THEN130
- 310 IFF$="DIR"THEN500
- 320 IFF$="FORMAT"THEN700
- 330 IFF$="COPYDISK"THEN750
- 340 IFF$="COPYFILE"THEN800
- 350 IFF$="RENAME"THEN825
- 360 IFF$="ERASE"THEN850
- 370 IFF$="STATUS"THEN865
- 380 IFF$="VALIDATE"THEN890
- 390 IFF$="DEVICE"THEN910
- 395 IFF$="QUIT"THENEND
- 400 PRINT
- 401 GOTO 300
- 500 PRINT"[147] DIRECTORY FOR DRIVE 0 OR 1 "
- 501 GETD$:IF D$=""THEN501
- 502 IFD$="0"THEN520
- 503 IFD$="1"THEN620
- 504 GOTO500
- 520 PRINT"[147]DRIVE 0 DIRECTORY":PRINT" SIZE FILE NAME TYPE"
- 521 OPEN15,8,0,"$0":GET#15,A$,B$
- 522 GET#15,A$,B$
- 523 GET#15,A$,B$
- 524 C=0:IFA$<>""THENC=ASC(A$)
- 525 IFB$<>""THENC=C+ASC(B$)*256
- 526 PRINT" "MID$(STR$(C),2);TAB(10);"[146]";
- 527 GET#15,B$:IFST<>0THENV$=MID$(STR$(C),2):V=VAL(V$):GOTO535
- 528 IFB$<>CHR$(34)THEN527
- 529 GET#15,B$:IFB$<>CHR$(34)THENPRINTB$;:GOTO529
- 530 GET#15,B$:IFB$=CHR$(32)THEN530
- 531 PRINTTAB(28);:C$=""
- 532 C$=C$+B$:GET#15,B$:IFB$<>""THEN532
- 533 PRINT" "LEFT$(C$,3)
- 534 IFST=0THEN522
- 535 PRINT" BLOCKS FREE [146]":PRINT" "(683-V) "BLOCKS USED":CLOSE15
- 540 GOSUB550
- 550 PRINT" HIT ANY KEY TO CONTINUE "
- 551 GETA$:IFA$=""THEN551
- 552 IFA$<>"[211]"THEN130
- 553 GOTO550
- 620 PRINT"[147]DRIVE 1 DIRECTORY":PRINT" SIZE FILE NAME TYPE"
- 621 OPEN15,8,0,"$1":GET#15,A$,B$
- 622 GET#15,A$,B$
- 623 GET#15,A$,B$
- 624 C=0:IFA$<>""THENC=ASC(A$)
- 625 IFB$<>""THENC=C+ASC(B$)*256
- 626 PRINT" "MID$(STR$(C),2);TAB(10);"[146]";
- 627 GET#15,B$:IFST<>0THENV$=MID$(STR$(C),2):V=VAL(V$):GOTO635
- 628 IFB$<>CHR$(34)THEN627
- 629 GET#15,B$:IFB$<>CHR$(34)THENPRINTB$;:GOTO629
- 630 GET#15,B$:IFB$=CHR$(32)THEN630
- 631 PRINTTAB(28);:C$=""
- 632 C$=C$+B$:GET#15,B$:IFB$<>""THEN632
- 633 PRINT" "LEFT$(C$,3)
- 634 IFST=0THEN622
- 635 PRINT" BLOCKS FREE [146]":PRINT" "(683-V) "BLOCKS USED":CLOSE15
- 640 GOSUB550
- 700 PRINT"[147] FORMATING NEW DISK OR ERASING OLD ONE"
- 701 PRINT" [197][197][197][197][197][197][197][197][197] [197][197][197] [197][197][197][197] [197][197] [197][197][197][197][197][197][197] [197][197][197] [197][197][197]"
- 702 PRINT" OK TO CONTINUE (Y/N) "
- 703 GETA$:IFA$=""THEN703
- 704 IFA$<>"Y"THEN130
- 705 PRINT"[145][145]INSERT DISK TO BE FORMATTED INTO DRIVE 0"
- 706 PRINT" OK TO CONTINUE (Y/N) "
- 707 GETA$:IFA$=""THEN707
- 708 IFA$<>"Y"THEN130
- 709 INPUT"DISK NAME:";D$
- 710 INPUT"ID NUMBER";I$
- 711 PRINT"[147] FORMAT IN PROGRESS":FOR I=1TO1000:NEXT
- 712 OPEN15,8,15:PRINT#15,"N0:"+D$+","+I$
- 713 CLOSE15
- 714 PRINT"[147] FORMAT COMPLETE[146]":FORI=1TO1000:NEXT
- 715 GOTO130
- 750 PRINT"[147] COPY DISK FROM DRIVE 0 TO 1"
- 751 PRINT" [197][197][197][197] [197][197][197][197] [197][197][197][197] [197][197][197][197][197] [197] [197][197] [197]"
- 752 PRINT" 1. PLACE A WRITE PROTECT ON MASTER DISK"
- 753 PRINT" 2. PLACE MASTER DISK IN DRIVE 0"
- 754 PRINT" 3. PLACE DESTINATION DISK IN DRIVE 1"
- 755 PRINT" OK TO CONTINUE (Y/N) "
- 756 GETA$:IFA$=""THEN756
- 757 IFA$<>"Y"THEN130
- 758 PRINT"[147] DISK COPY IN PROGRESS ":FOR I=1TO1000:NEXT
- 759 OPEN15,8,15:PRINT#15,"D1=0":CLOSE15
- 760 PRINT"[147]DISK COPY COMPLETE[146]":FOR I=1TO1000:NEXT
- 761 GOTO130
- 800 PRINT"[147] COPY FILE FROM DRIVE 0 TO 1 "
- 801 PRINT" [197][197][197][197] [197][197][197][197] [197][197][197][197] [197][197][197][197][197] [197] [197][197] [197]"
- 802 PRINT" OK TO CONTINUE (Y/N) "
- 803 GETA$:IFA$=""THEN803
- 804 IFA$<>"Y"THEN130
- 805 PRINT"ENTER FILE NAME ":INPUT M$
- 807 PRINT"[147] COPY OF "M$" IN PROGRESS":FOR I=1TO1000
- 808 OPEN15,8,15:PRINT#15,"C1:"+M$+"=0:"+M$:CLOSE15
- 809 PRINT"[147] COPY OF "M$" COMPLETE[146] ":FORI=1TO500:NEXT
- 810 GOTO800
- 825 PRINT"[147] RENAME FILE"
- 826 PRINT" [197][197][197][197][197][197] [197][197][197][197]"
- 827 PRINT" OK TO CONTINUE (Y/N) "
- 828 GETA$:IFA$=""THEN828
- 829 IFA$<>"Y"THEN130
- 830 INPUT"IS THE FILE ON DRIVE 0 OR 1";D$
- 831 IFD$="0"THEN834
- 832 IFD$="1"THEN840
- 833 GOTO827
- 834 PRINT"ENTER FILE TO BE RENAMED":INPUTO$
- 835 PRINT"ENTER NEW NAME FOR FILE":INPUTN$
- 836 PRINT"[147] RENAMING "O$:FOR I=1TO1000:NEXT:OPEN15,8,15:PRINT#15,"R0:"+N$+"=0:"+O$
- 837 CLOSE15:PRINT"[147] FILE WAS "O$:PRINT" NOW IS "N$"[146]":FOR I=1TO1000:NEXT
- 838 GOTO130
- 840 PRINT"ENTER FILE TO BE RENAMED":INPUTO$
- 841 PRINT"ENTER NEW NAME FOR FILE":INPUTN$
- 842 PRINT"[147] RENAMING "O$:FORI=1TO1000:NEXT:OPEN15,8,15:PRINT#15,"R1:"+N$+"=1:"+O$
- 843 CLOSE15:PRINT"[147] FILE WAS "O$:PRINT" NOW IS "N$"[146]":FOR I=1TO1000:NEXT
- 844 GOTO130
- 850 PRINT"[147] ERASE A FILE "
- 851 PRINT" [197][197][197][197][197] [197] [197][197][197][197]"
- 852 PRINT" OK TO CONTINUE (Y/N) "
- 853 GETA$:IF A$=""THEN853
- 854 IFA$<>"Y"THEN130
- 855 PRINT"ENTER FILE TO BE ERASED":INPUTD$
- 856 INPUT"DRIVE 0 OR 1";A$
- 857 IFA$="0"THEN860
- 858 IFA$="1"THEN861
- 859 GOTO852
- 860 PRINT"[147] ERASING "D$" @0":FORI=1TO1000:NEXT:OPEN15,8,15:PRINT#15,"S0:"+D$:GOTO862
- 861 PRINT"[147] ERASING "D$" @1":FORI=1TO1000:NEXT:OPEN15,8,15:PRINT#15,"S1:"+D$:GOTO862
- 862 CLOSE15:PRINT"[147] "D$" ERASED[146]":FORI=1TO1000:NEXT:GOTO850
- 865 PRINT"[147] ERROR STATUS"
- 866 PRINT" [197][197][197][197][197] [197][197][197][197][197][197]"
- 870 INPUT" DRIVE 0 OR 1";D$
- 871 IF D$="0"THEN875
- 872 IF D$="1"THEN880
- 873 GOTO870
- 875 PRINT"[147] ERROR STATUS DRIVE 0 "
- 876 PRINT" [197][197][197][197][197] [197][197][197][197][197][197] [197][197][197][197][197] [197]"
- 877 OPEN15,8,15:INPUT#15,A,B$,C,D
- 878 PRINT" ERROR#: "A:PRINT" STATUS: ";B$:PRINT" TRACK: ";C:PRINT" SECTOR: ";D
- 879 CLOSE15:GOSUB1001
- 880 PRINT"[147] ERROR STATUS DRIVE 1 "
- 881 PRINT" [197][197][197][197][197] [197][197][197][197][197][197] [197][197][197][197][197] [197]"
- 882 OPEN15,8,15:INPUT#15,A,B$,C,D
- 883 PRINT" ERROR#: "A:PRINT" STATUS: ";B$:PRINT" TRACK: ";C:PRINT" SECTOR: ";D
- 884 CLOSE15:GOSUB1001
- 890 PRINT"[147] VALIDATE DISK "
- 891 PRINT" [197][197][197][197][197][197][197][197] [197][197][197][197]"
- 892 PRINT" OK TO CONTINUE (Y/N) "
- 893 GETA$:IFA$=""THEN893
- 894 IFA$<>"Y"THEN130
- 895 PRINT"[145][145]INSERT DISK TO BE VALIDATED INTO DRIVE 0"
- 896 PRINT" OK TO CONTINUE (Y/N) "
- 897 GETA$:IFA$=""THEN897
- 898 IFA$<>"Y"THEN130
- 899 PRINT"[147] VALIDATING DISK":FORI=1TO1000:NEXT:OPEN15,8,15:PRINT#15,"V0":CLOSE15
- 900 PRINT"[147] DISK VALIDATED[146]":FORI=1TO1000:NEXT:GOTO130
- 910 PRINT"[147] CHANGE DEVICE NUMBER "
- 911 PRINT" [197][197][197][197][197][197] [197][197][197][197][197][197] [197][197][197][197][197][197][197]"
- 912 INPUT" CHANGE TO (8,9,10,11,12)";A$
- 913 IFA$="9"THEN921
- 914 IFA$="10"THEN923
- 915 IFA$="11"THEN925
- 916 IFA$="12"THEN927
- 917 IFA$="8"THEN918:GOTO912
- 918 OPEN15,8,15:PRINT#15,"M-W"CHR$(119)CHR$(0)CHR$(2)CHR$(8+32)CHR$(8+64)
- 920 PRINT"[147] DEVICE NUMBER IS 8 [146]":CLOSE15:FORI=1TO1000:NEXT:GOTO130
- 921 OPEN15,8,15:PRINT#15,"M-W"CHR$(119)CHR$(0)CHR$(2)CHR$(9+32)CHR$(9+64)
- 922 PRINT"[147] DEVICE NUMBER IS 9 [146]":CLOSE15:FORI=1TO1000:NEXT:GOTO130
- 923 OPEN15,8,15:PRINT#15,"M-W"CHR$(119)CHR$(0)CHR$(2)CHR$(10+32)CHR$(10+64)
- 924 PRINT"[147] DEVICE NUMBER IS 10 [146]":CLOSE15:FORI=1TO1000:NEXT:GOTO130
- 925 OPEN15,8,15:PRINT#15,"M-W"CHR$(119)CHR$(0)CHR$(2)CHR$(11+32)CHR$(11+64)
- 926 PRINT"[147] DEVICE NUMBER IS 11 [146]":CLOSE15:FORI=1TO1000:NEXT:GOTO130
- 927 OPEN15,8,15:PRINT#15,"M-W"CHR$(119)CHR$(0)CHR$(2)CHR$(12+32)CHR$(12+64)
- 928 PRINT"[147] DEVICE NUMBER IS 12 [146]":CLOSE15:FORI=1TO1000:NEXT:GOTO130
- 1000 GOTO130
- 1001 PRINT" HIT ANY KEY TO CONTINUE "
- 1002 GETA$:IFA$="" THEN1002
- 1003 IFA$<>"[211]"THEN130
- 1005 REM BEEPER
- 1006 SO=54272
- 1007 FORT=1TO5
- 1008 POKESO+1,250:POKESO+5,10:POKESO+15,200:POKESO+24,15:POKESO+4,21
- 1009 FORTT=1TO500:NEXT:POKESO+4,20
- 1010 NEXT
- 1011 FORCL=.TO24:POKESO+CL,.:NEXT
- 1012 RETURN
-