Semigrafik - Semigraphics

Beispiel für eine Zeichensatzanzeige mit Blockgrafik, wie sie im TRS-80 Color Computer (CoCo) und Dragon 32/64 . verwendet wird
Ein Beispiel für einige semigrafische Zeichen.

Textbasierte semigraphics oder pseudographics ist eine primitive Methode in frühen Textmodus Video - Hardware zu emulieren Rastergrafik , ohne die Logik für eine solche Anzeigemodus zu implementieren.

Es gibt zwei verschiedene Möglichkeiten, die Emulation von Rastergrafiken zu erreichen. Die erste ist eine mit niedriger Auflösung erstellen alle Punkte adressierbar Modus einen Satzes von speziellen Verwendung Zeichen mit allen binären Kombinationen einer bestimmten Unterteilungsmatrix der Textmodus Zeichengröße; Diese Methode wird als Blockgrafik oder manchmal als Mosaikgrafik bezeichnet .

Die zweite Möglichkeit besteht darin, spezielle Formen anstelle von Glyphen (Buchstaben und Zahlen) zu verwenden, die wie im Rastergrafikmodus gezeichnet erscheinen, manchmal auch als Halb- oder Pseudografik bezeichnet ; Ein wichtiges Beispiel dafür sind Box-Drawing-Zeichen .

Semigrafische Zeichen (einschließlich einiger Blockelemente) sind weiterhin in das BIOS jeder VGA- kompatiblen Grafikkarte integriert, sodass jeder PC diese Zeichen vom Moment des Einschaltens an anzeigen kann , auch wenn noch kein Betriebssystem geladen ist. Einzelne und doppelte Linien werden mit dieser Methode immer noch oft gezeichnet, wenn das System den Textmodus verwendet; B. beim Ausführen des BIOS-Setup-Programms.

Viele dieser historischen Ideen wurden in Unicode übernommen, beispielsweise in den Unicode-Blöcken Blockelemente , Kastenzeichnung und Geometrische Formen .

Grafiken blockieren

Zum Beispiel könnte ein 8×12-Zeichen vertikal in zwei Hälften und horizontal in drei Teile geteilt werden und dann den Elementen der Matrix in einem binären Muster die Werte "Tinte" und "Hintergrund" zugewiesen werden, entsprechend der binären Folge der Position in der Schrifttabelle einer 2×3-Mosaikmatrix aus sogenannten Squots (Square Dots) oder Sextanten . Weniger häufig verwendete Versionen verwenden eine 1×6 "Matrix", in diesem Fall werden diese sechs "Pixel" manchmal als Sechsel bezeichnet . Aber auch die Aufteilung eines 8×8-Zeichens in 2×2 "Pixel", sogenannte Quadranten, war üblich (es wurde beispielsweise im Sinclair ZX81 verwendet ). Manchmal werden die semigraphischen Textzeichen einfach in den Fontsatz des Systems integriert, manchmal wird spezielle Videohardware verwendet, um das Bitmuster direkt aus dem Videospeicher in die Pixel umzuwandeln. In seltenen Fällen war eine Zeichenmatrix nicht vertikal durch drei teilbar, zum Beispiel in einer 8×8-Matrix wird das Mosaik manchmal so geteilt, dass es ein 3:2:3-Scanlinienschema verwendet. Der Grafikmodus der Galaksija ist ein Beispiel, obwohl der Verzerrungseffekt bei einem 4:5:4-Schema minimal war.

Anordnung von Zeichen und Pixeln auf dem TRS-80-Display

Die bahnbrechende Anwendung dieser Technologie war im TRS-80, wo die einzige Möglichkeit, diskrete Pixel auf dem Bildschirm zu erhalten, die einzeln ein- und ausgeschaltet werden konnten (alle Punkte adressierbar), die Verwendung einer 2 × 3-Pixel-Blockmatrix war Grafik. Beim TRS-80 wurden diese Blockgrafiken nicht wie später üblich in ein Font-ROM eingebunden, sondern direkt aus dem logischen Muster von sechs Bit aus dem Video-RAM mit Hilfe einer dedizierten Schaltung aus Logikgattern erzeugt . Ein früheres System, das das gleiche Pseudo-Graphik-Array einer 2x3-Matrix verwendet, war das Video Terminal Interface (VTI) des Poly-88 von polymorphen Systemen , ein S-100-Bus- basiertes System vor dem TRS-80.

