Posts by Stephan Scheuer

    Nein, es war die LevelCrusher gepackte Datei "CEB". Die Länge der entpackten und defekten Datei, geht von $E000 bis $E9EA.

    Die Länge der funktionsfähigen Datei, geht von $E000 bis $EF00. Ich hatte für die Anpassung ein defektes Original verwendet.

    Im Nachhinein hatte ich das festgestellt. Beim Konvertieren von G64 nach D64 wurde ein Sektor nicht richtig konvertiert.

    Die Sektorverkettung war erhalten geblieben und dashalb hatte ich nichts davon mitbekommen.

    Leider hat die "Sly Spy - Secret Agent" EasyFlash Version von mir einen Bug. Das dann auch noch im letzten Level. So ein Mist.:motz:


    Fehlermeldung eines Users auf der CSDB.

    Apparently in the last level, you can get stuck in the elevator, which renders this version impossible to finish.


    Dass ich das so nicht lassen kann, ist klar. Ich wollte die fixed Version aber mal auf eine andere Art und Weise erstellen.:dance

    Und zwar mit meinem C64/SCPU EasyFlash Gamemaker. Nach etwa 10 Monaten Arbeit, ist der Code endlich fehlerfrei (ich hoffe :/) und einsatzbereit.


    Ich muss nur noch den EasyFlash Dateilader und wenn vorhanden, den High-Scoresaver im Gamecode einbauen.

    Beim Erstellen des EasyFlash Games müssen sich dann alle benötigten Dateien, auch die Autoboot und die EAPI auf

    einem 1581/FD-2000 Image befinden. Nun muss man dem EF-GameMaker laden und mit sys49152 starten.

    Etwas 5 Minuten warten und Fertig ist das EasyFlash Spiel.


    Das im Anhag befindlich Spiel, ist das erste Game, welches ich mit dem Tool erstellt habe. Es funktioniert problemlos.

    Ich hatte mich richtig gewundert, weil ich Anders gewohnt bin. :) Das Spiel hat nun auch einen High-Score Saver.


    Achja, ich kann nun auch endlich EasyFlash Spiele erstellen, mit weit über 1000 Dateien. Das werde ich aber später machen, weil das EasyFlash Directory dann etwas

    anders aufgebaut ist und ich einen neuen Lader coden muss.



    Stephan

    @C=Mac


    Das braucht man auch nicht zu verstehen. Die Sachen sind teilweise so kompliziert, da reicht es, sich eine Formel rauszusuchen und die Werte einzusetzen.

    Das wäre so, wenn ich zur Elektroinstallatuer Matheprüfung ohne Taschenrechner erschienen wäre.8o Es gibt zwar Superhirne, die sowas im Kopf ausrechen aber da

    gehöre ich nicht dazu und die meisten Anderen auch nicht. Einzig, dass umstellen einer Formel sollte man schon beherschen.:)

    Ich habe den Decompiler gerade mal getestet.


    Deshalb hier noch ein Beispiel, was der Decompiler kann. Das Game "Demons Winter" von SSI hat am Anfang eine Passwortabfrage. Nun ist es höchst ungemütlich im P-Code

    herumzustochern um die Abfrage zu überspringen. Einfacher ist es, das Compilat zu decompilieren.:) Aber aufgrund der reichhaltig in dem P-Code vorkommenden

    Basic-Extensions, scheitern alle mir bekannten Decompiler. Der oben gepostete Decompiler macht problemlos aus dem Compilat, edierbares Basic inkusive der Extensions.

    Übrigens kann man das ganze Spiel mit dem Decompiler decompilieren.:)



    Anhang:


    D64 mit der decompilierten "Demons Winter" Startdatei und auch als PetCat Format. PetCat Datei musste gepackt werden, weil die Endung .bas nicht akzeptiert wurde

    Erster Decompiler auf Disk:


    Diesen Decompiler hatte ich nur als Freeze im Netz gefunden. Diskprotection komplett entfernt. Codeprotection komplett entfernt.

    Die maximaler Größe des zu decompilierenden Code auf etwa 95 Blöcke erhöht. Alle italienischen Texte ins Englisch übersetzt.

    Verbesserung der Erkennung und verarbeitung von Basic-Extensions. Restartmöglichkeit. Alles nachträglich als P-Code eingebaut


    Zweiter Decompiler auf Disk:


    War ein Spassprojekt. Hier habe ich die Codeprotection

    entfernt, um den Namen "Blitzbusters" zu ändern.



    Wer es gebrauchen kann, Viele Spass damit.:)


    Stephan:

    @kinzi


    Deine Erklärung über frequenzabhängige Widerstände kenne ich noch ganz genau. Und zwar aus der Berufsschule, Mathematik für Elektroinstallateure.:)

    Lange ist es her aber genau so wie du es geschrieben hast, ist es. Ich hatte mir mal ein Parallelkabel zu dicht am Monitor liegen, da wo der Zeilentrafo ist. Schwuppdiwupp war das IC kaputt. Das war wohl eine Induktion in dem Parallelkabel.:)

    Das steht so nicht im P-Code. Fast alles Decompiler interpretieren das aber blöderweise so.

    Ganz schlim wird es, wenn das ein Compiler so erstellt.


    10296 print#15,"b-a:";

    10304 print#15,0;

    10306 print#15,tr;

    10308 print#15,s

    10310 print#15,"u1:";

    10317 print#15,2;

    10319 print#15,0;

    10321 print#15,tr;

    10323 print#15,s


    Der Basic Code funktioniert so nicht. Der unten gelinkte micht das so immer.


    https://csdb.dk/release/?id=147419


    Oder das hier. lauter nutzlose Zeilen

    8270 i=0

    8271 fori=0to63


    12747 q=1

    12749 forq=1to8


    Andere Decompier mülllen den Basic Code mit unzähligen Klammern zu.

    Ich hatte gestern gelesen, dass die NTSC-Version von "Ultima V" über einen Fastloader verfügt.8)

    Die PAL-Version funktioniert mit dem NTSC-Only Schnelllader leider nicht, was den Game leider

    ganz üble/grausame Ladezeiten beschert.8| Ganz schnell verliert man das Interesse am Spiel und

    nur, weil da irgendwer nicht in der Lage war, einen PAL-Fix des Fastloader zu erstellen.:whistling:


    Naja, ich habe das dann gestern mal nachgeholt. Der Schnelllader funktioniert nun auch in

    Verbindung mit der PAL-Version, so nach etwa 30 Jahren. Gut ding will weile haben oder so.:roll2:

    Die XOR-Verschlüsselung hatte nur den Sinn, es den Crackern schwer zu mache, den Code zu ändern. An dem Coden im Floppy-Ram war zudem auch recht schwer

    ranzukommen. In gegensatz zum C64 , da kann man mittels Frezzer Cartridge einen Monitor aufrufen und den Code ändern, gibt es sogut wie keine Möglichkeit, den Code

    im Floppy-RAM auszulesen, auch mit dem Action Replay nicht. Der IRQ-Lader verhindert das. Heute geht das ganz einfach mit dem Monitor im WinVice.:)


    Übrigens, die meisten Kopierschutzverfahren waren einfach nur Schice und eine Geldverschwendung. Ich kenne gerademal 8 Kopierschutze, die man als sehr gut bezeichnen kann.:)

    Richtig. Bei der Input64 waren alle Programme auf der Disk so verschlüsselt. Die XOR-Verschlüsselung wurde recht häufig bei diversen Kopierschutzverfahren genutzt.

    Bei dem Game Portal von Activision ist jeder Sektor mit eine unterschiedlichen XOR-Wert verschlüsselt. Das entschlüsseln findet im Floppy-RAM, während der Ladens statt.

    Achso, das wusste ich nicht.


    Mit der unteren Spielerei kann man Breiche im RAM verschlüsseln oder entschlüsseln. Bei der Input64 wurde das so gemacht.

    Das untere kleine Beispiel kann die Programme auf der Input64 entschüsseln.


    LDA #$00

    STA $FC

    TAY

    LDA #$10

    STA $FD

    LOOP1

    LDA ($FC),Y

    EOR #$55

    STA ($FC),Y

    INI

    BNE LOOP1

    RTS

    Ja, das war ein wenig buglastig, genauso wie bei "Holiday Games". Äh, das war noch viel schimmer bei dem "Holiday Games". Aber ein Save im Easyflash hat im eigendlichem

    Sinne, nichts mehr mit den Disk-Save Zugriffen zu tun. Die Saveroutine bei meiner Version funktioniert zu 100%. Ich werde Morgen oder Übermorgen die letsten Arbeiten machen (Trainer ect.)

    Dann kannst du das "Prachtwerk" testen.:)

    Hätte ich das kaputte Teil nicht ein Jahr lang rumliegen lassen, wäre,hätte,könnte.... Hätte der Hund nicht geschissen, hätte er einen Hasen gehabt.:)

    So ist das halt. Selber Schuld. Aber wie gesagt, das fast fertige Game mache ich auf alle fälle fertig, dann war die Arbeit nicht umsonst.:)


    Zumindest habe ich ein Disk-Kopierprogramm gecodet, das nur aus Basic besteht. Auch ein Erfolg