Internal version is possible only on some CPC boards, mostly PTNO.Z70***. The onboard 40015 and 40025 chips are replaced with two 32pin sockets and logic that support chips of 512kB. Also some onboard logic must be modified.
One 32pin socket is the basic memory, the second is rescue. Rescue ROM is used in case the basic one fails (e.g. programming error, bad code). ROM is seleced by F9 key (pressed on reset or power-up pages rescue ROM), or by &DBxx port.
Each socket has two extra pins that could be used to connect a set of memories, up to 4MB.
External version is in plans. Probably will not have rescue socket, but a disable jumper/switch, because the internal ROM still can be used. A 29F320 chip (4MB) is considered.
The ROM can be enabled for programming by selecting it with &DExx port. A 16kB window is seen in &C000..&FFFF address space and writing goes also to RAM in this area! Programming procedure depends of ROM chip type used (see datasheet).
By default, 29F040 chips are used (have sectors of 64kB - such amount must be erased to change a bit from 0 into 1). Also, 29C040 chips can be used to simulate a disk (sectors of 512 bytes), but are more expensive. Chip types can be mixed.
- The banks 0..15 are initialized by the CPC-OS.
- When using the ROM expander, the first 32 ROMs can be used by the CPC-OS.
- The program Flash ROManager allows the pull down menue driven management of the first 32 Pseuo-ROMs.
See also the list of memory expansions for the CPC