X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=drivers%2Fgp2x%2Fgp2x-video.c;h=03d4abcdffa315a56e2383870d76815579687dbc;hb=6587f34612d28a36fede21bd6293c4e0e383b343;hp=6433724a49422d9929ddb1e6f31fbe89bf8c0771;hpb=22f08d9598e12f15de5e3c2f503c2ad1298dcc17;p=fceu.git diff --git a/drivers/gp2x/gp2x-video.c b/drivers/gp2x/gp2x-video.c index 6433724..03d4abc 100644 --- a/drivers/gp2x/gp2x-video.c +++ b/drivers/gp2x/gp2x-video.c @@ -19,6 +19,8 @@ #include #include +#include "../../video.h" + #include "gp2x.h" #include "minimal.h" @@ -27,10 +29,10 @@ extern int showfps; static char fps_str[32]; static int framesEmulated, framesRendered; -int stretch_offset=32; +int scaled_display=0; int paletterefresh; -#define FPS_COLOR 61 +#define FPS_COLOR 1 static unsigned char fontdata8x8[] = @@ -133,9 +135,10 @@ void CleanSurface(void) int c=4; while (c--) { - memset (gp2x_screen8, 0x80, 320*240); + memset (gp2x_screen8, 0, 320*240); gp2x_video_flip(); } + XBuf = gp2x_screen8; } @@ -154,6 +157,7 @@ int InitVideo(void) srendline=0; erendline=239; + XBuf = gp2x_screen8; return 1; } @@ -194,25 +198,28 @@ static INLINE void printFps(uint8 *screen) prevsec = tv_now.tv_sec; } - if (stretch_offset > 0) + if (!scaled_display) { if (needfpsflip) { int y, *destt = (int *) screen; - for (y = 240; y; y--) + for (y = 20/*240*/; y; y--) { - *destt++ = 0x3F3F3F3F; *destt++ = 0x3F3F3F3F; *destt++ = 0x3F3F3F3F; *destt++ = 0x3F3F3F3F; - *destt++ = 0x3F3F3F3F; *destt++ = 0x3F3F3F3F; *destt++ = 0x3F3F3F3F; *destt++ = 0x3F3F3F3F; - destt += 64; + *destt++ = 0; *destt++ = 0; *destt++ = 0; *destt++ = 0; + *destt++ = 0; *destt++ = 0; *destt++ = 0; *destt++ = 0; + destt += 64+8; - *destt++ = 0x3F3F3F3F; *destt++ = 0x3F3F3F3F; *destt++ = 0x3F3F3F3F; *destt++ = 0x3F3F3F3F; - *destt++ = 0x3F3F3F3F; *destt++ = 0x3F3F3F3F; *destt++ = 0x3F3F3F3F; *destt++ = 0x3F3F3F3F; + //*destt++ = 0x3F3F3F3F; *destt++ = 0x3F3F3F3F; *destt++ = 0x3F3F3F3F; *destt++ = 0x3F3F3F3F; + //*destt++ = 0x3F3F3F3F; *destt++ = 0x3F3F3F3F; *destt++ = 0x3F3F3F3F; *destt++ = 0x3F3F3F3F; } if (showfps) { - fps_str[2] = 0; - gp2x_text(screen, 0, 0, fps_str, FPS_COLOR, 0); - gp2x_text(screen, 0, 10, fps_str+3, FPS_COLOR, 0); + int sep; + for (sep=1; sep < 5; sep++) + if (fps_str[sep] == '/' || fps_str[sep] == 0) break; + fps_str[sep] = 0; + gp2x_text(screen, 0, 0, fps_str, FPS_COLOR, 0); + gp2x_text(screen, 0, 10, fps_str+sep+1, FPS_COLOR, 0); } needfpsflip--; } @@ -221,46 +228,23 @@ static INLINE void printFps(uint8 *screen) { if (showfps) { - gp2x_text(screen, 0, 0, fps_str, FPS_COLOR, 0); + gp2x_text(screen+32, 0, 0, fps_str, FPS_COLOR, 0); } } } -void BlitScreen(uint8 * XBuf) +void BlitScreen(uint8 *buf) { - int x, y, yinc; - framesEmulated++; - if (!XBuf) return; + if (!buf) return; framesRendered++; -#if 1 // 48->54 - y=240; - yinc=272*(y-1); - while (y--) - { - int* dest=(int *) (gp2x_screen8+((y << 8) + (y << 6))+stretch_offset); - - int* src=(int *) (XBuf+yinc); - x=64; - while (x--) - { - dest[x]=src[x]; - } - yinc-=272; - } - - if (paletterefresh) - { - gp2x_video_setpalette(); - paletterefresh = 0; - } -#endif printFps(gp2x_screen8); gp2x_video_flip(); + XBuf = gp2x_screen8; }