Table Of ContentArthur Burda
VGA und SuperVGA
professionell
programmiert
Arthur Burda
VGA und SuperVGA
professionell programmiert
Mit nOtzlichen Tips, Tricks
und Power-Tools auf Diskette
Aus dem Bereich
~-- Computerliteratur
Effektiv Starten mit Turbo Pascal 6.0
von Axel Kotulla
Grafikprogrammierung mit Turbo Pascal 6.0
von Andreas Bartel
MS-DOS Profi Utilities mit Turbo Pascal
von Georg Fischer
100 Rezepte fur Turbo Pascal
von Erik Wischnewski
Units und Utilities fUr Turbo Pascal 6.0
von Anton Liebetrau
Das Vieweg Buch zu Turbo Pascal fur Windows
von Ekbert Hering und Alexander Mendler
VGA und SuperVGA
professionell programmiert
Mit nOtzlichen Tips, Tricks und Power-Tools auf Diskette
von Arthur Burda
Effektiv Starten mit Visual Basic
von Dagmar Sieberichs und Hans-Joachim KrOger
Das Vieweg Buch zu Visual Basic
von Andreas Maslo
Computer Animation ... yom feinsten
von Marc Schneider
Das Vieweg Buch zu Borland C++ 3.0
von Axel Kotulla
Objektorientiert mit Turbo C++
von Martin Aupperle
Vieweg ----------------
Arthur Burda
VGA und SuperVGA
professionell programmiert
Mit nutzlichen Tips, Tricks
und Power-Tools auf Diskette
I I
Vleweg
Die Deutsche Bibliothek -CIP-Einheitsaufnahme
Burda, Arthur:
VGA und SuperVGA professionell progranuniert : mit
niitzlichen Tips, Tricks und Power-Tools auf Diskette / Arthur
Burda. -Braunschweig; Wiesbaden : Vieweg, 1992
Das in diesem Buch enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie ir
gendeiner Art verbunden. Der Autor und der Verlag ubemehmen infolgedessen keine Verantwor
tung und werden keine daraus folgende oder sonstige Haftung ubemehmen, die auf irgendeine Art
aus der Benutzung dieses Programm-Materials oder Teilen davon entsteht.
Aile Rechte vorbehalten
© Springer Fachmedien Wiesbaden 1992
Urspriinglich erschienen bei Friedr. Vieweg & Sohn Verlagsgesellschaft mbH,
BraunschweiglWiesbaden, 1992.
Das Werk einschlieBlich aller seiner Teile ist urheberrechtlich ge
schutzt. Jede Verwertung auBerhalb der engen Grenzen des Urhe
berrechtsgesetzes ist ohne Zustimmung des Verlags unzulassig
und strafbar. Das gilt insbesondere rur Vervielfaltigungen, Uber
setzungen, Mikroverfilmungen und die Einspeicherung und Ver
arbeitung in elektronischen Systemen.
Umschlagsgestaltung: Schrimpf & Partner, Wiesbaden
Gedruckt auf saurefreiem Papier
ISBN 978-3-528-05429-8 ISBN 978-3-663-13889-1 (eBook)
DOI 10.1007/978-3-663-13889-1
v
Vorwort
Sicherlich werden Sie als Leser zu denjenigen gehoren, die nach um
fassendem und kompaktem Informationsmaterial zum Thema VGA
Grafikprogrammierung suchen. Das Buch, das Sie in Ihren Handen
halten, soIl Ihnen auf der Suche nach neuesten Informationen zu die
sem Thema helfen. Ganz gleich, ob sie Einsteiger oder Profi sind,
wurde ich mich freuen, wenn die Lekture dieses Buches Ihnen viel
Nutzen und SpaB bringen wird.
Das Buch und die Diskette enthalten viele nutzliche Tools und An
wendungen rund um VGA und Super-VGA, die ausfuhrlich und ver
standlich anhand einer Vielzahl von Beispielen erlautert werden. AIle
Programme, die sich auch auf der beiliegenden Diskette befinden, ha
be ich in Turbo Pascal (ab Version 5.0) erstellt. Fur diejenigen unter
Ihnen, die uber Turbo Assembler (ab Version 1.0), Makro Assembler
(ab Version 5.0) oder Turbo Pascal 6.0 mit integriertem Assembler
verfugen, habe ich einige Beispielroutinen in Assemblersprache ge
schrieben.
Sie finden in diesem Buch unter anderem ein Snapshot-Programm fur
die 256-Farben-Modi, einen Fraktalgenerator zur Berechnung von
Grafiken mittels mathematischer Formeln und viele umfangreiche
Sammlungen von Grafikroutinen, zusammengefaBt in den sogenann
ten Turbo-Pascal-Units. AIle Programme finden Sie auch in ausfuhr
baren EXE-Dateien auf der Diskette (fur aIle Programme wurde ein
286-Code generiert).
Ich hoffe, daB dieses Buch Gefallen findet und Sie das erworbene Wis
sen in Ihren eigenen Applikationen einsetzen werden.
Fur die Veroffentlichung dieses Buches mochte ich mich ganz beson
ders bei den Mitarbeitern des Vieweg Verlages bedanken, deren In
teresse an diesem Projekt mir die Motivation gab, es in der vorliegen
den Form zu realisieren.
Arthur Burda Bochum, Oktober 1992
VII Inhaltsverzeichnis
Inhaltsverzeichnis
1 Einfiihrung ...................................................................................... 1
1.1 VGA und andere Grafikadapter im Vergleich ................................... 1
1.2 Unterschiede zwischen Standard-und Super-VGA ......................... 4
1.3 Aufbau der VGA-Karte ......................................................................... 6
1.4 VRAM-Speichertechnologie fur Super-VGA-Karten ...................... 10
1.5 Speicherverwaltung der Standard-Betriebsarten: 16-und
256-Farben-Modi .................................................................................. 11
1.6 Was versteht man unter HiColor und CEG? ................................... 13
1.7 Speicherverwaltung in den HiColor-Modi ....................................... 15
1.8 Worauf sollten Sie beim Kauf einer VGA-Karte achten? ............. 16
1.9 Ubersicht der bekanntesten Super-VGA-Karten ........................... 17
2 Erste Schritte ............................................................................................. 21
2.1 Programmiertechniken ....................................................................... 21
2.2 Fiillen von rechteckigen Bildschirmbereichen ................................ 29
2.3 Erstellung von beliebigen Farbnuancen
durch Anderung der Standardpalette .............................................. 31
2.4 Umwandlung von Farben in Graustufen ......................................... 39
3 Modus 19 der 256-Farben-Standard .................................................. 43
3.1 Gliederung der Unit MODUS_19 ...................................................... 43
3.2 Compilereinstellungen und Interface-Teil ....................................... 44
3.3 Implementationsteil ............................................................................ 47 .
3.4 Zeicheneditor fur VGA-Units ............................................................. 74
3.5 Demoprogramme fur die Unit MODUS_19 ..................................... 85
VIII Inhaltsverzeichnis
4 Hochauflosende Super-VGA-Grafik .................................................. 93
4.1 Konzeption der Unit SVGA ................................................................ 93
4.2 Compilereinstellungen und Interface-Teil ....................................... 95
4.3 Implementationsteil .......................................................................... 100
4.4 3D-Grafik am Beispiel von Raumgitterkurven ............................. 128
4.5 Dreidimensionale Simulation eines Sternbimmels ...................... 138
5 Bildschirmschoner mit speziellen VGA-Effekten ....................... 147
5.1 Grundlagen, Funktionsweise und Gestaltung
der TSR-Programme im Hinblick auf den Bildschirmschoner .. , 148
5.2 Welche Leistungsmerkmale sallte ein guter
Bildschirmschoner fur VGA aufweisen? ........................................ 150
5.3 Implementation des Bildschirmschoners ....................................... 153
6 PCX-Bilder mit 256 Farben ................................................................. 187
6.1 Allgemeines zum PCX-Format ........................................................ 187
6.2 Interner Aufbau der PCX-Dateien
und Komprimierungsverfahren ....................................................... 188
6.3 PCX-Unit ............................................................................................. 192
6.4 Slideshow mit PCX-Bildem in 256 Farben. ................................... 215
7 Snapshot-Programm und Slideshow-Maker ................................ 219
7.1 Als erstes kommt das Snapshot-Programm .................................. 219
7.2 SHOW_ 256 -der Slideshow-Maker ................................................ 237
Inhaltsverzeichnis IX
8 Die Wunderwelt der Fraktale ............................................................ 261
8.1 Allgemeines zu Frakta1en? ............................................................... 261
8.2 Komplexe Zahlen als Basis fUr die Berechnung von Fraktalen. 265
8.3 Die Mandelbrot·Menge ..................................................................... 268
8.4 Fraktalgenerator nach Newton ....................................................... 274
9 Echtzeit-Animation im Modus 19 ..................................................... 291
9.1 Unit ANIMATOR ............................................................................... 291
9.2 Animation mit Apfelmannchen ....................................................... 301
10 VGA-Know-How ...................................................................................... 305
10.1 HiColor·Modi beim Tseng ET-4000 Chip mit Extended DAC .... 305
10.2 Bildschirm·Splitting und Smooth·Scrolling. .................................. 326
10.3 Spielereien mit den internen VGA-Registern ............................... 344
10.4 ROM-Zeichensatze ............................................................................. 350
10.5 Neue unbekannte Grafikmodi ......................................................... 353
Anhang A -Die wichtigsten Funktionen des VGA-BIOS .......... 373
Anhang B -Ubersicht aller Register der Standard-VGAKarte ....... 385
Sachwortverzeichnis ..................................................................................... 391
1
1 Einflihrung
Eigentlich sollte dieses Kapitel "Grundlegende Informationen iiber
VGA- und Super-VGA-Karten" hei.f3en. Denn es ist nicht, wie Sie viel
leicht vermutet haben, eine Einfuhrung in die Programmierung der
VGA-Karten, sondern es versorgt den Leser mit einer Menge allge
meiner Informationen zum Thema VGA-Karten und bildet somit die
Voraussetzung fur das Verstandnis weiterer Dinge und Probleme, die
ich in diesem Buch zum Vorschein bringen mochte. Aber nicht nur
das. Auch solche Themen, wie Tips zum Kauf einer VGA-Karte oder
Marktiibersicht der wichtigsten Produkte, werden in diesem Kapitel
behandelt. Und Sie als Leser lade ich herzlich ein, sich nicht nur zu
informieren, sondern vielmehr in die Problematik einzusteigen, um
das Konzept der VGA-Adapter einmal kennenzulernen und spater
auch komplexe Programme selbstandig schreiben zu konnen.
1.1 VGA und andere Grafikadapter
im Vergleich
Die VGA~ bzw. Super-VGA-Karte nimmt den Platz im Mittelfeld der
Grafikkarten ein. Der allererste Standard unter den Farbgrafikkarten
ist IBMs CGA-Standard. Die CGA-Karte kennt im Grafikmodus mit
320x200 Punkten nur vier Farben. Dies ist fur den heutigen Anwen
der viel zu wenig. Au.f3erdem treten bei der CGA-Karte starke
Schneeffekte beim Direktzugriff auf den Bildschirmspeicher auf, die
die Qualitat der Darstellung stark verringern. Heute wird der CGA
Standard nicht mehr eingesetzt.
EGA hei.f3t der Nachfolger der CGA-Karte. Er kennt 16 Farben bei ei
ner Auf16sung von 640x350 Punkten. Als dieser Grafikstandard vor
etwa 5 Jahren begann, sich durchzusetzen, kamen die ersten VGA
Karten auf den Markt. Diese waren insbesondere viel schneller als die
EGA-Karten. Wahrend bei den EGA-Karten die Grafikregister viele
Tiicken aufwiesen (viele Register konnten nicht ohne weiteres ausge
lesen werden), konnten all diese nachteiligen Eigenschaften bei den
VGAs von vornherein ausgeschlossen werden. Die VGA-Karte wurde