
    Der Modulschacht oder auch Romport.....ein vielseitiges 'Loch'


Der Romport des Atari ST ist sicherlich eine der vielseitigsten
Schnittstellen dieses Rechners.
Entgegen aller voraussagen, das dieser Port nur 'lesend' benutzt werden
knnte sind mittlerweile sehr viele Zusatzkarten zum einstecken
zu bekommen die den Romport auch anderweitig nutzen.

Mittlerweile gibt es fr den Romport Eprommbrenner, Digitizer 
Scanner und jede menge anderer Hardwaremodule die eigentlich
recht problemlos zu betreiben sind.

Zu beachten ist das alle Erweiterungen nur in den Rechner 
gesteckt werden sollten, wenn dieser Ausgeschaltet ist.
Das gleiche gilt fr das entfernen von Erweiterungen, niemals
im eingeschalteten Zustand !
Auch eine unbedachte Bastelei an diesem Port kann recht teuer 
werden.

Zu den Anschlssen und deren Funktion im einzeln gibt es nicht viel 
zu sagen, es liegt eben fast der gesamte CPU-Bus an dieser 
Steckerleiste an. Wer eine genaue erklrung aller Pin's der
Romportbuchse braucht, sei auf die diversen Hardwarehandbcher
verwiesen.

Die wohl grte Anwendung besteht wohl bei den sog. Rom-Modulen, die
eigentlich den internen Romspeicher erweitern sollten.
Sie bestehen aus einer Steckplatine die 2,4 oder sogar mehr 
Eproms auf einer Karte vereinigt.
Leider wird auch beim Atari ST noch immer das lstige 
'Bankswitching' verwendet......(und das bei einem 16bit Rechner)??
So da sich immer nur ein 128Kbyte groes 'Fenster' ber den ganzen 
Kartenbereich verschieben lsst.
Durch geschickte Programmierung der Module und der Software welche
die Modulsoftware in den Rechner holt, fllt dieses Manko jedoch 
kaum ins Gewicht.
Es gibt also auch Epromkarten (Bnke) die 512K und mehr beherbergen,
allerdings sollte man fr solche Karten auch schon eine gute
Anwendung haben....den der Preis ist hoch.
 
Nun lassen sich eben solche Rom-oder auch Eprom-Module natrlich nicht
nur dazu verwenden den Rechner zu Testen, so wie das z.b Atari macht.

Auch lassen sich komplette Rechner-Bootvorgnge darin speichern, selbst
grere Programme lassen sich bequem auf einer 'Epromkarte' ablegen.
Eine Epromkarte sollte mindestens zwei, besser vier freie Epromsockel
aufweisen....somit dann sichergestellt whre das eben auch grere
vorgnge in ihr Platz finden.
Die auf einer solchen Steckkarte enthaltenen Programme werden beim
Anklicken praktisch in Nullzeit in den Arbeitsspeicher bertragen und
ausgefhrt. Die Zeitersparnis liegt klar auf der Hand.
Nicht auf solche Karten gebrannt werden sollen, Programme die Kopier-
geschtzt sind oder in denen sich whrend des Betriebes etwas 
verndert...zb.Harlekin oder hnliches.
Gut geeignet scheinen Kopierprogramme, Diskmonitore oder Acc's...
Festplattentreiber oder hnliches.

Um Programme auf solche Epromkarten zu bringen sind einige 
Arbeitsschritte notwendig.

An erster Stelle im ersten Eprom auf einer solchen Karte sollte die
'Magicnumber' stehen,die wie folgt aussieht : $ABCDEF42 an dieser Nummer
erkennt der Rechner das es sich um ein ausfhrbares Programm, bzw.
es sich um ein 'Programmodul' handelt.
Sollte an dieser stelle : $FA522255F stehen wird der Rechner weder
das GEM noch das AES laden bzw. Initalisieren da er davon ausgeht das
ein sog. Testmodul im Schacht steckt.
Ein eingestecktes Testmodul bewirkt auch keinerlei Bootvorgang oder
hnliches.

Das auf der Testkarte enthaltene Programm enthlt in der Regel ein 
Monitorprogramm oder eben eine Testsoftware fr das Rechnersystem.
Andere Programme whren auch ziemlich sinnlos.
Wenn auf ein solches 'Eprom-Programm-modul' eines oder auch mehrere
(je nach gre) Programme aufgebracht werden,wird noch ein sog.
Header bentigt,der unbedingt ab der Adresse : $FA0004 beginnen sollte.
(Adress-Offset)

