mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-06 15:48:05 -04:00
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:
parent
85f8e92973
commit
e11c55481f
6 changed files with 141 additions and 48 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue