. Fixed #309: Support 6522 TIMER1 at $Cs80 as in interrupt source
. Fixed save-state v2 bug where Mockingboard's card ROM was erroneously mapped in (instead of internal $C100-CFFF ROM) . Added Cybernoid-TimerAtC480.aws.yaml to test both
This commit is contained in:
parent
efcf06c285
commit
cf0cd37d9e
4 changed files with 13 additions and 2 deletions
|
@ -1685,6 +1685,14 @@ LPVOID MemGetSlotParameters(UINT uSlot)
|
|||
|
||||
//===========================================================================
|
||||
|
||||
void MemLoadSnapshot_SetSlotCxRom(void)
|
||||
{
|
||||
if (!SW_SLOTCXROM)
|
||||
IoHandlerCardsOut();
|
||||
}
|
||||
|
||||
//===========================================================================
|
||||
|
||||
// NB. Don't need to save 'modechanging', as this is just an optimisation to save calling UpdatePaging() twice.
|
||||
// . If we were to save the state when 'modechanging' is set, then on restoring the state, the 6502 code will immediately update the read memory mode.
|
||||
// . This will work correctly.
|
||||
|
|
|
@ -54,6 +54,7 @@ void MemReset ();
|
|||
void MemResetPaging ();
|
||||
void MemUpdatePaging(BOOL initialize);
|
||||
LPVOID MemGetSlotParameters (UINT uSlot);
|
||||
void MemLoadSnapshot_SetSlotCxRom(void);
|
||||
void MemSetSnapshot_v1(const DWORD MemMode, const BOOL LastWriteRam, const BYTE* const pMemMain, const BYTE* const pMemAux);
|
||||
std::string MemGetSnapshotUnitAuxSlotName(void);
|
||||
void MemSaveSnapshot(class YamlSaveHelper& yamlSaveHelper);
|
||||
|
|
|
@ -221,8 +221,8 @@ static void Votrax_Write(BYTE nDevice, BYTE nValue);
|
|||
|
||||
static void StartTimer(SY6522_AY8910* pMB)
|
||||
{
|
||||
if((pMB->nAY8910Number & 1) != SY6522_DEVICE_A)
|
||||
return;
|
||||
// if((pMB->nAY8910Number & 1) != SY6522_DEVICE_A)
|
||||
// return;
|
||||
|
||||
if((pMB->sy6522.IER & IxR_TIMER1) == 0x00)
|
||||
return;
|
||||
|
|
|
@ -515,6 +515,8 @@ static void Snapshot_LoadState_v2(void)
|
|||
MemInitializeCustomF8ROM();
|
||||
MemInitializeIO();
|
||||
|
||||
MemLoadSnapshot_SetSlotCxRom(); // Remove the cards' ROMs at $Csnn if internal ROM is enabled
|
||||
|
||||
MemUpdatePaging(TRUE);
|
||||
|
||||
// g_Apple2Type may've changed: so redraw frame (title, buttons, leds, etc)
|
||||
|
|
Loading…
Add table
Reference in a new issue