8x16 VGA Font für Spiele?

Diskussion zum Thema Programmierung unter DOS (Intel x86)
Brueggi

8x16 VGA Font für Spiele?

Beitrag von Brueggi »

Hallo.

Hat jemand hier im Forum gute Links zu 8x16-Fonts (die man direkt mit einer VGA-Karte verwenden kann)? Vielleicht lässt sich hier ja eine kleine Sammlung veröffentlichen, auf die jeder zugreifen kann?

Ich suche sämtliche Zeichensätze - egal ob OEM oder selbstgemacht für die verschiedensten Zwecke. Ich möchte mir eine kleine Sammlung inkl. Screenshots anlegen. Außerdem nervt mich der normale "Klotz-Font" langsam :-)

Gruß,

Brueggi
DOSferatu
DOS-Übermensch
Beiträge: 1220
Registriert: Di 25. Sep 2007, 12:05
Kontaktdaten:

Re: 8x16 VGA Font für Spiele?

Beitrag von DOSferatu »

Hab hier ein paar solcher Zeichensätze, die ich mal irgendwo "gesammelt" habe.
Hab die mal auf meinen Webspace gestellt:
http://www.imperial-games.de/z/char8x16.rar
Habe auch noch ein paar selbstgebaute Zeichensätze, viele sind 8x8, manche 8x16. Die sind jetzt hier nicht dabei.

Überflüssige Anmerkung:
Habe auch zwei selbstgebaute Programme hier zum Erstellen von Zeichensätzen. Das eine ist alt und ausschließlich für 8x8 Zeichensätze. Das andere ist neuer und für Zeichensätze mit maximal 63*32 Pixeln. Damit kann man 8x1 bis 8x32 Zeichensätze (normales Format) erstellen ODER 1x1 bis 63*32 Zeichensätze in meinem eigenen Format (Pixel senkrecht gespeichert). Letztere sind für Proportionalschrift gedacht (unterschiedlich breite Zeichen) und können statt monochrom auch 4farbig sein (erweitertes Format).
Für dieses eigene Format muß man dann natürlich eigene Darstellungsroutinen schreiben - allerdings ist das Format recht einfach zu verstehen (und ich würde auch eine Formatbeschreibung rausgeben).
freecrac
DOS-Guru
Beiträge: 861
Registriert: Mi 21. Apr 2010, 11:44
Wohnort: Hamburg Horn

Re: 8x16 VGA Font für Spiele?

Beitrag von freecrac »

Brueggi hat geschrieben:Hallo.

Hat jemand hier im Forum gute Links zu 8x16-Fonts (die man direkt mit einer VGA-Karte verwenden kann)? Vielleicht lässt sich hier ja eine kleine Sammlung veröffentlichen, auf die jeder zugreifen kann?

Ich suche sämtliche Zeichensätze - egal ob OEM oder selbstgemacht für die verschiedensten Zwecke. Ich möchte mir eine kleine Sammlung inkl. Screenshots anlegen. Außerdem nervt mich der normale "Klotz-Font" langsam :-)

Gruß,

Brueggi
Selbst auf meinem ersten monochromen 9 Zoll Monitor habe ich nur den 8x8-Font benutzt und schon in der Autoexec.bat darauf umgeschaltet, da mir nur 25 Zeilen schon immer viel zu wenig waren und wenn ich z.B einen Quellcode-Text lesen möchte,
dann möchte ich lieber so viele Zeilen wie möglich auf einmal sehen können, um einen möglichst grossen Überblick zu bekommen, ganz ohne hin und her Scrollen zu müssen. Mit dem 8x16-Font fehlt mir immer etwas.
(Rückblickend zum C64er und dortigen Assemblerlistings, die haben wir uns auf Endlospapier ausgedruckt, weil man am Monitor keinen wirklichen Überblick mehr über das gesamte Listing bekam.
Ausgerollt in 5m Bahnen im Flur konnte man dann endlich alle Sprünge auch unmittelbar verfolgen und das gesamte Listing auf einmal betrachten.)

So schalte ich auch im Norton-Commander(und auch im Total-Commander für Windows) die Ansicht(rechte Seite und linke Seite) auf kurz, um möglichst viele Verzeichniß- und Datei-Namen auf einmal nebeneinander zu sehen.
Auch die Funktionstastenleiste ist für mich überflüssig, da ich die Hotkeys weitaus schneller benutzen kann als mit der Mouse dort zu klicken.

Wenn ich auf fremden DOS-Rechner tätig werden möchte, dann bekomme ich daher immer Augenkrebs wenn ich den 8x16-Font dort antreffe.
Wie ist es mit euch anderen DOSianer, benutzt ihr in der Regel den 8x16-Font, oder wie ich den 8x8-Font für den Textmode(3)?

.....

Ich habe bisher immer nur Grafikkarten mit deutschen Umlauten im Bios verwendet, denn die hier vor Ort zu erwerbende Grafikarten haben ja alle deutsche Umlaute in ihrem Bios enthalten.
Welche Zeichen sind denn an der Stelle wo die Umlaute sind sonst vorhanden, wenn man z.B eine amerikanische Grafikkarte verwendet?

Dirk
freecrac
DOS-Guru
Beiträge: 861
Registriert: Mi 21. Apr 2010, 11:44
Wohnort: Hamburg Horn

Re: 8x16 VGA Font für Spiele?

Beitrag von freecrac »

