Milan

Milan Gehäuse

Das Ziel war, auf Basis des Motorola 68040 Prozessors eine Hardware zu entwickeln, die mit günstigen Komponenten aus dem PC-Bereich ausgestattet werden kann und trotzdem vollkommen softwarekompatibel zu den existierenden Atari Computern ist.

Bisherige Atari Systeme krankten daran, dass sie keine Schnittstellen hatten, um günstige Komponenten aus dem PC Massenmarkt verwenden zu können.
In der Anfangsphase der Computerentwicklung war das kein Nachteil, aber durch die immer stärkere Verbreitung der IBM-kompatiblen PCs hat sich das geändert. Zum einen wurden dort die Komponenten sehr günstig und zum andren musste man nicht mehr alles selber entwickeln.

Das Betriebssystem

Als Basis diente das TOS 4.04 des Atari Falcon, das komplett auseinandergenommen, überarbeitet, entrümpelt und neu kompiliert wurde. Neben der Integration einiger neuer Bestandteile war es eine wesentliche Neuerung, dass durch den Flash-Baustein auf dem Motherboard Updates möglich wurden, ohne das Gerät aufzuschrauben und die ROMs austauschen zu müssen, wie bei den bisherigen Systemen.

Die Hardware

In weiten Teilen erinnert das Motherboard an einen PC, doch das Herzstück ist immer noch ein Motorola-Prozessor. Eine weitere ATARI-typische Komponenten ist noch die MFP, die wegen ihrer vielen Timer nicht eingespart werden konnte.

Milan I Motherboard Der Speicher konnte mit damals handelsüblichen 72 poligen EDO-RAMs auf maximal 512 MByte ausgebaut werden.

Als Northbridge kam der PLX9080 zum Einsatz, der mit einigen Kniffen dazu überredet werden konnte auch ohne Prozessor als Busmaster tätig zu werden. Die Glue-Logik wurde mit zwei Lattice Bausteinen realisiert.

Der ISA-Bus ist über eine intel Southbridge angeschlossen, die zudem noch die beiden Enhanced-IDE-Anschlüsse zur Verfügung stellt.

Am ISA-Bus hängt dann neben dem Flash Speicher ein Super I/O von National, der die restlichen Schnittstellen wie Floppy, Tastatur, Maus, zweimal seriell und einmal parallel sowie eine Echtzeituhr mit NV-RAM zur Verfügung stellt. Auf dem linken Bild war für das Foto dort ein AMCC bestückt, da der Super I/O zu dem Zeitpunkt noch nicht geliefert war. Unten ist dann auch ein späteres Bild mit dem National zu sehen.

Die große Herausforderung: die Inbetriebnahme des Systems.

Damit der Prozessor sein erstes Byte Code bekommen kann muss fast alles funktionieren.

Der Prozessor muss Busmaster auf dem eigenen Bus werden, der PLX muss sich zuständig fühlen und den Zugriff auf dem PCI-Bus weiterleiten. Dazu muss er PCI-Busmaster werden damit die Anfrage zur ISA-Bridge gelangt, die dann den 32-Bit Zugriff in 8-Bit Häppchen auf den am ISA-Bus angeschlossenen Flash Speicher ausführt.

Als zusätzlicher Herausfordrung arbeitet ein intel Prozessor im little endian Format und sucht seinen Code an der Adresse 0xFFFF0 wogegen der Motorola das big endian Format benutzt und seine Bytes ab der Adresse 0 sucht.

Dieser ganze Aufwand ist notwendig, damit ein günstiger 8-Bit Flash Baustein eingesetzt werden kann. Zur Laufzeit wird das Betriebssystem dann ins RAM umkopiert, um danach mit vollen 32-Bit zu werkeln.

Die technischen Details

Milan I Motherboard

  • Motorola-Hauptprozessor 68040 mit 25-33MHz, integriertem Cache und mathematischem Coprozessor.
  • Programmierbarer Logic-Chip ispLSI1032. Übernimmt das Adressmanagement.
  • 4 x PCI-Slots, geeignet für PC-kompatible 32-Bit Hardwareerweiterungen aller Art wie z.B. Grafik, SCSI, Sound,Video, 3D.
  • 3 x ISA-Slots für Erweiterungen wie ISDN-Karte, Modem, Soundkarte, Netzwerkkarte usw.
  • 2 x IDE-Bus, busmasterfähig. Ermöglicht den Anschluß von IDE-Peripherie wie Festplatten, CD-ROM, DVD usw.
  • 4 Simmbänke für den Ausbau des RAM-Speichers mit 72poligen EDO-RAMs - maximal 512MB RAM.
  • Memory-Controller Lattice ispLSI1024, zuständig für die Speicherverwaltung der 4 RAM Einsteckplätze und die PCI Bus Arbitrierung.
  • 512 kB Flash-EPROM für das Betriebssystem. Wird beim Einschalten gebootet. Software-Updates sind möglich.
  • MFP-Chip, sorgt für eine Atari-kompatible serielle Schnittstelle, Atari-kompatible Timer usw.
  • Super I/O, übernimmt die komplette Schnittstellenverwaltung. Batteriegepufferte Echtzeituhr integriert.
  • Tastaturanschluß für Standard PC-Tastaturen.
  • Floppy-Port für Standard 3.5" Floppys mit 1.44MB / 720kB.
  • Parallel-Port für den Anschluß von Druckern und anderen Parallelport-kompatiblen Geräten wie Wechselmedien, Scannern usw.
  • 2x Seriell-Port für Modem und andere serielle Geräte.

