home *** CD-ROM | disk | FTP | other *** search
/ Ahoy 1986 May / Ahoy_Magazine_86-05_1986_Double_L.d64 / bigprint (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  10KB  |  272 lines

  1. 10 ifpeek(49152)=165andpeek(50056)=251then80
  2. 20 poke53280,0:poke53281,1:print"[147][144]      30 seconds for ml set up...."
  3. 30 print""tab(20);:poke204,0
  4. 40 reada:ifa<>9999then40
  5. 50 h=64:l=48:s=7:x=16:n=1
  6. 60 fori=49152to50057:reada$:a=asc(a$):b=asc(right$(a$,n))
  7. 70 p=x*((a-l)+s*(a>h))+b-l+s*(b>h):pokei,p:next:poke204,1
  8. 80 rt$=chr$(13):bp=49152:cl=59903:bc=59610
  9. 90 tp$=chr$(164):bt$=chr$(183):fori=1to5:tp$=tp$+tp$:bt$=bt$+bt$:next
  10. 100 tp$=tp$+rt$:s8$="        ":up$="[145][145][145][145][145][145][145][145][145][145][145][145][145]"
  11. 110 ac$="":dn$=""
  12. 120 sa$=s8$+"  "
  13. 130 poke53280,0:poke53281,1:gosub1750
  14. 140 print"[144][142]"tab(9)" big print functions "
  15. 150 printtab(9)left$(bt$,21)
  16. 160 print""tab(4)tp$spc(4)" please choose any option below "
  17. 170 d$=" [d] [192][192] demonstration   ":v$=" [v] [192][192] view characters "
  18. 180 q$=" [q] [192][192] quit            ":s$=" [s] [192][192] save ml program "
  19. 190 t2$=s8$+right$(tp$,25)+s8$
  20. 200 print""t2$d$"[146]"spc(8)t2$q$
  21. 210 print""t2$s$"[146]"spc(8)t2$v$
  22. 220 printup$:fori=1to14:printtab(4)" "spc(30)" ":next
  23. 230 printspc(4)""s8$s8$s8$s8$
  24. 240 printup$"[145][145]"ac$"[169]"spc(28)"[223]":printdn$ac$"[223][146]"spc(20)s8$"[169]"
  25. 250 geta$:ifa$=""then250
  26. 260 ifa$="d"ora$=rt$thenup=13:m$=d$:goto310
  27. 270 ifa$="s"thenup=7:m$=s$:goto330
  28. 280 ifa$="q"thenup=10:m$=q$:goto510
  29. 290 ifa$<>"v"then250
  30. 300 up=4:m$=v$
  31. 310 printleft$(up$,up)spc(8)""right$(tp$,25)spc(8)m$"[144]"
  32. 320 fori=1toup-1:print:next:on(up-1)/3goto520,510,520,930
  33. 330 b=0:e=24:gosub1710
  34. 340 print"[147]"tab(11)" save ml program "rt$tab(11)left$(bt$,17)
  35. 350 printtab(10)left$(dn$,8);:input"file name   bigprintml[157][157][157][157][157][157][157][157][157][157][157][157]";nm$
  36. 360 printtab(10)"";:input"device...   8[157][157][157]";dv$:dv=val(dv$):nm$=left$(nm$,16)
  37. 370 print""tab(20)"  "left$(tp$,len(nm$))
  38. 380 printac$ac$"now  saving "nm$
  39. 390 dv$="n":ifdv>7anddv<12thendv$="y":open1,dv,15,"i0":print#1,"s0:"+nm$:close1
  40. 400 sys57812 nm$,dv,1:poke193,0:poke194,192:poke174,138:poke175,195:sys62957
  41. 410 ifdv$="n"then130
  42. 420 print""tab(20)"  "left$(tp$,len(nm$))
  43. 430 printtab(10)"verifying.. "nm$
  44. 440 poke147,1:sys57812 nm$,dv,1:sys62631:ifst=64then490
  45. 450 printac$"verify error - try again [y/n?]"
  46. 460 geta$:ifa$="y"then330
  47. 470 ifa$="n"then130
  48. 480 goto460
  49. 490 fori=0to15:poke646,i:sysbp,"-ok-",3,12:forj=1to50:next:next:poke646,0
  50. 500 goto130
  51. 510 b=0:e=24:gosub1710:sysbp,"bye!",8,12:print""dn$"run[145][145][145]":end
  52. 520 ln$="":fori=1to26:ln$=ln$+"[162]":next:cs$="character  set"
  53. 530 h1$="[213][192][192][192][192][192][192][192][192][192][192][201]"+rt$:h2$="[202][192][192][192][192][192][192][192][192][192][192][203]":im$="[221]  image   [221]"+rt$
  54. 540 c1$(1)="   standard character  "
  55. 550 c1$(2)="        inverted        ":c2$(2)=".[201]."
  56. 560 c1$(3)="      upside  down":c2$(3)=".[213]."
  57. 570 c1$(4)="upside down and inverted":c2$(4)=".[213][201]."
  58. 580 c1$(5)="      rotated left      ":c2$(5)=".[204]."
  59. 590 c1$(6)="     rotated  right     ":c2$(6)=".[210]."
  60. 600 aw$=ac$+ac$+"[169][146][185][185]"+ac$+ac$+"[185][185][223]"+rt$+ac$+ac$+"[223][184][184]"+ac$+ac$+"[184][184][169]"
  61. 610 gosub1750:printtab(9)" view large characters "
  62. 620 printtab(9)left$(bt$,23)"[145]"
  63. 630 fori=1to21:printtab(19)"  ":next:print"  upper/graphics";
  64. 640 printspc(7)"upper/lower case":printspc(2)cs$spc(8)cs$""
  65. 650 print"       "ln$"       ";
  66. 660 printspc(6)" [146]"spc(26)" ":printspc(6)" [146]"ln$" "
  67. 670 print""tab(14)h1$spc(14)"[221] regular  [221]"rt$tab(14)im$spc(14)h2$
  68. 680 print""spc(14)h1$spc(14)"[221] reverse  [221]"rt$tab(14)""im$spc(14)""h2$
  69. 690 print"   [172][198][198][198][198][198][198][198][198]"left$(ln$,24)"[187]":printtab(3)"[161]"spc(32)"[161]"
  70. 700 printtab(3)"[161]"spc(32)"[161]";
  71. 710 print"[145][145]":printtab(4)"  ctrl  [146] changes character color"
  72. 720 printtab(4)"spacebar[146] cycles  display options"
  73. 730 printtab(3)"[161] return [146] exits   to main menu   [161]";
  74. 740 bx$="[146]"+left$(dn$,6)+ac$+left$(ac$,3):sm$="  press a key to begin"
  75. 750 printbx$""sm$"[144]"
  76. 760 print""aw$rt$""aw$:restore
  77. 770 readx:ifx=9999then800
  78. 780 ifx<1024thenp=x:goto770
  79. 790 pokex,p:poke(x-1024)+55296,.:goto770
  80. 800 c$="1":cm=1:cg$=c2$(cm):ft=0
  81. 810 getb$:ifb$=rt$then130
  82. 820 ifb$<>""andb$<>" "thenc$=b$:goto890
  83. 830 ifb$=" "thenft=ft+1:ifft=1thencm=0
  84. 840 ifb$=" "thencm=cm+1-(-6*(cm=6)):goto880
  85. 850 ifpeek(653)<>4then810
  86. 860 ifcc=0thencc=1
  87. 870 cc=(cc+1)and15:goto890
  88. 880 cg$=c2$(cm)
  89. 890 d1$=cg$+c$:d2$=""+cg$+c$:d3$=""+cg$+c$:d4$=""+cg$+c$:poke646,cc
  90. 900 printbx$"[144]"c1$(cm):poke646,cc
  91. 910 sysbp,d1$,9,4,,46;d2$,15,4,,46;d3$,9,32,,46;d4$,15,32,,46
  92. 920 goto810
  93. 930 ul$=ac$+"":fori=1to23:ul$=ul$+"[184]":next:ms$="[146]"+left$(ul$,8)
  94. 940 bg$="[157][157][157][157]":g1$="":fori=1to4:g1$=g1$+mid$("good",i,1)+bg$:next
  95. 950 bg$="[157][157][157][157]":g2$="":fori=1to4:g2$=g2$+mid$("good",i,1)+bg$:next
  96. 960 poke53280,2:print"[147]"spc(7)" big print demonstration "
  97. 970 printspc(7)left$(bt$,25)
  98. 980 printdn$left$(dn$,8)spc(4)"[172][198][198][198][198][198][198][198][198][198][198][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][187]"
  99. 990 printspc(4)"[161] spacebar [146] continues the demo [161]"
  100. 1000 printspc(4)"[161]  return  [146] exits to main menu [161]";
  101. 1010 j=0:fori=1to3:cb$(i)="":gosub1020:next:goto1050
  102. 1020 k=4:ifj=0thenk=5
  103. 1030 forj=jtoj+k:cb$(i)=cb$(i)+chr$(peek(bc+j))+" ":ifj=0thenj=1
  104. 1040 next:return
  105. 1050 printms$rt$ul$:cm$="a standard message":gosub1720:sysbp,"hello!",10,8
  106. 1060 gosub1730:ifa$=rt$then130
  107. 1070 cm$="a multi-color message":gosub1720:sysbp,".[193].hello!",10,8,,"."
  108. 1080 gosub1730:ifa$=rt$then130
  109. 1090 cm$="multi-color reversed":gosub1720
  110. 1100 sysbp,".[193].hello!",10,8,,".";".[193].[164][164][164][164][164][164]",6,8,,"."
  111. 1110 gosub1730:ifa$=rt$then130
  112. 1120 cm$="a flashing message":gosub1720:poke781,9:syscl
  113. 1130 x$(1)=sa$:x$(2)="flashing":x=1
  114. 1140 x=3-x:sysbp,x$(x),10,4:fori=1to150:next
  115. 1150 geta$:ifa$=""then1140
  116. 1160 ifa$=rt$then130
  117. 1170 cm$="alternating colors 1":gosub1720
  118. 1180 x$(1)="":x$(2)="":x=1:ca$="alt colors"
  119. 1190 x=3-x:sysbp,x$(x)+ca$,10,,,".":fori=1to150:next
  120. 1200 geta$:ifa$=""then1190
  121. 1210 ifa$=rt$then130
  122. 1220 cm$=left$(cm$,19)+"2":gosub1720
  123. 1230 x$(1)=".[193].":x$(2)=".[193]."
  124. 1240 x=3-x:sysbp,x$(x)+ca$,10,,,".":fori=1to150:next
  125. 1250 geta$:ifa$=""then1240
  126. 1260 ifa$=rt$then130
  127. 1270 b=10:e=14:gosub1710
  128. 1280 cm$="standard counter":gosub1720:cv=15
  129. 1290 gosub1760:sysbp,cv$,10,15:fori=1to175:next:geta$:ifa$=""then1290
  130. 1300 ifa$=rt$then130
  131. 1310 cm$="counter with overlay":gosub1720:cv=15
  132. 1320 gosub1760:sysbp,".[207]."+cv$,10,15,,".":fori=1to15:next:sysbp,cv$,10,15
  133. 1330 fori=1to175:next:geta$:ifa$=""then1320
  134. 1340 ifa$=rt$then130
  135. 1350 cm$="what's the answer?":gosub1720:fori=10to14:poke781,i:syscl:next
  136. 1360 x=int(rnd(.)*10):y=int(rnd(.)*(10-x)):ifx=.ory=.then1360
  137. 1370 sysbp,str$(x),6,14;str$(y),11,14;"+",9,12;"[183][183][183][183]",15,12
  138. 1380 geta$:ifa$=""then1380
  139. 1390 ifa$=" "then1470
  140. 1400 ifa$=rt$then130
  141. 1410 ifa$<"0"ora$>"9"then1380
  142. 1420 sysbp,a$,17,18:ifval(a$)=x+ythen1440
  143. 1430 sysbp,"no.[201]._",17,5,,46:cm$="sorry - try again?":gosub1720:goto1460
  144. 1440 sysbp,g1$,5;g1$,5,36
  145. 1450 cm$="correct - try again?":gosub1720
  146. 1460 geta$:ifa$=""then1460
  147. 1470 b=5:e=20:gosub1710
  148. 1480 ifa$="y"then1350
  149. 1490 ifa$=rt$then130
  150. 1500 cm$="color bars":gosub1720
  151. 1510 fori=1to3:sysbp,cb$(i),(i*5)+1,6,2,46:next
  152. 1520 gosub1730:ifa$=rt$then130
  153. 1530 b=5:e=21:gosub1710
  154. 1540 cm$="a moving message":gosub1720:mm$="moving"
  155. 1550 fori=6to17:sysbp,mm$,i,8:poke781,i-1:syscl:forj=1to100:next:next
  156. 1560 ifpeek(198)>0then1580
  157. 1570 fori=16to6step-1:sysbp,mm$,i,8:poke781,i+4:syscl:forj=1to100:next:next
  158. 1580 geta$:ifa$=""then1550
  159. 1590 ifa$=rt$then130
  160. 1600 b=5:e=20:gosub1710
  161. 1610 cm$="a jumping message":gosub1720
  162. 1620 j$(1)="ju[145]mp[145]in[145]g":j$(2)="j[145]um[145]pi[145]ng":wh=1
  163. 1630 wh=3-wh:fori=10to14step4:poke781,i:syscl:next:sysbp,j$(wh),10,3,1
  164. 1640 fori=1to100:next
  165. 1650 geta$:ifa$=""then1630
  166. 1660 ifa$=rt$then130
  167. 1670 b=10:e=14:gosub1710:goto1050
  168. 1680 k=4:ifj=0thenk=5
  169. 1690 forj=jtoj+k:cb$(i)=cb$(i)+chr$(peek(bc+j))+" ":ifj=0thenj=1
  170. 1700 next:return
  171. 1710 fori=btoe:poke781,i:syscl:next:return
  172. 1720 ns=((23-len(cm$))/2):print""ms$left$(s8$,ns)cm$s8$:return
  173. 1730 geta$:ifa$=""then1730
  174. 1740 return
  175. 1750 fori=24to0step-1:poke781,i:syscl:next:print"[147]";:return
  176. 1760 ifcv=0theniv=1
  177. 1770 ifcv=15theniv=-1
  178. 1780 cv=cv+iv:cv$=right$(str$(cv),2):return
  179. 1790 data 105,1024,1264,223,1184,1205,1845,1984,233,1202,1223,1842,2023
  180. 1800 data 95,1063,1303,249,1403,1404,248,1523,1524,9999
  181. 1810 data a5,d1,48,a5,d2,48,20,fd,ae,20
  182. 1820 data 9e,ad,24,0d,30,05,a2,16,4c,37
  183. 1830 data a4,a0,00,b1,64,d0,06,20,f8,a8
  184. 1840 data 4c,cf,c0,85,d7,c8,b1,64,85,fb
  185. 1850 data c8,b1,64,85,fc,a5,64,a4,65,20
  186. 1860 data db,b6,20,05,c1,90,04,a5,d6,b0
  187. 1870 data 06,a9,16,20,d6,c0,8a,48,20,05
  188. 1880 data c1,90,15,a5,d3,aa,c9,28,90,05
  189. 1890 data e9,28,b8,50,f6,a9,25,85,ff,20
  190. 1900 data f6,c0,90,05,a9,25,20,d6,c0,86
  191. 1910 data ff,68,aa,20,f0,e9,18,a5,d1,65
  192. 1920 data ff,85,d1,90,02,e6,d2,20,24,ea
  193. 1930 data a9,21,20,d6,c0,86,ce,20,15,c1
  194. 1940 data 90,35,d0,0d,a9,00,85,9e,20,24
  195. 1950 data c1,20,73,00,4c,09,c0,20,fd,ae
  196. 1960 data 20,9e,ad,24,0d,30,08,20,a1,b7
  197. 1970 data 86,9e,4c,bb,c0,a0,00,b1,64,f0
  198. 1980 data 0e,c8,b1,64,85,fd,c8,b1,64,85
  199. 1990 data fe,a0,00,b1,fd,85,9e,a5,64,a4
  200. 2000 data 65,20,db,b6,20,15,c1,90,02,f0
  201. 2010 data c1,20,f8,a8,20,24,c1,68,85,d2
  202. 2020 data 68,85,d1,60,85,ff,20,15,c1,90
  203. 2030 data 0c,f0,0a,20,fd,ae,20,79,00,c9
  204. 2040 data 2c,d0,03,a2,00,60,20,9e,ad,24
  205. 2050 data 0d,30,0d,20,a1,b7,e4,ff,90,05
  206. 2060 data a2,0e,4c,37,a4,60,a2,16,4c,37
  207. 2070 data a4,a0,01,b1,7a,c9,ac,f0,02,18
  208. 2080 data 60,20,fd,ae,4c,73,00,20,79,00
  209. 2090 data f0,08,49,3a,f0,04,c9,01,38,60
  210. 2100 data 18,60,a9,00,85,bf,ae,86,02,86
  211. 2110 data 6e,86,6f,85,fd,ad,18,d0,29,02
  212. 2120 data 0a,0a,09,d0,85,fe,ad,0e,dc,29
  213. 2130 data fe,8d,0e,dc,a0,ff,84,69,c8,84
  214. 2140 data cf,84,be,a5,ce,20,17,c3,2c,11
  215. 2150 data d0,10,fb,a4,69,c8,84,69,b1,fb
  216. 2160 data c5,9e,d0,09,a5,bf,49,80,85,bf
  217. 2170 data 4c,e1,c1,b8,c9,12,f0,35,c9,92
  218. 2180 data f0,37,c9,0e,f0,39,c9,8e,f0,39
  219. 2190 data c9,91,f0,3b,c9,11,f0,3b,c9,1d
  220. 2200 data f0,3b,c9,9d,f0,3e,20,31,c3,10
  221. 2210 data 50,24,bf,10,56,c9,c1,f0,38,a2
  222. 2220 data 08,dd,6f,c3,f0,37,ca,10,f8,30
  223. 2230 data 46,a9,80,85,cf,50,36,a9,00,85
  224. 2240 data cf,50,30,a9,d8,50,02,a9,d0,85
  225. 2250 data fe,50,26,a9,28,50,0d,a9,28,50
  226. 2260 data 02,a9,01,20,fd,c2,50,17,a9,01
  227. 2270 data 20,17,c3,50,10,a9,01,85,70,d0
  228. 2280 data 0a,a5,bf,1d,78,c3,3d,81,c3,85
  229. 2290 data bf,c6,d7,d0,03,4c,f4,c2,4c,57
  230. 2300 data c1,a2,07,dd,4f,c3,b0,03,ca,d0
  231. 2310 data f8,5d,57,c3,05,cf,a2,00,86,6b
  232. 2320 data 0a,26,6b,0a,26,6b,0a,26,6b,65
  233. 2330 data fd,85,6a,a5,6b,65,fe,85,6b,a5
  234. 2340 data 01,29,fb,85,01,a0,07,b1,6a,99
  235. 2350 data 61,00,88,10,f8,24,bf,50,14,a2
  236. 2360 data 00,a0,03,b5,61,48,b9,65,00,95
  237. 2370 data 61,68,99,65,00,e8,88,10,f0,a9
  238. 2380 data 20,24,bf,f0,0f,a2,07,a0,08,16
  239. 2390 data 61,6a,88,d0,fa,95,61,ca,10,f3
  240. 2400 data a9,10,24,bf,f0,03,b8,50,07,4a
  241. 2410 data 24,bf,f0,1f,69,7f,a0,07,a2,07
  242. 2420 data 70,05,56,61,6a,50,03,16,61,2a
  243. 2430 data ca,10,f3,48,88,10,ed,a2,07,68
  244. 2440 data 95,61,ca,10,fa,a5,01,09,04,85
  245. 2450 data 01,a9,00,85,6c,18,a5,be,65,ce
  246. 2460 data a8,a9,04,85,6d,a6,6c,a9,00,36
  247. 2470 data 61,2a,36,61,2a,36,62,2a,36,62
  248. 2480 data 2a,85,ff,a5,bf,29,04,f0,13,a6
  249. 2490 data ff,f0,1b,b1,d1,a2,0f,dd,5f,c3
  250. 2500 data f0,05,ca,10,f8,30,0d,8a,05,ff
  251. 2510 data aa,bd,5f,c3,91,d1,a5,6e,91,f3
  252. 2520 data c8,c6,6d,f0,02,d0,c2,a6,6c,e0
  253. 2530 data 06,f0,0c,e8,e8,86,6c,98,18,69
  254. 2540 data 24,a8,4c,8b,c2,c6,d7,f0,11,98
  255. 2550 data 38,e9,78,85,be,a5,6e,a6,6f,85
  256. 2560 data 6f,86,6e,4c,57,c1,ad,0e,dc,09
  257. 2570 data 01,8d,0e,dc,60,85,ff,18,a5,d1
  258. 2580 data 65,ff,85,d1,90,03,e6,d2,18,a5
  259. 2590 data f3,65,ff,85,f3,90,02,e6,f4,b8
  260. 2600 data 60,85,ff,38,a5,d1,e5,ff,85,d1
  261. 2610 data b0,03,c6,d2,38,a5,f3,e5,ff,85
  262. 2620 data f3,b0,02,c6,f4,b8,60,a2,0f,dd
  263. 2630 data da,e8,d0,13,8a,a6,70,f0,09,95
  264. 2640 data 6d,8a,0a,29,03,85,70,60,85,6e
  265. 2650 data 85,6f,60,ca,10,e5,60,00,20,40
  266. 2660 data 60,80,a0,c0,ff,80,00,40,20,40
  267. 2670 data c0,80,a1,20,6c,7b,62,7c,e1,ff
  268. 2680 data fe,7e,7f,61,fc,e2,fb,ec,a0,d5
  269. 2690 data 55,c9,49,cc,d2,cf,4f,c3,40,00
  270. 2700 data 20,00,10,08,04,00,00,e7,a7,e7
  271. 2710 data c7,97,8f,ff,fb,00
  272.