home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtsi.com
/
2014.01.www.rtsi.com.tar
/
www.rtsi.com
/
OS9
/
OSK
/
EFFO
/
forum14.lzh
/
LETTERS
/
brief.nehring
< prev
next >
Wrap
Text File
|
1990-10-29
|
8KB
|
143 lines
Hubert Nehring 30.09.90
Dahlemer Str. 4
D-5090 Leverkusen 1
Hallo,
bei mir laeuft OS-9 auf einem mc 68000 (System I) mit 2,5 MByte RAM, einem
5 1/4" Floppy-Laufwerk und einer 65 MByte Festplatte.
Durch einen kleinen Hardwaretrick (ein IC, etwas Draht und einige verbogene
Beinchen, s.u.) ist es mir gelungen, die Bildschirmaufloesung auf 640x300
Punkte zu erhoehen. Prinzipiell ist es auch moeglich andere (hoehere) Auf-
loesungen zu realisieren, mein Monitor macht aber nicht mehr als 300 Zeilen
mit (Ich bin so schon ein klein wenig ueber die Frequenzgrenzen gegangen - er
wird mir schon nicht gleich um die Ohren fliegen). Es jetzt moeglich, die
Zeichen in einer 8x12 Matrix mit besseren Unterlaengen und mit Unterstreichung
darzustellen. Dadurch sind auch die dunklen Zwischenzeilen im Textmodus
ueberfluessig, so dass nicht mehr zwischen Text- und Graphikmodus unter-
schieden werden muss. Das ganze funktioniert natuerlich nur mit einem neuen
Terminaltreiber, den ich zur Zeit schreibe (Er laeuft schon recht stabil ist
aber noch nicht fertig.). Bei Bedarf werde ich ihn auf einer der naechsten
EFFO-Forum-Disketten einschicken.
<< Wir werden den Terminaltreiber gerne veroeffentlichen. Auch aus der
Software-Kueche der Firma VCS Computer Systeme GmbH (Goethestrasse 17,
D-8000 Muenchen 2, Tel. 089/59'12'21, Fax 089/523'67'26) gibt's einen
neuen Konsoltreiber. Aber nur fuer den mc 68.000-II. Dazu folgendes
aus der Erweiterungspreisliste vom September 1990:
Konsoltreiber fuer mc 68.000-II
Mit dem neuen Konsoltreiber kann mit einer variablen Zeilenzahl
von 25 - 50 Bildschirmzeilen gearbeitet werden. Ueber einen neuen
Deskriptor koennen beliebige Initialisierungswerte fuer die CRTC
6845 festgelegt werden. So kann der mc 68.000-II / 12.5 MHz mit
35 Zeilen und Ablenkfrequenzen von 32 kHz / 60 Hz betrieben werden.
Ausserdem wurden die Ausgaberoutinen des Treibers stark verbessert,
so dass sich trotz des groesseren Graphikspeichers bei 35 Zeilen
keine Geschwindigkeitsverluste ergeben. Mit dem Treiber werden zwei
verschiedene Zeichensaetze mitgeliefert, die den vollstaendigen
PC-Zeichensatz enthalten (8-Bit ASCII).
Interessenten werden gebeten, sich direkt an oben genannte Firma zu
wenden. THGSCH >>
Der Treiber unterstuetzt ein zweites virtuelles Terminal. Zwischen den beiden
Terminals kann mit Ctrl-Esc umgeschaltet werden. Ich habe einen IBM-Zeichen-
satz implementiert - damit koennen dann auch mit Hilfe von Blockgraphikzeichen
Rahmen fuer Fenster gezeichnet werden (es gibt ja keinen stoerenden dunklen
Zwischenzeilen mehr) und Drucker mit IBM-Zeichensatz gibt es ja auch genug.
Als naechstes steht die Anpassung an eine Tastatur mit MF-2 Layout sowie eine
Graphikunterstuetzung an.
Die sauberste Moeglichkeit Graphikfunktionen zu implementieren ist sicherlich,
sie als GetStat- bzw. Putstat-Funktionen in den Treiber einzubauen.
Microware hat dafuer aber offensichtlich keine Funktionen definiert (stimmt
das ???).
<< Seit uWare am CD/I herumbastelt, wimmelt es im funcs.a-file (so ab V2.3)
von Definitionen fuer Graphik, Maeuse und dergleichen. Da RAVE (Industrie-
Graphikoberflaeche fuer OS-9) bereits released ist und CD/I (Compact-Disk
Interactive) unmittelbar bevorsteht, waere es wohl fuer alle Graphik-
Programmierer empfehlenswert, sich die entsprechende Dok mal anzuschauen.
LZ >>
Gibt es ausserhalb der Vorgaben von Microware eine verbreitete
Konvention von Funktionenummern und Uebergabeparametern? Koennte man sich
nicht EFFO-weit auf einen Satz elementarer Funktionen fuer Treiber graphik-
faehiger Terminals einigen? Oder, wenn das zu schwierig ist: Wie waere es mit
einer Einigung bezueglich der Syntax elementarer Graphikfuntkionen fuer
C-Programme. Auf diese Weise wuerde der Austausch von Graphiksoftware sehr
erleichtert. Unterschiedliche Aufloesungen und Faehigkeiten von Treibern und
Terminals koennten durch Descriptor-Tabellen, die die Treiber ausfuellen,
beruecksichtigt werden. Warum sollte denn jeder sein eigenes Funktionen-
sueppchen kochen?
<< Nur das nicht !! :-) :-) LZ >>
Wie waer's mit einem regen Gedankenaustausch?
Hubert
p.s. In diesem post scriptum will ich - trotz aller Probleme - versuchen mit
Hilfe des ASCII-Zeichensatzes meinen Schaltungstrick zu beschreiben.
Der im mc68000 verwendete CRTC 6845 kann bei entsprechender Programmierung
prinzipiell auch Zeichen mit mehr als 8 Rasterzeilen darstellen. Beim
mc68000 wird allerdings die dazu noetige Leitung RA3 (Pin 35) nur dazu
verwendet, das Videosignal dunkel zu schalten und damit die dunklen
Rasterzeilen im Textmodus zu erzeugen. Wenn man also diese Leitung dazu
nutzt, das Video-RAM anzusprechen (so wie es eigentlich gedacht ist), ist
man schon am Ziel. Eben das macht meine kleine Schaltung: mit Hilfe eines
Multiplexers (74LS157) kann zwischen dem Originalmodus (ist wichtig beim
Booten und beim Arbeiten mit dem System Debuger) und dem neuen Modus hin-
und hergeschaltet werden. Der CRTC 6845 muss natuerlich auch um-
programmiert werden. Zur Umschaltung des Multiplexers verwende ich die
Leitung fuer den Ausgang zum Kassettenrecorder - wer braucht die
eigentlich noch?
+ -
^ ^
| |
|16 |8
--------+ +-----------+
| | |
6845 | | 74LS157 | 6845-Sockel
| | |
| | |
| 35 3 | |
RA 3 |-------o--------| B1 | 4
| | 2 | Y1 |----------> RA 3 (Pin 35)
| | +---| A1 |
| | | | |
| | - | |
| | | |
| 16 | 12 | |
MA12 |-------+--------| B2 | 13
| | 14 | Y2 |----------> MA 12 (Pin 16)
| +--------| A2 |
| | |
| | Sel |
-------+ +-----------+
|1 |15
| |
| -
|
V
VIA PA1-L (IC 55, Pin 3)
Nach einem Reset ist die VIA-Leitung PA1-L auf H, die Ansteuerung des
Video-Teils ist dann im Originalmodus.
Der Multiplexer muss also zwischen den 6845 und seinem Sockel geschaltet
werden. Dazu biegt man am bessten die Beinchen 35 und 16 nach oben und
fuehrt die Ausgaenge des 74LS157 in die nun freien Loecher des Sockels. Es
ist also ein fliegender Aufbau angesagt. Wichtig ist noch, dass das VIA-
Beinchen unbedungt aus dem Sockel gezogen wird - sonst stoert Spannungs-
teiler am Kasettenrecorderteil.
Zu beachten ist beim neuen Modus noch, dass jetzt pro Bildschirmseite 32
KByte (statt bisher 16) beansprucht werden, so dass die Standard-
Bildschirmseite nicht benutzt werden kann. Man muss also auf die Seiten
28/29 ausweichen (Basisadresse von Seite 28). Ausserdem sollte man dafuer
sorgen, dass dieser Speicherbereich nicht als RAM-Disk verwendet wird
(gegebenenfalls r0.a aendern).