Hallo Besucher, der Thread wurde 4,6k mal aufgerufen und enthält 49 Antworten

letzter Beitrag von 1Byte am

Beschleuniger für C64

  • Um nicht zu sehr OT zu werden, es gibt ja schon Hardware die den Turbo Modus unterstuetzt (https://1541u-documentation.re…st/config/turbo_mode.html), sogar bis 48MHz.
    Trotzdem gibt es da nur eine handvoll Programme die das sinnvoll nutzen koennen und wie schon geschrieben wurde, muss C64 Software IMHO auch immer auf einem nativen C64 laufen, sonst ist das nicht echt.
    Fuers DTV ist auch nicht sonderlich viel angepasste/neu Software gekommen und das hat auch mehr Moeglichkeiten wie ein C64. Spiele wie Mario Brothers partizipieren halt vom C128 mit seinen 2MHz, sind aber auch auf dem C64 lauffaehig. Das es auch auf einem C64 mit 2Mhz oder mehr laeuft ist da eher nein Nebenprodukt. Wie gesagt alles meine Meinung.

    -> Soll ich das OT auslagern und in einen eigenen Thread schieben um das Sidekick64 nicht zu tangieren? :D

  • -> Soll ich das OT auslagern und in einen eigenen Thread schieben um das Sidekick64 nicht zu tangieren? :D

    ich tue gern noch meine Meinung kund, aber ich glaube ein Auslagern in einen Thread zum Thema "Beschleuniger für C64" wäre passend ;-)


    Wir kennen veschiedene Beschleuniger, z.B. Super-CPU, Turbo Modi (z.B. des U64/TC), interne 2/4MHz Karten, extern Roßmöller, etc. Die Internen haben sich m.W. nicht durchgesetzt, obwohl sie einfach nachzubauen wären, von der Roßmöller-Erweiterung habe ich von Stabilitätsproblemen gelesen (und ich meine es war ein 65816) -- und beide müssen irgendwie damit klar kommen, dass der VIC nicht höher taktet. Die Super-CPU ist eine gute und echte Retro-Lösung, aber selten, so dass die Zielgruppe recht klein ist, vermutlich auch dann, wenn es mal Nachbauten geben sollte. Da ist die logische Konsequenz, dass wenn schon der C64 als ganzes emuliert wird, dass man "einfach" auch alles schneller laufen lässt.


    Den ganzen C64 emuliert Sidekick nicht (wäre das nicht langweilig?). Eine SuperCPU-Emulation ist mit der aktuellen Hardware nicht möglich, da DMA-Transfers nicht unterstützt werden können. Ansonsten steht es natürlich jedem frei, die 4 ARM-Kerne à 1.4 GHz zu nutzen :-) Ganz einfache Tests gibt's hier zu sehen: https://github.com/frntc/Sidekick64/tree/master/Video und https://www.dropbox.com/s/9cem…f9w/rotozoom.mp4.mp4?dl=0


    Auch wenn man den RPi nur dazu nutzt einen 2MHz 6510 zu emulieren, müsste man immer noch Software anpassen und wer macht das schon für die überschaubare Nutzergruppe?


    Ich finde allerdings ganz allgemein, dass bei übertriebener CPU-Beschleunigung die Schere zwischen Rechenleistung und Grafikfähigkeiten zu sehr auseinander geht. Abgesehen von der SID/FM-Emulation bildet der RPi bei den Sidekick-Features übrigens nur die Logik der alten Erweiterungen nach und stellt Speicher zur Verfügung und 3 Cores liegen immer brach.

  • dann ist ja gut. Danke Jungs und Mädels,

    für die nette Diskussionsrunde den Austausch

    zeigt sich mal wieder, das auch ich hier Goldrichtig

    und unter Gleichgesinnten bin!


    marty ja, ist schon gut strapaziert hier, was mir auch leid tut


    vielleicht als Thema:

    wers kann, der schaffe uns ein feines cpu Cadridge ran:D

  • Weiterhin habe ich kinzi furchtbar genervt schon mit meiner Idee, doch ein eigenes Display für die 64er Testhardware anzubauen -

    Na ja, "furchtbar" ist anders. :-D

    vielleicht hat manche Idee von mir auch schon zu anderen Gedanken bei jemandem geführt, vielleicht nicht.

    Das ist auch gut und richtig so., erst recht wenn ...

    wobei ich VERSUCHE, freundlich und konstruktiv zu sein

    ... alles gut. Oft kommen die Leute ja wirklich beim Reden zusammen und auf neue Ideen. Das Problem ist ein wenig, dass einem manche Sachen relativ simpel vorkommen und man sich fragt, wieso das keiner macht, wenn einem die Details fehlen.


    Nehmen wir die "2 MHz-Sache": Nichts scheint einfacher zu sein, bei den PCs ist ja schließlich auch jahrelang die Taktfrequenz immer weiter hochgeschraubt worden. Kann also nicht so schwer sein. einfach ein paar MHz mehr einzubauen. Auffällig ist nur, dass es bis auf ein paar aufwändige Versuche keine wirklich massentauglichen Ergebnisse dazu gibt.


    Ja, Uridium z. B. erkennt und verwendet den 2 MHz-Modus auf dem 128 im 64-Mode. Nur. Das sind ein paar Rasterzeilen außerhalb des sichtbaren Bildes, wo die CPU im 2 MHz-Mode läuft. Denn wenn sie das tut, erzeugt der VIC IIe kein Bild mehr. Kann er nämlich ganz nicht. Das gleiche mit den 2 MHz der 264-Reihe - die CPU läuft im 1,76 MHz-Mode, wenn es der TED zulässt.


    Viele Leute verkennen, dass bei den Commodore-Geräten - wie bei vielen Heimcomputern - nicht die CPU das Herzstück ist, sondern der Video-Chip. Sein Timing muss passen, sonst ist der Bildaufbau im Eimer. Der Videochip ist der Chef über RAM- und Bus-Zugriffe, die CPU "darf auch mal", wenn es der Bildaufbau erlaubt. Das ist ein sehr fein abgestimmtes Konzert, das CPU und VIC da zusammen spielen, damit beide auf z. B. das RAM zugreifen können, ohne sich in die Quere zu kommen.


    Wenn nun dieses Zusammenspiel einseitig "gestört" wird, in dem die CPU höher getaktet wird, fangen die Probleme an: Das ganze System beschleunigen geht nicht, der VIC braucht seinen fixen Takt, da hängt der Bildaufbau dran. Die CPU wiederum erhält den Takt vom VIC. Gut, das könnte man ändern, man taktet die CPU separat. Und schon beginnen die Probleme, weil zwei separat erzeugte Takte zu synchronisieren ist Aufwand.


    Also wird der CPU.Takt aus dem VIC-Takt durch Vervielfachung, z. B. per PLL gewonnen. Noch mehr Aufwand, aber OK. Dann müssen die zusätzlichen Takte der CPU eben in ihrem Taktfenster stattfinden. Die CPU hat pro Takt 500 ns, um den RAM-Zugriff abzuwickeln. Dafür reichen im C64 200 ns RAMs.Verdoppelt/vervierfacht man den CPU-Takt, halbiert/viertelt sich die erforderliche Zugriffszeit des RAMs auf 100 bzw. 50 ns. Das wird schon schwieriger. (Verdoppelung klappt da meist noch:) Das gleiche gilt für ROM-Zugriffe.


    Ganz schlimm wird es bei I/O-Zugriffen, 2 MHz machen die CIAs der "A" Type noch mit, die normalen (ohne A) meist nicht; bei 4 MHz ist sehr sicher Schluss. Man will ja aber eine Erweiterung für alle C64, nicht nur für die, die zufällig gerade die "A"-Typen verbaut haben. Spezifiziert ist der C64 nämlich für "normale" Typen "ohne A".


    Also taktet man für I/O-Zugriffe runter, wie es der C128 (bei nur 2 MHz!) auch schon macht. Und schon wird aus der tollen 2 oder 4 MHz-CPU eine CPU, die manchmal schneller läuft. Und das bei ziemlichem Aufwand für den Umbau. Schneller laufen würden z. B. Rechenoperationen, aber da der 6502 nur addieren kann, ist der Geschwindigkeitsvorteil lächerlich ... jedes Zwischenergebnis muss wieder irgendwo ins RAM, jeder Opcode für die nächste Rechnung muss irgendwo aus dem ROM geholt werden. "Interne" Berechnungen, die von einer schnelleren CPU profitieren würden gibt es da praktisch nicht.


    Und die ganzen Rahmenbedingungen werden leider nicht besser, auch wenn man den Traum immer und immer wieder träumt. :-) Wenn, dann muss man das ganze System beschleunigen. Und dann kann man gleich einen neuen Computer bauen, weil das hat dann nichts mehr mit einem C64 zu tun.


    Übrigens, wenn man sich ansieht, was für ein Aufwand da getrieben wurde, um den C128 mit 2 MHz laufen zu lassen und was dann dabei herausschaut ... sinnlos, MMN. Aber vielleicht (hoffentlich) verkenne ich die Lage und es kommt jemand demnächst mit einer Turbolösung mit viel MHz um wenig € um die Ecke, ^^

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • kinzi

    Danke, sehr ausführlich und vor allem versiert erklährt. Da merkt man wer Ahnung von der Materie hat und wer nicht. Ich letzteres

    Ich wusste das die Problematik dabei, in die von

    Dir beschriebene Richtung geht und vieles von den

    Bussen:D dem VIC, timings und subtimings abhängt, als sehr schwierig und sehr viel Ahnung erfordert.

    krieg ich jetzt von Dir meine 2MHz oder nich:D

  • krieg ich jetzt von Dir meine 2MHz oder nich

    Aufgeschnitten oder am Stück? :bgdev

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • Allerdings - ohne das TC64 schlechtreden zu wollen - emuliert das Ding mehr oder weniger den kompletten C64, die eigentliche 64er-Hardware degeneriert mehr oder weniger zur I/O-Box.

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • Allerdings - ohne das TC64 schlechtreden zu wollen - emuliert das Ding mehr oder weniger den kompletten C64, die eigentliche 64er-Hardware degeneriert mehr oder weniger zur I/O-Box.

    Das hast Du aber bei jeder Art von Beschleuniger die Du an den C64 anschließt, wobei die Zeichen- Grafik- Sound-Ausgabe noch über den C64 geschied wenn

    Du das Modul direkt am C64 benutzt .

  • Das hast du aber bei jeder Art von Beschleuniger die Du an den C64 anschließt, wobei die Zeichen- Grafik- Sound-Ausgabe noch über den C64 geschied wenn

    Du das Modul direkt am C64 benutzt .

    Schon richtig, liegt in der Natur der Sache. Wie gesagt, ich will das nicht schlechtreden. Es soll das "Problem" verdeutlichen.

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • Schon richtig, liegt in der Natur der Sache. Wie gesagt, ich will das nicht schlechtreden. Es soll das "Problem" verdeutlichen.

    Prinzipiell hast du recht (und das ist auch der Grund, warum man TC64 auch eigenständig und ohne C64 nutzen kann).
    Allerdings wurde das hier schon genial gelöst: Das Modul "lauscht" quasi am Modulport, was der C64 gerade macht und spiegelt das 1:1 auf den FPGA-C64 im Modul. So hat das Jens Schönfeld zumindest einmal in einem Interview erklärt. So gesehen macht der C64 schon wesentlich mehr als nur I/O und Tastatur.

    Darüberhinaus, kann man auch Features zu- und abschalten d.h. Videoausgabe trotzdem über den Original-VICII machen oder Ton über Original-SID.

  • Übrigens, wenn man sich ansieht, was für ein Aufwand da getrieben wurde, um den C128 mit 2 MHz laufen zu lassen und was dann dabei herausschaut ...

    Und erst bei der SuperCPU! Dort wurde um die 20 MHz bei AKTIVEM VIC zu erreichen, CPU und RAM vom C64 entkoppelt, aber jeder Schreibzugriff ins RAM muss von außen (also von der SuperCPU die ja im Expansionsport steckt) synchron mit dem 1 MHz-Takt des C64 in dessen RAM transferiert werden - sonst sieht man keine Grafik mehr! Die Flash8 hatte diese "Kopieraktion" für Zeropage und Stack übersprungen, weil dort (fast) nie Grafikdaten sind - und deshalb war sie teils schneller als die SuperCPU... erst die SuperCPU V2 hatte da Möglichkeiten das zu konfigurieren.


    Und schlußendlich die viel entscheidendere Frage: Wie viele Leute werden DAFÜR Programme schreiben, die dann von 20 oder 100 Nutzern mal ausprobiert werden? Und ich gehe davon aus, dass die Programmierung eines VERNÜNFTIGEN Spiels, was so eine spezielle Grafikerweiterung und eine Turbo-CPU effizient nutzt locker mehrere Jahre in Anspruch nimmt

    Haben wir mit Metal Dust ja damals probiert und ich kann alles bestäigen, sowohl die Jahre, als auch die geringe Menge Nutzer. :) Letzeres war uns natürlich vorher klar, die Idee war ja Leuten mehr Gründe zum Kauf dieser Erweiterung zu geben. CMD war schließlich reine Hardware-Schmiede und es gab kein Konzept von "Launch-Titeln" für die SuperCPU. ;) Da wollten wir seitens Protovision damals unterstützen.

  • moin Jungs und gibts hier auch Mädels;)?


    zum Thema turbo chameleon, das mag schon

    sein, aber ist halt von Jens und alles proprietär,

    closed source. Jetzt nicht falsch verstehen er macht sein Ding und das soll er von Mir aus auch,

    aber ist halt nicht meins.

    Ich denke das die fähigen Leutz hier im Forum bzw. der Community die hier fast täglich neue Entwicklungen raus hauen, auch in der Lage sind so etwas auf die Beine zu stellen und besser

    kommt schon sind doch nur 2MHz :D

  • Die Frage ist: für was willst Du das dann praktisch nutzen? Hast Du schon eine Anwendung, die davon sofort profitieren würde?
    Möglicherweise GEOS... oder sowas - aber nutzt Du GEOS selbst?


    Apropos GEOS - da bin ich eh erstaunt, dass es bis heute noch keine Version gibt, die komplett von SD-Karte oder Modul läuft... Oder hat mich die Entwicklung da überholt? Braucht man die Boot-Diskette nicht mehr?


    schnellerer Prozessor - beim Amiga, PC, anderen Rechnern gabs immer Anwendungen die extrem davon profitierten, weil sie wenig am Bildschirm gemacht haben, aber unheimlich viel gerechnet wurde... Videobearbeitung (das Bearbeiten von Effekten bspw.), Raytraycing, Tabellenkalkulationen, Datenbanken, MP3 codieren...

    Aber am C64 gab es solche Dinge eigentlich so gut wie nie - schon alleine wegen dem winzigen RAM...

  • Anwendungen bzw. Spiele hatte ich ja genannt

    zB. einiges von Rgcd/Psytronic, SMB64 und noch sich in entwicklung befindliche Sachen.

    Da wird dann Erkannt welcher Beschleuniger vor liegt zB. 128er im 64er Modus und dann entsprechend genutzt.

    Die Frage ist halt ist so ein 2MHz Modus überhaupt unter Einbindung der restlichen 64 Komponenten möglich und lässt sich der hardwareerkennung besagter Programme/Spiele dann vorgaukeln es handele sich um selbiges...

  • Da wird dann Erkannt welcher Beschleuniger vor liegt zB. 128er im 64er Modus

    Bei einem C128 im 64er-Modus liegt keinerlei Beschleuniger vor, sondern es handelt sich um einen normalen C128, dessen Möglichkeiten von dem Spiel geschickt genutzt werden.


    Ein Beschleuniger ist eine externe Hardware, die man irgendwie dransteckt. Die SuperCPU ist wahrscheinlich die einzige Beschleuniger-Extension für den C64, die von einigen wenigen Spielen unterstützt wird.


    Deine Gedanken zur Turboisierung des C64 drehen sich meiner Meinung nach beschleunigt im Kreis. ;)

  • Mit dem TC64 gibt es eine gute, funktionierende, flexible, verfügbare Beschleunigerkarte. Warum sollte man das Rad nochmal erfinden wollen. Zumal das sicherlich kein "mal schnell nebenbei und kostengünstig" Projekt wäre.

  • Ja warscheinlich ist so ziemlich alles gesagt,

    aber das es sich beim 128er um keine Beschleunigung des C64ers handelt dem muss

    ich wiedersprechen. Schließlich wird dabei die 64 CPU 8500? und Chips VIC2, CIA benutzt, die ja beim 128er auch enthalten sind, aber halt mit 2MHz = Beschleunigung und nicht die Z80 CPU