Die Reihenfolge:
Zuerst kommt die Magische Nummer, gefolgt von : $00000000 wenn kein 
weiters Programm in dem Modul enthalten ist......
Die nchste Langwort-Adresse sollte den Initialisierungscode enthalten,
denn das System bentigt informationen ber das Programm.
Auch wird hier festgelegt wann und wo das System in welche Routine
springt.
Der genaue Zeitpunkt wird durch das hochwertigste Bit bestimmt:

TABELLE:
 
      0  Routine wird vor allem anderen gestartet. (Testmodul)
      1  Ausfhren vor dem Starten von GEM
      3  Bit 3 erzeugt auch einen Start vor dem GEM,allerdings nur bei 
         Rechnern ohne Romtos.
      5  Es handelt sich um ein .ACC
      6  Es handelt sich um eine .TOS Anwendung
      7  Bit 7 legt fest,das es sich um eine .TTP anwendung handelt,
         welche zum Betrieb noch Parameter bentigt.

An der Adresse des nchsten Langwortes steht dann die Startadresse des
eigentlichen Programmes.
In den beiden danach folgenden Worten (keine Langwrter) knnen dann
noch Datum und die Uhrzeit enthalten sein.
Das Langwort zum schlu enthlt die gesamte Programmlnge in bytes...
der nachfolgende String sollte dann noch den kompletten Programmnamen
enthalten,den Stringabschlu veranstaltet dann ein :$00 .
Das ist alles notwendig um zu erkennen um wieviele Programme und um 
welche Art von Programmen es sich handelt.

Um die Sache zu vereinfachen, bieten manche Anbieter von Eprommern
in ihrer Software bereits vorgefertigte 'Modulsoftware' an....
damit ist es wesentlich einfacher sich selber 'Module' zu erzeugen
und eigene Programmdateien in Epromms zu brennen....

Leider ist die benutzung von mehreren Modulen an einem Rechner nicht
ganz unproblematisch, die Federleiste welche den herrausgefhrten Stecker
bildet verkraftet nicht ohne weiteres das hufige Umstecken.
Die Kontaktfedern sind nach ca. 1 Jahr so ausgeleiert das eine richtige
Kontaktgabe nicht mehr gewhrleistet ist.
Die folge davon sind hufige 'Selbstresets' des Rechners oder eventuell
auch ein Defekt an dem GLUE Chip.
Manchmal lassen sich auch bestimmte Programme nicht mehr starten bzw.
kehren nach dem Anklicken immer wieder zum Desktop zurck.

Man sollte dann zuerst die beiden Steuerleitungen ROM 3+4 auf ihre
Funktion hin berprfen.
Auch knnte die Verschmutzung einiger Kontaktfedern vorliegen,da sich
durch hufiges Umstecken von den Leiterplatinen immer wieder kleine
partikel der Verzinnten oder Vergoldeten Steckflchen lsen und eben 
an den Kontaktfedern hngenbleiben.
Auch wird auf diese Art und weise immer wieder Staub an diese 
Steckverbindung herangefhrt.
In solchen Fllen hilft dann meist etwas Elektronik-Kontaktspray und
ein Wattestbchen oder hnliches.
Sollte es dann noch immer zu ausetzern kommen ist auch das leichte 
nachbiegen der Kontaktfedern erlaubt....sicherer ist allerdings der
Austausch der ganzen Buchse.
    
Zu Umgehen ist dieses Problem mit einem Romporttreiber und eventuell
einem Romportexpander.
Der Treiber bernimmt es die gesammten Anschlsse des Romport's zu 
Puffern bzw. so zu Verstrken so da es mglich ist die Verwendeten
Karten auch in einiger Entfernung vom Rechner sicher zu betreiben.
Das eignet sich besonders dann wenn man seinen Rechner in ein anderes
Gehuse umgebaut hat und der Romport eh nicht besonders gut zugnglich
ist.
Ein sog. Expander ermglicht es nun auch an den Romport gleich zwei oder
bei entsprechendem Ausbau auch vier verschiedene Karten gleichzeitig
zu betreiben, d.h es ist natrlich immer nur eine Karte aktiv.
Die anderen Karten verbleiben aber trozdem passiv gesteckt.
Der Expander bietet die Mglichkeit entweder per Software oder
manuell mit einem Umschalter zwischen den Karten zu whlen.

