Vorteil dieser neuer Version wäre nämlich, dass man selbst die Firmware modifizieren könnte: fastoff und eigenes Bild ließen sich sicherlich einbauen ... man muss sich "nur mal" in die Sourcen einarbeiten .
Da bin ich grad dabei.
Habe mal selber reingeschaut, eigentlich muss man kein großer C-Programmierer sein, um den BSOH zu modifizieren, bzw. sogar eine Grafik reinzupasten:
In main.c / Funktion umain() gibt es u.a. die Aufrufe:
clrscreen(RGB565(0, 0, 70)); // hier kann man die Hintergrundfarbe modifizieren
print_splash(); // und diese Funktion modifieren
void print_splash(void) __banked
{
__idata char codes[3];
disp_home();
rawputc(0x11); print_padded(PAD_WIDTH "\022"); rawputc(0x05); putsc("\n|");
print_padded(PAD_WIDTH " USB display"); putsc("|\n|");
print_padded(PAD_WIDTH " version:" STRING(BUILD_ID)); putsc("|\n|");
print_padded(PAD_WIDTH " by hackfin@section5.ch"); putsc("|\n");
rawputc(0x1a); print_padded(PAD_WIDTH "\022"); rawputc(0x03); putsc("\n\n");
putsc("LCD: " STRING(_INTERNAL_TAG) " (compatible)\n");
putsc("Detecting flash...");
flash_detect(codes);
putsc("\n");
flash_print_size(codes);
putsc("\n\n\nPress MENU for config mode");
}
Alles anzeigen
Wenn man eine Grafik in den BSOH reinpasten will, muss man nur schauen wie clrscreen() funktioniert:
Anstelle von einzelnen col Wertes könnte man ein array nehmen, welches die Bilddaten im RGB16/RGB565 Format enthält zB const unsigned short g_splashgfx[] = {...}
Das sollte es gewesen sein, jetzt muss man "nur noch" (haha, siehe meinen vorhergehenden Eintrag) die modifizerte FW flashen können ...