buffering, PCM DMA, memcpy12bswap

git-svn-id: file:///home/notaz/opt/svn/PicoDrive@66 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
notaz 2007-03-11 23:46:27 +00:00
parent 83bd0b76ab
commit 0a051f558c
15 changed files with 395 additions and 70 deletions

View file

@ -729,6 +729,10 @@ static void kc_sel_loop(void)
static void draw_cd_menu_options(int menu_sel, char *b_us, char *b_eu, char *b_jp)
{
int tl_x = 25, tl_y = 60, y;
char ra_buff[16];
if (PicoCDBuffers > 1) sprintf(ra_buff, "%5iK", PicoCDBuffers * 2);
else strcpy(ra_buff, " OFF");
y = tl_y;
//memset(gp2x_screen, 0, 320*240);
@ -741,6 +745,7 @@ static void draw_cd_menu_options(int menu_sel, char *b_us, char *b_eu, char *b_j
gp2x_text_out8(tl_x, (y+=10), "CDDA audio (using mp3s) %s", (currentConfig.PicoOpt&0x0800)?"ON":"OFF"); // 4
gp2x_text_out8(tl_x, (y+=10), "PCM audio %s", (currentConfig.PicoOpt&0x0400)?"ON":"OFF"); // 5
gp2x_text_out8(tl_x, (y+=10), "Better sync (very slow) %s", (currentConfig.PicoOpt&0x2000)?"ON":"OFF"); // 6
gp2x_text_out8(tl_x, (y+=10), "ReadAhead buffer %s", ra_buff); // 7
gp2x_text_out8(tl_x, (y+=10), "Done");
// draw cursor
@ -756,7 +761,7 @@ static void draw_cd_menu_options(int menu_sel, char *b_us, char *b_eu, char *b_j
static void cd_menu_loop_options(void)
{
int menu_sel = 0, menu_sel_max = 7;
int menu_sel = 0, menu_sel_max = 8;
unsigned long inp = 0;
char bios_us[32], bios_eu[32], bios_jp[32], *bios, *p;
@ -787,7 +792,17 @@ static void cd_menu_loop_options(void)
case 4: currentConfig.PicoOpt^=0x0800; break;
case 5: currentConfig.PicoOpt^=0x0400; break;
case 6: currentConfig.PicoOpt^=0x2000; break;
case 7: return;
case 7:
if (inp & GP2X_LEFT) {
PicoCDBuffers >>= 1;
if (PicoCDBuffers < 64) PicoCDBuffers = 0;
} else {
if (PicoCDBuffers < 64) PicoCDBuffers = 64;
else PicoCDBuffers <<= 1;
if (PicoCDBuffers > 4096) PicoCDBuffers = 4096;
}
break;
case 8: return;
}
}
if(inp & (GP2X_X|GP2X_A)) return;