Forum: PC-Programmierung VGA 640x480 16 Farben , gibt es da Pages?


von Peter B. (funkheld)


Lesenswert?

Hallo, guten Tag.
Bei VGA 640x480 16 Farben , gibt es da bitte Pages?
Wie kann man die bitte festlegen?

Danke.

von Rolf M. (rmagnus)


Lesenswert?

Peter B. schrieb:
> Hallo, guten Tag.
> Bei VGA 640x480 16 Farben , gibt es da bitte Pages?

Meinst du Bit Planes? Dann ja.

> Wie kann man die bitte festlegen?

Was willst du festlegen?

von Jens G. (jensig)


Lesenswert?

https://www.amazon.de/PC-Underground-Boris-Bertelsong/dp/3815811171

Da steht alles drin, ist aber wohl auch schwer zu bekommen ...

von Peter B. (funkheld)


Lesenswert?

Ja, ich meine Bit Planes.

Ich möchte bitte zum Schreiben Bit Planes festlegen im Hintergrund und 
dann die Bit Planes nach Vorn setzen bzw  wechselnseite bewegen.

Finde dafür keine Befehle für Intr.

Danke.

von Foobar (asdfasd)


Lesenswert?

Mehrere Layers (Vorder-/Hintergrund, parallax scrolling, etc) gibt's bei 
VGA nicht in Hardware.  Musst du selbst programmieren.

von Jens G. (jensig)


Lesenswert?

Foobar schrieb:
> Mehrere Layers (Vorder-/Hintergrund, parallax scrolling, etc)
> gibt's bei
> VGA nicht in Hardware.  Musst du selbst programmieren.

Davon spricht er ja auch nicht, sondern von Seiten, zw. denen man 
umschalten kann (bzw. man kann den Grafikspeicher sich einteilen, wenn 
ich mich noch recht erinnere) ...

von J. R. (yoc)


Lesenswert?

Man kann die Displaystartadresse ändern und in den jeweils nicht 
sichtbaren Bereich schreiben geht aber nur bis 640x350, da die Pagesize 
bei 640x480 mehr als die hälfte des Speicherfensters belegt.

Hat mir sehr geholfen.
VGA und Super VGA Programmierung Uphoff Matthias

: Bearbeitet durch User
von Rolf M. (rmagnus)


Lesenswert?

Peter B. schrieb:
> Ich möchte bitte zum Schreiben Bit Planes festlegen im Hintergrund und
> dann die Bit Planes nach Vorn setzen bzw  wechselnseite bewegen.

Dann meinst du aber nicht Bit Planes.

J. R. schrieb:
> Man kann die Displaystartadresse ändern und in den jeweils nicht
> sichtbaren Bereich schreiben geht aber nur bis 640x350, da die Pagesize
> bei 640x480 mehr als die hälfte des Speicherfensters belegt.

Ja. 640x480 bei 16 Farben braucht 153600 Bytes und VGA hat 256k 
Grafikspeicher. Damit passen keine zwei Seiten in den Grafikspeicher.
Bei 320x200 in 256 Farben wäre theoretisch für 4 Seiten Platz, wenn da 
nicht der blöde Chain4-Modus wäre, der 3/4 des Grafikspeichers 
verschwendet.

: Bearbeitet durch User
Beitrag #7524401 wurde vom Autor gelöscht.
von Harald K. (kirnbichler)


Lesenswert?

Ich hab' grade mal auf meinen Kalender geguckt. Der behauptet, wir 
hätten jetzt 2023 -- die Fragestellung hätte vor 30 Jahren gepasst.

Wo, außer im Museum, findet man heute noch echte VGA-Karten?

von Klaus K. (Gast)


Lesenswert?

> Bei VGA 640x480 16 Farben , gibt es da bitte Pages?
> Wie kann man die bitte festlegen?

Bei EGA gibt es 4 layers a 64kbyte, das wären dann wohl aber 640x350x16.
Die Ansteuerung geschieht dann wohl über das eigene EGA-Bios.

memory window wäre auch so ein stichwort: 
https://web.stanford.edu/class/cs140/projects/pintos/specs/freevga/vga/vgamem.htm

Und wenn es eigentlich character aka text statt pixelgrafik sein sollte 
könnte man in "curses" reinschauen.

von Peter B. (funkheld)


Lesenswert?

Hallo , danke für die Hilfe.

Gruss

von Peter B. (funkheld)


Lesenswert?

Hallo, guten Tag.
Wie kann man das Segment $a000 bitte mit welchen int-Befehl von MSDOS 
setzen?


int (.....)
POKE widthbytes*y&+(x& DIV 4)+actstart&,5

Danke

: Bearbeitet durch User
von Thomas Z. (usbman)


Lesenswert?

kein int sondern DEF SEG ... setzt das Segment für Peek und Poke.
Das kann man sehr leicht mit Google rausfinden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.