DOSferatu hat geschrieben: Überflüssige Anmerkung:
Habe auch zwei selbstgebaute Programme hier zum Erstellen von Zeichensätzen. Das eine ist alt und ausschließlich für 8x8 Zeichensätze. Das andere ist neuer und für Zeichensätze mit maximal 63*32 Pixeln. Damit kann man 8x1 bis 8x32 Zeichensätze (normales Format) erstellen ODER 1x1 bis 63*32 Zeichensätze in meinem eigenen Format (Pixel senkrecht gespeichert). Letztere sind für Proportionalschrift gedacht (unterschiedlich breite Zeichen) und können statt monochrom auch 4farbig sein (erweitertes Format).
Für dieses eigene Format muß man dann natürlich eigene Darstellungsroutinen schreiben - allerdings ist das Format recht einfach zu verstehen (und ich würde auch eine Formatbeschreibung rausgeben).
Das ist doch keine überflüssige Anmerkung, sondern sogar sehr passend zum Thema. Selber wollte ich so etwas ja auch schon programmieren, ich bin leider dazu noch nicht gekommen.
Jetzt möchte ich gerne mal deine Programme zum Erstellen von Zeichensätzen einmal ausprobieren und auch in den Sourcecode schauen.( Auch dann wenn er gar nicht, oder nur spärlich dokomentiert wurde.)
Die Idee verschieden Zeichensätze zu sammeln finde ich wirklich prima.

....

Zum Programmieren von Anwendungen ist es wohl bedienerfreundlich, wenn man eine editierbare Konfigurationsdatei verwendet wo der Name der betreffenden Font-Datei eingetragen wird der benutzt werden soll.
Die Anwendung liest dann alle Parameter in dieser Konfigurationsdatei und läd dann die dort aufgeführte Font-Datei um Texte damit darzustellen.

Dirk
DOSferatu
DOS-Übermensch
Beiträge: 1220
Registriert: Di 25. Sep 2007, 12:05
Kontaktdaten:

Re: 8x16 VGA Font für Spiele?

Beitrag von DOSferatu »

freecrac hat geschrieben:Wenn ich auf fremden DOS-Rechner tätig werden möchte, dann bekomme ich daher immer Augenkrebs wenn ich den 8x16-Font dort antreffe.
Wie ist es mit euch anderen DOSianer, benutzt ihr in der Regel den 8x16-Font, oder wie ich den 8x8-Font für den Textmode(3)?
Bei mir ist es genau andersrum. Ich benutze den 8x16 Font. Der 8x8 ist mir zu gedrungen und zusammengeklatscht und liest sich für mich schlechter. Den benutze ich nur mal für spezielle Dinge.
Aber die Geschmäcker sind da wohl verschieden.
Das mit dem "die Sprünge alle auf einmal sehen" ist bei mir ja so, daß ich sehr gedrungen programmiere, mein Code ist teilweise seht zusammengeklatscht, ich gliedere nur NEUE Dinge. Dinge, von denen ich weiß, wie sie funktionieren und die ich schon 'zig mal so oder so ähnlich gemacht habe, klatsche ich zu einem quasi "Textblock" zusammen beim Tippen, weil es mir den Aufwand nicht wert ist, das zu gliedern. Meine Sourcen liest sowieso niemand außer mir, ich gebe auch keine Sourcen frei. (Grund: Abgesehen davon, daß ich keine Lust auf den Aufwand habe, meine Sourcen "schick" zu machen für eventuelle Dritte [dem Compiler ist sowas ja sowieso egal], bin ich auch [ja, schlagt mich ruhig!] kein Fan von OpenSource. Und zwar, weil ich es schon so oft gesehen habe, daß gute optimierte Sachen irgendwann OpenSource wurden und dann von irgendwelchen Skriptern "weiterentwickelt" wurden, die das ganze Ding kaputt-deoptimiert haben und es wurde langsam und verbuggt oder lief dann nur noch auf ner VM, die auf ner VM lief, die auf ner VM lief, die auf nem Skript lief, der auf 'nem Emulator lief... Und zwar nur, weil sie den Source gern "fancy" und "aufgeräumt" haben wollten und es mit der Virtualisierung, Modularisierung und Systemübergreifendfunktionierung extrem übertrieben haben.)
freecrac hat geschrieben:Ich habe bisher immer nur Grafikkarten mit deutschen Umlauten im Bios verwendet, denn die hier vor Ort zu erwerbende Grafikarten haben ja alle deutsche Umlaute in ihrem Bios enthalten.
Welche Zeichen sind denn an der Stelle wo die Umlaute sind sonst vorhanden, wenn man z.B eine amerikanische Grafikkarte verwendet?
Die hat die Umlaute auch, weil der "normale" USA/UK Zeichensatz, Codepage 437 ja schon der originale ist. Es gibt auch noch den 852er Zeichensatz (der wird auch in Windows benutzt und ist auch identisch mit den ersten 256 Zeichen des Unicode), da fallen die Rähmchengrafiken weg und die Umlaute und so sind an anderen Stellen angeordnet und man hat mehr Sonderzeichen dafür, in Groß- und Kleinbuchstaben.
DOSferatu
DOS-Übermensch
Beiträge: 1220
Registriert: Di 25. Sep 2007, 12:05
Kontaktdaten:

Re: 8x16 VGA Font für Spiele?

Beitrag von DOSferatu »

freecrac hat geschrieben:Das ist doch keine überflüssige Anmerkung, sondern sogar sehr passend zum Thema. Selber wollte ich so etwas ja auch schon programmieren, ich bin leider dazu noch nicht gekommen.
Jetzt möchte ich gerne mal deine Programme zum Erstellen von Zeichensätzen einmal ausprobieren und auch in den Sourcecode schauen.( Auch dann wenn er gar nicht, oder nur spärlich dokomentiert wurde.)
Wie schon erwähnt: Ich bin einer dieser Leute, die keine Sourcen herausgeben. Und die Programme zum Erstellen der Zeichensätze sind 100% für Tastaturbedienung (keine Mausunterstützung) und alles mit Hotkeys. Die Hotkeys sind auch direkt auf dem Bildschirm eingeblendet, aber gerade beim alten (für 8x8) bin ich mir nicht sicher, ob ich alle angegeben habe.
Ich bin halt 'n Freak und wenn ich Programme schreibe, die eigentlich nur für mich selber sind, baue ich NIE Mausbedienung ein und alles ist total hotkeyverseucht und häßlich.
Wenn ich irgendwelche Programme mit Oberfläche schreibe, ist das, was mich immer am meisten ankotzt, die GUI zu bauen und die GUI-Bedienung einzubauen. Das ist so langweilig...
freecrac hat geschrieben:Die Idee verschieden Zeichensätze zu sammeln finde ich wirklich prima.

