Hallo Besucher, der Thread wurde 4,3k mal aufgerufen und enthält 32 Antworten

letzter Beitrag von Stephan Scheuer am

"Operation Thunderbolt" d64 Version aus Easyflash Games - Echte Anpassungen

  • Jep habe ich. Wenn es nicht beim ersten mal sichtbar ist, liegt am Freeze, alle Energie verlieren, so dass das Level neu gestartet wird. Siehe Bild.:)

    Das war bei dem Code gar nicht mal so einfach. Zudem bestehen alle Einzeldateien aus mehreren zusammengelinkten Dateien.

    "Operation Thunderbolt" spielt sich mit dem hinzugefügten Fadenkreuz natürlich jetzt wesentlich besser. Ich wollte mir aus dieser veränderten d81 Version wieder eine 2-Disk d64-Version basteln, damit ich das mit dem neuen Fadenkreuz auch am 1541-Ultimate nutzen kann.


    Jetzt müsste ich nur wissen, ob diese d81 Version aus irgendeiner bestimmten d64 Version entstanden ist und falls ja, welche Files dann jeweils auf welche der beiden Diskseiten gehören, denn auf ein d64 Image passt es ja nicht drauf. Hast du da Infos? Ich hab mir mal ein paar der Originalversionen angesehen, weil ich dachte, vielleicht sieht man es da, aber dort sind es wesentlich weniger Files, die sehen also ganz anders aus.

  • Ich wollte mir aus dieser veränderten d81 Version wieder eine 2-Disk d64-Version basteln, damit ich das mit dem neuen Fadenkreuz auch am 1541-Ultimate nutzen kann.

    Falls das Spiel Kernal-Loadroutinen benutzt, könnte auch das "Software IEC" Device der 1541U eine Option sein. Damit kann man vom C64 direkt auf Dateien auf dem USB-Stick zugreifen, d.h. man kopiert die Dateien aus dem .D81 in ein Directory und nutzt dann das Software IEC, was sogar wie ein FD-2000 den Befehl @CD:<Directory> kennt.

  • Ich wollte mir aus dieser veränderten d81 Version wieder eine 2-Disk d64-Version basteln, damit ich das mit dem neuen Fadenkreuz auch am 1541-Ultimate nutzen kann.

    Falls das Spiel Kernal-Loadroutinen benutzt, könnte auch das "Software IEC" Device der 1541U eine Option sein. Damit kann man vom C64 direkt auf Dateien auf dem USB-Stick zugreifen, d.h. man kopiert die Dateien aus dem .D81 in ein Directory und nutzt dann das Software IEC, was sogar wie ein FD-2000 den Befehl @CD:<Directory> kennt.


    Ja, das könnte eventuell eine Möglichkeit sein, die IEC Funktion meines 1541-U1 hab ich schon ewig nicht mehr benutzt. Könnte ich mal ausprobieren. Noch besser wäre, um sich jedesmal das Umstellen auf IEC beim 1541U zu sparen, wenn man eine d64 Version hätte. Denn von d64 läuft es, hab ich schon ausprobiert, nur manchmal hängt dann das Spiel wenn es versucht, ein File nachzuladen was nicht mehr mit auf die erste Diskseite gepasst hat.

  • Die Dateien sind von Jokers Easyflash Anpassung. Auf der original Diskette des Spiels sind die Dateien nur in zusammengelinkter Form vorhanden.:schreck!:


    Aus den Dateien "F1,F2,F3,F4" vom D81-Image, wird die Datei "FIRST" beim Original

    Aus den Dateien "P11,P12,P13" vom D81-Image, wird die Datei "PART1" beim Original

    Aus den Dateien "P21,P22,P23" vom D81-Image, wird die Datei "PART2" beim Original


    Und so weiter und sofort. Die Laderoutine bei meiner Anpassung ist, "Set Drive JSR $FFBA, Set Name JSR $FFBD und Load JSR $FFD5"

    Ich habe extra eine Codemove Routine in die Laderoutine eingebaut, um die Files, die unter dem I/O geladen weden, zuerst nach $c800 zu laden und dann nach $D000 oder $D800 zu "moven"

    Das Spiel müsste soweit ich schätzen kann, mit allen Speichermedien funktionieren, inclusive Disk2Easyflash.:)

  • Die Dateien sind von Jokers Easyflash Anpassung. Auf der original Diskette des Spiels sind die Dateien nur in zusammengelinkter Form vorhanden.:schreck!:

    Ja genau, das habe ich auch bemerkt, dort sind es viel weniger Dateien, deshalb kann man daraus leider keine Rückschlüsse ziehen.


    Hab gerade mal geschaut, bei einigen der Crackversionen wurde das Spiel so gepackt, dass es auf ein d64 passt. Wäre es dir möglich, einer der d64 Crackversion des Spiels, ebenfalls dieses Fadenkreuz hinzuzufügen und dann das veränderte File wieder korrekt zu packen?


    Ich hab mal nach der besten Crackversion gesucht. Die Gamebase64 empfiehlt hier gleich zwei Cracks, den von Ikari+Talent und den von Genesis Project. Einen davon könnte man nehmen. Siehe hier (auf "8bitfiles" klicken)

    http://www.gamebase64.com/game.php?id=5431&d=18&h=0


    Auf dem 1541U1 laufen leider nicht alle Cartridge Dateien, die auf einem Easyflash laufen, daher wäre eine mit dem Fadenkreuz versehene d64-Diskimage Version schon nicht schlecht, denn dieses kleine Detail wertet die Spielbarkeit gleich enorm auf. Kein Vergleich zu vorher.

  • Aus den Dateien "F1,F2,F3,F4" vom D81-Image, wird die Datei "FIRST" beim Original

    Aus den Dateien "P11,P12,P13" vom D81-Image, wird die Datei "PART1" beim Original

    Aus den Dateien "P21,P22,P23" vom D81-Image, wird die Datei "PART2" beim Original


    Und so weiter und sofort. Die Laderoutine bei meiner Anpassung ist, "Set Drive JSR $FFBA, Set Name JSR $FFBD und Load JSR $FFD5"


    Ich habe es jetzt mal wie von dir beschrieben sortiert auf diesen beiden d64 Files.


    Operation Thunderbolt - 1.d64

    Operation Thunderbolt - 2.d64


    Mal sehen ob das einigermaßen hinhaut. Die Ladezeit ist natürlich jetzt recht lange bei dieser Version wenn man von einem echten C64 oder einem 1541U lädt. Werde mal versuchen, diese d64 Version etwas ausführlicher zu zocken die nächsten Tage um zu sehen, ob die irgendwo abstürzt. Bis Level 4 geht sie schonmal ganz normal. Die beiden genannten Crackversionen laden natürlich schneller.


    Was ich aber schonmal feststellen konnte in dieser Version jetzt - in Level 3 ist das Fadenkreuz nicht zu sehen und in Level 4 die Hintergrundgrafik kaputt. Wird wohl auch im d81 (Fix2 Version, die ich hier umkopierte) so der Fall sein, vermute ich. Weiter als Level 4 kam ich jetzt auf die Schnelle noch nicht bislang, konnte also den Diskwechsel noch nicht probieren, denn ab Level 5 sind die Files dann auf der zweiten Seite, wie es beim Original auch der Fall ist.

  • AW182 Koenntest du fuer solche neuen Themen und Diskussionen bitte in Zukunft einen eigenen Thread auf machen und das nicht im "Easyflash Games - Echte Anpassungen" kapern. Danke!


    Ich habe die Beitraege ausgeschnitten und in die Rubrik Spiele verschoben. Sofern das in eine andere Rubrik soll, gerne Vorschlaege.

  • ...in Level 3 ist das Fadenkreuz nicht zu sehen und in Level 4 die Hintergrundgrafik kaput...


    Das liegt daran, dass hin und wieder das Laufwerk streikt, und nicht alle Dateien eines Levels lädt. Bei Level 4 könntest du mittels Winvic Monitor mal die Datei "P41" von Disk nachladen ( l"p41"8 ).

    Ich weiß zur Zeit nicht, was die Ursache der Störung ist.8) Vieleicht es es das CBM-DOS der 1581. Ich nutze ausschießlich Jiffydos, weil es einfach besser als das Standart-DOS ist. Ich schätze mal,
    und bin mir auch ziemlich sicher, dass es sich [vom Spiel verursacht] um störende Einträge in der Zeropage handelt. Ich werde, wenn es gar nicht anders geht, vor dem Laden die komplette Zeropage

    puffern und durch eine ersetzen, die die Standartwerte enthält, um störungsfrei alle Leveldateien zu laden. Danach wird die Zeropage durch das gepufferte Backup wieder hergestellt. Freier RAM ist

    ausreichend vorhanden. Im Moment installiere ich mir einen Trainer für unendlich Energie. So bin auch ich in der Lage, das Game durzuspielen und dabei auch die oben beschrieben Fehler zu überprüfen.:)

  • Und so weiter und sofort. Die Laderoutine bei meiner Anpassung ist, "Set Drive JSR $FFBA, Set Name JSR $FFBD und Load JSR $FFD5"

    Ich habe extra eine Codemove Routine in die Laderoutine eingebaut, um die Files, die unter dem I/O geladen weden, zuerst nach $c800 zu laden und dann nach $D000 oder $D800 zu "moven"

    Just curious: warum nutzt Du nicht ein KERNAL-mässiges byte-by-byte laden, sodass Du für das Wegschreiben des soeben geladen I/O ausblendest? Also in etwas wie:

    Die Variante benötigt für das Wegschreiben eines Bytes in den Speicher zwar ein paar Taktzyklen mehr, dies dürfte aber bei kleineren zu ladenden Datenmengen eher weniger ins Gewicht fallen. Zumal auch das single-byte Laden afaik von JiffyDOS o. ä. in der Geschwindigkeit profitiert. Dafür spart man sich ein "vorher eine freie Stelle im Speicher finden und dann durch-den-Speicher kopieren"

  • Ich hätte und wollte zuerst eine Getbyte Laderoutine nutzen, habe mich dann aber für den Code-Mover entschieden. Es ist nur eine 9 Block große Charset Datei pro Level, die nach $d800 geladen wird.

    Deshalb habe ich den Kernal Load "$FFD5" beibehalten. Zudem habe ich den Codemover so gecodet, dass man den Vorteil des schnellerne Ladens beibehält. Eine Getbyte Laderoutine währe in der Tat

    merklich langsamer gewesen und hätte zudem auch nicht mit Disk2Easyflash funktioniert.:). Die Ladestörungen haben auch nichts mit dem Code-Mover zu tun, sondern mit der Zeropage und dem Spiel

    selber. Die original Laderoutine war ein Fastloader, der auch unter dem I/O geladen hatte. Außerdem hatte der Lader die gelinkten Teile jeder Datei, während des Ladens an die vergesehene Adresse

    geladen. Auch störte sich der Schnelllader nicht an stark geänderter Zeropage Wetrten, oder das Fehlen von Vektoren ab $0300.


    PS: Die 1541-Version ist auch fast fertig. Siehe Directory Bild.


  • So, jetzt ich haben fertig. 8)


    Die Laderoutine ist bei beiden Versionen komplett neu gecodet und sollte eigentlich funktionieren. Die 1541 Version ist levelgecruncht und kann von jedem Laufwerk, jeder Laufwerksadresse gespielt werden.

    Die 1581 Version ist nicht levelgecruncht, weil das Laden mit Jiffydos so bedeutend schneller von statten geht. Natürlich auch von jedem Laufwerk, jeder Laufwerksadresse spielbar.


    Beiden Versionen habe ich außer dem fadenkreuz noch einen Highscore Saver spendiert.:)


    Viel Spass mit dem Game.:)

  • Ich wusste, dass diese Frage kommt.:)8)


    Ein Trainer ist bei dem Spiel gar nicht mal so einfach. Ich müsste eine Extra-Routine coden, die jeden Dateinamen abfragt, und nach dem Laden der Leveldaten diese patcht. Zum Beispiel "unl.energy"


    load level data

    get dateiname

    if dateiname = p2 then store #$bd in $8233

    if dateiname = p2 then store #$bd in $8883

    ........

    if dateiname = p8 then store #$bd in $83ed


    und so weiter.


    Ich werde mal sehen, wie man das mit dem geringsten Aufwand an Arbeit bewekstelligen kann. Natürlich muss der Highscore Saver im Trainermodus, auch deaktivert werden.8)

  • Ich habe gerade noch eine Version fertiggestellt, und zwar für einen C64 und eine 1581 im unveränderten Zustand. Die Besonderheit dieser Anpassung, ist ein extrem schneller Software Schnelllader,

    der nur mit einer 1581 im Originalzustand funktioniert. Das USR-File "copyright cbm 86" ganz unten im Directory, wird bei eingelegter Disk automatisch in das Floppy RAM geladen, sowie auch die

    C64-Schnittstellensoftware, für den Floppytreiber. Bei Anforderung der Routine wird diese in das C64-RAM nach $0334 kopiert und empfängt die Daten von der 1581, und zwar schnellstens.:)


    Das Spiel Bitte immer mit LOAD"*",8,1 oder LOAD"NAME",8,1 laden und mit RUN starten.


    Es ist das erste Mal, dass ich einen Schnelllader dieser Art eingebaut habe, deshalb ist alles höchst experimentell und kann noch Bugs enthalten.:)

  • So, jetzt ich haben fertig. 8)


    Die Laderoutine ist bei beiden Versionen komplett neu gecodet und sollte eigentlich funktionieren. Die 1541 Version ist levelgecruncht und kann von jedem Laufwerk, jeder Laufwerksadresse gespielt werden.

    Danke für diese neue d64-Version mit dem eingefügten Crosshair. Gute Aufwertung des Spiels. Ich werde das morgen ausführlich spielen, mal sehen wie weit ich komme? Falls ich irgendein Grafikproblem oder sonstwas entdecke in dieser Version, berichte ich.


    Diese ganz neue d81 Version mit dem Fastloader, lädt die dann auch auf einem SD2IEC schneller als die normale d81 Version, oder ist das nur für die 1581? Naja, probiere ich einfach mal aus, dann sehe ich es.

  • Schaue mal den Dateiname "Operation_Thunderbolt_1990_Ocean_[for_unmodified_1581_only].7z" der Disk an. :)

    Und .......extrem schneller Software Schnelllader, der nur mit einer 1581 im Originalzustand funktioniert.... Dann sagt das aus, dass nur eine 1581 im Orignalzustand unterstützt wird.:rolleyes:


    Falls du Trainerpokes brauchst, Bitte Bescheid sagen.