D R U C K V E R S I O N

Was ist Atari-Magazin-kompatibel (AM) und was ist Compy-Shop-kompatibel (CS) ?


Zu AM und CS (mit freundlicher Genehmigung) ein Text von Henrik ( Deutsch http://www.bytecruncher.de )

Auswahl der Speicherbank:
 Beim 130 XE (64 K Zusatzspeicher) wird aus 4 Speicherbänken zu je 16 K eine Speicherbank ausgewählt. Dafür sind 2 Bit notwendig (PB2/3 = 00/01/10/11). Bei Ataris mit 256 K Zusatzspeicher wird aus 16 Bänken zu je 16 K eine Speicherbank ausgewählt. Dafür sind 4 Bit notwendig (PB2/3 und PB5/6 bzw. PB2/3 und PB6/7).
 Um mit dem 130 XE kompatibel zu bleiben und den Hardware-Aufwand für die Erweiterungen so gering wie möglich zu halten, erfolgt hardwaremäßig die Auswahl einer Speicherbank etwas anders: Zunächst wird aus 4 Speicherbänken zu je 64 K eine Speicherbank ausgewählt (PB5/6 bzw. PB6/7). Danach wird aus diesen 64 K eine Speicherbank von 16 K ausgewählt (PB2/3 wie beim 130 XE).

Anzahl der Port-Bits                          2   3   4   5   6
Größe des ansprechbaren Speichers in KByte   64  128 256 512 1024

 Für den Programmierer spielt es aber keine Rolle, ob die Auswahl 2-stufig (erst 1 aus 4*64 K, dann 1 aus 4*16 K) oder einstufig (1 aus 16*16 K) ist. Entscheidend ist, daß mit 4 Bit aus 16 möglichen Speicherbänken eine Speicherbank von 16 K ausgewählt wird.

Unterschiede der Erweiterungen:

Belegung der Bits von PIA Port B bei Atari XL/XE mit RAM-Erweiterungen

Bit

800XL
64 K

130XE
128 K

800XL
320 K
Atari-Magazin (AM)

800XL
320 K
Compy-Shop (CS)


PB0

 

OS-ROM ein/aus


PB1

 

BASIC-ROM ein/aus


PB2

 

nicht benutzt

1. Auswahl einer RAM-Bank aus
4*16 K

2. Auswahl einer RAM-Bank aus
4*16 K

2. Auswahl einer RAM-Bank aus
4*16 K


PB3

 

nicht benutzt


PB4

 

nicht benutzt

CPU-Zugriff auf:
0 = Erweiterung
   1 = Hauptspeicher

CPU & ANTIC
0 = Erweiterung
   1 = Hauptspeicher

CPU-Zugriff auf:
0 = Erweiterung
   1 = Hauptspeicher


PB5

 

nicht benutzt

ANTIC-Zugriff auf:
0 =  Erweiterung
  1 = Hauptspeicher

1. Auswahl einer RAM-Bank aus
4*64k

ANTIC-Zugriff auf:
0 =  Erweiterung
  1 = Hauptspeicher


PB6

 

nicht benutzt

nicht benutzt.

1. Auswahl einer RAM-Bank aus
4*64 K


PB7

 

Selbsttest nach $5000 spiegeln


 Wie der Tabelle zu entnehmen ist, sind nur beim Original 130 XE und der CS-Version ein getrennter Zugriff von CPU und ANTIC auf zusätzliches RAM und Hauptspeicher möglich. Bei der AM-Version ist nur ein gemeinsamer Zugriff entweder auf den Hauptspeicher oder auf das Zusatz-RAM möglich.
 Um bei der CS-Version die Funktionalität von PB4/5 des 130 XE zu erhalten, mußte für das 4. Speicherbank-Auswahl-Bit ein anderes Bit doppelt benutzt werden. Hier hat man sich für das Selbsttest-Bit entschieden, da dieser ohnehin nur beim Einschalten/Reset benötigt wird.
 Bei der AM-Version ist ein gleichzeitiges Benutzen von RAM-Erweiterung und Selbsttest möglich (wer braucht das?), dafür fehlt der getrennte CPU/ANTIC-Zugriff.

Was bringt der getrennte Zugriff von ANTIC und CPU?   (Für die Freaks: Diese Erklärung ist absolut vereinfacht.)
 Bis auf wenige Spezialbauten kann bei "normalen" Computern technisch immer nur eine Einheit auf eine Speicherzelle zugreifen (auch bei heutigen PCs). Dies liegt daran, das es je nur einen Adreßbus/Datenbus gibt, mit dem eine Speicherzelle ausgewählt und gelesen/geschrieben werden kann. Müssen nun mehrere Einheiten auf Speicher zugreifen, so müssen diese sich den Bus teilen und entsprechend warten, wenn dieser gerade belegt ist.

Jetzt zu den Ataris:
 Der ANTIC, der für die Bildschirmausgabe zuständig ist, greift regelmäßig auf den Speicher zu, um die Display List abzuarbeiten und den Bildschirmspeicherinhalt auszulesen.
 Bei "normalen" Ataris mit 64 K ist es möglich, den ANTIC komplett auszuschalten. Dann arbeitet die CPU ca. 30% schneller, da sie ja nicht mehr mit dem ANTIC teilen muß. Allerdings ist dann keine Bildschirmausgabe mehr möglich. Eines der wenigen Programme, die den ANTIC abschalten, ist der Software-Synthesizer SoftSynth, bei dem die CPU jede Menge mit der Berechnung der Samples zu tun hat.
 Beim 130 XE und der CS-Erweiterung ist ein getrennter Zugriff möglich, d.h. die CPU könnte auf den Zusatzspeicher der ausgewählten RAM-Bank zugreifen, während gleichzeitig der ANTIC seine Grafikdaten aus dem Hauptspeicher holt.
 Beim 130 XE und der AM-Version können CPU und ANTIC nur gemeinsam entweder auf den Hauptspeicher oder auf den Erweiterungsspeicher zugreifen.

Wer braucht den getrennten Zugriff wirklich?
 Gute Frage - mir ist kein Programm bekannt, das dies wirklich nutzt. (Zumindest kein Programm, das man unbedingt haben muß). Letztendlich erreicht man durch den getrennten Zugriff, das zusätzlich zum kompletten Hauptspeicher noch auf eine RAM-Bank zugegriffen werden kann.
 Bei der AM-Version kann bei Einblendung einer Speicherbank auf den jetzt darunterliegenden, ausgeblendeten Hauptspeicher (der ja an der gleichen Adresse liegt) nicht mehr zugegriffen werden.
 Bei der 130 XE/CS-Version hat man also im Vergleich zu der AM-Version nicht insgesamt mehr Speicher zur Verfügung, kann aber bei einer Speicherbankeinblendung weiterhin auf den darunterliegenden Hauptspeicherbereich (an der gleichen Adresse) zugreifen. Man hat zu jedem Zeitpunkt also mehr Speicher im Zugriff (in der Größe einer eingeblendeten RAM-Bank).

Welche Version ist die Bessere?
 Hmmm, gut Frage. Die CS-Version ist "kompatibler", da sie die wenigsten Einschränkungen hat (nur der Selbsttest). Dafür ist die AM-Version verbreiteter und meines Erachtens auch von Programmen besser unterstützt.

Programme erkennen nur die halbe Größe einer RAM-Erweiterung:
 Dann ist das Programm für eine andere RAM-Disk-Version geschrieben. Dies passiert z.B. häufig bei CS-Programmen auf Rechnern mit AM-Version. Da diese RAM-Disk-Versionen sich in einem Port-Bit unterscheiden, wird nur die Hälfte erkannt.

Abhilfe:
1. Programm ändern, viel Spaß
2. Ram-Disk umlöten, s.u.

übrigens: Das RAM-Disk-Testprogramm vom Compy-Shop (Bibo-DOS) erkennt bei der AM-Version nur die halbe RAM-Disk (warum wohl 8-)...). Dies ist also kein Hinweis auf eine defekte RAM-Disk, wenn es sich um eine andere Version handelt.