Zum Programmieren von Anwendungen ist es wohl bedienerfreundlich, wenn man eine editierbare Konfigurationsdatei verwendet wo der Name der betreffenden Font-Datei eingetragen wird der benutzt werden soll.
Die Anwendung liest dann alle Parameter in dieser Konfigurationsdatei und läd dann die dort aufgeführte Font-Datei um Texte damit darzustellen.
Naja, ich persönlich bin nicht direkt ein Freund davon, da ich einiges in den Anwendungen auch mit Hilfe der ASCII-8-Zeichen löse (Codepage 437) oder sogar eigene Fonts lade, um bestimmte Dinge darstellen zu können. Allerdings hab ich mal eine kleines Programm namens SETCHR16 geschrieben, mit dem man 8x16 Zeichensätze in die Grafikkarte laden kann (das Zeichensatzfile einfach als Kommandozeilenparameter angeben). Wenn keine Modi umgeschaltet werden oder so, bleiben die dann auch erhalten, wenn man z.B. Pascal startet. Funktioniert auch im Norton Commander. (Wenn man SETCHR16 ohne Parameter ausführt, lädt es wieder den Standard-Zeichensatz der Grafikkarte.)
freecrac
DOS-Guru
Beiträge: 861
Registriert: Mi 21. Apr 2010, 11:44
Wohnort: Hamburg Horn

Re: 8x16 VGA Font für Spiele?

Beitrag von freecrac »

DOSferatu hat geschrieben:
freecrac hat geschrieben:Wenn ich auf fremden DOS-Rechner tätig werden möchte, dann bekomme ich daher immer Augenkrebs wenn ich den 8x16-Font dort antreffe.
Wie ist es mit euch anderen DOSianer, benutzt ihr in der Regel den 8x16-Font, oder wie ich den 8x8-Font für den Textmode(3)?
Bei mir ist es genau andersrum. Ich benutze den 8x16 Font. Der 8x8 ist mir zu gedrungen und zusammengeklatscht und liest sich für mich schlechter. Den benutze ich nur mal für spezielle Dinge.
Aber die Geschmäcker sind da wohl verschieden.
Dann muss man aber mehr hin und her scrollen. Für mich bedeutet das mehr Aufwand auf den ich gerne verzichten möchte.
Das mit dem "die Sprünge alle auf einmal sehen" ist bei mir ja so, daß ich sehr gedrungen programmiere, mein Code ist teilweise seht zusammengeklatscht,
Ich versuche auch immer so kompakt wie möglich ein Listing zu gestalten, trotzdem kann ich nie genug Überblick bekommen und nur 50 Zeilen sehe ich als absolutes Minimum an.
Ich verwende zur Zeit einen 28"-Monitor und selbst mit 80x50 sind die Zeichen schon riesig gross, die kann man bestimmt auch noch von Nachbarhaus erkennen.
ich gliedere nur NEUE Dinge. Dinge, von denen ich weiß, wie sie funktionieren und die ich schon 'zig mal so oder so ähnlich gemacht habe, klatsche ich zu einem quasi "Textblock" zusammen beim Tippen, weil es mir den Aufwand nicht wert ist, das zu gliedern.

