Save_RAM()

This commit is contained in:
tudnai 2022-11-16 12:19:12 -08:00
parent fae9066ebc
commit 5fa48ec591
2 changed files with 26 additions and 4 deletions

View File

@ -157,6 +157,26 @@ INLINE void save_AUX(void) {
}
/// Save entire
void save_RAM() {
// save the content of Shadow ZP + Stack
memcpy( (void*) currentZPSTCKMEM, shadowZPSTCKMEM, 0x200);
// save LoMem
memcpy( (void*) currentLowWRMEM + 0x200, WRLOMEM + 0x200, 0xBE00);
save_AUX();
if ( activeTextPage ) {
// save the content of Shadow Memory
memcpy(activeTextPage, shadowTextPage, 0x400);
}
}
INLINE void select_RAM_BANK( uint16_t addr ) {
// RAM Bank 1 or 2?
switch ((uint8_t)addr) {
@ -1378,19 +1398,19 @@ void auxMemorySelect( MEMcfg_t newMEMcfg ) {
newReadMEM = Apple2_64K_AUX + 0x200;
}
else {
newReadMEM = Apple2_64K_MEM + 0x200;
newReadMEM = Apple2_64K_RAM + 0x200;
}
if ( newMEMcfg.WR_AUX_MEM ) {
newWriteMEM = Apple2_64K_AUX;
}
else {
newWriteMEM = Apple2_64K_MEM;
newWriteMEM = Apple2_64K_RAM;
}
}
else {
newReadMEM = Apple2_64K_MEM + 0x200;
newWriteMEM = Apple2_64K_MEM;
newReadMEM = Apple2_64K_RAM + 0x200;
newWriteMEM = Apple2_64K_RAM;
}

View File

@ -87,6 +87,8 @@ extern void kbdUp (void);
extern uint8_t getIO ( uint16_t ioaddr );
extern void setIO ( uint16_t ioaddr, uint8_t val );
extern void save_RAM();
#ifndef DEBUGGER
extern uint8_t getMEM ( uint16_t ioaddr );
extern uint16_t getMEM16 ( uint16_t ioaddr );