Expansionsport

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Expansionsport des C64

Der Expansionsport (englisch: Expansion - Erweiterung) wird alternativ oft auch als Modulsteckplatz, Modulport oder Memory-Expansion-Port bezeichnet. Dieser Port ist eine rechteckige Aussparung an der Rückseite des C64-Gehäuses und für die Erweiterung des Systems gedacht; vom Prinzip her entspricht er den ISA- oder PCI-Steckplätzen eines PCs. Da hier alle wichtigen Signale des C64 herausgeführt sind, ergibt sich ein großer Anwendungsbereich. Vom Anschluss einer einfachen Resettaste über Modem und EPROM-Programmiergerät bis zur SuperCPU sind fast alle erdenklichen Erweiterungen möglich. Hauptsächlich wird dieser Port zum Einstecken von Steckmodulen benutzt, die Anwendungsprogramme, Spiele oder zusätzlichen RAM-Speicher enthalten.

Im Gegensatz zum Userport gibt es am Expansionsport keine frei programmierbaren Leitungen, d.h. Expansionsport-Module müssen permanent am Daten- und Adressbus der CPU MOS 6510 "mitlauschen" und timingkonform Einfluss nehmen. Für einfache Basteleien ist der Expansionsport dadurch nicht geeignet.


Anschlussbelegung[Bearbeiten | Quelltext bearbeiten]

Der Expansionsport ist eine 2-reihige Platinenbuchse mit insgesamt 44 Kontakten. Das Rastermaß, also der Mittenabstand zwischen den Kontakten, beträgt 2,54 mm (1/10 Zoll).

Kontaktbelegung (von außen auf Buchse gesehen)

Module können über GAME und EXROM der PLA signalisieren, welche Speicherkonfiguration aktiviert werden soll. Einfache Module ziehen z.B. EXROM fest auf Low/aktiv und blenden so EPROMs in den CPU-Adressbereich ein, wobei die Enable-Leitungen der EPROMs direkt an ROML bzw. ROMH angeschlossen werden können. Kompliziertere Module wie z.B. Freezer müssen allerdings weitere Logik mitbringen.


Pin Signal Bedeutung Erläuterung
1 GND Ground Systemmasse (0 Volt)
2 +5V DC Betriebsspannung +5V DC + 5 Volt Gleichspannung. Die maximale Gesamtbelastung für Erweiterungen beträgt 450mA.
3 +5V DC Betriebsspannung +5V DC + 5 Volt Gleichspannung. Die maximale Gesamtbelastung für Erweiterungen beträgt 450mA.
4 IRQ Interrupt Request Unterbrechungsanforderung; siehe IRQ
5 R/W Read - Write High-Pegel bei Lesezyklus, Low-Pegel bei Schreibzyklus. Normalerweise Ausgang, Steckmodul kann aber während DMA (siehe Pin 13) Kontrolle übernehmen.
6 DOT Clock Bildpunktfrequenz 7,88 MHz bei PAL ; 8,18 MHz bei NTSC
7 I/O1 Input/Output 1 Ein-/Ausgabebereich 1 ; Low-Pegel, wenn Adressbus innerhalb $DE00-$DEFF liegt und I/O per Prozessorport aktiviert ist.
8 GAME Spielkonfiguration dient zur Speicherumkonfiguration; siehe PLA (C64-Chip)
9 EXROM Externes ROM ähnlich GAME.
10 I/O2 Input/Output 2 Ein-/Ausgabebereich 2 ; Low-Pegel, wenn Adressbus innerhalb $DF00-$DFFF liegt und I/O per Prozessorport aktiviert ist.
11 ROML ROM Low Leitung zum Enable-Pin eines ROMs für den Bereich $8000-$9FFF, siehe PLA (C64-Chip)
12 BA Bus Available (Bus verfügbar) Ausgang: Busanforderung des VIC (bei Badlines und bei Sprite-DMA). Intern gekoppelt an RDY-Pin des 6510, der bei BA=0 bei seinem nächsten Lesezyklus (also nach spätestens drei Takten) anhält.
13 DMA Direct Memory Access (direkter Speicherzugriff) Analog zu BA, aber Eingang (mit Pullup). Intern mit BA verUNDet und an RDY-Pin der CPU gelegt sowie mit AEC verUNDet: Ein Steckmodul kann drei Takte nach negativer Flanke von BA (1=>0) die DMA-Leitung auf Low ziehen (und dann beliebig lange halten). So kann der Prozessor auch nach dem Ende des VIC-Zugriffs inaktiv gehalten werden und das Modul dann während BA=1 und Phi=1 auf den Adressbus und die R/W-Leitung zugreifen.
14 D7 Datenleitung 7 Datenbus des Rechners
15 D6 Datenleitung 6
16 D5 Datenleitung 5
17 D4 Datenleitung 4
18 D3 Datenleitung 3
19 D2 Datenleitung 2
20 D1 Datenleitung 1
21 D0 Datenleitung 0
22 GND Ground Systemmasse (0 Volt)
A GND Ground Systemmasse (0 Volt)
B ROMH ROM High Leitung zum Enable-Pin eines ROMs für den Bereich $A000-$BFFF (bzw. $E000-$FFFF im Ultimax-Modus), siehe PLA (C64-Chip)
C RESET Reset Zieht man diese Leitung auf Low-Pegel, dann werden alle Bausteine neu initialisiert. Der Programmzähler der CPU wird mit dem Reset-Vektor $FFFC und $FFFD (normalerweise $FCE2) geladen.
D NMI Non Maskable Interrupt siehe NMI
E Φ2 Phi 2 Systemtakt (0,98 MHz bei PAL, 1,02 MHz bei NTSC)
F A15 Adressleitung 15 Adressbus des Rechners
H A14 Adressleitung 14
J A13 Adressleitung 13
K A12 Adressleitung 12
L A11 Adressleitung 11
M A10 Adressleitung 10
N A9 Adressleitung 9
P A8 Adressleitung 8
R A7 Adressleitung 7
S A6 Adressleitung 6
T A5 Adressleitung 5
U A4 Adressleitung 4
V A3 Adressleitung 3
W A2 Adressleitung 2
X A1 Adressleitung 1
Y A0 Adressleitung 0
Z GND Ground Systemmasse (0 Volt)

Expander[Bearbeiten | Quelltext bearbeiten]