X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=loader%2Ftools%2Fstatic.c;h=257a147793a2666a64baaa0e4bd39524872f2562;hb=ed233fce977d411ce024631668f1488d0d078d19;hp=edf713988b0f35f594cde042eb9468dc500ad954;hpb=306e06f738dc1b1585c7db7c0e7bc36e2ba90f13;p=ginge.git diff --git a/loader/tools/static.c b/loader/tools/static.c index edf7139..257a147 100644 --- a/loader/tools/static.c +++ b/loader/tools/static.c @@ -1,14 +1,31 @@ #include #include +#include #include #include #include #include +#include +#include +#include + +static int open_(const char *name) +{ + int fd = open(name, O_RDWR); + if (fd < 0) { + fprintf(stderr, "%s: ", name); + perror("open"); + return 1; + } + + return fd; +} int main(int argc, char *argv[]) { volatile void *memregs; - int memdev; + void *fbmem; + int memdev, fbdev; int i; printf("hi, home=%s\n", getenv("HOME")); @@ -16,19 +33,25 @@ int main(int argc, char *argv[]) for (i = 0; i < argc; i++) printf("%d \"%s\"\n", i, argv[i]); - memdev = open("/dev/mem", O_RDWR); - if (memdev < 0) { - perror("open"); - return 1; - } + memdev = open_("/dev/mem"); + fbdev = open_("/dev/fb0"); memregs = mmap(NULL, 0x10000, PROT_READ|PROT_WRITE, MAP_SHARED, memdev, 0xc0000000); + fbmem = mmap(NULL, 320*240*2, PROT_READ|PROT_WRITE, MAP_SHARED, fbdev, 0); + + ioctl(-1, 0); + signal(7, SIG_DFL); +// tcgetattr(-1, NULL); +// tcsetattr(-1, 0, NULL); +#if 1 for (i = 0; i < 2; i++) printf("%02x %04x %08x\n", ((char *)memregs)[0x2011], ((short *)memregs)[0x1198/2], ((int *)memregs)[0xbcdc/4]); +#endif + memset(fbmem, 0xff, 320*240*2); - //sleep(1000); + sleep(10); return 0; }