Wie wird die VGA-Adresse erhöht bei Defseg bitte

OP #7551405
Lesenswert?

Hallo, guten Tag. Wie wird bitte die Segmentadresse von VGA erhöht?

Ich möchte bitte einen VGA-Screen 800x400 mit Grafik beschreiben. Nach 80 Zeilen kommen die nächsten 80 Zeilen

Wie sieht bitte das nächste Segment aus ( DEf Seg=...)?

def seg=&ha000 for z&=0 to 64000 poke z&,64 next z&
....... .......

Danke.

#7551412
Lesenswert?

Da gibt es keine größere.

Es ist nur ein 64KB Segment ab hex A000 aktiv, welches von der CPU komplett mittels dem 16 Bit Offset (Register) angesprochen werden kann.

Um andere Adressen im VGA Speicher zu mappen muss man dessen Register umprogrammieren. Wie habe ich lange vergessen.

Und 800 horizontale Pixel klingt nach SVGA und nicht mehr nach VGA - da hatte man nur 640 Pixel horizontal in den Modi mit vernünftiger Anzahl an Farben.

#7551627
Lesenswert?

Peter B. schrieb:

Ich weiss nur nicht mehr wie die Segmentadresse sich mit dem offset aufteilt bei den nächsten 64000 Byte.

Gibt es nicht.

Du musst der Karte sagen welchen Teil des (deutlich größeren) Framebuffers sie auf dem A000 Segment als Fenster abbilden soll damit die CPU darauf zugreifen kann.

Für die CPU liegen die Daten immer von (einschließlich) A000 bis (ausschließlich) B000 im Speicher.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren