MCPcopy Create free account
hub / github.com/AppleWin/AppleWin / MemIsAddrCodeMemory

Function MemIsAddrCodeMemory

source/Memory.cpp:1815–1846  ·  view source on GitHub ↗

Post: . true: code memory . false: I/O memory or floating bus

Source from the content-addressed store, hash-verified

1813// . true: code memory
1814// . false: I/O memory or floating bus
1815bool MemIsAddrCodeMemory(const USHORT addr)
1816{
1817 if (addr < APPLE_IO_BEGIN || addr > FIRMWARE_EXPANSION_END) // Assume all A][ types have at least 48K
1818 return true;
1819
1820 if (addr < APPLE_SLOT_BEGIN) // [$C000..C0FF]
1821 return false;
1822
1823 if (!IS_APPLE2 && SW_INTCXROM) // [$C100..C7FF] //e or Enhanced //e internal ROM
1824 return true;
1825
1826 if (!IS_APPLE2 && !SW_SLOTC3ROM && (addr >> 8) == 0xC3) // [$C300..C3FF] //e or Enhanced //e internal ROM
1827 return true;
1828
1829 if (addr <= APPLE_SLOT_END) // [$C100..C7FF]
1830 {
1831 UINT slot = (addr >> 8) & 0x7;
1832 return IsCardInSlot(slot);
1833 }
1834
1835 // [$C800..CFFF]
1836
1837 if (g_eExpansionRomType == eExpRomNull)
1838 {
1839 if (IO_SELECT || INTC8ROM) // Was at $Csxx and now in [$C800..$CFFF]
1840 return true;
1841
1842 return false;
1843 }
1844
1845 return true;
1846}
1847
1848//===========================================================================
1849

Callers 1

DebugContinueSteppingFunction · 0.85

Calls 1

IsCardInSlotFunction · 0.85

Tested by

no test coverage detected