Meine Sourcen liest sowieso niemand außer mir,
Ich mache so etwas ja auch überwiegend nur für mich selber.
ich gebe auch keine Sourcen frei. (Grund: Abgesehen davon, daß ich keine Lust auf den Aufwand habe, meine Sourcen "schick" zu machen für eventuelle Dritte [dem Compiler ist sowas ja sowieso egal], bin ich auch [ja, schlagt mich ruhig!] kein Fan von OpenSource. Und zwar, weil ich es schon so oft gesehen habe, daß gute optimierte Sachen irgendwann OpenSource wurden und dann von irgendwelchen Skriptern "weiterentwickelt" wurden, die das ganze Ding kaputt-deoptimiert haben und es wurde langsam und verbuggt oder lief dann nur noch auf ner VM, die auf ner VM lief, die auf ner VM lief, die auf nem Skript lief, der auf 'nem Emulator lief... Und zwar nur, weil sie den Source gern "fancy" und "aufgeräumt" haben wollten und es mit der Virtualisierung, Modularisierung und Systemübergreifendfunktionierung extrem übertrieben haben.)
Das verstehe ich schon. Doch ich würde dein Listing doch niemals ohne deine Einwilligung verändern wollen. Auch könnte ich mir so ein Programm doch auch selber programmieren.
Für mich wäre es dann halt nur um mir mal Anregungen zu holen und/oder auf wichtige Details zu achten, die ich dann in deinem Listing zu finden hoffe. Aber gut, ich möchte deine Entscheidung hierbei auch nicht beeinflussen.
Wenn, dann solltest du schon selber aus freien Willen und aus Überzeugung den Wunsch dazu verspüren dein Wissen in dieser Form weiterzugeben.

Ich bin von Opensoruce deswegen überzeugt, da nach meiner Meinung nach es keinerlei technische Geheimnisse in keinem Bereich geben sollte.
Zum Einen weil damit eine kleine Chance besteht eine weltweite soziale Gerechtigkeit zu etablieren, zum Anderen sollten wir aus reiner Vernunft heraus schon mehr brüderlich alles Wissen teilen, um unsere aller Seelenheil zu finden.
Auch weil Wissen vermarktet wird gibt es sehr viel Leid in der Welt. Und an diesem Strick um den Hals der armen Völker möchte ich nicht mitziehen, wenn ich es vermeiden kann.

Mir persöhnlich ist es eigentlich eher egal was man aus meinen Listings macht. Wenn es jemand Spaß macht kann er von mir aus damit auch sein stilles Örtchen tapezieren, oder es zum Abwischen benutzen.
Jedem wie es beliebt, da ich keinerlei Bedingung daran knüpfe , weder bei der Verwendung, ob nun verstümmelt oder auch nicht, noch bei der Verbreitung. Logisch das ich jegliche Verantwortung darüber hierbei gleich mit abgebe was damit passiert.
freecrac hat geschrieben:Ich habe bisher immer nur Grafikkarten mit deutschen Umlauten im Bios verwendet, denn die hier vor Ort zu erwerbende Grafikarten haben ja alle deutsche Umlaute in ihrem Bios enthalten.
Welche Zeichen sind denn an der Stelle wo die Umlaute sind sonst vorhanden, wenn man z.B eine amerikanische Grafikkarte verwendet?
Die hat die Umlaute auch, weil der "normale" USA/UK Zeichensatz, Codepage 437 ja schon der originale ist.
Aha, USA/UK Zeichensatz mit deutschen Umlauten, ich staune.
Aber GraKas aus Frankreich haben doch in ihrem Bios bestimmt eigene Zeichen, oder auch nicht (ich spreche leider kein framzösich, um mal eine Franzosen zu fragen)?
Es gibt auch noch den 852er Zeichensatz (der wird auch in Windows benutzt und ist auch identisch mit den ersten 256 Zeichen des Unicode), da fallen die Rähmchengrafiken weg und die Umlaute und so sind an anderen Stellen angeordnet und man hat mehr Sonderzeichen dafür, in Groß- und Kleinbuchstaben.
Du meinst wohl die erstes 128 Zeichen sind identisch, ja den Unterschied zwischen Ansi und Ascii ist mir bekannt.

Dirk
freecrac
DOS-Guru
Beiträge: 861
Registriert: Mi 21. Apr 2010, 11:44
Wohnort: Hamburg Horn

Re: 8x16 VGA Font für Spiele?

Beitrag von freecrac »

DOSferatu hat geschrieben:
freecrac hat geschrieben:Das ist doch keine überflüssige Anmerkung, sondern sogar sehr passend zum Thema. Selber wollte ich so etwas ja auch schon programmieren, ich bin leider dazu noch nicht gekommen.
Jetzt möchte ich gerne mal deine Programme zum Erstellen von Zeichensätzen einmal ausprobieren und auch in den Sourcecode schauen.( Auch dann wenn er gar nicht, oder nur spärlich dokomentiert wurde.)
Wie schon erwähnt: Ich bin einer dieser Leute, die keine Sourcen herausgeben. Und die Programme zum Erstellen der Zeichensätze sind 100% für Tastaturbedienung (keine Mausunterstützung) und alles mit Hotkeys. Die Hotkeys sind auch direkt auf dem Bildschirm eingeblendet, aber gerade beim alten (für 8x8) bin ich mir nicht sicher, ob ich alle angegeben habe.
Ich bin halt 'n Freak und wenn ich Programme schreibe, die eigentlich nur für mich selber sind, baue ich NIE Mausbedienung ein und alles ist total hotkeyverseucht und häßlich.
Wenn ich irgendwelche Programme mit Oberfläche schreibe, ist das, was mich immer am meisten ankotzt, die GUI zu bauen und die GUI-Bedienung einzubauen. Das ist so langweilig...
Ok, einige Dinge beim Programmieren sind mit relativ stupider Fleißarbeit verbunden, wie etwa die richtigen Parameter für ein Anklickfeld zu finden.
Ich selber programmiere nur aus Spaß am programmieren und aus Spaß zum lernen.
Einen anderen Grund gibt es für mich nicht zum programmieren, da ich selber nicht mal wirklich einen PC brauche und auch keines der Programme die ich jemals programmiert habe.
freecrac hat geschrieben:Die Idee verschieden Zeichensätze zu sammeln finde ich wirklich prima.

Zum Programmieren von Anwendungen ist es wohl bedienerfreundlich, wenn man eine editierbare Konfigurationsdatei verwendet wo der Name der betreffenden Font-Datei eingetragen wird der benutzt werden soll.
Die Anwendung liest dann alle Parameter in dieser Konfigurationsdatei und läd dann die dort aufgeführte Font-Datei um Texte damit darzustellen.
Naja, ich persönlich bin nicht direkt ein Freund davon, da ich einiges in den Anwendungen auch mit Hilfe der ASCII-8-Zeichen löse (Codepage 437) oder sogar eigene Fonts lade, um bestimmte Dinge darstellen zu können. Allerdings hab ich mal eine kleines Programm namens SETCHR16 geschrieben, mit dem man 8x16 Zeichensätze in die Grafikkarte laden kann (das Zeichensatzfile einfach als Kommandozeilenparameter angeben). Wenn keine Modi umgeschaltet werden oder so, bleiben die dann auch erhalten, wenn man z.B. Pascal startet. Funktioniert auch im Norton Commander. (Wenn man SETCHR16 ohne Parameter ausführt, lädt es wieder den Standard-Zeichensatz der Grafikkarte.)
Ich finde eine vom User editierbare Konfigurationsdatei eine gute Idee, man kann wahlweise dazu ja auch ein Konfigurationsprogramm entwickeln, damit die Konfiguration auch menügesteuert vollzogen werden kann.

Dirk
DOSferatu
DOS-Übermensch
Beiträge: 1220
Registriert: Di 25. Sep 2007, 12:05
Kontaktdaten:

Re: 8x16 VGA Font für Spiele?

Beitrag von DOSferatu »

freecrac hat geschrieben:Ich versuche auch immer so kompakt wie möglich ein Listing zu gestalten, trotzdem kann ich nie genug Überblick bekommen und nur 50 Zeilen sehe ich als absolutes Minimum an.
Ich verwende zur Zeit einen 28"-Monitor und selbst mit 80x50 sind die Zeichen schon riesig gross, die kann man bestimmt auch noch von Nachbarhaus erkennen.
Ich habe (mit voller Absicht!) einen 14" Röhrenmonitor. Ich wollte auch immer nur 14" (und außerdem selbstverständlich 4:3 Format). 15" wäre mein Maximum, wenn kein 14" verfügbar. Ich sitze halt sehr nah vor dem Monitor (steht auf meinem Desktoprechner auf meinem Schreibtisch) - im Klartext: 30 cm Abstand. Wenn ich da jetzt so ein riesiges Ding hätte (mal abgesehen davon, daß er groß und schwer wäre und auch kaum Platz auf dem Desktop hätte), müßte ich dauernd hin-und-her und hoch-und-runter gucken - was mich nerven tät. Abgesehen davon bin ich von CRT (Röhre) überzeugt. TFT & Co. sind für mich persönlich nur eine minderwertige Notlösung (bei Laptops eben nicht anders möglich).
freecrac hat geschrieben:Ich bin von Opensoruce deswegen überzeugt, da nach meiner Meinung nach es keinerlei technische Geheimnisse in keinem Bereich geben sollte.
Zum Einen weil damit eine kleine Chance besteht eine weltweite soziale Gerechtigkeit zu etablieren, zum Anderen sollten wir aus reiner Vernunft heraus schon mehr brüderlich alles Wissen teilen, um unsere aller Seelenheil zu finden.
Auch weil Wissen vermarktet wird gibt es sehr viel Leid in der Welt. Und an diesem Strick um den Hals der armen Völker möchte ich nicht mitziehen, wenn ich es vermeiden kann.
Ich verdiene ja kein Geld damit und ich trage Dinge, die ich mir ausgedacht habe, auch nicht irgendwo als Lizenz ein. Wenn jemand unabhängig von mir auf dieselbe Idee kommt, ist mir egal.
Meine Sourcen sind durchnumeriert und geordnet, meine Programme enthalten einen Identifikationscode, um von anderen Programmen erkannt werden zu können, bzw auch, um an der Kommandozeile Programmname, Versionsnummer, Beschreibung, evtl Build und alternativ auch Version und Namen der verwendeten Units ausgeben zu können - so kann man auch später noch ermitteln, welche Version ein Programm und die darin enthaltenen Units haben, z.B. falls es ältere Programm-/Unit-Versionen mit bekannten Bugs sind etc. Außerdem definiere ich auch öfters mal eigene Formate für alles Mögliche. Würde ich nun den ganzen Ramsch freigeben und das würde anderweitig genutzt (und vor allem: verändert!) werden, entstünde ein Wildwuchs, der mit meinem Zeug nicht mehr kompatibel wäre. Und vor allem bin ich kein großer Fan von diesem ganzen Geskripte, Virtualisiere und ähnlichem Kram, der Programme langsamer macht und der heute (leider) so beliebt ist. (Ich will mein Zeug nicht als Basis für sowas zur Verfügung stellen...)
freecrac hat geschrieben:Aha, USA/UK Zeichensatz mit deutschen Umlauten, ich staune.
Aber GraKas aus Frankreich haben doch in ihrem Bios bestimmt eigene Zeichen, oder auch nicht (ich spreche leider kein framzösich, um mal eine Franzosen zu fragen)?{/quote]
Es sind auch französische, spanische und türkische Zeichen in dem 437er enthalten, man wollte es wohl so allgemein wie möglich halten.
freecrac hat geschrieben:
DOSferatu hat geschrieben:Es gibt auch noch den 852er Zeichensatz (der wird auch in Windows benutzt und ist auch identisch mit den ersten 256 Zeichen des Unicode), da fallen die Rähmchengrafiken weg und die Umlaute und so sind an anderen Stellen angeordnet und man hat mehr Sonderzeichen dafür, in Groß- und Kleinbuchstaben.
Du meinst wohl die erstes 128 Zeichen sind identisch, ja den Unterschied zwischen Ansi und Ascii ist mir bekannt.
Nein, ich meinte es genau so, wie es da steht: Ich meine die ersten 256 Zeichen des Unicode sind mit den 256 Zeichen des 852er Zeichensatzes (Codepage 852, im Internet auch als ISO-8852 bezeichnet, was wohl bedeutet: 8bit, Codepage852) identisch. Daß die ersten 128 Zeichen in JEDEM Zeichensatz identisch sind, ist ja klar. Der ASCII-7 ist ja weltweiter Standard. Aber die zweiten 128 Zeichen (also 128 bis 255) des 852er Zeichensatzes entsprechen auch den Zeichen im Unicode und es ist dieser Zeichensatz, der auch z.B. in Windows benutzt wird. (Ich selber habe mir mal so ein Umwandel-Programm geschrieben, das mit Hilfe von Tabellen Zeichenfolgen in einem Text in andere Zeichenfolgen wandelt. Da habe ich auch Tabellen gemacht für DOS zu WIN und WIN zu DOS (also im Klartext: Codepage 473 zu Codepage 852 und umgekehrt).

Natürlich werden die Unicode-Zeichen ab 128 (im Gegensatz zum normalen 8bit-Zeichensatz) mit Hilfe diverser "Escapings" dargestellt, das ist klar - aber die ausgegebenen Zeichen entsprechen dann dem 852er Zeichensatz.

Es gibt übrigens noch einen "Hybrid"-Zeichensatz, der Satz Codepage 850. Der ist so eine Art Mischung aus 437er und 852er Zeichensatz und wird z.B. in den DOS-Fenstern von Windows benutzt. Der enthält alle Rähmchen, die doppelt oder einfach sind, jedoch nicht die Rähmen, wo doppelte und einfache kombiniert sind - an dieser Stelle sind dann 852er Zeichen eingefügt, eben die Umlaute und sowas. Und JA, in diese Zeichensatz kommen daher z.B. die Umlaute doppelt vor. Auch einige "Klötzchen" Zeichen (z.B. #221 und #222) wurden ersetzt (durch í und |, soweit ich mich erinnere), die Klötzchen #219, #220 und #223 blieben aber erhalten.

Das war jetzt vielleicht ein wenig mehr Information als nötig gewesen wäre.
wobo
DOS-Guru
Beiträge: 614
Registriert: So 17. Okt 2010, 14:40

Re: 8x16 VGA Font für Spiele?

Beitrag von wobo »

DOSferatu hat geschrieben:
freecrac hat geschrieben:Wenn ich auf fremden DOS-Rechner tätig werden möchte, dann bekomme ich daher immer Augenkrebs wenn ich den 8x16-Font dort antreffe.
Wie ist es mit euch anderen DOSianer, benutzt ihr in der Regel den 8x16-Font, oder wie ich den 8x8-Font für den Textmode(3)?
Bei mir ist es genau andersrum. Ich benutze den 8x16 Font. Der 8x8 ist mir zu gedrungen und zusammengeklatscht und liest sich für mich schlechter. Den benutze ich nur mal für spezielle Dinge.
Aber die Geschmäcker sind da wohl verschieden.
Das ist mal wieder typisch: Ich bevorzuge die goldene Mitte! Am liebsten ist mir (auf meinen 14"-ern) ein 8x12-Zeichensatz, was effektiv 80x33 ergibt.

Code: Alles auswählen

uses dos;
var r : registers;
    fptr : pointer;
    f : file;
begin
  GetMem( fptr, 3072 );
  assign( f, 'f8x12.fnt' );
  reset( f, 1 );
  blockread( f, fptr^, 3072 );
  close( f );

  r.ah := $11;
  r.al := $10;
  r.bh :=  12;
  r.bl :=   0;
  r.cx := 256;
  r.dx :=   0;
  r.es := Seg( fptr^ );
  r.bp := Ofs( fptr^ );
  intr( $10, r );

  FreeMem( fptr, 3072 );
end.
Wie kriege ich den Font ins Forum?

Der 8x8 ist mir zu zusammengestaucht. Auf 14"-ern füge ich dann immer Leerzeilen ein, was effektiv wieder 80x25 ergibt.

Auch auf 19"-ern ist mir der 8x8 einfach zu klobig.

Schade, dass die IDE von Turbo Pascal mit 80x33 nicht klarkommt. Die ist wohl auf 80x25 und 80x43/50 hardcoded...
In dieser Situatuion verwende ich dann immer 80x25.
wobo
DOS-Guru
Beiträge: 614
Registriert: So 17. Okt 2010, 14:40

Re: 8x16 VGA Font für Spiele?

Beitrag von wobo »

freecrac hat geschrieben:
freecrac hat geschrieben:Ich habe bisher immer nur Grafikkarten mit deutschen Umlauten im Bios verwendet, denn die hier vor Ort zu erwerbende Grafikarten haben ja alle deutsche Umlaute in ihrem Bios enthalten.
Welche Zeichen sind denn an der Stelle wo die Umlaute sind sonst vorhanden, wenn man z.B eine amerikanische Grafikkarte verwendet?
Die hat die Umlaute auch, weil der "normale" USA/UK Zeichensatz, Codepage 437 ja schon der originale ist.
Aha, USA/UK Zeichensatz mit deutschen Umlauten, ich staune.
Aber GraKas aus Frankreich haben doch in ihrem Bios bestimmt eigene Zeichen, oder auch nicht (ich spreche leider kein framzösich, um mal eine Franzosen zu fragen)?
Wie DosFeratu schon sagte: Der aus 256-Zeichen bestehende IBM - Zeichensatz ist derjenige, den jede 100%-IBM-VGA kompatible Karte an Board haben muss, und zwar einmal aus 8x8 und einmal aus 8x16 (und früher auch noch 8x14).

Standard zu Zeiten der PC-Einführung war einen 7-bit-Ascii-Zeichensatz. Deswegen sind alle 0-127 Zeichen des Ascii-Zeichensatzes identisch. Bei Einführung des PC hatte IBM diesen 7-bit-Zeichensatz auf 8-bit, also auf 256 Zeichen erweitert (quasi "ASCII extended"). Die Zeichen 128-255 sind also (ursprünglich) IBM-spezifisch. Da IBM "den" PC definiert hat, gilt der IBM-Zeichensatz als PC-Zeichensatz.

Diese 256 Zeichen decken schon einen Großteil der westlichen Sprachzeichen ab. Die französischen Zeichen sind z.B. in den ASCII-Codes 128-144 enthalten.

Die CGA hatte diesen 256 Zeichen großen Zeichensatz durch 8x8, die MDA durch 8x14 - Zeichen dargestellt, die fest ins BIOS eingebrannt waren. Die VGA hatte zusätzlich noch einen 8x16 - Zeichensatz eingebrannt, der ebenfalls den gesamten 8-bit-IBM-Ascii abdeckt.

Im Gegensatz zu CGA und MDA hat die VGA (wie auch schon EGA) im Textmodus diese Zeichen jedoch nicht direkt aus dem Zeichen-ROM geholt. Vielmehr werden bei Initialisierung des Textmodes der 8x16-Zeichensatz in die (im Textmode ungenutzte und versteckte) dritte Bitplane kopiert, und von dort zum eigentlichen Zeichenaufbau im Textmode verwendet. Da sich also im Textmode der Zeichensatz im Videoram befindet, ist es dem VideoController von EGA/VGA möglich die Zeichenhöhe variabel zu berücksichtigen: Während die Zeichenbreite auf 8 Pixel=8 Bit=1 Byte fixiert ist, kann die EGA/VGA Zeichenhöhen von 4-31 Zeilen verarbeiten.

Außerdem muss bei dieser Vorgehensweise der darzustellende Zeichensatz ja nicht zwingend aus dem VGA-Rom kommen, da die Darstellung ohnehin nur anhand der Zeichen aus dem Videoram erfolgt. Es kann also jeder beliebige Zeichensatz (der die Restriktionen Breite=8, Höhe zw. 4-31, einfarbig einhält) ins Videoram einkopiert werden. Das BIOS der EGA/VGA ermöglicht daher (z.B.: Interrupt $10, Funktion=ah=$11; Unterfunktion=al=$10) das Laden und Aktivieren von im Ram befindlichen Zeichensätzen...

wobo
DOSferatu
DOS-Übermensch
Beiträge: 1220
Registriert: Di 25. Sep 2007, 12:05
Kontaktdaten:

Re: 8x16 VGA Font für Spiele?

Beitrag von DOSferatu »

Ja, und ein schönes Beispiel für diese Dinge ist mein IRC-Client "Pirate-Chat". Er erlaubt 24 verschiedene Textmodi, nämlich 4 verschiedene Spaltenzahlen (80, 90, 100, 132), kombiniert mit 6 verschiedene Zeilenzahlen (25, 28, 30, 34, 50, 60).
Ich hätte noch mehr Spaltenzahlen/Zeilenzahlen einbauen können, aber ich habe nur erstmal die benutzt, die einigermaßen "sicher" dargestellt werden können - außerdem wollte ich nicht unter 80 Zeichen Breite gehen, obwohl das möglich gewesen wäre (man kann ja quasi problemlos die z.B. die Spaltenzahl halbieren, indem man den "Doublescan" für die Spalten einstellt und dann 40, 45, 50 und 66 Spalten hat).
Wie in der (überlangen) Doku von Pirate-Chat (die wahrscheinlich sowieso keiner gelesen hat) steht, kann man mit dem Befehl /RES die Auflösung ändern. Entweder mit /RES nummer (wobei nummer eine Zahl von 0 bis 23 ist) oder mit /RES BxH (wobei B und H die Breite und höhe sind, also z.B. /RES 80x50). In letzterem Fall wird, wenn man ungültige Breiten/Höhen angibt, eine in der Nähe gesucht.
Achja, ich benutze für Pirate Chat auch eigene Zeichensätze, auch an die Auflösungen angepaßt.
wobo
DOS-Guru
Beiträge: 614
Registriert: So 17. Okt 2010, 14:40

Re: 8x16 VGA Font für Spiele?

Beitrag von wobo »

DOSferatu hat geschrieben:
freecrac hat geschrieben:Ich versuche auch immer so kompakt wie möglich ein Listing zu gestalten, trotzdem kann ich nie genug Überblick bekommen und nur 50 Zeilen sehe ich als absolutes Minimum an.
Ich verwende zur Zeit einen 28"-Monitor und selbst mit 80x50 sind die Zeichen schon riesig gross, die kann man bestimmt auch noch von Nachbarhaus erkennen.
Ich habe (mit voller Absicht!) einen 14" Röhrenmonitor. Ich wollte auch immer nur 14" (und außerdem selbstverständlich 4:3 Format). 15" wäre mein Maximum, wenn kein 14" verfügbar. Ich sitze halt sehr nah vor dem Monitor (steht auf meinem Desktoprechner auf meinem Schreibtisch) - im Klartext: 30 cm Abstand. Wenn ich da jetzt so ein riesiges Ding hätte (mal abgesehen davon, daß er groß und schwer wäre und auch kaum Platz auf dem Desktop hätte), müßte ich dauernd hin-und-her und hoch-und-runter gucken - was mich nerven tät.
Geht mir genauso. Vor allem sind die PC-typischen Auflösungen (80x.., 320x200) ja irgendwie für 14"-er gemacht. Je größer der Monitor, desto unansehnlicher die Grafik. Rein subjektiv brauche ich auf einem 15"-er schon eine Auflösung wie 360x240, um dieselbe Bildqualität wie 320x200 auf einem 14"-er zu bekommen...
DOSferatu hat geschrieben: Es gibt auch noch den 852er Zeichensatz (der wird auch in Windows benutzt und ist auch identisch mit den ersten 256 Zeichen des Unicode), da fallen die Rähmchengrafiken weg und die Umlaute und so sind an anderen Stellen angeordnet und man hat mehr Sonderzeichen dafür, in Groß- und Kleinbuchstaben.
[...]
Nein, ich meinte es genau so, wie es da steht: Ich meine die ersten 256 Zeichen des Unicode sind mit den 256 Zeichen des 852er Zeichensatzes (Codepage 852, im Internet auch als ISO-8852 bezeichnet, was wohl bedeutet: 8bit, Codepage852) identisch. Daß die ersten 128 Zeichen in JEDEM Zeichensatz identisch sind, ist ja klar. Der ASCII-7 ist ja weltweiter Standard. Aber die zweiten 128 Zeichen (also 128 bis 255) des 852er Zeichensatzes entsprechen auch den Zeichen im Unicode und es ist dieser Zeichensatz, der auch z.B. in Windows benutzt wird. (Ich selber habe mir mal so ein Umwandel-Programm geschrieben, das mit Hilfe von Tabellen Zeichenfolgen in einem Text in andere Zeichenfolgen wandelt. Da habe ich auch Tabellen gemacht für DOS zu WIN und WIN zu DOS (also im Klartext: Codepage 473 zu Codepage 852 und umgekehrt).
Tut mir leid, aber ich bin technologisch in den 80ern stecken geblieben: Wenn ich jetzt meine Sourcecodes (mit deutschen ös,äs,üs...) unter Windows ausdrucken will, gibt's unschöne Buchstabenausreißer. Daran ist also die neue Codepage 852 schuld? Gibt es Deinen Umwandler auf Deiner Homepage zu requesten und hilft der dazu?
wobo
DOS-Guru
Beiträge: 614
Registriert: So 17. Okt 2010, 14:40

Re: 8x16 VGA Font für Spiele?

Beitrag von wobo »

DOSferatu hat geschrieben:Ja, und ein schönes Beispiel für diese Dinge ist mein IRC-Client "Pirate-Chat". Er erlaubt 24 verschiedene Textmodi, nämlich 4 verschiedene Spaltenzahlen (80, 90, 100, 132), kombiniert mit 6 verschiedene Zeilenzahlen (25, 28, 30, 34, 50, 60)...

1. Was ist ein Pirate-Chat? (Gab's das auch schon in den 80ern?)

2. 80x25,x28,x30 (480Zeilen),x34 (dto.),x33,x40,x50 habe ich auch schon hinbekommen (grins). Außerdem harmonieren die 80x..-Modi mit Norton Commander und einigen Editoren (nur leider nicht mit der TP 7.0 - IDE). Außerdem kann man diese Modi mit der CRT-unit von TP kombinieren, wenn man vor Einschaltung die Befehle

TextMode( co80+Font8x8 ); Window(1,1,80, 28/30/34...);

aufruft. Dann geht Writeln auch bis zur letzten Zeile.

In der horizontalen hilft bei mir ein Window(1,1,132,50) leider nichts. TP schneidet bei Writeln immer in Spalte 80 alles ab.

Der 132x.. geht aber nicht auf jeder VGA, d.h. ist chip-spezifisch? Bei meiner PVGA sind dabei übrigens immer das ganze linke und rechte Zeichen nur zur Hälfte sichtbar (egal welcher Monitor dran hängt). Ich kürze dann immer auf 128x.. (was mir eh nichts bringt, da writeln (s.o.) nur bis Spalte 80 funktioniert und ich für das Schreiben eines eigenen Writeln noch keine Zeit hatte - steht aber auf der Agenda für die nächsten Monate: Irgendwie glaube ich derzeit immer, dass das TP-Writeln sehr langsam ist, obwohl die IDE sehr schnell ist...)

Der 100x.. ist auch chip-spezifisch, d.h. läuft nicht auf jeder VGA, oder?
DOSferatu
DOS-Übermensch
Beiträge: 1220
Registriert: Di 25. Sep 2007, 12:05
Kontaktdaten:

Re: 8x16 VGA Font für Spiele?

Beitrag von DOSferatu »

wobo hat geschrieben:1. Was ist ein Pirate-Chat? (Gab's das auch schon in den 80ern?)
Der heißt eben so. Es ist ein von mir programmierter IRC-Client (zum Chatten über IRC). Gibt's übrigens auch zum Download auf meiner Seite.
wobo hat geschrieben:In der horizontalen hilft bei mir ein Window(1,1,132,50) leider nichts. TP schneidet bei Writeln immer in Spalte 80 alles ab.
Bei meiner PVGA sind dabei übrigens immer das ganze linke und rechte Zeichen nur zur Hälfte sichtbar (egal welcher Monitor dran hängt). Ich kürze dann immer auf 128x.. (was mir eh nichts bringt, da writeln (s.o.) nur bis Spalte 80 funktioniert und ich für das Schreiben eines eigenen Writeln noch keine Zeit hatte - steht aber auf der Agenda für die nächsten Monate: Irgendwie glaube ich derzeit immer, dass das TP-Writeln sehr langsam ist, obwohl die IDE sehr schnell ist...)
Ich benutze doch nicht dieses ulkige Write/Writeln von Pascal... - ich habe mir selbst Zeug programmiert, was die Zeichen/Farbcodes selber in den Grafikkartenspeicher klatscht.
Und ja, Write/Writeln ist langsam, weil es das alles "indirekt" macht, d.h. es prüft erst, auf welches Gerät geschrieben werden soll etc...
Benutzt man die Unit CRT, ist Write/Writeln etwas schneller, weil da wohl automatisch erkannt wird, wenn das zu beschreibende Gerät der Bildschirm ist und das wird dann etwas direkter gemacht. (Aber CRT hat ja auch bekanntlich diesen fiesen RTE200-Bug...)
Ich benutze also kein write/writeln und auch keine CRT, sondern schreibe das, wie erwähnt, selber in den Grafikspeicher.
wobo hat geschrieben:Der 132x.. geht aber nicht auf jeder VGA, d.h. ist chip-spezifisch?
Ja, das stimmt, das ist er. Aber es gibt ihn auch als VESA-Mode. (Ich rufe ihn aber als VGA-Mode auf).
Ich wollte den Benutzern ja nur diese Möglichkeit geben. Auf Laptops/Notebooks steht zu bezweifeln, ob da überhaupt irgendwelche Textmodi außer 80x25 und 80x50 supportet werden (und selbst diese sehen dann oft Scheiße aus...)
wobo hat geschrieben:Der 100x.. ist auch chip-spezifisch, d.h. läuft nicht auf jeder VGA, oder?
Ja, genau. Ich habe hier halt eine Grafikkarte mit ET4000-Chip drin.
Antworten