Changes

Default I/O Port Summary

1,298 bytes removed, 4 September
/* Memory Mapped I/O Ports */
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]].
== I/O Port Mapping == {|{{Prettytable|width: 700px; font-size: 2em;}}|'''Hardware device'''||'''Address'''||'''Read/Write'''||'''b15'''||'''b14'''||'''b13'''||'''b12'''||'''b11'''||'''b10'''||'''b9'''||'''b8'''||'''b7'''||'''b6'''||'''b5'''||'''b4'''||'''b3'''||'''b2'''||'''b1'''||'''b0'''|-|Gate Array||&7F00||Write Only||0||1||-||-||-||-||-||-||-||-||-||-||-||-||-||-|-|PAL||&7F00||Write Only||0||-||-||-||-||-||-||-||-||-||-||-||-||-||-||-|-|CRTC Select||&BC00||Write Only||-||0||-||-||-||-||0||0||-||-||-||-||-||-||-||-|-|CRTC Write||&BD00||Write Only||-||0||-||-||-||-||0||1||-||-||-||-||-||-||-||-|-|CRTC Status||&BE00||Read Only||-||0||-||-||-||-||1||0||-||-||-||-||-||-||-||-|-|CRTC Read||&BF00||Read Only||-||0||-||-||-||-||1||1||-||-||-||-||-||-||-||-|-|ROM select||&DF00||Write Only||-||-||0||-||-||-||-||-||-||-||-||-||-||-||-||-|-|Printer port||&EF00||Write Only||-||-||-||0||-||-||-||-||-||-||-||-||-||-||-||-|-|PPI Port A||&F400||Read/Write||-||-||-||-||0||-||0||0||-||-||-||-||-||-||-||-|-|PPI Port B||&F500||Read/Write||-||-||-||-||0||-||0||1||-||-||-||-||-||-||-||-|-|PPI Port C||&F600||Read/Write||-||-||-||-||0||-||1||0||-||-||-||-||-||-||-||-|-|PPI Control||&F700||Write Only||-||-||-||-||0||-||1||1||-||-||-||-||-||-||-||-|-|FDC Status||&FB7E||Read Only||-||-||-||-||-||0||-||1||0||-||-||-||-||-||-||0|-|FDC Data||&FB7F||Read/Write||-||-||-||-||-||0||-||1||0||-||-||-||-||-||-||1|-|FDC Motor||&FA7E||Write Only||-||-||-||-||-||0||-||0||0||-||-||-||-||-||-||-|} 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.<br>
== 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 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.
 
* Bit14 of the PAL selection address 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.
 
* As components use partial address decoding, it is therefore possible to send the same value to different components '''simultaneously''' by carefully using custom I/O ports.
 
<br>
== Memory Mapped I/O Ports ==
{|{{Prettytable|width: 700px; font-size: 2em;}}class="wikitable"|'''!Mem'''||'''!Decoded as'''||'''!Port'''||'''!Read'''||'''!Write'''
|-
|#4000-7FFF||%01xxxxxx xxxxxxxx||[[ASIC]] - CPC+/GX4000 registers|| Read || Write
|-
|}
 
See the [[ASIC]] page for details.
 
<br>
 
==Related pages==
 
*[[Arnold V specs]]
*[[Arnold V Specs Revised]]
[[Category:Programming]] [[Category:CPC Internal Components]]
7,362
edits