#include #include #include #include #include using namespace std; int no[] = { 0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63 }; int main() { size_t sz; uint8_t *data = FileGetContent("splash.bmp", &sz); BITMAPFILEHEADER *bmfh = (BITMAPFILEHEADER*)data; BITMAPINFOHEADER *bmih = (BITMAPINFOHEADER*)&bmfh[1]; RGBQUAD *pal = (RGBQUAD*)&bmih[1]; uint8_t *idxs = (uint8_t*)&pal[256]; int i; for(i = 0; i < 16; i++) { printf("db %i, 0x%.2x, 0x%.2x, 0x%.2x\n", no[i], pal[i].rgbRed / 4, pal[i].rgbGreen / 4, pal[i].rgbBlue / 4); } FILE *f = fopen("out.asc", "wb"); for(i = 0; i < 80 * 25; i++) { fwrite("\xDB", 1, 1, f); fwrite(&idxs[i], 1, 1, f); } fclose(f); return 0; }