Hallo Besucher, der Thread wurde 14k mal aufgerufen und enthält 79 Antworten

letzter Beitrag von tokablnC64 am

Nachbau des CP/M-Moduls für den C64 aus der c’t

  • Hallo allerseits,


    neben meinem SRAM Projekt habe ich vor über einem Jahr mit Asklias Hilfe angefangen das CP/M-Modul aus der c’t 12/87 S.206 nach zu bauen.


    Hier die erste Version meiner Z80-Karte (V0.1), welche nur den Z80-Teil beinhaltet. Für mich war es mein erstes größeres Projekt und ich habe auch mein Lehrgeld gezahlt mit der Beseitigung meiner eigenen gemachten Fehler. Die Karte hatte zum Beginn noch einige Fehler, teilweise selbst verschuldet und dem Fehler behafteten Schaltplan.. Aber letztendlich habe ich diese doch noch zum Laufen gebracht. Entgegen der ursprünglichen Z80-Karte von Asklia, lief diese nur mit den neuen Boards ’469. Mit den älteren ist die Karte beim Booten leider hängen geblieben (getestet: ’407, ’425 und ’466).




    Da mir das PROM für die Platine gefehlt hat und weder mein Batronix noch Asklias Conitec Brenner zu der Zeit ein 24S10 PROM brennen konnte, habe ich mit Hilfe von KV-Diagramme mir die Gleichungen die verschiedenen Adress-Leitungen erstellt und auf das GAL geschrieben. Nebenbei hat das GAL noch ein ODER-Gatter ersetzt.

  • Neben meinen eigenen gemachten Fehlern gibt es leider im abgedruckten Schaltplan der c’t einige Fehler. Mal stimmt die Pin-Nummerierungen nicht (zB IC 13 ist im Schaltplan und Realität ein 74LS573, aber die Pin-Nummerierung entspricht dem 74LS373). Beim IC8 zB. 74LS197 gibt es Pin 4, wie auch QD und QC gleich doppelt. Asklia hat dann beim Original nachgesehen und mich dadurch tatkräftig unterstützt.


    Die fertige Platine lief nach dem Ausmerzen der Fehler nicht. Daher hat mir Asklia eine Kopie der originalen Belichtungsmasken der Platine zukommen lassen. Diese habe ich eingescannt und mit CorelDraw auf die richtige Größe skaliert und zusammengefügt. Zum Glück sind bei dieser Platine alle Bohrlöcher in einem 2.54mm-Raster, welches ich einfach in CorelDraw passend angelegt habe. Anschließend habe ich alle Leiterbahnen der originale Platine in Corel nachgezogen und mit dem Schaltplan verglichen. Das war zwar recht Zeitaufwendig, aber so habe ich jetzt eine vollständige Kopie des Originals mit den verschiedenen Ebenen, die ich immer wieder mit dem originalen Belichtungsmasken vergleichen konnte. So konnte ich noch weitere gravierende Fehler im Schaltplan entdecken und auf meiner ersten Platine ausmerzen.


    Hier noch ein Bild der originalen Belichtungsmaske (links) für die Z80-Platine mit Bauteilen und daneben noch ein Bild (rechts) mit den von mir nachgezogenen Leiterbahnen. Alles nötige habe ich eigene Ebenen angelegt (jeweils orig. und neu: TOP-Layer, BOTTOM-Layer, Bauteile, ICs, Zuschnitt und Bohrlöcher), so konnte ich leicht diese bei Bedarf ausblenden oder einblenden. (Die Bilder sind nur Auschnitte aus CorelDraw.)


    Wie schon zuvor berichtet läuft die Z80-Platine erstaunlicherweise nur auf den neuen Boards. Aber ich war mir nun sicher, dass der Schaltplan jetzt richtig ist.

  • Tolle Sache...


    und falls es zu einer finalen Produktion kommen sollte, hätte ich Interesse an einer Platine ohne Bauteile aber gerne mit korrigiertem Schaltbild.

    Lieben Gruß, Torsten


    Meine Spielzeuge
    BFZ MFA, Apple //e, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, Jupiter ACE Clone, Amstrad NC100, Cambridge Z88, C64, C128D, Plus/4, Amiga 500, Amiga 1200, Atari Portfolio, HP200LX, HP48SX, HP48GX, Accura 101, IBM PC 5155, PS/2 (Model 40SX), TP755c, T20, T41, T61, PS/2E, TI-59,

    Einmal editiert, zuletzt von androSID () aus folgendem Grund: Falsche Schreibweise...

  • [...] hätte ich Interesse an einer Platine ohne Bauteile aber gerne mit korrigiertem Schaltbild.

    Um Missverständnisse vorzubeugen: Die Z80-Platine von Asklia ist fehlerfrei und läuft astrein. Nur das in der c’t abgedruckte Schaltbild ist fehlerhaft. Eine Platine die nach dem abgedruckten Schaltplan aus dem Heft gefertigt wurde, wird einfach nicht laufen.


    Den ganzen Aufwand habe ich betrieben um den abgedruckten Schaltplan mit der echten und funktionsfähigen Platine abzugleichen. Das war auch der Grund warum meine Z80-Platine nicht funktionierte, obwohl ich meine gemachten Fehler ausgemerzt hatte.

  • Das habe ich schon so verstanden... daher war ja mein Begehr, denn korregierten Schaltplan ebenfalls zu erhalten.


    Ich hatte da ähnliche Erfahrungen beim direkten Nachbau der IEEE Platine der c`t. Auch hier gab/gibt es Fehler im original Stromlaufplan. Asklia hatte das auch bestätigt, wenn ich mich noch recht erinner.

    Lieben Gruß, Torsten


    Meine Spielzeuge
    BFZ MFA, Apple //e, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, Jupiter ACE Clone, Amstrad NC100, Cambridge Z88, C64, C128D, Plus/4, Amiga 500, Amiga 1200, Atari Portfolio, HP200LX, HP48SX, HP48GX, Accura 101, IBM PC 5155, PS/2 (Model 40SX), TP755c, T20, T41, T61, PS/2E, TI-59,

  • Das ist echt beeindruckend. Ich muss unbedingt mal die entsprechende C't raussuchen. Ist diese Karte dann eigentlich ähnlich wie das Z80-Steckmodul von Commodore? Oder gar baugleich?

    Die originalen Z80-Platine, welche in der c’t abgedruckt ist, kann deutlich mehr als die von Commodore.

    1. sie hat 52k Speicher für CP/M (statt 44k bzw. 48k)
    2. ist schneller als ein C128 (8MHz mit Waitstates, 1,88 fach schneller als die CP/M von C=)
    3. hat IEEE488 und RS232 onboard
    4. BIOS ist vorbereitet mit der 80 Zeichenkarte EX80+ von Jann Datentechnik zusammen zu arbeiten
  • Also mal generell - CP/M im 40-Zeichenmodus? Da läuft doch so gut wie keine Standard-Software. Nur die Kommandozeilen-Tools.

    Das heisst, man braucht auch noch eine 80-Zeichenkarte. Das ist dann aber ein ganz schöner Hardwareaufwand gegenüber einem kleine Z80-CP/M-Rechner, an den man einfach ein 80-Zeichenterminal oder einen PC als Terminal anschließen kann.


    Mir erschließt sich der Nutzen noch nicht, dass man das mit dem C64 kombiniert. Welchen Vorteil hat das?

  • Warum hast kein etwas grösseres GAL genommen? Da kann man doch noch mehr Bauteile auf der Platine einsparen?

    Zuerst konnte ich noch keine GALs programmieren (habe ich mir extra für diese Karte angeeignet) und zweitens hat das ODER-Gatter nur durch einen Fehler meinerseits gefehlt.


    Höchste Priorität hatte der 1:1 Nachbau und was danach kommt kann man ja noch sehen. Wir sind mit der Platine auch noch nicht fertig;)

  • "Also mal generell - CP/M im 40-Zeichenmodus? ..."


    Im Originalprojekt wurde damals ja auch eine 80Zeichenkarte von Jann Datentechnik verwendet. Damit liefen die CP/M Programme einwandfrei. Wordstar liess sich sogar "memory mapped" für eine höhere Bildschirmgeschwindigkeit patchen bzw einstellen. Die Artikel sind übrigens allesamt - mit Genehmigung der ct - hier in der Wolke. Nachbau und Nachdruck - mit Quellenangabe - sind legal und genehmigt.


    Die alte 80 Zeichenkarte funktioniert übrigens bestens mit dem Pollin 5.6" Display am Composite Video Eingang, während der 40 Zeichen Ausgang des C64 dem S-Video Eingang zugeführt werden kann. Also ist alles auch "SX tauglich". Erste Bildschrimfotos gab es ja bereits vor Jahren mal hier von mir. Der SX Umbau auf das 5.6" Display ist nur der erste Schritt...


    Ich kann mir also gut vorstellen, dass Knusis da irgendwann noch eine Überaschung für uns alle hat ;-)

  • Nach den nun gewonnenen Erkenntnissen habe ich eine weitere Z80-Platine entworfen. Dieses Mal mit RS232 und IEEE488. Der IEEE488-Teil wurde aber abgewandelt und auf 6522-Basis aufgebaut. Asklia und ich sind der Meinung, dass der 6526 viel zu wertvoll ist und nicht für eine Schnittstelle „verschwendet“ werden sollte.


    Hier noch ein Vergleich der ersten Z80 V0.1 mit der zukünftigen Z80 V0.9 und noch einen Größenvergleich zur originalen Platine von Asklia zusammen mit einem PLCC44-Sockel.


    Für diese zweite Platine habe ich Z80 und 6522 in der PLCC44 Version verwendet um Platz zu sparen.

  • Die zweite Version der Z80-Platine ist fertig verlötet. Und in der Zwischenzeit habe ich auch ein korrekt beschriebenes PROM von Asklia erhalten. Den RS232-Teil ist unvollständig und wird später getestet.


    Da die Z80-Platine im c’t-Artikel als etwas wählerisch beschrieben wurde, habe ich diese zuerst mit einer ASSY 250 407 und einem VIC II R3 getestet. Dabei habe ich ein Standard CP/M 2.2 verwendet.


    Die Platine habe ich noch auf einer ASSY 250 425, mit einer ASSY 250 469 und einem SX64 getestet. Auch mit dem CP/M 2.2 von Asklia mit 52k freiem Speicher läuft die Z80 ohne Probleme. Probeweise haben ich einen R5 VIC II in den SX64 gesteckt und auch dort läuft die Platine ohne Probleme.



    Von der einer wählerischen Z80-Platine keine Spur :D (*)



    (*) Gut mit einer U64 läuft die Z80-Platine nicht... (**)

    (**) Sollte noch in der Rubrik „das läuft noch nicht“ nachgetragen werden...