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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.