Beiträge von Wiesel im Thema „Neues Miniprojekt: CSG8701-replacement“

    Endlich was Neues:

    Bitte melde dich an, um diesen Link zu sehen.

    Jetzt auch in einer PAL/NTSC umschaltberen Version, die flach genug ist, die in den C128 zu quetschen. Dafür muss aber ein wenig extra isoliert werden, z.B. ein Stück Plastik drauf kleben, damit man keinen Kurzen mit dem Metalldeckel baut.

    Teile sind im Lager, fertig verpackt und getestet.

    Jens

    Ein fertiges Produkt, das wohl für die Händler nicht interessant genug war. Es liegt also hier und kann "manuell" bestellt werden. Einige Wenige sind schon bei Kunden. Und wenn die neue iComp-Webseite online ist, gibt's da auch einige andere Dinge zu kaufen, die für die Händler bis jetzt nicht interessant waren. Das kann aber August werden...

    Jens

    Habt ihr eine Testreihe gemacht?


    Leider nein - ich bin nicht dazu gekommen, den Umschalter für einen echten 8701 zu bauen (zu viel mit der aktuellen Weihnachtsproduktion zu tun). Während der Party gab's auch gefühlte tausend Leute, die ich seit der letzten Party gar nicht gesehen habe, und mit denen ich erstmal ausgiebig quatschen musste.

    Ich habe aber zwischenzeitlich ein paar NTSC-VICs (Typ 6567) gefunden. Nagelneu, nie eingesetzt, und seit Jahren in der Kiste, die ich damals von dem Recycler gekauft habe, der den Commodore-Braunschweig-Kram verarbeitet hat. Ich kann also jetzt NTSC-Kits anbieten, falls sich jemand nen NTSC-C64 bauen will.

    Jens

    Bei unterschiedlichen Temperaturen/Exemplaren werden also die Spitzen dichter zusammen oder weiter auseinender rücken.


    Yep, und es fehlt komplett an einem Regelkreis - das Datenblatt sagt ziemlich deutlich, dass es eine Anzahl Impulse auf der Dotclock-Leitung gibt, welche sich lediglich an dem geteilten 17,73MHz-Takt orientiert. Dort wird auch recht genau angegeben, wie weit diese Impulse auseinander liegen.

    Eine Systematik erkenne ich nicht in diesem Impulsmuster. Dafür gibt es zwei mögliche Erklärungen: 1) die Entwickler hatten einen Masterplan den ich nicht zu durchschauen vermag (z.B. das Verhindern von Farbverschiebungen) oder 2) das Teil ist wirklich nur ein Hack (immerhin ein Guter).

    Gerrit's Idee von einem Blindtest finde ich gar nicht so übel. Ich baue mal eine Platine, die zwischen 8701 und meinem Clock-Generator umschalten kann, die versuchen wir dann auf der X Party mal in diversen Computern und an unterschiedlichen Monitoren. Sollte sich in diesem Test herausstellen, dass der 8701 wirklich das bessere Bild liefert, müsste nämlich die ganze Theorie hinter der Berechnung von PAL-Artefakten im Emulator überarbeitet werden.

    Jens

    Hm, exakteres Timing würde ich jetzt nicht sagen. Der 8701 erzeugt den Systemtakt auch über einen Quarz. Nur die Verdopplung vor der Teilung passiert über Verzögerungen. Alles weitere ist dann wieder starr gekoppelt und damit vom Quarz abhängig

    Du hast Rest - jedoch nur bei der Betrachtung "im Durchschnitt". In der Praxis bedeutet das aber, dass die Pixelclock keine Gauss-Form als Spektrum hat, sondern dass Seitenspektren außerhalb der üblichen "Faktor-3"-Frequenzen sehr deutlich sichbar sind. Das angehängte Bild habe ich vor rund 9 Jahren schon online gestellt - so lange bin ich schon mit der Idee herumgelaufen, diese Schaltung mal auszuprobieren.

    Auf dem Bildschirm des C64 bedeutet das, dass eine starke Änderung der Helligkeit von Pixel zu Pixel einen anderen Effekt auf die Farbverfälschung hat, als wenn diese Änderung "einen Pixel weiter rechts/links" stattfindet. Eine solche Änderung der Artefakte bei X-Verschiebung wird nur beim 8701 auftreten. Bei den älteren C64 mit echter PLL wird das nicht passieren. Ob das eine Verbesserung ist, muss jeder für sich beurteilen.

    Dieses Jahr ist X-Jahr, und da treffen sich alle Puristen die *wirklich* Ahnung vom C64 haben (26. bis 28. Oktober). Ich bringe auf jeden Fall ne Handvoll dieser Schaltungen mit, dann können wir mal die Experten beurteilen lassen, ob sich das Bild mit der Schaltung verbessert, ob es gleich bleibt, oder ob es vielleicht sogar schlechter wird. Das Empfinden wird hinterher nämlich das einzige Kriterium sein - ich kann zwar beliebig genau belegbare Aussagen über den Takt machen, aber was davon in der Praxis wahrnehmbar ist, könnte man streng genommen in die Sparte "Esoterik" stecken. Wir kommen damit in den Bereich der Hifi-Fredels, über die ich mich so gern lustig mache (die Typen, die den Klang von Digitalkabeln testen...).

    Jens

    Also bitte, die Stiftleisten werden wohl nicht das Problem sein. Ich kann nicht gut löten, aber das bring sogar ich zustande.


    Es ging ja auch nicht um die Aussage "das ist schwierig", sondern darum, dass es ein Mensch machen muss, der in aller Regel nicht so schnell und nicht so billig ist wie eine Maschine. Die Komplexität der Aufgabe hält sich in Grenzen, da hast Du absolut Recht.

    Ersatz ist auch klar, obwohl ich noch nie einen derartigen Defekt gesehen habe.


    Ehrlich gesagt habe ich auch noch nie einen defekten 8701 in der Hand gehabt - die scheinen sehr robust zu sein. Ich habe mich aber schuldig gemacht, dem Commodore-Markt einige hundert dieser Chips entzogen zu haben: Auf dem Catweasel MK3 habe ich diesen Chip eingesetzt, weil ich aus der Konkursmasse von Commodore Braunschweig eine ordentliche Stückzahl davon bekommen habe. Der Catweasel MK3 hat meinen kompletten Lagerbestand an den Teilen aufgefressen und ich habe sogar einige Controller ohne den Chip verkauft. Es ist zu befürchten, dass einige Leute ihren C64 oder C128 geschlachtet haben, damit sie einen SID auf ihrem Catweasel MK3 ans Laufen bekommen. Sowas kann ich natürlich überhaupt nicht befürworten, insofern beruhigt die Schaltung auch mein Sammlergewissen :smile:

    Weniger Stromverbrauch (ja/nein)?


    Das kann ich nicht sagen, ich habe Beides noch nicht gemessen. "Gefühlt" würde ich aber sagen, dass sich die zwei Alternativen nicht viel tun.

    Exakteres Timing (ja/nein)?


    Ja, auf jeden Fall exakter, weil durch einen Regelkreis stabilisiert. Der 8701 ist - wie Gerrit schon schrieb - mehr ein Hack. Das Datenblatt sagt ziemlich deutlich, dass ein Regelkreis nicht vorhanden ist.

    Temperaturstabiler (ja/nein)? Sonst noch was?


    Temperaturstabilität ist im Regelkreis inbegriffen, klar. Sollte der VCO aufgrund von Temperaturänderungen schneller oder langsamer schwingen, wird der Phasenkomparator das erkennen und die Steuerspannung entsprechend anpassen. Die VCO-Frequenz ist damit so stabil wie die Quarzfrequenz. Und die wirst Du mit normalen Mitteln nicht aus dem Tritt bringen. Du kannst auch einen Fehler forcieren, indem Du den nassen Finger auf die VCO-Schaltung legst: Die läuft dann total aus dem Ruder, das Bild des C64 fällt aus (monitor verliert Sync), und wenn Du den Finger wieder weg nimmst, regelt die Schaltung innerhalb von ein paar Millisekunden alles wieder gerade, und das Bild ist wieder da. Meistens ist die Kiste dann abgestürzt, aber "nasser Finger in Taktschaltung" ist auch keine übliche Betriebsbedingung :wink:

    Jens

    lässt sich damit auch die vertüddelte taktung in meiner brotkiste wieder hinbiegen? :)


    ach komm, der macht doch lustige Farben! Andere Leute werfen da teure Pillen für ein :wink:

    Scherz beiseite: Ja, Dein einer C64 hat einen ähnlichen Defekt wie meine Zwei, die hier als "Defekt" im Regal stehen. Bring' den am besten beim nächsten Mal mit, dann bauen wir da eine dieser Platinen ein. Damit dürfte das Board keinen Ärger mehr machen.

    Jens

    Ernsthaft?
    Da muss doch mal ein Ingenieur eine Lösung für finden können.


    Ich habe das Platinenlayout so gemacht, dass die SMD-Bauteile - speziell der Quarz - nach oben zeigen. Damit kann in keinem Computer das Metallgehäuse des Quarzes einen Kurzschluss machen. Der Nachteil dieser Konstruktion ist, dass die Stiftleisten auf der *anderen* Seite der Platine liegen.

    Natürlich gibt es Methoden, sowas letztlich doch wieder maschinell zu machen. Stichworte hier sind "Pin-in-paste" und Selektivlöten. Die beiden Methoden sind sogar geeignet, um bedrahtete Bauteile von beiden Seiten auf Platinen zu bringen, die ihrerseits schon beidseitig SMD-bestückt sind (also die maximale Komplikation).

    Es gibt also schon Methoden, das maschinell zu machen. Für die kleine Stückzahl die ich hier auflege, lohnt das aber nicht. Dafür ist auch die Position innerhalb des Nutzens nicht günstig. Auf dem Foto siehst Du die zwei großen Karten (das sind ACA1220/ACA1232 Platinen "A" und "B"), und in der Mitte liegt die CSG8701-Ersatzschaltung ("C"). Die müsste man heraustrennen und einzeln weiterbehandeln. Das ist schon deswegen unmöglich, weil nach dam Heraustrennen kein Rand mehr da ist, an dem man das kleine Plättchen überhaupt befestigen könnte.

    Natürlich kann man für fast alles ein Werkzeug bauen, aber das wäre echt mehr Aufwand als das Universalwerkzeug zu verwenden, was einige zehntausend Jahre evolutionäre Entwicklung hinter sich hat: Die menschliche Hand.

    Jens

    Respekt für deine Mühe und Arbeit !


    Danke :smile:

    Wo wird der Preis ca. liegen pro Stück ?


    Das steht noch nicht ganz fest. Mit dem Teil wird es ja möglich, Umrüst-Kits anzubieten, also Bundles aus VIC und diesem Teil, welche zusammen als Mod-Kit für PAL->NTSC oder umgekehrt gut sind. Ich habe aber selbst keine VIC-Chips hier, und die Preisgestaltung eines solchen Bundle ist demnach vollkommen außer meiner Kontrolle. Ich persönlich würde nicht mehr als 40,- EUR für so ein Mod-Kit ausgeben wollen.

    Das Teil selbst wird um die 20,- EUR liegen - da ist ein wenig Handarbeit dran (Stiftleisten können nicht maschinell montiert werden), aber der Rest ist maschinell machbar. Teile kosten nicht die Welt, lediglich der 17,7344MHz-Quarz ist etwas teurer, aber nicht so viel mehr als der 14,31818MHz (den gibts tonnenweise an jeder Ecke).

    Jens

    Keine KU, sondern ganz normale 250407 (zwei Stück, beide mit dem gleichen Fehler). Ich vermute, dass die Schaltung prinzipbedingt nicht stabil ist. Nicht umsonst hat Commodore sich die Mühe gemacht und einen eigenen Chip dafür entwickelt!

    Diese Woche ist echt vollgepackt mit Arbeit, da werde ich kaum dazu kommen, das Platinchen in einen dieser Rechner zu bauen. Ich meld' mich aber hier, sobald ich das versucht habe.

    Jens

    BTW: Konnte man die PAL/NTSC-Umschaltung nicht über den Jumper auf dem Mainboard erledigen?


    Das wollte ich nicht, denn der steht bei einem PAL/NTSC mod sicher anders, als man es will. Nicht jeder ist so schnell dabei wir Du, den Lötkolben anzuheizen! Ich wollte, dass es ganz ohne Löten und mit minimalem Werkzeug-Einsatz geht.

    Wo wir schon beim Takt sind. Nicht, das man das oft braucht, der MC4044P in der alten Schaltung scheint sehr haltbar zu sein... Aber gibts für den brauchbaren Ersatz? Muss kein 1:1 sein, Adapter wäre OK.


    In den alten C64 muss man dann löten, sorry. Dafür kann ich gern mal eine Anleitung machen, wenn die Dinger fertig sind. Ich habe mehr als einen C64, in dem der Takt nicht sauber ist, und deswegen die Farben nicht stimmen - da ist irgendwas mit der Einstellunge nicht in Ordnung, und es ist mir bisher nicht gelungen, das zu korrigieren. Die 64er stehen daher als "kaputt" in meinem Regal.

    Muss man die Schaltung nicht mehr per Trimmer abgleichen wie im Original?


    Nein, die Schaltung ist komplett syncron und schwingt sich allein ein. Die Schaltung aus dem ur-C64 ist nur vom PLL-Prinzip her gleich, aber die hat meiner Meinung nach Schwächen, weil die Zähler asyncron resettet werden. Meine Schaltung nutzt HC163-Zähler als Teiler, und die sind syncron. Der VCO hat auch nen recht engen Bereich, so dass der Computer sogar startet, wenn gar kein 17MHz Takt anliegt. Das Bild ist dann nicht zu sehen, aber es flackert, wenn der C64 durch den Ramtest ist :wink:

    Und die Gretchenfrage: Kann man damit den C64 übertakten? ;)


    In sehr engen Grenzen, ja. Du könntest die PAL-Version auf NTSC jumpern, aber mein Monitor macht das dann nicht mehr mit. Und die NTSC-Variante ist nur ca. 4% schneller. Lohnt also den Aufwand nicht.

    Jens

    Hallo,

    ich wollte es schon seit Jahren bauen, und jetzt habe ich's endlich gemacht: Ein Replacement für den Commodore-Taktgenerator CSG8701. Dabei habe ich die Schaltung aus dem ur-C64 zugrunde gelegt, also bewusst *nicht* die dreckige Erzeugung per Laufzeiten gewählt. So macht es nämlich der 8701, wenn man dem Datenblatt glauben kann.

    Meine Schaltung ersetzt dabei nicht nur den Chip, sondern auch den Quarz und den Oszillator. Will sagen: Wenn meine Schaltung im Computer sitzt, ist der Quarz auf dem Board funktionslos. Auf die Weise ist das Teil nicht nur gut für Reparaturzwecke (da würde er kaum gebraucht, denn der 8701 geht sehr selten kaputt), sondern auch für Umrüstungen von PAL nach NTSC und umgekehrt. Ein solches TV-standard modding geht dann ganz ohne Löten: VIC tauschen, 8701 ersetzen, fertig. Die zwei Chips sind in allen Computern gesockelt, die ich bisher gesehen habe.

    Und so funktioniert's:
    1.) Der Oszillator schwingt bei 17,7344MHz (PAL), dieser Takt wird durch 9 geteilt, so dass knapp 2MHz herauskommen. Die 17MHz werden direkt in den C64 gefüttert, die 2MHz werden in einen von zwei Inputs des Phasenkomparators gefüttert.

    2.) ein VCO schwingt auf einer einstellbaren Frequenz zwischen 7,5MHz und 8,5MHz. Diese Frequenz wird durch 4 geteilt, so dass ca. 2MHz herauskommen. Der VCO-Ausgang wird dem C64 als Pixelclock gefüttert, und der ca-2MHz-Ausgang wird in den zweiten Eingang des Phasenkomparators gefüttert.

    3.) der Phasenkomparator stellt die VCO-Geschwindigkeit so ein, dass die zwei 2MHz-Signale exakt überein stimmen. So stellt sich die VCO-Frequenz exakt bei 7,882MHz ein (genauer: 17,7344 /9*4 MHz = 7,881955556MHz). Der VIC generiert daraus den CPU-Takt, indem er durch 8 teilt - hier kommen die 0,985244444MHz heraus, die wir alle als "Taktfrequenz des C64" kennen (naja, die Meisten runden auf ca. 1MHz).

    Die Schaltung hat eine Bestückungsoption auf NTSC. Dabei wird der erste Teiler von 9 auf 7 verändert, es wird ein 14,31818MHz Quarz bestückt und der Rest bleibt gleich. In dem Fall beträgt der VCO-Takt (und damit der Pixeltakt) genau 14,31818/7*4MHz=8,181817143MHz. Der CPU-Takt beträgt dann genau 1,022727143MHz.

    Die Schaltung geht morgen schon in Serienproduktion. Ich habe die kleine Platine in der Lücke einer anderen, großen Produktion untergebracht, die ebenfalls morgen beginnt. In wenigen Wochen gibt's dann das Produkt bei den einschlägigen Händlern wie Retro-Donald und Vesalia.

    Jens