The Final Chesscard (Hardware)

There are 1,005 replies in this Thread which has previously been viewed 214,778 times. The latest Post (February 11, 2026 at 6:36 PM) was by Josef01.

  • Stimmt schon. Wobei diese Settings dann aber auch jedesmal wieder weg wären, wenn der Rechner abgeschaltet wird, oder nicht?

    Nein, die kann man in der Ramdisk speichern - und die ist ja batteriegepuffert. Auch die Forum64 Edition. Klar, wenn die Batterie entfernt wird... :wink:

    10 GOTO Lesezeichen im Profil
    20 READ Lesezeichen im Profil
    30 PRINT Lesezeichen aus Profil
    40 POKE 198,0: WAIT 198,1

  • Stimmt schon. Wobei diese Settings dann aber auch jedesmal wieder weg wären, wenn der Rechner abgeschaltet wird, oder nicht?

    Nein, die kann man in der Ramdisk speichern - und die ist ja batteriegepuffert. Auch die Forum64 Edition. Klar, wenn die Batterie entfernt wird... :wink:

    Aaaaaaah okay. Weil das bei mir in der MAME Emulation jedesmal immer wieder weg war, was vorher in der RAM-Disk war, hatte ich nun befürchtet, dass dies auch bei der echten Hardware so sein könnte. Aber da ist das also batteriegestützt. Okay dann macht die RAM-Disk auf jedenfall Sinn. Aber eigentlich ja noch unverständlicher dann, warum sie in den neueren ROMS dann entfallen ist. Ich muss mal im MAME rumsuchen, vielleicht gibt es auch dort irgendwo eine Option, um den Inhalt der RAM-Disk fest abzuspeichern.

  • That's what i like with the old ROM's. You can save games on the ram disk, so when you take the cartridge you have you' re save games with you. Loading of ones preferred settings goes really quick.

    i stick with the old ROM, plays strong enough for me:-)

    aber man kann ja auch auf Diskette abspeichern alternativ, somit nicht wirklich schlimm.

    That is with the old roms not working for me. I use a sd2iec drive and i can save games to floppy, but i can't find them back... have you tested this?

    Maybe its my SD2IEC drive and does it only work with real floppies. But for now, that's why i stick with the old ROMS and the ram drive. That works great and loads super quick.

  • That's what i like with the old ROM's. You can save games on the ram disk, so when you take the cartridge you have you' re save games with you. Loading of ones preferred settings goes really quick.

    i stick with the old ROM, plays strong enough for me:-)

    Yes. Now when i heard, that the RAM Disk is battery powered (which i didn't knew cause i don't have a real Chesscard) it definately makes sense to have it. Even more strange then, that this feature was canceled in the newer ROMS.

    aber man kann ja auch auf Diskette abspeichern alternativ, somit nicht wirklich schlimm.

    That is with the old roms not working for me. I use a sd2iec drive and i can save games to floppy, but i can't find them back... have you tested this?

    Maybe its my SD2IEC drive and does it only work with real floppies. But for now, that's why i stick with the old ROMS and the ram drive. That works great and loads super quick.

    Sadly i can not test it on the real thing, cause i don't have a real Final Chesscard. In the MAME emulation of the chesscard, it works with the older ROMS to load for example the games from the Disk1.d64, which comes with the "Final Chesscard".

    Have you tried to load the pre-saved gam-files from these disk1.d64, or only with an own saved gam-file? I tried it some minutes ago with those pre-saved files and it shows me then all the .gam files, which were on these disk. Look here

    Please login to see this attachment.

    But it needs relative long until it has finished reading the disk and shows the files. About 20 to 30 seconds i would say. Have you waited a little bit, when you tried it with your SD2IEC?

    If yes and it don't worked anyway, i guess (but it's only a guess) that the SD2IEC could be the problem here? But to be sure in this, somebody which had a real Chesscard must test it, cause i don't know, how close the MAME emulation is to the real hardware here?


    Okay, jetzt war zwar die MAME Emulation auch wieder mit involviert in meiner Antwort und eigentlich ist der Emulations-Thread ja nun abgespaltet von diesem, aber ich denke, dieser Eintrag kann trotzdem hier in dem Thread stehenbleiben, dann es war ja eine Frage von einem der Hardware-Bastler, bei der ich den MAME dann zum Vergleich für die Antwort heranzog. Wie soll man es auch sonst machen?

  • If yes and it dont worked anyway, i guess (but its only a guess) that the SD2IEC could be the problem here.

    I tried it with an empty disk, and that works... so it is probably that my sd-card contained to many files... with an empty one it works..

    Does anybody have an opening book in obk format for this final chesscard?:-)

    anyway thanks again Freak for all you're efforts.. i really enjoy this cartridge!

  • If yes and it dont worked anyway, i guess (but its only a guess) that the SD2IEC could be the problem here.

    I tried it with an empty disk, and that works... so it is probably that my sd-card contained to many files... with an empty one it works..

    Your SD-Card had to many files? I think, you meant that this d64-file, which you had used before, contained to many files and not the SD-Card, right? Because how should the number of files on the SD-Card, should have an influence on the fact, if you can save into a d64 file or not?

    Does anybody have an opening book in obk format for this final chesscard?:-)

    You have a PM about this.

  • Oke, i finally figured it out. The card Freak designed works perfectly with the old brom 1.0 and crom 0.9 deutsch or english.

    The ram disk works, you can save you're preferences. Even permanently if you save them named as "BOOT". The chess card will then with each boot or reset load you're preferences automatically. It's perfect.

    But with the new roms (CROM 1.3(e) and BROM 1.5) or the one translated by sailor, the FCC64 card works only at 14Mhz (at 5, 7 and 10 the screen freezes) and there is no ram disk available. I don't know why it freezes with other speeds than 14 MHz.

    Personally i really love the ram disk option so i'm using the old ROMs and make use of the battery backupped memory.

    Just to let you guys know when you decide to build you're own card and want to select the ROM's to use.

  • Updated blogpost with information about emulation (MAME) , about the CPU speed when running Forum64 edition with latest ROMs and about the missing ramdisk in 1.3 / 1.3e.

    Thanks to you guys for the information.: thumbup:

  • But with the new roms (CROM 1.3(e) and BROM 1.5) or the one translated by sailor, the FCC64 card works only at 14Mhz (at 5, 7 and 10 the screen freezes) and there is no ram disk available. I don't know why it freezes with other speeds than 14 MHz.

    I may find some spare time during the following weekend to look into this issue. But it is hard to believe that the new ROMs do only work at 14 MHz, simply because CPUs with this speed were not widely available and surely haven't been used in the Final Chess Card in those days.

    Due to the absence of the RAM-Disk in the new ROMs I also thought that the new ROMs are not to be used with the FCC for the C64 but maybe with the ISA-Hardware for PCs. But we do have a new CROM that is used for Commodore-Hardware only... Very strange...

    I will keep you posted.

    Cheers,

    Thomas

  • Hallo,

    um das Nachbauen der FCC64 ein wenig zu erleichtern und das Hin- und Herschicken von aufgelöteten ATF1504-CPLDs zwecks Programmierung zu vermeiden, hatte mich vor ein paar Tagen OliverW. auf die Idee gebracht, das CPLD mittels des C64 zu programmieren.

    Das Ganze ist derzeit noch in der Konzeptphase (in meinem Kopf), aber es erscheint mir durchaus realisierbar. Alles was man zum Programmieren des CPLD bräuchte, bringt der C64 durch seinen Userport (oder Tapeport) bereits mit, so dass man nur eine kleine Adapterplatine zwischen Userport/Tapeport und dem 10-poligen Programmierstecker der FCC64 bräuchte. Da auf der Adapterplatine keine passiven oder aktiven Bauteile wären, sollte auch ein Adapter mittels einfachen Drähten funktionieren, wäre folglich aber nicht so stabil wie die Adapterplatine.

    Ich habe mich daraufhin mal auf der Homepage von bigby umgesehen. Er hat selbst schon mal die ATF1504-CPLDs mittels OpenOCD gelöscht und beschrieben. Als Basis dienen SVF-Files, die durch das ATMISP-Tool von Atmel erzeugt werden können.

    Demzufolge bräuchte ich für den C64 einen "SVF-Player", der die SVF-Files fürs "Löschen", "Prüfung Leer", "Programmieren" und "Überprüfung der Programmierung" nacheinander interpretiert und damit über den Userport/Tapeport per JTAG auf das ATF1504-CPLD der FCC64 zugreift.

    Ich werde mich wohl mal mit den (lesbaren) SVF-Files beschäftigen müssen...

    Das erste Problem, welches gelöst werden müsste, liegt in der Dateigröße der SVF-Files. Die durchschnittliche Größe einer SVF-Datei für das ATF1504-CPLD liegt bei ca. 50 kByte. Bei vier zu verarbeitenden SVF-Files hat man also ca. 200 kByte ASCII-Text. Viel zu viel für den kleinen C64. Man könnte zwar extern diese Dateien "tokenisieren" und damit deutlich verkleinern, allerdings fände ich einen Daten-Packer wesentlich einfacher zu handhaben. Dieser würde dann die vier Dateien packen und sie würden dann in den SVF-Player integriert werden, so dass am Ende ein One-Filer entsteht. Der Entpacker müsste dann im Idealfall die SVF-Datei zeilenweise entpacken, mindestens jedoch byteweise (um nicht die 50 kByte pro SVF-File komplett im C64-Speicher auspacken zu müssen).

    Dann wären auch gegebenenfalls CPLD-Updates ohne großen Mehraufwand für JTAG-Programmieradapter möglich und zwar generell nicht nur für die FCC64.

    Interessante Projektidee, wie ich finde...


    Gruß

    Thomas

  • Servus,

    als leidenschaftlicher aber schlechter Schach Spieler suche ich auch schon länger eine Chess Card und finde das Projekt extrem cool.
    Hab auch schon mit Tulan gesprochen, eventuell ist er so nett und macht mir den SMD Teil auf der Platine, ich hab die Augen eines Maulwurfs. 8o

    Damit es Lizenzrechtlich bezüglich der ROMs zu keinem Problem kommt, würde ich mir sogar eine "Final Chesscard" besorgen.

    Wenn ich irgendwo etwas beitragen kann, mach ich das gerne. :D
    LG
    znarF

  • Demzufolge bräuchte ich für den C64 einen "SVF-Player",

    Gabs schonmal: CPLD (u.a.) am C64 programmieren mit PlayXSVF

  • Gabs schonmal: CPLD (u.a.) am C64 programmieren mit PlayXSVF

    Leider außer dem Schaltplan absolut nichts zum Download da, auf dem man aufbauen könnte. Ich habe auch maximal ein SVF-File und das Erstellen eines XSVF-Files ist nicht möglich...

    Trotzdem Danke, kannte den Thread noch nicht.

    Gruß

    Thomas

  • Leider außer dem Schaltplan absolut nichts zum Download da, auf dem man aufbauen könnte.

    Ich weiss leider nicht, warum skoe den Code wieder aus dem Repo geworfen hat, aber es gibt noch den Tag PLAYXSVF-1.0.0 wo das Tool noch enthalten ist.

    Ich habe auch maximal ein SVF-File und das Erstellen eines XSVF-Files ist nicht möglich

    Konvertieren auch nicht?

  • Danke Unseen , da habe ich erstmal genügend Stoff, um mich in die Sache einzulesen.

    Gruß

    Thomas

    PS: In der Tat wäre eine Konvertierung von SVF nach XSVF möglich. Es gibt aber in einem der dortigen Repositories auch "easp", einen "Easy SVF Player", inklusive Source, den ich mir demnächst mal ansehen werde...

  • I will keep you posted.

    Looking forward to hear you're findings. I thought the same thing... maybe the roms aren't for de C64 cartridge.. Then i thought maybe it is a timing issue? but why the old roms work is beyond me...

    I hope you find something. If you want to test another cartridge, I have a spare The final Chess Cartridge. i can sent it to you.

  • Last weekend I did some in-depth review of the control logic of the FCC64 cartridge. After a couple of hours staring at the CUPL-File I found a few lines of logic equations where I thought that those lines were not correct and could cause issues. So I updated four logic equations in total and flashed the cartridge with the updated jedec-file that wincupl has generated...

    Success! :thumbsup:

    With the updated CPLD-Configuration the FCC64 cartridge is fully working with both romsets from 5 MHz up to 14 MHz! :D There is no more need for cranking up the clockspeed!

    Yesterday I sent the new CPLD configuration files to wybren1971 , asking him to test it on his FCC64. He confirmed that with the new CPLD configuration files his FCC64 is also working properly at 5 MHz with brom 1.5 and crom 1.3. Thank you wybren1971 for testing!

    Today I updated the CPLD configuration files in the github repository.


    But how to get your CPLD flashed with the updated configuration?

    In addition to flashing the CPLD with a JTAG-Adapter by you I propose two ways to get your CPLD updated. Due to the fact that I am currently reducing any contacts (personal as well as even by mail) I do not offer that you can send me your FCC64 for updating!

    Option A) I will attend the DoReCo-Party in September (if the spreading of the virus will be stopped in time...). I will bring all the equipment to update the CPLD.

    Option B) I started to write an updater for the CPLD as a program on the C64. This program will update the CPLD via the Userport. I will also design a very small pcb that I can send to you. The pcb will contain the 2 mm socket for the jtag-pinheader. You will only need to solder a userport-connector to this pcb. See this posting for details (in german language).

    But even option B will take some time...


    Cheers,

    Thomas

  • Option B) I started to write an updater for the CPLD as a program on the C64. This program will update the CPLD via the Userport. I will also design a very small pcb that I can send to you. The pcb will contain the 2 mm socket for the jtag-pinheader. You will only need to solder a userport-connector to this pcb. See this posting for details (in german language).

    But even option B will take some time...

    Diesmal wieder weiter in deutscher Sprache:

    Fertig!

    Ich habe in den vergangenen Wochen sowohl einen Userport-Adapter zum Programmieren der FCC64 fertiggestellt, als auch ein zugehöriges Update-Programm direkt für den C64 geschrieben.

    Damit ist es mit einfachsten Mitteln möglich, das CPLD auf der FCC64 direkt zu programmieren und damit PC-basierte Flash-Tools zu umgehen.

    Zur Hardware:

    Die Hardware hat dabei außer den beiden Steckbuchsen für die FCC64 und den Userport als einziges weiteres Bauteil einen einfachen Widerstand auf der Platinenunterseite. Der Adapter übernimmt zugleich auch die Stromversorgung der FCC64, so dass außer dem Adapter für ein Update nichts weiter notwendig ist.

    Please login to see this attachment.  Please login to see this attachment.


    Ich habe in den letzten Tagen zusammen mit OliverW. das Update getestet. Zuerst gab es leichte Probleme, die sich aber durch die Wahl geeigneter EProms lösen ließen. So hatte Oliver's FCC64 nach dem Update nicht mehr mit 14 MHz funktioniert. Meine Karte mit Eproms mit einer Zugriffszeit von 70 ns (Atmel AT27C256R-70PU) funktionierte jedoch tadellos. Ich denke bei einer Taktfrequenz von 14 MHz sind langsamere EProms ein Glücksspiel...

    Zur Software:

    Die Software ist ein knapp 9 kByte großer One-Filer, der einfach geladen wird und dann nach dem Starten ohne Rückfragen innerhalb von ca. 3 Minuten das CPLD neu programmiert.

    Please login to see this attachment.

    Wenn das Programm ohne Fehler durchläuft, dann beendet es sich mit einem grünen Rahmen. Sobald ein Fehler auftritt, beendet sich das Programm mit einem roten Rahmen.

    Please login to see this attachment.  Please login to see this attachment.

    Die Software realisiert dabei einen SVF-Player mit ein JTAG-Interface über den Userport. Das SVF-File befindet sich mit Exomizer gepackt innerhalb des Programms und braucht also nicht nachgeladen werden.

    Eigentlich sind in den 9 kByte drei SVF-Files enthalten, die das Update-Programm nacheinander abarbeitet:

    1) Erase,

    2) Blankcheck,

    3) Program&Verify.

    Insgesamt ca. 200 kByte ASCII-Text. Ich war überrascht, wie gut (bzw. klein) der Exomizer das packen konnte...

    Im angehängten D64-Image befinden sich der Vollständigkeit halber Update-Programme sowohl für die neue Version 2.0 als auch für die inzwischen veraltete Version 1.0.


    Ich habe inzwischen ein paar Adapter hier rumliegen, ein paar weitere Platinen sind derzeit aus China im Zulauf. Wer für das Update nicht bis zur DoReCo-Party warten will oder vielleicht gar nicht kommt (wegen Covid-19 oder anderer Gründe), dem kann ich gerne einen Adapter per Post zuschicken. Dann könnt ihr das Update selbst zeitnah auf eigenes Risiko durchführen. Sofern ihr selbst Userport-Buchsen habt und diese anlöten könnt, würde ich dann jedoch gerne als Vorschlag die Adapter-Platinen ohne Userport-Buchse abgeben. Die Userport-Buchsen werden nämlich langsam knapp bei mir. Teilt mir in der PN also mit, ob ihr den Adapter komplett oder ohne Userport-Buchse möchtet. Wenn ihr etwas für das Porto spenden wollt, dann erwähnt dies bitte ebenfalls in der PN, dann gibt es meine Paypal-Adresse. Porto-Spenden sind allerdings kein "muss", ich frage auch nicht nach...

    Und nochmal, da ich es als sehr wichtig ansehe: Denkt bitte beim Update auf die neue ROM-Version der FCC64 wie oben im Text erwähnt an die Geschwindigkeit der EProms. Relevant ist dies zwar nur für das 6502-Subsystem, also "ROM: FCC", U5. Das EProm für die C64-Seite, also "ROM: C64", U1, könnte ruhig langsamer sein, da der C64 eh nur mit 1 MHz auf dieses EProm zugreift. Zu langsame Eproms auf der U5-Seite äußern sich dann in weißen Streifen im Rand. Dann läuft die FCC64 mit 5 MHz und 7 MHz noch stabil, aber vielleicht ab 10 MHz oder auf 14 MHz nicht mehr...


    Gruß

    Thomas

    Please login to see this attachment.