Space Rogue

  • Beim Original kommt es sehr oft vor, dass eine Eingabe , abbruch des Intros oder Load new/saved Game, per Tastatur nicht möglich ist.

    Nur ein Neuladen des Spiels, schaffte mit Glück Abhilfe. Aber bevor ich jetzt alles nochmal schreibe, Bitte den unten angezeigten Link,

    zum Thread der Easyflash Version folgen. Wenn dann noch Fragen offen sind, versuche ich diese, nach bestem Wissen zu beantworten.:)


    Easyflash Games - Echte Anpassungen

  • Space Rogue von Origin nun ohne Sektor Loader.

    Ich bitte um Entschuldigung für eine dumme Frage.:schande:

    Früher[tm] hatte ich auf meinem Amiga einen (unvollständigen) C64-Emulator geschrieben, bei dem ich den Kernal so gepatcht hatte, daß bei einem Kernal-Load der Emulator eine PRG-Datei direkt in den Speicher kopiert. Damit war es möglich, die Dateien meiner Original "Space Rogue"-DIsketten zu verwenden, um das Spiel zu starten, da - so meine damalige Erkenntnis - das Spiel nur den Kernal zum Laden benutzte und (leider) keinen eigenen Schnellader. Auch der "Kopierschutz" bestand lediglich aus einer Wortabfrage aus dem Handbuch und keinerlei Hardwarespielereien mit der Diskette. (Die Original-Disketten habe ich vor einiger Zeit noch problemlos mit der Zoomfloppy auf den PC kopieren können.) Nun habe ich jedoch das Spiel damals nicht mit dem Emulator durchgespielt (dafür hatte ich den C128), kann also über den weiteren Verlauf im Spiel nichts sagen. Von daher würde mich mal interessieren, an welcher Stelle wurde im Programm ein Sektorlader verwendet und warum?

  • Dumme Fragen gibt es bei soetwas nicht. Der eine weiß es und gibt es weiter. Ich habe zumindestens noch kein Buch gesehen,

    in den beschrieben wird, wie ist der Track- und Sektorloader von Space Rogue aufgebaut.:)

    Ich habe dir mal meinen Quellcode im Code-Fenster gepostet. Wenn das zu unleserlich ist, kann ich auch alle Quellcodes hochladen.

    Das sind dann die Codes der 1581 und EasyFlash Anpassungen.


    Achja, alle Sektoren die per direkt-command gelesen werden, sind auf der Disk Seite 2.


  • Ich habe dir mal meinen Quellcode im Code-Fenster gepostet.

    Super! Vielen Dank!:thumbsup:

    Mit Hilfe Deines Listings hab ich mir mal mit Vice und einem Breakpoint angeschaut, wann der Sektorlader zum Einsatz kommt. Sieht so aus, als hätten die Programmierer eine Art "Datenbank" in den hintersten Sektoren der zweiten DIskette eingerichtet, aus der bei Andocken an die Station (und vielleicht noch bei anderen Gelegenheiten) Anzeigetexte gelesen werden. Da fragt man sich doch, was dieser Mischbetrieb aus Dateien und Direktsektorzugriff soll? Angesichts der extrem langen Ladezeiten während des Spiels wäre es damals[tm] besser gewesen, auf die Dateistruktur gleich ganz zu verzichten und dem Spiel dafür einen vernünftigen Schnellader zu verpassen (wie z. B. BT3). Nun denn, C64-Programme sind voll von Überraschungen, und ich habe heute wieder was dazu gelernt. Nochmals vielen Dank für Deine freundliche (und schnelle) Auskunft!

  • Ich habe eine echte Abneigung gegen Trackloader. Wenn mein Wissen dafür reicht, nehme ich diese auch ganz gerne mal auseinander und verwandle den

    Trackloader des Spiels, in ein Dateibasiertes Ladesystem. Diese Anpassungen gibt es im CMD-Hardware Thread zuhauf von mir.

    Ausnahmsweise macht der Trackloader hier Sinn. Das was geladen wird, sind wie du schon sagtest, die Texte. Diese sind zudem noch RLE-Gepackt.

    Wenn man das als Einzeldateien anlegen würde, würde das laden noch viele länger in Anspruch nehmen, selbst mit einem Schnelllader, für den

    im RAM sowieso kein Platz mehr gewesen wäre.


    Schau mal unter dem Link, dort findest du die 1581-Version. Diese hat ein komplettes Dateibasiertes Ladesystem.


    Space Rogue

  • Achso, das erklärt einiges. Ich hatte mir die Sektoren mal angesehen und fand so manchen seltsamen Inhalt, der mit Texte nicht viel gemeinsam hat.

    Zuzdem wollte ich für die EasyFlash Version, den ganzen Datenkrams entpacken. Nach einigen Tests, stellte ich fest, dass es nicht allzuviel bring.

    Viele Arbeit für eine geringe Steigerung der Ladegeschwindigkeit.:)


    Huffmann oder RLE, was ist da nun richtig und wie erkennt man das?

  • Ich habe gerade mal nach der Huffmann Kodierumg bei Wiki gesucht und auch gefunden.:schreck!:

    Also, ich habe keinen IQ von 150, wenn das ausreichen sollte. Zudem fehlt mir von der Bildung her, die höhere Mathematik.

    In diesem Leben wird das mit Sicherheit nichts mehr. Ich hätte zwar Interesse ,mir das anzueignen, aber wozu? Um gepackte

    Texte eines Spiels zu depacken? Das habe ich auch so geschafft. Kurz den Depacker aus dem Game ausgebaut und abgeändert.

    Nun lädt dieser alle Sektoren und depackt die Daten ab $1000, bis $CFFF im C64 Ram. Original war das nur von $BF00 bis $BFFF.

    Ich muss dann die Texte nurnoch mit dem Actiion Replay abspeichern.:)



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

  • Wenn man das als Einzeldateien anlegen würde, würde das laden noch viele länger in Anspruch nehmen

    Wieso? Doch höchstens weil bei einem langen Directory das Suchen länger dauern würde. Das Laden selbst würde genauso lange dauern - oder? Wenn es viele kleine Blöcke sind kann es sein dass die max. Eintragsmenge im Dir nicht gereicht hätte, deshalb sind die Programmierer vielleicht auf Direktladen ausgewichen.

  • Beide Antworten sind richtig, Erstens dauert das durchsuchen bei einer Disk, mit vollem Directory sehr lange, Das Problem hatte ich bei der Trackripped Version

    von Tass Times in Tonetown. Die Zurriffzeit elend lange. Außerdem würden die Einträge der Dateien des Spiels auch nicht im Direrctory passen.


    Der Trackloader ist auch bei Space Rouge schneller, weil dieser die Offset Daten direkt an die Floppy sendet, ohne den Umweg, diesese Daten im

    Diectory zu suchen.