Wenn das System auch Farbe unterstützte, war die Farbauflösung der resultierenden Pixel normalerweise gleich der Textauflösung, was oft zu Attributkonflikten führte, da die Farbe eines Pixels nicht pixelweise geändert werden konnte, sondern nur auf eine "Tinte" , und eine "Hintergrundfarbe" für alle Pixel innerhalb einer Zeichenposition.

Manchmal könnte die Anzahl der Zeichen in der Schriftart, die Blockgrafiken gewidmet ist, halbiert werden, wenn das System auch ein "Invert"-Attribut unterstützt, da die Hälfte der Zeichen in einem vollständigen Blockgrafik-Schriftsatz die logische Umkehrung der anderen Hälfte der Schriftart ist einstellen. Andere Tricks, die verwendet wurden, um die Anzahl der benötigten Zeichen zu verringern, waren die Verwendung eines Leerzeichens für das Zeichen "alle Bits sind Null" und die Verwendung des Zeichens 7F hex für das Zeichen "alle Bits sind an" als Zeichen 7F hex (dezimal 127) wurde oft als "Alle Pixel an"-Zeichen definiert (dies lag daran, dass beim Ausstanzen aller sieben Löcher mit Papierband das 7F-Hex-"Byte" erstellt wurde, das als "DEL"- oder "Rub-Out"-Zeichen angesehen wurde ) . Die Zuweisung des Rub-Out-Zeichens in ASCII (bis zum Codepunkt 127) führte dazu, dass Designer von Bildschirmen "rub-out" für ein mit "Ink" gefülltes Zeichenquadrat verwenden, das oft zur Darstellung des Cursors verwendet wurde.

Beispiele für den Einsatz von Blockgrafiken

Textblock-Grafiksatz des ZX-81

Andere Beispiele für Systeme, die auf die Verwendung von Blockgrafiken angewiesen sind, sind:

  • Die Zeichensätze ZX80 und ZX81 , bei denen eine Matrix von 2×2 Pixeln verwendet wurde, mit den Tricks Leerzeichen und Invertierungsattribute, um die Anzahl der erforderlichen Zeichen im ROM auf nur 7 (der erforderlichen 16) zu reduzieren. Das ZX Spectrum unterstützte auch Blockgrafiken sowie "echte" höher aufgelöste Grafiken. Darüber hinaus konnte beim Spectrum die Systemschrift (im ROM gespeichert) einfach und sofort in eine im RAM gespeicherte geändert werden, sodass Programmierer ihre eigenen semigrafischen Zeichen nach ihren Bedürfnissen definieren können.
  • Andere Systeme, die eine 2×2-Matrix verwendeten, waren der Panasonic JR-200 und der Mattel Aquarius .
  • Der Commodore PET hatte auch einige Zeichen, um 2×2-Text-Semigrafiken in seinem PETSCII- Zeichensatz zu unterstützen. Das PET war auch eines der ersten Systeme, das sich stark auf semigrafische Zeichen stützte , um jede Form von Grafiken auf den Bildschirm zu bringen.
  • Der TRS-80 Color Computer und der Dragon 32/64 sind gute Beispiele für Systeme, die 2×2-Matrix-Farbsemigrafiken verwenden. Aber ihr Motorola 6847 VDC unterstützte auch einen wenig genutzten 6-Block-Semigrafik-Modus.
  • Videotex- und Teletext- Systeme verwendeten eine 2×3-Matrix und einen Vordergrund ("Tinte") und eine Hintergrundfarbe, normalerweise aus einem Satz von acht Farben (einschließlich Schwarzweiß). Viele Systeme verwendeten " Videotex-Grafiken ". Eines der bekanntesten Beispiele ist der Standardgrafikmodus des Acorn BBC Micro ( Modus 7 ). Andere Systeme, die "Videotex"-ähnliche Grafiken verwendeten, sind: das ABC 80 , das Grundy NewBrain , viele der Acorn Eurocard-Systeme und das Philips P2000T , das tatsächlich einen Teletext- Chip verwendet, der für ihre Fernseher entwickelt wurde.
  • Der PC-8001 schaffte es, normalen Text mit einem vollständigen Satz von 256 textsemigraphischen "Zeichen" in einer 2×4-Matrix zu kombinieren; Wie das System die 8 Bits, die für "normale" Schriftarten verwendet werden, von den 8 Bits unterscheidet, die für die Textsemigrafiken benötigt werden, ist unklar.
  • Eines der letzten Videosysteme, bei denen Text-Semigrafiken eine nützliche Option waren, war der Color Graphics Adapter (CGA). Dieser Grafikadapter für frühe IBM-PCs unterstützte im hochauflösenden Grafikmodus nur vier Farben, konnte aber im Textmodus 16 verschiedene Farben darstellen. Obwohl das Font-ROM des CGA-Adapters nicht alle sonst typischen Text-Semigrafik-Zeichen enthielt, war es dennoch möglich, mit einem halbdokumentierten Trick einen 160 × 100 CGA-Text-Semigrafik-Modus zu erstellen .

