home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 47 / 64er_Magazin_Sonderheft_47_19xx_Markt__Technik_de_Side_B.d64 / verschieben (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  5KB  |  207 lines

  1. 100 iffl=0then690 :rem bei neustart 690
  2. 110 goto850       :nach dem laden 850
  3. 111 :
  4. 120 rem taste holen
  5. 121 poke198,0:wait198,1:geta$:return
  6. 130 :
  7. 131 rem maschinenprogramm verschieben
  8. 140 fori=atoue
  9. 150 pokei-a+z,peek(i)
  10. 160 ifl(peek(i))=1then370
  11. 170 ifl(peek(i))=2then340
  12. 180 ifl(peek(i))=14then260
  13. 190 ad=peek(i+1)+peek(i+2)*256
  14. 200 ifad>=aandad<=ethen290
  15. 210 ifi-a+z>=uaandi-a+z<uethen290
  16. 220 pokei-a+z+1,peek(i+1)
  17. 230 pokei-a+z+2,peek(i+2)
  18. 240 i=i+2:goto370
  19. 250 :
  20. 260 forj=1to13:pokei-a+z+1+j,peek(i+j):next
  21. 270 i=i+13:goto370
  22. 280 :
  23. 290 n=ad-a+z:hi=int(n/256):lo=n-hi*256
  24. 300 pokei-a+z+1,lo
  25. 310 pokei-a+z+2,hi
  26. 320 i=i+2:goto370
  27. 330 :
  28. 340 pokei-a+z+1,peek(i+1)
  29. 350 i=i+1
  30. 360 :
  31. 370 next
  32. 380 :
  33. 390 ifue=ethenreturn
  34. 400 fori=ue+1toe:pokei-a+z,peek(i):next
  35. 410 return
  36. 420 :
  37. 430 :
  38. 431 rem tabelle, wie lang die verschiedenen steuercodes sind
  39. 440 data 1,2,0,0,0,2,2,0,1,2,1,0,0,3,3,0
  40. 450 data 2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0
  41. 460 data 3,2,0,0,2,2,2,0,1,2,1,0,3,3,3,0
  42. 470 data 2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0
  43. 480 data 1,2,0,0,0,2,2,14,1,2,1,0,3,3,3,0
  44. 490 data 2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0
  45. 500 data 1,2,0,0,0,2,2,0,1,2,1,0,3,3,3,0
  46. 510 data 2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0
  47. 520 data 0,2,0,0,2,2,2,0,1,0,1,0,3,3,3,0
  48. 530 data 2,2,0,0,2,2,2,0,1,3,1,0,0,3,0,0
  49. 540 data 2,2,2,0,2,2,2,0,1,2,1,0,3,3,3,0
  50. 550 data 2,2,0,0,2,2,2,0,1,3,1,0,3,3,3,0
  51. 560 data 2,2,0,0,2,2,2,0,1,2,1,0,3,3,3,0
  52. 570 data 2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0
  53. 580 data 2,2,0,0,2,2,2,0,1,2,1,0,3,3,3,0
  54. 590 data 2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0
  55. 600 :
  56. 601 rem programmnamen, laenge und tabellen der programme
  57. 610 data "durchgang.obj",49244,49244
  58. 620 data "decodieren.obj",49288,49288
  59. 630 data "list.obj",49928,49662
  60. 640 data "mps801 grfk.obj",50014,50014
  61. 650 data "mps801 dwnld.obj",50843,49977
  62. 660 :
  63. 670 :
  64. 680 :
  65. 690 dim l(255)
  66. 700 fori=0to255:readl(i):next
  67. 710 fori=1to5:readfi$(i),e(i),ue(i):next
  68. 720 poke53280,14:poke53281,14
  69. 730 print"[147][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]";
  70. 740 print"[221][214]erschieben der [213]serportdruckertreiber[221]";
  71. 750 print"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]";
  72. 760 print"  [215]elchen [196]ruckertreiber moechten [211]ie?"
  73. 770 printtab(6)"1) [196]urchgang"
  74. 780 printtab(6)"2) [196]ruckerzeichen"
  75. 790 printtab(6)"3) list - modus"
  76. 800 printtab(6)"4) mps801 [205]odus (grafikver.)"
  77. 810 printtab(6)"5) mps801 [205]odus (downloadver.)"
  78. 820 gosub121
  79. 830 fl=val(a$)
  80. 840 loadfi$(fl),8,1
  81. 850 a=49152:e=e(fl):ua=a:ue=ue(fl)
  82. 860 input"   [215]o soll die [210]outine stehen   49152[157][157][157][157][157][157][157]";z
  83. 870 ifz<>49152thengosub140
  84. 880 iz=peek(z+1)+peek(z+2)*256
  85. 890 op=z+3:ho=int(op/256):lo=op-256*ho
  86. 900 ch=z+24:hc=int(ch/256):lc=ch-256*ho
  87. 910 pokeiz+6,lc:pokeiz+11,hc:pokeiz+16,lo:pokeiz+21,ho
  88. 920 iffl=5thenpokeue-a+z-24,peek(ue-a+z-18)
  89. 930 :
  90. 940 :
  91. 950 iffl=1then1920
  92. 960 print"[147] [205]oechten [211]ie die vorgegebenen [211]teuer-
  93. 970 [153]" codes aendern (mid$/(NULL)) ?"
  94. 980 [141]121
  95. 990 [139]a$[178]"n"[167]1920
  96. 1000 [139]a$[179][177]"j"[167]980
  97. 1010 [145]fl[171]1[137]1020,1110,1300,1400
  98. 1011 :
  99. 1012 [143] decodieren
  100. 1020 [153]" <d>eutscher oder <a>merikanischer"
  101. 1030 [153]" (NULL)eichensatz ?"
  102. 1040 [141]121
  103. 1050 [139]a$[178]"d"[167]1920
  104. 1060 [139]a$[179][177]"a"[167]1040
  105. 1070 [151]49242[171]a[170]z,91
  106. 1080 [137]1920
  107. 1090 :
  108. 1100 :
  109. 1101 [143] list
  110. 1110 [153]" peekitte (NULL)teuercodes fuer unterstreichen"
  111. 1120 [153]" eingeben: ((NULL)aenge 3 peekyte ; erstes peekyte"
  112. 1130 [153]" chr$(27) )
  113. 1140 e2=45:e3=49:a2=45:a3=48:gosub2000
  114. 1175 poke49919-a+z,e2:poke49920-a+z,e3:poke49921-a+z,a2:poke49922-a+z,a3
  115. 1180 print" [206]un genauso fuer ueberstreichen :"
  116. 1190 e2=95:e3=49:a2=95:a3=48:gosub2000
  117. 1270 poke49923-a+z,e2:poke49924-a+z,e3:poke49925-a+z,a2:poke49926-a+z,a3
  118. 1280 goto1920
  119. 1290 :
  120. 1295 :
  121. 1296 rem mps801 emulation (grafikver.)
  122. 1300 print" [194]itte geben [211]ie die gewuenschte"
  123. 1310 print" [199]rafikdichte (0-6) (von <esc>'*') ein:"
  124. 1320 input" im [212]extmodus     4[157][157][157]";dt
  125. 1330 input" im [199]rafikmodus   0[157][157][157]";dg
  126. 1340 print" korrekt ([202]/[206]) ?"
  127. 1350 gosub121
  128. 1360 ifa$="n"thenprint"[145][145][145][145][145]";:goto1320
  129. 1370 ifa$<>"j"then1350
  130. 1380 poke49476-a+z,dg:poke49751-a+z,dg:poke49833-a+z,dt
  131. 1381 gosub2500
  132. 1382 ifa$="1"then1920
  133. 1383 poke49349-a+z,7
  134. 1390 goto1920
  135. 1395 :
  136. 1398 :
  137. 1399 rem mps801 emulation (downloadver.)
  138. 1400 print" <[196]>eutscher oder <a>merikanischer"
  139. 1410 print" [218]eichensatz ? ";
  140. 1420 gosub121
  141. 1430 ifa$="a"then1460
  142. 1440 ifa$<>"d"then1420
  143. 1450 poke49987-a+z,228:poke49988-a+z,228:poke49377-a+z,95:poke49415-a+z,222
  144. 1460 printa$
  145. 1470 input" [215]elche [199]rafikdichte moechten [211]ie   0[157][157][157]";dg
  146. 1480 poke49525-a+z,dg
  147. 1490 print" [215]elche [193]lternativdruckart moechten [211]ie
  148. 1500 [153]" fuer 'revers' (3peekyte peekefehl, dabei 1."
  149. 1510 [153]" peekyte chr$(27) )"
  150. 1520 e2[178]45:e3[178]49:a2[178]45:a3[178]48:[141]2000
  151. 1595 [151]49516[171]a[170]z,e2:[151]49517[171]a[170]z,e3:[151]49518[171]a[170]z,a2:[151]49519[171]a[170]z,a3
  152. 1600 [153]" (NULL)elche atnlternativdruckart moechten (NULL)ie"
  153. 1610 [153]" fuer '(NULL)perrschrift' (ascormat wie oben)"
  154. 1620 e2[178]87:e3[178]49:a2[178]87:a3[178]48:[141]2000
  155. 1700 [151]49512[171]a[170]z,e2:[151]49513[171]a[170]z,e3:[151]49514[171]a[170]z,a2:[151]49515[171]a[170]z,a3
  156. 1710 [141]2500
  157. 1790 [139]a$[178]"1"[167]1920
  158. 1810 [151]49521[171]a[170]z,7
  159. 1920 [141]3000
  160. 1930 [158]z
  161. 1940 [153]"loadstr$ruckertreiber installiert"
  162. 1950 [128]
  163. 1960 :
  164. 1970 :
  165. 1980 :
  166. 2000 [153]""[163]24)e2
  167. 2001 [133]"on 2. peekyte (einschalten) ";e2
  168. 2005 [153][163]24)e3
  169. 2010 [133]"on 3. peekyte (einschalten) ";e3
  170. 2015 [153]""[163]24)a2
  171. 2020 [133]"on 2. peekyte (ausschalten) ";a2
  172. 2025 [153][163]24)a3
  173. 2030 [133]"on 3. peekyte (ausschalten) ";a3
  174. 2040 [153]" korrekt (mid$/(NULL)) ?";
  175. 2050 [141]121
  176. 2060 [139]a$[178]"n"[167][153]"ononononononon";:[137]2000
  177. 2070 [139]a$[179][177]"j"[167]2050
  178. 2080 [153]:[142]
  179. 2100 :
  180. 2110 :
  181. 2120 :
  182. 2500 [153]" (NULL)ie moechten (NULL)ie den (NULL)eilenabstand"
  183. 2510 [153]" beim chr$rafikdruck ?"
  184. 2520 [153]" 1) (NULL)riginalgroesse der (NULL)(NULL)(NULL)801 chr$rafik"
  185. 2530 [153]"    (weisser (NULL)trich zwischen den (NULL)eilen)"
  186. 2540 [153]" 2) etwas kleiner als die (NULL)(NULL)(NULL)801 chr$rafik"
  187. 2550 [153]"    (kein (NULL)wischenraum zwischen den"
  188. 2560 [153]"    (NULL)eilen)"
  189. 2570 [141]121
  190. 2580 [139]a$[178]"1"[167][142]
  191. 2590 [139]a$[179][177]"2"[167]2570
  192. 2600 [142]
  193. 2900 :
  194. 2990 :
  195. 3000 [153]"loadcont";
  196. 3010 [153]" exp.wait (NULL)newwait exp.wait ^7 wait@ :sinwait exp.wait j-wait usr7waitleft$xwaitleft$ exp.wait j-wait usr7waitleft$x*waitnot(waitnot";
  197. 3020 [153]"ewaittnotewaitu)waitt (NULL)sinpwaitc(NULL)posclosewaitclose"
  198. 3030 [153]" (NULL)oechten (NULL)ie den str$ruckertreiber ab-"
  199. 3040 [153]" speichern (mid$/(NULL)) ?"
  200. 3050 [141]121
  201. 3060 [139]a$[178]"n"[167][142]
  202. 3070 [139]a$[179][177]"j"[167]3050
  203. 3090 [133]" ascilename ";f$
  204. 3100 [158]1024,f$,8,z,e[171]a[170]z[170]1
  205. 3110 [142]
  206. 33536 @
  207.