TurboProcess
| TurboProcess | |
|---|---|
| Typ | Steckmodul |
| Hersteller | Roßmöller Computertechnik GmbH |
| Erscheinungsjahr | 1987 |
| Prozessor | WDC 65C816 mit 4 MHz |
| Speicher | 64 KB CMOS SRAM (akkugepuffert) |
| OS | TurboSystem 3 (angepasster C64-KERNAL) |
| Sonstiges | Anschluss an Expansionsport, Nachfolger Flash 8 |
Die TurboProcess (auch Turbo Processor) ist eine an den Expansionsport des C64 anzuschließende Turbokarte von Roßmöller Computertechnik GmbH. Sie wurde 1987 vorgestellt und gehört zu den ersten in Deutschland entwickelten Beschleunigerkarten für den C64.
Sie wurde unter dem Namen Tuning64 auch als Bausatz verkauft.
Eigenschaften[Bearbeiten | Quelltext bearbeiten]
TurboProcess nutzt einen WDC 65C816-Prozessor, der weitgehend abwärtskompatibel zum MOS 6510 des C64 ist und zusätzlich einen nativen 16-Bit-Betrieb unterstützt. Die Taktfrequenz beträgt 4 MHz, wodurch der C64 etwa viermal so schnell arbeitet wie mit der originalen 1-MHz-CPU. Über ein Potentiometer lässt sich die Geschwindigkeit regulieren. Ein asynchroner Modus bringt weitere 10-20 % Geschwindigkeitsgewinn, schaltet jedoch die Ein-/Ausgabe ab und eignet sich nur für reine Berechnungen.
Die Umschaltung zwischen 1 MHz und 4 MHz erfolgt entweder hardwareseitig über DIP-Schalter oder softwareseitig über Bit 7 der Adresse $01 (Bit 1: 4 MHz); der asynchrone Modus kann per Schalter und Bit 6 umgeschaltet werden.
Auf der Platine befinden sich 64 KB SRAM-Speicher, die vom 65C816 statt der (langsamen) 64 KB RAM des C64 genutzt werden. Das RAM ist akkugepuffert. Mit einem optionalen 64-KB-EPROM (Typ 27512) lassen sich zwei verschiedene Betriebssysteme über einen Schalter auswählen.
Das ROM des TurboProcess bietet unter anderem:
- Parallele Datenübertragung über den Userport zur Floppy (10-facher Fastload)
- Centronics-Schnittstelle am Userport
- Einen eingebauten Maschinensprachemonitor "MiniMon" (aufgerufen mit CTRL+RETURN) mit den Befehlen M(emory), L(oad), S(ave), T(ransfer), G(o) und X (Exit)
- Erweiterte BASIC-Eingabe mit hexadezimaler ($FFFF) und binärer (%10101010) Schreibweise
- 16 unterscheidbare Funktionstasten (F1-F16, zusätzliche Kombis per C= und CTRL )
- Erweiterte Bildschirmeditor-Steuerung über CTRL-Tastenkombinationen (z. B. CTRL+D für Directory, CTRL+L für Load, CTRL+/ für Speed-Umschaltung, CTRL+* für OLD-Funktion)
Bei jedem Zugriff auf den I/O-Bereich ($D000-$DFFF) schaltet TurboProcess aus Kompatibilitätsgründen automatisch auf 1 MHz zurück.
Kompatibilität[Bearbeiten | Quelltext bearbeiten]
- Illegale Opcodes: Programme, die undokumentierte 6502-Befehle verwenden, funktionieren nicht, da der 65C816 diese nicht unterstützt.
- IEC: Die normalen seriellen Routinen und normale Schnelllader etc. des C64 sind nur für 1 MHz ausgelegt. Das im TurboProcess eingebaute Betriebssystem ist angepasst, für andere IEC-Routinen muss auf 1 MHz zurückgeschaltet werden.
- Video-RAM: Einige Programme und Spiele nutzen Bereiche des Speichers als Video-RAM, die von der TurboProcess nicht unterstützt werden. In dem Fall ist eine weitere Verbindung zwischen TurboProcess und PLA nötig.
- Datasette: Die Datasette steht nicht mehr zur Verfügung.
- C128: TurboProcess kann am C128 im C64-Modus betrieben werden. Eventuell ist eine zusätzliche Masseleitung für stabilen Betrieb nötig.
- Netzteil: Es wird ein ausreichend starkes C64-Netzteil benötigt.
Technik[Bearbeiten | Quelltext bearbeiten]
Aufbau[Bearbeiten | Quelltext bearbeiten]
- CPU: WDC 65C816 (16-Bit-Prozessor)
- RAM: 64 KB CMOS-SRAM (akkugepuffert)
- EPROM: 32 KB EPROM (Typ 27256) mit Kernal, BASIC-ROM und Zeichensatz; alternativ 64 KB EPROM (27512) für zwei Betriebssysteme
- PALs: Mehrere Programmable Array Logic-Bausteine für die Busankopplung und Takterzeugung (genaue Anzahl und Typ variierten je nach Version; die Tuning64-Bausatzversion hatte 3 PALs)
- Buskopplung: LS374-Oktal-D-Flipflops zur Entkopplung des internen schnellen Busses vom C64-Bus
- DIP-Schalter: 8-stelliger DIP-Schalter für alle Einstellungen (Turbo ein/aus, Geschwindigkeit, ROM-Auswahl, synchron/asynchron)
- Potentiometer: Drei Potis - P1 (Bildsynchronisation), P2 (Taktsynchronisation), P3 (Geschwindigkeitsregelung)
- Reset-Taster
Die Karte ist vollständig in CMOS-Technik aufgebaut. Es gab mehrere Hardware-Revisionen: Eine frühe Version mit sechs einzelnen Schaltern, eine spätere mit 8-poligem DIP-Schalter, sowie die Bausatzversion Tuning64 mit 17 ICs. Um Nachbauten zu erschweren, wurden die Bezeichnungen aller ICs ab Werk abgeschliffen. Auf der Platine befindet sich eine optionale 3-polige Stiftleiste (SL2), über die die PLA-Signale LORAM, HIRAM und CHAREN vom C64 verbunden werden können.
Funktionweise[Bearbeiten | Quelltext bearbeiten]
TurboProcess schaltet den originalen MOS 6510 des C64 per DMA ab und nutzt stattdessen den 65C816. Schreibzugriffe des 65C816 erfolgen in das eigene SRAM sowie das C64-DRAM, da der VIC-II seine Bilddaten aus dem C64-RAM liest. Für RAM-Lesezugriffe benutzt der 65C816 nur das eigene SRAM.
Die Busankopplung zwischen dem 4-MHz-Bus und dem 1-MHz-C64-Bus erfolgt über LS374-Oktal-D-Flipflops.
Der Takt wird vermutlich aus der 8-MHz-Dot-Clock abgeleitet (geteilt durch 2). Die Potentiometer P1 und P2 dienen der Feinabstimmung: P1 regelt die Phasenlage zur Bildsynchronisation, P2 synchronisiert den Turbo-Takt mit dem C64-Takt. Bei frühen C64 mit dem VIC 6569 R1 ist das Taktsignal unter Umständen nicht sauber genug für die TurboProcess; als Abhilfe empfiehlt das Handbuch, das Taktsignal über einen 74LS04/74LS14-Inverter zu bereinigen oder den VIC gegen einen R3/R5 zu tauschen.
Das 6510-Port-Register an der Adresse $01 wird von der Karte emuliert.
Die Karte bietet zusätzlich einen asynchronen Modus, in dem der 65C816 völlig unabhängig vom C64-Takt läuft und weitere 10-20 % Leistungsgewinn bringt. In diesem Modus sind jedoch alle Ein-/Ausgänge deaktiviert; er eignet sich ausschließlich für reine Berechnungen. Der Wechsel zwischen synchronem und asynchronem Modus erfolgt über DIP-Schalter bzw. Bit 6 von $01, wobei vor dem Umschalten die Interrupts mit SEI gesperrt werden sollten.
Akzeptanz[Bearbeiten | Quelltext bearbeiten]
Die TurboProcess war eine nicht einfach zum stabilen Arbeiten zu bewegende Karte, die auch wenig benutzerfreundlich war (DIP-Schalter, Software-Unterstützung) und entsprechend keine sonderlich weite Verbreitung erfuhr.