home *** CD-ROM | disk | FTP | other *** search
/ Power Pack / Power_Pack_3_1992_Alfons_Mittelmeyer_de.d64 / hires-druck (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  7KB  |  241 lines

  1. 10 rem hires-druck =================c64
  2. 20 rem written by a. mittelmeyer
  3. 30 rem ================================
  4. 100 poke56,153:clr
  5. 130 vb=3
  6. 140 gb=8
  7. 150 vr=7
  8. 151 rem -------------------------------
  9. 155 vf=1
  10. 160 gosub180:gosub200:gosub230:goto1150
  11. 180 vh=64*vb+4*vr:gh=64*vb+4*gb
  12. 190 va=256*vh:ga=256*gh:return
  13. 200 fori=828to1004
  14. 201 reada:pokei,a:next:return
  15. 202 data120,072,165,001,041,252,133,001
  16. 203 data104,096,072,165,001,009,003,133
  17. 204 data001,088,104,096,032,060,003,160
  18. 205 data000,145,251,200,208,251,230,252
  19. 206 data202,208,246,240,229,160,000,032
  20. 207 data207,255,176,222,032,060,003,145
  21. 208 data251,032,070,003,200,208,240,230
  22. 209 data252,202,208,235,240,204,160,000
  23. 210 data032,060,003,177,251,032,070,003
  24. 211 data032,210,255,200,208,242,230,252
  25. 212 data202,208,237,096,032,253,174,032
  26. 213 data235,183,138,032,060,003,160,000
  27. 214 data145,020,076,070,003,032,253,174
  28. 215 data032,138,173,032,247,183,032,060
  29. 216 data003,160,000,177,020,032,070,003
  30. 217 data168,032,162,179,032,253,174,032
  31. 218 data139,176,133,073,132,074,165,014
  32. 219 data076,194,169,032,253,174,032,235
  33. 220 data183,169,000,056,106,202,016,252
  34. 221 data160,000,076,060,003,032,199,003
  35. 222 data017,020,145,020,076,070,003,032
  36. 223 data199,003,073,255,049,020,076,222
  37. 224 data003
  38. 230 fori=49244to49293
  39. 231 reada:pokei,a:next:return
  40. 232 data 120,072,165,001,041,252,133
  41. 233 data 001,104,096,072,165,001,009
  42. 234 data 007,133,001,104,088,096,169
  43. 235 data 224,133,252,160,000,132,251
  44. 236 data 162,032,032,092,192,177,251
  45. 237 data 073,255,145,251,200,208,247
  46. 238 data 230,252,202,208,242,076,102
  47. 239 data 192
  48. 420 rem ---- grafik an ----
  49. 430 poke56576,peek(56576)and252or(3-vb)
  50. 440 poke53272,16*vr+gb
  51. 450 poke53265,peek(53265)or32:return
  52. 470 rem ---- grafik aus ----
  53. 480 poke56576,peek(56576)and252or3
  54. 490 poke53272,21
  55. 500 poke53265,peek(53265)and223:return
  56. 520 rem ---- farbe klaeren ----
  57. 530 poke780,16*vf+hf:poke781,4
  58. 540 poke251,0:poke252,vh:sys848:return
  59. 550 rem ---- bild loeschen ----
  60. 560 gosub565:sys848:return
  61. 565 poke780,0:poke781,32
  62. 570 poke251,0:poke252,gh:return
  63. 571 rem ---- grafik invertieren ----
  64. 572 gosub565:sysxxx:return
  65. 580 rem ---- grafik laden ----
  66. 590 open8,8,8,fi$:poke781,8
  67. 600 sys65478:geta$:geta$:poke251,0
  68. 610 iffg=0then630
  69. 620 poke252,vh:poke781,4:sys865
  70. 630 poke252,gh:poke781,32:sys865
  71. 640 sys65484:close8:return
  72. 645 rem ---- grafik saven ----
  73. 650 open8,8,8,fi$+",p,w":poke781,8
  74. 660 sys65481:printchr$(0);:poke251,0
  75. 670 iffg=0thenprint" ";:goto700
  76. 680 printchr$(28);:poke252,vh:poke781,4
  77. 690 sys890
  78. 700 poke252,gh:poke781,32:sys890:goto640
  79. 710 rem ---- speicherzugriff ----
  80. 720 rem i=sys912,a,i:rem pokea,i
  81. 730 rem sys929,a,i:rem i=peek(a)
  82. 750 rem ---- pixel setzen ----
  83. 760 sn=int(x/8):zn=int(y/8)
  84. 770 iffa=1thensys912,40*zn+sn+va,16*vf+hf
  85. 780 ad=312*zn+y+8*sn+ga
  86. 790 iflo=0thensys985,ad,xand7:return
  87. 800 sys995,ad,xand7:return
  88. 810 rem ---- linie ----
  89. 820 ifabs(y2-y1)>abs(x2-x1)then860
  90. 830 m=(y2-y1)/(x2-x1)
  91. 840 forx=x1tox2stepsgn(x2-x1)
  92. 850 y=int(y1+(x-x1)*m+.5):gosub760:next:return
  93. 860 m=(x2-x1)/(y2-y1)
  94. 870 fory=y1toy2stepsgn(y2-y1)
  95. 871 x=int(x1+(y-y1)*m+.5):gosub760:next:return
  96. 875 rem ---- rechteck ----
  97. 880 a=y2:y2=y1:gosub820:y2=a
  98. 890 a=x2:x2=x1:gosub820:x2=a
  99. 900 a=y1:y1=y2:gosub820:y1=a
  100. 910 a=x1:x1=x2:gosub820:x1=a:return
  101. 920 rem ---- kreis ----
  102. 930 xe=int(r/sqr(2)+.5)
  103. 940 forkx=0toxe:ky=int(sqr(r*r-kx*kx)+.5)
  104. 950 gosub970:kx=-kx:gosub970:ky=-ky
  105. 960 gosub970:kx=-kx:gosub970:next:return
  106. 970 x=xm+kx:y=ym+ky:gosub760
  107. 980 x=xm+ky:y=ym+kx:goto760
  108. 990 rem ---- cursor setzen ----
  109. 1000 zz=40*(yand248)+(xand504)+ga:return
  110. 1010 xm=160:ym=100:r=50:gosub930
  111. 1020 gosub1000
  112. 1030 poke56334,peek(56334)and254
  113. 1040 poke1,peek(1)and251
  114. 1050 forj=1tolen(tx$)
  115. 1060 iffa=1thensys912,(zz-ga)/8+va,16*vf+hf
  116. 1070 printchr$(19)mid$(tx$,j,1);
  117. 1080 ad=peek(1024)*8+1024*gz+53248
  118. 1090 fori=0to7:sys912,zz+i,peek(ad+i)
  119. 1100 next:zz=zz+8:next
  120. 1110 poke1,peek(1)or4
  121. 1115 poke56334,peek(56334)or1:return
  122. 1120 rem ====================
  123. 1130 rem  hauptprogramm
  124. 1140 rem ====================
  125. 1150 poke53281,0:printchr$(147)chr$(14)chr$(5)
  126. 1151 printspc(11)"[195][207][205][205][207][196][207][210][197] [196][201][211][195]"
  127. 1155 printspc(12)"[200]i[210]es-[196]ruck"
  128. 1160 printspc(12)"-----------"
  129. 1165 printspc(5)"[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][174]"
  130. 1170 printspc(5)"[221]   [199]rafik laden          [221]"
  131. 1171 printspc(5)"[221]   [199]rafik laden ([198]arbe)  [221]"
  132. 1172 printspc(5)"[221]   [199]rafik sehen          [221]"
  133. 1173 printspc(5)"[221]   [199]rafik invertieren    [221]"
  134. 1174 printspc(5)"[221]   [212]reiber laden         [221]"
  135. 1175 printspc(5)"[221]   [196]rucken ("left$(tr$+")         ",7)"      [221]"
  136. 1176 printspc(5)"[221]   [196]irectory             [221]"
  137. 1177 printspc(5)"[221]   [196]irectory [215]ildcard    [221]"
  138. 1178 printspc(5)"[221]   [212]reiber aendern       [221]"
  139. 1179 printspc(5)"[221]   [212]reiber speichern     [221]"
  140. 1180 printspc(5)"[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][189]"
  141. 1200 poke1391+mp*40,62
  142. 1201 geta$:ifa$=""then1200
  143. 1202 poke1391+mp*40,32
  144. 1203 ifa$=""andmp<9thenmp=mp+1:goto1200
  145. 1204 ifa$="[145]"andmp>0thenmp=mp-1:goto1200
  146. 1205 ifa$<>chr$(13)then1200
  147. 1210 onmp+1goto1300,1350,1900,1890,1410,1950,1600,1800,2000,2010
  148. 1220 end
  149. 1300 fg=0
  150. 1305 vf=0:hf=1
  151. 1306 print:print"? "chr$(34)gr$chr$(34);
  152. 1307 wait198,1:ifpeek(631)=13then1310
  153. 1308 poke211,2:print"                  ";
  154. 1310 poke211,0:inputgr$:fi$=gr$
  155. 1312 gosub530:gosub560:gosub430
  156. 1315 gosub590:gosub530
  157. 1320 geta$:ifa$=""then1320
  158. 1330 gosub480:goto1150
  159. 1350 fg=1:goto1305
  160. 1400 gosub430:gosub571:goto1320
  161. 1410 printchr$(147)spc(13)"[212]reiber laden"
  162. 1419 print"   [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][178][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
  163. 1420 print"   [221]     c1.1","[221]     ie0.1      [221]"
  164. 1421 print"   [221]     c1.2","[221]     ie0.1r     [221]"
  165. 1422 print"   [221]     c1.3","[221]     ie0.2      [221]"
  166. 1423 print"   [221]     c2.2","[221]     ie0.2r     [221]"
  167. 1424 print"   [221]     c2.3","[221]     ie2.1      [221]"
  168. 1425 print"   [221]     c3.1","[221]     ie2.1r     [221]"
  169. 1426 print"   [221]     c3.2","[221]     ie2.2      [221]"
  170. 1427 print"   [221]     c3.2r","[221]     ie2.2r     [221]"
  171. 1428 print"   [221]     e1.1r","[221]     ie2.3      [221]"
  172. 1429 print"   [221]     e2.1","[221]     ie2.3r     [221]"
  173. 1430 print"   [221]     e2.1r","[221]     ie2.4      [221]"
  174. 1431 print"   [221]     e2.2","[221]     ie2.4r     [221]"
  175. 1432 print"   [221]     e2.2r","[221]     ie3.1      [221]"
  176. 1433 print"   [221]     e3.1r","[221]     ie3.2      [221]"
  177. 1434 print"   [221]     ie1.1","[221]     ie3.2r     [221]"
  178. 1435 print"   [221]     ie1.2","[221]     ie3.3r     [221]"
  179. 1436 print"   [221]     ie1.3","[221]     ie3.4r     [221]"
  180. 1437 print"   [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][177][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
  181. 1440 x=0:y=0
  182. 1441 poke1191+40*y+17*x,62
  183. 1450 geta$:ifa$=""then1450
  184. 1451 poke1191+40*y+17*x,32
  185. 1460 ifa$=""andy<16theny=y+1:goto1441
  186. 1461 ifa$="[145]"andy>0theny=y-1:goto1441
  187. 1462 ifa$=""ora$="[157]"thenx=(x+1)and1:goto1441
  188. 1463 ifa$=" "then1150
  189. 1470 ifa$<>chr$(13)then1441
  190. 1480 a=1193+40*y+17*x:fori=0to5:poke1913+i,peek(a+i):next
  191. 1490 poke198,1:poke631,13:inputtr$
  192. 1491 open8,8,8,tr$:poke781,8
  193. 1492 sys65478:geta$:geta$:poke251,0
  194. 1493 poke252,153:poke781,1:sys865
  195. 1494 sys65484:close8:goto1150
  196. 1600 printchr$(147);
  197. 1601 open8,8,0,"$":gosub1610
  198. 1605 ifnotffthengosub1820
  199. 1606 goto1150
  200. 1610 ff=0:i=0:get#8,a$:get#8,a$:goto1650
  201. 1620 get#8,a$
  202. 1630 ifa$=""thena$=chr$(0)
  203. 1640 return
  204. 1650 get#8,a$
  205. 1660 ifa$=""then1730
  206. 1670 get#8,a$
  207. 1680 gosub1620:al=asc(a$):gosub1620
  208. 1690 print256*asc(a$)+al;
  209. 1700 get#8,a$
  210. 1710 ifa$<>""thenprinta$;:goto1700
  211. 1720 print:i=i+1:ifi<>25then1650
  212. 1721 gosub1820:ifffthen1730
  213. 1722 i=1:goto1650
  214. 1730 close8:return
  215. 1800 print:input"[211]uchbegriff";fi$:printchr$(147);
  216. 1810 open8,8,0,"$"+fi$:gosub1610:goto1605
  217. 1820 x=0
  218. 1822 a=peek(1028+40*x):poke1028+40*x,62
  219. 1825 geta$:ifa$=""then1825
  220. 1826 poke1028+40*x,a
  221. 1830 ifa$=""andx<>23thenx=x+1:goto1822
  222. 1840 ifa$="[145]"andx<>0thenx=x-1:goto1822
  223. 1850 ifa$=" "thenreturn
  224. 1860 ifa$<>chr$(13)then1822
  225. 1861 ad=1029+40*x
  226. 1870 fori=1to18:poke1989+i,peek(ad+i):next
  227. 1871 poke211,0:poke214,24:sys58732
  228. 1880 poke198,1:poke631,13:inputgr$:ff=-1:return
  229. 1890 sys49264
  230. 1900 gosub430
  231. 1910 geta$:ifa$=""then1910
  232. 1920 gosub480:printchr$(14);:goto1200
  233. 1950 gosub430:sys39168:goto1920
  234. 2000 o=0:a=0:print:input"[207]ffset,[194]yte";o,a
  235. 2001 ifo or athenpoke39168+(oand255),a
  236. 2002 goto1150
  237. 2010 print:input"[212]reibername";fi$
  238. 2011 open8,8,8,fi$+",p,w":poke781,8:sys65481:printchr$(0);:poke251,0
  239. 2012 printchr$(153);:poke252,153:poke781,1:sys890:gosub640:goto1150
  240. 2020 rem =ende==hires-druck========
  241.