Denke ich werde das beim ersten versuch mal frei nach Gutenberg halten. Oder mich halt zumindest so weit einlesen das ichs soweit wie nötig verstehe.chrysophylax schrieb:aber wenn man die guttenbergt oder versteht (je nach persönlichen Vorlieben) geht auch das stressfrei.
Traurig aber passiert leider mit viel zu vielen schönen sachen.chrysophylax schrieb:und zu proprietärem Mist in Apple-Optik mit runden weißen Ecken "weiter"entwickelt wurde.
chrysophylax schrieb:...Gerade der doppeltgrosse Zeichensatz macht richtig Spaß, den hab ich auch schon in diversen eigenen Projekten verwurstet. Je nachdem was gerade gebraucht wird werden in dem Projekt die 8 selbstdefinierbaren Sonderzeichen "on the fly" umdefiniert, man muss halt nur darauf achten nie mehr als 8 davon gleichzeitig zu benutzen...
Der ist so klug angelegt, dass er nur die unteren 128 Zeichen des Standard-Zeichensatzes nutzt (die wirklich bei allen Displays gleich sind) und die oberen 128 ignoriert. Die wenigen Sonderzeichen, die benutzt werden passen locker in die 8 verfügbaren Plätze, da muss man nicht mal zur Laufzeit umdefnieren. Ich schau gerade mal... Moment... Mein letztes eigenes Spielprojekt, was nur diese "Uhr" nachgebaut hat....Kappler schrieb:Der doppeltgroße Zeichensatz gefällt mir auch...![]()
Hast du hierzu Infos, welche Standardzeichen bzw. Sonderzeichen (wie sehen die aus?) zur Darstellung der Zahlen von 0-9 gebraucht werden?
Das würde einiges an Arbeit sparen...
void DisplayInit(void)
{
struct REGPACK r;
// init LCD SC2002A, 4x16 Character
// set to 8-bit-interace, 2 lines, 5x7 character set
outportb(LCDCTRL,0x38); // 00111000b
r.r_ax = 0x0000; // Task Sleep
r.r_bx = 0x0002; // 2ms
intr(0xAD,&r);
// set display on, set cursor on (blink)
outportb(LCDCTRL,0x0C); // 00001100b
r.r_ax = 0x0000; // Task Sleep
r.r_bx = 0x0002; // 2ms
intr(0xAD,&r);
// clear display
outportb(LCDCTRL,0x01); // 00000001b
r.r_ax = 0x0000; // Task Sleep
r.r_bx = 0x0002; // 2ms
intr(0xAD,&r);
// autoincrement DDRAM Adress, no Shift
outportb(LCDCTRL,0x06); // 00000110b
r.r_ax = 0x0000; // Task Sleep
r.r_bx = 0x0002; // 2ms
intr(0xAD,&r);
outportb(LCDCTRL,0x40); // CGRAM Address für Char 0x00
r.r_ax = 0x0000; r.r_bx = 0x0001; intr(0xAD,&r);//Oberstrich basteln
outportb(LCDDAT,0x1f); //*****
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x00); //.....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x00); //.....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x00); //.....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x00); //.....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x00); //.....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x00); //.....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x00); //.....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
//Char 0x01 Linksstrich basteln
outportb(LCDDAT,0x10); //*....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x10); //*....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x10); //*....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x10); //*....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x10); //*....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x10); //*....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x10); //*....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x00); //.....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
//Char 0x02 Zunten basteln
outportb(LCDDAT,0x01); //....*
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x02); //...*.
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x04); //..*..
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x08); //.*...
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x10); //*....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x10); //*....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x1f); //*****
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x00); //.....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
//Char 0x03 Doppelstrich basteln
outportb(LCDDAT,0x1f); //*****
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x00); //.....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x00); //.....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x00); //.....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x00); //.....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x00); //.....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x1f); //*****
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x00); //.....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
//Char 0x04 Rechtsstrich basteln
outportb(LCDDAT,0x01); //....*
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x01); //....*
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x01); //....*
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x01); //....*
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x01); //....*
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x01); //....*
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x01); //....*
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x00); //....*
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
//Char 0x05 Zoben basteln
outportb(LCDDAT,0x1f); //*****
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x01); //....*
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x01); //....*
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x01); //....*
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x02); //...*.
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x04); //..*..
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x08); //.*...
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x10); //*....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
//Char 0x06 Backslash basteln
outportb(LCDDAT,0x00); //.....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x10); //*....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x08); //.*...
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x04); //..*..
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x02); //...*.
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x01); //....*
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x00); //.....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
outportb(LCDDAT,0x00); //.....
r.r_ax = 0x0000; r.r_bx = 0x0002; intr(0xAD,&r);
}
char * ZStr1
= {"/\000\006" //0 oben
" /\001" //1 oben
" \000)" //2 oben
" \003)" //3 oben
"\004_\001" //4 oben
"\004\003\000"//5 oben
" \002 " //6 oben
" \000\005" //7 oben
"(\003)" //8 oben
"(\003)"}; //9 oben
;
char * ZStr2
= {"\006_/" //0 unten
" \001" //1 unten
" \002_" //2 unten
" _)" //3 unten
" \001" //4 unten
" _)" //5 unten
"(_)" //6 unten
" / " //7 unten
"(_)" //8 unten
" / "}; //9 unten
;
friskee schrieb:6500 Lumen? 7 X XM-L oder 65W HID? Hab beides![]()
Auf jeden Fall - vielen Dank dafür...chrysophylax schrieb:...Hoffe geholfen zu haben - auch wenns C ist...
Kappler schrieb:Auf jeden Fall - vielen Dank dafür...![]()
FaulpelzKappler schrieb:Um ehrlich zu sein - ich wollte mit dem Pollin-Teil auf deinen Bericht warten...