home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1986 October / 64er_Magazin_86-10_1986_Markt__Technik_de_Side_B.d64 / color-print (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  6KB  |  240 lines

  1. 5 rem ********************************
  2. 6 rem ***   (c) by matthias may    ***
  3. 9 rem ********************************
  4. 10 ifs=0thens=1:load"print.1",8,1
  5. 12 ifs=1thens=2:load"print.2",8,1
  6. 14 ifs=2thens=3:load"print.3",8,1
  7. 16 ifs=3thens=4:load"print.4",8,1
  8. 17 ifs=4thens=5:load"print.5",8,1
  9. 18 poke45,1:poke46,64:poke55,0:poke56,128
  10. 20 clr
  11. 22 sys49664
  12. 24 print"[147]"
  13. 26 f$(1)="schwarz":f$(2)="blau":f$(3)="rot"
  14. 28 sl$=chr$(13)+"             color-print"+chr$(13)
  15. 30 sl$=sl$+"             [192][192][192][192][192][192][192][192][192][192][192]"+chr$(13)
  16. 32 sl$=sl$+"        (c) by matthias may"
  17. 40 print sl$
  18. 41 poke53280,11:poke53281,0
  19. 42 n$(1)="  diskwork   ":n$(2)=" farbwechsel ":n$(3)=" bild zeigen "
  20. 43 n$(4)="    druck    ":n$(5)="    ende     "
  21. 45 f=1:s1=9:fm=5:z=6
  22. 50 print:print:print:print
  23. 55 print"   [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]        "
  24. 60 print"   [194]    diskwork     [194]        "
  25. 70 print"   [194]   farbwechsel   [194]        "
  26. 80 print"   [194]   bild zeigen   [194]        "
  27. 90 print"   [194]      druck      [194]        "
  28. 100 print"   [194]      ende       [194]        "
  29. 105 print"   [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]        "
  30. 106 print"                              "
  31. 107 print"                              "
  32. 109 gosub 550
  33. 110 getx$:if x$="" then 110
  34. 120 if x$="" then gosub500
  35. 130 if x$="[145]" then gosub600
  36. 135 if x$=chr$(13) then 150
  37. 140 goto 110
  38. 150 on f goto 1000,2000,3000,4000,10000
  39. 500 if f=fm then return
  40. 510 f=f+1
  41. 550 poke 214,s1+f-1:poke211,z:sys58640:printn$(f-1)
  42. 560 poke 214,s1+f  :poke211,z:sys58640:print""n$(f)"[146]"
  43. 570 return
  44. 600 if f=1 then return
  45. 610 f=f-1
  46. 650 poke 214,s1+f+1:poke211,z:sys58640:printn$(f+1)
  47. 660 poke 214,s1+f  :poke211,z:sys58640:print""n$(f)"[146]"
  48. 670 return
  49. 1000 print""
  50. 1001 n$(1)="  directory  "
  51. 1002 n$(2)="  load-pic   "
  52. 1003 n$(3)="    menu     "
  53. 1004 f=1:s1=13:fm=3:z=12
  54. 1010 print:print:print:print
  55. 1015 printtab(11)"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
  56. 1020 printtab(11)"[194]  directory  [194]"
  57. 1030 printtab(11)"[194]  load-pic   [194]"
  58. 1035 print"           [194]    menu     [194]         "
  59. 1040 print" [160][160][160]       [173][192][192][192][192][192][192][192][192][192][192][192][192][192][189]         "
  60. 1041 print"                                   "
  61. 1042 print"                               "
  62. 1045 print"                               "
  63. 1046 print"                               "
  64. 1047 print"                              "
  65. 1048 print"                               "
  66. 1049 gosub 550
  67. 1050 getx$:if x$="" then 1050
  68. 1055 print""
  69. 1060 if x$="" then gosub 500
  70. 1070 if x$="[145]" then gosub 600
  71. 1075 if x$<>chr$(13) then 1050
  72. 1080 on f goto 1100,1200,40
  73. 1090 goto 1050
  74. 1100 poke59639,18:poke1,53
  75. 1105 print"[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]"
  76. 1106 print"                           [194]"
  77. 1110 sys49921
  78. 1120 getx$:if x$="" then 1120
  79. 1130 poke1,55:goto 1000
  80. 1200 print"      [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]"
  81. 1210 print"      [194]load    .................[194][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]":t=0
  82. 1211 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][189]"
  83. 1215 poke214,17:poke211,15:sys58640
  84. 1220 poke198,0:wait 198,1:geta$
  85. 1230 if a$=chr$(20) then t=t-1:print"[157].[157]";:goto 1220
  86. 1240 poke 36864+t,asc(a$):printa$;
  87. 1245 if a$<>chr$(13) then t=t+1:goto 1220
  88. 1250 if t>18 then t=18:print"[157]";:goto 1220
  89. 1260 poke36889,t
  90. 1270 sys36896
  91. 1280 open1,8,15
  92. 1290 get#1,a,b$,c,d:printa;b$;c;d
  93. 1295 close1
  94. 1300 goto 1000
  95. 2000 c0=0:c1=0:c2=0:c3=3:for u=1 to 3:print"[147]"
  96. 2010 gosub 15000
  97. 2040 poke51238,c3:poke51237,c2:poke51236,c1:poke53281,c0
  98. 2045 sys32928
  99. 2050 getx$:if x$="" then 2050
  100. 2055 gosub 17000
  101. 2060 print"[147]"
  102. 2070 print""
  103. 2080 printtab(14)"[176][192][192][192][192][192][192][192][174]"
  104. 2090 printtab(14)"[194]       [194][157][157][157][157][157][157][157][157]"f$(1)
  105. 2100 printtab(14)"[194]       [194][157][157][157][157][157][157][157][157]"f$(2)
  106. 2110 printtab(14)"[194]       [194][157][157][157][157][157][157][157][157]"f$(3)
  107. 2120 printtab(14)"[173][192][192][192][192][192][192][192][189]"
  108. 2130 n$(1)=f$(1)
  109. 2140 n$(2)=f$(2)
  110. 2150 n$(3)=f$(3)
  111. 2160 f=1:fm=3:s1=10:z=15
  112. 2170 gosub 550
  113. 2180 getx$:if x$="" then 2180
  114. 2190 if x$="" then gosub 500
  115. 2200 if x$="[145]" then gosub 600
  116. 2210 if x$<>chr$(13) then 2180
  117. 2220 a$(u)=f$(f)
  118. 2230 if c0=0 and c1=0 and c2=0 then c1=3:c3=0:goto 2250
  119. 2240 if c0=0 and c2=0 and c3=0 then c2=3:c1=0
  120. 2250 nextu
  121. 2260 f$(1)=a$(1)
  122. 2270 f$(2)=a$(2)
  123. 2280 f$(3)=a$(3)
  124. 2290 print"[147]":goto 40
  125. 3000 print"[147]"
  126. 3010 gosub 15000
  127. 3035 sys32928
  128. 3040 getx$:if x$="" then 3040
  129. 3041 if x$="[133]" then poke 53281,(peek(53281)+1)and15:goto 3035
  130. 3042 if x$="[134]" then poke 51236,(peek(51236)+1)and15:goto 3035
  131. 3043 if x$="[135]" then poke 51237,(peek(51237)+1)and15:goto 3035
  132. 3044 if x$="[136]" then poke 51238,(peek(51238)+1)and15:goto 3035
  133. 3046 if x$="i" then sys32768:forg=1 to 1000:next:sys32768:goto 3035
  134. 3050 gosub 17000
  135. 3080 print"[147]":goto 40
  136. 4000 printtab(8)"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
  137. 4005 printtab(8)"[194] invertiert   j/n  [194]"
  138. 4010 printtab(8)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
  139. 4015 get x$:if x$="" then 4015
  140. 4020 if x$="j" then sys32768
  141. 4050 print""
  142. 4051 poke 59639,18:poke1,53
  143. 4052 open4,4:print#4,chr$(8);
  144. 4053 print"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
  145. 4054 print"[194]bitte blatt plazieren [194]"
  146. 4055 print"[194]und markieren !       [194]"
  147. 4056 print"[194]farbe :               [194][157][157][157][157][157][157][157][157][157][157][157][157][157][157]"f$(1)
  148. 4057 print"[194]                      [194]"
  149. 4058 print"[194]                      [194]"
  150. 4059 print"[194]                      [194][145][145][145]"
  151. 4060 getx$:ifx$="" then 4060
  152. 4061 print"[194]start ..."
  153. 4065 x=312
  154. 4070 p=8192
  155. 4090 for h=0 to 7
  156. 4100 a=peek(p+h+x):if a=0 then a=128:goto 4700
  157. 4101 if a=255 then 4700
  158. 4110 if (aand1)=1 and (aand2)=2 then 4115
  159. 4112 a=aand255-1-2
  160. 4115 if (aand4)=4 and (aand8)=8 then 4125
  161. 4120 a=aand255-4-8
  162. 4125 if (aand16)=16 and (aand32)=32 then4135
  163. 4130 a=aand255-16-32
  164. 4135 if (aand64)=64 and (aand128)=128 then 4150
  165. 4140 a=aand255-64-128
  166. 4150 a=int(a/2):a=aor128
  167. 4700 a$=a$+chr$(a)
  168. 4710 next h:print#4,a$;:a$=""
  169. 4720 p=p+320:if p<16384-192 then 4090
  170. 4730 print#4
  171. 4740 x=x-8
  172. 4750 if x>-8 then 4070
  173. 4800 print"[194]bitte blatt plazieren [194]"
  174. 4810 print"[194]farbe :               [194][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";f$(2)
  175. 4811 print"[194]                      [194]"
  176. 4812 print"[194]                      [194]"
  177. 4813 print"[194]                      [194]"
  178. 4814 print"[194]                      [194][145][145][145][145]"
  179. 4820 getx$:if x$="" then 4820
  180. 4830 print"[194]start ..."
  181. 4840 x=312
  182. 4850 p=8192
  183. 4990 for h=0 to 7
  184. 5000 a=peek(p+h+x):if a=0 then a=128:goto 5060
  185. 5001 if a=255 then a=128:goto5060
  186. 5010 if (aand1)=1 and (aand2)<>2 then a=a+2:goto 5012
  187. 5011 a=aand255-1-2
  188. 5012 if (aand4)=4 and (aand8)<>8 then a=a+8:goto 5014
  189. 5013 a=aand255-4-8
  190. 5014 if (aand16)=16 and (aand32)<>32 then a=a+32:goto 5016
  191. 5015 a=aand255-16-32
  192. 5016 if (aand64)=64 and (aand128)<>128 then a=a+128:goto 5050
  193. 5017 a=aand255-64-128
  194. 5050 a=int(a/2):a=aor128
  195. 5060 a$=a$+chr$(a)
  196. 5070 next h:print#4,a$;:a$=""
  197. 5080 p=p+320:if p<16384-192 then 4990
  198. 5090 print#4
  199. 5100 x=x-8
  200. 5110 if x>-8 then 4850
  201. 5120 print"[194]bitte blatt plazieren [194]"
  202. 5130 print"[194]farbe :               [194][157][157][157][157][157][157][157][157][157][157][157][157][157][157]"f$(3)
  203. 5131 print"[194]                      [194]"
  204. 5132 print"[194]                      [194]"
  205. 5133 print"[194]                      [194]"
  206. 5134 print"[194]                      [194][145][145][145][145]"
  207. 5140 getx$:if x$="" then 5140
  208. 5150 print"[194]start ..."
  209. 5160 x=312
  210. 5170 p=8192
  211. 5190 for h=0 to 7
  212. 5200 a=peek(p+h+x):if a=0 then a=128:goto 5260
  213. 5201 if a=255 then a=128:goto 5260
  214. 5210 if (aand2)=2 and (aand1)<>1 then a=a+1:goto 5212
  215. 5211 a=aand255-1-2
  216. 5212 if (aand8)=8 and (aand4)<>4 then a=a+4:goto 5214
  217. 5213 a=aand255-4-8
  218. 5214 if (aand32)=32 and (aand16)<>16 then a=a+16:goto 5216
  219. 5215 a=aand255-16-32
  220. 5216 if (aand128)=128 and (aand64)<>64 then a=a+64:goto 5250
  221. 5217 a=aand255-64-128
  222. 5250 a=int(a/2):a=aor128
  223. 5260 a$=a$+chr$(a)
  224. 5270 next h:print#4,a$;:a$=""
  225. 5280 p=p+320:if p<16384-192 then5190
  226. 5290 print#4
  227. 5300 x=x-8
  228. 5310 if x>-8 then 5170
  229. 5320 close4
  230. 5330 goto 24
  231. 10000 end
  232. 15000 poke 53265,peek(53265)or176
  233. 15010 poke 53270,peek(53270)or16
  234. 15020 poke 53272,peek(53272)or8
  235. 15030 return
  236. 17000 poke 53265,peek(53265)and159
  237. 17010 poke 53270,peek(53270)and255-16
  238. 17020 poke 53272,peek(53272)and255-8
  239. 17030 return
  240.