Graphig mit deutschen Zeichensatz?

Fragen zu Programmiersprachen und Software für den Hive und die Propellerchips
Benutzeravatar
PIC18F2550
Beiträge: 2832
Registriert: Fr 30. Sep 2011, 13:08

Graphig mit deutschen Zeichensatz?

Beitrag von PIC18F2550 »

Hallo,

gibt es schon einen Tastatur und Graphigtreiber zur darstellung der deutschen Sonderzeichen?
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Graphig mit deutschen Zeichensatz?

Beitrag von drohne235 »

Den Tastaturtreiber (vga-keyb.spin) hat oog hier aus dem Forum an das deutsche Layout angepasst und ist Bestandteil der Codebasis von Bellatrix im TriOS und dem Vorgänger SpinOS.

Ansonsten sind im Zeichensatz, welcher sich im ROM jedes Propellerchips befindet, auch deutsche Umlaute enthalten. Also können alle Texttreiber prinzipiell deutsche Umlaute darstellen, sofern sie den ROM-Font verwenden. Schau einfach in den TriOS-Code, der unterstützt kpl. deutsche Tastatur und Zeichenausgabe.

Als Negativbeispiel: Der HTEXT-Treiber (auch im TriOS) mit 128x64 Zeichen bei 1024x768 Pixeln verwendet einen eigenen Zeichensatz, welcher in einer DAT-Sektion im Quelltext definiert ist. Zwar gibt es in diesem Font normale und inverse Zeichen, aber keine deutschen Umlaute.

Bei den Grafiktreibern für den TV-Modus sieht es teilweise anders aus. Wenn ich mich recht entsinne setzt zum Beispiel das Graphics-Objekt von Parallax die Zeichen aus Vektorelementen zusammen und enthält ebenfalls keine Umlaute. Dafür sind diese Zeichen aber skalierbar. Einfach mal in den Quelltext anschauen oder mit dem Graphics-Demo experimentieren. Es gibt aber noch eine XOR-Version (glaube von DeSilva) ohne Doublepuffer, welche wahlweise den ROM-Font verwenden kann. Hab ich irgendwo inklusive Demo für den Hive im Archiv. Bei Bedarf melden.

Und natürlich gibt es auch für den TV-Modus einen kompatiblen reinen Texttreiber, welcher den ROM-Font verwendet und somit Umlaute darstellen kann.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
PIC18F2550
Beiträge: 2832
Registriert: Fr 30. Sep 2011, 13:08

Re: Graphig mit deutschen Zeichensatz?

Beitrag von PIC18F2550 »

Hallo drohne235,
drohne235 hat geschrieben:Ansonsten sind im Zeichensatz, welcher sich im ROM jedes Propellerchips befindet, auch deutsche Umlaute enthalten. Also können alle Texttreiber prinzipiell deutsche Umlaute darstellen, sofern sie den ROM-Font verwenden. Schau einfach in den TriOS-Code, der unterstützt kpl. deutsche Tastatur und Zeichenausgabe.
"bel-keyb-de.spin" habe ich gefunden hier ist eine unterstützung für deutsch vorhanden.

nur bei den VGA-Treibern finde ich irgendwie nicht's passendes (128X64).

welcher VGA-Treiber unterstützt den ROM-Zeichensatz?
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
E.N.D.E.
Beiträge: 10
Registriert: Mi 12. Okt 2011, 09:01
Wohnort: Hamburg

Re: Graphig mit deutschen Zeichensatz?

Beitrag von E.N.D.E. »

Mich würde mal interessieren, wie man selbst erstellte Zeichen benutzen bzw. die vorhandenen verändern kann.
Das wollt ich schon längst mal fragen.
Gruß E.N.D.E.
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Graphig mit deutschen Zeichensatz?

Beitrag von drohne235 »

nur bei den VGA-Treibern finde ich irgendwie nicht's passendes (128X64).
Das ist so. Für einen Treiber mit 128x64 Zeichen ist der Font im ROM zu groß, weshalb ihn diese Treiber nicht verwenden. Im Prinzip kann man sich die Zeichen ja auch selbst einbauen: einfach auf den inversen Teil des Zeichensatzes verzichten und dort die Umlaute einbauen.
Mich würde mal interessieren, wie man selbst erstellte Zeichen benutzen bzw. die vorhandenen verändern kann.
Das wollt ich schon längst mal fragen.
Das hängt natürlich stark vom verwendeten Treiber ab. Der HTEXT-Treiber hat seinen Font im Quelltext - einfach mal reinschauen. Allerdings sind dort die Zeichen auch sehr einfach aufgebaut und haben nur zwei Farben (Zeichenfarbe & Hintergrund).
Der Treiber von Parallax hat mehr Farben (Ich glaube es waren 4) ind ist etwas komplizierter. Im Propeller-Handbuch ist er beschrieben.
Als Beispiel könnte man im Spiel Boulder Dash (ist im TriOS) schauen, dort werden selbst definierte Zeichen bzw. Tiles für die Spielegrafik verwendet. Dazu ist auch sehr viel im Handbuch der Hydra-Konsole beschrieben - ein Link zum PDF ist hier auch im Forum.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
PIC18F2550
Beiträge: 2832
Registriert: Fr 30. Sep 2011, 13:08

