mirror of https://github.com/stella-emu/stella.git
libretro: make getRAM const
use shadow ram copy for frontend
This commit is contained in:
parent
3f9ca310c3
commit
f69cc5cb6c
|
@ -123,14 +123,12 @@ class M6532 : public Device
|
|||
*/
|
||||
void updateEmulation();
|
||||
|
||||
#ifdef __LIB_RETRO__
|
||||
/**
|
||||
Get a pointer to the RAM contents.
|
||||
|
||||
@return Pointer to RAM array.
|
||||
*/
|
||||
uInt8* getRAM() { return myRAM; }
|
||||
#endif
|
||||
const uInt8* getRAM() const { return myRAM; }
|
||||
|
||||
private:
|
||||
|
||||
|
|
|
@ -158,6 +158,10 @@ void StellaLIBRETRO::destroy()
|
|||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void StellaLIBRETRO::runFrame()
|
||||
{
|
||||
// write ram updates
|
||||
for(int lcv = 0; lcv <= 127; lcv++)
|
||||
myOSystem->console().system().m6532().poke(lcv | 0x80, system_ram[lcv]);
|
||||
|
||||
// poll input right at vsync
|
||||
updateInput();
|
||||
|
||||
|
@ -167,7 +171,8 @@ void StellaLIBRETRO::runFrame()
|
|||
// drain generated audio
|
||||
updateAudio();
|
||||
|
||||
// give user time to respond
|
||||
// refresh ram copy
|
||||
memcpy(system_ram, myOSystem->console().system().m6532().getRAM(), 128);
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
|
|
@ -62,7 +62,7 @@ class StellaLIBRETRO
|
|||
uInt32 getROMSize() { return rom_size; }
|
||||
uInt32 getROMMax() { return 512 * 1024; }
|
||||
|
||||
uInt8* getRAM() { return myOSystem->console().system().m6532().getRAM(); }
|
||||
uInt8* getRAM() { return system_ram; }
|
||||
uInt32 getRAMSize() { return 128; }
|
||||
|
||||
size_t getStateSize();
|
||||
|
@ -151,7 +151,9 @@ class StellaLIBRETRO
|
|||
uInt32 audio_samples;
|
||||
|
||||
// (31440 rate / 50 Hz) * 16-bit stereo * 1.25x padding
|
||||
static const uInt32 audio_buffer_max = (31440 / 50 * 4 * 5) / 4;
|
||||
const uInt32 audio_buffer_max = (31440 / 50 * 4 * 5) / 4;
|
||||
|
||||
uInt8 system_ram[128];
|
||||
|
||||
private:
|
||||
string video_palette;
|
||||
|
|
Loading…
Reference in New Issue