home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 6 / 64er_Magazin_Sonderheft_06_86-06_1986_Markt__Technik_de_Disk_1_of_3_Side_B.d64 / apfel_src (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  15KB  |  582 lines

  1. 0 rem *********************************
  2. 1 rem *         apfelprinter          *
  3. 2 rem *         written 1985          *
  4. 3 rem *  for c64 + vc 1541 + mps 802  *
  5. 4 rem *       by peter siepen         *
  6. 5 rem *                               *
  7. 6 rem *      rechenroutinen von       *
  8. 7 rem *       gerhard pehland         *
  9. 8 rem *   (aus 64'er 11.85 seite 80)  *
  10. 9 rem *********************************
  11. 10 sys9*4096
  12. 20 .opt oo
  13. 30 *= $c000
  14. 90 ;
  15. 92 ; *********** quellcode ************
  16. 95 ;
  17. 98 ; systemadressen
  18. 100 fac        = 97
  19. 110 arg        = 105
  20. 120 chrout     = $ffd2
  21. 130 div        = $bb12 ;fac=fac/arg
  22. 140 sub        = $b853 ;fac=fac-arg
  23. 160 facnarg    = $bc0c ;arg = fac
  24. 170 zeigsub    = $b850 ;fac=(a/y)-fac
  25. 180 zeigadd    = $b867 ;fac=(a/y)+fac
  26. 190 zeigmult   = $ba28 ;fac=(a/y)*fac
  27. 200 konnarg    = $ba8c ;arg=(a/y)
  28. 210 konnfac    = $bba2 ;fac=(a/y)
  29. 220 facnkon    = $bbd4 ;(x/y)=fac
  30. 230 chsign     = $bfb4 ;fac=-fac
  31. 240 filepar    = $ffba ;fileparameter
  32. 250 filenam    = $ffbd ;filename setzen
  33. 252 frmnum     = $ad8a ;ausdruck auswerten
  34. 254 chkcom     = $aefd ;test auf ","
  35. 256 iecout     = $ffa8
  36. 257 iecin      = $ffa5
  37. 258 suchvar    = $b0e7 ;sucht varnam
  38. 260 ;
  39. 265 ; variablen
  40. 270 zeig1      = $57   ;universal
  41. 275 zeig2      = $59   ;zeiger
  42. 280 zeiger     = $a8   ;zeiger bei druck
  43. 295 spzeig     = $b5   ;zeiger $2000
  44. 300 zeile      = $cf00 ;akt.zeile
  45. 305 spalte     = $cf04 ;akt.spalte
  46. 310 zeilzahl   = $cf02 ;zeilenzaehler
  47. 315 byte       = $cf03 ;enthaelt 8 pkt
  48. 320 pos        = $cf05 ;zaehler 8 pkte
  49. 325 tiefe      = $cf06 ;akt. tiefe
  50. 330 tiefemax   = $cf07 ;maximale tiefe
  51. 335 zeigsp     = $cf08 ;zwischenspeicher
  52. 337 :                  ;fuer zeiger
  53. 340 spaltzahl  = $cf0a ;bei druck
  54. 345 zs         = $cf0b ;universal-
  55. 350 zs2        = $cf0c ;speicher
  56. 355 spaces     = $cf0e ;zaehler bei
  57. 357 :                  ;druck
  58. 360 maske      = $0334 ;enthaelt maske
  59. 362 :                  ;bei druck
  60. 365 namlen     = $0336 ;laenge filenam
  61. 370 dx         = $cf90 ;rechenvariablen
  62. 375 dy         = $cf30
  63. 380 cx         = $cf40
  64. 385 cy         = $cf60
  65. 390 xquad      = 87
  66. 395 yquad      = 247
  67. 400 xwert      = $cf70
  68. 405 ywert      = $cf80
  69. 410 xmax       = $cfa0
  70. 415 xmin       = $cfb0
  71. 420 ymax       = $cfc0
  72. 425 ymin       = $cfd0
  73. 490 ; konstanten
  74. 500 spalten    = 640   ;anzahl spalten
  75. 510 zeilen     = 400   ;anzahl zeilen
  76. 520 puffer     = $033c ;speicher 8 bytes
  77. 530 speicher   = $c500 ;speicher fuer
  78. 532 puffer1    = $02a1
  79. 535 :                  ;eine druckzeile
  80. 690 ;
  81. 800 :          jmp start
  82. 810 :          jmp save
  83. 820 :          jmp load
  84. 830 :          jmp print
  85. 890 ;
  86. 895 ;
  87. 900 start      jsr holwerte
  88. 910 :          jmp apfel
  89. 990 ;
  90. 995 ;
  91. 1000 holwerte  jsr chkcom ;liest werte
  92. 1010 :         jsr frmnum ;aus sys
  93. 1020 :         ldx #<xmin
  94. 1030 :         ldy #>xmin
  95. 1040 :         jsr facnkon
  96. 1050 :         jsr chkcom
  97. 1060 :         jsr frmnum
  98. 1070 :         ldx #<xmax
  99. 1080 :         ldy #>xmax
  100. 1090 :         jsr facnkon
  101. 1100 :         jsr chkcom
  102. 1110 :         jsr frmnum
  103. 1120 :         ldx #<ymin
  104. 1130 :         ldy #>ymin
  105. 1140 :         jsr facnkon
  106. 1150 :         jsr chkcom
  107. 1160 :         jsr frmnum
  108. 1170 :         ldx #<ymax
  109. 1180 :         ldy #>ymax
  110. 1190 :         jsr facnkon
  111. 1240 :         lda #<$2000 ;und setzt
  112. 1250 :         sta spzeig  ;zeiger
  113. 1260 :         lda #>$2000
  114. 1270 :         sta spzeig+1
  115. 1280 :         rts
  116. 1290 ;
  117. 1295 ;
  118. 2000 openfls   lda #15   ;oeffnet files
  119. 2010 :         ldx #04
  120. 2020 :         ldy #05
  121. 2030 :         jsr $ffba
  122. 2040 :         lda #$00
  123. 2050 :         jsr $ffbd
  124. 2060 :         jsr $ffc0
  125. 2070 :         lda #10
  126. 2080 :         ldx #04
  127. 2090 :         ldy #00
  128. 2100 :         jsr $ffba
  129. 2110 :         lda #$00
  130. 2120 :         jsr $ffbd
  131. 2130 :         jsr $ffc0
  132. 2180 :         lda #26
  133. 2190 :         ldx #04
  134. 2200 :         ldy #06
  135. 2210 :         jsr $ffba
  136. 2220 :         lda #$00
  137. 2230 :         jsr $ffbd
  138. 2240 :         jsr $ffc0
  139. 2250 :         ldx #26   ;und bereitet
  140. 2260 :         jsr $ffc9 ;drucker vor
  141. 2270 :         lda #21
  142. 2280 :         jsr iecout
  143. 2290 :         ldx #10
  144. 2295 :         jsr $ffc9
  145. 2300 :         lda #$0d
  146. 2305 :         jmp iecout
  147. 2310 ;
  148. 2320 ;
  149. 3000 closefls  lda #15
  150. 3010 :         jsr $ffc3
  151. 3020 :         lda #10
  152. 3030 :         jsr $ffc3
  153. 3040 :         lda #26
  154. 3050 :         jmp $ffc3
  155. 3060 ;
  156. 3500 inttofac  sta $63 ;pos. int-zahl
  157. 3510 :         stx $62 ;in a/x in fac
  158. 3520 :         ldx #$90
  159. 3530 :         sec
  160. 3540 :         jmp $bc49
  161. 3590 ;
  162. 3700 facsarg   lda arg+5 ;vorzeichen-
  163. 3710 :         eor fac+5 ;wechsel
  164. 3720 :         sta arg+6 ;fac + arg
  165. 3730 :         lda fac
  166. 3740 :         rts
  167. 3750 ;
  168. 4000 apfel     sei       ;rechenrout.
  169. 4010 :         lda #<xmin ;dx berechnen
  170. 4020 :         ldy #>xmin
  171. 4030 :         jsr konnfac
  172. 4040 :         lda #<xmax
  173. 4050 :         ldy #>xmax
  174. 4060 :         jsr zeigsub
  175. 4070 :         jsr facnarg
  176. 4080 :         lda #<spalten
  177. 4090 :         ldx #>spalten
  178. 4100 :         jsr inttofac
  179. 4110 :         jsr facsarg
  180. 4120 :         jsr div
  181. 4130 :         ldx #<dx
  182. 4140 :         ldy #>dx
  183. 4150 :         jsr facnkon
  184. 4160 :         lda #<ymin ;dy berechnen
  185. 4170 :         ldy #>ymin
  186. 4180 :         jsr konnfac
  187. 4190 :         lda #<ymax
  188. 4200 :         ldy #>ymax
  189. 4210 :         jsr zeigsub
  190. 4220 :         jsr facnarg
  191. 4230 :         lda #<zeilen
  192. 4240 :         ldx #>zeilen
  193. 4250 :         jsr inttofac
  194. 4260 :         jsr facsarg
  195. 4270 :         jsr div
  196. 4280 :         ldx #<dy
  197. 4290 :         ldy #>dy
  198. 4300 :         jsr facnkon
  199. 4310 :         ldy #4     ;cx=xmin
  200. 4320 l13       lda xmin,y ;cy=ymax
  201. 4330 :         sta cx,y
  202. 4340 :         lda ymax,y
  203. 4350 :         sta cy,y
  204. 4360 :         dey
  205. 4370 :         bpl l13
  206. 4380 :         lda #0
  207. 4390 :         sta zeile
  208. 4400 :         sta zeile+1
  209. 4410 :         sta spalte
  210. 4430 :         lda #$08
  211. 4433 :         sta pos
  212. 4440 iterat    lda #0
  213. 4450 :         sta byte
  214. 4460 iterat1   lda #0
  215. 4470 :         sta tiefe
  216. 4480 :         ldy #4
  217. 4490 l15       sta xwert,y
  218. 4500 :         sta ywert,y
  219. 4510 :         dey
  220. 4520 :         bpl l15
  221. 4525 iter1     inc tiefe
  222. 4530 :         lda tiefemax
  223. 4540 :         cmp tiefe ;"max. tiefe ?
  224. 4550 :         bcs iter4
  225. 4560 :         clc       ;punkt clear
  226. 4570 :         jmp plot
  227. 4580 iter4     lda #[179]xwert ;xwert[174]2
  228. 4590 :         ldy #[177]xwert ;in xquad
  229. 4600 :         jsr k[145]nfac
  230. 4610 :         lda #[179]xwert
  231. 4620 :         ldy #[177]xwert
  232. 4630 :         jsr zeigmult
  233. 4640 :         ldx #xquad
  234. 4650 :         ldy #0
  235. 4660 :         jsr facnk[145]
  236. 4670 :         lda #[179]ywert ;ywert[174]2
  237. 4680 :         ldy #[177]ywert ;in yquad
  238. 4690 :         jsr k[145]nfac
  239. 4700 :         lda #[179]ywert
  240. 4710 :         ldy #[177]ywert
  241. 4720 :         jsr zeigmult
  242. 4730 :         ldx #yquad
  243. 4740 :         ldy #0    ;xquad [170] yquad
  244. 4750 :         jsr facnk[145]
  245. 4760 :         lda #xquad
  246. 4770 :         ldy #0
  247. 4780 :         jsr zeigadd
  248. 4790 :         lda fac
  249. 4800 :         cmp #$84  ;"summe > 8 ?
  250. 4810 :         bcc iter3
  251. 4820 :         lda tiefe
  252. 4830 :         ror       ;carry setzen
  253. 4840 :         jmp plot
  254. 4850 iter3     lda #<ywert ;ywert =
  255. 4860 :         ldy #>ywert ;xwert*ywert
  256. 4870 :         jsr konnfac ;*2-cy
  257. 4880 :         lda #<xwert
  258. 4890 :         ldy #>xwert
  259. 4900 :         jsr zeigmult
  260. 4910 :         lda fac
  261. 4920 :         beq iter2
  262. 4930 :         inc fac
  263. 4940 iter2     lda #<cy
  264. 4950 :         ldy #>cy
  265. 4960 :         jsr zeigsub
  266. 4970 :         jsr chsign
  267. 4980 :         ldx #<ywert
  268. 4990 :         ldy #>ywert
  269. 5000 :         jsr facnkon
  270. 5010 :         ldy #0      ;xwert =
  271. 5020 :         lda #yquad  ;xquad-yquad
  272. 5030 :         jsr konnfac ;-cx
  273. 5040 :         ldy #0
  274. 5050 :         lda #xquad
  275. 5060 :         jsr zeigsub
  276. 5070 :         lda #<cx
  277. 5080 :         ldy #>cx
  278. 5090 :         jsr zeigsub
  279. 5100 :         jsr chsign
  280. 5110 :         ldx #<xwert
  281. 5120 :         ldy #>xwert
  282. 5130 :         jsr facnkon
  283. 5140 :         jmp iter1
  284. 5200 plot      lda byte ;setze bit mit
  285. 5210 :         rol      ;carry
  286. 5220 :         sta byte
  287. 5225 :         inc 53280 ;farbe
  288. 5230 :         lda #<cx ;cx=cx+dx
  289. 5240 :         ldy #>cx
  290. 5250 :         jsr konnfac
  291. 5260 :         lda #<dx
  292. 5270 :         ldy #>dx
  293. 5280 :         jsr zeigadd
  294. 5290 :         ldx #<cx
  295. 5300 :         ldy #>cx
  296. 5310 :         jsr facnkon
  297. 5320 :         dec pos
  298. 5330 :         beq apfel1
  299. 5340 :         jmp iterat1
  300. 5350 apfel1    lda #08
  301. 5360 :         sta pos
  302. 5370 :         jsr setbyte
  303. 5380 :         inc spalte
  304. 5390 :         lda spalte
  305. 5400 :         cmp #80 ;drucker
  306. 5410 :         beq apfel2
  307. 5420 :         jmp iterat
  308. 5430 apfel2    lda #0
  309. 5440 :         sta spalte
  310. 5450 :         ldy #5     ;cx=xmin
  311. 5460 l30       lda xmin,y
  312. 5470 :         sta cx,y
  313. 5480 :         dey
  314. 5490 :         bpl l30
  315. 5500 :         inc zeile
  316. 5510 :         bne w1
  317. 5520 :         inc zeile+1
  318. 5530 w1        lda zeile+1
  319. 5540 :         cmp #>zeilen
  320. 5550 :         bcc w2
  321. 5560 :         lda zeile
  322. 5570 :         cmp #<zeilen
  323. 5580 :         bcc w2
  324. 5590 :         jmp endapfel
  325. 5600 w2        lda #<dy    ;cy=cy-dy
  326. 5610 :         ldy #>dy
  327. 5620 :         jsr konnfac
  328. 5630 :         lda #<cy
  329. 5640 :         ldy #>cy
  330. 5650 :         jsr zeigsub
  331. 5660 :         ldx #<cy
  332. 5670 :         ldy #>cy
  333. 5680 :         jsr facnkon
  334. 5690 :         jmp iterat
  335. 5700 endapfel  cli
  336. 5710 :         rts
  337. 5990 ;
  338. 5995 ;
  339. 6000 setbyte   ldy #$00 ;byte speichern
  340. 6005 :         lda byte
  341. 6015 :         sta (spzeig),y
  342. 6050 :         inc spzeig
  343. 6060 :         bne spw1
  344. 6070 :         inc spzeig+1
  345. 6080 spw1      rts
  346. 6090 ;
  347. 10000 save     lda #8
  348. 10010 :        ldx #08
  349. 10020 :        ldy #1
  350. 10030 :        jsr $ffba
  351. 10040 :        lda namlen
  352. 10050 :        ldx #<$033c
  353. 10060 :        ldy #>$033c
  354. 10070 :        jsr $ffbd
  355. 10080 :        jsr $ffc0
  356. 10090 :        ldx #8
  357. 10100 :        jsr $ffc9
  358. 10110 :        lda #<$2000
  359. 10112 :        jsr iecout
  360. 10114 :        lda $90
  361. 10115 :        bmi saveende
  362. 10116 :        lda #>$2000
  363. 10117 :        jsr iecout
  364. 10118 :        lda $90
  365. 10119 :        bmi saveende
  366. 10120 :        lda #<$2000  ;$2000-
  367. 10125 :        sta spzeig
  368. 10130 :        lda #>$2000
  369. 10140 :        sta spzeig+1
  370. 10150 :        ldy #$00
  371. 10160 saveloop lda (spzeig),y
  372. 10170 :        jsr iecout
  373. 10174 :        lda $90
  374. 10178 :        bmi saveende
  375. 10180 :        inc spzeig
  376. 10190 :        bne savew1
  377. 10200 :        inc spzeig+1 ;-40192
  378. 10210 savew1   lda spzeig+1
  379. 10220 :        cmp #>32001+$2000
  380. 10230 :        bne saveloop
  381. 10240 :        lda spzeig
  382. 10250 :        cmp #<32001+$2000
  383. 10260 :        bne saveloop
  384. 10270 :        ldx #$00    ;variablen
  385. 10280 savel1   lda $cf00,x
  386. 10290 :        jsr iecout
  387. 10300 :        inx
  388. 10310 :        bne savel1
  389. 10320 saveende lda #08
  390. 10330 :        jsr $ffc3
  391. 10340 :        jmp $ffcc
  392. 10350 ;
  393. 11000 load     lda #8
  394. 11010 :        ldx #08
  395. 11020 :        ldy #0
  396. 11030 :        jsr $ffba
  397. 11040 :        lda namlen
  398. 11050 :        ldx #<$033c
  399. 11060 :        ldy #>$033c
  400. 11070 :        jsr $ffbd
  401. 11080 :        jsr $ffc0
  402. 11090 :        ldx #8
  403. 11100 :        jsr $ffc6
  404. 11101 :        jsr iecin
  405. 11102 :        lda $90
  406. 11103 :        lsr
  407. 11104 :        lsr
  408. 11105 :        bcs loadende
  409. 11106 :        jsr iecin
  410. 11110 :        lda #<$2000  ;$2000
  411. 11120 :        sta spzeig
  412. 11130 :        lda #>$2000
  413. 11140 :        sta spzeig+1
  414. 11150 :        ldy #$00
  415. 11160 loadloop jsr iecin
  416. 11170 :        sta (spzeig),y
  417. 11180 :        inc spzeig
  418. 11190 :        bne loadw1
  419. 11200 :        inc spzeig+1
  420. 11210 loadw1   lda spzeig+1 ;-40192
  421. 11220 :        cmp #>(32001+$2000)
  422. 11230 :        bne loadloop
  423. 11240 :        lda spzeig
  424. 11250 :        cmp #<(32001+$2000)
  425. 11260 :        bne loadloop
  426. 11270 :        ldx #$00
  427. 11280 loadl1   jsr iecin   ;variablen
  428. 11290 :        sta $cf00,x
  429. 11300 :        inx
  430. 11310 :        bne loadl1
  431. 11320 loadende jsr $ffcc
  432. 11330 :        lda #08
  433. 11340 :        jsr $ffc3
  434. 11350 :        lda #<xmin  ;werte in
  435. 11360 :        ldy #>xmin  ;basic-
  436. 11370 :        jsr konnfac ;variablen
  437. 11380 :        lda #"l"    ;schreiben
  438. 11390 :        ldy #"i"
  439. 11400 :        jsr facvar
  440. 11430 :        lda #<xmax
  441. 11440 :        ldy #>xmax
  442. 11450 :        jsr konnfac
  443. 11460 :        lda #"r"
  444. 11470 :        ldy #"e"
  445. 11480 :        jsr facvar
  446. 11490 :        lda #<ymin
  447. 11500 :        ldy #>ymin
  448. 11510 :        jsr konnfac
  449. 11520 :        lda #"o"
  450. 11530 :        ldy #"b"
  451. 11540 :        jsr facvar
  452. 11550 :        lda #<ymax
  453. 11560 :        ldy #>ymax
  454. 11570 :        jsr konnfac
  455. 11580 :        lda #"u"
  456. 11590 :        ldy #"n"
  457. 11600 :        jmp facvar
  458. 11610 :
  459. 11620 facvar   sta $45     ;schreibt
  460. 11630 :        sty $46     ;fac in var
  461. 11640 :        jsr suchvar ;mit name in
  462. 11650 :        tax         ;a/y
  463. 11660 :        jmp facnkon
  464. 11670 :
  465. 11680 :
  466. 12000 print    jsr openfls ;oeffnet file
  467. 12010 :        lda #50     ;anzahl druck
  468. 12020 :        sta zeile   ;zeilen
  469. 12030 :        lda #<$2000 ;zeiger auf
  470. 12040 :        sta zeig1   ;grafik-
  471. 12050 :        lda #>$2000 ;speicher
  472. 12060 :        sta zeig1+1
  473. 12070 ploop1   lda #<speicher ;zeiger
  474. 12080 :        sta zeig2      ;auf puffer
  475. 12090 :        lda #>speicher ;fuer eine
  476. 12100 :        sta zeig2+1    ;zeile
  477. 12110 :        ldy #$00
  478. 12120 ploop    lda (zeig1),y
  479. 12130 :        sta (zeig2),y
  480. 12140 :        inc zeig1
  481. 12150 :        bne pw1
  482. 12160 :        inc zeig1+1
  483. 12170 pw1      inc zeig2
  484. 12180 :        bne pw2
  485. 12190 :        inc zeig2+1
  486. 12200 pw2      lda zeig2+1
  487. 12210 :        cmp #>(640+speicher)
  488. 12220 :        bne ploop    ;"fertig ?
  489. 12230 :        lda zeig2
  490. 12240 :        cmp #[179](640[170]speicher)
  491. 12250 :        bne ploop
  492. 12260 :        jsr output ;zeile ausgb.
  493. 12270 :        dec zeile
  494. 12280 :        bne ploop1
  495. 12285 :        jsr $ffcc  ;[128]e
  496. 12290 :        jmp [160]fls
  497. 12390 ;
  498. 12395 ;
  499. 13000 output   lda #[179]speicher
  500. 13010 :        sta zeigsp
  501. 13020 :        lda #[177]speicher
  502. 13030 :        sta zeigsp[170]1
  503. 13060 :        lda #$00   ;anzahl spaces
  504. 13070 :        sta spaces ;v[176] zeichen
  505. 13100 :        lda #80
  506. 13110 :        sta spaltzahl
  507. 13120 outloop1 ldx #$08
  508. 13130 :        ldy #$00
  509. 13140 :        lda zeigsp
  510. 13150 :        sta zeiger
  511. 13160 :        lda zeigsp[170]1
  512. 13170 :        sta zeiger[170]1
  513. 13180 outloop2 lda (zeiger),y ;8 bytes
  514. 13190 :        sta puffer,x   ;eines
  515. 13200 :        clc            ;zeichens
  516. 13210 :        lda zeiger     ;in puffer
  517. 13220 :        adc #80
  518. 13230 :        sta zeiger
  519. 13240 :        bcc w4
  520. 13250 :        inc zeiger[170]1
  521. 13260 w4       dex
  522. 13270 :        bne outloop2
  523. 13300 :        lda #$80
  524. 13305 :        ldy #8
  525. 13310 loop2    ldx #08
  526. 13320 :        sta zs
  527. 13330 loop1    [175] puffer,x ;8 bytes
  528. 13340 :        clc          ;werden
  529. 13350 :        beq w5       ;v[145] h[176]iz.
  530. 13360 :        sec          ;nach
  531. 13370 w5       rol zs2      ;vertikal
  532. 13380 :        lda zs       ;[176]ientiert
  533. 13390 :        dex
  534. 13400 :        bne loop1
  535. 13410 :        lda zs2
  536. 13420 :        e[176] maske     ;inv oder
  537. 13430 :        sta puffer1,y ;n[176]mal
  538. 13440 :        dey
  539. 13442 :        lda zs        ;naechst.
  540. 13444 :        lsr           ;bit
  541. 13446 :        sta zs
  542. 13448 :        bcc loop2
  543. 13450 :        ldx #08       ;8 leerbyte
  544. 13451 tloop    lda puffer1,x ;wenn ja
  545. 13452 :        cmp #$00
  546. 13453 :        bne nospace
  547. 13454 :        dex
  548. 13455 :        bne tloop
  549. 13461 :        inc spaces    ;ausgabe
  550. 13462 :        jmp [154]      ;ueberspr.
  551. 13469 nospace  ldx #15
  552. 13470 :        jsr $ffc9
  553. 13471 :        ldx #8
  554. 13472 tloop1   lda puffer1,x ;bitmuster
  555. 13473 :        jsr iecout    ;fuer
  556. 13474 :        dex           ;1 zeichen
  557. 13475 :        bne tloop1    ;an drucker
  558. 13480 :        lda #$0d
  559. 13490 :        jsr iecout
  560. 13500 :        ldx #10
  561. 13510 :        jsr $ffc9
  562. 13520 :        inc spaces
  563. 13530 :        ldx spaces    ;druckkopf
  564. 13540 :        lda #$20      ;[185]iti[145]
  565. 13550 sloop    dex
  566. 13560 :        beq space[128]
  567. 13570 :        jsr iecout
  568. 13580 :        jmp sloop
  569. 13590 space[128] lda #$fe    ;[150]. zeichen
  570. 13600 :        jsr iecout  ;ausdrucken
  571. 13610 :        lda #141
  572. 13620 :        jsr iecout
  573. 13630 [154]     inc zeigsp ;zeiger
  574. 13640 :        bne w6     ;aktualisieren
  575. 13650 :        inc zeigsp[170]1
  576. 13660 w6       dec spaltzahl
  577. 13670 :        beq w7
  578. 13680 :        jmp outloop1
  579. 13690 w7       lda #$0d   ;[128]e
  580. 13700 :        jsr iecout
  581. 13710 out[128]   rts
  582.