Hallo Besucher, der Thread wurde 136k mal aufgerufen und enthält 994 Antworten

letzter Beitrag von MiCv2 am

The Final Chesscard (Hardware)

  • Achja, ich habe mir die Hardware auf Lochraster aufgebaut und funktioniert ohne Probleme.


    Bedeutet das, Du hast einen Schaltplan der Karte? Den habe ich bis jetzt nämlich nicht gesehen und ein neues Layout macht sich natürlich viel einfacher wenn schon ein Schaltplan zur Verfügung steht.


    Ansonsten wäre der erste Schritt die Erfassung und Validierung des Schaltplans der Karte...



    Freak:


    Das wäre natürlich Königsklasse und dem Schachspiel angemessen


    Dann frage ich mal vorsichtig an, könntest Du das in SMD layouten und die Verbesserungen wie Knopfzelle etc. ergänzen? Evtl. passt es ja sogar in ein Standardmodulgehäuse.


    Sorry, aber ich habe im Augenblick soviele Projekte, dass ein weiteres Projekt keinem helfen würde. Ich würde für die "FCC Reloaded" sehr wenig Zeit aufbringen können und die anderen Projekte würden darunter auch leiden...


    Aber ich bin sehr gerne bereit Hilfestellung zu geben. Aber vorzugsweise in KiCAD. Eagle liegt bei mir nur noch tot auf der Festplatte rum... (da ich deren Politik verfolge, wundere ich mich aber nicht wirklich darüber...)


    Aber zum Leiterbahnen verfolgen der gut gescannten Platine, auf die weiter oben verlinkt wurde, dafür fehlt mir im Moment die Zeit.


    Ich frage mich auch, ob evtl. illegale Opcodes verwendet werden. Falls ja, wäre ein Tausch der CPU ein sehr großes Risiko. Dann kriegst Du die C64-Seite zum Laufen, der andere 6502-Teil rechnet dann aber falsch.


    Apropos CPU: Warum den 65816? Westen Digital hat einen 6502 im 44poligem QFP-Gehäuse (W65C02S6TQG-14). In der Hoffnung, dass die Anbindung an den C64 asynchron ist (wie gesagt, ich kenne den Schaltplan nicht), könnte man auch die Taktfrequenz von 5MHz auf 10MHz oder 12MHz erhöhen (sofern ROM und RAM es mitmachen) und damit die Leistung verdoppeln... :D


    Dazu zwei EProms von Atmel (AT27C256) im PLCC32-Gehäuse sollten die Schaltung schon fast ausreichend verkleinern.


    Dazu ein Quarz-Oszillator statt einem Quarz mit 74LS04-Inverter als Takterzeugung.


    Und die restlichen 74LS-Chips als SO14/SO16 drauf. Das sollte m.E. ausreichen.


    Kann aber sein, dass dann eine zweilagige Platine nicht mehr ausreicht und man auf vier Lagen ausweichen muss...



    Aber erstmal einen Schaltplan...


    Gruß,
    Thomas

  • Ich habe einfach die in dem Link von Enthusi abgebildeten Seiten der Platien passend scalliert und ausgedruckt. Auf Lochrasterplatiene fixiert und die Leiterbahnen mit Lackdraht nachgebildet.
    Das war es auch. Funktionierte auf Anhieb.


    PS: Dürfte Asynchron sein. Der 65c02 befindet sich in warteschleife, und fragt ständig einige zellen der zeropage ab.Die c64-Seite genauso

  • PS: Dürfte Asynchron sein. Der 65c02 befindet sich in warteschleife, und fragt ständig einige zellen der zeropage ab.Die c64-Seite genauso

    Und was sollte das bringen?


    Nur mal eben kurz draufgeschaut: Die Addressleitungen (A0-A7) vom Expansionslot gehen direkt auf das erste Eprom, welches dann die Steuersoftware auf dem C64 ausführt. Diese Addressleitungen gehen ansonsten nirgendwo mehr hin.


    Der Phi2-Takt wird auch nicht verwendet.


    So füllt man das C64-RAM nicht von aussen. (/DMA wird nicht verwendet)


    Daraus folgere ich, dass die Zeropage des C64 damit nichts zu tun hat. Die LS374 in der Mitte deuten vielmehr auf einen bidirektionalen Datenport hin, den der C64 über die I/O-Leitung beschreiben und auslesen kann.


    * I/O1 (DE00-DEFF) wird verwendet


    * I/O2 (DF00-DFFF) wird verwendet
    * /EXROM wird auf Low gezogen


    * /GAME wird auf Low gezogen


    Näheres wird der Schaltplan sagen...



    BTW: Die CPU auf der Karte wird ja auch schon um 25% übertaktet. --> "Ich habe schon übertaktet, bevor es cool wurde..." :P


    Gruß,
    Thomas

  • Und was sollte das bringen?
    Nur mal eben kurz draufgeschaut: Die Addressleitungen (A0-A7) vom Expansionslot gehen direkt auf das erste Eprom, welches dann die Steuersoftware auf dem C64 ausführt. Diese Addressleitungen gehen ansonsten nirgendwo mehr hin.


    Der Phi2-Takt wird auch nicht verwendet.


    So füllt man das C64-RAM nicht von aussen. (/DMA wird nicht verwendet)

    Ja, da hast du recht. Es wird auch $DF00 von der c64-seite beschieben und das ist nichts mit bankschalten zu tun.
    Schau dir mal die von enthusi gepostete seite an.



    65c02 code


    .C:8008 A5 05 LDA $05
    .C:800a F0 FC BEQ $8008
    .C:800c C9 0A CMP #$0A
    .C:800e D0 06 BNE $8016
    .C:8010 20 54 81 JSR $8154
    .C:8013 4C 08 80 JMP $8008
    .C:8016 C9 0B CMP #$0B
    .C:8018 F0 3C BEQ $8056
    .C:801a C9 14 CMP #$14
    .C:801c F0 77 BEQ $8095
    .C:801e A2 00 LDX #$00
    .C:8020 86 05 STX $05
    .C:8022 C9 0C CMP #$0C
    .C:8024 F0 45 BEQ $806B

  • Hi,
    nice to see the information from my blog has been / is of use :)


    Just a little heads up on the layout. The two 74LS374 are too close to each other, I had to grind down the sides of the sockets to get them to fit. If any sort of reproduction is made, more space between these two is preferable. (and if someone does a new layout I'd gladly take a copy of the gerber/eagle/etc file)



    Regards:
    Jani
    worldofjani.com

  • Und was sollte das bringen?

    Die Karte nutzt den NMI (aber: Wer sit Quelle?), möglicherweise läuft die ganze Kommunikation da drüber- und das Hauptprogramm holt sich die Werte aus der ZP ab. Ähnlich wie es die 1541 mit den Jobcodes macht.


    Bei den Latches (getriggert über die eine IO-Leitung, selektiert mittels R/W?) tippe ich auf zwei unidirektionale Register, man kann also nicht die geschriebenen Werte zurücklesen, sondern 'nur' die Meldung der anderen CPU.


    Speichermodell im C64 ist das 16K-ROM von $8000 bis $BFFF ohne BASIC, abschaltbar (die andere IO-Leitung?)


    Soweit mal ein paar flüchtige Beobachtungen; Layout nachverfolgen ist natürlich eine Fleißarbeit- auch wenn das meiste langweilige Busse sind, die man 'en bloc' erschlagen kann solange keien Kopierschutz-Scherze wie bei den 1541-Clonen vorkommen.

  • Hi,
    nice to see the information from my blog has been / is of use :)


    Just a little heads up on the layout. The two 74LS374 are too close to each other, I had to grind down the sides of the sockets to get them to fit. If any sort of reproduction is made, more space between these two is preferable. (and if someone does a new layout I'd gladly take a copy of the gerber/eagle/etc file)

    Thank you, I have these two components shielded with a tin box

  • Das ist die Programmsteuerung der C64 Seite.
    Es sind nicht alle $DF00 Adressen die
    im Code vorkommen.
    Vielleicht kann damit ja jemand etwas anfangen.


    -----------------------------
    bdae INX
    bdaf STX $0D
    bdb1 STX $DF00
    bdb4 CPX $0D
    bdb6 BEQ $BDB4
    ----------------------------
    bdec LDA #$00
    bdee STA $0E
    bdf0 STA $DF00
    bdf3 LDA $0E
    bdf5 BEQ $BDF3
    bdf7 RTS
    ---------------------------
    be75 STY $0E
    be77 STY $DF00
    be7a CPY $0E
    be7c BEQ $BE7A
    be7e LDA $0D
    be80 RTS
    -----------------------------
    becd LDA ($07),Y
    becf LDX #$00
    bed1 STX $0E
    bed3 STA $DF00
    bed6 INY
    bed7 BNE $BEDB
    bed9 INC $08
    bedb CPX $0E
    -----------------------------

  • Schau Dir die Interrupt-Routinen an- NMI liegt praktischerweise im Cartridge-Header direkt hinter dem Reset-Vektor, IRQ müßte der Code beim Einschalten setzen.


    Wo geht denn die NMI-Leitung auf dem Modul vom Expansion-Port hin?

    Der NMI geht auf Pin 8 des Flip-Flop SN74LS74AN
    Davor ist noch eine gewöhnliche Diode geschaltet

  • Klaus


    kannst du da mal bilder von deinem lochraster aufbau einstellen?
    habe auch so ein teil zuhause und habe damals mal die roms gedumped.

    Etwas früher und ich hätte die ein paar gute Fotos gemacht.
    Das Teil hole ich Mitwoch oder Donnerstag von meine Kollegen aus Winsen ab.
    Der hatte die Karte auch mal und wollte schauen, ob es sie auch nachgebaut bekommt
    und natürlich Schach spielen.


    http://blog.worldofjani.com/?p=3460


    Dort findest du 2 Scans, einen von oben und einen von unten.
    Dass was ich gemacht habe, ist jeweils einen Ausdruch von oben
    und einen von unten angefertigt. Diese habe ich auf die Lochrasterplatien geklebt.
    Zuerst die IC-Sockel, dann Wiederstände,Kondensatoren usw..
    Zum Schluss habe ich einfach die auf dem Druck sichtbaren Leiterbahn
    mit Lackdraht nachgebildet. Das war es eigendlich auch schon.

  • Wer hätte den Lust und Zeit das mal als neues SMD Modul zu layouten und was würde die Erstellung dessen denn so kosten? Es soll ja nicht "umsonst" sein. Ich habe gestern mit Fulgore telefoniert und wir würden die "Final Chesscard F64 Edition" dann auch vorlöten und dann falls einverstanden Bobbel um die Versandabwicklung bitten. Wo könnte man die Leiterplatte hochwertig fertigen lassen? Vergoldete Anschlüsse und Lötstopplack inklusive?


    Das "Endprodukt" soll in eine Standardmodulgehäuse passen und wird soweit vorgelötet das man nur noch die Chips reinstecken muss. Das muss jeder selbst machen, denn dann ist es rechtlich noch ein Bausatz.


    Hier kamen viel gute Vorschläge zur Verbesserung des Design und evtl. sogar Leistungsfähigere CPU.


    Könnten wir so ein Projekt gemeinsam hinbekommen?`


    Gruß und Danke
    Tom / Pentagon

  • Das Löten soll nicht das Problem sein. Alles, was wie das EF3 Modrl bis 0.5 Pitch hat ist leicht umsetzbar.
    Bei entsprechender Menge einen Stencil fertigen lassen und nach dem Bestücken ab in den Ofen. :D


    Die Schaltung müßte erst mal da sein zum " Bauteile- Tetris" spielen.
    Wenn das neue Layout einen Spannungsregler braucht, ist das der ideale Ansatz für einen Bausatz.
    Alles SMD vorgelötet und geprüft, aber ohne Löten nicht Funktionsfähig. :thumbsup:
    Wenn der Anfang gemacht ist, kann man auch was zum Preis sagen.

  • Also erstmal ein großes Dankeschön an Jani, der sich nämlich die ganze Arbeit gemacht hat und das Ding komplett gestrippt hat. Die Stückliste laut seinem Blog ist wirklich überschaubar.



    @Brotboxfan


    Danke schon einmal vorab für die Hinweise. Ein Spannungsregler ist nicht dabei, aber es reicht glaube ich aus wenn man die CPU und das SRAM in den Sockel drücken muss. Fertig ist der Bausatz. Wenn Jani @sailor uns erlaubt, dass wir seine Sourcen hier reposten und verwenden dürfen, dann kann man das Layout daraus erarbeiten. Er hatte weiter oben noch nützliche Tipps bezüglich der Anordnung beschrieben.
    Ich glaube das Ding lässt sich ultraklein anfertigen. Wenn man ein ganzes TC64 in so ein Modulgehäuse packen kann, dann locker auch eine Final Chesscard.


    Gruß
    Tom / Pentagon