#include #include #include void 24to32(uchar *rgba, uchar *rgb, int count) { if(count == 0) return; for(int i = count; i--; rgba +=4, rgb+=3) *(u32int*)rgba = *(u32int*)rgb; } void main() { int i, j , k, fd; uchar *miku, *a; ulong *fb; fd = open("mikurgb24.raw", OREAD); miku = malloc(600*631*24); a = malloc(600*631*32*4); if(readn(fd, miku, 600*631*24) < 0) exits("cu\n"); fb = segattach(0, "amdmemory", 0, 268435456); 24to32(a, miku, 600*631); k = 0; for(i = 0; i < 631; i++){ for(j = i * 1920; j <= 600+i*600+1320*i; j++){ fb[j] = ((int*)a)[k]; k++; } k--; } exits("miku!?\n"); }