menu bg, pc linux build

git-svn-id: file:///home/notaz/opt/svn/PicoDrive@34 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
notaz 2007-02-09 22:09:07 +00:00
parent 85f8e92973
commit e11c55481f
6 changed files with 141 additions and 48 deletions

View file

@ -59,27 +59,45 @@ static unsigned short gp2x_screenaddr_old[4];
void gp2x_video_flip(void)
{
unsigned int address = gp2x_screenaddrs[screensel&3];
unsigned short msb16 = (unsigned short)(address >> 16);
unsigned short lsb16 = (unsigned short)(address);
/* test */
/* {
int i; char *p=gp2x_screen;
for (i=0; i < 240; i++) { memset(p+i*320, 0, 32); }
}*/
gp2x_memregs[0x290E>>1]=(unsigned short)(address);
gp2x_memregs[0x2910>>1]=(unsigned short)(address >> 16);
gp2x_memregs[0x2912>>1]=(unsigned short)(address);
gp2x_memregs[0x2914>>1]=(unsigned short)(address >> 16);
gp2x_memregs[0x290E>>1] = lsb16;
gp2x_memregs[0x2910>>1] = msb16;
gp2x_memregs[0x2912>>1] = lsb16;
gp2x_memregs[0x2914>>1] = msb16;
// jump to other buffer:
gp2x_screen = gp2x_screens[++screensel&3];
}
/* doulblebuffered flip */
void gp2x_video_flip2(void)
{
unsigned int address = gp2x_screenaddrs[screensel&1];
unsigned short msb16 = (unsigned short)(address >> 16);
unsigned short lsb16 = (unsigned short)(address);
void gp2x_video_changemode(int bpp)
gp2x_memregs[0x290E>>1] = lsb16;
gp2x_memregs[0x2910>>1] = msb16;
gp2x_memregs[0x2912>>1] = lsb16;
gp2x_memregs[0x2914>>1] = msb16;
// jump to other buffer:
gp2x_screen = gp2x_screens[++screensel&1];
}
void gp2x_video_changemode2(int bpp)
{
gp2x_memregs[0x28DA>>1]=(((bpp+1)/8)<<9)|0xAB; /*8/15/16/24bpp...*/
gp2x_memregs[0x290C>>1]=320*((bpp+1)/8); /*line width in bytes*/
}
void gp2x_video_changemode(int bpp)
{
gp2x_video_changemode2(bpp);
gp2x_memset_all_buffers(0, 0, 640*480);
gp2x_video_flip();
@ -148,6 +166,14 @@ void gp2x_memset_all_buffers(int offset, int byte, int len)
}
void gp2x_pd_clone_buffer2(void)
{
memcpy(gp2x_screen, gp2x_screens[2], 320*240);
memset(gp2x_screen, 0xe0, 320*8);
memset(gp2x_screen + 320*232, 0xe0, 320*8);
}
unsigned long gp2x_joystick_read(int allow_usb_joy)
{
int i;