Beiträge von GenerationCBM im Thema „.g64 files auf Diskette - Wie?“

    Funktioniert dieser 1Byte-Patch wirklich bei allen Versionen des Cyan Loaders?

    Frage selbst beantwortend:
    Sollte er wohl. Bei allen drei Varianten (Jani, Stefan, "ab Werk disabled" wie von mir gefunden) wird einfach die true/false-Entscheidung überlistet, was also gleichartig funktionell ist. "Ab Werk" mit nop nop, Stefan macht aus dem bne ein beq, Jani macht den guten alten Trick "bne nächste Zeile" (d0 00). Janis 2-Byte-Patch hat allerdings den Vorteil, dass er kurz vorher noch die Ausführung der eigentlichen Checkroutine verhindert/aushebelt (jsr $0364 wird zu lda $0364), die bei dem fickeligen Cyan-Loader auch bei Originalen sowieso schonmal zickig sein kann. Das sollte einem das zweite Byte schon Wert sein. :)

    der ist verschlüsselt und verschlüsselt usw

    Und das ist noch untertrieben...

    da wo es zur checkroutine geht, meist jsr $c800, das jsr $c800 entfernen und durch (lda #$XX,pha) ersetzen.

    Genau. :) Und weil das jsr 3 Bytes gross ist, kommt man nicht umhin noch ein nop ins Getriebe zu werfen. Das ist übrigens Securispeed, den gibt's auch noch in einigen anderen Geschmacksnuancen, und selten gibt es auch den GMA-Loader ohne Securispeed.

    Wenn mir mal langweilig und nach Masochismus ist, muss ich die Cyan-Routinen auch mal zerpflücken... :)

    bei dem GMA schutz brauche ich bisher 3 byte

    Ja, da läuft's wohl meistens auf 3 Bytes raus, weil nicht viel Platz ist um den Rückgabewert aus der Checkroutine für den nächsten Descrambler anders in den Akku vorzuladen, wenn man nicht die ganze Routine umbauen will. Im hinteren Teil der Hauptroutine in GM1 kurz bevor der Descrambler abgefahren wird gibt's meistens ein pla/tax Pärchen wo die XOR-Maske zurückgeholt wird - da KÖNNTE man theoretisch ein ldx (wert) draus machen und hätte dann einen 2Byte-Patch, ist aber äusserst unschön weil erstens die Checkroutine dann komplett durchnudelt wird (was immer blöd ist) und zweitens dann typischerweise eben auch in den Extended Tracks bei 38 rumgefahren wird, was allerlei dumme Nebeneffekte hat z.B. wenn ein Discimage nur bis 35 geht, usw... Ist aber natürlich auch kein Drama, ob 1 oder 3 Byte ...

    nein, den patch hatte ich heute morgen gemacht. ganz sicher.

    Mir sind übrigens auch schonmal Originale über den Weg gelaufen, bei denen der Cyan-Loader schon ab Werk ausgehebelt wurde (vermutlich weil zu bissig). Da wurde im Code in T5S5 aus dem df 18 a6 0d stattdessen ein e5 e5 a6 0d - ich tippe mal dass das descrambled ein nop nop ist... Diese Art Patch funktioniert aber bei weitem nicht so gut wie Janis Variante, und IIRC auch nicht bei allen Cyan-Versionen.