Umbauten, Tips, Ergänzungen:
 Wenn man PB4 an einen Schalter führt, kann man die RAM-Disk bequem ein-/ausschalten. Wer noch einen zusätzlichen Schalter für PB5/6 bzw. PB6/7 einbaut, kann zwischen beiden RAM-Disk-Versionen umschalten. Voraussetzung ist allerdings, daß die Software keinen getrennten Zugriff von CPU und ANTIC benutzt - den kann man natürlich nicht ein-/ausschalten.

Mögliche Erweiterungen:
 Wer volle Kompatibilität (130 XE-Version und Selbsttest) wünscht, kann nur 3 Bit benutzen (PB2/3/6). Damit kommt man dann auf 128 K RAM-Disk-Größe (8*16 K).
 Wer die AM-Version verwendet und zusätzlich noch das Bit für den Selbsttest benutzt (wie bei der CS-Version), kann noch einmal verdoppeln:  5 Bit (PB2/3/5/6/7) = 32*16 K = 512 K RAM-Erweiterung.

 Zusätzlich gibt es RAM-Disk-Versionen, die statt 16 K gleich 32 K Zusatzspeicher einblenden. Auch auf diese Weise kann man den Zusatzspeicher verdoppeln. Meines Erachtens gibt es aber keine Software, die diese Version unterstützen. Zusammen mit der 5-Bit-Version wären das dann 32*32 K = 1 MByte Erweiterung...
 Durch Anschluß einer zusätzlichen 6520-PIA am Erweiterungsport hätte man noch einmal 16 Bit zur Verfügung...aber das ist nun wirklich Träumerei...

 Ich hoffe, dieser Text hat etwas Licht in das RAM-Disk-Dunkel gebracht. Falls noch Fragen offen sind, Mail:
henrik@bytecruncher.de

 Bitte keine Fragen zu Schaltplankopien o.ä., diese gibt´s auf einschlägigen Internet-Seiten; beim Abbuc (www.abbuc.de) - oder bei Obi (www.obi.de)...

 Auch kann ich keine Tips zum Aufbau geben, da ich "Softie" bin und von Hardware nur so viel verstehe, um sie vernünftig ansprechen zu können...8-)))

Vielen Dank an Henrik für den Exkurs in RAM-Disk-Technik.

 Die hier als AM bezeichnete Variante wird auch oft mit Rambo bezeichnet, obwohl die Rambo eine Eigenart der Speicheraufteilung hat die bei der AM nicht vorhanden ist. Bei der Rambo (z.B. 256 Kbyte) werden 64K als Hauptspeicher benutzt und nur 192K als Erweiterungsspeicher.


[ Seitenanfang ]