[hatari-devel] DSP host interface interrupted mode : help needed
David Savinkoff
dsavnkff at telus.net
Sun Sep 13 21:57:31 CEST 2009
An HTML attachment was scrubbed...
URL: <https://lists.berlios.de/pipermail/hatari-devel/attachments/20090913/ddf427a8/attachment.html>
-------------- next part --------------
3.17 COMBO Chip
Der COMBEL (COMBO) CHIP im Falcon
Der COMBO ist ein speziell für den FalconF03 hergestellter Multifunktionsbaustein mit folgenden Funktionen:
- Memory Contol Unit [MCU]
- Interrupt Priority and Illegal Condition Detection
- Clock Dividers / Taktteiler
- Chip Selekt Handling
- Paddleport Controller
- Joystick Controller
- Light Gun Controller
- Blitter (Grafischer Coprozessor im Falcon)
Die MCU im COMBO nimmt die Adressen vom Adressbus (A1-A23) und wandelt diese in Reihen und Spalten für das DRAM. Ebenso erzeugt die MCU die RAS- und CAS-Signale für den Betrieb des Ramspeichers.
Ebenso werden hier die Chipselektsignale für das ROM und die I/O-Bausteine generiert. Die MCU im COMBO kann im FalconF030 bis zu 14MB Ram verwalten und Adressieren. Sie ist auch der Grund für brachliegende 2 MB Speicher die im Falcon nicht mal als Ramdisk angesprochen werden können.
Die größe des Ramspeichers beschränkt sich im Falcon auf genau zwei Ausbaustufen. Es gibt eine 4MB und eine 14MB (16MB) Ramkarte die auf den internen Erweiterungsplatz gesteckt werden können. Hierzu existieren genau zwei Selektionspins die über einen weiteren Hardwarebaustein der MCU welche menge von RAM zur verfügung steht. Die MCU produziert ebenfalls sämtliche Adressen für den Videospeicher, den Refresh und den CPU/DMA Datentransfer über den Multiplex-Adressbus des Falcon.
Sämtliche Systeminterrupts werden im COMBO maskiert. Ebenso wird der Status aller Interrups im COMBO gespeichert. Beachten Sie die Auflistung der Systeminterrupts und deren Priorität.
Interrupt Level Priorität
----------------------------------------------
7 (highest) Open (Bus)
6 MFP / DSP Interrupt
5 85C30 LAN Baustein
4 VSYNC (Vertikal Blank)
3 Open (Bus)
2 HSYNC (Horizontal Blank)
1 (lowest) Open (Bus)
Die Hardware im COMBEL erlaubt es die Interruptlevels 1-3 als Interrupts von externen Devices zu behandeln. So sind einige Subsysteme in wie z.B der IDE oder der Parallelport in der Lage dieser Interrupts zu aktivieren. Weitere Hardware nutzt den Interruptlevel 5. Der COMBO Chip meldet der CPU über die Leitungen IPLO-IPL2 mit welcher Priorität der gerade aufgetretene Interrupt anliegt.
Interrupt Signal Definiton
IPL2 IPL1 IPL0 Interrupt Level
----------------------------------------------
1 1 1 Level 1
1 0 1 Level 2
1 0 0 Level 3
0 1 1 Level 4
0 1 0 Level 5
0 0 1 Level 6
0 0 0 Level 7
Weiterhin ist der COMBEL in der Lage Bus Errors und Fehlfunktionen festzustellen.
Nach folgenden Kriterien sendet der COMBEL ein BERR-Signal zur CPU:
- Ein Buszyklus ist nicht in 16 Microsekunden beendet (Änderbar auf 32uS)!!
- Ein Versuch das ROM zu beschreiben
- Ein Versuch Daten mit falscher Länge, Format in ein Register zu schreiben
- Beschreiben des Systemspeichers im Usermode
Taktteiler
Das COMBO IC wandelt die Ursprünglichen 32Mhz Mastertakt in 16Mhz, 8Mhz sowie in ein 4 Mhz und in ein 500Khz Taktsignal um.
Chipselekt
Der COMBEL dekodiert die Adressen und selektiert daraus die Chipselektsignale für weitere Peripheriebausteine des FalconF030.
Das Betrifft folgende Chips:
8650, MFP, VIDEL , RTCCS (RealTimeClock), MMU , Romport, (XROM3/XROM4)
IDE (HIDECS0/HIDECS1) sowie ROM / ROM2
Im COMBO werden ebenfalls die Signale PAD0X, PAD1X und PAD0Y, PAD1Y sowie PADRST verarbeitet. Alle diese Signale stammen vom Paddleport den es bisher auch nur am Falcon gibt.
PADRST dient als Resetsignal für den Paddleport.
Ebenso befindet sich im innern des COMBO die Logik um ein paar Joysticks am Falcon betreiben zu können. Hierzu liegen am COMBEL die Inputsignale JOYRH, JOYRL an. Beide Signale sind ReadEnable-Signale. JOYWH und JOYWL sind WriteEnable-Signale. BUTTON ist die Signalleitung für die Feuertasten
Der im COMBO integrierte BLITTER ist der grafische Coprozessor wie er auch schon in anderen Atari-Computern eingebaut war. Im Falcon wurde der Blitter aber eben in den COMBEL integriert. Der Blitter lässt sich im Falcon mit einem Softwarebefehl deaktivieren. In anderen Systemen musste hier ein Jumper oder eine Lötbrücke gesetzt werden. Der Blitter sollte Bitblock-Operationen beschleunigen und die CPU unterstützen/entlasten. Die Pinbelegung des COMBO Chip entnehmen Sie bitte dem Kapitel Pin aus DOITF030.
Letztlich bleibt noch das Signal XPEN welches den COMBO veranlasst die Daten vom Horizontal-/ Vertikalzähler einzulesen. Diese Daten werden erreicht in dem die korrekte Position der "Lightgun" anhand des Bildschirm-Lichtrasters von der CPU errechnet wird.
Bleibt als Abschluß noch zu sagen das Sie sich bemühen sollten den COMBEL in ihrem Falcon pfleglich zu Behandeln. Anhand dieser Erläuterungen können Sie sehen das ohne diesen Chip ihr Falcon nicht mal eine Diskette einlesen wird. Sie werden ohne den COMBEL nicht mal eine einfache Bildschirmausgabe sehen können.
More information about the hatari-devel
mailing list