Hello, Guest the thread was called343 times and contains 6 replays

last post from C64Nostalgiker at the

Anpassung Tastenabfrage Trainer-System

  • Hallo,


    im 64er Sonderheft 17 (Spiele) gabe es u.a. ein "Trainer-System". Das war ein geändertes C64-Kernal, bei dem man durch Drücken der CBM- und Restore-Taste die Spritekollision ausschalten konnte.


    Hier mal die dazu gehörigen Seiten aus dem Sonderheft:



    Da bei einigen Spielen (z.B. Impossible Mission) das Drücken der Restore-Taste jedoch schon anderweitig durch das Spiel abgefragt wird, würde ich gerne eine andere Tastenkombination nutzen.


    Welche Stellen im Trainer-System müsste ich wie entsprechend ändern, um eine andere Tastenkombination (z.B. CBM- und F7) zur Deaktivierung der Spritekollision nutzen zu können?

  • C64Nostalgiker

    Changed the title of the thread from “Anpassung Trainer-System” to “Anpassung Tastenabfrage Trainer-System”.
  • Welche Stellen im Trainer-System müsste ich wie entsprechend ändern, um eine andere Tastenkombination (z.B. CBM- und F7) zur Deaktivierung der Spritekollision nutzen zu können?

    Eine aussagekräftige Antwort wird wahrscheinlicher, wenn du das fertige Kernal hier anhängst, denn dann würde sich das vielleicht eher jemand anschauen. Allerdings möchte ich mal behaupten, dass es keine andere Möglichkeit gibt, wo die RESTORE-Taste nicht involviert wäre. RESTORE ist nämlich keine "normale" Taste. Wird sie gedrückt, wird immer eine Unterbrechung des laufenden Programms durchgeführt (was nicht zwangsläufig heißt, dass da sichtbar etwas passiert - je nachdem, wie das programmiert wurde). Alle anderen Tasten können in einem Spiel sozusagen lahmgelegt sein oder das Kernal wird abgeschaltet. Damit funktioniert dieses Trainer-System nicht.


    Vielleicht ist es erfolgversprechender, wenn du nach Versionen deiner Spiele mit schon integrierten Trainern suchst. Die Wahrscheinlichkeit ist sehr hoch, dass sowas existiert. ^^

  • Diese Funktionen sind auch in diversen Modulen (z.B. Final Cartridge 3 oder Action Replay) integriert und lassen sich dort "zuverlässig" über den Freezer ansteuern.


    That said, die Funktionen sind eher ein Beispiel für damaligen (Pardon my French) Bullshit. Also einmal schalten die Funktionen nicht tatsächlich die Kollisionsabfrage aus, sondern durchsuchen nur den Speicher nach Code, der aussieht, als würde er Sprite-Kollisionen abfragen, und ändern den. Das gibt aber sowohl falsche Positive (= z.B. Daten werden als Code interpretiert und fälschlich verändert) als auch falsche Negative (das Spiel fragt Kollisionen auf eine andere Weise ab als üblich, der Patcher übersieht das also). Und zuguterletzt funktioniert das auch wenn korrekt umgesetzt häufig nicht: Das hilft es, wenn der Spieler bei einer Berührung mit einem Gegner kein Leben mehr verliert, aber die Schüsse des Spielers die Gegner auch nicht mehr treffen können.


    Für Impossible Mission bietet sich z.B. die Trainer-Version hier an: https://csdb.dk/release/?id=40113

  • Und zuguterletzt funktioniert das auch wenn korrekt umgesetzt häufig nicht: Das hilft es, wenn der Spieler bei einer Berührung mit einem Gegner kein Leben mehr verliert, aber die Schüsse des Spielers die Gegner auch nicht mehr treffen können.

    Oder es kann schon deshalb nicht immer funktionieren, weil auch nicht jedes Spiel die Kollisionserkennung des VIC-II nutzt oder überhaupt nutzen kann (wenn keine Sprites verwendet wurden).



    Diese Funktionen sind auch in diversen Modulen (z.B. Final Cartridge 3 oder Action Replay) integriert [...]

    Sowas wie "unendlich viele Leben" in einem Spiel funktioniert z.B. mit einem Action Replay recht gut. Letztlich ist es natürlich doch bequemer, gleich eine Spielversion mit Trainer zu nehmen. Wer sich langes suchen und ausprobieren ersparen möchte: die Versionen der Spiele in der Gamebase64 sind in der Regel mit Trainer, sofern vorhanden. Außerdem wurde die objektiv jeweils "beste" Version ausgewählt. Der Fokus liegt dabei auf einwandfreie Funktion des Spiels. Oft handelt es sich dabei auch um die Version mit den meisten Trainern.

  • Eine aussagekräftige Antwort wird wahrscheinlicher, wenn du das fertige Kernal hier anhängst, denn dann würde sich das vielleicht eher jemand anschauen.

    Hier ist die Datei.:thumbsup:

    Danke dir. Es ist alles wie vermutet. Da kann man (ich zumindest) keine sinnvolle Änderung machen.