home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / pdoseric.hdv / CHANGETYPE.bas < prev    next >
BASIC Source File  |  2020-08-13  |  4KB  |  81 lines

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