Frage zu Schattenregistern

Bild Alles zum Thema Programmierung
Bild All around programming

Moderatoren: Sven, Sleepy, Wolfgang, cas, des-or-mad

Frage zu Schattenregistern

Beitragvon Chris » Mi 29. Apr 2015, 07:09

Hi,

ich lese mich gerade ein wenig in die Interna des XL ein. Soweit ich das verstanden habe, werden die Werte in den Schattenregistern bei jedem VBlank vom OS in die echten Hardware-Register kopiert. Wie geht ihr damit um? Schreibt ihr Sachen die für die Dauer eures Programms bleiben sollen in diese Schattenregister und ändern dann per DLI Werte wie Grafikstufe und Farben, oder schaltet ihr das OS aus und programmiert ausschließlich mit den Hardware-Registern? Kann man das OS überhaupt abschalten?

Gruß Chris
Benutzeravatar
Chris
Newbie
Newbie
 
Beiträge: 53
Registriert: So 29. Mär 2015, 12:35
Wohnort: Berlin

Re: Frage zu Schattenregistern

Beitragvon tfhh » Mi 29. Apr 2015, 07:48

Moin Chris,

Chris hat geschrieben:ich lese mich gerade ein wenig in die Interna des XL ein. Soweit ich das verstanden habe, werden die Werte in den Schattenregistern bei jedem VBlank vom OS in die echten Hardware-Register kopiert. Wie geht ihr damit um? Schreibt ihr Sachen die für die Dauer eures Programms bleiben sollen in diese Schattenregister und ändern dann per DLI Werte wie Grafikstufe und Farben, oder schaltet ihr das OS aus und programmiert ausschließlich mit den Hardware-Registern? Kann man das OS überhaupt abschalten?

Viele Fragen und viel nötiges Background-Wissen auf Einmal :D

Also zuerst, falls noch nicht geschehen: Ziehe Dir hier aus der Download-Rubrik die ABBUC Neuauflage des Sybex Profibuchs. Das ist essentiell.

Ja, die Schattenregister werden bei jedem VBI in die eigentlichen HW-Register übertragen. Dadurch flimmert es z.B. auch nicht. Der VBI läßt sich abschalten. Allerdings funktionieren dann diverse andere Dinge (z.B. Tastaturabfrage) auch nicht.

Wenn Du vorhast, mit DLIs zu arbeiten etc., kommst Du um Assemblerprogrammierung nicht herum. Dann gibt es aber auch einfache Wege, die HW Register so zu beschreiben, daß es nicht zu Flickereffekten kommt - alles dazu findest Du im Profibuch im Bereich HW Register & ANTIC.

Gruß, Jürgen
Benutzeravatar
tfhh
Night&Day Poster
Night&Day Poster
 
Beiträge: 1866
Registriert: Do 1. Jan 1970, 01:00

Re: Frage zu Schattenregistern

Beitragvon Chris » Mi 29. Apr 2015, 08:25

Danke für den Tipp. Ich will in Assembler programmieren und habe damit ein wenig Erfahrung aus Amiga-Zeiten, da war es allerdings ein 68000er mit Registern ohne Ende :D
Benutzeravatar
Chris
Newbie
Newbie
 
Beiträge: 53
Registriert: So 29. Mär 2015, 12:35
Wohnort: Berlin

Re: Frage zu Schattenregistern

Beitragvon 8bitjunkie » Mi 29. Apr 2015, 11:38

Ja, und Zahlen endeten nicht so plötzlich bei 255 :mrgreen:
Kassenwart des ABBUC e.V.

Programmierer von:
Damals: Masterblazer Amiga, Renegades Amiga, Dimo's Quest Amiga
Heutzutage: Dimo's Quest in ABBUC Land, Dimo's Quest Lurch Edition, GetUp!, Dimo's Dungeon, GetUp!2
Benutzeravatar
8bitjunkie
Super Poster
Super Poster
 
Beiträge: 941
Registriert: Di 6. Mär 2012, 13:54
Wohnort: Bassum

Re: Frage zu Schattenregistern

Beitragvon Chris » Mi 29. Apr 2015, 16:55

Hehe, nee da ging mehr und beim Shiften konnten man die Anzahl Bits angeben und es gab auch mul und div und movem um alle Register auf den Stack zu packen.
Benutzeravatar
Chris
Newbie
Newbie
 
Beiträge: 53
Registriert: So 29. Mär 2015, 12:35
Wohnort: Berlin

Re: Frage zu Schattenregistern

Beitragvon Jac » Sa 2. Mai 2015, 08:19

Im normlen Betrieb gibt es keine Grund den VBI oder das OS abzuschalten.
Und normalerweise reicht es aus das Programm mit dem VBI zu synchronisieren und die Schattenregister zu verwenden.

main:

lda $14
wait:
cmp $14
beq wait

jmp main

Um Register während des Bildschirmaufbaus zu ändern muss man direkt die Hardware Register verwenden.
Genau wie beim Amiga eigentlich auch. Nur dass Du der Copper da das macht, was die CPU auf dem Atari mit VBI & DLI macht.
Jac
Star Poster
Star Poster
 
Beiträge: 499
Registriert: Do 1. Jan 1970, 01:00
Wohnort: 66822 Lebach

Re: Frage zu Schattenregistern

Beitragvon Chris » Sa 2. Mai 2015, 09:12

Vielen Dank, dann werde ich also die Sachen die eh fest bleiben mit Schattenregistern machen.
Benutzeravatar
Chris
Newbie
Newbie
 
Beiträge: 53
Registriert: So 29. Mär 2015, 12:35
Wohnort: Berlin

Re: Frage zu Schattenregistern

Beitragvon atarixle » Fr 8. Mai 2015, 18:36

Noch schnell angemerkt:

Die Grafikstufe wird nicht mittels DLI umgeschaltet (außer zwischen den ANTIC-Stufen 9 bis 11).

Die Umschaltung erledigt die Display-List. Dadurch sind solche Spielchen auch locker in BASIC möglich.
ABBUC in Berlin: http://www.abbuc.de/~atarixle/AIB/
FUJIAMA 2020 - Do, 20.8. - So, 23.8.2020: http://abbuc.de/~atarixle/fuji/2020 auch: http://abbuc.de/fujiama
Meine Seite: http://www.atarixle.de
Benutzeravatar
atarixle
Super Poster
Super Poster
 
Beiträge: 1162
Registriert: Do 1. Jan 1970, 01:00
Wohnort: Guben


Zurück zu Programmierung



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast