Impressum
home sonstiges und allgemeines - gesperrt PC und drumrum AVR Mikrocontroller - gesperrt! Atari ST und drumrum Links Shop - gesperrt!
->Atari ST-> reSTeycle->Casus Interuptus
Zurück Die Interuptverwaltung (Update 25.7.2002)
Der Atari ST besteht im wesentlichen aus diversen vielbeinigen Spezial-ICs. Aber bis zum Mega ST haben sich doch einige wenige Standart-ICs auf die Platine verirrt. Einige davon, ein LS148 (Prioritätsencoder), ein LS32 (4fach Oder), ein LS02 (NOR) und ein LS04 (Inverter) werden zur Erweiterung der Interupt-Möglichkeiten eingesetzt. Der MC68000 hat 3 Eingänge für Interupts, die 7 verschiedene Interuptebenen aktivieren können. Beim ersten ST wurden davon nur 2 verwendet. So gibt es am GLUE, der diese Leitungen bedient, nur 2 Ausgänge, /IPL1 und /IPL2. Beim Mega ST wurden die bisher nicht genutzten Interuptebenen am Busstecker zugänglich gemacht. Hierzu verwendete Atari den LS148 und den LS32 um die 2 Interupts vom GLUE mit 3 Leitungen vom Busstecker in 3-Bits für die CPU zu codieren. Am DMA-Stecker werden mit einem NOR (LS02) und einem Inverter (LS04) der high-aktive Interupt vom Floppy-Controller und der low-aktive vom ACSI-Bus zu einem low-aktiven Signal zusammengefaßt.

Diese bestehenden Schaltungsteile wollte ich noch mit einigen anderen Erweitern.

Die beiden zusätzlichen IDE-Ports müssen mit an den Floppy-DMA-Interupt angekoppelt werden. Der ISA-BUS soll auch einige Interupts bekommen. Gleichzeitig gibt es am MFP, dem zentralen Interupt-Verwalter im ST, einige Leitungen, deren jetzige Verwendung nicht mehr aktuell ist.

Die Leitung IO7 führt zum Mono-Detekt-Anschluß an der Monitor-Buchse. Damals war das sinnvoll um die Beschädigung eines Monitors durch die falschen Signale zu verhindern. Da der ReSTeycle eh sowohl im Monochrom- als auch im Farbmodus einen VGA-Ausgang bedient, und die modernen Multiscan-Monitore alles verkraften, was der ST hergeben kann, wird diese Leitung für einen Interupt vom ISA-Bus verwendet. Ebenso ergeht es dem IO3 Eingang, der im Mega ST für den Blitter-Interupt zuständig ist. Da ich keinen Blitter habe, wird auch dieser Eingang für den ISA-BUS verwendet.

Alles in allem reicht dafür ein GAL20V8, das nichts weiter als ein bischen kombinatorische Logik enthält. Leider sind die Interupts auf dem ISA-Bus Flankengetriggert. Für den MC68000 müssen die Pegel aber mindestens bis zum Ende des aktuellen Buszyklus stabil bleiben.

Hier ist eine kleine Änerdung notwendig. Da auch nach längerem probieren die Gleichungen nicht alle in ein GAL20V8 passen und mir die Interupts noch zu wenig und unflexibel sind, wird die Selbsthaltung erst mal ins ISA-Businterface verlegt. Außerdem werden alle nicht angeschlossenen ISA-Interupts in einer Interuptleitung zusammen gefaßt. Diese INT5-Leitung wird dann die ISA- Interuptquellen per Non-Autovektor angesprochen. Der MonoInterupt hat auch eine kleine Änderung erfahren. Er wird jetzt wie im STE, also verXORt mit dem Monodetekt-Signal, bedient.

Die Interupts werden wie folgt zugeordnet:
FDCint od. ACSIint od. IRQ14(IDE 1) od. IRQ15(IDE 2) --- Floppy-Interupt
ISA_IRQ oder MegaBUS INT5 --- INT-Ebene 5
ISA-IRQ7 oder MegaBUS INT3 --- INT-Ebene 3
ISA-IRQ10 --- Blitter-Interupt
ISA-IRQ13 --- Monochrom-Interupt
Top <<zurück-weiter>>