Herunterladen Inhalt Inhalt Diese Seite drucken

Commodore 64 Bedienungshandbuch Seite 176

Vorschau ausblenden Andere Handbücher für 64:
Inhaltsverzeichnis
Der erste Schritt zum Erzeugen einer Hi-Res-Grafik besteht darin, das Bit
3 in der Adresse 53272 zu setzen (Zeile 10 des Programms); dadurch
wird bewirkt, daß der Speicherbereich ab 8192 für das "Bitmapping"
benutzt wird. Um diesen Bereich auf den Bildschirm abzubilden, muß nun
noch das Bit 5 in 53265 gesetzt werden (Zeile 20 des Programms), das
den "Bit-map-mode" einschaltet.
Nun besteht noch das Problem, einen vorgegebenen Graphen (also eine
Funktion o.ä.) in ein Bitmuster umzurechnen. Eine einfache Methode,
angewandt auf eine Sinusfunktion, zeigt das folgende Programm. Soll
eine andere Funktion f(x) gezeichnet werden, so muß diese in Zeile 60 in
der Form
Y = INT (f(x))
eingesetzt werden. Dabei sind für x und y folgende Grenzen zu
berücksichtigen:
0 < x < 319 und 0 < y < 199
Bem.: Andere Farbkombinationen lassen sich erzielen, wenn man den
gepokeden Wert in Zeile 25 ändert. Die unteren 4 Bits (unteres Nybble)
bestimmen die Bildschirmfarbe, die oberen 4 Bits (oberes Nybble) die
Farbe des dargestellten Graphen.
5 REM SINUSKURVE
10 POKE53272,PEEK(53272)OR8
20 POKE53265,PEEK(53265)OR32
25 FORK=0TO999:POKE1024+K,14:NEXT :REM WAHL DER FARBKOMBINATION
27 FORI=0TO7999:POKE8192+I,0:NEXT :REM BILDSCHIRM WIRD GELOESCHT
50 FORX=0TO319
60 Y=INT(100+80*SIN(X*2*{PI}/160)):REM FUNKTION
70 FORN=0TO24
80 IFY>N*8-1ANDY<(N+1)*8THENBY=8192+N*320+8*INT(X/8)+Y-8*N:N=24:GOTO100
85 :
90 NEXTN
100 BI=8*(1+INT(X/8))-X-1
110 IFPEEK(BY)<>0THENPOKEBY,PEEK(BY)OR2^BI
120 IFPEEK(BY)=0THENPOKEBY,2^BI
130 NEXTX
150 GOTO150
ANHANG T
Die Variable FRE(0) wird als sog. Ganzzahl- oder Integervariable
abgespeichert und kann deshalb keine Werte annehmen, die größer als
32767 sind. Übersteigt die Größe des freien Speichers diesen Wert, so
erhält man negative Werte.
:REM BEREICH FUER BITMAPPING AB 8192
:REM BITMAPMODE WIRD EINGESCHALTET
:REM NUMMER DES BYTES WIRD BERECHNET
:REM BITMUSTER WIRD BERECHNET
168
PRINT FRE(0)
Inhaltsverzeichnis
loading

Inhaltsverzeichnis