Seite 1 von 1

Kurze Frage zur Display-List

Verfasst: 22.04.2023 07:38
von atarixle
Kurze Frage zur Display-List:
Ich weiß ja, dass die Bilddaten keine 4k-Grenze überchreiten dürfen.
Gilt dies für die Display-List ansich auch?

Kurze Frage zur Display-List

Verfasst: 22.04.2023 08:53
von Erhard
Hi,

ich meine, da war was ... vielleicht verwechsele ich das auch damit, daß z.B. bei der GR8+16 DLIST irgendwo mittendrin ein zweiter LMS auftaucht ... aber ich glaube, die darf eine 1K Grenze nicht überschreiten.

Wenns im Profibuch nicht steht, dann vielleicht im DeReAtari oder im 600XL/800XL intern?

CU, Erhard

Re: Kurze Frage zur Display-List

Verfasst: 22.04.2023 09:27
von Dietrich
Genau, die Displaylist kann eine 1K-Grenze nicht überschreiten. Steht auch im Profibuch auf Seite 88 meiner Ausgabe.
(Bei GR.8 gibt einen 2. LMS-Befehl, weil die Bilddaten keine 4K-Grenze überschreiten können.)

Re: Kurze Frage zur Display-List

Verfasst: 22.04.2023 15:05
von atarixle
Vielen Dank für die Antwort. Das erklärt auch, warum meine selbst gebaute Display-List gestern Abend mal funktioniert hat, dann wieder nicht und nun doch. Ich halte die Display-List nämlich in einer String-Variable fest und die hat sich verschoben, als ich mein Programm erweitert habe.
Ich hatte das Profi-Buch auch tatsächlich zur Hand, aber diese Stelle muss ich überlesen haben.
Die 1k-Grenze überspringe ich dann mit dem Sprungbefehl $40 und die Adresse.

Re: Kurze Frage zur Display-List

Verfasst: 22.04.2023 15:37
von FlorianD
atarixle hat geschrieben:
22.04.2023 15:05
Vielen Dank für die Antwort. Das erklärt auch, warum meine selbst gebaute Display-List gestern Abend mal funktioniert hat, dann wieder nicht und nun doch. Ich halte die Display-List nämlich in einer String-Variable fest und die hat sich verschoben, als ich mein Programm erweitert habe.
Ich hatte das Profi-Buch auch tatsächlich zur Hand, aber diese Stelle muss ich überlesen haben.
Die 1k-Grenze überspringe ich dann mit dem Sprungbefehl $40 und die Adresse.
Nein. Der Befehl (das Bit, nämlich %0100 0000=$40) lädt den Zeiger auf den Bildspeicher.

Die Display List MUSS immer in einem 1K-Abschnitt liegen. Wenn Du den Zeiger auf den aktuellen Befehl der DL springen lassen willst, musst Du den Befehl $01 adr_LOW adr_HIGH nehmen.

Den Rücksprung am Ende der DL wieder zum Anfang (und zwischendurch VBL abwarten) macht man mit $41 adr_LOW adr_HIGH