diff --git a/source/Debugger/Debug.cpp b/source/Debugger/Debug.cpp index 2986c72e..a616b030 100644 --- a/source/Debugger/Debug.cpp +++ b/source/Debugger/Debug.cpp @@ -4980,7 +4980,7 @@ size_t Util_GetTextScreen ( char* &pText_ ) g_nTextScreen = 0; memset( pBeg, 0, sizeof( g_aTextScreen ) ); - unsigned int uBank2 = GetVideo().VideoGetSWPAGE2() ? 1 : 0; + const unsigned int uBank2 = (!GetVideo().VideoGetSW80STORE() && GetVideo().VideoGetSWPAGE2()) ? 1 : 0; LPBYTE g_pTextBank1 = MemGetAuxPtr (0x400 << uBank2); LPBYTE g_pTextBank0 = MemGetMainPtr(0x400 << uBank2); @@ -6816,7 +6816,7 @@ static Update_t _ViewOutput ( ViewVideoPage_t iPage, UINT bVideoModeFlags ) switch ( iPage ) { case VIEW_PAGE_X: - bVideoModeFlags |= GetVideo().VideoGetSWPAGE2() ? VF_PAGE2 : 0; + bVideoModeFlags |= (!GetVideo().VideoGetSW80STORE() && GetVideo().VideoGetSWPAGE2()) ? VF_PAGE2 : 0; bVideoModeFlags |= GetVideo().VideoGetSWMIXED() ? VF_MIXED : 0; break; // Page Current & current MIXED state case VIEW_PAGE_0: bVideoModeFlags |= VF_PAGE0; break; // Pseudo Page 0 ($0000) diff --git a/source/Memory.cpp b/source/Memory.cpp index 3e6d33e5..165db789 100644 --- a/source/Memory.cpp +++ b/source/Memory.cpp @@ -1418,7 +1418,7 @@ static void UpdatePagingForAltRW(void) memwrite[loop] = (memwrite[loop] - (loop << 8)) + TEXT_PAGE1_BEGIN + ((loop & 3) << 8); for (loop = 0xD0; loop < 0x100; loop++) - if (SW_HIGHRAM && SW_ALTZP) + if (SW_WRITERAM && SW_HIGHRAM && SW_ALTZP) memwrite[loop] = memaux + TEXT_PAGE1_BEGIN + ((loop & 3) << 8); if (SW_80STORE && SW_PAGE2)