denn der SYS füllt das Color-Ram mit der Farbe in 781
War gar nicht nötig, es reicht FCOL 0,0,40,25,Farbe (wenn man vom Multi-Screen zurückkehrt). Viel Lärm um nichts…
Arndt
You are about to leave Forum64 to get redirected to the following address:
Please note, that the target website is not operated by us. We are not responsible for it's content nor does our privacy policy apply there.
denn der SYS füllt das Color-Ram mit der Farbe in 781
War gar nicht nötig, es reicht FCOL 0,0,40,25,Farbe (wenn man vom Multi-Screen zurückkehrt). Viel Lärm um nichts…
Arndt
Dann war da noch ein Grafik-Buch mit Beispielprogrammen. Was machen denn das "Tarnwirkung"-Programm und die "Blattlaus"?
Zu dem Grafik-Buch habe ich auch die Diskette. Da die Dateinamen sehr nichtssagend sind, werde ich mir mal die Mühe machen, ein Inhaltsverzeichnis mit Beschreibung zu erstellen. Bei so um die 100 Dateien wird das ein wenig dauern.
"Tarnwirkung" und "Blattlaus" sind Simulationsprogramme.
Fertig. Den Wiki-Artikel Grafik mit dem C64 habe ich jetzt aktualisert mit dem Disketten-Inhaltsverzeichnis incl. Beschreibung sowie dem Download-Link für die Buchdiskette (dort als Archiv mit D64 und Inhalt als Textdatei).
Die Tipps-Abteilung auf GoDot64.de ist inzwischen gewachsen (aber wächst natürlich auch noch weiter). Wenn Interesse besteht: hier klicken. Ich hab zuletzt am Thema "Charset save/load" gearbeitet. Sind da sachliche Fehler drin? Bitte melden!
Arndt
Zur Zeit arbeite ich an einem Projekt, das für die Befehle SCRLD und SCRSV die vielen POKEs für spezielle Zwecke vermeidet. Hier meine Idee:
SCRLD/SCRSV Befehlserweiterung
- SCRLD DEF adresse, modus, sa : Patchen der scrld/sv-Routine (an Stelle der POKEs)
- SCRLD RESTORE : Standardwerte wiederherstellen
("scrsv" statt "scrld" macht dasselbe)
Parameter von SCRLD DEF:
- adresse: High-Byte = Speicherstart, Low-Byte = Anzahl Blöcke (zu 256 Bytes)
- modus: 0,1,2 oder mehr; 0 = nix ändern, >=1: nur Videoram, >=2: Startadresse weglassen (für Append)
- sa: Sekundäradresse (2,3,5)
Das läuft zwar im Prinzip schon, ich bin aber noch am Beginn der Testphase. Einige Beispiele:
Grafik in alternativen Schirm bei $CC00 laden
100 mem
110 scrld def $cc00+4,0,2
120 scrld 2,8,2,"tricolor.scr,p,r"
130 scrld restore
TSB-Grafik laden und im Hi-Eddi-Format speichern
100 hires 1,0
110 scrld 2,8,5,"hires5,p,r"
...
150 scrsv def $e000+32,1,5
160 scrsv 3,8,5,"hires.hed,p,w"
170 scrsv restore
GoDot-Zeichensatz laden
100 mem
110 scrld def $e800+16,0,3
120 scrld 3,8,3,"god.set"
130 scrld restore
Dabei ist mir aufgefallen, dass in tsp_pt3.a mehrere Adress-Kommentare nicht mehr aktuell sind. Hier die korrigierte Liste (alte Werte hinter ###):
SCRLD DEF adresse, modus, sa :
Könntest du statt der Adressauswertung zwei Byte-Auswertungen einbauen? Geht mit GETRCWD. Uh, nein, da wird auf Begrenzungen getestet. Aber trotzdem, ich würde es intuitiver finden statt $e000+12 die Werte $e0 und 12 getrennt einzugeben, zumal $e000+12 ja keine Adresse darstellt. Vielleicht vor Routine getxyf noch ein getbyt setzen.
Arndt
Könntest du statt der Adressauswertung zwei Byte-Auswertungen einbauen? ... ich würde es intuitiver finden statt $e000+12 die Werte $e0 und 12 getrennt einzugeben, zumal $e000+12 ja keine Adresse darstellt. Vielleicht vor Routine getxyf noch ein getbyt setzen.
Das ist leider wegen des beschränkten Speicherplatzes schwierig. Ich schicke Dir den Quellcode, vielleicht fällt Dir ja etwas ein.
Ich kriege die POKEs für Doodle nicht auf die Reihe (1024 Bytes Farben, 8192 Bytes Bitmap). SCRLD hängt sich in der Bitmap (nach 1024 Bytes) auf: ewiger IRQ. Bin gerade etwas ratlos, was das auslösen könnte, die Werte scheinen alle zu stimmen, der Anfang des Bildes erscheint ja auch, also alle Farben da, ein bisschen (korrekte) Bitmap oben...
Arndt
Mit den neuen Zusatzbefehlen (Parameter: Speicher Hi-Byte, Anzahl Blöcke, Modus, Sekundäradresse) sieht das Speichern nach dem Zeichnen des Bildes in TSB so aus:
180 scrsv def $c0,4,1,2
190 scrsv 2,8,2,"circles.dd,p,w"
...
240 scrsv def $e0,32,2,3
250 scrsv 3,8,3,"circles.dd,p,a"
Erst wird das Videoram ab $c000 gespeichert im Modus 1 (also ohne Farbram).
Dann wird die Bitmap angehängt im Modus 2 (keine Startadresse) mit Save und Append.
Laden dieser Datei in TSB geht aber so nicht.
Dazu müsste man in zwei getrennte Dateien speichern, also die Bitmap auch im Modus 1 und mit ",P,W".
Dann lassen sich die beiden Dateien einzeln auch laden.
Ja, bin den Code nochmal durchgegangen. Laden von Doodles ist leider so nicht möglich. Aber sehr schön, dass du beschrieben hast wie das Speichern gemacht werden muss. Super! And now:
Update auf v2.20513
Mit POKE-losen SCRLD/SV-Befehlen! Syntax in Post #229.
Arndt
edit: Am Schluss immer SCRLD RESTORE, damit SCRLD/SV wieder in den Normalzustand versetzt werden.
Mit POKE-losen SCRLD/SV-Befehlen! Syntax in Post #229.
Die Anleitung dazu auf Deiner Web-Seite, ist die schon angepasst dafür?
Die Anleitung dazu auf Deiner Web-Seite, ist die schon angepasst dafür?
Kommt noch...
Arndt
Sorry, aber:
Update auf v2.20515
Es gab noch zwei kleine Bugs, von denen der eine verhinderte, dass Hi-Eddi-Bilder richtig abgespeichert wurden.
Arndt
Die C64-Wiki Artikel SCRSV-LD DEF (TSB) und SCRSV-LD RESTORE (TSB) habe ich jetzt erstellt.
Das CRT-File war defekt, ist behoben.
Arndt