Re: Graphig mit deutschen Zeichensatz?

Beitrag von PIC18F2550 »

Hallo drohne235,
drohne235 hat geschrieben:einfach auf den inversen Teil des Zeichensatzes verzichten und dort die Umlaute einbauen
ist nich möglich der inverse teil wird nur logisch gedreht es existiert kein DAT bereich dafür.

Hatte heute Nacht eine Idee vieleicht kann mann den Treiber ein 2.mal starten mit anderen Zeichensatz und beim 1. die anzeige bei zeichen >127 unterdrücken(NOP) und beim 2. dafür ab 128 einschalten?
Kostet natürlich 2 weitere COG'S
Zuletzt geändert von PIC18F2550 am Mo 10. Feb 2014, 13:23, insgesamt 1-mal geändert.
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
kuroneko
Beiträge: 202
Registriert: Sa 22. Okt 2011, 13:05
Wohnort: FN, Germany

Re: Graphig mit deutschen Zeichensatz?

Beitrag von kuroneko »

Die code box erlaubt keine Farbaenderung, deshalb benutze ich Kommentare. Die Aenderung erlaubt 256 Zeichen, allerdings geht die Invertierung floeten und Du musst die zweite Haelfte des Zeichensatzes selbst gestalten (im Moment ist es ein 3x3 Karomuster).

Code: Alles auswählen

fourline                mov     font_ptr,font_third     'get address of appropriate font section
{MTRX: 7 -> 8}          shl     font_ptr,#8+2
                        add     font_ptr,font_base
                        
                        movd    :pixa,#scanbuff-1       'reset scanbuff address (pre-decremented)
                        movd    :pixb,#scanbuff-1
                        
                        mov     y,#2                    'must build scanbuff in two sections because
                        mov     vscl,vscl_line2x        '..pixel counter is limited to twelve bits

:halfrow                waitvid underscore,#0           'output lows to let other COG drive VGA pins
                        mov     x,#cols/2               '..for 2 scan lines, ready for half a row
                        
:column                 rdbyte  z,screen_ptr            'get character from screen memory
{MTRX: 7 -> 8}          ror     z,#8                    'get inverse flag into bit 0, keep chr high
{MTRX: 7 -> 8}          shr     z,#32-8-2       wc      'get inverse flag into c, chr into bits 9..2
                        add     z,font_ptr              'add font section address to point to 8*4 pixels
Zeichensatz:

Code: Alles auswählen

long  $00000000,$00000000,$00000000,$18187000,$18181800,$18180E00,$73DBCE00,$18180000

long  $C3C3C3C3[128] ' 128-255

long  $080C7E7E,$10307E7E,$18181818,$7E181818,$81818181,$99BDBDBD,$81818181,$E7BD99BD  'middle
...
long  $1C1C3663,$66666666,$0C30627E,$180C060C,$18181818,$18306030,$00000000,$0018187E

long  $3C3C3C3C[128] ' 128-255

long  $00000000,$00000000,$00001818,$0000183C,$00003C42,$00003C42,$0000FF81,$0000FFC3  'bottom
...
long  $00006336,$1C30607C,$00007E46,$00007018,$00001818,$00000E18,$00000000,$0000007E

long  $C3C3C3C3[128] ' 128-255

{{
Benutzeravatar
PIC18F2550
Beiträge: 2832
Registriert: Fr 30. Sep 2011, 13:08

Re: Graphig mit deutschen Zeichensatz?

Beitrag von PIC18F2550 »

Danke,

werd ich mal heut Abend testen.

? Reicht der Platz im COG dafür noch?
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
kuroneko
Beiträge: 202
Registriert: Sa 22. Okt 2011, 13:05
Wohnort: FN, Germany

Re: Graphig mit deutschen Zeichensatz?

Beitrag von kuroneko »

PIC18F2550 hat geschrieben:Reicht der Platz im COG dafür noch?
Der Zeichensatz ist nicht im cog gespeichert. Die (hub) Adresse des Zeichensatzes wird in der start method dem PASM Treiber uebermittelt (font_base := @font).
Benutzeravatar
PIC18F2550
Beiträge: 2832
Registriert: Fr 30. Sep 2011, 13:08

Re: Graphig mit deutschen Zeichensatz?

Beitrag von PIC18F2550 »

Danke das ist Super,

ich habe mit dem PASM noch nicht's gemacht werd mich aber wohl darauf einstellen das auch noch zu lernen. :oops:
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Antworten