home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er Special 27
/
64er_Magazin_Sonderheft_27_19xx_Markt__Technik_de_Disk_2_of_2_Side_A.d64
/
split-screen.src
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
29KB
|
1,157 lines
100 ;*********************************
110 ;*** ***
120 ;*** (NULL)urs ***
130 ;*** (NULL)aubereien mit chr$rafik und ***
140 ;*** atnssembler ***
150 ;*** ***
160 ;*********************************
170 ;*** ***
180 ;*** peekasic-valrweiterung ***
190 ;*** (NULL)plit-(NULL)creen ***
200 ;*** ***
210 ;*********************************
220 ;*** ***
230 ;*** (len) 1988 by (NULL)homas (NULL)ipp ***
240 ;*** 8000 (NULL)uenchen 82 ***
250 ;*** ***
260 ;*********************************
270 ;
280 +$c000
290 usr$c000
300 ;
310 ;*********************************
320 ;*** peekasic-valrweiterung ***
330 ;*********************************
340 ;
350 ;*** (NULL)abels ***
360 ;
370 tab(chrget=$0073; chrget-(NULL)outine
380 tab(chrgot=$0079; chrgot-(NULL)outine
390 tab(txtptr=$007a; chrget-(NULL)eiger
400 ;
410 tab(igone=$0308; (NULL)ektor zum (NULL)outinenaufruf
420 tab(gone1=$a7e4; alter right$nhalt von right$gone
430 tab(intend=$a7e7; valnde der right$nterpreterschleife
440 ;
450 ;*** valrweiterung einschalten ***
460 ;
470 mid$#$ff; (NULL)peichergrenze auf $7fff herabsetzen
480 (NULL)$37; lsb (NULL)peicherende
490 mid$#$7f
500 (NULL)$38; msb (NULL)peicherende
510 ;
520 mid$#<(start); lsb der eigenen (NULL)outine
530 (NULL)igone; in (NULL)ektor schreiben
540 mid$#>(start); msb der eigenen (NULL)outine
550 (NULL)igone+1; in (NULL)ektor schreiben
560 ;
570 (NULL); (NULL)uecksprung ins peekasic
580 ;
590 ;*** valrweiterung ausschalten ***
600 ;
610 aus mid$#<(gone1); (NULL)ektor auf (NULL)ormalwert zurueckstellen
620 (NULL)igone; lsb
630 mid$#>(gone1)
640 (NULL)igone+1;msb
650 ;
660 (NULL); (NULL)outinenende
670 ;
680 ;*** erweiterte right$nterpreterschleife ***
690 ;
700 start (NULL)chrget; (NULL)eichen holen
710 ;
720 str$#$60; peekuchstabe ?
730 (NULL)ende; => peekasic-lenode
740 str$#$41; peekuchstabe atn ?
750 (NULL)ende; => (NULL)onderzeichen
760 ;
770 (NULL)akku; atnkku sichern
780 ;
790 peek#$00
800 (NULL)befnr; peekefehlsnummer auf 0 setzen
810 ;
820 erw1 len#$00; peekasictextindex auf 0 setzen
830 right$befnr; peekefehlsnummer +1
840 mid$beftab,x; (NULL)eichen aus peekefehlstabelle holen
850 (NULL)erw2; kein (NULL)rennzeichen
860 mid$akku; atnkku holen
870 ende (NULL)chrgot; chrgot aufrufen
880 (NULL)intend; zurueck ins normale peekasic
890 ;
900 ;*** atndresse suchen ***
910 ;
920 erw2 str$(txtptr),y; (NULL)ergleich mit peekasictext
930 (NULL)ovrd; ungleich -> (NULL)est ueberlesen
940 (NULL); peekasictextindex + 1
950 (NULL); peekefehlstab.-right$ndex + 1
960 mid$beftab,x; naechstes (NULL)eichen holen
970 (NULL)erw2; => pruefen
980 ;
990 ;
1000 (NULL)
1010 (NULL); peekefehlsindex um peekefehlslaenge erhoehen
1020 valtxtptr
1030 (NULL)txtptr
1040 (NULL)erw3; (NULL)ebertrag ?
1050 right$txtptr+1; msb erhoehen
1060 ;
1070 erw3 mid$befnr; peekefehlsnummer verdoppeln
1080 (NULL)
1090 (NULL); als right$ndex in (NULL)prungtabelle
1100 mid$sprtab1,x; lsb lesen
1110 (NULL)sprung+1; lsb schreiben
1120 mid$sprtab2,x; msb lesen
1130 (NULL)sprung+2; msb schreiben
1140 ;
1150 sprung (NULL)$ffff; str$ummy
1160 ;
1170 (NULL)ende; zurueck ins peekasic
1180 ;
1190 ;*** restl. peekefehlstext ueberlesen ***
1200 ;
1210 ovrd (NULL); peekefehlstab.-right$ndex + 1
1220 mid$beftab,x; naechstes (NULL)eichen holen
1230 (NULL)ovrd; => kein (NULL)rennzeichen
1240 (NULL); peekefehlstab.-right$ndex+1
1250 (NULL)erw1; naechster peekefehl
1260 ;
1270 ;*** (NULL)abellen fuer valrweiterung ***
1280 ;
1290 ;*** (NULL)prungtabelle ***
1300 ;
1310 sprtab1 fn$e7
1320 sprtab2 fn$a7
1330 spc(aus
1340 spc(ir
1350 spc(ia
1360 spc(gl
1370 spc(sp
1380 spc(ep
1390 spc(ln
1400 spc(cp
1410 spc(hc
1420 spc(sa
1430 spc(lo
1440 fn$00,$00
1450 ;
1460 ;*** peekefehlstabelle ***
1470 ;
1480 beftab not"off
1490 [165]$00
1500 [168]"irq
1510 fn$00
1520 not"text
1530 [165]$00
1540 [168]"gcl
1550 fn$00
1560 not"set
1570 [165]$00
1580 [168]"erase
1590 fn$00
1600 not"line
1610 [165]$00
1620 [168]"char
1630 fn$00
1640 not"hc
1650 [165]$00
1660 [168]"sa
1670 fn$00
1680 not"lo
1690 [165]$00,$00
1700 ;
1710 ;*** [200]ilfszellen ***
1720 ;
1730 akku [165]$00
1740 befnr [165]$00
1750 ;
2000 ;*********************************
2010 ;*** [210]asterzeileninterrupt ***
2020 ;*********************************
2030 ;
2040 ;*** [204]abels: [199]rafik ***
2050 ;
2060 [163]v1=$d011; [193]dr. [199]rafikmodus
2070 [163]v2=$d018; [193]dr. [214]ideoram
2080 [163]cia=$dd00; 16[203]-[211]election
2090 [163]clrscr=$e544; [212]extbildschirm loeschen
2100 [163]cursor=$e510; [195]ursor setzen
2110 [163]xcur=$00d3; x-[203]oordinate des [195]ursor
2120 [163]ycur=$00d6; y-[203]oordinate des [195]ursor
2130 [163]help1=$00fa; [218]eropagespeicherstelle
2140 [163]help2=$00fb; [218]eropagespeicherstelle
2150 [163]bitmap=$8000; [194]itmapadresse
2160 [163]videoram=$a000; [214]ideoramadresse
2170 ;
2180 ;*** [205]akros: [199]rafik ein/aus, [214]ideoram loeschen, [195]ursor setzen ***
2190 ;
2200 [161]gra; [199]rafik einschalten
2210 [202]#$3b; [194]itmapmodus einschalten
2220 [210]v1
2230 [202]#$80; [214]ideoram selectieren
2240 [210]v2
2250 [202]#$01; 16[203]-[194]ereich selectieren
2260 [210]cia
2270 [162]
2280 ;
2290 [161]txt; [199]rafik ausschalten
2300 [202]#$1b; [194]itmapmodus ausschalten
2310 [210]v1
2320 [202]#$15; [214]ideoram zuruecksetzen
2330 [210]v2
2340 [202]#$03; 16[203]-[194]ereich selectieren
2350 [210]cia
2360 [162]
2370 ;
2380 [161]vram; [214]ideoram loeschen
2390 [202]#208; [214]ideoramwert
2400 ;
2410 [195]#>(videoram); [211]tartadresse des [214]ideorams in [218][208] schreiben
2420 [212]help2; msb
2430 [195]#<(videoram)
2440 [212]help1; lsb
2450 [194]#$04; [201]ndex fuer aeussere [211]chleife
2460 vl1 [210](help1),y; [194]yte im [214]ideoram mit 208 ueberschreiben
2470 [237]; [217] + 1 ; innere [211]chleife 256 mal
2480 [246]vl1; => [217]<>0
2490 [201]help2; msb der [214]ideoramposition + 1
2500 [238]; aeusserer [211]chleifenzaehler - 1
2510 [246]vl1; => [216]<>0
2520 [162]
2530 ;
2540 [161]cur
2550 [202]#12; 12. [218]eile
2560 [210]ycur; in [218][208] schreiben
2570 [202]#$00; 0. [211]palte
2580 [210]xcur; in [218][208] schreiben
2590 [213]cursor; [195]ursor setzen und [210]outinenende
2600 [162]
2610 ;
2620 ;*** [204]abel: [210]asterzeileninterrupt ***
2630 ;
2640 [163]irq=$0314; [201][210][209]-[214]ektor
2650 [163]raster=$d012; [210]asterzeilen [210]egister; msb (7.[194]it) = raster-1
2660 [163]rirqen=$d01a; [214][201][195]-[201][210][209] [197]nable [210]egister
2670 [163]reqirq=$d019; [214][201][195]-[201][210][209] [210]equest [210]egister
2680 [163]ciairq=$dc0d; [195][201][193]1 [201][210][209] [203]ontroll [210]egister
2690 [163]cntirq=$ea31; [195][201][193] [201][210][209] [210]outine
2700 [163]endirq=$ea81; [197]nde der normalen [201][210][209] [210]outine
2710 ;
2720 ;*** [201]nit: [214]ektoren verbiegen, [201][210][209] zulassen ***
2730 ;
2740 ir [232]; [201]nterrupt sperren
2750 ;
2760 [202]#<(mainirq); [201][210][209]-[214]ektor auf eigene [201][210][209] [210]outine verbiegen
2770 [210]irq; lsb
2780 [202]#>(mainirq)
2790 [210]irq+1; msb
2800 ;
2810 [202]#$00; [210]asterzeile 0 (oberhalb des [194]ildschirmfensters)
2820 [210]raster; in [210]egister schreiben
2830 [202]raster-1; msb (7.[194]it) loeschen
2840 [198]#$7f
2850 [210]raster-1
2860 ;
2870 [202]#%10000001; [210]aster [201][210][209] zulassen
2880 [210]rirqen
2890 ;
2900 [202]#128; timer-irq aus
2910 [210]$dc0e
2920 ;
2940 [231]; [201]nterrupt wieder zulassen
2950 ;
2960 ;*** [194]ildschirm und [214]ideoram loeschen, [195]ursor setzen ***
2970 ;
2980 [214]clrscr; [212]extbildschirm loeschen
2990 vram; [214]ideoram loeschen
3000 cur; [195]ursor setzen
3010 ;
3020 ;*** veraenderte [201][210][209]-[210]outine ***
3030 ;
3040 mainirq [232]; [201]nterrupt sperren
3050 [202]reqirq; [201][210][209] von [210]asterstrahl ?
3060 [210]reqirq; [210]egister zurueckschreiben und loeschen
3070 [241]rasterirq; zur [210]aster [201][210][209] [210]outine
3080 [202]ciairq; loeschen des [195][201][193]1 [203]ontroll [210]egister
3090 [231]; [201]nterrupt wieder zulassen
3100 [213]endirq; zum [197]nde der normalen [201][210][209] [210]outine
3110 ;
3120 ;*** [210]aster [201][210][209] [210]outine ***
3130 ;
3140 rasterirq [232]; [201]nterrupt sperren
3150 [202]raster; [210]asterzeilen-[210]egister auslesen
3170 [246]textfe; => raster = $91
3180 ;
3190 gra; [199]rafik einschalten
3200 ;
3210 [202]#$91; 145. [210]asterzeile, [213]mschaltung auf [212]ext
3220 [210]raster; in [210]egister schreiben
3230 [202]raster-1; msb (7.[194]it)[160]loeschen
3240 [198]#$7f
3250 [210]raster-1
3260 ;
3270 [231]; [201]nterrupt wieder zulassen
3280 [213]cntirq; zur [195][201][193] [201][210][209] [210]outine
3290 ;
3300 textfe [194]#$07; [215]arteschleife, bis der [210]asterstrahl im [210]and ist
3310 irqwait [228]
3320 [238]
3330 [246]irqwait
3340 ;
3350 txt; [199]rafik ausschalten, [212]extbildschirm einschalten
3360 ;
3370 [202]#$00; 0. [218]eile, [213]mschaltung auf [199]rafik
3380 [210]raster; in [210]egister schreiben
3390 [202]raster-1; msb (7.[194]it) loeschen
3400 [198]#$7f
3410 [210]raster-1
3420 ;
3430 [231]; [201]nterrupt wieder zulassen
3440 [213]endirq; zum [197]nde der [201][210][209]-[210]outine
3450 ;
3460 ;*** [210]asterzeileninterrupt wieder ausschalten ***
3470 ;
3480 ia [232]; [201]nterrupt sperren
3485 ;
3490 [202]#$00; [210]aster [201][210][209] ausschalten
3500 [210]rirqen; in [210]egister schreiben
3510 ;
3520 [202]#<(cntirq); [201][210][209]-[214]ektor wieder herstellen
3530 [210]irq; lsb
3540 [202]#>(cntirq)
3550 [210]irq+1; msb
3560 ;
3570 [202]#1; timer-irq ein
3580 [210]$dc0e
3590 ;
3600 txt; [199]rafik ausschalten, [212]extbildschirm einschaleten
3610 ;
3620 [231]; [201]nterrupt wieder zulassen
3630 [227]; [210]outinenende
3640 ;
4000 ;*********************************
4010 ;*** [199]rafik loeschen ***
4020 ;*********************************
4030 ;
4040 gl [202]#>(bitmap); [194]itmapadresse in [218][208] schreiben
4050 [210]help2; msb
4060 [202]#<(bitmap)
4070 [210]help1; lsb
4080 ;
4090 [194]#$20; aeusserer [211]chleifenindex, 32 mal
4100 gl2 [218]; innerer [211]chleifenindex [217] auf 0 setzen
4110 gl1 [210](help1),y; [206]ullbyte in [194]itmap schreiben
4120 [237]; [217] + 1, innere [211]chleife
4130 [246]gl1; => [217]<>0
4140 [201]help2; msb der [194]itmapposition erhoehen
4150 [238]; [216] - 1, aeussere [211]chleife
4160 [246]gl2; => [216]<>0
4170 ;
4180 [227]; => [216]=0, 32*256 [211]chleifendurchlaeufe,
4190 ; ) [210]outinenende
4200 ;
5000 ;*********************************
5010 ;*** [211]et [208]oint, [197]rase [208]oint ***
5020 ;*********************************
5030 ;
5040 ;*** [204]abels ***
5050 ;
5060 [163]bal=$f9; [194]yte-[193]dresse low
5070 [163]bah=$fa; [194]yte-[193]dresse high
5080 [163]ywert=$fb; y-[203]oordinate
5090 [163]xwertl=$14; x-[203]oordinate low
5100 [163]xwerth=$15; x-[203]oordinate high
5110 [163]chkcom=$aefd; auf [203]omma im [194]asictext pruefen
5120 [163]getpar=$b7eb; holt 16-[194]it integer [215]ert in $14/$15
5130 ; und 8-[194]it integer [215]ert in [216]-[210]egister
5140 ;
5150 ;*** [205]akro: [194]erechnung ***
5160 ;
5170 [161]calc; [194]erechnungsteil fuer [211]et [208]oint und [197]rase [208]oint
5180 [202]#$00; bal loeschen
5190 [210]bal
5200 ;
5210 [202]ywert; y in [193]kku
5220 [205]; [y/8]
5230 [205]
5240 [205]
5250 ;
5260 [210]bah; [193]kku([y/8])*5 = [193]kku*4 + [193]kku
5270 [203]
5280 [203]
5290 [197]bah
5300 ;
5310 [205]; [193]kku(5*[y/8])*64 = [193]kku*256/4
5320 [208]bal; => msb -> lsb und 16-[194]it [196]ivision mit 4
5330 [205]
5340 [208]bal
5350 ;
5360 [197]#>(bitmap); [194]itmap hinzuaddieren
5370 [210]bah; [193]kku(320*[y/8]+$8000) speichern
5380 ;
5390 [202]xwertl; lsb(x)
5400 [198]#$f8; [x/8]*8
5410 ;
5420 [197]bal; 16-[194]it [193]ddition:
5430 [210]bal; [193]kku([x/8]*8) + bal/bah
5440 [202]xwerth; msb(x)
5450 [197]bah; wird unveraendert hinzuaddiert
5460 [210]bah
5470 ;
5480 [202]ywert; y-[y/8]*8, [210]est der [196]ivision y/8
5490 [198]#$07
5500 ;
5510 [218]; als [201]ndex in [217] verwenden
5520 ;
5530 [202]xwertl; lsb(x)
5540 [198]#$07; x-[x/8]*8, ergibt [194]it-[206]ummer
5550 ;
5560 [216]; als [201]ndex in [216] verwenden
5570 [162]
5580 ;
5590 ;*** [211]et [208]oint ***
5600 ;
5610 sp [214]chkcom; auf [203]omma pruefen
5620 [214]getpar; x und y holen
5630 [211]ywert; [216](x) in [218][208] schreiben
5640 ;
5650 set calc; [194]yte und [194]it errechnen
5660 ;
5670 [202]pot1,x; [194]yte aus [212]abelle lesen
5680 [206](bal),y; [194]yte mit [199]rafikbyte verknuepfen
5690 [210](bal),y; verknuepftes [194]yte zurueckschreiben
5700 ;
5710 [227]; [210]outinenende
5720 ;
5730 ;*** [212]abelle der 2er [208]otenzen ***
5740 ;
5750 pot1 [165]$80,$40,$20,$10
5760 [165]$08,$04,$02,$01
5770 ;
5780 ;
5790 ;*** [197]rase [208]oint ***
5800 ;
5810 ep [214]chkcom; auf [203]omma pruefen
5820 [214]getpar; x und y holen
5830 [211]ywert; [216](x) in [218][208] schreiben
5840 ;
5850 calc; [194]yte und [194]it errechnen
5860 ;
5870 [202]pot2,x; [194]yte aus [212]abelle lesen
5880 [198](bal),y; [194]yte mit [199]rafikbyte verknuepfen
5890 [210](bal),y; verknuepftes [194]yte zurueckschreiben
5900 ;
5910 [227]; [210]outinenende
5920 ;
5930 ;*** [212]abelle mit den invertierten 2er [208]otenzen ***
5940 ;
5950 pot2 [165]$7f,$bf,$df,$ef
5960 [165]$f7,$fb,$fd,$fe
5970 ;
7000 ;*********************************
7010 ;*** [204]ine-[210]outine ***
7020 ;*********************************
7030 ;
7040 ;*** [208]arameter holen ***
7050 ;
7060 ln [214]chkcom; auf [203]omma pruefen
7070 [214]getpar; x1 und y1 holen
7080 ;
7090 [211]ywert; y1 in [218][208] ablegen
7100 [202]$14; lsb(x1)
7110 [210]x1l; zwischenspeichern
7120 [202]$15; msb(x1)
7130 [210]x1h; zwischenspeichern
7140 ;
7150 [214]chkcom; auf [203]omma pruefen
7160 [214]getpar; x2 und y2 holen
7170 ;
7180 [211]y2; y2 speichern
7190 [202]$14; lsb(x2)
7200 [210]x2l; speichern
7210 [202]$15; msb(x2)
7220 [210]x2h; speichern
7230 ;
7240 [202]x1l; zwischengespeicherter x1-[215]ert in [218][208] ablegen
7250 [210]xwertl; lsb
7260 [202]x1h
7270 [210]xwerth; msb
7280 ;
7290 [234]; [196]ezimalmodus loeschen
7300 ;
7310 ;*** [194]eginn der [211]trukturierung ***
7320 ;
7330 ;---------------------------------
7340 ;
7350 [230]; dx = x2 - x1
7360 [202]x2l; lsb(x2)
7370 [209]xwertl; minus lsb(x1)
7380 [210]dx; [197]rgebnis in dx
7390 [202]x2h; msb(x2)
7400 [209]xwerth; minus msb(x1)
7410 [210]dx+1; [197]rgebnis in dx+1 ([200]igh-[194]yte)
7420 ;
7430 ;---------------------------------
7440 ;
7450 [240]line1; => dx > 0, 7. [194]it des msb ist entscheidend
7460 ;
7470 ;---------------------------------
7480 ;
7490 [200]#$ff; dx = -dx = not(dx) + 1
7500 [210]dx+1; not(msb(dx)), speichern
7510 [202]dx
7520 [200]#$ff; not(lsb(dx))
7530 [229]; 1 addieren
7540 [197]#$01; lsb(dx) = lsb(dx) + 1
7550 [210]dx
7560 [244]notinc1; => kein [213]ebertrag
7570 [201]dx+1; bei [213]ebertrag: msb(dx) = msb(dx) +1
7580 ;
7590 notinc1 [202]#$ff; xadd = -1 = $ffff
7600 [210]xadd; lsb
7610 [210]xadd+1; msb
7620 [213]line2; zum naechsten [194]lock
7630 ;
7640 ;---------------------------------
7650 ;
7660 line1 [202]#$01; xadd = +1 = $0001
7670 [210]xadd; lsb
7680 [202]#$00
7690 [210]xadd+1; msb
7700 ;
7710 ;---------------------------------
7720 ;
7730 line2 [202]dx+1; ist dx = 0 ?
7740 [246]line3; => dx <> 0
7750 [202]dx
7760 [246]line3; => dx <> 0
7770 ;
7780 ;---------------------------------
7790 ;
7800 [202]#$00; rest = 0 = $00
7810 [210]rest; lsb
7820 [210]rest+1; msb
7830 [213]line4; zum naechsten [194]lock
7840 ;
7850 ;---------------------------------
7860 ;
7870 line3 [202]#$ff; rest = -1 = $ffff
7880 [210]rest; lsb
7890 [210]rest+1; msb
7900 ;
7910 ;---------------------------------
7920 ;
7930 line4 [230]; dy = y2 - y1
7940 [202]y2; lsb(y2)
7950 [209]ywert; minus ywert
7960 [210]dy; speichern
7970 [202]#$00; msb(y2) = 0
7980 [209]#$00; minus 0
7990 [210]dy+1; speichern
8000 ;
8010 ;---------------------------------
8020 ;
8030 [240]line5; => dy > 0 ; 7.[194]it des msb ist entscheident
8040 ;
8050 ;---------------------------------
8060 ;
8070 [200]#$ff; dy = -dy = not(dy) + 1
8080 [210]dy+1; not(msb(dy)), speichern
8090 [202]dy
8100 [200]#$ff; not(lsb(dy))
8110 [229]; 1 addieren
8120 [197]#$01;
8130 [210]dy; speichern
8140 [244]notinc2; => kein [213]ebertrag
8150 [201]dy+1; [213]ebertrag => msb(dy) = msb(dy) + 1
8160 ;
8170 notinc2 [202]#$ff; yadd = -1 = $ff
8180 [210]yadd; speichern
8190 [213]line6; zum naechsten [194]lock
8200 ;
8210 ;---------------------------------
8220 ;
8230 line5 [202]#$01; yadd = +1
8240 [210]yadd;aspeichern
8250 ;
8260 ;---------------------------------
8270 ;
8280 line6 [202]dy+1; ist dx > dy ?
8290 [196]dx+1; msb [214]ergleich
8300 [244]line7; => dx > dy
8310 [202]dy
8320 [196]dx; lsb [214]ergleich
8330 [244]line7; => dx > dy
8340 ;
8350 ;---------------------------------
8360 ;
8370 [202]#$ff; lin = -1 = $ff
8380 [210]lin; speichern
8390 [213]line8; zum naechsten [194]lock
8400 ;
8410 ;---------------------------------
8420 ;
8430 line7 [202]#$01; lin = +1 = $01
8440 [210]lin; speichern
8450 ;
8460 ;---------------------------------
8470 ;
8480 line8 [214]set; [208]unkt setzen
8490 ;
8500 ;---------------------------------
8510 ;
8520 line9 [202]ywert; ist y1 = y2 ?
8530 [196]y2; vergleichen
8540 [246]line10; => y1 <> y2
8550 [202]xwertl; ist x1 = x2 ?
8560 [196]x2l; lsb(x1) mit lsb(x2) vergleichen
8570 [246]line10; => x1 <> x2
8580 [202]xwerth
8590 [196]x2h; msb(x1) mit msb(x2) vergleichen
8600 [246]line10; => x1 <> x2
8610 ;
8620 ;---------------------------------
8630 ;
8640 [227]; y1 = y2 und x1 = x2 => [197]nde
8650 ;
8660 ;---------------------------------
8670 ;
8680 line10 [202]rest+1; msb(rest) , ist rest < 0 ?
8690 [241]zweig1; => 7.[194]it des msb gesetzt => rest < 0
8700 ;
8710 ;---------------------------------
8720 ;
8730 zweig2 [230]; rest >= 0 =>[160]rest = rest - dx
8740 [202]rest; lsb(rest)
8750 [209]dx; minus lsb(dx)
8760 [210]rest; speichern
8770 [202]rest+1; msb(rest)
8780 [209]dx+1; minus msb(dx)
8790 [210]rest+1; speichern
8800 ;
8810 [229]; y1 = y1 + yadd
8820 [202]ywert; y1
8830 [197]yadd; yadd addieren
8840 [210]ywert; speichern
8850 ;
8860 ;---------------------------------
8870 ;
8880 [202]lin; ist lin > 0 ?
8890 [241]line8; => lin < 0 => [208]unkt setzen
8900 [213]line9; => line => 0
8910 ;
8920 ;---------------------------------
8930 ;
8940 zweig1 [229]; rest = rest + dy
8950 [202]rest; lsb(rest)
8960 [197]dy; lsb(dy) addieren
8970 [210]rest; speichern
8980 [202]rest+1; msb(rest)
8990 [197]dy+1; msb(dy) addieren
9000 [210]rest+1; speichern
9010 ;
9020 [229]; x1 = x1 + xadd
9030 [202]xwertl; lsb(x1)
9040 [197]xadd; lsb(xadd) addieren
9050 [210]xwertl; speichern
9060 [202]xwerth; msb(x1)
9070 [197]xadd+1; msb(xadd) addieren
9080 [210]xwerth; speichern
9090 ;
9100 ;---------------------------------
9110 ;
9120 [202]lin; ist lin < 0 ?
9130 [241]line9; => lin < 0
9140 [213]line8; => lin >= 0 => set point
9150 ;
9160 ;---------------------------------
9170 ;
9180 ;*** [211]peicheradressen ***
9190 ;
9200 x1l [165]$00; lsb(x1) [218]wischenspeicher
9210 x1h [165]$00; msb(x1) [218]wischenspeicher
9220 y1 [165]$00; y1 [218]wischenspeicher
9230 x2l [165]$00; lsb(x2)
9240 x2h [165]$00; msb(x2)
9250 y2 [165]$00; y2
9260 rest [165]$00,$00; [210]est
9270 lin [165]$00,$00; [218]eiger lin
9280 dx [165]$00,$00; dx = x2 - x1
9290 dy [165]$00,$00; dy = y2 - y1
9300 xadd [165]$00,$00; x step: +1/-1
9310 yadd [165]$00,$00; y step: +1/-1
9320 ;
10000 ;*********************************
10010 ;*** [195]har ***
10020 ;*********************************
10030 ;
10040 ;*** [204]abels ***
10050 ;
10060 [163]error=$a437; [198]ehlermeldung ausgeben
10070 [163]frmevl=$ad9e; [194]asicausdruck holen
10080 [163]erestr=$b6a3; [211]tringverwaltung
10090 [163]getbyt=$b79e; liest 8-[194]it integer [215]ert von [194]asictext ein
10100 [163]charhi=$d8; high-[194]yte des [218]eichensatzspeicher
10110 ;
10120 ;*** [198]ehlermeldung ausgeben ***
10130 ;
10140 illerr [194]#14; [198]ehlernummer in [216]
10150 [213]error; [198]ehlermeldung ausgeben: [201]llegal [209]uantity [197]rror
10160 ;
10170 ;*** [208]arameter holen ***
10180 ;
10190 ;*** [218]eile aus [194]asictext holen ***
10200 ;
10210 cp [214]chkcom; auf [203]omma pruefen
10220 [214]getbyt; [218]eile nach [216] holen
10230 [192]#13; auf [218]ulassigkeit pruefen
10240 [245]illerr; => [218]eile >= 13 => [197]rror
10250 [211]zeile; speichern
10260 ;
10270 ;*** [211]palte aus [194]asictext holen ***
10280 ;
10290 [214]chkcom; auf [203]omma pruefen
10300 [214]getbyt; [211]palte nach [216] holen
10310 [192]#40; auf [218]ulaessigkeit pruefen
10320 [245]illerr; => [211]palte >= 40 => [197]rror
10330 [211]spalte; speichern
10340 ;
10350 ;*** [211]tring auf [194]asictext holen ***
10360 ;
10370 [214]chkcom; auf [203]omma pruefen
10380 [214]frmevl; [211]tring aus [194]asictext holen
10390 [214]erestr; [211]tringverwaltung
10395 [247]illerr; [211]tringlaenge = 0 ? => [197]rror
10400 [210]strlen; [211]tringlaenge speichern
10410 [202]$22; lsb der [211]tringadresse
10420 [210]char3+1; speichern
10430 [202]$23; msb der [211]tringadresse
10440 [210]char3+2; speichern
10450 ;
10460 ;*** [210]ichtung aus [194]asictext holen ***
10470 ;
10480 [214]chkcom; auf [203]omma pruefen
10490 [214]getbyt; [210]ichung in [216] holen
10500 ;
10510 ;*** [210]ichtung auswerten ***
10520 ;
10530 ; cpx #$00 ; ist [210]ichtung = 0 ?
10540 [247]waagrecht; => [210]ichtung = 0
10550 ;
10560 [202]#$40; [210]ichtung senkrecht: [201]nkrement ist $0140 = 320
10570 [210]increm; lsb speichern
10580 [202]#$01
10590 [210]increm+1; msb speichern
10600 [213]char1; weiter zur [194]erechnung
10610 ;
10620 waagrecht [211]increm+1; [210]ichtung waagrecht: [201]nkrement = $0008 = 8; msb
10630 [202]#$08; lsb
10640 [210]increm; speichern
10650 ;
10660 ;*** [208]osition in der [194]itmap berechnen ***
10670 ;
10680 ;*** [218]eile * 320 ***
10690 ;
10700 char1 [202]#$00; lsb(hpoint) = 0
10710 [210]hpoint+1; speichern
10720 ;
10730 [202]zeile; [218]eile in [193]kku; [193]kku(zeile)*5=[193]kku*4+[218]eile
10740 [203]; * 2
10750 [203]; * 2
10760 [197]zeile; + [218]eile
10770 ;
10780 [205]; [193]kku(5*[218]eile)*64 = [193]kku*256/4
10790 [208]hpoint+1; => lsb -> msb und 16-[194]it [196]ivision mit 4
10800 [205]
10810 [208]hpoint+1
10820 [197]#>(bitmap); [193]kku(320*[218]eile)+[194]itmap
10830 [210]hpoint+2
10840 ;
10850 ;*** [211]palte * 8 + [200]point ***
10860 ;
10870 [202]spalte; [211]palte in [193]kku holen
10880 [203]; * 2
10890 [203]; * 2
10900 [203]; * 2
10910 [244]addspalte; [213]ebertrag ?
10920 [201]hpoint+2; msb(hpoint) + 1
10925 [229]; [213]ebertrag loeschen
10930 addspalte [197]hpoint+1; lsb(hpoint) = lsb(hpoint) + [211]palte * 8
10940 [210]hpoint+1; speichern
10950 [244]changestr; [213]ebertrag ?
10960 [201]hpoint+2; msb(hpoint) + 1
10970 ;
10980 ;*** [211]tring auslesen und wandeln ***
10990 ;
11000 changestr [195]#$00; [201]ndex = 0
11010 strloop [212]index; speichern
11020 ;
11030 char3 [202]$ffff,y; y-tes [218]eichen von [211]tring auslesen
11040 ;
11050 ;*** [211]tring wandeln ***
11060 ;
11070 [241]char5; [218]eichen > 128
11080 [196]#32; < 32 ? oder = <[211]pace> ?
11090 [247]char6; <[211]pace> -> bleibt unveraendert
11110 [244]nexty; [211]teuerzeichen ueberspringen
11120 char11 [196]#64; < 64 ; [211]onderzeichen ?
11130 [244]char6; [211]onderzeichen bleiben unveraendert
11140 [196]#96; < 96 ; [203]leinbuchstabe ?
11150 [245]char4; 96 =< [218]eichen < 128 => 5. [194]it loeschen
11160 [198]#%10111111; 6. [194]it loeschen, da [203]leinbuchstabe
11170 [213]char6; weitermachen
11180 char4 [198]#%11011111; 5. [194]it loeschen, da [199]rossbuchstabe
11190 [213]char6; weitermachen
11200 char5 [196]#160; < 160 ? [211]teuerzeichen ?
11210 [244]nexty; [211]teuerzeichen ueberspringen
11220 [247]char6; <2. [211]pace> -> bleibt unveraendert
11230 [196]#192; < 192 ? [199]rafikzeichen ?
11240 [245]char7; [196]oppelbelegung
11250 [200]#%11000000; 6. und 7. [194]it umkehren
11260 [213]char6; weitermachen
11270 char7 [196]#224; =< 224 ? [199]rossbuchstaben ([196]oppelbelegung)
11280 [247]char9; <3. [211]pace>
11300 [198]#%01111111; 7. [194]it loeschen
11320 [196]#127; [195]ode = 255 (=127 da 7. [194]it geloescht)
11330 [246]char6; weiter
11340 [202]#94; 255 -> 94
11350 [213]char6; [199]rafikzeichen, weitermachen
11360 char9 [202]#32; <3. [211]pace>
11385 ;
11390 ;*** [195]har pointer im [218][211][193] berechenen ***
11400 ;
11410 char6 [194]#$00; msb(mvchar) = 0
11420 [211]mvchar+2; speichern
11430 ;
11440 [203]; mvchar * 8
11450 [207]mvchar+2
11460 [203]
11470 [207]mvchar+2
11480 [203]
11490 [207]mvchar+2; gleichzeitig [195]arry-[198]lag loeschen
11500 [210]mvchar+1; lsb speichern
11510 [202]#charhi; msb von [195]haracter-[210][207][205]
11520 [197]mvchar+2; addieren
11530 [210]mvchar+2; msb speichern
11540 ;
11550 ;*** [218]eichen aus [218][211][193] in [194]itmap schreiben ***
11560 ;
11570 [232]; [201]nterrupt sperren
11580 [202]$01; [208]rozessorport auslesen
11590 [210]processor; [201]nhalt sichern
11600 [198]#%11111011; [218][211][193]-[210][207][205] zum [204]esen freigeben
11610 [210]$01; zurueckschreiben
11620 ;
11630 [195]#$07; [201]ndex fuer 8 [211]chleifendurchlaeufe
11640 mvchar [202]$ffff,y; [194]yte aus [218][211][193]-[210][207][205][160]auslesen
11650 hpoint [210]$ffff,y; [194]yte in [194]itmap schreiben
11660 [236]; [201]ndex erniedriegen
11670 [240]mvchar; schon fertig ? => [206]ein, [211]prung nach mvchar
11680 ;
11690 [202]processor; alten [208]rozessorportzustand wieder holen
11700 [210]$01; speichern
11710 [231]; [201]nterrupt wieder freigeben
11720 ;
11730 ;*** [194]itmap um [201]nkrement erhoehen ***
11740 ;
11750 [229]; hpoint + increment
11760 [202]hpoint+1; lsb
11770 [197]increm; addieren
11780 [210]hpoint+1; speichern
11790 [202]hpoint+2; msb
11800 [197]increm+1; addieren
11810 [210]hpoint+2; speichern
11820 ;
11830 nexty [195]index; [201]ndex in [217]
11840 [237]; + 1
11850 [193]strlen; ist [201]ndex schon [211]tringlaenge ?
11860 [247]charend; [201]ndex = [211]tringlaenge => [210]outinenende
11870 [213]strloop; => [201]ndex < [211]tringlaenge
11880 ;
11890 charend [227]; [201]ndex = [211]tringlaenge => [210]outinenende
11900 ;
11910 ;*** [200]ilfszellen ***
11920 ;
11930 zeile [165]$00; [218]eile
11940 spalte [165]$00; [211]palte
11950 strlen [165]$00; [211]tringlaenge
11960 index [165]$00; [201]ndex
11970 increm [165]$00,$00; [201]ncrement
11980 processor [165]$00; [208]rozessorportzustand
11990 ;
12000 ;******************
12010 ;*** [200]ardcopy ***
12020 ;******************
12030 ;
12040 ;*** [204]abels ***
12050 ;
12060 [163]setfls=$ffba; [198]ileparameter setzen
12070 [163]open=$ffc0; [198]ile eroeffnen
12080 [163]close=$ffc3; [198]ile schliessen
12090 [163]chkout=$ffc9; [195][205][196]-[205]odus ein
12100 [163]clrch=$ffcc; [195][205][196]-[205]odus aus
12110 [163]print=$ffd2; [218]eichen ausgeben
12120 ;
12130 ;*** [205]akros ***
12140 ;
12150 [161]esc; [197][211][195]-[211]equenz uebermitteln
12160 [202]#$1b; [197][211][195]-[211]equenz
12170 [214]print; [218]eichen zum [196]rucker senden
12180 [162]
12190 ;
12200 [161]cr; [195][210]-[211]equenz uebermitteln
12210 [202]#$0d; [195][210]-[211]equenz
12220 [214]print; [218]eichen zum [196]rucker senden
12230 [162]
12240 ;
12250 [161]init; [196]rucker initialisieren
12260 esc; [197][211][195] @ ; 27 64 ; $1b $40
12270 [202]#$40; @
12280 [214]print; [218]eichen zum [196]rucker senden
12290 cr
12300 [162]
12310 ;
12320 ;*** [207][208][197][206] 4,4,1 : [195][205][196] 4 ***
12330 ;
12340 hc [202]#$04; logische [198]ilenummer
12350 [194]#$04; [199]eraeteadresse 4 fuer [196]rucker
12360 [195]#$01; [211]ekundaeradresse 1 fuer [204]inearkanal
12370 [214]setfls; [198]ileparameter setzen
12380 [214]open; [198]ile eroeffnen
12390 [194]#$04; logische [198]ilenummer
12400 [214]chkout; [195]ommunicationn direct ein
12410 ;
12420 ;*** [197][211][195] @, [197][211][195] 3 n, [197][211][195] l n ***
12430 ;
12440 init; [197][211][195] @, [196]rucker initialisieren
12450 ;
12460 esc; [197][211][195] 3 n (n = 24), [218]eilenvorschub auf 24/216 [218]oll
12470 [202]#$33; '3'
12480 [214]print; [218]eichen '3' zum [196]rucker senden
12490 [202]#$18; n = $18 = 24
12500 [214]print; [195][200][210]$(24) zum [196]rucker senden
12510 cr
12520 ;
12530 esc; [197][211][195] l n (n = 12), linker [210]and bei 12 setzen
12540 [202]#$6c; 'l'
12550 [214]print; [218]eichen 'l' zum [196]rucker senden
12560 [202]#$0c; n = $0c = 12
12570 [214]print; [195][200][210]$(12) zum [196]rucker senden
12580 cr
12590 ;
12600 ;*** [210]outinenvariablen initialisieren ***
12610 ;
12620 [202]#<(bitmap); [194]itmapadresse im [196]ummy schreiben
12630 [210]dummy+1; lsb
12640 [202]#>(bitmap)
12650 [210]dummy+2; msb
12660 ;
12670 [202]#$0c; 12 [218]eilen
12680 [210]line; speichern
12690 ;
12700 ;*** [199]rafik einschalten: [197][211][195] [204] n1 n2 ***
12710 ;
12720 lnloop esc
12730 [202]#$4c; '[204]'
12740 [214]print; [218]eichen '[204]' zum [196]rucker senden
12750 [202]#$80; n1 = $80 = 128 = lsb
12760 [214]print; [195][200][210]$(128) zum [196]rucker senden
12770 [202]#$02; n2 = $02 = 2 = msb
12780 [214]print; [195][200][210]$(2)[160]zum [196]rucker senden
12790 ;
12800 ;*** [194]lock index ***
12810 ;
12820 [202]#40; 40 [194]loecke
12830 [210]block; speichern
12840 ;
12850 ;*** ein 8-[194]yte [194]lock speigeln ***
12860 ;
12870 bkloop [195]#$00; [194]lockschleife
12880 turn1 [194]#$00
12890 dummy [202]$ffff,y; [194]itmapbyte in [193]kku einlesen
12900 turn2 [203]; [194]it aus [194]itmapbyte auslesen
12910 [207]chr,x; [194]it in [196]ruckerbyte reinschieben
12920 [239]
12930 [192]#$08; ist [216] schon 8 ?
12940 [246]turn2; => [216] <> 8 => [194]itmapbytes noch nicht abgearbeitet
12950 [237]
12960 [193]#$08; ist [217] schon 8 ?
12970 [246]turn1; => [217]<> 8 => [196]ruckerbytes noch nicht fertig
12980 ;
12990 ;*** 8-[194]yte [194]lock drucken ***
13000 ;
13010 [194]#$00; [201]ndex auf 0 setzen
13020 prnt [202]chr,x; x-tes [196]ruckerbyte in [193]kku
13030 [214]print; [194]yte drucken
13040 [214]print; [194]yte drucken
13050 [239]; [201]ndex erhoehen
13060 [192]#$08; ist [216] schon 8 ?
13070 [246]prnt; => [216] <> 8 => naechstes [194]yte drucken
13080 ;
13090 ;*** [211]chleifenfortschaltung ***
13100 ;
13110 [229]; [194]itmapbyte + 8
13120 [202]dummy+1; lsb
13130 [197]#$08; 8 addieren
13140 [210]dummy+1; speichern
13150 [244]notinc; kein [213]ebertrag
13160 [201]dummy+2; => [213]ebertrag, msb(dummy) + 1
13170 ;
13180 notinc [199]block; block = block - 1
13190 [246]bkloop; ist [194]lock schon 0 ? => [194]lock <> 0
13200 ;
13210 ;*** [195][210] senden ***
13220 ;
13230 cr
13240 ;
13250 ;*** [211]chleifenfortschaltung ***
13260 ;
13270 [199]line; line = line - 1
13280 [246]lnloop; ist [204]ine schon 0 ? => [204]ine <> 0
13290 ;
13300 ;*** [206][207][212]([195][205][196] 4) : [195][204][207][211][197] 4 ***
13310 ;
13320 init; [196]rucker initialisieren
13330 [214]clrch; [195]ommunication direct aus
13340 [202]#$04; logische [198]ilenummer
13350 [214]close; [198]ile schliessen
13360 ;
13370 [227]; [210]outinenende
13380 ;
13390 ;*** [200]ilfszellen ***
13400 ;
13410 chr [165]$00,$00,$00,$00; [196]ruckerbytes
13420 [165]$00,$00,$00,$00
13430 block [165]$00; [194]lockindex
13440 line [165]$00; [204]ineindex
13450 ;
14000 ;**********************
14010 ;*** [211]ave-[210]outine ***
14020 ;**********************
14030 ;
14040 ;*** [204]abels ***
14050 ;
14060 [163]listen=$ffb1; [198]loppy zum [197]mpfang schalten
14070 [163]salist=$ff93; [211]ekundaeradresse fuer [204][201][211][212][197][206]
14080 [163]clsfile=$f642; [198]ile schliessen
14090 [163]sendnm=$f3d5; [198]ilename fuer [204][201][211][212][197][206] und [212][193][204][203]
14100 [163]iecout=$ffa8; [194]yte auf seriellem [194]us ausgeben
14110 ;
14120 [163]adress1=$fa; [218][208]-[211]peicher fuer lsb([194]itmapbyte)
14130 [163]adress2=$fb; [218][208]-[211]peicher fuer msb([194]itmapbyte)
14140 ;*** [205]akro ***
14150 ;
14160 [161]filename; [198]ilename uebermitteln
14170 [214]chkcom; auf [203]omma pruefen
14180 [214]frmevl; [211]tring holen
14190 [214]erestr; [211]rtingverwalten
14200 ;
14210 [210]$b7; [198]ilenamenlaenge speichern
14220 [202]$22; lsb der [193]dresse auf den [198]ilenamen
14230 [210]$bb; in [218][208]-[218]eiger auf [198]ilename speichern
14240 [202]$23; msb
14250 [210]$bc; in [218][208]-[218]eiger auf [198]ilename speichern
14260 [162]
14270 ;
14280 ;*** [198]ile eroeffnen ***
14290 ;
14300 sa filename; [198]ilename uebermitteln
14310 ;
14320 [202]#$08; [199]eraeteadresse
14330 [210]$ba; [218][208]-[218]eiger fuer aktuelles [199]eraet
14340 [202]#$61; [211]ekundaeradresse 1 fuer [211]peichern + $60
14350 [210]$b9; [218][208]-[218]eiger fuer aktuelle [211]ekundaeradresse
14360 ;
14370 [214]sendnm; [198]ilename senden
14380 ;
14390 [202]$ba; [199]eraeteadresse
14400 [214]listen; [204]isten senden
14410 [202]$b9; [211]ekundaeradresse
14420 [214]salist; [211]ekundaeradresse senden
14430 ;
14440 ;*** [208]rogrammadresse $8000 ***
14450 ;
14460 [202]#<(bitmap); lsb(bitmap)
14465 [210]adress1; in [218][208] schreiben
14470 [214]iecout; auf seriellen [194]us ausgeben
14480 [202]#>(bitmap); msb(bitmap)
14485 [210]adress2; in [218][208] schreiben
14490 [214]iecout; auf seriellen [194]us ausgeben
14500 ;
14510 ;*** [194]itmap speichern ***
14520 ;
14580 [194]#$0f; $0f00 [194]itmapbytes speichern
14590 save2 [195]#$00; innere [211]chleife
14600 save1 [202](adress1),y; [194]itmapbyte in [193]kku holen
14610 [214]iecout; auf seriellen [194]us ausgeben
14620 [237]
14630 [246]save1; schon 256 [194]ytes ausgegeben ?
14640 [201]adress2; adress2 = adress2 + 1
14650 [238]; aeusseren [211]chleifenindex um 1 erniedrigen
14660 [246]save2; schon $0f00 [194]ytes abgespeichert?
14670 ;
14680 ;*** [198]ile schliessen ***
14690 ;
14700 [214]clsfile; [198]ile schliessen
14710 ;
14720 [227]; [210]outinenende
14730 ;
15000 ;**********************
15010 ;*** [204]oad-[210]outine ***
15020 ;**********************
15030 ;
15040 ;*** [204]abels ***
15050 ;
15060 [163]talk=$ffb4; [212][193][204][203] senden
15070 [163]satalk=$ff96; [211]ekundaeradresse fuer [212][193][204][203][160]senden
15080 [163]iecin=$ffa5; [218]eichen von seriellen [194]us holen
15090 [163]status=$90; [211]tatusbyte [211][212]
15100 ;
15110 ;*** [198]ile eroeffnen ***
15120 ;
15130 lo filename; [198]ilname uebermitteln
15140 ;
15150 [202]#$08; [199]eraeteadresse
15160 [210]$ba; [218][208]-[218]eiger fuer aktuelles [199]ereaet
15170 [202]#$60; [211]ekundaeradresse 0 + $60
15180 [210]$b9; [218][208]-[218]eiger fuer aktuelle [211]ekundaeradresse
15190 ;
15200 [214]sendnm; [198]ilenamen senden
15210 ;
15220 [202]$ba; [199]eraeteadresse
15230 [214]talk; [212]alk senden
15240 [202]$b9; [211]ekundaeradresse
15250 [214]satalk; [211]ekundaeradresse fuer [212]alk senden
15260 ;
15270 ;*** [208]rogrammadresse ueberlesen ***
15280 ;
15290 [214]iecin; [194]yte von seriellen [194]us einlesen
15300 [214]iecin; [194]yte von seriellen [194]us einlesen
15310 ;
15320 ;*** [194]itmap einlesen ***
15330 ;
15340 [202]#<(bitmap); [194]itmapadresse in [218][208] schreiben
15350 [210]adress1; lsb
15360 [202]#>(bitmap)
15370 [210]adress2; msb
15380 ;
15390 [194]#$0f; aeusseren [211]chleifenzaehler auf $0f setzen
15400 [195]#$00; inneren [211]chleifenzaehler auf $00 setzen
15410 load1 [214]iecin; [194]yte von seriellen [194]us einlesen
15420 [210](adress1),y; [194]yte in [194]itmap schreiben
15430 [202]status; [211]tatusbyte [211][212] einlesen
15440 [246]load2; => [197][207][198] ([197]nd of [198]ile)
15450 [237]
15460 [246]load1; ist innere [211]chleifen schon abgeadreitet ?
15470 [201]adress2; msb(adress) = msb(adress) + 1
15480 [238]
15490 [246]load1; schon alle [194]ytes eingelesen ? (-> load1, da y=0)
15500 ;
15510 ;*** [198]ile schliessen ***
15520 ;
15530 load2 [214]clsfile; [198]ile schliessen
15540 ;
15550 [227]; [210]outinenende
15560 ;
15570 ;*** [197]nde des [211]ourcetextes ***
15580 ;