X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=fceu.git;a=blobdiff_plain;f=drivers%2Fgp2x_test%2Fminimal.c;h=d2a8982c0528e34b8208db63dcb44d97bea5e022;hp=793af74cc2c74f08291107e7cd61f49402928b21;hb=7b356ee3dc5d7e54d9dc06c413f84380d1044441;hpb=32a0f49f4d70fe79def8718ec0b4e2460d629d6c diff --git a/drivers/gp2x_test/minimal.c b/drivers/gp2x_test/minimal.c index 793af74..d2a8982 100644 --- a/drivers/gp2x_test/minimal.c +++ b/drivers/gp2x_test/minimal.c @@ -84,7 +84,7 @@ void gp2x_video_setpalette(int *pal, int len) } -void gp2x_video_RGB_setscaling(int ln_offs, int W, int H) +void gp2x_video_RGB_setscaling(int W, int H) { } @@ -199,9 +199,9 @@ void gp2x_init(void) { printf("entering init()\n"); fflush(stdout); - gp2x_screen = malloc(320*240*2); + gp2x_screen = malloc(320*240*2 + 32); if(gp2x_screen == NULL) return; - memset(gp2x_screen, 0, 320*240*2); + memset(gp2x_screen, 0, 320*240*2 + 32); if(SDL_Init(SDL_INIT_NOPARACHUTE)) { @@ -283,7 +283,14 @@ void spend_cycles(int c) usleep(c/200); } +/* don't scale, just convert */ void soft_scale(void *dst, unsigned short *pal, int line_offs, int lines) { + unsigned char *src = (unsigned char *)dst + (line_offs + lines) * 320; + unsigned short *dest = (unsigned short *)dst + (line_offs + lines) * 320; + int count = lines*320; + + while (count--) + *(--dest) = pal[*(--src)]; }