CP/M für C64

Es gibt 295 Antworten in diesem Thema, welches 80.973 mal aufgerufen wurde. Der letzte Beitrag (24. Dezember 2021 um 01:35) ist von Ruudi.

  • So...jetzt kann beim Schaltplan nicht mehr allzuviel fehlen. Muss das nochmal systematisch Checken.

    Die grösste Lötbrücke im Eagle ist wohl immer noch zu klein. Muss man ggf noch ein neues Bauteil erstellen.

  • So...jetzt kann beim Schaltplan nicht mehr allzuviel fehlen.

    Da sind noch eine ganze Menge Gatter mit offenen Eingängen sowie offene Eingänge an einigen Chips - aber das sollte hoffentlich der ERC anzeigen.

    Zitat

    Die grösste Lötbrücke im Eagle ist wohl immer noch zu klein. Muss man ggf noch ein neues Bauteil erstellen.

    Hast du das Layout schon fast fertig oder woher stammt die Vermutung? Statt Bauteilen für lange Lötbrücken kann auch ein zusätzlicher Kupfer-Layer sinnvoll sein, dann ist man auch mit der Länge und Form flexibler und der DRC sieht definitiv nur ein durchverbundenes Netz - damit die Vias auf der fertigen Platine bestückbar sind kann man an den Enden zB irgendwelche 1-Pin-Testpads mit ausreichend grossem Durchmesser vorsehen.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Die Platine hab ich ja noch nicht angefangen. Aber in der Beschreibung zu der Schaltung steht, dass es wohl ne dicke Lötbrücke sein soll.

    Die offenen Gatter in der Schaltung schau ich mir noch mal an. Danke für den Tipp!

  • ...Statt Bauteilen für lange Lötbrücken kann auch ein zusätzlicher Kupfer-Layer sinnvoll sein, dann ist man auch mit der Länge und Form flexibler und der DRC sieht definitiv nur ein durchverbundenes Netz - damit die Vias auf der fertigen Platine bestückbar sind kann man an den Enden zB irgendwelche 1-Pin-Testpads mit ausreichend grossem Durchmesser vorsehen.

    Die Lötbrücke soll unterbrochen werden, wenn die Steckkarte eine eigene Stromversorgung erhält. Ansonsten bekommt die Karte über die Lötbrücke den Strom vom C64. Was mit Jumper oder Schalter + Strombuchse wäre sicher eleganter.

    Wissen ist das einzige Gut, das sich beim Teilen vermehrt. Also seid vorsichtig damit!

  • Die Lötbrücke soll unterbrochen werden, wenn die Steckkarte eine eigene Stromversorgung erhält. Ansonsten bekommt die Karte über die Lötbrücke den Strom vom C64. Was mit Jumper oder Schalter + Strombuchse wäre sicher eleganter.

    Es dürfte (fast) alle Chips auf der Karte auch als CMOS-Version geben, damit kann man sich den Aufwand evtl. sparen?

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • So hatte ich mir das gedacht. Aber dann sind ja im Original noch v24, ieee488 und die Graka dazugekommen. Und das war wohl zuviel für den armen c64. Mal sehen, was davon noch beim Nachbau über bleibt.

  • 6522 = W65C22N
    6551 = G65SC51
    6526 = 8521
    Z80. = Z80H

    6845 gibt es nicht solo als CMOS. 75160/161 auch nicht.
    Für die TTLs evtl. HCT, aber mit Sockel.

  • Danke für den Tipp mit dem ERC, Unseen! Hab da mal noch so einige Fehler entfernt. Dafür sieht der Plan nun teilweise bisserl besch... aus, weil ich das implizite Verbinden von VCC und GND nicht hinbekommen hab. Also hab ich da im Plan halt +5V und GND explizit angeschlossen, was dann bisserl unübersichtlich aussieht.

  • Dafür sieht der Plan nun teilweise bisserl besch... aus,

    Schieb die Versorgungspins der IC's neben die ICs, dann wird's schon übersichtlicher und Du hast noch Platz für die noch fehlenden Abblockkondensatoren.

    Bitte melde dich an, um diesen Anhang zu sehen.


    PS: Durch Zufall gefunden: DOT_CLK hängt hinter L1 auf GND!

    AC/64 - C64 Umbau auf 9V Wechselspannung: Bitte melde dich an, um diesen Link zu sehen.
    Jocopod - Joystick to Controlport Dongle: Bitte melde dich an, um diesen Link zu sehen.

  • Sockel mit Kondensatoren

    Würd' ich nur nehmen, wenn es platzmäßig nicht anders geht. Also besser die Kondensatoren auf der Platine vorsehen, weglassen und Sockel mit integriertem C bestücken kann man dann immer noch.
    Aber OK, wenn, dann würde ich das im Schaltplan vermerken.

    AC/64 - C64 Umbau auf 9V Wechselspannung: Bitte melde dich an, um diesen Link zu sehen.
    Jocopod - Joystick to Controlport Dongle: Bitte melde dich an, um diesen Link zu sehen.

  • Danke für den Tipp, lvr! Aber für nen Newbie, wie mich, sieht es echt seltsam aus, wenn die Stromversorgungs Pins keine Verbindung zu dem ICs haben, zu dem sie gehören? Am liebsten würd ich sie wieder unsichtbar machen, aber das hab ich noch nicht hinbekommen, nachdem ich sie verbunden hab.

  • Unsichtbar würd ich die Versorgungspins nicht machen. Die gehören zur Schaltung dazu und sollten im Schaltplan dargestellt werden, damit es eindeutig ist. Sonst muss man als Leser ja raten, wo die Pins angeschlossen sein sollen. OK, wenn alles nur mit 5V läuft, gibt es nicht so viele Möglichkeiten, aber eindeutig wird es, wenn man es einfach hinzeichnet.
    Die Versorungspins separat zu zeichnen ist durchaus üblich. Entweder jeweils in die Nähe des zugehörigen ICs oder irgendwo am Zeichnungsrand, wo es nicht stört.

    Wenn es Dir nicht gefällt, kannst Du Dir natürlich auch eigene Symbole machen, in denen die Versorgungspins ganz normal im Symbol enthalten sind.

    AC/64 - C64 Umbau auf 9V Wechselspannung: Bitte melde dich an, um diesen Link zu sehen.
    Jocopod - Joystick to Controlport Dongle: Bitte melde dich an, um diesen Link zu sehen.

  • Ich bin ja eben für dieses Projekt auf Eagle umgestiegen und lerne es gerade. Deshalb geht es doch so zäh! Vorher hab ich Kicad benutzt, aber dafür fehlen jede Menge Bauteile, so dass man sich die erst selbst erstellen muss. Das hält aber extrem auf. Bei Eagle gibt es zumindest die allermeisten verwendeten Teile. Den Modulanschluss wird man halt noch erstellen müssen, aber das Editieren geht in Eagle recht gut, wenn man erstmal weiss, wie es geht.


    Ich glaube, Du bist einer der ganz ganz wenigen, die von KiCAD zu EAGLE wechseln. Die Mehrheit geht doch in die andere Richtung...

    So, hab noch ne Lib mit c64 Anschlüssen gestartet und den Expansionport erstellt. Ich hab die Padgrösse mit der Schieblehre von Gartenzwerg's Lochrasterplatine für den Expansionport genommen (so 1,8x9mm). Muss man im Layout noch mal schauen, ob das so passt, weil da die Platine wohl noch 1mm überstehen muss.

    So. Neue Lib erzeugt, wo die fehlenden Teile reinkommen. 74ls197 als Zähler für die Waitstates vom z80 ist schon drin. Schaltung für das Zählen der Takte angefangen.


    Jetzt hast Du doch in EAGLE Dir Bauteile selbst erstellen müssen. Das ist auch der Normalfall, dass nicht alles verfügbar ist. Erst recht bei EAGLE, wo Schaltsymbol mit Footprint zusammen gespeichert wird.

    Ein Schaltsymbol zu erstellen, dauert m.E. in beiden Programmen ungefähr gleich lang. Den Vorteil spielt KiCAD später beim Routen aus.

    Ich weiss wovon ich rede, habe vor 20 Jahren mit EAGLE begonnen (zu DOS-Zeiten) und damit auch vierlagige Designs gemacht. Letztes Jahr dann der Wechsel zu KiCAD und das Routen der Leiterbahnen macht wieder Spaß! Der Push&Shove-Router bei KiCAD ist einfach genial. Was man damit an Zeit sparen kann, z.B. beim Verschieben von Datenbussen ist wirklich bemerkenswert...

    So...jetzt kann beim Schaltplan nicht mehr allzuviel fehlen. Muss das nochmal systematisch Checken.


    Habe gerade Deinen Schaltplan offen. Wenn ich Dir ein paar Tipps geben darf:

    1) An Deinen Daten-/Adressbussen solltest Du an jede Leitung ranschreiben, was da rauskommt. Dafür gibt/gab es den Befehl "Label":

    Bitte melde dich an, um diesen Anhang zu sehen.


    2) Da, wo Leitungen quer über den Schaltplan gehen, solltest Du vermehrt mit Labels arbeiten. Z.B. bei der Reset-Leitung. Den Ferrit und den C würde ich noch an den Expansionsport zeichnen und danach ein Label setzen und die Leitung "intRES" nennen. Dann an den Zielen einfach wieder ein Label mit einer Leitung, die den gleichen Namen bekommt. So vermeidest Du einen Spaghetti-Look des Schaltplans. Früher waren die Symbole dafür in den Library "Frames". Ich glaube aber, die Funktion ist inzwischen direkt in Eagle aufrufbar (weiss ich nicht genau...).


    3) Deine Ferrite BLM15HB221SN1: Du verwendest die 0402-Bauform? Ist das nicht etwas klein? Woher hat Du die elektrische Dimensionierung?

    Gruß,
    Thomas

    Meine Projekte:
    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.

  • Ok, dann versuch ich mal alles zu beantworten. Falls was fehlt, hab ich das vergessen/übersehen. Einfach nochmal kurz stuppen, dann sag ich was dazu.

    Zu Eagle/Kicad: ich hab 1 kleines Projekt mit Kicad gemacht. Ja, es ist nicht schlecht, aber es ging mir einfach um die Menge der fehlenden Teile. Die schien mir bei Eagle doch wesentlich geringer zu sein. Und bei Kicad stören mich so einige Nicklichkeiten. Warum z.B. ist es Default, dass wenn ein Bauteil mit der Maus bewegt wird, die Verbindungen verloren gehen? Ja ich weiss ja, dass es diesen Grab-Befehl gibt, aber warum muss ich das explizit angeben, dass die Verbindungen nicht weg sollen? Das geht mir z.B. auf den Keks.

    Die Ferrit-Perle ist in der Beschreibung 3mm gross. Muss ich im Schaltplan noch ändern, wie so einiges. Das wird z.B. erst auffallen, wenn die Platine dann gemacht wird. Im Eagle find ich so manche Dinge nicht so beim 1. Versuch. Auch z.B. Widerstandsgrössen, Kondensatorgrössen usw. Aber vermutlich hab ich da einfach zu wenig Ahnung.

    Das mit der Masse und dem DotClk stimmt natürlich. Hab ich aus Versehen den Kondi überbrückt und es hinterher nicht gesehen. Danke für den Hinweis!

    Das Gal 16v8 macht mir gerade etwas Kummer. Wenn ich das recht sehe, kann ich /OE einfach auf Masse legen, und den Ausgang immer einschalten? Spricht doch nix dagegen, weil den z80 die Adressen ja eh nur interessieren, wenn er einen Befehl ausführt. Aber der Takt macht mir Probleme.
    Wenn ich das recht verstehe, dann ist die Adresse doch bei phi0 gültig, und nicht bei phi2? Diesen Takt sehe ich aber nicht am Expansionport? Ob man alternativ die dot_clk nehmen könnte? Das GAL kann ja 100Mhz, und 6ns nach dem Takt sollen die Daten am Ausgang sein. Muss mal noch schauen, wann der z80 seine Daten erwartet.

    So...jetzt mal wieder weiter basteln und schauen, dass ich viele eurer Tipps mal umsetze.

    Vielen Dank nochmal dafür!

  • Das mit der Masse und dem DotClk stimmt natürlich. Hab ich aus Versehen den Kondi überbrückt und es hinterher nicht gesehen. Danke für den Hinweis!

    Wo wir gerade bei Hinweisen sind: Der Z80 und einige weitere Bauteile bekommen im letzten angehängten Schaltplan IMHO auch keinen Takt.

    Zitat

    Das Gal 16v8 macht mir gerade etwas Kummer. Wenn ich das recht sehe, kann ich /OE einfach auf Masse legen, und den Ausgang immer einschalten?

    Ja

    Zitat

    Wenn ich das recht verstehe, dann ist die Adresse doch bei phi0 gültig, und nicht bei phi2? Diesen Takt sehe ich aber nicht am Expansionport? Ob man alternativ die dot_clk nehmen könnte? Das GAL kann ja 100Mhz, und 6ns nach dem Takt sollen die Daten am Ausgang sein.

    Das klingt so, als ob du das GAL mit einem Takt füttern willst - das ist aber nur nötig, wenn der Inhalt des GALs auch einen Takt verwenden will. So wie ich das ganze bislang mitbekommen habe, soll das GAL hier aber lediglich ein PROM ersetzen, welches die Adressen umrechnet, dazu braucht man keinen Takt.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Unseen: Danke für Tipps!

    Das mit dem Takt am z80 stimmt natürlich. Gefixed.

    Also setz ich am GAL CLK auch einfach mal auf GND und hoffe, dass die Adresse lang genug am z80 ansteht, damit der was damit anfangen kann.

  • Hab jetzt mal die Stromversorgung bei einigen ICs neben das Symbol gesetzt. Bei den ICs rechts, welche passende Pins hatten, hab ich das gelassen.
    GAL Pins gefixed.
    dot_clk gefixed.