|
Fischertechnik Computing PC Interface am C64
Da das Fischertechnik Computing Interface für den C64 (Modell 30562 Commodore) nicht mehr so leicht aufzutreiben ist, habe ich mir die Mühe gemacht und einen Adapterstecker entworfen, mit dem man das noch leichter erhältliche Interface für den PC (Modell 30520 Universal) am Userport des C64 betreiben kann.
Nachbau auf eigene Gefahr!
Um mit einer einseitigen Platine auszukommen, mußte ich leider einen Kompromiss eingehen und ein Kabel von Pin 6 des Userportsteckers zum als “TP1” herausgeführten Pin 17 des Interfacesteckers ziehen. Das ist das weiße Kabel im Foto unten:
Mit dem oben beschrieben Adapterstecker kann das Interface am C64 mit der original Software betrieben werden. Sie kann im Netz heruntergeladen werden. Z.B. in der Emuecke: http://www.emu-ecke.de/index.htm?http://people.freenet.de/electronic-man/hardware/hardware/fischertechnik.htm
Hier die Bilder und Eagle-Dateien in einem Paket:
ftpc2c64.zip
Ansteuerung des Interfaces:
Für Interessierte hier noch das Impuls- und Blockdiagramm zum Universalinterface.
Man beachte, dass der C64, im Gegensatz zum PC, einen modulierten “Count In”-Impuls erwartet, da er die Anzahl der Impulse zählt und nicht die Dauer eines einzelnen Impulses.
Höhere Genauigkeit für EX und EY
Der C64 misst die Analogwerte im Vergelich zum PC zwar schon recht genau, aber mit den beiliegenden 4k7-Potis erreicht man u.U. dennoch nur Werte zwischen 20 und 150 für EX und EY.
Mit folgender Änderung wird die Auflösung erhöht, indem der Timer den Systemtakt des C64 zählt, solange Count In einen High-Pegel hat. Der Wertebereich für die Potis liegt damit (bei meinem Interface) zwischen 115 und 1200. (ACME Code):
;-------------------------------------- ; Analogwert für EX oder EY ermitteln ; Variante mit beiden Timern ;-------------------------------------- .lce8b sty $d07a ; Super CPU auf 1 MHz
lda #$01 sta $dd04 ; Timer A L lda #$00 sta $dd05 ; Timer A H
lda #$ff sta $dd06 ; Timer B L sta $dd07 ; Timer B H
lda #%10010001 ; 50Hz, Count Sys, Load Latch, Cont after Underflow, Start Timer sta $dd0e ; cra (Timer A)
lda #%11111001 ; 50Hz, Count OV CRA when CNT, Load Latch, Cont after Underflow, Start Timer sta $dd0f ; crb (Timer B)
; Umwandlung starten stx $dd01 ; aus USR EX=#%00100010 (DATA IN,-,TR.Y,LOAD_IN) oder EX=#%00010010 (DATA IN,-,TR.X,LOAD_IN) ; Achtung TR.X und TR.Y sind LO-aktiv ldx #%0011101 ; Tr.Y, Tr. X, Clock, Load In stx $dd01
.loop1 lda $dd01 ; warten auf Beginn Lo Impuls and #%10000000 ; Data In prüfen bne .loop1
; warten auf Ende Lo Impuls .loop lda $dd01 and #%10000000 ; Data In prüfen beq .loop
.fin sty $d07b ; Super CPU wieder auf 0MHz ldx #%00111000 ; Tr. Y, Tr. X, Clock stx $dd01 sec lda #$ff sbc $dd06 ; Timer B L tay lda #$ff sbc $dd07 ; Timer B H jsr $b391 ; an Basic zurückggeben ldx #$00 beq .lce89 ; und zurück
Pinbelegungen und weitere Adapter
C64 Adapter für Interface Modell 30520 Universal
Pin userport Interface Beschreibung ---------------------------------------------------- A GND - 2 Ground C PB0 - 13 Load Out D PB1 - 14 Load In E PB2 - 11 Data out F PB3 - 12 Clock H PB4 - 9 Trigger X J PB5 - 10 Trigger Y L PB7 - 3 Data In 6 CNT2 - 17 Count In (C64)
Folgende Pins des Interfaces müssen jeweils miteinander verbunden werden:
1,2 19,20 5,7 6,8
PC Adapter für Interface Modell 30520 Universal
Pin Centr. Interface Beschreibung ---------------------------------------------------- 2 Data1 - 13 Load Out 3 Data2 - 14 Load In 4 Data3 - 11 Data out 5 Data4 - 12 Clock 6 Data5 - 9 Trigger X 7 Data6 - 10 Trigger Y 11 Busy - 3 Data In / Count In (PC) 18 GND - 2 Ground
Folgende Pins des Interfaces müssen jeweils miteinander verbunden werden:
1,2 19,20 5,7 6,8
C64 Adapter für Interfaces, die direkt am PC Printerport angeschlossen sind

Centronics Adapterplatine PC Sub.D-25 ---------------------------------------------------- GND A ------ GND --------- 18 GND PB0 C ------ Load Out ---- 2 Data 1 PB1 D ------ Load In ----- 3 Data 2 PB2 E ------ Data Out ---- 4 Data 3 PB3 F ------ Clock ------- 5 Data 4 PB4 H ------ Trigger X --- 6 Data 5 PB5 J ------ Trigger Y --- 7 Data 6 PB6 K ------ Takt -------- - PB7 L ------ Data In ----- 11 Busy CNT2 6 ------ Count In ---- 10 /Ackn * Achtung: Pin 10 am Sub-D Stecker muss eventuell nachträglich mit Pin 18 des Flachbandkabels verbunden werden, denn bei der PC Adapterplatine fehlt diese Verbindung. Siehe weißes Kabel unten. 
|