[Kerberos] C64 MIDI Interface mit Flash und PC-Dateitransfermöglichkeit

Es gibt 488 Antworten in diesem Thema, welches 89.543 mal aufgerufen wurde. Der letzte Beitrag (14. Februar 2025 um 19:37) ist von _Joey_.

  • Ich habe den C64 von Nobody bekommen, sieht schon interessant aus mit all den Erweiterungen:

    Bitte melde dich an, um diesen Anhang zu sehen.

    Aber im Prinzip nichts kritisches, was den Betrieb von Kerberos verhindern würde. Habe also erstmal ein Testprogramm geschrieben, was den Flash-ID Test 100 mal durchlaufen lässt und zählt, wie oft der erfolgreich war. Lag bie Nobody's C64 so bei 70-90. Also erstmal meinen Logic Analyzer per Port Extender mit drangehangen und versucht das Problem zu analysieren. Hier ein Archivfoto während der Entwicklung mit meinem C128 wie das dann aussieht:

    Bitte melde dich an, um diesen Anhang zu sehen.

    Blöderweise lief mit Port Extender und Logic Analyzer der Flash-ID Test mit 100 immer durch. Sowas kenne ich als Bitte melde dich an, um diesen Link zu sehen. von der Softwareentwicklung :) Vermutlich durch die höheren Kapazitäten auf den Signalleitungen ändert sich das Timing etwas und das Problem verschwindet dann. Also Kältespray herausgeholt und mal den CPLD auf dem Kerberos Interface gekühlt und siehe da, das Problem trat wieder auf, da man durch Kälte/Hitze die Signallaufzeiten auch ändern kann. So konnte ich dann mit dem Logic Analyzer sehen, wo das Problem war. So muß der Flash-Schreibzugriff aussehen:

    Bitte melde dich an, um diesen Anhang zu sehen.

    Wie gut zu sehen, gibt es einen schönen 80 ns Low Impuls für die flash cs Leitung, wenn auf die Adresse $8aaa schreibend zugegriffen wird, was ein Teil der Kommandosequenz ist, um die ID abzufragen. Aber manchmal gab es kein Low Impuls, hier beim Schreibzugriff auf $8555:

    Bitte melde dich an, um diesen Anhang zu sehen.

    Problem war, daß ich wegen Glitches auf der ROML-Leitung diese (und die ROMH und IO1/2) gefiltert hatte und durch zusätzliche Logik für den C128 der Samplezeitpunkt noch weiter vorne lag. Bei dem C64 von nobody war das zu weit vorn, da war die Leitung noch nicht low. Ich habe das im CPLD Programm geändert (für alle vier Leitungen) und jetzt funktioniert es stabil.

    Werde das noch an meinen C128 testen und anderen C64 die hier herumstehen und dann als neue Version in Github committen. Sollte also jemand ähnliche Probleme haben (Flash Write Error usw.), dann melden, ich schicke dann ein neu programmiertes Kerberos Cartridge zum Austausch. Oder wer ein Xilinx Platform Cable, Bus Pirate o.ä. hat kann es auch selbst neu per JTAG programmieren. Die JTAG Anschlüsse sind links auf der Platine beschriftet.

  • das ging ja fix, super! am ehesten werden die Probleme aber wohl bei dieser assembly auftreten? ich habe auch noch so ein board rumfliegen, werde das beizeiten mal ansehen.

  • Wäre möglich, daß das bei der Assembly öfters auftritt. Ich habe hier auch ein C64C, da tritt es nicht auf. Muß ich mal aufmachen und schauen, was für eine Boardversion das ist.

  • Ok, geschaut. War sogar noch das Garantiesiegel drauf, jetzt kann ich ihn nicht mehr umtauschen :D Ist gegenüber dem C64C von nobody mit Blechabschirmung statt Pappe und steht PCB Assy No. 250469 / PCB No. 252311 Rev.4, also eine andere Version.

  • Ich hab hier ja auchnoch 2-3 andere Revisionen ^^...wenn das Cart zurück ist, teste ich das auch gern nochmal an den (weniger verbastelten) anderen Modellen. Nur hat von denen leider keiner ein Sd2Iec...macht es denn einen Unterschied, ob ich das Cart über Midi oder Sd2Iec beschreibe bei diesem Problem?

    (edit: Und wenn du bisher noch kein JiffyDos oder Stereo hattest Frank - unbedingt mal testen das Zeug ;) JiffyDos ist auch sehr praktisch um das Sd2Iec über F-Tasten zu bedienen, und Stereo sowieso (nur zum umschalten musst ihn leider aus machen))

  • Frank hat mich gebeten, für alle die gerne etwas auf Deutsch hätten, den Bitte melde dich an, um diesen Link zu sehen. zu posten.

  • Es gibt jetzt auch eine erste Version der Entwicklerdokumentation, für alle die eigene Programme für das Cartridge schreiben wollen:
    Bitte melde dich an, um diesen Link zu sehen.

  • Gibt eine korrigierte Version 1.1 der Kerberos App, siehe Bitte melde dich an, um diesen Link zu sehen.. Es stürzt jetzt nicht mehr ab, wenn ein ausgewähltes MIDI-Interface bereits in einem anderen Programm geöffnet ist, sondern zeigt dann eine Warnung an, und mit einigen MIDI-Interfaces funktionierte die Übertragung nicht (Detail zu dem Problem habe ich Bitte melde dich an, um diesen Link zu sehen. beschrieben). Ich habe jetzt immer noch ein MIDI-Interface, was es am Mac nicht tut, bin ich noch am untersuchen. Außerdem hatte ein Anwender gemeldet, wenn man Cynthcart mit Cubase ansteuert, daß Cynthcart dann abstürzt, wird auch noch korrigiert.

  • Kann es sein das Cynhcart mit Midiclock, MMC und running status "befeuert" wurde? Mit normalen Note-on/off Befehlen lief es immer einwandfrei.


  • Kann es sein das Cynhcart mit Midiclock, MMC und running status "befeuert" wurde? Mit normalen Note-on/off Befehlen lief es immer einwandfrei.


    Also die MIDI-Sequenz sieht in Ordnung aus. Sind außer Note-On/Note-Off Nachrichten nur ein 0xfa ("Start") und 0xfc ("Stop") drin, auch kein Running Status. Ich habe auch mal die Kerberos App probeweise erweitert und die Sequenz exakt so gesendet, aber bei mir crasht es nicht. Vielleicht ist das Timing noch anders. Müsste ich dann mal was programmieren, was MIDI-Daten mit Timestamp aufzeichnet, um es exakt so wiederzugeben, wie Cubase es macht.

    Hat hier vielleicht einer Cubase Elements 7 und kann das auch mal testen? Ist einfach nur eine Oktave C-Dur Tonleiter hoch und wieder runter. Cynthcart soll schon kurz nach dem Play abstürzen. Vielleicht ist es aber auch dasselbe Problem mit der CPLD-Programmierung, da er berichtet hat, daß er einmal auch ein flash write error hatte. Werde ihm dann vielleicht mal zum Testen ein neues Cartridge zuschicken.

  • Scheinen doch MIDI timing clock Nachrichten drin gewesen zu sein. Ich habe mal das menu-Programm erweitert, sodaß man mehr MIDI-in Daten auf einmal darstellen kann und da sah der Kunde das dann. Scheint also so, daß manche USB MIDI-Interfaces diese Nachrichten einfach verschlucken beim Empfang, da die bei dem Loopback-Test vom PC aus nicht sichtbar waren (macht auch irgendwo Sinn, da durch die USB und PC-Software Latenz die Timing-Daten sowieso zu ungenau werden beim Empfang). Hinzu kommt wahrscheinlich noch ein Fehler bei einem USB MIDI-Interface beim Interleave von timing clock Nachrichten innerhalb von running status Daten (oder ich habe die MIDI-Spezifikation noch nicht richtig verstanden in diesem Punkt), aber das untersuche ich noch.

  • Kurzes Update: Das Problem lag doch bei den MIDI Clock und MTC Nachrichten, wie von oneBitman schon vermutet. Wenn man das in Cubase ausstellt, dann stürzt Cynthcart auch nicht mehr ab. Unabhängig davon scheinen manche billige USB MIDI Interfaces die es bei eBay gibt, bei eingeschaltetem MIDI Clock tatsächlich Protokollfehler zu generieren. Aber auch eins dieser Interface läuft getestet problemlos zusammen mit Cubase und Cynthcart, wenn alles was mit MIDI Clock zu tun hat, in Cubase ausgestellt ist. Ähnliches gilt für andere Software wo man es ausstellen kann, wie FL Studio.

  • Mein Kabel für mein eigentliches Midiinterface ist noch nicht da - aber ich hab vorhin mal ein USB2Midi aus dem Briefkasten geholt.
    Funktioniert jetzt auch soweit bestens, nur eins ist mir grad noch nicht ganz klar,
    die Cartridge-Disks:
    Da kann ich nur drauf zugreifen, wenn ein Programm mit der Option 'Enable cart disk' geflasht wurde - wie kann ich denn z.B. auf Lw 8/Cartdisk 1 den Sidmaker z.B. starten? Wenn ich es über den vorinstallierten Filebrowser (Slot 8 ) versuche, passiert nämlich nichts wenn ich auf D/Drivewechsel drücke...wurde der einfach nicht mit besagter Option geflasht oder ist der damit nicht kompatibel?

    Das auslesen am Pc funktionierte problemlos.

  • Habe es gerade mal getestet und funktioniert bei mir. Ich gehe folgendermaßen vor: Es ist Laufwerk 9 und 10 eingestellt. Dann starte ich den Filebrowser aus Slot 8. Dann drücke ich "D" einmal und es wird die erste Diskette angezeigt und nochmal D für die zweite. Von der ersten Diskette kann ich SID Wizard starten und mit F8 und Load Tune Stücke laden.

    Auf einem C128 hatte ich allerdings noch Probleme, da scheint die Cartridge Disk Emulation noch gar nicht zu laufen. Bin da noch dran, aber wegen Kundenprojekte wird das noch ein paar Monate dauern.

  • Ich habe Paul dem Cynthcart-Entwickler eben die Einnahmen vom letzten Quartal per Paypal überwiesen und er hat mich daraufhin darüber informiert, daß ab heute die Cynthcart-Version mit der MIDI Schnittstelle, die man bisher für 5 Euro dazukaufen konnte, kostenlos ist. Kann man Bitte melde dich an, um diesen Link zu sehen. laden. Er schaut sich noch das Problem mit dem MIDI Clock an, dann werde ich nochmal schreiben und auch alle restlichen Käufer informieren.

    Vielen Dank nochmal an die bisherigen Cynthcart-Käufer. Ohne eure Unterstützung hätte Paul sich nicht die Zeit nehmen können, um Cynthcart so zu perfektionieren wie es jetzt ist.

  • finde ich extrem cool das er es jetzt so rausgibt! es hat aber auch eine interessante "backfire" wirkung - wenn man das programm am c64 nutzen will ist kerberos das einzige interface das man auf die schnelle auftreiben kann, und das zu einem preis der einem vintage interface z.b. auf ebay entspricht - wenn man denn überhaupt eines findet. es gäbe noch herMidi als instant lösung für bastler, das beschränkt sich aber auch auf gewisse andwendungen.

    iirc kann man im vice auch midi nutzen? das ist dann endlich eine lösung für authentiker, die ganzen filterprofile für 6581... das gibts sonst nirgends. vielleicht gehen ja latenzmässig mehrere instanzen mit einem starken rechner und virtuellem midikabel.

    wie ist das dann für "non-kerberos" user am c64, welches interface wird da unterstützt / kann man es im programm umstellen?

  • Ja, in VICE geht Cynthcart auch. Das Interface kann man nicht umstellen, es wird ein DATEL kompatibles Interface erwartet, was aber die meisten auf eBay verfügbaren auch sind, wie z.B. die Steinberg Pro 16 Interfaces. Wenn einer aber ein anderes Interface hat, dann kann man das relativ einfach in Cynthcart ändern, sind nur ein paar Adressen. Nur wenn man ein Interface mit NMI hat (z.B. Namesoft), dann ist es wahrscheinlich einfacher, das am Interface auf IRQ harwaremäßig umzupatchen.

  • Eine Frage: Wie aktualisiere ich mein Cartridge? Es ist ja mittlerweile Version 1.1 raus, ich habe aber noch 1.0 installiert.
    Ok, das QT-Tool auf PC Seite kompiliere ich einfach neu aus den Git Sources, aber wie bekomme ich die neueste Version auf das Modul?

    Gruß

    Sebbi

  • Außer einem zusätzlichen Test den ich eingebaut hatte, für die Analyse von einem Problem mit einem C64, hat sich am Menüsystem noch nichts geändert. Du kannst aber die menu.bin per CC65 neu erstellen wenn du möchtest, wie im Developer Manual beschrieben, und dann per "Flash menu BIN" flashen.

    Gibt demnächst ein Update von Cynthcart, da gab es noch ein Problem mit falsch gestimmten Noten und mit MIDI Clock Signalen, was Paul noch am korrigieren ist.

    Noch ein Punkt: die MIDI-Anbindung von SID Wizard läuft nicht besonders stabil, wie letztens einer festgestellt hat. Hermit konnte das Problem reproduzieren (habe ihm ein Kerberos Cartridge zum Spielen geschickt) und liegt an einem zu langen Interrupt. Lösung: Mit der Kerberos App SID Wizard neu flashen, aber mit "Namesoft" Einstellung für die MIDI emulation, und dann in SID Wizard auch Namesoft wählen.