RAM expansions are not required to conform to any page order. For example, the [[Dk'tronics Silicon Disc]] is a 256k RAM expansion that provides Pages 4 to 7.
RAM expansions can even be at an adjacent address range. For example, the [[Y-MEM]] is a 512k RAM expansion that uses the &7Exx range instead of the usual &7Fxx.
<br>
<br>
== Integrated PAL in and Pre-ASIC ==
The PAL component is integrated inside the Pre-ASIC chip. But it is disabled by default on the CPC 464.
<br>
== PAL and ASIC compatibility ==
Most The PAL component is integrated inside the ASIC chip. But it is disabled by default on the 464 Plus and GX4000. [https://www.cpcwiki.eu/forum/news-events/announcing-sonic-gx-a-new-episode-of-sonic-the-hedgehog-for-amstrad-gx-4000/msg248436/#msg248436 Source] Besides, most existing RAM expansions except Gemini have a problem. [https://pulkomandy.github.io/shinra.github.io/gemini.html Source]
The issue is specific to the Amstrad Plus machines which add yet another complication to the memory mapping handling on CPC machines. Basically, the ASIC can be memory mapped and hide a part of the RAM. This works well for the main RAM bank, and on the CPC, it also works for the internal extra 64K of RAM, which can be mapped at the same address. If you try to map both the RAM and the ASIC there, the ASIC is mapped and the RAM is not accessible until the ASIC is moved out of the way.
== Initial replacement equation (Porchy) ==
The following equations were worked out by Porchy (member on CPCWiki Forum). These can be used to program replacements:
A15OUT = (!X2 & !X1 & A14
== Fixed version (Gerald) ==
Original version from Porchy suffer suffers from a bad handling of the RAMDIS signal. This cause It caused screen artefact when accessing an external extension RAM like XMEMexpansion.
A14OUT = !( !A14
== Related pages ==
*[[media:Programmable Array Logic PAL16L8ACN.pdf|PAL16L8 datasheet]]
*[[Gate Array and ASIC Pin-Outs]]
*[[Standard Memory Expansions]]