Hallo Besucher, der Thread wurde 796 mal aufgerufen und enthält 4 Antworten

letzter Beitrag von Lindwedler am

Bildformat in MC-Modus

  • Ich bastel gerade etwas mit dem Graphics Basic bzw. Epyx Programmers Toolkit rum. Man kann damit über den Befehl MULTI SAVE "Dateiname" den aktuellen Multicolor-Screen abspeichern bzw. abgespeicherte Screens über MULTI LOAD laden. Ich habe nun versucht, Koala (kla), BMP und andere Formate zu laden, aber das abgespeicherte beziehungsweise zum Laden akzeptierte MC- oder Hires-Format scheint was anderes zu sein. Habe mal ein entsprechend über MULTI SAVE "Tata_TST" abgespeichertes Bild auf den PC gezogen (Dateiname TATA_TST.S00). In einen Editor geladen, sieht der Anfang wie folgt aus (siehe Grafik).


    Nach der Kennung C64File kommt NUL, dann der Dateiname, dann das Bild in Binaerwerten. Welches Bildformat entspricht denn diesem Aufbau?


    Huch ... 4 Uhr, beim Basteln fliegt die Zeit nur so weg ... würde mich freuen wenn jemand weiterhelfen kann. Gute Nacht! ;-)

  • Nach der Kennung C64File kommt NUL, dann der Dateiname, dann das Bild in Binaerwerten.

    Das ist aber schon ein sehr altes Dateiformat, welches wegen der 8.3-Dateinamen- und Zeichen-Limitierung auf dem PC eingeführt wurde. Die Dateiendung setzt sich bei diesem Format aus einem Buchstabe für den Dateityp (hier SEQ) und einer beliebigen zweistelligen Nummer (hier 00) zusammen, die mehrere Dateien ermöglichen soll, falls mehre Dateien mit den gleichen 8 Zeichen anfangen. Dieser Header kommt sicher nicht von Graphics Basic sondern vom Kopierprogramm.

  • Interessant. Dann wäre das Dateiformat im Grunde genommen nur ein Speicherdump mit Binaerwerten. Um das zu testen müsste man jetzt nur ein Grafikprogramm (unter C64 oder Windows) haben, was ohne Meckern auch so einen Dump lädt und entsprechend dem Multicolor-Format zuordnet - sonst dürfte die Darstellung wohl schief laufen.

  • Nimm in VICE bei "Settings > Peripheral Settings..." in den Optionen mal "Write P00 Files" heraus (am besten "Read P00 Files" gleich mit).


    Ansonsten schreibt VICE bei allen Zugriffen auf das Host-PC-Dateisystem *) immer noch einen Container um die eigentliche Datei herum (mit diesem "C64File\0" Header) der eigentlich zu nichts nütze ist. Jedesfalls sorgt es nur für Ärger, wenn man eigentlich an den Original-Dateidaten interessiert ist - z.B. wenn man wie Du ein Dateiformat analysieren will.


    Ohne die Haken werden PRG und SEQ Dateien eben so geschrieben, wie der C64 sie wegschreibt. Mit den 2 Byte Ladeadressen bei PRG-Files (die vom KERNAL kommen), und nur die reinen Daten bei SEQ-Dateien.


    Zu "Graphics Basic": es ist auf jeden Fall löblich, daß eine BASIC-Erweiterung für Grafik mal einen Bild-Speicher- und -Lade-Befehl mitbringt - gibt genug Exemplare die eben das nicht machen. Für ernsthaftes Arbeiten (insofern man da diesen Anspruch hier mal stellt) sind Grafik-BASIC-Erweiterungen ohne File-I/O nicht zu gebrauchen.


    Bei Multicolor-Bitmap würde ich nun erwarten, daß da zumindest 8000 Byte für die Bitmap, 1000 Byte für die Farbquellen 1 und 2 (aus dem "Textbildschirm"), 1000 Byte (eventuell gepackt in 500 Byte) für Farbquelle 3 aus dem Farb-RAM und noch 1 Byte für die Hintergrundfarbe drinstehen. Vermutlich ohne Lade-Adresse, da eine SEQ-Datei geschrieben wurde.


    Mit ein paar Testbildern sollte sich die Anordnung genau herausfinden lassen, und dann läßt sich sicher einigermaßen einfach ein Konverter Graphics Basic <-> Koala schreiben.


    Gruß,


    Michael



    *) also nicht etwa in ein *.d64 (etc.) Disk-Image

  • Danke Michael, da wäre ich selbst nie drauf gekommen mit den Settings bei VICE. Im Graphics Basic Handbuch - was ja der Vorläufer der Epyx Tools ist, steht dankenswerterweise tatsächlich auch das Datenformat für MULTISAVE bzw. MULTILOAD:


    The format of the file
    created is as follows:
    Sequential File
    1 Byte : “M”
    8000 Bytes: Multicolor screen
    1000 Bytes: Multicolor color screen
    1000 Bytes: Text color memory


    Dann muss ich jetzt eigentlich nur noch das Bildformat von dem unter Windows exportierbaren Dateiformat (BMP oder auch Koala, je nachdem was einfacher aufgebaut ist) raussuchen, und nen Konverter basteln.