PCI / VME-Bus Karte

Da der Atari Mega STE und der Atari TT mit einem VME-Bus ausgerüstet waren, wurde für den Milan eine PCI / VME-Bus Karte entwickelt, die zu dem Atari VME-Bus Hard- und Softwarekompatibel ist.
Mit einem entsprechenden Treiber auch ein Einsatz im PC möglich.

Motorola 68040 / 68060 Prozessor Adapter

Zur Aufrüstung des Milan 040 wurde eine vollsteckbare Erweiterungskarte entwickelt, die den vorhandenen Motorola MC68040 durch einen MC68060 ersetzt.

Den Schaltplan gibt es auf der Download Seite.

Milan 060

Als Alternative zum Milan 040 im Baby-AT Design wurde der Milan 060 im ATX Design entwickelt. In diesem Board ist der MC68040 oder der MC68060 wahlweise einsteckbar.

Das Board wurde leider nie in Serie gefertigt.

Das Milan 060 Motherboard

Atari Coldfire Projekt

Das Atari Coldfire Projekt ist ein neuer Versuch den Atari wieder aufleben zu lassen.

ATARI Speichererweiterungskarten

Die Speichererweiterungskarten (Magnum ST, Magnum STE und Magnum Falcon) für die ATARI Computer ST, STE und Falcon boten bis zu 8 MB FastRAM zusätzlich zum vorhandenen Speicherausbau.
Für den ATARI TT waren mit der Magnum TT bis zu 256 MB FastRAM zusätzlich möglich.

Die Schaltpläne gibt es auf der Download Seite.

Tos2Win

TOS2Win war ein Software-Emulator um ATARI-Programme unter einem Windows-Betriebssystem nutzen zu können. Eine kleine Auswahl der zur Verfügung stehenden Features waren unter anderem die Nutzung von bis zu 14,5 MB ST-RAM und bis zu 2 GB TT-RAM. Die Nutzung aller Windowslaufwerke (incl. verknüpfter Netzlaufwerke) war ebenso möglich wie die Nutzung aller unter Windows zur Verfügung stehender Ports (Parallel, Seriell usw.). Besonderer Wert wurde auf die Kompatibilität und Geschwindigkeit von Calamus gelegt.
Das einzigartige an dem Programm war, dass Atari Programme einfach in Windows Fenstern liefen. Damit sollte ein Umstieg auf den PC erleichtert werden, indem man noch ein paar lieb gewonnene alte Programme weiter nutzen konnte.
Leider konnten sich viele Atari Nutzer mit dieser Philosophie nicht anfreunden.

Das Programm wurde entwickelt, als gerade die ersten Pentium Prozessoren aufkamen. Die erste Version lief noch unter Win 3.11 mit selbst geschriebener Speicherverwaltung zur linearen Adressierung von bis zu 2 GB RAM und einem 486\'er mit 66MHz.
Um noch das letzte Quäntchen an Leistung herauszuholen, wurde der Simulationskern in Assembler geschrieben, immerhin fast 100KB Code, und von Hand auf die beiden Ausführungseinheiten und die Pentium Prozessorchaches optimiert.

Als Programiersprache kam Delphi zum Einsatz. Leider lassen sich damit Assembler Objects mit mehr als 64K nicht regulär einbinden.
Auf meine Nachfrage bei Borland zu dem Thema kam nur die Antwort, so was täte man einfach nicht.
Die letzten Patches dazu sind für Delphi 2.0 gemacht worden. Unter den neueren Version compiliert es nicht mehr. Also wird es auch keine Anpassungen für Win2K, WinXP oder WinME mehr geben.

Brauchbar läuft es unter Win95, Win98, NT3.5 und NT4.0. Wer sich trotzdem daran versuchen will, der findet eine Version im Downloadbereich. Ansonsten gibt es noch den STEmulator. Der ist ein wenig aktueller.