Hallo Besucher, der Thread wurde 50k mal aufgerufen und enthält 423 Antworten

letzter Beitrag von Retrofan am

Neue Spielimpulse durch Turbo-CPU-Modus möglich?

  • Das Folgende ist (ernsthaft) die Routine von Cholo, um die Graphik vom Hintergrundspeicher auf die Bitmap zu kopieren und dabei den Hintergrundspeicher zu löschen: [...]

    Die Schleife ist doch vermutlich schön ausgerollt, was willst Du mehr?


    Es gibt eben kein STX abs,Y auf dem 65xx (LDX abs,Y existiert allerdings), also muß man sich hier mit TXA behelfen, nachdem das Byte aus der Shadow-Bitmap in den Display-Buffer kopiert worden ist.


    Cholo nutzt für die Vektoranzeige dann auch nur ca. 1/3 des Gesamtbildschirms. Kannst dir also aussuchen, was dir lieber ist: 2 komplette 8K-Bitmaps vorhalten, und 'einfach' die Seiten umschalten (aber der aktive Bereich muß immer noch gelöscht werden), oder doch eher mit nur einer Anzeigeseite arbeiten, aber dafür den freigewordenen Platz (der sonst nur eine Kopie des im wesentlichen statischen Rests wäre) für was anderes nutzen.



    Edit: O.K., eine zweite Schleife mit A=0 und STA...,Y/STA...,Y/[...] wär' dann doch in der Summe schneller. ;)

  • Öhm...also mit dem Lattice FPGA gibt es eigentlich noch kein 'Projekt'. Ist bis jetzt nur ne kleine Bastelei, um überhaupt mal was mit dem Ding zu machen. Im Moment klemmt es an ner kleinen und günstigen Levelshifter-Lösung für die 20+ Signale.


    Wenn einer ne Idee hat... :whistling:

  • Mich erinnert das ein bisschen an diese unsägliche Amiga-Diskussion, das alles komplett OS/System-konform und ja ohne Trackloader zu funktionieren hat, wenn man was programmiert.

    Wer sagt denn sowas? Der Amiga hat doch schon von Haus aus Trackloader. Welchen Sinn hätte es, den nicht zu nutzen?

    Aber es gibt eben auch den Amiga 500, den damals jeder unverbaut zuhause stehen hatte, wo man eine Spiel-Diskette oder ein Demo eingelegt hat, und los gings.


    Das darf es ruhig beides geben dürfen.

    Mit dem IBM-PC ist es doch ähnlich. 8088 miles per hour zeigt es ganz gut, was mit dem unverbauten Original geht, und zwar nur da. Ein moderner PC hat mit einem Original-IBM auch nicht mehr viel zu tun.

    Hätten sie SAM für SCPU wie damals Metal Dust herausgebracht, würde das „keine Sau“ spielen können.

    Prinzipiell schon, da VICE nun schon eine ganze Weile SCPU-Unterstützung hat. Ich würd's mir allerdings nicht antun wollen, solange beim VICE die Wiedergabe zickt.

    Ich finde auch den Trend bedenklich, dass die finanziellen Hürden, sich dem C64 zu widmen, immer höher werden, weil einerseits die Grundgeräte zu immer wahnwitzigeren Preisen angeboten werden

    Das könnte sich ja schon bald ändern, wo gleich mehrere FPGA-Implementierungen den Markt erobern wollen. Und gerade Einsteiger bedienen sich evtl. auch einer Emulatorkiste und sind zufrieden. Spotbillig ist sicher beides nicht, aber auch nicht teurer als ein C64 in seinen besten Jahren so gekostet hat. Erweiterungen wie REU, zweiter SID etc. nichtmal mitgerechnet. Man darf auf jeden Fall gespannt sein, was da noch so kommt.

  • Hast du einen Assembler, dessen Output direkt ein Diskettenimage ist?

    Ja, mein Assembler spuckt direkt Diskettenimages aus. So habe ich mal bei "The Bard's Tale III" den Tracklader etwas beschleunigt und den Interleave von 11 auf 7 angehoben, damit das Spiel schneller lädt. Das geht so, daß im Assembler 1.) zuerst die Originaldiskette geladen wird, 2.) das bisherige Skewing aufgehoben wird, 3.) das Programm gepatcht wird (wobei bei "The Bard's Tale III" der Lader an sich nur in Spur 18 vorhanden ist), 4.) ein neuer Skew von 7 ausgeübt wird. Fertig.

    Der Amiga hat doch schon von Haus aus Trackloader. Welchen Sinn hätte es, den nicht zu nutzen?

    Verzeihung, wenn ich das ergänze. Es ist richtig, daß verschiedene Lader in aller Regel per DMA jeweils einen Track vollständig ins Ram geladen und dann dort decodiert haben. Auf AmigaOS-Seite gab es dafür das "trackdisk-device", mit dem man direkt auf die Diskette zugreifen konnte. Viele Spiele haben jedoch aus Speicherplatz- und Performancegründen das AmigaOS nicht verwendet. (Wozu auch? Schließlich wurden keine Funktionen von AmigaOS verwendet.) Um Daten an beliebiger Stelle ins Ram laden zu können, haben sie einen eigenen Lader verwendet, also eine Routine, die die MFM-Daten von Diskette liest, decodiert und an ihren Zielort ins Ram schreibt. Das hat den Vorteil, daß a) die Daten direkt dorthin geschrieben werden, wo sie hinsollen (auch ins FastRam), b) der Bereich im Chipram, der zum Lesen der MFM-Daten per DMA notwendig ist, sehr klein bleibt, c) andere Diskettenformate verwendet werden können als das 11-Sektor-Format vom AmigaOS. So war es durchaus üblich, einen Track nicht in einzelne Sektoren zu zerlegen, sondern wie einen ganzen Sektor zu behandeln, was den Decodierungsaufwand stark verminderte.
    Von den Originalspielen, die ich besitze, haben die meisten (wie z. B. Paradroid90, MercenaryIII, No Second Prize) einen eigenen Trackloader, bis auf "Frontier".
    Heute ist die Verwendung von eigenen Trackladern sowie (ganz ketzerisch) die Verwendung eines eigenen Diskettenformats allerdings total verpönt, weil...



    Zum letzten Mal zum Thema:
    Wie man an diesem Thread sehen kann, liegt die Anzahl der Entwickler, die sich spontan bereit erklären, ein Spiel für einen beschleunigten C64 zu entwickeln, zur Zeit bei: 0. Das kann auch daran liegen, daß bislang in diesem Thread noch kein konkretes, vorstellbares Spieldesign genannt wurde, welches für einen beschleunigten C64 infrage käme. Eine realistische Abschätzung für eine Notwendigkeit einer Beschleunigung wird dadurch nahezu unmöglich.
    Daher findet hier der Satz seine Gültigkeit: Es gibt nichts Gutes, außer man tut es. Soll heißen: Anders wäre es, wenn - von wem auch immer, nicht unbedingt vom Threadersteller - eine konkrete Idee vorliegen würde.
    Daher der Vorschlag: Wenn irgendjemand eine Idee hat für ein Spiel - nicht nur für einen beschleunigten C64, sondern durchaus allgemein -, aber selber nicht programmieren kann, kann diese Person sich trotzdem persönlich einbringen und zunächst ein generelles Konzept entwerfen. Dieses Grundkonzept kann dann zur Begutachtung an Entwickler geschickt werden, um deren Meinung und Rat einzuholen, inwieweit etwas wirklich machbar ist oder was verbessert werden kann usw. (Das kann durchaus auch mittels PN geschehen.) Wenn dann daraus ein realistisches Grundkonzept geworden ist, kann man gezielt Programmierer, Graphiker oder Musiker ansprechen, ob sie bereit wären, sich an dem Projekt zu beteiligen. Meiner Erfahrung nach ist es viel effektiver, mit einem durchdachten Grundkonzept hausieren zu gehen als nur mit einer wagen Vorstellung. Ich glaube nicht, daß alle Musiker und Graphiker oder auch Programmierer sich bei einem Projekt "Spiel für einen beschleunigten C64" generell verweigern würden. Und ein richtiges Projekt wäre vonnöten, um die Frage nach neuen Spielimpulsen wirklich klären zu können. Denn ob ein Spiel, das einen Beschleuniger voraussetzt, tatsächlich Akzeptanz finden wird, kann man am Ende wohl nur anhand eines realen Experiments feststellen, aber nicht allein durch bloße Vermutungen und Überlegungen.

  • c) andere Diskettenformate verwendet werden können als das 11-Sektor-Format vom AmigaOS.

    Dazu muß man aber auch sagen, daß das schon sehr speziell ist und praktisch nur bei Originalversionen vorkommt. Sämtliche Cracks haben natürlich das gewöhnliche 11-Sektor-Format verwendet, damit man sie leicht kopieren kann. Was die Szene betrifft, spielen solche Sonderformate praktisch keine Rolle. Richtig ist natürlich auch, daß ein Großteil der Spiele das AmigaOS nicht verwenden, aber im vorherigen Post ging es ja explizit um solche Software, die sich ans OS halten, und da ist halt auch der Trackloader praktisch schon mit dabei.

  • Ich stimme dem letzten Abschnitt von @M. J. prinzipiell zu 100% zu, wenn wirklich ein paar Entwickler Bock drauf haetten, dann haetten sie schon laengst damit angefangen, aber das scheint nicht der Fall zu sein. Zu seinem Vorschlag, man koenne ja einen konkreten Vorschlag machen um Entwickler zu finden, die das vielleicht umsetzen wollen: Das ist zwar prinzipiell auch richtig, allerdings sollte man da auch bedenken, dass die meisten Entwickler i.d.R. bereits ihre eigenen Ideen haben und diese fuer gewoehnlich auch hoeher priorisieren als das, was sich jemand in einem Forum so wuenscht. Von daher sollte man sowas vielleicht auch nur dann machen, wenn man selbst auch aktiv daran mitarbeiten kann und will, denn dass man hier einfach nur Vorschlaege macht und ein Haufen Entwickler sich dann drauf stuerzt und sich was rauspickt, dafuer halte ich die Wahrscheinlichkeit fuer nicht viel hoeher als fuer die jetzige Begeisterung fuer solche Turbo-Modus-Projekte.

  • Und sowas baut hier ja eigentlich keiner.

    dann haetten sie schon laengst damit angefangen, aber das scheint nicht der Fall zu sein.

    *hust*

    auch hoeher priorisieren als das, was sich jemand in einem Forum so wuenscht.

    Deswegen meinte ich auch, daß es sich nicht nur um einen ungefähren Wunsch handeln soll, sondern um ein ausgearbeitetes Grundkonzept, an dem sich Entwickler orientieren können. Zumindest bei der Erstellung eines Grundkonzeptes würden sicherlich diverse Leute hier im Forum mit Rat und Tat zur Seite stehen, da es sich ja noch nicht um eine verbindliche Zusage zu einem Projekt handelt. Wichtig wären zu Beginn eher Einschätzungen zur Machbarkeit, dem möglichen Aufwand, eventuellen Programmtechniken usw. Daher wäre es vielleicht auch besser, solche Leute hier im Forum direkt per PN anzusprechen und zunächst nicht in einem Thread, da ansonsten die Gefahr besteht, daß das Projekt bereits im Ansatz von anderen, die jetzt nicht direkt über das nötige Know-How verfügen, mit unrealistischen Vorstellungen zerredet wird.

    dafuer halte ich die Wahrscheinlichkeit fuer nicht viel hoeher als fuer die jetzige Begeisterung

    Bei Bombjack und H.E.R.O. scheint es geklappt zu haben. Da gab es ein realistisches Konzept mit Aussicht auf Erfolg, und tatsächlich arbeiten Leute daran. Was mich anbelangt, so wäre ich durchaus bereit, mich an einem interessanten 3d-Spiel zu beteiligen.

  • Ich befürchte, hier liegt ein Mißverständnis vor. Ich meinte nicht die Anpassung an das SD2IEC bzw. die 1581 oder die Entfernung illegaler Opcodes zur Anpassung an die SCPU. Sowas habe ich auch schon gemacht. Ich meine vielmehr, den Code zu disassemblieren und dann mit heutigem Know-How zu optimieren wie beim obigen Beispiel bei Cholo, wo man die sinnlos aufgeblähte Schleife zum Bildschirmlöschen kürzen kann. Damalige Programme waren halt nicht immer optimal geschrieben, und es gibt oftmals eine ganze Reihe von Dingen, die man verbessern kann - natürlich ohne dabei das Programm in seiner Funktion zu verändern.Projekte, bei denen dies durchgeführt wurde, sind z. B. "Ultima IV" und "Commando". (Bei "Donkey Kong" weiß ich jetzt nicht, inwieweit der Code auf dem Original beruht.)

    Ups.
    Da hab ich Dich wirklich falsch verstanden, sorry.



    Was für Spiele könnten von einer Beschleunigung profitieren?


    Eigentlich alle welche viel Berechnen müssen, wie das schon erwähnte Elite.
    Eventuell würden auch Racing-Spiele profitieren, da die Grafik schneller berechnet und aufgebaut werden könnte.
    F-Zero auf dem C64 in Vollspeed :D


    Ach weiss eine fundierte Argumentation :saint:


    Gruss C=Mac.

  • Was für Spiele könnten von einer Beschleunigung profitieren?

    Eine Aufbausimulation a la SimCity 2000. Damit die grafisch toll daherkommt, isometrisch eben, müsste das in FLI gemacht werden - sonst wäre es sehr blass oder voller Color Clashes. FLI raubt aber CPU-Zeit. Und gerade die ganzen simulierten Aspekte einer Stadt o.ä. benötigen einiges davon.

  • Was für Spiele könnten von einer Beschleunigung profitieren?

    3D-Spiele mittels Raycasting. Hier ein Beispiel im beschleunigten Modus des TC64:


    [Externes Medium: https://youtu.be/DsOTA0JW7wE]


    Und hier im beschleunigten Modus des MEGA65:


    [Externes Medium: https://youtu.be/NFxFmmGJ3ZA]

  • Hier kann man gut sehen, welche Games einen Nutzen davon hätten. Spiele wie Test Drive werden durch einen Turbo erst wirklich vernünftig spielbar.







  • Test Drive ist mit der Super CPU sehr beeindruckend.
    Leider habe ich am TC64 keinen Unterschied sehen können zum normalen 64er.
    Ist evtl. eine Sache der Optionen..wie ist es bei euch ?

  • Ich bin noch nicht davon überzeugt, dass der beschleunigte C64 unbedingt "sein eigenes" Spiel braucht. Außerdem habe ich die Befürchtung, dass ein solches Spiel, sollte es Nachfolger finden, die C64-Community in Vanilla- und Turbo-Fans aufspalten könnte. Schon jetzt fällt manchen hier ja keine andere Lösung für jegliche C64-Herausforderungen ein, als ihn zu beschleunigen. Trotzdem habe ich mir meine Gedanken zum Thema gemacht:

    Daher der Vorschlag: Wenn irgendjemand eine Idee hat für ein Spiel - nicht nur für einen beschleunigten C64, sondern durchaus allgemein -, aber selber nicht programmieren kann, kann diese Person sich trotzdem persönlich einbringen und zunächst ein generelles Konzept entwerfen. Dieses Grundkonzept kann dann zur Begutachtung an Entwickler geschickt werden, um deren Meinung und Rat einzuholen, inwieweit etwas wirklich machbar ist oder was verbessert werden kann usw. [...] Und ein richtiges Projekt wäre vonnöten, um die Frage nach neuen Spielimpulsen wirklich klären zu können. Denn ob ein Spiel, das einen Beschleuniger voraussetzt, tatsächlich Akzeptanz finden wird, kann man am Ende wohl nur anhand eines realen Experiments feststellen, aber nicht allein durch bloße Vermutungen und Überlegungen.

    Ich entwickle ja immer gerne Ideen für Spiele, die ich gerne auf dem C64 sehen würde. Das ist bei diesem speziellen Projekt aber gar nicht einfach, denn man (ich) weiß ja gar nicht, was ein beschleunigter C64 zu leisten im Stande wäre. Gleichzeitig müsste es ein Spiel sein, dass irgendwie (trotz Beschleunigung) ein C64-Spiel bliebe, denn sonst könnte man bei dem Konzept sagen: Nimm besser einen Amiga 500 (den hat ja auch jeder Zweite hier herumstehen), der schafft das locker.


    Was kann also ein beschleunigter C64 besser als ein normaler C64 bzw. was kann er nicht besser? Erst einmal ist er nur schneller, kann aber weder höhere Auflösungen fahren, noch mehr Farben verwenden. Die Begrenzung von 8 Sprites je Rasterzeile wird sich ja auch nicht nach oben verschieben und eine 3D-Karte wächst dem Gerät auch nicht aus dem Rücken. Was tut "Metal Dust", was andere Horiziontal-Shooter nicht können? Ein paar mehr Sprites auf den Screen bringen? Das wäre ja kein wirklich tragfähiges Konzept für ein neues Leuchtturm-Projekt.


    Trotz fehlender 3D-Karte wird man wohl am ehesten eine C64-Beschleunigung bei 3D-Berechnungen bemerken. 3D-Darstellung alleine ist aber auch noch nicht automatisch ein Garant für ein tolles neues Spiel. Viele 3D-Spiele leben gleichzeitig von erweiterten Steuerungsmöglichkeiten. Beim C64 beschränken sich die (ohne zusätzliche Hardware, die den Nutzerkreis weiter einschränken würde) auf einen Digital-Joystick mit 8 Richtungen (oder wahlweise ein 1-Achsen-Paddle) mit EINEM Feuer-Knopf. Das schränkt im 3D-Raum durchaus die Bewegungsmöglichkeiten ein.


    Bleibe ich trotzdem mal bei 3D, so fallen mir schnell 1st/3rd-Person Shooter/Schleicher ein, Auto/Gleiter-Rennen (machen mit Analog-Steuerung deutlich mehr Spaß), Weltraum-Shooter, Action-RPGs und Jump&Runs (OpenWorld & Rail). Wenn man davon mal abzieht, was den c64 trotz Beschleunigung wahrscheinlich an Darstellungsgrenzen bringt (3D-Texturen? Die Raycast Demo zeigt die Grenzen auf), dann wäre Weltraum (im weitesten Sinne) oder einfache Gang-Systeme wahrscheinlich das realistischte Szenario.


    Da fällt mir dann ganz besonders der Klassiker Descent (Playstation 1) ein – sowas in noch simpler ließe sich ja evtl. mit einfachen, gefüllten Flächen darstellen. Für so eine Weltraumstation benötigt man nicht unbedingt Texturen (während Wolfenstein oder Super-Mario 64 ohne diese etwas kark aussehen würden) und es wäre interessanter, wenn man wirklich 3 Dimensionen für die Bewegung hätte (im Gegensatz zu vielen Spielen mit menschlichen Protagonisten, da man dort fest auf dem Boden steht). Für die Steuerung fehlt aber eigentlich minimal ein 2. Button (wenn man nicht entweder Beschleunigen oder Schießen automatisch erledigen möchte) – das schränkt die ganze Sache ein. Thematisch könnte man sich das ganze auch als 3D-POV-Fortsetzung von Fort Apocalypse vorstellen.


    Ich denke, mit Ideen dieser Art kann man erstmal beginnen, denn ich glaube nicht, dass ausgerechnet auf einem etwas beschleunigten C64 ein ganz neues Spiel-Genre das Licht der Welt erblickt. Wenn ich also "abgespecktes Descent" oder "Todesstern-Graben mit gefüllten Flächen" oder "Battlezone meets Starfox" sage, kann ein kundiger Programmierer sagen: geht oder geht nicht – und danach sofort: interessiert mich oder nicht. Dann kann man immer noch zusammen das Konzept ausarbeiten.