home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64Toolkit / BI-DIRECTIONAL-FILE-READ (.txt) < prev    next >
Commodore BASIC  |  2019-04-13  |  6KB  |  199 lines

  1. 30 PRINT"[147]"
  2. 40 PRINTCHR$(14)
  3. 42 SYS 7792
  4. 45 X2=30:X1=5:Y1=9:Y2=3:GOSUB1750
  5. 50 PRINTTAB(X1+1)" (C) 1989  [204]AMBERT [203]LEIN
  6. 60 [153][163]X1[170]1)"RELEASE TO THE PUBLIC DOMAIN
  7. 70 PRINTTAB(X1+1)" NOT TO BE SOLD FOR PROFIT
  8. 80 [134]RC$(100),P$(100)
  9. 84 A$(0)[178]"SYS PEEKI-STR$IRECTIONAL ASCILE (null)EADER"
  10. 85 A$(1)[178]"OPEN (C) 1989"
  11. 86 A$(2)[178] "LIST (null)AMBERT  (null)LEIN"
  12. 90 SW[178]40:PW[178]80:LF$[178]"YES":CR$[178]"NO"
  13. 100 [139]DV[177]12[167] 130
  14. 110 [139]DV[179]8 [167] 130
  15. 120 [137]140
  16. 130 DV [178]8
  17. 140 [151] 6266,DV:[159]15,DV,15
  18. 150 SA[178]32768
  19. 160 [129]T[178]1[164]100:P$(T)[178]"":[130]
  20. 170 MG$[178]" LOAD"
  21. 180 [129]T[178]1[164]1500:[130]
  22. 190 RV$[178]"PRINT":H$[178]""
  23. 200 [151]53280,0:[151]53281,0
  24. 210 [141]1100
  25. 220 [153]"LOAD
  26. 230 POKE 6938,0:IFLF$="YES"THENPOKE 6938,10
  27. 240 POKE 6939,0:IFCR$="YES"THENPOKE 6939,13
  28. 250 PRINT"[154]";:POKE 6291+1,40
  29. 260 X1=4:X2=32:Y1=1:Y2=20:POKE646,15
  30. 265 POKE 6501+1,191
  31. 270 GOSUB1750
  32. 280 X1=6:X2=28:Y1=3:Y2=17:POKE646,11
  33. 285 POKE 6501+1 ,166 :GOSUB1750
  34. 287 POKE 6501+1,32
  35. 288 Y2=1:Y1=-2
  36. 289 FORX=0TO2:POKE646,X+2
  37. 290 X2=LEN(A$(X))+2:X1=20-(X2/2):Y1=Y1+4
  38. 291 GOSUB1750:PRINTTAB(X1+2)A$(X):NEXT
  39. 300 PRINT"[154]";
  40. 320 X1=11:X2=18:Y1=13:Y2=6
  41. 330 POKE646,6:GOSUB 1750
  42. 340 POKE646,14
  43. 350 PRINTTAB(X1+02);"[204][146]OAD FILE"
  44. 360 PRINTTAB(X1+02);"[214][146]IEW FILE"
  45. 370 PRINTTAB(X1+02);"[208][146]RINT FILE"
  46. 380 PRINTTAB(X1+02);"[195][146]HANGE [208]ARAMETERS"
  47. 382 PRINTTAB(X1+02);"[195][206][212][210][204] [209][146] [209]UIT"
  48. 385 X1=17:X2=6 :Y1=20:Y2=1:GOSUB1750
  49. 387 PRINTTAB(X1+2)"[156][205][197][206][213]"
  50. 390 R=LEN(RN$)
  51. 395 A$(1)=RC$(0)
  52. 397 A$(2)=RN$
  53. 400 GETA$:IFA$=""THEN400
  54. 405 IFA$=""THENCLOSE15:STOP
  55. 410 IFA$="L"THEN1240
  56. 420 IFA$="[204]"THEN1240
  57. 430 IF A$="V"THEN500
  58. 440 IF A$="[214]"THEN500
  59. 450 IFA$="P"THEN560
  60. 460 IFA$="[208]"THEN560
  61. 470 IFA$="C"THEN620
  62. 480 IFA$="[195]"THEN620
  63. 490 GOTO400
  64. 500 POKE 6926,SW
  65. 505 POKE646,14 :POKE 7803,0
  66. 510 PRINT"[147]";
  67. 520 SYS 6629
  68. 550 GOTO220
  69. 560 OPEN4,4,7:PRINT"[147]      PRINTING...  [210]UN/[211]TOP TO [193]BORT"
  70. 565 POKE 7803,1
  71. 570 POKE 6926,PW
  72. 580 PRINT#4,CHR$(27)+CHR$(78)+CHR$(06): REM SKIP PERFORATION
  73. 590 SYS 6629
  74. 600 CLOSE4
  75. 610 GOTO 220
  76. 620 PRINT"[147]"              
  77. 630 X1=10:X2=20:Y1=5:Y2=1
  78. 640 POKE646,3:GOSUB1750
  79. 650 POKE646,14:
  80. 660 PRINTTAB(X1+3)"[208][193][210][193][205][197][212][197][210][211] [205][197][206][213]"
  81. 670 PRINT:PRINT
  82. 680 PRINTTAB(X1+1);:PRINT"[211]CREEN WIDTH  "SW"[157][157]";:LS$=STR$(SW)
  83. 690 FORT=1TOLEN(LS$):PRINT"[157]";:NEXT
  84. 700 INPUTSW
  85. 710 PRINTTAB(X1+1);"[208]RINTER WIDTH  "PW"[157][157]";:LS$=STR$(PW)
  86. 720 FORT=1TOLEN(LS$):PRINT"[157]";:NEXT
  87. 730 INPUTPW
  88. 740 PRINTTAB(X1+1);:PRINT"[196]EVICE NO.     "DV"[157][157]";:LS$=STR$(DV)
  89. 750 FORT=1TOLEN(LS$):PRINT"[157]";:NEXT
  90. 760 INPUTDV
  91. 770 PRINTTAB(X1+1);:PRINT"[211]TRIP CARRAIGE RETURNS  "CR$;"[157][157]";
  92. 780 FORT=1TOLEN(CR$):PRINT"[157]";:NEXT
  93. 790 INPUTCR$
  94. 800 PRINTTAB(X1+1);:PRINT"[211]TRIP LINE FEEDS     "LF$"[157][157]";
  95. 810 FORT=1TOLEN(LF$):PRINT"[157]";:NEXT
  96. 820 INPUTLF$
  97. 830 X1=11:X2=18:Y1=22:Y2=1
  98. 840 POKE646,2:GOSUB1750
  99. 850 IFLEFT$(CR$,1)="Y"THEN880
  100. 860 IFLEFT$(CR$,1)="[217]"THEN880
  101. 870 CR$="NO":GOTO890
  102. 880 CR$="YES"
  103. 890 IFLEFT$(LF$,1)="Y"THEN920
  104. 900 IFLEFT$(LF$,1)="[217]"THEN920
  105. 910 LF$="NO":GOTO930
  106. 920 LF$="YES"
  107. 930 PRINTTAB(X1+2)"[211]AVE [208]ARAMETERS?"
  108. 940 GETA$:IFA$="N"THEN220
  109. 950 IFA$="[206]"THEN220
  110. 960 IFA$="Y"THEN990
  111. 970 IFA$="[217]"THEN990
  112. 980 GOTO940
  113. 990 OPEN8,8,8,"@0:[208][193][210][205][211],S,W"
  114. 1000 PRINT#8,SW
  115. 1010 PRINT#8,PW
  116. 1020 PRINT#8,DV
  117. 1030 PRINT#8,CR$
  118. 1040 PRINT#8,LF$
  119. 1050 PRINT#8:CLOSE8
  120. 1060 POKE646,5:GOSUB1750
  121. 1070 PRINTTAB(X1+1)"[208]ARAMETERS [211]AVED"
  122. 1080 FORT=1TO900:NEXT
  123. 1090 GOTO 220
  124. 1100 OPEN8,8,8,"[208][193][210][205][211],S,R"
  125. 1110 GOSUB1700
  126. 1120 IFC=0THEN 1150
  127. 1130 PRINT:PRINTB$;:FORT=1TO900:NEXT
  128. 1140 GOTO1200
  129. 1150 INPUT#8,SW
  130. 1160 INPUT#8,PW
  131. 1170 INPUT#8,DV
  132. 1180 INPUT#8,CR$
  133. 1190 INPUT#8,LF$
  134. 1200 CLOSE8
  135. 1210 :GOSUB1720
  136. 1220 RETURN
  137. 1230 PRINT"[147]":GOTO250
  138. 1240 PRINT"[147]":X1=21:X2=14:Y1=1:Y2=5   :POKE646,12:GOSUB1750
  139. 1250 P$(1)=RV$
  140. 1260 PRINT:POKE646,15
  141. 1270 PRINTTAB(X1+2)"[195]URSOR/[210]ETURN"
  142. 1280 PRINTTAB(X1+2)"TO"MG$" [198]ILE"
  143. 1285 PRINT
  144. 1290 PRINTTAB(X1+2)"[210][213][206]/[211][212][208] [205][197][206][213][154]"
  145. 1300 SYS 6082
  146. 1310 POKE646,06:X1=10:X2=17:Y1=02:Y2=1
  147. 1320 E=PEEK(254)
  148. 1325 A$(1)=""+RC$(0)
  149. 1330 GOSUB1700:IFC<>0THEN NT$="NOT":GOTO1715
  150. 1340 PRINT"[155]";
  151. 1350 IFE<>0THEN1400
  152. 1360 X1=28:X2=09:Y1=0:Y2=7:GOSUB1750
  153. 1370 PRINT:PRINT
  154. 1380 PRINTTAB(X1+1)" [206]O [211]EQ.":PRINTTAB(X1+1)"FILES ON":PRINTTAB(X1+1)"  DISK
  155. 1390 NT$[178]"NOT":[137]1715
  156. 1400 X1[178]1:X2[178]18:Y1[178]1:Y2[178]E[170]2:[151]646,6:[139]Y2[177]20[167]Y2[178]20
  157. 1410 LG[178]0:BG[178]0:A[178]1
  158. 1420 [139]E[177]19[167]LG[178]E[171]19
  159. 1430 [141]1750
  160. 1440 P$(A[170]BG)[178]RV$
  161. 1450 ED[178]E[171]LG[170]BG:[139]ED[177]E[167]ED[178]E
  162. 1460 [153]H$: [129]T[178]1[170]BG[164]ED
  163. 1470 [153][163]X1[170]2);P$(T);RC$(T)""
  164. 1480 [130]
  165. 1490 [161]A$:[139]A$[178]""[167]1490
  166. 1500 [139]A$[178][199](13)[167]1610
  167. 1510 P$(II[170]BG)[178]"":P$(1[170]BG)[178]""
  168. 1520 [139][194](145)[178]127 [167]220
  169. 1530 [139]A$[178][199](17)[167]A[178]A[170]1: [139]A[178]20[167]BG[178]19:A[178]1:[141]1750
  170. 1540 [139]A$[178][199](17)[167] [139]A[177]E[167]A[178]1:BG[178]0:[137]1430
  171. 1550 [139]A$[178][199](145)[167]A[178]A[171]1:[139]A[179]1[167][139]BG[178]19 [167] BG[178]0:A[178]19:[141]1750
  172. 1560 [139]A[179]1[175]E[177]19[167]BG[178]19:A[178]1:[141]1750
  173. 1570 [139]A[170]BG[177]E[167]1410
  174. 1580 [139]A[179]1[167]A[178]E:[141]1750
  175. 1590 P$(A[170]BG)[178]RV$:II[178]A
  176. 1600 [137]1450
  177. 1610 RN$[178]RC$(A[170]BG):P$(A[170]BG)[178]""
  178. 1615 A$(2)[178]""[170] RN$
  179. 1617 [141]1750:[153][163]X1[170]1)"(null)OADING..."
  180. 1618 [153][163]X1[170]1)"(null)UN/(null)TOP ATNBORTS"
  181. 1620 [159]1,8,2,RN$  :C[178]0
  182. 1630 [141]1700
  183. 1640 [139]C[178]1[167][160]1:   :[137]1715
  184. 1650 [158] 6543
  185. 1660 [160]1
  186. 1670 [141]1700
  187. 1680 [153][163]X1[170]1)" STR$ONE CONT"   :[141]1720
  188. 1690 [137]220
  189. 1700 [132]15,A$,B$,C,D
  190. 1710 [142]
  191. 1715 [129]T[178]1[164]900:[130]:[137]220
  192. 1720 [158] 6268
  193. 1730 [142]
  194. 1740 [143] WINDOW
  195. 1750 [143]
  196. 1760 [151] 6535,X1:[151] 6537,X2:[151] 6536,Y1:[151] 6538,Y2
  197. 1770 [158] 6373
  198. 1780 [142]
  199.