Kompatibilität von C64 in FPGA und Emulatoren

Es gibt 58 Antworten in diesem Thema, welches 2.554 mal aufgerufen wurde. Der letzte Beitrag (16. Juli 2025 um 20:06) ist von pulse64k.

  • Programmierer haben es auch geschafft, Demos zu erstellen, die sowohl auf dem ursprünglichen Chipsatz als auch auf dem C64C-Chip laufen. Der C64 Ultimate ist viel besser kompatibel als der C64C. Ich sehe dies wirklich als ein Non-Problem.

    Ganz ehrlich ich als Coder nutze zum ersten Test den Vice und dann meinen guten alten Brotkasten. Der U64 interessiert mich dann nicht. Auf EVOKE, Revision und Co wird auch nur der Vice genommen. Ob es dann auf einem C64 Clone läuft interessiert dann keinen.

  • Zum Glück besteht die Welt nicht nur aus Demos.

    Alles an normaler Software dürfte wohl anstandslos laufen. Wenn was nicht perfekt läuft erkennen es wahrscheindlich nur die echten Gurus.

    Über normale Software brauchen wir hier nicht reden. Die läuft auf jedem C64 Clone oder Emulator. Da ist das Timming auch kein Thema.

  • Bezüglich Kompatibilität:

    Es geht nicht darum ob jetzt eine Software nicht läuft das merkt man schnell und man geht zur nächsten oder ärgert sich. Aber ich kann nie ganz sicher sein, ob das was ich sehe wirklich das ist was ich sehen soll weil woher soll ich’s wissen? Außer ich Vergleichs natürlich mit echter Hardware und allein das macht mich innerlich wahnsinnig.

    Genau das ist damit gemeint !

  • Auf EVOKE, Revision und Co wird auch nur der Vice genommen. Ob es dann auf einem C64 Clone läuft interessiert dann keinen.

    Ist aber dann auch nicht konsequent. Der VICE ist genauso ein "Clone", wenn der als "Referenz" herhalten darf, dann ist die Regel "nur das Original zaehlt" ja offenbar doch nicht ganz so korrekt.

    Was auch nicht vergessen werden darf: Der U64 kann geupdatet werden und wird es auch. Auch er hat also grundsaetzlich das Potential, sich dem Original immer mehr anzunaehern. Fuer mich als Nicht-Demo-Coder ist er bereits "original genug". Klar faende ich es natuerlich toll, wenn diese Kompatibilitaet noch weiter gesteigert wuerde.

    - neue Spiele für den C64 -
    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.Bitte melde dich an, um diesen Link zu sehen.

  • Aber die meisten Tricks dürften doch auch mit den FPGA C64er gehen, oder nicht?

    Was geht denn alles nicht?

    95 % gehen denke ich auch. Die anderen 5 % mit optischen Fehlern mal mehr mal weniger.

    Das Problem ist wenn man den FPGA Code auf eine Demo oder Spiel abändert das er Reibungslos das optische so anzeigt wie es sein soll, heißt es noch lange nicht das bei einer anderen Demo das geändert auch greift. Hängt ja auch von jedem Coder selber ab.

  • Auf EVOKE, Revision und Co wird auch nur der Vice genommen. Ob es dann auf einem C64 Clone läuft interessiert dann keinen.

    Ist aber dann auch nicht konsequent. Der VICE ist genauso ein "Clone", wenn der als "Referenz" herhalten darf, dann ist die Regel "nur das Original zaehlt" ja offenbar doch nicht ganz so korrekt.

    Was auch nicht vergessen werden darf: Der U64 kann geupdatet werden und wird es auch. Auch er hat also grundsaetzlich das Potential, sich dem Original immer mehr anzunaehern. Fuer mich als Nicht-Demo-Coder ist er bereits "original genug". Klar faende ich es natuerlich toll, wenn diese Kompatibilitaet noch weiter gesteigert wuerde.

    Ich hätte es auch lieber das auf solche Events der Brotkasten hingestellt wird :-). Aber so ein Emulator ist natürlich einfacher.

    Yep der U64 wie auch natürlich die Software Emulatoren können immer angepaßt werden. Ein riesen Vorteil für die Kompatibilität.

  • Yep der U64 wie auch natürlich die Software Emulatoren können immer angepaßt werden. Ein riesen Vorteil für die Kompatibilität.

    Es ist halt auch ein wichtiges Thema, allein schon aus Sicht der "Preservation". Daher finde ich solche Projekte auch unterstuetzenswert.

    Der C128 war auch nicht 100% kompatibel. Und nichtmal auf jedem C64 klappt z.B. VSP. Ich denke, typische C64-Demo-Coder werden eh nach wie vor das Original als Referenz nehmen; da sehe ich jetzt keine Gefahr dass der U64 den "neuen Standard" darstellt. Auch wenn es von Commodore verkauft wird. Den C128 sieht ja auch keiner als "neuen Standard" an.

    - neue Spiele für den C64 -
    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.Bitte melde dich an, um diesen Link zu sehen.

  • Herrlich lächerliche Diskussion ohne jeglichen Mehrwert. Weil irgendein Democoder es vielleicht (oder vielleicht auch nicht) schafft, dass eine Rasterzeile im VICE und vielleicht auf dem U64 (oder vielleicht auch nicht) flackert und weil jemand Herzrhythmusstörungen bekommt, weil es auf einem U64 anders aussehen könnte (oder vielleicht auch nicht) als auf einem Originalen C64 (der wie genau definiert ist?) verliert der U64...ja was genau? Seine Daseinsberechtigung? Darf er nicht C64U genannt werden? Ist er kein Nachfolger?

    Es gibt zahlreiche Argumente, die das Commodore-Vorhaben zu Recht kritisch betrachten. Aber das hier gerade ist doch schon arg an den Haaren herbeigezogen, finde ich.

    Disclaimer: Das ist natürlich meine persönliche Meinung. Wer mit dem U64/C64U nichts anfangen kann, weil er sich damit einfach nicht wohlfühlt, wird ja nicht zum Kauf gezwungen. Ist ja jedem sein gutes Recht. :)

  • Auf EVOKE, Revision und Co wird auch nur der Vice genommen. Ob es dann auf einem C64 Clone läuft interessiert dann keinen.

    Ist aber dann auch nicht konsequent. Der VICE ist genauso ein "Clone", wenn der als "Referenz" herhalten darf, dann ist die Regel "nur das Original zaehlt" ja offenbar doch nicht ganz so korrekt.

    Was auch nicht vergessen werden darf: Der U64 kann geupdatet werden und wird es auch. Auch er hat also grundsaetzlich das Potential, sich dem Original immer mehr anzunaehern. Fuer mich als Nicht-Demo-Coder ist er bereits "original genug". Klar faende ich es natuerlich toll, wenn diese Kompatibilitaet noch weiter gesteigert wuerde.

    Und ich denke mal, sollte das hier ein Erfolg werden, wird sich die Einstellung dazu in den nächsten Jahren auch noch ändern. Dann *wird* auch geguckt, ob etwas auf dem C64U funktioniert, und wenn nicht, wieso. Das hilft Gideon, und das hilft den Nutzern.

  • Bei C64 Emulation von speziellen Demo's entscheidet die Genauigkeit von 1-2 NANOSEKUNDEN über Erfolg oder Fail.

    Sorry für Off-topic, aber wie schneiden Vice und Denise bei sowas eigentlich ab? Abseits des Input lags?

    Ich programmiere Dir einen IRQ der im Vice eine Rasterzeile bist zur Hälfte "blöd flackern" lässt, wovon Du auf einem originalen C64 überhaupt nichts siehst.

    Ich glaube das reicht als Antwort.

    Koenntest Du solch ein Beispiel mal bereitstellen, zum Ausprobieren? waere ja interessant wie sich das dann auf den unterschiedlichsten Plattformen verhaelt...

    - neue Spiele für den C64 -
    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.Bitte melde dich an, um diesen Link zu sehen.

  • Herrlich lächerliche Diskussion ohne jeglichen Mehrwert.

    Oh, das Thema wurde mittlerweile ausgelagert. Gut! Dann nehme ich das mit der lächerlichen Diskussion ohne Mehrwert natürlich zurück. Sorry! Das passt dann natürlich genau hierher.


  • Buszugriffe (DMA, Sprite, Bad-Lines etc) müssen im genau identischen Taktfenster erfolgen wie beim echten C64

    Die komplette State Machine des VIC-II muss in der exakt richtigen Reihenfolge implementiert werden

    Der Raster Counter muss absolut syncron sein

    IRQ's müssen den absolut zeitgleichen C64 Effekt einschließlich der Side-Effects (mehr dazu gleich) unterstützen

    Jeder Lese und Schreibvorgang auf den VIC muss im selben Takt die selbe Wirkung wie auf dem C64 haben

    Ja, das ist alles viel Fleißarbeit bei der Implementierung, machen VICE und Denise und z.B. Kawari aber auch allesamt exakt, bzw. wenn Bugs gefunden werden, werden die halt gefixt. Kawari z.B. simuliert intern pro Takt mehrere Unterzyklen, damit bei Zeitkonflikten die originalen Prioritäten eingehalten werden.

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

  • Der VIC "klaut" nämlich in bestimmten Takten der CPU den Bus Zugriff. (Beispielsweise durch DMA und Bad Lines)

    Und auch das muss 100% simuliert werden. Das ist unter anderem eben beim Ultimate nicht ausreichend genau gewährleistet und ein Hauptgrund, warum einige Demos nicht so laufen wie auf original Hardware

    Na ja, das sind aber gut dokumentierte Grundlagen. Wer einen C64 ernsthaft nachbilden will wird das von Anfang an berücksichtigen.


    Ich programmiere Dir einen IRQ der im Vice eine Rasterzeile bist zur Hälfte "blöd flackern" lässt, wovon Du auf einem originalen C64 überhaupt nichts siehst.

    Auf einem aktuellen x64sc einerseits und allen C64-Permutationen (zB neue/alte CIAs, diskrete oder integrierte Logik) andererseits? Zeig mal, das wäre dann nämlich ein Bug und das Testprogramm könnte vielleicht in der Bitte melde dich an, um diesen Link zu sehen. landen.

    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.

  • Das müsste ich raussuchen, das war bei einem meiner Spiele der Fall. Dort müsste ich auch re-rollen in der Version, weil das hab ich nach feststellen dann logischerweise so gemacht, dass es unter VICE auch keine Probleme gab. Dauert etwas, da wir grade in Urlaubsvorbereitungen sind und dann erst mal 14 Tage im Ausland sind. Such ich aber wenn wir wieder da sind mal raus.

  • Ja cool, dann wird wieder ein Bug mehr in VICE gefixt sein, irgendwann ist dann nicht mehr viel übrig.

    Wenn bei den große Demoparties auch nur VICE eingesetzt wird, dann wird das auch meine Referenz sein. Nichts desto trotz werde ich auch mal ab und an auf meinem 80er Jahre Brotkasten ausprobieren und später dann auf dem 2025er C64.

  • Dann *wird* auch geguckt, ob etwas auf dem C64U funktioniert,

    Ich würde sogar für die Vergangenheit davon ausgehen, dass die meisten Democoder ihre Werke vor einem Release auf echter Hardware, VICE und Ultimate64 testen.
    Daher vielleicht auch die bereits gute "Kompatibilität" des U64.

  • Man muß das nicht unbedingt an Demos usw. festmachen. So speziell wie die Abfrage einer Maus auf einem C64 funktioniert, wird das ein Simulator niemals exakt nachbilden.

    Insofern ist es relativ leicht, eine Mausabfrage zu schreiben, die in einem Emulator wunderbar funktioniert und auf einem echten C64 nicht.

    Auf einer FPGA-Lösung mit echten D-DUB9-Ports muß man das zeitliche Detailverhalten der PotX/Y-Pins zumindest so weit nachbilden, daß eine Maus im Prinzip funktioniert.

    Ob das Verhalten wirklich in jeder Hinsicht das eines normalen C64 ist (wobei es da wegen analoger Komponenten usw. auch eine recht große Schwankungsbreite geben wird), wage ich aber auch zu bezweifeln.

    Genauso wenig bilden FPGA-Lösungen die etwas kruden NMOS-Eigenschaften der C64-ICs nach. Oder den Jitter in der Takterzeugung usw.

    Viele Leute haben eh falsche Vorstellungen von FPGAs. Die meisten MiSTer-Cores sind aus der MAME-Implementierung abgeleitet. Da wird nicht jeder ICs auf Gatterebene nachgebildet, sondern das im Simulator (MAME) implementierte Verhalten wurde in den FPGA übertragen. Mit all den Vereinfachungen, die damit einhergehen.

  • Das müsste ich raussuchen, das war bei einem meiner Spiele der Fall. Dort müsste ich auch re-rollen in der Version, weil das hab ich nach feststellen dann logischerweise so gemacht, dass es unter VICE auch keine Probleme gab. Dauert etwas, da wir grade in Urlaubsvorbereitungen sind und dann erst mal 14 Tage im Ausland sind. Such ich aber wenn wir wieder da sind mal raus.

    Da bin ich sehr gespannt. Glaube ja nicht, dass es noch groß jemand schafft etwas zu bauen was auf einem 80er C64 läuft aber in VICE SC nicht.

  • Meine Hoffnung ist, dass die 100% Kompatibilität eines Tages in FPGA Form geknackt sind und dass dann auch OpenSource wird, dann hat man den C64 bis in alle Ewigkeit konserviert.

    Wobei es ja open-source FPGA Cores für C64 (und teils C128) ja schon gibt: FPGA64 und die Weiterentwicklungen für MiST/Sidi und Mister. Zumindest die Mister Version hat auch sehr viele Features, was Erweiterungen angeht.

    Wie es aber mit den letzten 2-3% Kompatibilität bei besonders timing-kritischen Spielen und Demos aussieht, kann ich nicht beurteilen.

    Turbo Chameleon hat einen eigenen closed-source Core, oder ist das auch vom MiST(er) rüberportiert, wie der Minimig-AGA/RTG Core?

    PS: ist der "mehr C64-Kompatibilitäts"-Core vom MEGA65 nicht auch vom Mist(er) übernommen?

  • Welche Demo gibt es denn, die auf dem C64 Ultimate nicht läuft ? Ich hab so ein Ding ja nicht, aber ich könnte mir vorstellen, dass es da nicht mehr viel gibt, was nicht läuft.

    Ist jetzt nicht Ultimate, aber für den C64-Core des Mega65 gibt es eine große Kompatibilitätsliste: Bitte melde dich an, um diesen Link zu sehen.

    Wobei die Dinge die als inkompatibel aufgelistet sind, in den Kommentaren oft Dinge sind wie "ein Border-Pixel flackert, was es im Original nicht tut".

    Und die Macher dieses Cores sagen ganz klar, dass der Ultimate eine höhere Kompatibilität hat.