Hallo,
eigentlich habe ich diesen kleinen Adapter nur für den Eigenbedarf gebaut, aber nachdem ich das Teil ein paar mal erwähnt habe
kommen jetzt doch ein paar Anfragen rein, einige Platinen habe ich auch schon verschickt, aber mein Bestand geht zu Ende.
C64.io
Es handelt sich um einen kleinen Zwischensockel für die CPU (d.h. die CPU muss gesockelt sein), dieser Adapter stellt verschiedene
Signale zur Verfügung die von Stereo-SIDs und dem SideKICk benötigt werden.
A5..A8, /IO1, /IO2 auf der unteren Seite, /SID, /EXT, /RES, GND auf der anderen Seite.
- A5..A8, die Adressleitungen (direkt von der CPU), diese Signale werden häufig von Stereo-SIDs benötigt
- /IO1 & /IO2, auch diese Signale sind für den Stereo-SID gedacht und werden über ein GAL generiert.
- /SID, über das GAL generierte Chip-Select für den internen SID, für die Nutzung der SidKICK Sound-Emulation
- /EXT, das gepufferte Signal HiRAM von der CPU, für die Nutzung der SideKICK Kernal-Funktionilät.
Reset und GND muss ich wohl nicht erklären.
Wozu das Ganze?
Ich mag keinen Drahtverhau im C64 haben, durch das C64.io vereinfacht sich der Einbau eines Stereo-SID erheblich.
Auch die zusätzlichen Signale für das SideKICK sind recht nützlich, "the tuneful 8" läuft bei mir 24h, Kernal habe ich nur kurz getestet.
Im Bild ist noch eine C64.io V1 zu sehen, die Funktion ist aber die Gleiche.
Der Adapter
Wie man oben auf den Bildern schon sieht ist der C64.io nicht viel breiter und nur geringfügung Länger als die CPU, die wird ereicht
indem das GAL im Sockel verschwindet, und die Bohrungen für die Buchsenleisten 1.4mm sind, die Stifte der Buchsenleiste habe nur
1.37mm.
Weil die Platine nur 0.8mm stark ist, und die Buchsenleisten ganz auf der Platien aufliegen kann auf den sonst üblichen Versatz durch
Adapterplatinen verzichtet werden, der Adapter verbindet die CPU 1:1.
Durch diese Konstruktion wird das Ganze ziemlich flach, darum und um die empfindlichen Pins zu schützen habe ich von unten einen
zusätzlichen Präzisionssockel aufgesteckt.
Ende des Werbeblocks!
Das Projekt
Für die Unterstützung beim Jedec möchte ich mich nochmal ausdrücklich bei Diddl bedanken.
- Name IO-Gen-C64;
- PartNo GAL16v8D;
- Date 2021-11-13;
- Revision 01 ;
- Designer Diddl;
- Company private;
- Assembly None;
- Location Austria;
- Device G16V8A;
- /*
- Complex Mode: G16V8CPMA
- Input only Output only Input/Output
- ---------- ----------- ------------
- 1, 2, 3, 12, 19 13, 14, 15,
- 4, 5, 6, 16, 17, 18
- 7, 8, 9,
- 11
- complex mode: g20v8ma
- Input only Output only Input/Output
- ---------- ----------- ------------
- 1, 2, 3, 15, 22 16, 17, 18,
- 4, 5, 6, 19, 20, 21
- 7, 8, 9,
- 10, 11, 13,
- 14, 23
- */
- /*
- -- Input --
- */
- Pin 1 = PHI2;
- Pin 2 = A8;
- Pin 3 = A9;
- Pin 4 = A10;
- Pin 5 = A11;
- Pin 6 = A12;
- Pin 7 = A15;
- Pin 8 = A14;
- Pin 9 = A13;
- Pin 17 = LORAM;
- Pin 18 = HIRAM;
- Pin 19 = CHAREN;
- /*
- -- Output --
- */
- Pin 13 = IO2;
- Pin 14 = IO1;
- Pin 15 = EXT;
- Pin 16 = SID;
- /*
- * Equations:
- */
- FIELD addr = [A15..A8];
- _sel1 = addr:[DE00..DEFF];
- _sel2 = addr:[DF00..DFFF];
- _sel3 = addr:[D400..D7FF];
- /*
- * _ena = (!LORAM & !HIRAM)
- * # !CHAREN;
- */
- _ena = (CHAREN & HIRAM)
- # (CHAREN & LORAM);
- !IO1 = _ena & _sel1 & PHI2;
- !IO2 = _ena & _sel2 & PHI2;
- !SID = _ena & _sel3 & PHI2;
- !EXT = !HIRAM;
- /* -- fin -- */
Eine kleine Anmerkung noch
C64.io ist im Prinzip eine 2. Mini-PLA, die nicht 100% kompatibel ist, die Abhängingkeit der Signale /IO1, /IO2 und /SID von
/EXROM und /GAME wird nicht abgebildet, diese Signale stehen an der CPU nicht zur Verfügung.
Dadurch kann der IO-Bereich in den Ultimax-Modi 16..20 nicht dekodiert werden, siehe "The Extended Memory Map" auf
http://www.c64os.com/post/versa64cart.
Ich weiss nicht ob das jemals ein Problem darstellen wird, meine bisherigen Tests habe keine Auffälligkeiten gezeigt, sollten
hier jedoch Probleme auftreten bleibt immer noch der interne SID als Fallback für den Sound.
Puh, wieder mal ein Buch, ich hoffe nicht zu viele Rechtschreibfehler...
Die Schaltung: C64io.pdf
Gerber Files: C64io-V2.zip
GAL Jedec File: IO-Gen-C64.zip
Mfg Jood
NACHTRAG: Das GAL muss vor dem Einlöten programmiert werden!