Hallo Besucher, der Thread wurde 1,6k mal aufgerufen und enthält 10 Antworten

letzter Beitrag von rayden am

Ich benötige Hilfe für eine EasyFlash Anpassung

  • Ich arbeite gerade an "Grand Prix Circuits" für das EasyFlash und habe ein Problem.
    Das Spiel ist fast fertig angepasst. Selbst die vom Hersteller gepackten Dateien habe
    ich entpackt, für ein noch schnelleres Laden. Einzig die EasyFlash Saveroutine fehlt noch.
    Der Code der Saveroutine past problemlos im RAM. Nur dass, was als Spielestand
    abgespeichert werden soll nicht. Es sind die Sektoren #00 bis #17 der Spur #01.
    Also 18 Blocks. Es wird für jede Saveaktion nur ein Sektor beschrieben, bis dieser
    voll ist. Ein Reduzieren der Sektoren durch Umprogramierung möchte ich nicht machen,
    weil ich nicht abschätzen kann, ob das zuverlässig funktioniert.
    Hat von euch vielleicht jemand eine Idee wie man das Problem lösen kann


    PS: Ich möchte das Spiel auch Supercpu kompatibel machen.
    Dazu muss ich haufenweise LAXe entfernen. Wahrscheinlich war der Coder ein Angler. :)


    LAX $FF ist z.B.
    ------------
    LDA $FF
    TAX


    Sehe ich das so richtig?

  • Ich lade mal die zu etwa 97% fertige Version hier hoch. Einfach mal so zum austesten,
    wie schnell diese lädt. Ganz im gegensatz zu andern Versionen. 8)


    Achja, als Zugabe meine Quellcodes vom Huf-Packer und Huf-Entpacker. Vielleicht kann sie jemand gebrauchen.
    Ich hatte eigendlich vor, die Savegames vor dem Flashen zu packen.
    Nach einigen Überlegungen/Gedankenspielen hatte ich das dann wieder verworfen.

  • Ui, Monty Python schaue ich zu gerne. In "das Leben des Brian" die Latein Lehrstunde, unvergesslich. :)
    Achja, ich habe mal eine Idee um die Spielstände zu im EasyFlash zu Speichen, in grob umgesetzt.
    Vielleicht funktioniert das ja sogar. :)


  • Achja, als Zugabe meine Quellcodes vom Huf-Packer und Huf-Entpacker. Vielleicht kann sie jemand gebrauchen.

    Just curious: warum "Huf-Packer" und "Huf-Entpacker"?
    Ich dachte im ersten Moment an Huffman-Kodierung.


    <clevershitting>Der Packer/Depacker ist keine Huffman-Kodierung, sondern ist RLE-kodiert aka Run Length Encoding - gerne auch equal char packer genannt ;)</clevershitting>

  • Den hatte ich für "Accolade Comics" EasyFlash Anpassung gemacht. Der Depacker sollte als Streamdepacker fungieren.
    Der Grund ist ganz simpel. Wenn alle Dateien gerippt sind (etwa 1300 Datein) dann überschreitet das Spiel die 1MB Grenze. Immerhin hat
    das Game 6 randvolle Diskseiten. Nostalgia machen das mit ihren EasyFlash Anpassungen fast immer.


    Bei "Grand Prix Circuits" wollte ich die High Score Packen. Also jeden Sektor separat. Ich schaffe es nicht, das Savegame zwischen zu puffern,
    dann zu aktualisieren und in das EasyFlash zurückzuschreiben.


    Achja, ein Arbeitskollege hatte mir das mal so gesagt. wenn ein packer z.B. so arbeitet. siehe unten.
    nennt man das huffmankodierung. ob es stimmt, keine ahnung. seit dem nenne ich diese Packer aber so.
    Die packdichte ist nicht so gut, aber dafür ist der depacker sehr schnell


    "aaaaxxxxxeeeeeee kb,04,41 - kb,05,58 - kb,07,45"


    KB = kennbyte
    04 = 04 mal den 8bit wert
    41 = ascii "A"





    Hier, alles Handarbeit


    Accolade Comics Test/Demoversion

  • Achja, ein Arbeitskollege hatte mir das mal so gesagt. wenn ein packer z.B. so arbeitet. siehe unten.
    nennt man das huffmankodierung. ob es stimmt, keine ahnung. seit dem nenne ich diese Packer aber so.

    Nein, das stimmt nicht.
    Du kannst die Dinger ja nennen wie Du willst, aber bei der Kommunikation mit anderen solltest Du Dir diese Bezeichnung abgewöhnen. ;)


    EDIT: https://de.wikipedia.org/wiki/Huffman-Kodierung

  • Und ein Cruncher der nach deisem Prinzip arbeitet, nennt man Lempel-Ziv-Algorithmus. Ich hoffe, dass das richtig ist.