UP9600

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Stub Dieser Artikel ist sehr kurz und nicht besonders ausführlich. Hilf bitte mit, ihn zu verbessern.

UP9600 ist ursprünglich von Daniel Dallmann ersonnene Software und Hardware, die 9600/19200 bps per RS232 mit RTS/CTS-Handshake über den Userport des C64 übertragen kann. Dabei wird eine Beschaltung des Userports benutzt, die von der vom C64-KERNAL unterstützten abweicht.

Die Schaltung ist wesentlich günstiger als die ansonsten für diese Geschwindigkeiten nötigen Adapter wie dem SwiftLink, die typischerweise einen MOS 6551 "ACIA"-Schnittstellenbaustein benutzen.

Die Schaltung ist nicht mit dem C64-Modus des C128 kompatibel.[1]

Idee[Bearbeiten | Quelltext bearbeiten]

Die normale RS232-Beschaltung bzw. der KERNAL steuert die Userport-Leitungen allesamt in Software an (sogenanntes "Bitbanging": Die CPU kümmert sich direkt und exklusiv um die Ansteuerung der RS232-Leitungen). Bei UP9600 dagegen wird der in den CIAs eingebaute serielle Port benutzt, der jeweils ein Byte unabhängig von der CPU Daten übertragen kann, die CPU also deutlich bei der Datenübertragung entlastet: Die CPU muss nicht mehr jedes Bit einzeln behandeln, sondern kann ein Byte "in einem Rutsch" zur CIA übertragen und ihr den Rest der Arbeit überlassen. Da für ein Byte bei RS232 zehn Bits anfallen (Start-Bit, Daten-Bits, Stopp-Bit), die CIA aber nur Bytes übertragen kann, wird dabei ein Trick angewandt: Ein übertragenes Byte wird in zwei Bytes (16 Bits) aufgeteilt; die letzten 6 Bits bleiben ungenutzt und erscheinen der Gegenstelle als "Wartezeit". Dadurch kann zwar nicht mehr die volle Geschwindigkeit erreicht werden; schneller als Bitbanging per CPU ist das Verfahren aber trotzdem.[2]

Hardware[Bearbeiten | Quelltext bearbeiten]

Es wird nur ein IC und zwei Stecker benötigt. Nick Rossis Novaterm 9.6 und die Miniterm-Programme von Daniel Dallmann unterstützen UP9600.[3]

user port                               RS232 DB25   DB9   Bezeichnung
---------                               ----------   ---   -----------

  A & N------------------------+-----------1 & 7      5      Masse
                        _____  I 
  B & C & 7------------[2   7]-+      
                       [     ]    
    2------------------[14  1]-------------3          2      rx
                       [     ]
  M & 5----------------[3   4]-------------2          3      tx
                       [     ]
    D------------------[5   8]-------------4          7      rts
                       [     ]
    6 __            ___[6  11]___
    L __|          |___[9  12]___|
                       [     ]
    K------------------[10 13]-------------5          8      cts
                       [_____]

Hinweis: Die Pins 6 und 9 des IC 7404 sind miteinander verbunden. Ähnlich 11 und 12. Die Stifte 6 und L des Userport sind miteinander verbunden.

Part List 7404 IC (you can easily find it) DB25 male connector (or DB9 male) User Port connector 2m. 2 line shielded cable. (you don't need this if your modem has the cable)

Anschlussansichten (mit Blick auf die Vorderseiten)

user port                  DB25                              DB9
                                                1 1 1 1       
                  1 1 1       1 2 3 4 5 6 7 8 9 0 1 2 3         1 2 3 4 5
1 2 3 4 5 6 7 8 9 0 1 2    \-----------------------------/   \-------------/
- - - - - - - - - - - -     \ . . . . . . . . . . . . . /     \ . . . . . /
- - - - - - - - - - - -      \ . . . . . . . . . . . . /       \ . . . . /
A B C D E F H J K L M N       -------------------------         ---------
                               1 1 1 1 1 1 2 2 2 2 2 2           6 7 8 9
                               4 5 6 7 8 9 0 1 2 3 4 5

Quellen[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]