#include #include #include "raster.h" typedef char frame [64][8]; frame moviola[18]; Bitmap glob = { 0L, 8, { { 0, 0 }, { 64, 64 } } }; Point whereto[] = { 0, 0, 64, 0, 128, 0, 192, 0, 256, 0, 320, 0,384, 0, 448, 0, 512, 0, 0,64, 64,64, 128,64, 192,64, 256,64, 320,64,384,64, 448,64, 512,64, 0,128, 64,128, 128,128, 192,128, 256,128, 320,128,384,128, 448,128, 512,128, 0,192, 64,192, 128,192, 192,192, 256,192, 320,192,384,192, 448,192, 512,192, 0,256, 64,256, 128,256, 192,256, 256,256, 320,256,384,256, 448,256, 512,256, 0,320, 64,320, 128,320, 192,320, 256,320, 320,320,384,320, 448,320, 512,320, } ; char bitmask[] = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 }; main(argc, argv) char **argv; { int handle; register i, j; register char c, *p; if ((handle=open("globe", 0)) < 0) { printf("PISS ON IT!\n"); exit(255); } read(handle, moviola, (8*64*18)); close(handle); for (p=moviola, i=0; i<18*8*64; i++) { for (c=j=0; j<8; j++) if (p[i] & bitmask[j]) c |= bitmask[7-j]; p[i] = c; } /*for (i=0; i<54; i++)*/ whereto[0/*i*/].x += 32; dispinit(); for (i=0; 1; i = (1+i)%18) { glob.blk_address = &moviola[i%18][0][0]; bitblt(&glob, &glob.rect, &Dblock, &whereto[j], F_STORE); nap(100L); } }