Außerdem geht es mit nicht um eine spezielle Font (wenn ich es so lösen kann ist das erstmal ok), sondern das direkte ändern der Codepage durch das BIOS.
Was genau ist an dem Teil mit "durch das BIOS" so wichtig, dass es Teil deiner Zielbeschreibung ist?
Diese Bedingung lag an meinem falschen Verständnis von Codepages und Fonts. Jetzt habe ich mich mal durch so ziemlich alles, was ich finden konnte, durchgelesen udn es bleiben noch zwei drei Fragen.
Ich befinde mich nach dem laden des Kernels im Protected Mode, mit TextMode 80x25. Das heißt mein Videospeicher beginnt bei 0xB8000 und ist 4000 Bytes lang. Meine Zeichen, die ich anstelle der Standard ASCII-Zeichen verwenden möchte muss ich Pixel für Pixel definieren. Das macht beim TextMode mit 80x25 eine Zeichengröße von 8x16 Pixel, die per 16 Bytes (eines für jede Pixelzeile) definiert werden. Dies muss ich für alle 256 Zeichen machen, was also eine Größe von 16 x 256 Byte = 4096 Bytes (4KB) ergibt, die ich im Speicher hinterlegen muss. Soweit dürfte mein Gedankengang richtig sein.
Nun hab ich gelesen, dass diese Font in den Videospeicher gehört und ich, wie Svenska richtig andeutete, lediglich den Zeiger so ändern muss, dass er auf die Startadresse meiner Font zeigt. Aber mein Videospeiche rist doch nur 4000Bytes lang und theoretisch müsste die Font dahinter, oder sehe ich das mal wieder falsch. Wo kann ich die 4kb am besten hinpacken und wenn cih schon im Kernel bin, wie ändere ich dann den zeiger? Reicht da wirklich das esi edi getausche oder nicht?
Wenn ich mal wieder Mist stammle, dann seit nachsichtig
Für alle die es interessiert, warum ich das überhaupt ändern will:
Ich habe mal eine eigene Sprache (keine Geheimsprache oder Ähnliches) entwickelt, die mit anderen Zeichen arbeitet. Allerdings nicht so, dass ein "a" nur ersetzt wird durch eines meiner Zeichen und wenn man "Auto" schreiben will, einfach 4 Zeichen meiner Sprache zusammensetzen muss. Es gibt eine eigene Grammatik, andere Laute und Worte, die durch derzeit 19 Zeichen und ihre kombinationen dargestellt werden + Zeichen für die Zahlen 0 - 9. Diese Sprache möchte ich gerne in meinem OS nutzen, was es aber nötig macht, dass die Zeichen hinterlegt sind, da sich die Worte mit lateinischen Buchstaben nur so darstellen lassen wie sie ausgesprochen werden und dadurch sehr lang werden können. Das nur mal zur Info. Auf die Frage, warum ich überhaupt eine eigene Sprache entwickle, kann man genauso antworten, wie auf die Frage warum ein eigenes OS: Weil es geht!