Semigrafische Zeichen

Die Tastatur des PET 2001 hat halbgrafische Zeichen zur einfachen Eingabe

Semigrafische Zeichen sind auch Zeichen in einer Schriftart, die den Eindruck erwecken sollen, dass ein System hochauflösende Grafiken unterstützen kann, während das System tatsächlich im Textmodus arbeitet. Zeichen wie kastenförmige Zeichen , Kreise und Punkte, Kartensymbole wie ♠, ♣, ♥ und ♦ und geometrische Formen des "grafischen Bausteins" wie Dreiecke gaben solchen Systemen dieses Aussehen.

Eines der ersten Systeme, das solche Zeichen verwendete, das kanonische Beispiel, dem andere folgten, war der Commodore PET , der viele davon in seinem PETSCII- Schriftsatz hatte. Das ursprüngliche PET stützte sich so stark auf diese Zeichen, dass es sie auf seine Tastatur druckte, wie hier zu sehen ist, ein Beispiel, das andere Systeme bald kopierten.

Ein weiteres gutes Beispiel für ein System, das sich auf halbgrafische Zeichen stützte, ist das ehrwürdige Sharp MZ80K , das weder hochauflösende Grafiken noch umprogrammierbare Zeichen hatte, sondern sich vollständig auf einen erweiterten Schriftsatz mit vielen pseudografischen Zeichen verließ. Damit war es immer noch möglich, Spiele zu generieren, die so aussahen, als ob das System hochauflösende Grafiken hätte.

Einige der Systeme, die einen programmierbaren Schriftsatz hatten, aber keine wirklich hochauflösende Rastergrafikhardware hatten, kamen mit Standardzeichensätzen zum Hochladen in den Zeichensatz-RAM, und diese Sätze enthielten oft die hier erwähnten Ideen, obwohl dies oft der Fall war auch der Fall, dass dedizierte semigrafische Zeichen nach Bedarf definiert wurden.

Systeme, die auf semigrafischen Zeichen beruhten

Beispiele für Systeme, die sich für ihre Grafiken stark auf semigrafische Zeichen stützten, sind:

  • Der ursprüngliche IBM-PC mit dem MDA bot keine andere Form von Grafiken als die Box-Drawing-Zeichen seiner standardmäßigen Hardware-Codepage 437 .
  • Der Commodore PET war eines der ersten Systeme, das sich stark auf halbgrafische Zeichen stützte, um jede Form von Grafiken auf den Bildschirm zu bringen.
  • Der Sinclair ZX80 und ZX81 verließen sich auf Blockgrafikzeichen für eine niedrigaufgelöste Grafik von 64×48 Pixeln Schwarzweiß oder 32×48 in Schwarz, Weiß und Dithered Grey, wie im ZX80-Zeichensatz und ZX81-Zeichensatz zu sehen ist .
  • Der Mattel Aquarius verließ sich für Spiele vollständig auf seinen Charaktersatz, obwohl er über Spielzeugläden vermarktet wurde. Es wurde nie ein kommerzieller Erfolg, auch wegen dieser Beschränkung, die zu dieser Zeit veraltet war.
  • Die Panasonic JR-200 verwendet auch semigrafische Zeichen in Kombination mit Blockgrafiken.
  • Die Sharp MZ- Computerserie bot keine hochauflösenden oder programmierbaren Zeichen, aber einen sehr vollständigen Satz semigrafischer Zeichen. - und so noch viele optisch schöne Spiele geboten
  • Das Compukit UK101 (Klon des beliebten Superboards von Ohio Scientific) war ebenfalls ein sehr frühes System, das sich auf seinen großartigen Zeichensatz verließ.
  • Die Textmodi späterer Apple II-Computer, beginnend mit dem Apple IIc und der erweiterten Version des Apple IIe , unterstützten den MouseText- Zeichensatz, der bei Aktivierung blinkende Großbuchstaben ersetzte. Obwohl diese Apple-Systeme nicht auf diese Zeichensätze angewiesen waren, spielten sie eine Rolle bei der Simulation von GUI-ähnlichen Grafiken ihrer fortgeschritteneren Familienmitglieder, während sie sich noch im Textmodus befanden.

Siehe auch

Verweise