Wie Charsets in ROM-Images konvertieren?

  • Wie Charsets in ROM-Images konvertieren?

    Beim Versuch, ein paar Charsets von Peter Koflers Website für reprom64 als ROM-Image zu konvertieren, laufe ich gegen die Wand der Unkenntnis :böse
    Die Charsets liegen als ».64c« Daten vor. Die würde ich einerseits gerne als ».bin« oder ».rom« konvertieren, andererseits zuerst auf Vollständigkeit überprüfen (sind alle Plätze belegt, sind die Grafikzeichen enthalten?). Leider ist meine Suche nach einer passenden Anwendung erfolglos. Anbei eine Beispieldatei. Mit welchem Tool komme ich hier weiter?

    Pica.64c
  • Die Datei ist 2050 Bytes groß, also 2 Byte plus 2 KiB. Also hat sie vermutlich eine (ignorierbare) Ladeadresse vorweg und man kann den Rest einfach in den Speicher laden.

    Dann nehme ich das Tool "C128" (oder meinetwegen auch x128) und gebe ein:

    Quellcode

    1. graphic 2, 1, 10
    2. bload "pica.64c", b0, p8192
    und siehe da:
    Yes, I'm the guy responsible for the ACME cross assembler
  • Hmm... und was soll ich in die vorhergehenden 2048 bytes für diesen Charset brennen? Das hier ist schließlich nur die untere Hälfte mit Groß- und Kleinbuchstaben. Da kann ich dann gerne Nullbytes vorschreiben, aber dann siehst du nur was, wenn du auf Groß/Kleinschreibung wechselst.

    Du wirst nicht darum herumkommen, die einen Zeichensatzeditor zu schnappen und den Zeichensatz zu komplettieren, sonst macht das halt wenig Sinn.

    Das Zeichensatz-ROM enthält immer 4096 bytes, also 4kB.

    lass mal das folgende Programm laufen:

    10 fori=0to255:poke1024+i,i:next

    Und dann drücke mal Commodore-Shift, dann sollte das klar werden.
  • Ich habe hier meinen veränderten Systemfont mit 6 Pixel Versalhöhe (damit meines Erachtens besser lesbar als der original C64-Font) in 2 GIF-Bildern mit vollständigem PETSCII-Zeichensatz angehängt. Daraus müsste man problemlos ein 4K Char-ROM generieren können. Heute Abend macht ALeX das wahrscheinlich ohnehin (ich bat ihn darum), wenn es nicht schon vorher hier jemand tun möchte.

    (Achtung, Font eben gerade nochmal abgedeytet)

    (Mockup von Version 1.5)
    Dateien
  • enthusi schrieb:

    GIMP kann mit dem CBMplugin 1 bit Grafik als Hires Bitmap absichern.
    Das glaube ich gerne. Dafür habe ich aber auch ein eigenständiges Tool von ALeX. Der Threadstarter wollte aber ein ROM-Image haben. Ob man das nun aus einer C64-Hires-Bitmap erzeugt oder aus 2 GIFs, ist doch einerlei, oder? Es sind beides 1-Bit-Bitmaps, nur eben in unterschiedlichen Datei-Formaten. (Oder hast du ein Tool, das 4K-Rom-Images aus 320x200 Hires-Bitmaps erzeugt? – dann würde die vorherige Konvertierung natürlich Sinn machen)

    Henning schrieb:

    Wer hatte danach gefragt?
    Eigentlich Ballblazer, der Threadstarter. Allerdings in Teilen nicht hier, sondern per PN. Er bat mich um meinen etwas niedrigeren System-Font (der dadurch mehr Durchschuss hat, was die Lesbarkeit von Listings erhöhen kann), den auch ALeX in seinem C64 verwendet. Als ich Ballblazer die ROM-Datei geben wollte, fiel mir noch etwas Verbesserungspotential auf, weswegen ich die Ursprungs-Bitmap-Dateien nochmal überarbeitet habe, aus denen ALeX das ROM-Image erzeugt hatte. Deswegen gibt es den neuen Font noch nicht als ROM-Image. Entweder schickt mir ALeX das verbesserte ROM heute Abend zu und ich gebe es an Ballblazer weiter oder (wenn ihm jemand die Arbeit abnehmen will) es konvertiert hier jemand die Dateien in eine ROM-Datei, der ähnliche Tools oder Skills am Start hat.

    Ansonsten kann man meine Charset-Vorlagen auch verwenden, um Ballblazers unvollständigen Zeichensatz zu komplettieren. Behält man den Aufbau gleich, kann ALeX (oder wer auch immer) auch daraus ein Zeichensatz-ROM generieren.
  • @Retrofan
    GIF ist ein PC Format ;)
    Eine Hiresbitmap liegt exakt so vor wie man es wuenscht (nur laenger).
    Fuer den C64 besteht ein Bild im Hires Bitmapformat aus 40x25=1000 Tiles a 8x8 pixel.
    Je 8 aufeinander folgende Bytes bilden ein Tile. Jedes Bit jedes Bytes entspricht einem Pixel.
    Ein Zeichensatz sind 256 Zeichen = 256 * 8 = 2048 Bytes.
    Das Charrom hat zwei solcher Zeichensaetze = 4096 Bytes.
    Man kann einfach die ersten 512 Tiles einer Hiresbitmap verwenden.
    Also Ausgangsbild ein PNG oder GIF (oder BMP, PCX, etc) - das ist an dieser Stelle egal!
    Dann Konverter (siehe Link, oder GIMP oder X-beliebiges Tool eines Coders) -> hiresbitmap im C64 Format.
    Davon die ersten 4096 Bytes -> fertig.
  • enthusi schrieb:

    GIF ist ein PC Format
    Echt jetzt? Ich bin halt davon ausgegangen, dass man das ROM-Image ohnehin auf dem PC erzeugt und dem ist es weitgehend egal, in welchem Format er die 1-Bit-Bitmap bekommt. In der Zeit, in der wir hier quatschen, hätte ALeX (wenn er nicht auf Arbeit wäre) das Ding schon hundertmal konvertiert, egal ob aus einem PNG, GIF oder C64-Format.

    enthusi schrieb:

    Davon die ersten 4096 Bytes -> fertig.
    OK, das macht Sinn. Hires kann ich liefern – allerdings erzeugt mein Konverter noch ein PRG herum. Ich suche aber jetzt nicht weiter nach besseren Tools, ich bin hier raus.

    Henning schrieb:

    Ohne Worte.
    Ich wollte (dem Threadstarter) nur helfen. Wenn das hier wen nervt, tut es mir leid. Ich halte mich dann wieder raus und mache den Rest direkt per PN. Ich wollte nur verhindern, dass sich doppelte Arbeit gemacht wird.
    Dateien
  • Retrofan schrieb:

    Ich wollte (dem Threadstarter) nur helfen. Wenn das hier wen nervt, tut es mir leid. Ich halte mich dann wieder raus und mache den Rest direkt per PN. Ich wollte nur verhindern, dass sich doppelte Arbeit gemacht wird.
    Halt, stop. Ich hatte Retrofan angesprochen, um ihn nach besagtem Charset zu fragen, im Zuge der Vorbereitungen für das bei Henning bestellte reprom64. Insofern ist das völlig legitim und erfreulich, dass er sich hier einklinkt. In der Sache selbst ist es unerheblich, ob ich einen Schriftsatz wie Pica.64c oder einen von Retrofan als vollständiges Char-ROM umwandeln möchte. Zu letzterem würde ich mich freuen, wenn mir jemand einen state of the art Editor nennen würde, mit dem ich die Ergänzung und Konvertierung in einem vornehmen kann. CharPad z.B. scheint eher für Tiles ausgelegt zu sein.

    Ich fände es sehr schade, wenn an dieser Stelle Animositäten aus anderen Strängen nützliche Beiträge verhindern. Bitte belasst Auseinandersetzungen in ihren Ursprungssträngen – sonst vergiftet das die Atmosphäre im Forum, was es für meinesgleichen noch schwerer macht, Probleme zu lösen. Danke. Und danke dir, Retrofan, dass du uns deinen Font zur Verfügung stellst :thumbup: .