Nascom Journal |
Mai 1982 · Ausgabe 5 |
Welcher Nascom Anwender hat sich nicht schon über das zu anderen Rechnern inkompatible Bildschirmformat von 16*48 Zeichen geärgert. Besonders dann wenn er Software, z.B. BASIC-Programme, auf seinen Nascom übernehmen wollte oder seinen Nascom als Terminal für Grossrechner und andere Mikrorechner verwenden wollte, wie z.B. CP/M-Systeme ?
Diese Tatsache hat mich dazu veranlasst eine programmierbare Videointerfacekarte für Nascom Computer zu entwickeln die am NASBUS als „Memory mapped“ Videointerface betrieben werden kann. „Memory mapped“ bedeutet: der Bildspeicher, in diesem Fall 2KB, ist Teil des Adressbereiches der CPU und kann auch direkt über Speicherbefehle angesprochen werden. Dies hat den Vorteil, dass eine sehr schnelle Ausgabe auf den Bildschirm erfolgen kann und auch eine Semigrafik (bei entsprechendem Charaktergenerator) leicht implementiert werden kann mit einer höheren Auflösung als beim Nascom Videointerface. Allerdings müsste die Software dazu noch geschrieben werden.
Die Interfacekarte dient bei mir in Verbindung mit einem Billlg-Monitor (Fernseher sind wegen der zu geringen Bandbreite nicht geeignet) als 24*80 Zeichen Display für einen CP/M-Rechner. Sie kann auch für ein beliebiges anderes Bildformat bis zu 128*x(je nach Bildspeichergrösse) Zeichen umprogrammiert werden. Sollten allerdings mehr als 2K Zeichen dargestellt werden so ist der Bildspeicher und der MUX auf der Karte entsprechend zu erweitern.
Die Karte ist mit dem weitverbreiteten Videocontrollerchip MC6845 aufgebaut. Dieses IC übernimmt die gesamte Bildschirmsteuerung und die Generierung des Videosignals, sowie der Synchronisationssignale. Es ist sogar leicht möglich einen Lichtgriffel für interaktiven Bildschirmbetrieb anzuschliessen, wozu jedoch ebenfalls erst die Software erstellt werden müsste.
Der Controllerbaustein ist per I/O-Befehl über den NASBUS voll programmierbar, sodass die Cursosteuerung, das Bildschirmformat und die Behandlung von CTRL und ESC Charaktern nur von der Programmierung abhängig sind. Ebenso ist es per Software möglich die Anpassung an verschiedene Videomonitore vorzunehmen die mindestens eine Bandbreite von 16Mhz haben müssen. Die im nächsten Heft veröffentlichten Programme sind für einen ZENITH Monitor und einen CP/M Rechner ausgelegt.
Die Anfangsadresse für den Bildspeicher kann mit 4 DIL-Schaltern in Blöcken zu 4KB verschoben werden, wobei die Anfangsadresse immer nur x800h sein kann weil die Adressleitung A11 als Freigabesignal für den Adresscomperator IC7485 verwendet wird. Dies ist z.B. in CP/M Systemen sinnvoll weil damit die letzten 2KB Ram als Bildspeicher verwendet werden können. Bei 64K Ram wäre die Adresse F800h zu verwenden.
Die I/O Adressdecodierung erfolgt mit dem IC138 in Verbindung mit dem 8-fach DIL-Schalter ICDIL8. Der Controller MC6845 arbeitet mit 2 I/O Portadressen und 16 internen Steuerregistern. Zuerst muss über einen I/O Befehl im Control Reg. das gewünschte Steuerregister angewählt werden und anschliessend über einen zweiten I/O Befehl das Datenbyte gelesen oder geschrieben werden. Die I/O Portadresse ist wählbar und setzt sich aus folgenden Adressbits zusammen:
A7 | 0 | A5 | 0 | A3 | 0 | X | X | ||
z.B. | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | => 20h |
als Adresse des Control Reg. und damit ist automatisch 21h die Adresse des Steuerregisterdatenports. Für jede mögliche I/O Adresse darf nur ein DIL-Schalter geschlossen sein womit sich genau 8 verschiedene Adressen einstellen lassen die aus A7,A5,A3 gebildet werden. Die RD, WR Signale vom NASBUS und der Adressdecoder erzeugen auch die speziellen Bussignale MEMEXT, I/OEXT u. DBDR mit Hilfe von zusätzlichen Logikgattern. Dabei sind diese Anschlüsse NASBUS seitig wie folgt zu ergänzen:
I/OEXT u. MEMEXT sind jeweils über einen Widerstand von 500 Ohm an Masse zu legen. Die Signale werden dann im Betrieb über die GeDioden (Ge wegen Störabstand wichtig) auf
Seite 12 von 32 |
---|