Availability |
|
 |
 |
ROM cartridge available: |
|
 |
|
ROM cartridge released: |
|
24th August 2008 |
Description |
|
 |
 |
The ZXC2 combines the techniques employed in the
standard,
switched bank paging and
software bank paging
ROM cartridge configurations.
It supports 8K (27C64), 16K (27C128), 32K (27C256), 64K (27C512), 128K (27C010/1001) and 256K (27C020/2001) EPROMs. It can also be fitted with a 128K (29F010) FLASH ROM,
although it must be programmed using an EPROM programmer.
The PCB can be seen below:
When the cartridge is used in the software bank paging configuration, the top 64 bytes of the ROM address space is used for memory mapped I/O control of the bank paging
mechanism and so cannot be used to store program code or data. When the cartridge used in the standard or switched bank paging configurations, the full address space
is available to store program code or data. The switched bank paging configuration allows up to 4 switches be used to select any 16K bank from a maximum of 16 banks.
Paging Control |
|
 |
 |
The following information will be useful should you wish to write your own assembly language programs to control the ZXC2.
At power on the ZXC2 intercepts accesses to the top 64 ROM locations ($3FC0-$3FFF) and interprets them as follows:
Bank |
Selects between the 16 banks available. |
Page Out |
Set to 1 to page out the ROM cartridge, thereby allowing access to the Spectrum ROM (or Interface 1 ROM if paged in). Set to 0 to page the ROM cartridge back in. |
Lock |
Set to 1 to prevent further paging. This can therefore be used to permanently make a bank of the ROM cartridge visible to the Spectrum, or to permanently page out the ROM cartridge. |
Note that to use the paging control mechanism from your own assembly language programs, care should be taken to ensure the I and R registers do not contain values that would
inadvertently invoke the paging mechanism. Setting the I register to a value between $80 and $BF ensures maximum compatibility on 48K and 128K Spectrums.
Downloads |
|
 |
 |
Full details on the supported configurations can be found in the following document: