buffering, PCM DMA, memcpy12bswap

git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@66 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
notaz 2007-03-11 23:46:27 +00:00
parent af6e9c4961
commit 5f9922e6c2
5 changed files with 29 additions and 4 deletions

View file

@ -496,6 +496,7 @@ int emu_ReadConfig(int game)
currentConfig.KeyBinds[23] = 1<<29; // vol up
currentConfig.KeyBinds[22] = 1<<30; // vol down
currentConfig.gamma = 100;
currentConfig.PicoCDBuffers = 64;
strncpy(cfg, PicoConfigFile, 511);
cfg[511] = 0;
} else {
@ -517,6 +518,7 @@ int emu_ReadConfig(int game)
PsndRate = currentConfig.PsndRate;
PicoRegionOverride = currentConfig.PicoRegion;
PicoAutoRgnOrder = currentConfig.PicoAutoRgnOrder;
PicoCDBuffers = currentConfig.PicoCDBuffers;
if (PicoOpt & 0x20) {
actionNames[ 8] = "Z"; actionNames[ 9] = "Y";
actionNames[10] = "X"; actionNames[11] = "MODE";
@ -555,6 +557,7 @@ int emu_WriteConfig(int game)
currentConfig.PsndRate = PsndRate;
currentConfig.PicoRegion = PicoRegionOverride;
currentConfig.PicoAutoRgnOrder = PicoAutoRgnOrder;
currentConfig.PicoCDBuffers = PicoCDBuffers;
bwrite = fwrite(&currentConfig, 1, sizeof(currentConfig), f);
fflush(f);
fclose(f);
@ -1068,6 +1071,9 @@ void emu_Loop(void)
PsndOut = 0;
}
// prepare CD buffer
if (PicoMCD & 1) PicoCDBufferInit();
// loop?
while (engineState == PGS_Running)
{
@ -1253,6 +1259,9 @@ if (Pico.m.frame_count == 31563) {
frames_done++; frames_shown++;
}
if (PicoMCD & 1) PicoCDBufferFree();
// save SRAM
if((currentConfig.EmuOpt & 1) && SRam.changed) {
osd_text(4, 232, "Writing SRAM/BRAM..");