mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 07:17:45 -04:00
buffering, PCM DMA, memcpy12bswap
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@66 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
parent
83bd0b76ab
commit
0a051f558c
15 changed files with 395 additions and 70 deletions
|
@ -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(¤tConfig, 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..");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue