Changes
/* Memory Mapped I/O */
This list shows only the internal standard I/O ports, as used in the BIOS ROM of the CPC 464/664/6128 BIOS, and in the AMSDOS ROM of the CPC 664/6128 and DDI-1. For a more complete list, including all Peripherals, see the [[I/O Port Summary|Complete I/O Port Summary]].
|-
|-
|CRTC Write||&BD[[Gate Array]] ||Write Onlyonly ||-0 ||01 ||-||-||-||-||0- ||1- ||-||-||-||-||-||-||-||-
|-
|CRTC Status[[PAL16L8|PAL]] (RAM configuration) |&BE|Write only |Read Only|0 |-||0* ||-||-||-||-||1- ||0- ||-||-||-||-||-||-||-||-
|-
|[[CRTC Read||&BF]] ||Read Only/Write ||-||0||-||-||-||-||1r1 ||1r0 ||-||-||-||-||-||-||-||-
|-
|[[Upper ROM selectBank Number||&DFUpper ROM select]] ||Write Onlyonly ||-||-||0||-||-||-||-||-||-||-||-||-||-||-||-||-
|-
|[[Printer port||&EFPort]] ||Write Onlyonly ||-||-||-||0||-||-||-||-||-||-||-||-||-||-||-||-
|-
|[[8255|8255 PPI Port A||&F4]] ||Read/Write||-||-||-||-||0||-||0r1 ||0r0 ||-||-||-||-||-||-||-||-
|-
|PPI Port B||&F5Expansion Peripherals ||Read/Write||-||-||-||-||0||-||0||1x ||-x ||-x ||-x ||-x ||-x ||-x ||-x ||-x |-|PPI Port C||&F6||Read/Write||-||-||-||-||0||-||1||0||-||-||-||-||-||-||-||-|-|PPI Control||&F7||Write Only||-||-||-||-||0||-||1||1||-||-||-||-||-||-||-||-|-|FDC Status||&FB||Read Only||-||-||-||-||-||0||-||1||0||-||-||-||-||-||-||0|-|FDC Data||&FB||Read/Write||-||-||-||-||-||0||-||1||0||-||-||-||-||-||-||1|-|FDC Motor||&FA||Write Only||-||-||-||-||-||0||-||0||0||-||-||-||-||-||-||-x
|}
Legend:*"-" means this bit is ignored,*"0 " means the bit must be set to "0 " for the hardware device to respond, *"1 " means the bit must be set to "1 " for the hardware device to respond, - means this bit is ignored. *"r1 " and "r0 " mean a bit used to define a register* "*" Bit14 of the PAL port must be at 1 on CPCs equipped with CRTCs 0/1/2. It can be at 0 or 1 on CRTCs 3/4. For compatibility reasons, it is strongly advised to always set bit14 to 1 to select PAL. <br> == Official I/O Ports ==
{|{{Prettytable|width: 700px; font-size: 2em;}}class="wikitable"|'''!I/O'''||'''!Decoded as'''||'''!Port'''||'''!Read'''||'''!Write'''
|-
|#7FXX||%01xxxxxx xxxxxxxx||[[Gate Array]]||-||Write
|}
* The FDC is considered as an expansion peripheral. The three [[765 FDC]] floppy ports are contained in CPC 664/6128/Plus and DDI-1 only.
* The eight [[Amstrad Serial Interface]] ports are pre-defined as shown above in the AMSDOS ROM. However, neither the CPC 664/6128/Plus nor DDI-1 do actually contain the corresponding RS232 hardware.
== Memory Mapped I/O == {|{{Prettytable|width: 700px; font-size: 2em;}}class="wikitable"|'''!Mem'''||'''!Decoded as'''||'''!Port'''||'''!Read'''||'''!Write'''
|-
|#4000-7FFF||%01xxxxxx xxxxxxxx||[[ASIC]] - CPC+/GX4000 registers|| Read || Write
|-
|}
Writes to unused areas of the ASIC I/O page are not persisted. [https://www.cpcwiki.eu/forum/games/harrier-attack-reloaded/msg247703/#msg247703 Source]
See the [[ASIC]] page for details.
<br>
[[Category:Programming]] [[Category:CPC Internal Components]]