Bildschirmabschaltung des Tempos wegen

Relokable Page-6-Routine zur VBI-Steuerung der ANTIC-Kontrolle

Bekanntlich ist der ANTIC, einer der Custom-Chips der kleinen Ataris, unter anderem für die Bildschirmausgabe zuständig. Wie ebenfalls fast jeder weiß, läßt sich die Rechengeschwindigkeit des Computers um ca. 25% erhöhen, wenn man den ANTIC während einer solchen Operation von eben dieser Aufgabe entbindet, d.h. die Bildschirmausgabe abschaltet. Von Basic aus ist dies mit POKE 559,0 möglich. Der ANTIC läßt sich wieder auf Bildschirmausgabe schalten, indem man in die Adresse 559 den ursprünglichen Wert poked.

Das vorliegende kleine Programm bietet nun eine interessante Variante. Nachdem man es abgetippt, abgespeichert und mit RUN gestartet hat, installiert es eine Maschinenroutine in der Page 6 des Rechnerspeichers. Ist diese einmal aufgerufen (X = USR (1536)), kann der Benutzer durch Drücken der HELPTaste (Version 2 für 400/800: CTRL-2) die Bildschirmausgabe wechselweise .in- und abschalten.
Die dazu erforderliche Tastenabfrage ist im VBI verankert (VBI = Vertical Blank Interrupt = Arbeitspause des Systems, die jede 1/50 Sekunde, nach dem Aufbau einer Bildschirmzeile erfolgt). Daher kostet sie - im Gegensatz zu einer IF-THEN-Abfrage in Basic keinerlei Rechenzeit. Ist die VBI-Routine einmal installiert, läßt sich jedes Basic-Programm zuladen. Wo es rechenintensiv wird, drückt man HELP, und die Wartezeit verkürzt sich ein wenig.

Sollte das Basic-Programm die Page 6 benutzen bzw. möchte man dort andere Hilfsprogramme ablegen, kann die VBI-Routine auch im unteren Bereich des Prozessor-Stacks oder an einem anderen geschützten Platz deponiert werden. Dann sind die Werte in Zeile 25020 und natürlich die Einsprungadresse für den USR-Befehl zu ändern.
Maschinensprachefans möchte ich noch zwei Hinweise geben. Die VBI-Routine benutzt Timer z. In Adresse $CB (dez. 203) wird der Inhalt des DMA-Kontrollregisters ($22F, dez. 559) zwischengespeichert. Diese Informationen sollten genügen, um die Verwendung der Routine auch von eigenen Assembler-Programmen aus zu ermöglichen.


Wolfgang Schmidt
Aus: Computer Kontakt 08 / 1987, Seite

Links

Copyright-Bestimmungen: siehe Über diese Seite