VGA-Simulator V0.71 (c) 1992 by Christoph Zwerschke =================================================== Sinn und Zweck: --------------- Der VGA-Simulator ist ein Hilfsprogramm fr den Atari TT. Er soll die fnf niedrigen TT-Aufl”sungen (VGA-Aufl”sungen) mit der hohen TT-Aufl”sung simulieren. Das Programm ist notwendig, weil ein Monitor fr die hohe TT-Aufl”sung (z.B. TTM 194/195) normalerweise nicht VGA-Aufl”sungen anzeigen kann. Und wer hat schon den Platz und das Geld, sich neben dem Monochrom-Grožbildschirm noch einen VGA-Monitor aufstellen zu k”nnen? Lieferumfang: ------------- Der VGA-Simulator arbeitet rein softwarem„žig. Dazu geh”ren die folgenden vier Dateien: VGA_SIMU.TXT : diese Information VGA_SIMU.PRG : der eigentliche Simulator, geh”rt in den AUTO-Ordner VGA_SIMU.CPX : Kontrollprogramm fr den Simulator, geh”rt in den CPX-Ordner PATCH.PRG : Programm zum Patchen der Voreinstellungen Copyright: ---------- Copyright (c) 1992 by Christoph Zwerschke. Die Versionen 0.xx des VGA-Simulators sind "Public Domain". Sie drfen nach Belieben kopiert werden, auch ber Mailboxen, unter der Voraussetzung, daž dies unentgeltlich geschieht. Ab Version 1.00 wird der VGA-Simulator voraussichtlich "Shareware". Er darf dann weiterhin unentgeltlich kopiert werden, aber bei regelm„žiger Benutzung ist an den Autor eine geringe Gebhr zu zahlen. Hinter dem Programm steckt n„mlich viel Detailarbeit. Voraussetzung zur Weiterentwicklung des VGA-Simulators ist allerdings eine entsprechende Resonanz bei den Anwendern. Verbesserungsvorschl„ge und Honorierungen jedweder Art (Lenin-Orden, Schinkenbrote, ...) werden vom Autor gerne angenommen, und natrlich auf die Gebhr fr die Shareware-Version angerechnet, falls eine solche entsteht. Haftungsausschluž: ------------------ Natrlich kann die Funktionsf„higkeit des VGA-Simulators nicht garantiert werden und der Autor haftet auch nicht fr irgendwelche Sch„den, die sich aus der Benutzung des Programmes oder der Dokumentation ergeben k”nnen (einschliežlich, aber nicht beschr„nkt auf Explosion oder Implosion des Monitors, Durchschmoren des Shifters und Formatieren der Festplatte). Funktionsprinzip: ----------------- Der VGA-Simulator legt einen zus„tzlichen Bildschirmspeicher an, der auf dem Monochrom-Monitor angezeigt wird. Das Betriebssystem und die Anwender- programme benutzen nur einen "virtuellen" Bildschirm, der vom VGA-Simulator im VBl-Interrupt, also 71 mal in der Sekunde, in die hohe TT-Aufl”sung umgerechnet wird. Das kostet natrlich erhebliche Rechenzeit, weswegen einige zus„tzliche Mažnahmen getroffen wurden, diese Umrechnung optional auf Kosten der Genauigkeit und/oder des Speicherplatzes abzukrzen. Installation: ------------- Es reicht, das Programm VGA_SIMU.PRG in den AUTO-Ordner zu kopieren. VGA_SIMU.PRG sollte dabei m”glichst als eines der letzten Programme, jedenfalls nach GEMRAM, GDOS, NVDI usw. im AUTO-Ordner stehen. Mit dem Programm PATCH.PRG k”nnen noch bestimmte Voreinstellungen in VGA_SIMU.PRG "gepatcht" werden, momentan sind dies: Die Standard-Aufl”sung: Das ist die Aufl”sung, in die der TT nach dem Booten wechselt. Man kann w„hlen zwischen der Standard-VGA-Aufl”sung, der hohen TT-Aufl”sung und Abfragen der Aufl”sung beim Booten. Warten im Fehlerfall: Gibt an, ob im Fehlerfall (zu wenig Speicher, kein Monochrom-Monitor angeschlossen, usw.) nach der Ausgabe der Fehlermeldung noch auf einen Tastendruck gewartet werden soll. ST-Aufl”sungen zoomen: Hier kann gew„hlt werden, ob die ST-Aufl”sungen vierfach vergr”žert werden sollen, oder unvergr”žert in der Mitte des Bildschirms erscheinen sollen (was natrlich flotter geht). Umrechnungstabellen: Hiermit kann gew„hlt werden, ob 512 kByte Speicher fr Tabellen reserviert werden drfen, die die Umrechnung des Bildschirm- Speichers in die hohe TT-Aufl”sung beschleunigen k”nnen. Prfsummen benutzen: Durch Benutzung von Prfsummen kann die Umrechnung des Bildschirmspeichers vermieden werden, wenn sich dieser nicht oder nur wenig „ndert. Es k”nnen dabei allerdings u.U. Fehler entstehen, die sich als "Dreck" auf dem Bildschirm „užern. Durch leichtes "šberwischen" mit der Maus kann dieser Dreck aber meist leicht wieder entfernt werden. Schliežlich kann noch das Programm VGA_SIMU.CPX in den CPX-Ordner kopiert werden. Damit k”nnen die drei letzten Optionen noch im laufenden Betrieb anders gew„hlt werden, wenn das XCONTROL-Accessory zug„nglich ist. Betrieb: -------- W„hrend des Betriebs k”nnen wie gesagt einige Optionen ber VGA_SIMU.CPX ge„ndert werden. Zu beachten ist, daž der VGA-Simulator auch dann im Speicher installiert ist und bleibt, wenn er in der hohen TT-Aufl”sung gestartet wird, damit man nachtr„glich in die VGA-Aufl”sungen umschalten kann. Der VGA-Simulator untersttzt n„mlich ausdrcklich das Umschalten zwischen der hohen TT-Aufl”sung und den VGA-Aufl”sungen. Leider wird dies allerdings auch bei der aktuellen TOS-Version 3.06 noch vom AES, VDI und vom Desktop "mit allen Mitteln" verhindert, ist also in der Praxis noch nicht m”glich. Trotzdem ist der VGA-Simulator auf "unsaubere Hacks" und bessere Zeiten mit neuen TOS-Versionen bereits vorbereitet. Einschr„nkungen: ---------------- Natrlich kann der VGA-Simulator keine Farben auf den Monochrom- Bildschirm "zaubern". Deswegen (und wegen des Brems-Effekts) ist er natrlich nur als Behelf anzusehen. Die Farben k”nnen wegen des dazu n”tigen Zeitaufwandes nicht in echte Graustufen umgerechnet werden und die Farbpalettenregister werden auch nicht untersttzt. Das Pixelmuster fr einen Farbpixel entspricht einfach dem Bitmuster, den der Index in die Farbpalette darstellt. Trotz seiner Einfachheit ist dieses Umrechnungsverfahren aber erstaunlich brauchbar und hat sich auch schon bei vielen Farb-Simulatoren auf dem Atari ST bew„hrt. Der Simulator greift lediglich in die unterste Ebene zur Programmierung der Atari-Video-Hardware ein, das XBIOS. Alle Programme, die sauber ber das XBIOS laufen, sollten mit dem VGA-Simulator keine Probleme bekommen. Leider sind es aber nicht nur einige Telespiele, die unter Umgehung des XBIOS direkt auf die Atari-Video-Hardware zugreifen, sondern unverst„nd- licherweise sogar in einigen F„llen das Standard-VDI. Das gilt insbesondere fr die VDI-Funktion vq_color(). Bei der Žnderung der Farbpalette ist daher mit den merkwrdigsten Ergebnissen zu rechnen. Da die Farbpalette aber wie gesagt sowieso nicht vom Simulator untersttzt wird, stellt dies natrlich kein allzu grožes Problem dar. Hoffen wir trotzdem auf ein "sauberes" VDI im angekndigten "Multi-TOS". Es kann sein, daž der VGA-Simulator mit Telespielen, die direkt die Video-Hardware programmieren, den VBl-Interrupt blockieren oder ein genaues Timing ben”tigen, nicht richtig arbeitet oder gar "abstrzt". Bei sauber programmierter Software drfte dies allerdings nicht vorkommen. Achtung: Nicht alle "Abstrze" sind unbedingt auf den VGA-Simulator zurckzufhren. Viele Programme laufen einfach nicht in allen Aufl”sungen einwandfrei. Auch das Wechseln der Aufl”sung hat einige Tcken. Der Bildschirmschoner IDLE.ACC strzt z.B. grunds„tzlich beim Aufl”sungswechsel ab. Aužerdem ist die XBIOS-Funktion EsetShift() auch in der aktuellen TOS-Version 3.06 noch fehlerhaft. Das Programm sollte wesentlich schneller laufen, wenn es selbst und die Umrechnungstabellen im "Fast-RAM" liegen k”nnen. Das setzt natrlich voraus, das selbiges vorhanden ist. Da dies beim TT des Programmautors leider nicht der Fall ist, konnte der Betrieb mit dem "Fast-RAM" noch nicht getestet werden. Geplante Verbesserungen: ------------------------ Bis zur offiziellen Shareware-Version 1.0 ist vieles geplant. Ob alles umgesetzt wird, h„ngt wie gesagt vor allem von der Resonanz unter den Anwendern ab. Verbesserungsvorschl„ge werden jederzeit angenommen. Zun„chst bietet es sich natrlich an, einen Bildschirmschoner zu integrieren. Das Problem mit den Bildschirmschonern fr die hohe Aufl”sung des Atari TT ist ja, daž sie 150 kByte als Bildschirmpuffer ben”tigen, wenn sie auch mit Programmen arbeiten sollen, die kein AES-Redraw untersttzen. Deswegen verzichtet das zum Lieferumfang des TT geh”rende MACCEL3 auch auf das Schonen des Bildschirms in der hohen Aufl”sung. Da der VGA-Simulator aber sowieso einen Bildschirmpuffer anlegt, ist das hier kein Thema. Aužerdem kann das laufende Programm in der "Schonzeit" des Bildschirms mit voller Geschwindigkeit laufen, ohne bremsendes Umrechnen. Der Bild- schirm k”nnte in dieser Zeit "eingefroren" oder schwarz geschaltet werden, Feuerwerk oder fliegende Toaster (wie phantasielos) anzeigen. Originellere Ideen, die sich leicht in Assembler realisieren lassen und nicht zu viel Speicherplatz ben”tigen, sind herzlich willkommen. Eine andere Sache ist das regelm„žige Umkopieren des Bildschirms. Diese Methode war beim Atari ST noch angebracht. Der Atari TT verfgt jedoch mit dem 68030 ber eine integrierte MMU (Memory Management Unit), die zur Untersttzung eines virtuellen Bildschirms geradezu pr„destiniert ist. Leider verfgt der Autor zur Zeit jedoch noch ber keine brauchbare Dokumentation zur MMU des 68030 im allgemeinen und es gibt auch noch keine Richtlinien zur Programmierung der MMU auf dem TT von Atari im besonderen. Es ist zu erwarten, daž durch sinnvollen Einsatz der MMU der VGA-Simulator erheblich beschleunigt werden kann. Ideen und Anregungen zu diesem Thema nimmt der Autor besonders gerne entgegen. Zumindest kann der VGA-Simulator in der derzeitigen Version nicht mit anderen Programmen kollidieren, die ebenfalls die MMU benutzen, z.B. 24BIT.PRG, ROMRAM, usw. Schliežlich sucht der Autor noch eine M”glichkeit, von den VGA-Aufl”sungen in die hohe TT-Aufl”sung zu schalten, und umgekehrt. Wie gesagt wird dies vom VGA-Simulator untersttzt, aber bisher vom GEM erfolgreich behindert. Auch eine Umschaltung fr einzelne Programme w„re hilfreich. Dann k”nnte man st„ndig in der hohen TT-Aufl”sung bleiben, und ein Hilfsprogramm wrde dafr sorgen, daž fr Programme, die nur in einer der VGA-Aufl”sungen arbeiten, automatisch in die die entsprechende Aufl”sung geschaltet wird. In den bisherigen TOS-Versionen ist dies sicher nur mit "illegalen Mitteln" zu erreichen, aber auch mit solchen kaum m”glich, wie der Autor nach vielen frustrierenden Versuchen feststellen mužte. Auch hier bleibt also wohl nur die Hoffung auf das "Multi-TOS". St”rungen und Fehlerbeseitigung ------------------------------- Sollte der VGA-Simulator nicht funktionieren oder Probleme bereiten, die nicht im Abschnitt "Einschr„nkungen" erw„hnt sind, ist der Autor fr eine genaue Problembeschreibung dankbar. Solange es sich nicht um eine der im Abschnitt "Haftungsausschluž" erw„hnten gr”žeren Katastrophen handelt, k”nnte dieses Problem dann m”glicherweise in einer n„chsten Version behoben werden. Zuvor lese man aber noch einmal die gesamte Anleitung, um abzukl„ren, ob das Problem wirklich am VGA-Simulator liegt. Es handelt sich oft auch um Seiteneffekte mit anderen Hintergrund-Programmen. Daher ist es ratsam, den Rechner einmal nur mit dem VGA-Simulator zu booten, also soweit m”glich ohne andere Programme im AUTO-Ordner und ohne Accessories. Durch "stufenweises Hinzufgen" der anderen Programme kann man dann den "St”renfried" finden. Manchmal hilft es, einfach die Reihenfolge der Programme im AUTO-Ordner zu „ndern. Hier muž man etwas experimentieren. Adresse des Autors: ------------------- Der Programmierer vom Dienst, Christoph Zwerschke Bankverbindung: Am Steinfeld 4 Bezirkssparkasse Heidelberg D-4714 Cappenberg BLZ: 67250020 Kto: 4338405 Zur Zeit auch im Maus-Netz (Christoph Zwerschke @ KA) zu erreichen.