Es knnen somit die verschiedesten Karten 'fest' in das Rechnergehuse
integriert werden.
Das Funktioniert selbsverstndlich auch mit den 'Dongels' mit denen 
manche Softwarehersteller ihre Programme schtzen.
Als Basis fr diesen Artikel dient der Porttreiber und der Portexpander
aus der c't 1988 Heft 5 Seite 142 und 1987 Heft 9 Seite 50.
Die c't bietet fr beide Baugruppen die Platinen und ein GAL 20V8 an.

Mittlerweile gibt es Anbieter die beide Baugruppen fertig aufgebaut und 
getestet anbieten.
Auch eine Eprommbank mit vier Stecksockeln bietet die gleiche
Zeitschrift an.
    
Diese beiden Baugruppen haben den Vorteil das eben direkt am Rechner
nichts mehr gesteckt bzw. stndig abgezogen werden mu.
Die Karten bzw. die eingestecken Module verhalten sich im passiven
Zustand vllig 'unsichtbar' fr den Rechner so da der allgemeine
Betrieb nicht eingeschrnkt wird.

Die Pinbelegung des Expansionsport / Beispiel vom Mega ST

  1= D4             2= D5             3= D3              4= D6
  5= D2             6= D7             7= D1              8= D8
  9= D0            10= D9            11= AS             12= D10
 13= UDS           14= D11           15= LDS            16= D12
 17= R/W           18= D13           19= DTACK          20= D14
 21= BG            22= D15           23= BGACK          24= GND
 25= BR            26= A23           27= GND            28= A22
 29= CLK           30= A21           31= GND            32= GND
 33= HALT          34= A20           35= RESET          36= A19
 37= VMA           38= A18           39= E              40= A17
 41= VPA           42= A16           43= BERR           44= A15
 45= NMI           46= A14           47= INT 5          48= A13
 49= INT 3         50= A12           51= FC 2           52= A11
 53= FC 1          54= A10           55= FC 0           56= A9
 57= A1            58= A8            59= A2             60= A7
 61= A3            62= A6            63= A4             64= A5

Nicht zu Verwechseln mit dem ROMPORT der ausserdem nur 40 polig ist !
Die Pinbelegung des 40 poligen Romport der bis jetzt an allen 
Atari-Computern gleich ist:

  1= +5V            2= +5V            3= D14             4= D15
  5= D12            6= D13            7= D10             8= D11
  9= D8            10= D9            11= D6             12= D7
 13= D4            14= D5            15= D2             16= D3
 17= D0            18= D1            19= A13            20= A15
 21= A8            22= A14           23= A7             24= A9
 25= A6            26= A10           27= A5             28= A12
 29= A11           30= A4            31= ROM 3          32= A3
 33= ROM 4         34= A2            35= UDS            36= A1
 37= LDS           38= GND           39= GND            40= GND

Hier nun der Romportexpander im prinzip, die Schaltung ist der c't
5/88 entnommen.
Mit dem Taster kann zwischen den beiden Port's A/B umgeschaltet 
werden, die Karte auf dem jeweils unbenutzen Port bleibt fr den
Rechner unsichbar.

Die genaue Bauteilbeschriftung des Schaltbildes musste aus Grnden
einer abartigen vervielfltigung anderer Schalbilder
und Tip's von mir entfallen !
Ausserdem kann man es in der c't Nachlesen.

Der Schaltplan ist auch in Original gre vorhanden, mit 
Beschriftung, falls es jemand nachbauen mchte.

---------------------------- CUT LINE ---------------------------



















   Bild 1: Prinzip des Romportexpander aus der c't 5/88 ohne 
           den Pfostenverbinder zum Anschlu einer zweiten 
           Platine.
   

------------------------------- CUT LINE ---------------------------

Entstanden unter Verwendung des Scheibenkleister II sowie des 
Hardware Handbuch fr Atari ST und eben der c't.
 
Gedacht als Hardware Tip fr Mailboxen !

Geschrieben und gezeichnet:
05/1990 MRT 


      
 Originalfassung von Robert Schaffner.
 
 Vernderte Texte die sich im Umlauf befinden entsprechen teilweise 
 nicht mehr meiner Orginalfassung und sollten besser gelscht werden.
 
 Insbesondere z.B: REPS.LZH
                 : REPA.LZH
                 : REPA_ST.LZH
                 
 Robert Schaffner @ OF2 (MausNet)

     





