home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magic Disk 64
/
Magic_Disk_64_91-10_1991_-_de_Side_B.d64
/
screenboost.demo
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
9KB
|
303 lines
0 a=a+1
1 if a=1 then load"screenboost.code",8,1
10 poke 53280,0:poke 53281,0
20 :
30 poke 49570,0:rem textfarbe=schwarz
40 sys 49569:rem text einfaerben
50 :
90 print"[147]";
100 print"screen-boost v1.0"
110 print"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
120 print"programm:axel wefers"
130 print"(c)1990 by x-complex industries"
140 print"anleitung:"
150 print"[163][163][163][163][163][163][163][163][163][163]"
160 print"1. einbau in eigene programme"
170 print"1.1 in basic programme"
180 print"soll effect screen in ein basic "
190 print"programm eingebunden werden,so muessen"
200 print"die ersten zwei zeilen folgendermassen "
210 print"lauten:"
220 print"0 a=a+1"
230 print"1 if a=1 then load";chr$(34);"screenboost.code";chr$(34);",8,1";
240 print"das program effect screen muss selbst-"
250 print"verstaendlich auf der selben diskette,"
260 print"wie das basic programm sein."
265 :
270 sys 49158:rem screen einlesen
275 :
280 poke 49570,1:rem textfarbe=weiss
285 sys 49569:rem text faerben
290 :
300 sys 49152:rem screen einblenden
310 :
320 wait 198,1:poke 198,0
330 :
340 sys 49155:rem screen ausblenden
350 poke 49570,0:rem textfarbe=schwarz
360 sys 49569:rem textfaerben
370 print"1.2 in assembler programme:"
380 print"effect screen kann direkt an das ms-"
390 print"programm angehaengt werden."
400 print"soll die routine verschoben werden,"
410 print"so sind aenderungen bei jmp-befehlen,"
420 print"sowie bei lda-und sta-befehlen zu be-"
430 print"achten."
440 print"2. die routinen"
450 print"2.1 horizontaler bildschirmaufbau"
460 print"aufruf mit: sys 49152"
470 print"funktion:der bildschirm wird mit dem"
480 print"inhalt von $c400 bis $c800 gefuellt."
490 print"(naeheres zum inhalt von $c400 bis"
500 print"$c800 unter kapitel 2.3)"
510 print"2.2 horizontales bildschirm loeschen"
520 print"aufruf mit: sys 49155"
530 print"funktion:der bildschirm wird geloescht."
540 print"(der bereich von $c400 bis $c800 bleibt"
550 print"erhalten.)"
555 :
560 sys 49158:rem text einlesen
565 :
570 poke 49570,1:rem textfarbe=weiss
580 sys 49569:rem text einfaerben
585 :
590 sys 49985:rem text einblenden
595 :
600 wait 198,1:poke 198,0
605 :
610 sys 49155:rem text ausblenden
620 :
630 poke 49570,0:rem textfarbe=schwarz
640 sys 49569:rem text einfaerben
650 :
660 print"2.3 die text kopier routine"
670 print"aufruf mit : sys 49158"
680 print"funktion:der aktuelle bildschirminhalt"
690 print"wird in den bereich von $c400 bis $c800"
700 print"kopiert.diese routine ist fuer den basic";
710 print"programmierer von grossem nutzen,da in"
720 print"basic keine so hohe geschwindigkeit"
730 print"erreicht werden kann,wie in assembler."
740 print"anwendungsbeispiel:"
750 print"um den text,vor der ausgabe durch eine"
760 print"der bildschirmaufbau-routinen,in den "
770 print"bereich von $c400 bis $c800 zu kopieren,";
780 print"ohne das man ihn zuvor sieht,schreibt "
790 print"man den gewuenschten inhalt auf den "
791 print"bildschirm,faerbt den text zuvor in der"
792 print"aktuellen bildschirmfarbe ein,so dass"
793 print"der text-bildschirm praktisch unsicht-"
794 print"bar ist,und ruft die bildschirmkopier-";
820 print"routine an,und der text befindet sich im";
830 print"bereich von $c400 bis $c800"
845 :
850 sys 49158:rem text kopieren
855 :
860 poke 49570,1:rem textfarbe=weiss
870 sys 49569:rem text faerben
875 :
880 sys 49595:rem text einblenden
885 :
890 wait 198,1:poke 198,0
895 :
900 sys 49769:rem text ausblenden
905 :
910 poke 49570,0:rem textfarbe=schwarz
920 sys 49569:rem text faerben
930 :
940 print"2.4 color routine"
950 print"aufruf mit:sys 49569"
960 print"funktion:das farb-ram des bildschirms"
970 print"wird mit dem wert aus 49570 gefuellt."
980 print"um den bildschirm zu faerben,gibt"
990 print"man folgende befehle ein:"
1000 print" poke 49570,farbe(0-15)"
1010 print" sys 49569"
1020 print"2.5 vertikaler bildschirmaufbau"
1030 print"aufruf mit:sys 49595"
1040 print"funktion:siehe 2.1,anders als bei der"
1050 print"horizontalen aufbau routine ist,"
1060 print"das der bildschirm vertikal aufgebaut"
1070 print"wird."
1080 print"2.6 vertikales bildschirmloeschen"
1090 print"aufruf mit:sys 49769"
1100 print"funktion:siehe 2.2,anders als bei der"
1110 print"horizontalen routine ist,das diese hier"
1120 print"vertikal den text loescht."
1130 :
1135 sys 49158:rem screen einlesen
1136 :
1140 poke 49570,1:rem textfarbe=weiss
1150 sys 49569:rem text faerben
1160 :
1170 sys 49152:rem text aufbauen
1180 :
1190 wait 198,1:poke 198,0
1200 sys 49155:rem screen ausblenden
1210 :
1220 poke 49570,0:rem textfarbe=schwarz
1230 sys 49569:rem text einfaerben
1240 :
1250 print"[147]";
1260 print"2.7 diagonales einblenden"
1270 print"aufruf mit:sys 49985
1280 [153]"funktion:siehe 2.1,lediglich anders ist"
1290 [153]"hier,dass der text diagonal eingeblendet";
1300 [153]"wird."
1310 [153]"2.8 diagonales loeschen"
1320 [153]"aufruf mit:sys 52342"
1330 [153]"funktion:siehe 2.2,der text wird hier"
1340 [153]"diagonal ausgeblendet."
1350 [153]"2.9 bildschirm normal einblenden"
1360 [153]"aufruf mit:sys 52672"
1370 [153]"funktion:der bereich von $c400 bis $c800";
1380 [153]"wird in den bildschirm speicher kopiert.";
1390 [153]"dies ist fuer eine einfache windowing-"
1400 [153]"routine von grossem nutzen."
1410 :
1420 [158] 49158:[143] text einlesen
1430 :
1440 [151] 49570,1:[143] textfarbe=weiss
1450 [158] 49569:[143] text einfaerben
1465 :
1470 [158] 49985:[143] text einblenden
1480 :
1490 [146] 198,1:[151] 198,0
1500 :
1510 [158] 52342:[143] text ausblenden
1520 :
1530 [151] 49570,0:[143] textfarbe=schwarz
1540 [158] 49569:[143] text einfaerben
1550 :
1560 [153]"load";
1570 [153]"3. rasterroutinen :"
1580 [153]"tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab("
1590 [153]"3.1 rasteredit"
1600 [153]"aufruf mit:sys 52032"
1610 [153]"funktion:ein raster kann editiert wer-"
1620 [153]"den. der blinkende balken wird mit dem"
1630 [153]"joystick in port 2 gesteuert:"
1640 [153]"joystick-hoch:balken eine rasterzeile"
1650 [153]" nach oben."
1660 [153]"joystick-unten:balken eine rasterzeile"
1670 [153]" nach unten."
1680 [153]"joystick-links:aktuellen farbcode um"
1690 [153]" 1 erhoehen."
1700 [153]"joystick-rechts:aktuellen farbcode um"
1710 [153]" 1 verringern."
1720 [153]"joystick-knopf:ende des editierens."
1730 [153]"die textfarbe ist die farbe unter dem"
1740 [153]"balken."
1750 :
1765 [158] 49158:[143] screen einlesen
1766 :
1770 [151] 49570,1:[143] textfarbe=weiss
1780 [158] 49569:[143] text faerben
1790 :
1800 [158] 49152:[143] text aufbauen
1810 :
1820 [146] 198,1:[151] 198,0
1830 [158] 49155:[143] screen ausblenden
1840 :
1850 [151] 49570,0:[143] textfarbe=schwarz
1860 [158] 49569:[143] text einfaerben
1870 :
1880 [153]"load";
1890 [153]"3.2 raster einschalten"
1900 [153]"aufruf mit:sys 51200"
1910 [153]"funktion: ein raster wird sichtbar ge-"
1920 [153]"macht."
1930 [153]"3.3 textflesh einschalten"
1940 [153]"aufruf mit:sys 52259"
1950 [153]"funktion: der text blinkt die farben"
1960 [153]"des editierten rasters alle durch."
1970 [153]"3.4 raster & textflesh abschalten"
1980 [153]"aufruf mit:sys 49888"
1990 [153]"funktion:das raster oder textfleshing"
2000 [153]"wird abgeschaltet."
2010 [153]"3.5 editiertes raster speichern"
2020 [153]"aufruf mit: poke 52743,asc(name$)"
2030 [153]" sys 52222"
2040 [153]"wobei 'name$' nur ein zeichen lang sein"
2050 [153]"darf.der name wird um das word 'raster.'";
2060 [153]"ergaenzt.das basic programm beginnt "
2070 [153]"nicht von vorne,sondern setzt an der "
2080 [153]"stelle des aufrufs wieder an."
2090 :
2100 [158] 49158:[143] screen einlesen
2110 :
2120 [151] 49570,1:[143] textfarbe=weiss
2130 [158] 49569:[143] text faerben
2140 :
2150 [158] 49152:[143] screen einblenden
2160 :
2170 [146] 198,1:[151] 198,0
2180 :
2190 [151] 49570,0:[143] textfarbe=schwarz
2200 [158] 49569:[143] text einfaerben
2210 :
2220 [153]"load";
2230 [153]"3.6 raster laden"
2240 [153]"aufruf mit:poke 52743,asc(name$)"
2250 [153]" sys 49952"
2255 [153]"die variable 'name$' darf wieder nur ein"
2260 [153]"zeichen lang sein.der name wird automat-";
2270 [153]"isch um den zusatz 'raster.' ergaenzt"
2280 [153]"funktion:ein raster wird eingeladen,das"
2290 [153]"programm faehrt an der stelle des auf-"
2300 [153]"rufs nach dem laden fort."
2310 [153]"3.7 raster fuellen"
2320 [153]"aufruf mit:poke 52332,farbcode(0-15)"
2330 [153]" sys 52331"
2340 [153]"funktion:der inhalt des rasters wird mit";
2350 [153]"dem einge-'poketen' wert gefuellt."
2360 :
2370 [158] 49158:[143] text einlesen
2380 :
2390 [151] 49570,1:[143] textfarbe=weiss
2400 [158] 49569:[143] text einfaerben
2410 :
2420 [158] 49985:[143] text einblenden
2430 :
2440 [146] 198,1:[151] 198,0
2450 :
2460 [158] 49155:[143] screen ausblenden
2470 [151] 49570,1:[143] textfarbe=weiss
2480 [158] 49569:[143] textfaerben
2490 :
2495 [153]"load";
2500 [153]"4. demonstration einiger routinen"
2510 [153]"tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab("
2511 [153]"die ein/ausblendroutinen werden ihnen "
2512 [153]"bestimmt nicht entgangen sein,sie wurden";
2513 [153]"schon angewendet."
2520 [153]"rastereditor:"
2525 [153]"start mit space."
2530 [153]"abbruch mit knopf."
2531 [146] 198,1:[151] 198,0
2532 :
2533 [158] 52032 : [143] rasteredit
2535 :
2540 [153]"raster abspeichern(j/n)?"
2545 :
2550 [161] g$
2560 [139] g$[178]"j"[167] [137] 2581
2570 [139] g$[178]"n"[167] [137] 2600
2580 [137] 2550
2581 [153]"rastername?"
2582 [161] g$
2583 [139] g$[178]""[167] 2582
2585 :
2590 [151] 52743,[198](g$): [143] rastername
2595 [158] 52222 : [143] raster speichern
2596 :
2600 [153]"textflesh..."
2610 [153]"weiter mit space..."
2615 :
2620 [158] 52259 : [143] textflesh ein
2625 :
2630 [146] 198,1:[151] 198,0
2640 :
2650 [158] 49888 : [143] textflesh aus
2670 [153]"loadlistonon";