Vertical Blank Interrupt

Bild Alles zum Thema Programmierung
Bild All around programming

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

Vertical Blank Interrupt

Beitragvon Erhard » Mo 13. Mai 2013, 07:26

Hi,

ich suche Angaben darüber, wie lang Maschinencode im verzögerten VBI sein darf (PAL, bei CRITIC an/aus).

Ich hab das früher mal irgenwo gelesen (z.B. 19000 Takte), aber es ist mir nicht gelungen, es wiederzufinden.

Wenn hier jemand zufällig diese Angaben parat hat ....

Viele Grüße

Erhard
Benutzeravatar
Erhard
Star Poster
Star Poster
 
Beiträge: 474
Registriert: Do 1. Jan 1970, 01:00
Wohnort: Radevormwald

Re: Vertical Blank Interrupt

Beitragvon mp-one » Mo 13. Mai 2013, 08:08

Erhard hat geschrieben:Hi, ich suche Angaben darüber, wie lang Maschinencode im verzögerten VBI sein darf (PAL, bei CRITIC an/aus). Ich hab das früher mal irgenwo gelesen (z.B. 19000 Takte), aber es ist mir nicht gelungen, es wiederzufinden. Wenn hier jemand zufällig diese Angaben parat hat .... Viele Grüße
Erhard


Moin Erhard,

"... An immediate VBI has about 3800 machine cycles of time to use a deferred VBI has about 20,000 cycles.."

Quelle: http://www.atariarchives.org/mapping/memorymap.php

bei Adresse "548,549 224,225 VVBLKD" stehen die Infos.

Gruß,

Michael
Benutzeravatar
mp-one
Star Poster
Star Poster
 
Beiträge: 756
Registriert: Do 1. Jan 1970, 01:00

Re: Vertical Blank Interrupt

Beitragvon atarixle » Mo 13. Mai 2013, 09:35

mp-one hat geschrieben:"... An immediate VBI has about 3800 machine cycles of time to use a deferred VBI has about 20,000 cycles.."

und mit diesem Satz mit drei Verben soll man klar kommen?
... oder fehlt da einfach nur ein Satzzeichen?
"... An immediate VBI has about 3800 machine cycles of time to use. A deferred VBI has about 20,000 cycles.."
ABBUC in Berlin: http://www.abbuc.de/~atarixle/AIB/
FUJIAMA 2019 - Mo, 26.8. - So, 1.9.2019: http://abbuc.de/~atarixle/fuji/2019/ auch: http://abbuc.de/fujiama
Meine Seite: http://www.atarixle.de
Benutzeravatar
atarixle
Super Poster
Super Poster
 
Beiträge: 1087
Registriert: Do 1. Jan 1970, 01:00
Wohnort: Guben

Re: Vertical Blank Interrupt

Beitragvon eda70 » Mo 13. Mai 2013, 10:18

Ist das nicht unterschiedlich bei PAL und NTSC?
(Ich meine die Angabe bezieht sich auf NTSC.)

Finzels Hexenküche hat geschrieben:Beim PAL-ATARI haben Sie 7400-1000+2500 = 8900 Zyklen
Beim NTSC-ATARIs 2300-1000+2500 = 3800 Zyklen
(VBI-Zyklen minus ROM-VBI plus leere D.-List)
Benutzeravatar
eda70
Super Poster
Super Poster
 
Beiträge: 1000
Registriert: Do 1. Jan 1970, 01:00

Re: Vertical Blank Interrupt

Beitragvon mp-one » Mo 13. Mai 2013, 14:08

Hi Erhard,

hier eine weitere Quelle:

http://www.strotmann.de/~highland/bib/dere/14.htm

Gruß,

Michael
Benutzeravatar
mp-one
Star Poster
Star Poster
 
Beiträge: 756
Registriert: Do 1. Jan 1970, 01:00

Re: Vertical Blank Interrupt

Beitragvon eda70 » Mo 13. Mai 2013, 14:48


Ist das nicht wieder nur NTSC ? Die Frage bezog sich aber auf PAL (Man ist mit den 3800 allerdings auf der sicheren Seite :) )
(Das scheint das Problem einiger deutscher Bücher zu sein, dass diese 1:1 aus dem Englischen übersetzt wurden, ohne ggf. Anpassungen an die anderen Frequenzen zu machen. Bei vielen Darstellungen der Noten des Sound-Befehles ist das auch so...)
Benutzeravatar
eda70
Super Poster
Super Poster
 
Beiträge: 1000
Registriert: Do 1. Jan 1970, 01:00

Re: Vertical Blank Interrupt

Beitragvon mp-one » Mo 13. Mai 2013, 20:03

Hi Erhard,

Update: im Profibuch wird für den "deferred VBI" eine maximale Grenze von 24.000 Zyklen angegeben (dies dürfte der PAL-Wert sein). Mit 20.000 sollte man so oder so sicher sein.

S. 102-103 in Ausgabe 07/2011

Gtx,

Michael
Benutzeravatar
mp-one
Star Poster
Star Poster
 
Beiträge: 756
Registriert: Do 1. Jan 1970, 01:00

Vertical Blank Interrupt

Beitragvon Erhard » Di 14. Mai 2013, 08:15

Hallo ihr alle,

erst einmal vielen Dank für die Angaben.

Jetzt taucht aber ein weiteres Problem auf:

Ich dachte immer, der VBI wird NACH dem Bild generiert, so daß die Programmabarbeitung während der Elektronenstrahlrückführung stattfindet.

Einerseits steht im DeRe Atari:

"Natürlich werden viele dieser 20.000 Zyklen ausgeführt, während sich der Elektronenstrahl auf dem Bildschirm befindet."

Andererseits steht im DeRe Atari:

"Als erstes können Bildschirm-Manipulationen während des Vertical Blanks ausgeführt werden, so daß diese Änderungen garantiert nicht auf dem Bildschirm geschehen."

Oder ist es so:

Der VBI wird am Ende des Bildes ausgelöst. Der "immediate" Teil davon paßt in die Zeit der Elektronenstrahlrückführung, der "deferred" Teil davon läuft während der ANTIC wieder ein Bild generiert?

Ich benötige eigentlich folgendes: serielle Kommunikation über den Joystick-Port, ohne daß der ANTIC-DMA das Timing stört und OHNE das Bild komplett auszuschalten.

Da bleibt eigentlich nur die Austastlücke. Da die aber logischerweise kürzer ist als der Bildaufbau wird das wohl nicht passen.

20.000 Zyklen dauern 0,012 Sekunden, ein 50 Hz Frame dauert 0,020 Sekunden. Wenn der "deferred" Teil nun während des Bildaufbaus läuft, wird fast jeder 2.te Takt durch einen DMA-Zugriff unterbrochen.

Das macht dann 0,018 Sekunden. Bleiben ungefähr 0,002 Sekunden für die Austastlücke. Die Austastlücke dauert technisch gesehen wohl 50 Zeilen a 64 us = 0,0032 Sekunden.

Paßt doch rechnerisch ungefähr.

Ok, vielen Dank noch mal.

CU

Erhard
Benutzeravatar
Erhard
Star Poster
Star Poster
 
Beiträge: 474
Registriert: Do 1. Jan 1970, 01:00
Wohnort: Radevormwald


Zurück zu Programmierung



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron