Intro aus PRG "entfernen"

Es gibt 33 Antworten in diesem Thema, welches 4.991 mal aufgerufen wurde. Der letzte Beitrag (24. April 2022 um 15:49) ist von Loeter.

  • Hallo Leute,

    ich hätte da ein Anliegen, welches im Grundsatz selbstverständich nicht neu ist (ausser für mich) :wacko:

    Ich hätte gerne eine Version von Fire2Jump

    Bitte melde dich an, um diesen Link zu sehen.

    ohne (!!) das erste Intro.

    Und damit ich was von euch lernen kann, würde ich mich drüber freuen, wenn jemand mit der notwendigen Erfahrung mal in Form eines "HowTo" aufzeigen könnte, wie man so eine Operation am galantesten (und professionellsten) anstellt. Am besten natürlich unter Nutzung von VICE als "Hauptarbeitsgerät".

    Ich bin in diesem Gebiet kompletter Noob, also bitte nicht zuviel voraussetzen. :huh:
    Mir ist nur die Billo-Methode "Freeze'n'Save" mit einem zB AR Modul geläufig. Dabei kommt es aber ja immer zu so unschönen grafischen Fehldarstellungen beim Start eines auf diese Weise abgespeicherten Codes. Das ist mir anno 91 schon sauer aufgestoßen.


    Also ich freu mich auf all euren Input :))

    :winke:

  • Ich habe das Game entpacken lassen und dann einen Monitor gestartet. Einsprung zum Hauptprogramm liegt bei $c000.
    Jetzt müsste man nur noch den Code durchgucken und schauen welche Speicherbereiche benutzt werden, diese dann abspeichern im Monitor und ggf. hinterher packen.

    Wenn einer, der mit Mühe kaum, geklettert ist auf einen Baum, schon meint, daß er ein Vogel wär, so irrt sich der.

    Wilhelm Busch

  • Ich habe sowas früher immer mal mit dem Action Replay VI gemacht. Exaktes Timing vorausgesetzt, gab es da eigentlich immer saubere Ergebnisse ohne Grafik- oder Sound-Störungen. Man musste halt ein bischen herumprobieren bis es gepasst hatte.

    C64 - Die einzig wahre PlayStation!
    Bitte melde dich an, um diesen Link zu sehen.

  • habs gleich....

    edit: bitteschön:

    bitte gerne mal ausgiebig testen und bescheid geben ;)

  • breakpoint auf $849d
    vice snapshot speicher
    mit hex editor vor ($0000-$0882) und end abscheiden ($2208-ende)
    start addresse auf $01 $08 anpassen
    fertig


    Leider darf ich momentar nich hochladen

  • der Sid-Tune fängt bei $1000 an, Grafikdaten von $4000 bis $52d0, Hauptprogramm von $c000 bis $cfc8, den Rest macht der Exomizer ;)

    Wenn einer, der mit Mühe kaum, geklettert ist auf einen Baum, schon meint, daß er ein Vogel wär, so irrt sich der.

    Wilhelm Busch

  • Ja, COOL!

    Kurztest hat bis Level 13 keine negativen Auffälligkeiten ergeben.

    In etwas so wie ichs mir vorgestellt hab. "Nur" der Titelscreen (also das Bild) hätte noch mit dabei sein sollen.

    Wenn du mir noob dann noch - idealerweise an praktischen Codeschnippeln - zeigen könntest, wie du dass jetzt so gemacht hast ... wär ich schonmal ordentlich dankbar, und an Wissen reicher ;)
    Dennn aus der für mich sehr knappen Ausführung in Post 2 versteh ich quasi ... garnix. Den Mon in Vice krieg ich grad ncoh so geöffnet ... und dann?

  • Ich hätte gerne eine Version von Fire2Jump

    Bitte melde dich an, um diesen Link zu sehen.

    ohne (!!) das erste Intro.

    :winke:

    Kommt da dann ein "eigenes" Intro von Dir davor? Wenn ich so fragen darf...

  • Neenee. Das wär ja billig :sick:

    Ich hatte überlegt, mir ein aus dem PRG ein (physisches) CRT zu machen, und irgendwie finde ich, dass das Intro den (meinen) Eindruck vom Spiel stört, weils dadurch im Fluss irgendwie "gecrackt" wirkt, was es ja natürlich nicht ist. Und Crack-a-likes möchte ich nicht als physische Ausgabe haben.
    Nur mein persönlicher Geschmack.

  • Denn aus der für mich sehr knappen Ausführung in Post 2 versteh ich quasi ... garnix. Den Mon in Vice krieg ich grad ncoh so geöffnet ... und dann?

    Hupps, da sind ja doch noch ein paar Erklärungen zwischen durch eingelaufen. Mus sich erstmal durchgehen.

  • Naja, ich habe das mit dem Monitor von der Final-Cartridge gemacht. (Kann man ja auch als .crt in Vice attachen)
    Zuerst gefreezed und geguckt wo der Programm-Counter steht, dann habe ich mir den Speicher angeguckt (.M 0801) und geschaut welche Daten wo liegen und den entsprechenden Speicherbereich als ganzes abgespeichert (.S "memdump.prg",08,1000,CFC8).
    Danach das Ganze nochmal mit dem Exomizer gepackt (exomizer sfx $c000 memdump.prg -ofire2jump.prg)
    Geht bestimmt noch sauberer (ohne depack-fragmente) und mit Titelbild ( hättest'e das mal vorher gesagt ;) ) , ich denke mal da hat jeder so seine Vorgehensweise.

    Wenn einer, der mit Mühe kaum, geklettert ist auf einen Baum, schon meint, daß er ein Vogel wär, so irrt sich der.

    Wilhelm Busch

    Einmal editiert, zuletzt von Messerjocke (20. Dezember 2016 um 14:37)

  • Mit VICE & Bitte melde dich an, um diesen Link zu sehen. (free hex editor) und bilder:


    Set Breakpoint
    Bitte melde dich an, um diesen Anhang zu sehen.

    Load Game (unpack, watch intro, press space)
    Breakpoint jams (Select "Save VICE snapshot", close breakpoint window. Save VSF.)
    Open VSF file in FRED.
    Select 0000-2178 & delete:

    Bitte melde dich an, um diesen Anhang zu sehen.

    Correct laod address from $37 $08 to $01 $08

    Bitte melde dich an, um diesen Anhang zu sehen.

    Select 8712-65279 & delete:

    Bitte melde dich an, um diesen Anhang zu sehen.

    Save fire2jump.prg
    Load in VICE
    2nd Intro (space) GAME

  • OK, dem kann ich von der Umsetzungseite her einwandfrei folgen, Sprich, ich konnte ein erfolgreiches Ergebnis reproduzieren. :thumbup:

    Was ich noob jetzt noch nicht ganz nachvollziehen kann, sind angegebenen Speicherbereiche:
    2178
    &
    8712

    Wie bist du an die Info gekommen, welche Speicherstellen Ober- bzw. Untergrenze der beiden löschbaren Bereiche ergeben? ?(

    Weil, ich versuch mich grad an einem etwas anderen Snapshot, der genau da ansetzt wo die Titelgrafik komplett entpackt ist und angezeigt wird. Vsf hier mal mit angehängt.

  • Ein vice snapshot ist :
    ein vorsatz
    c64 Speicher 0000 bis ffff
    ein endsatz

    Relocate code nach space startet $48xxx (muss ich nochmal schauen).

    C64 speicher map startet am $0801. Ende habe ich mit viel $00 und $ff einfach "gesehen" (packed code hat nie so eine muster)

  • immer diese "ReCrack"-Anleitungen - tsss tss tsss .... :D


    Also ich mach es immer mit Vice und nem Hexeditor

    1. in den Monitor während des Entpackens wechseln
    2. JumpOut aus der Endpackroutine suchen (meistens im Stack) - JMP $[Adresse] ggf. merken
    3. Breakpoint setzen mit un [JumpOut-Adresse]
    4. dann bank ram und ...
    5. cd [Zielverzeichnis] und ....
    6. 64kb Speicher abspeichern mit s "file.prg" 0 0002 ffff

    Der Rest geht mit dem Hex-Editor und copy&paste ziemlich einfach, da das eigentliche Program meist hinter dem Intro als "$0801-PRG inkl. BASIC-SYS" im Speicher liegt.
    Also "file.prg" im HexEditor öffnen, selbigen Speicherbereich markieren, kopieren mit STRG-C, neues HexEdit file erstellen, die Bytes 01 08 eingeben und dahinter das kopierte einfügen mit STRG-V.
    Und abspeichern als "ProgrammOhneIntro.prg" und gut is :)

    EDIT:
    Dat is ne ziemlich schnelle und universelle Methode ohne groß Code analylieren zu müssen
    Die funzt in 95% aller Fälle problemlos :P

    Viele Grüße,
    GI-Joe
    Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen.

    9 Mal editiert, zuletzt von GI-Joe (20. Dezember 2016 um 16:38)

  • habs gerade mal probiert mit Bitte melde dich an, um diesen Link zu sehen., wo sogar 2 Intros davor waren ...
    so werden aus 46kb mal schnell 35 kb :)

    o.k., hier hab ich die Methode ein bisschen abgewandelt, aber im Prinzip war es ähnlich ....
    Aber den Trainer hab ich drin gelassen - hehe :P

    ohhh ohhh, sind wir heute wieder böööse ReCracker :bgdev

    Dateien

    Viele Grüße,
    GI-Joe
    Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen.

  • Damn, ich komm mit all euren Tipps nicht dahin wo ich hin will :cursing:

    Basis ist mein Snapshot aus Post 13, oder das ursprüngliche PRG aus Post 1, je nach dem.

    Nehm ich das PRG, und nutze GI-Joes step-by-step Anleitung, gehe in den Mon anch dem Intro, aber vor dem Titelpic, bekomme ich als Ergebnis ein PRG, welches entpackt, und dann ins Spiel geht, nix Titelpic.

    Ich befürchte, SOS haben das Titelpic irgendwie mitten im Programmcode abgelegt, anstelle davor? ||

  • habs gerade exakt nach der Methode aus Posting Bitte melde dich an, um diesen Link zu sehen. gemacht - funzt !
    Nicht das Intro unterbrechen, einfach während das Intro läuft in den Monitor gehen und bei EDIT: Punkt 4 der Anleitung weitermachen.
    u.s.w. !!

    Hint:
    kopiere später im Hex-Editor $9001 - $B208
    mach ein neues HexEditFile, gebe 01 08 ein und dahinter das kopierte einfügen, abpeichern - löppt !

    Dateien

    Viele Grüße,
    GI-Joe
    Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen.

    3 Mal editiert, zuletzt von GI-Joe (20. Dezember 2016 um 17:31)

  • so, hab den 2. Part (das Game) mal mit einem Char-Packer gepackt.
    Nun startet das Game nach dem Bild wesentlich schneller.

    Allerdings ist das neue File nun 539 Bytes größer....


    EDIT: und bei der Gelegenheit hab ich gleich mal ein UNIPROM64-EPROM daraus gebastelt ...
    Das befindet sich ab sofort als EPROM #162 - 16kb_Fire_to_Jump mit in der UNIPROM64-EPROM-Kollektion :thumbsup:

    Dateien

    Viele Grüße,
    GI-Joe
    Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen.

    Einmal editiert, zuletzt von GI-Joe (20. Dezember 2016 um 18:14)

  • Diese anleitung ist mir neu (und VICE commandos). Noch einfacher:

    firetojump20161217.prg laden/starten
    VICE monitor un $849d (enter)
    space (quit intro)
    VICE monitor s "firetojump.prg" 0 0801 2a09 (enter)
    fertig


    p.s.

    $2209 + $0801 = $2209