Utility for Zeichensätze gesucht

  • Hallo miteinander,

    ich suche ein Progrämmchen, das mir die in einem "losen" ROM (also einem ROM-Dump einer Maschine, die selber nicht läuft) den enthaltenen Zeichensatz anzeigt, z.B. aus dem IBM PC (5150) ROM.

    Hat jemand sowas parat?


    Danke und Gruß

    Robert

    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

  • Den Zeichensatz findest du nicht im ROM deines PC, sondern im (EP)ROM auf der Grafikkarte.

    Ich hoffe ich habe dich richtig verstanden.


    Aber da habe ich was fuer dich.

    Das CIthoh_CharROM.bin ist nur als Beispiel.

    Aufruf: show16 CItoh_CharROM.bin

    Ausgabe ueber Bildschirm, ggf Ausgabe umleiten in eine Datei:

    show16 CItoh_CharROM.bin > CItoh_CharROM.txt


    Alle Klarheiten beseitigt?


    Viel Erfolg

  • Aber nur wenn die Kiste ein Klappgehäuse hat. :P

    Sowas kann man sich aus dem Internet runterladen.



    Und lieber funkenzupfer schau doch mal interessehalber in ein IBM PC (5150) ROM ab Adresse 1A70 (bei einem 2KB-ROM) rein :saint:

    Ja, hab ich gemacht.

    Wenn du mir die richtige Adresse 1A6E genannt haettest waere es schneller gegangen. ;)

    Und was soll das?


    Dafuer bekommst du auch ein show8.

    BTW, die Nummern bedeuten die Bytes/ Zeichen.


    Nachtrag:

    Hab auch die Ausgabe beigelegt.

  • Klasse, danke!

    Ich habe hier ein ROM für MAME, das als korrumpiert gekennzeichnet wurde, und einen neuen Versuch. So ist es am einfachsten, nachzuschauen, ob das neue ROM die markierten Fehler nicht mehr hat.


    Robert

    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

  • Nein, das ganze ist sogar von einem ziemlich irren Ding: Ein sowjetischer DEC-Rainbow Pro-350-Klon mit einer Zusatzkarte, die PC-Kompatibilität herstellt - und da hat jemand beim bestehenden ROM im Zeichensatz entdeckt, dass die 8 nicht vollständig ist, und das "männlich"-Zeichen eine Linie oben dran hat, die da nicht hingehört.

    Das sagt zwar noch nichts direkt über die Integrität der Datei aus, kann aber ein Hinweis auf ein EPROM mit defekten Zellen sein.


    pc.cpp: Mark mc1702 bios as BAD_DUMP by einstein95 · Pull Request #11390 · mamedev/mame
    When comparing the internal font to the font in the one in the ibm5150 rev1 bios, there are a number of errors that appear to have been caused by some nibbles…
    github.com

    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

  • Ich meinte das anders.

    Wieso ist im ROM des PC ein Zeichensatz? Das Videointerface ist doch zusaetzlich und hat sein eigenes Character ROM.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Da bin ich jetzt auch raus - ich wusste zwar, dass das BIOS ROM einen Zeichensatz hat, dachte aber, der würde für CGA und MDA verwendet ... aber dem ist nicht so. Vielleicht kann hier noch jemand Licht ins Dunkel bringen.

    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

  • Wieso ist im ROM des PC ein Zeichensatz? Das Videointerface ist doch zusaetzlich und hat sein eigenes Character ROM.

    The first font set is found in the IBM PC BIOS, starting at address FFA6E. In PC BIOSes, whether from IBM or from another publisher like Phoenix, Award or AMI, you will always find a font beginning at this address. This address contains the dot patterns, or glyphs, for the first, basic 128 ASCII characters. The font is always in an 8x8 pattern and essentially acts like a fallback for programs using graphics modes. You could only find the glyphs for the second, extended 128 ASCII characters on the display adapters themselves.

  • Inzwischen habe ich im BIOS Source die Funktionen GRAPHICS_READ und GRAPHICS_WRITE gefunden.


    Im Kommentar steht:

    Zitat

    FOR BOTH ROUTINES, THE IMAGES USED TO FORM CHARS ARE CONTAINED IN ROM

    FOR THE 1ST 128 CHARS. TO ACCESS CHARS IN THE SECOND HALF, THE USER

    MUST INITIALIZE THE VECTOR AT INTERRUPT 1FH (LOCATION 0007CH) TO

    POINT TO THE USER SUPPLIED TABLE OF GRAPHIC IMAGES (8X8 BOXES).

    FAILURE TO DO SO WILL CAUSE IN STRANGE RESULTS

    Wenn die zweiten 128 Zeichen auf der Grafikkarte gespeichert sind, warum nicht auch die ersten?

    Ich versteh's nicht. M.E. angefangen aber nicht zu Ende gebracht.

    Sowas kann nur IBM.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Die Zeichen-Bitmaps für die Zeichenausgabe im Grafikmodus sind im BIOS ROM gespeichert (nicht auf der Grafikkarte) und dort war eben nur Platz für die ersten 128. Deshalb müssen die zweiten 128 Zeichen, die man ja nicht immer brauchte, mit GRAFTABL (ins RAM) nachgeladen werden. ROM war eben schon sehr knapp.


    Das mögliche Auslesen von Zeichen aus dem Grafikspeicher mit Vergleich der Pixelmuster im BIOS finde ich schon bemerkenswert gelöst.

    Alternativ hätte man einen zusätzlichen Speicher für eine Alpha Ebene implementieren können und die Grafik- und Alpha Pixelströme mischen müssen.

  • Das ist kein Fehler, das ist ein Feature: Heißt "User defined Characters"

    Das glaube ich nicht.

    Alle 256 Zeichen sind im Technical Manual definiert. Von daher ist user defined nicht möglich.


    Nachtrag:


    aus IBM Technical Reference, Aug 81

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)