#include "../include/osd.h" unsigned int cpuid(void) { unsigned int id; __asm("mrc p15,0,%0,c0,c0,0" : "=r" (id)); return id; } static char buffer[9]; char *tohex(unsigned int n) { unsigned int i = 0; buffer[8] = '\0'; for (i = 8; i != 0; ) { unsigned int digit = n & 0x0F; i--; buffer[i] = digit >= 10 ? digit - 10 + 'A' : digit + '0'; n >>= 4; } return buffer; } int main(void) { // Initialize screens vid0ScreenInit(); osd0ScreenInit(); // Clear screen // color 0 is transparent, so we can see the video plane through drawBgColor=0; osdCls(); // Draw welcome text fontSize=1; fontBgColor=0; fontColor=COL_GREEN; osdPuts(0,0,"M:Robe 500i"); osdPuts(0,26,"d3m0"); //fontColor=COL_CYAN; // Get CPU id and display osdPuts(0,56,tohex(cpuid())); *reg (0x0306A6) = 450;// VID Y OFFSET for (;;); return 0; }