Action Replay kompatibler Autostart

Es gibt 9 Antworten in diesem Thema, welches 2.041 mal aufgerufen wurde. Der letzte Beitrag (11. März 2019 um 19:07) ist von GI-Joe.

  • Wir hacken gerade ein altes Projekt von uns und sind dabei (wieder) auf das Problem gestossen, dass unser Autostart nicht z.B. mit dem Action/Retro Replay funktioniert, crasht und dann in den Freezer springt.

    Ich muss zugeben, ich habe mit dem Thema so garkeine Ahnung und hoffe es gibt hier einen Wissenden der uns helfen kann.

    Wir könnten natürlich den Autostart rauswerfen - aber wieso wenn es ggf. auch anders funktioniert? Soweit ich mich erinnern kann gibt es durchaus Autostarts die auch mit Cartridges funktionieren.

    Im Endeffekt brauchen wir "nur" einen Boatloader welcher unseren ersten Part lädt ($0801) und diesen nach dem laden dann startet.

    Könnt ihr mir damit weiterhelfen?

  • schau die mal die Methoden Bitte melde dich an, um diesen Link zu sehen. und Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen. an ....
    mein Favorit ist Methode Bitte melde dich an, um diesen Link zu sehen.

    EDIT: ups, TMA war schneller :winke:

    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.

  • Du solltest als erstes vor dem Laden ein
    JSR$FF84
    JSR$FF8A

    machen, dann hat ActionReplay und andere Cartridges nix mehr zu sagen ;)

    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.

  • Leider helfen die jsr nicht. Den autostart an sich haben wir hinbekommen, dass er mit RR/AR funktioniert, man muss nur drauf achten keinen Code in $02a7-$0300 zu legen, der wird vom cartridge selbst genutzt.
    Sowohl die Stack Methode als auch die chrout vector Methode mit Code im Kassetten Puffer funktionieren soweit, alles wird dann mit eigenem loader oder sogar mit kernal loader (weil die o. g. Jsr den cartridge fastload abschalten) geladen und sogar erfolgreich entpackt. Irgendwas im Nachgang scheint aber den Speicher zu überschreiben. Als wenn der entpacken schön brav ins RAM schreibt aber teile dann ggf aus dem cart Rom überlagert werden. Aber eben nur Wenns per autostart gestartet wurde...
    Wenn wir das ganze ohne cartridge machen, funzt alles wie es soll. Selbst wenn wir mit cartridge aber ohne autostart laden per basic starter geht's...
    Habs schon mit $de00 Änderungen versucht das cart komplett abzuschalten. ohne Erfolg

  • Neue Erkenntnisse:

    Wenn ich gleich nach dem Start des Codes, der nach dem Entpacken gestartet wird, mal kurz in den Freezer gehe und gleich wieder raus....dann läuft alles weiter wie es soll.
    Irgendwas scheint der Freezer zu resetten, was mir im Autostart fehlt...

  • Der Bootloade von GEOS 2.0 wäre hier vielleicht interessant. Zumindest mit dem Action/Retro Replay ist der kompatibel und hat durch etwas Overhead außerdem noch die Besonderheit, dass er sowohl mit ,8 als auch mit ,8,1 geladen startbar ist. Autostart gibt's da natürlich auch nur beim Laden mit ,8,1. Aber mit ,8 geladen steht eine kleine BASIC-Zeile im Speicher, die mit RUN gestartet sich selbst mit ,8,1 lädt und somit startet.

  • schaltet das ar doch ganz aus mit
    lda #$06
    sta $de00

    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.

  • Danke, habs endlich hinbekommen. Es musste der LOAD Vector zurückgesetzt werden und $0a nach $de00 geschrieben werden. Sonst wurde/blieb das cart-ROM in $8000 eingeblendet.

  • Es musste der LOAD Vector zurückgesetzt werden und $0a nach $de00 geschrieben werden.

    für ein temporäres Abschalten ist #$0a bzw. #$02 ok.
    Willst Du aber sicher gehen, dass nicht irgendwer oder irgendwas danach das AR wieder einschaltet (mit einem Write auf $DE00), dann nimm lieber lda#$06 , danach kannst Du oder wer auch immer nach $DE00 schreiben was Du willst, das AR bleibt aus bis zum nächsten HardReset ;)

    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.