2017-10-05 5 views
1

Ich erstelle ein "Bild" der Asse von einem Kartenspiel, indem ich Hintergrundfarben und Symbole verwende, um die Farben darzustellen. Ich habe es geschafft, das "A" in der oberen linken Ecke der Karte zu drucken, aber ich bin ratlos, wie ich ein umgekehrtes "A" (∀) für die untere rechte Ecke drucken soll. Ist das in emu8086 möglich? Ich bin ein etwas Anfänger in Assembly und 8086. Ich habe eine Antwort auf eine ähnliche Frage hier zum Drucken von Unicode-Zeichen gesehen, aber ich habe nicht verstanden, was sie gemeint haben, indem Sie das Unicode-Zeichen zu Zeichentabelle Indizes rendern oder zuordnen. Oder wenn das nicht möglich ist, gibt es eine Möglichkeit, gedruckte Zeichen in emu8086 invertiert aussehen zu lassen? Da ich auch die 4 Anzugssymbole invertieren muss.Können Unicode-Zeichen in emu8086 gedruckt werden?

Antwort

4

CPU-Emulatoren wie emu8086 emulieren typischerweise nicht nur eine CPU (eine CPU hat keinen Bildschirm!), Sondern auch einige Hardwarekomponenten.

Ich denke, dass 8086 Emulatoren einige 1980er oder 1990er Grafikadapter emulieren.

Die Grafikkarten konnten eine "feste" Zeichengruppe anzeigen (z. B. Codepage 437).

Fortgeschrittenere Adapter (wie EGA oder VGA-Karten) hatten auch die Möglichkeit, die 256 Zeichen des Standard von 256 benutzerdefinierte Zeichen gesetzt auszutauschen - aber nur 256.

Das dritte, was solche Adapter tun könnte, (mit Ausnahme von Nur-Text-Adaptern) wurden Grafiken angezeigt (z. B. 320 x 200, 640 x 200, 640 x 350 oder 640 x 480 Pixel). In diesem Fall können Sie direkt einen Pfeil zeichnen anstatt ein "A" für "Pfeil nach oben" zu verwenden.

Übrigens: Code Seite 437 hatte vier Pfeile (für vier Richtungen), die Sie anstelle von "A" verwenden könnten.

+0

Fügen Sie einfach die Folgen der oben genannten guten Informationen hinzu. Im normalen Textmodus (VGA 80x25 Zeichen) können Sie keine UTF8-Texte anzeigen, da Sie höchstens 256 verschiedene Zeichen definieren können, während 80x25 = 2000, so dass Text mit mehr als 256 verschiedenen Zeichen nicht gerendert werden kann. Im Grafikmodus können Sie jede gewünschte Glyphe zeichnen (wenn Sie es auf dem Bildschirm mit niedriger Auflösung gut aussehen lassen, und Sie die Fontdaten in den Speicher stopfen, was wiederum für volle UTF8 wahrscheinlich unmöglich ist, wie Sie nur haben ungefähr 400-500kB Speicher). In beiden Fällen müssen Sie viel eigenen Code dafür aufbringen. – Ped7g

+0

@OP: Da Sie nur daran interessiert sind, Karten zu zeichnen und keinen UTF8-Text, erforschen Sie entweder die alte VGA-Standardschrift, um zu sehen, welche Symbole bereits verfügbar sind, es kann ausreichen oder verwenden Sie die benutzerdefinierte Schriftart Daten, um einige zusätzliche Glyphen zu erstellen, und diese dann als Teil des Textes auszugeben. Der Grafikmodus ist eine weitere Option, die dann Bilder für Karten verwendet, aber ich würde mit Textmodus und VGA-Zeichensatz beginnen, es gibt übliche Kartensymbole, nur die umgekehrten Buchstaben sind nicht verfügbar. (bei UTF8 oben meine ich "Unicode" -Zeichen. Hat mich zum Kichern gebracht, Unicode existierte nicht, als der PC gestartet wurde) – Ped7g

+0

Danke für die Hilfe. Ich bin auf die VGA 80x25 Zeichen beschränkt, also muss ich einfach kreativ sein und die bereits verfügbaren Symbole verwenden. Danke euch beiden. – AnAn

Verwandte Themen