home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / hard.hdv / AEPC:DRIVERS / TRANSPORT.CHIEF.bas < prev   
BASIC Source File  |  2020-08-13  |  6KB  |  119 lines

  1. 0  REM 
  2. 1  REM  Transporter Chief 1.1
  3. 2  REM  Public Domain Software by Bruce A. Mah
  4. 3  REM 
  5. 10 D$ =  CHR$(4)
  6. 20 AP$ = "AEPC.DISKS"
  7. 100  PRINT D$;"pr#3"
  8. 110  PRINT : VTAB 10
  9. 120  PRINT  SPC( 30);"Transporter Chief 1.1"
  10. 130  PRINT : PRINT  SPC( 18);"A Patch Utility for the Applied Engineering"
  11. 140  PRINT  SPC( 33);"PC Transporter"
  12. 150  PRINT : PRINT  SPC( 21);"Public Domain Software by Bruce A. Mah"
  13. 160  PRINT : PRINT : PRINT : PRINT  SPC( 10);"NOTE:  Please read the documentation file before continuing!"
  14. 170  PRINT : PRINT  SPC( 17);"Press RETURN to continue or ESCAPE to exit: ";
  15. 180  GET A$
  16. 190  IF A$ =  CHR$(27)  THEN  HOME : PRINT D$;"bye"
  17. 200  IF A$ =  CHR$(13)  THEN 1000
  18. 210  GOTO 180
  19. 500  HOME : PRINT : PRINT  SPC( 30);"Transporter Chief 1.1": RETURN 
  20. 1000  GOSUB 500
  21. 1010  VTAB 5: INPUT "Please enter the FULL pathname of your system file: ";AP$
  22. 1020  PRINT D$;"verify";AP$
  23. 1030  PRINT D$;"bload";AP$;",a$300,tsys,b$0,l32"
  24. 1040  IF  PEEK(784) = 10  AND  PEEK(785) = 65  AND  PEEK(786) = 69  AND  PEEK(787) = 80  THEN 2000
  25. 1050  PRINT : PRINT AP$;" is not a PC Transporter preboot-patched system file.": PRINT "Press any key to continue: ";: GET A$
  26. 1060  GOTO 1000
  27. 2000  GOSUB 500
  28. 2010  VTAB 5: PRINT "Checking out ";AP$;"...please stand by..."
  29. 2020  PRINT D$;"bload";AP$;",a$300,tsys,b$88f,l4"
  30. 2030 P1 =  -1: IF  PEEK(771) = 234  THEN P1 = 1
  31. 2040  IF  PEEK(771) = 232  THEN P1 = 0
  32. 2050  GOSUB 2900
  33. 2060  PRINT D$;"bload";AP$;",a$300,tsys,b$8a1,l4"
  34. 2070  GOSUB 2900
  35. 2080  PRINT D$;"bload";AP$;",a$300,tsys,b$8c5,l4"
  36. 2090  GOSUB 2900
  37. 2100  PRINT D$;"bload";AP$;",a$300,tsys,b$8d5,l4"
  38. 2110  GOSUB 2900
  39. 2200  PRINT D$;"bload";AP$;",a$300,tsys,b$141,l1"
  40. 2210 P2 =  -1: IF  PEEK(768) = 43  THEN P2 = 0
  41. 2220  IF  PEEK(768) = 34  THEN P2 = 1
  42. 2230  IF P2 =  -1  THEN 2270
  43. 2240  PRINT D$;"bload";AP$;",a$300,tsys,b$123,l5"
  44. 2250  IF P2 = 0  AND  PEEK(768) = 35  AND  PEEK(771) = 169  AND  PEEK(772) = 206  THEN 2280
  45. 2260  IF P2 = 1  AND  PEEK(768) = 34  AND  PEEK(771) = 165  AND  PEEK(772) = 251  THEN 2280
  46. 2270 P2 =  -1
  47. 2280  PRINT D$;"bload";AP$;",a$300,tsys,b$139,l1"
  48. 2285  IF P2 = 0  AND  PEEK(768) = 208  THEN 2300
  49. 2290  IF P2 = 1  AND  PEEK(768) = 16  THEN 2300
  50. 2295 P2 =  -1
  51. 2300  PRINT D$;"bload";AP$;",a$300,tsys,b$bc1,l16"
  52. 2310 V$ = "": FOR I = 1 TO  PEEK(768) -240:V$ = V$ + CHR$( PEEK(768 +I)): NEXT I
  53. 2880  PRINT D$;"unlock";AP$
  54. 2890  GOTO 3000
  55. 2900  IF P1 =  -1  THEN  RETURN 
  56. 2910  IF P1 = 0  THEN 2940
  57. 2920  IF  PEEK(768) = 157  AND  PEEK(769) = 2  AND  PEEK(770) = 204  AND  PEEK(771) = 234  THEN  RETURN 
  58. 2930 P1 =  -1: RETURN 
  59. 2940  IF  PEEK(768) = 157  AND  PEEK(769) = 2  AND  PEEK(770) = 204  AND  PEEK(771) = 232  THEN  RETURN 
  60. 2950 P1 =  -1: RETURN 
  61. 3000  GOSUB 500
  62. 3010  VTAB 5
  63. 3020  PRINT "  [A]  Disable PC Transporter disk drives......................";:X = P1: GOSUB 3900
  64. 3030  PRINT : PRINT "  [B]  Keep PC Transporter RAM disk contents on reboot.........";:X = P2: GOSUB 3900
  65. 3040  PRINT : PRINT "  [C]  PC Transporter RAM disk volume name.....................";V$
  66. 3050  PRINT : PRINT "  [P]  ProDOS BYE"
  67. 3060  PRINT "  [Q]  Quit to Basic"
  68. 3070  VTAB 20: PRINT "Please enter option: ";: GET A$
  69. 3080  IF A$ = "Q"  OR A$ = "q"  THEN  HOME : END 
  70. 3090  IF A$ = "P"  OR A$ = "p"  THEN  HOME : PRINT D$;"bye"
  71. 3100  IF A$ = "A"  OR A$ = "a"  THEN  GOSUB 4000: GOTO 3000
  72. 3110  IF A$ = "B"  OR A$ = "b"  THEN  GOSUB 4100: GOTO 3000
  73. 3120  IF A$ = "C"  OR A$ = "c"  THEN  GOSUB 4200: GOTO 3000
  74. 3130  PRINT  CHR$(7): GOTO 3000
  75. 3700  PRINT A$: PRINT : PRINT "Unknown code in patch area...cannot apply this patch.": PRINT "Press any key to continue: ";: GET A$: RETURN 
  76. 3800  PRINT A$: PRINT : PRINT "Working...": RETURN 
  77. 3850  PRINT : PRINT "Patch successfully completed.": PRINT "Press any key to continue: ";: GET A$: RETURN 
  78. 3860  PRINT : PRINT "Patch successfully removed.": PRINT "Press any key to continue: ";: GET A$: RETURN 
  79. 3900  IF X = 0  THEN  PRINT "Normal": RETURN 
  80. 3910  IF X = 1  THEN  PRINT "Installed": RETURN 
  81. 3920  PRINT "Unknown": RETURN 
  82. 4000  IF P1 =  -1  THEN  GOSUB 3700: RETURN 
  83. 4010  IF P1 = 0  THEN 4040
  84. 4020  POKE 768,232
  85. 4030  GOTO 4050
  86. 4040  POKE 768,234
  87. 4050  PRINT D$;"bsave";AP$;",a$300,tsys,b$892,l1"
  88. 4060  PRINT D$;"bsave";AP$;",a$300,tsys,b$8a4,l1"
  89. 4065  PRINT D$;"bsave";AP$;",a$300,tsys,b$8c8,l1"
  90. 4070  PRINT D$;"bsave";AP$;",a$300,tsys,b$8d8,l1"
  91. 4080  IF P1 = 0  THEN  GOSUB 3850:P1 = 1: RETURN 
  92. 4090  GOSUB 3860:P1 = 0: RETURN 
  93. 4100  IF P2 =  -1  THEN  GOSUB 3700: RETURN 
  94. 4110  IF P2 = 0  THEN  POKE 768,34: GOTO 4130
  95. 4120  POKE 768,43
  96. 4130  PRINT D$;"bsave";AP$;",a$300,tsys,b$141,l1"
  97. 4140  IF P2 = 0  THEN  POKE 768,34: POKE 771,165: POKE 772,251: GOTO 4160
  98. 4150  POKE 768,35: POKE 771,169: POKE 772,206
  99. 4160  PRINT D$;"bsave";AP$;",a$300,tsys,b$123,l1"
  100. 4170  PRINT D$;"bsave";AP$;",a$303,tsys,b$126,l2"
  101. 4171  IF P2 = 0  THEN  POKE 768,16: GOTO 4173
  102. 4172  POKE 768,208
  103. 4173  PRINT D$;"bsave";AP$;",a$300,tsys,b$139,l1"
  104. 4180  IF P2 = 0  THEN  GOSUB 3850:P2 = 1: RETURN 
  105. 4190  GOSUB 3860:P2 = 0: RETURN 
  106. 4200  GOSUB 500: VTAB 5: INPUT "Enter new PC Transporter RAM volume name: ";V1$
  107. 4210  IF V1$ = ""  THEN  RETURN 
  108. 4220 V2$ = ""
  109. 4230  FOR I = 1 TO  LEN(V1$):X =  ASC( MID$ (V1$,I,1))
  110. 4240  IF (X >47  AND X <58)  OR (X >64  AND X <91)  OR (X = 46)  THEN  POKE 768 +I,X:V2$ = V2$ + CHR$(X): GOTO 4270
  111. 4250  IF (X >96  AND X <123)  THEN  POKE 768 +I,X -32:V2$ = V2$ + CHR$(X -32): GOTO 4270
  112. 4260  GOTO 4330
  113. 4270  NEXT I
  114. 4280  IF  PEEK(768) <65  THEN 4330
  115. 4290  POKE 768, LEN(V1$) +240
  116. 4300  PRINT D$;"bsave";AP$;",a$300,tsys,b$bc1,l16"
  117. 4310 V$ = V2$
  118. 4320  RETURN 
  119. 4330  PRINT : PRINT "Not a valid ProDOS volume name.": PRINT "Press any key to continue:";: GET A$: RETURN