home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Set of Apple II Hard Drive Images
/
pdoseric.hdv
/
CHANGETYPE.bas
< prev
next >
Wrap
BASIC Source File
|
2020-08-13
|
4KB
|
81 lines
100 REM ----------------------------------
110 REM FILETYPE CHANGE PROGRAM FOR PRODOS
120 REM (C) 1985 BY MORGAN DAVIS, FOR LLS
130 REM ----------------------------------
140 :
150 DATA 169,7,141,180,190,169,195,32,112,190,144,3,76,9,190,96
160 :
170 ONERR GOTO 820
180 FOR I = 768 TO 783: READ V: POKE I,V: NEXT
190 :
200 DATA 01,BAD,215,MID,224,SHK,04,TXT,05,PDA
210 DATA 06,BIN, 07,FNT, 08,FOT, 09,BA3, 10,DA3
220 DATA 11,WPF, 12,SOS, 15,DIR, 16,RPD, 17,RPI
230 DATA 25,ADB, 26,AWP, 27,ASP, 239,PAS, 240,CMD
240 DATA 245,PAK, 251,IVR, 252,BAS, 253,VAR, 254,REL
250 DATA 255,SYS
260 :
270 DIM TY(26),TY$(27):SP = 49200
280 FOR I = 1 TO 26: READ TY(I),TY$(I): NEXT
290 BI = -16712
300 :
310 D$ = CHR$(4): PRINT D$"PREFIX": INPUT P$: PRINT D$"PREFIX"P$
320 TEXT : NORMAL : SPEED= 255: PRINT CHR$(21): HOME : VTAB 11
330 FOR I = 0 TO 10: VTAB 12 +I: PRINT "%";: HTAB 40: PRINT "%";
340 VTAB 11 -I: PRINT "%";: HTAB 40: PRINT "%";: NEXT
350 FOR I = 1 TO 40: VTAB 1: HTAB I: PRINT "%";
360 VTAB 23: HTAB 41 -I: PRINT "%";: NEXT
370 A$ = "____________________________________"
380 A$(1) = " FILETYPE CHANGE PROGRAM FOR PRODOS "
390 A$(2) = " (C) 1985 BY MORGAN DAVIS, FOR LLS "
400 VTAB 2: HTAB 3: PRINT A$: VTAB 6: HTAB 3: PRINT A$
410 FOR I = 1 TO 18: VTAB 4: FOR J = 1 TO 2
420 HTAB 21 -I: PRINT LEFT$(A$(J),I) RIGHT$(A$(J),I): NEXT : NEXT
430 POKE 34,7: POKE 33,36: POKE 32,2: POKE 35,22
440 HOME : PRINT "PREFIX: "P$
450 VTAB 12: PRINT SPC( 5)"G - GET THE TYPE OF A FILE": PRINT
460 PRINT SPC( 5)"S - SET THE TYPE ON A FILE": PRINT
470 PRINT SPC( 5)"Q - QUIT APPLICATION": PRINT : PRINT
480 :
490 PRINT SPC( 5)"COMMAND: ";
500 GET A$: IF A$ >"_" THEN A$ = CHR$( ASC(A$) -32)
510 IF A$ = CHR$(27) THEN A$ = "Q"
520 IF A$ < >"S" AND A$ < >"G" AND A$ < >"Q" THEN CALL -198: GOTO 500
530 PRINT A$: IF A$ = "Q" THEN PRINT D$"BYE": END
540 HOME : HTAB 13: PRINT A$"ET FILETYPE"
550 VTAB 14: INPUT "PATHNAME: ";F$: ON F$ = "" GOTO 440: VTAB 9: CALL -958
560 PRINT D$"VERIFY"F$:OT = PEEK(BI): FOR I = 1 TO 26
570 IF OT < >TY(I) THEN NEXT :TY$(I) = STR$(OT)
580 VTAB 13: HTAB 10: PRINT "FILE TYPE IS " CHR$(34)TY$(I) CHR$(34): VTAB 21
590 PRINT "PRESS ANY KEY ";: IF A$ = "S" THEN PRINT "TO CHANGE TYPE ";
600 GET B$: ON A$ = "G" GOTO 440
610 :
620 HOME : FOR I = 1 TO 13: HTAB 20: PRINT "! "TY$(I)" "TY$(13 +I): NEXT
630 VTAB 8: INVERSE : PRINT SPC( 19): PRINT : PRINT " CHANGE FILETYPE "
640 PRINT SPC( 19): PRINT : PRINT : PRINT : PRINT : NORMAL
650 HTAB 5: PRINT "ARROW KEYS": PRINT : HTAB 6: PRINT "<RETURN>": PRINT
660 HTAB 6: PRINT "<ESCAPE>":X = 0:Y = 0
670 :
680 HTAB 23 +X *6: VTAB 8 +Y: INVERSE : PRINT " "TY$(1 +Y +13 *X)" ";
690 NORMAL : WAIT 49152,128:K = PEEK(49152) -128: POKE 49168,0
700 ON K = 13 GOTO 790: ON K = 27 GOTO 440
710 HTAB 23 +X *6: PRINT " "TY$(1 +Y +13 *X)" ";
720 IF K = 10 THEN Y = Y +1: IF Y >12 THEN Y = 0:X = NOT X
730 IF K = 11 THEN Y = Y -1: IF Y <0 THEN Y = 12:X = NOT X
740 ON K < >21 AND K < >8 GOTO 680:X = NOT X
750 IF K = 8 AND X THEN K = 11: GOTO 730
760 IF K = 21 AND NOT X THEN K = 10: GOTO 720
770 GOTO 680
780 :
790 HOME : VTAB 13: HTAB 17: INVERSE : PRINT " WAIT ": NORMAL
800 I = 1 +Y +13 *X: POKE BI,TY(I): CALL 768:A$ = "G": GOTO 580
810 :
820 E = PEEK(222): HOME :E$ = ""
830 IF E = 6 OR E = 7 THEN E$ = "THAT FILE DOESN'T EXIST"
840 IF E = 4 THEN E$ = "YOUR DISK IS WRITE PROTECTED"
850 IF E = 8 THEN E$ = "DISK I/O ERROR"
860 IF E = 10 THEN E$ = "THAT FILE IS LOCKED"
870 IF E = 16 THEN E$ = "PRODOS DOESN'T LIKE THAT NAME"
880 IF E$ = "" THEN E$ = "UNKNOWN ERROR " + STR$(E)
890 VTAB 12: HTAB 20 - LEN(E$)/2: PRINT E$: CALL -198: PRINT
900 PRINT : HTAB 15: PRINT "ANY KEY ";: GET A$: GOTO 440