1988-Club80-24, S.40-42

HRG, daß die Schwarte kracht


Arnulf Sopp

Im Sonderheft über die Aufrüstung des Genie 3s stellten Helmut und ich unsere Erweiterung vor, mit der alle Speicherbaugruppen dieses Computers eine vierfache Kapazität erhielten. Dazu gehörten auch der Bildschirm mit 8 kB (zuvor 2 kB) und die Graphik mit 256 kB (vorher 64).

Viel später fiel mir auf, daß der Video-Controller (6845 CRTC) 14 Adreßleitungen hat. Damit könnte er sogar 16 kB Bildschirm verwalten. Er war aber noch immer wegen der ursprünglichen 2 kB nur mit 11 Leitungen verkabelt. So wurden die Addressen A11 und A12 des 6845 auch noch an den Bildwiederholspeicher angelötet. Das sieht nun so aus:

Nach dieser Operation ist die Hardware des Videoteils nun folgendermaßen konfiguriert: wie in alten Zeiten kann die CPU nur höchtens 2 kB von 3800-3FFFh gleichzeitig erreichen. Das langt z.B. für 80 X 26 Zeichen. Den Zugriff auf die vollen 8 kB erhält sie in Portionen zu 2 kB über die Bits 2 und 3 des Ports F3h (per OUT-Befehl). So ergeben sich aus der Perspektive des Z80 vier Einzelbildschirme zu 2048 Zeichen. Sie können selbstverständlich nacheinander mit einem zusammenhängenden Text befüllt werden. Das selbe gilt für die Graphik mit achtmal 32 kB oder zweimal 128 kB.

Der CRTC aber ist über 13 Adreßleitungen direkt mit dem Video-RAM verbunden; für ihn ist es ein einziger Speicher, den er stückweise oder auch ganz anzeigen kann (sofern der Monitor mitspielt - meiner tut es nicht: s.u.). Daher besteht nun die Möglichkeit, die CPU in einen Teilbereich des Bildschirms von max. 2 kB Größe werkeln zu lassen, während auf Wunsch wesentlich mehr angezeigt wird.

Nun war es theoretisch möglich, den kompletten Videospeicher von 8192 Zeichen anzuzeigen. Da wäre aber in dem Gedränge nicht nur nichts mehr zu erkennen. Die Hardware des Monitors (nicht des Computers) setzt auch Grenzen in der vertikalen und horizontalen Punktdichte und damit in der Anzahl der angezeigbaren Zeichen senkrecht und waagerecht.

Helmut und ich wollten es wissen. Zum Ausprobieren der maximal möglichen Auflösung ging ich von dem Bildschirmformat 92 X 22 Zeichen bei einer Zeichenhöhe von 12 Scan-Zeilen aus. 92 Zeichen ist bei meinem Monitor die höchstmögliche Zeilenlänge, was ich früher schon einmal ausgetestet hatte. Bei 22 Zeilen ergibt sich eine Bildspeichergröße von knapp 2 kB, also das alte Maximum. 12 Zeilen pro Zeichen erwiesen sich als Obergrenze denn bei 13 Scan-Zeilen begann mein Bildschirm zu schwimmen.

Um die größtmögliche Höhe des Bildschirms rauszukriegen, programmierte ich zunächst den Interlace-Modus. Dabei werden abwechselnd zwei Halbbilder angezeigt, um die Anzahl der möglichen Scan-Zeilen zu verdoppeln. Nach der Schimpansen-Methode (Rumprobieren) fand ich anschließend nach und nach die Maximaldaten für die Register 4-7 des CRTC heraus, um den Bildschirm auch vertikal bis zum Anschlag auszureizen.

Resultat waren 92 X 60 Zeichen, also fast fünfeinhalb kByte Fernsehen. Für ASCII-Texte wird man diese Format kaum je brauchen. Es ist witzlos, halbe Bibeln gleichzeitig auf dem Bildschirm zu haben. Für Graphik- Anwendungen kann jedoch eine etxrem hohe Auflösung sehr interessant sein. Bei einer Zeichenbreite von 8 Punkten und einer Höhe von 12 Dots gibt dieses Format eine Auflösung von 736 X 720 Pixeln her. Und das mal 2 weil der G3s zwei Graphikseiten speichern und anzeigen kann. Theoretisch sind sogar 1024 X 1024 Dots denkbar, was ein Monitor mit hinreichender Bandbreite dann auch anzeigen sollte. Daher das überlebensgroße 'H' in der Überschrift.

Das im Anschluß gelistete Programm füllt den Bildschirm mit einem Graphik- muster, das erkennen läßt, wo welche 32-kB-Seite des Graphikspeichers beginnt. Zunächst werden die experimentell ermittelten Daten auf den CRTC ausgegeben. Es folgt ein wenig G3s-spezifisches Vorgeplänkel (ASCII-Bild- schirm aus- und Graphik einblenden). Danach werden über die Bits 2 und 3 des Port F3h nacheinander die 4 Bildschirme bzw. Graphik-Memories selektiert und mit dem Punktmuster des Bildschirmzählers beladen. Es entstehen senkrechte Streifen unterchiedlicher Länge und Dicke. Wo sich die Form eines Streifens ändert, beginnt ein neuer der 4 Bildschirme alter Größe.

Diese äußerst üppige Auflösung wird man wohl selten brauchen. Durchaus sinnvoll ist aber die Möglichkeit, in einem gesonderten Abschnitt des Bildschirms ständig ein Menü, eine oder mehrere Statuszeilen oder ein DIR in der Anzeige zu haben, während die CPU darunter oder darüber noch immer über volle 2 kB Videospeicher verfügen kann. Das Menü wird auch nicht durch einen Scroll oder CLS gelöscht, weil nur der CRTC, nicht aber die CPU gleichzeitig den vollen Bildwiederholspeicher von 8 kB beherrscht.


Arnulf Sopp


		00001 ; Testroutine, mit der die höchstmögliche Graphikauflösung
		00002 : beim Genie 3s mit Helmut Bernhardts Mega-Banker
		00003 ; durch Probieren ermittelt werden kann
		00004 ;
		00005 ; Sopp
		00006
5200		00007
		00008
5200  214152	00009 start	LD	HL,data		;Parametertabelle für den CRTC
5203  D1F710	00010		LD	BC,10f7h	;Zähler 16 Register, CRTC Datenport F7
5206  AF	00011		XOR	A		;A