<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://oldwiki.cpcwiki.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DaDMaN</id>
		<title>CPCWiki - THE Amstrad CPC encyclopedia! - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://oldwiki.cpcwiki.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DaDMaN"/>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php/Special:Contributions/DaDMaN"/>
		<updated>2026-08-28T08:11:48Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=I/O_Port_Summary&amp;diff=94646</id>
		<title>I/O Port Summary</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=I/O_Port_Summary&amp;diff=94646"/>
				<updated>2015-11-22T23:53:41Z</updated>
		
		<summary type="html">&lt;p&gt;DaDMaN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of all known I/O ports of the Amstrad CPC, including all [[Peripherals]]. For a list showing only the built-in standard addresses see [[Default I/O Port Summary]]. The original list of I/O ports was taken from the [[FutureOS]] handbook.&lt;br /&gt;
&lt;br /&gt;
== I/O Port Summary ==&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|'''I/O'''||'''Decoded as'''||'''Port'''||'''Read'''||'''Write''' &lt;br /&gt;
|-&lt;br /&gt;
|#1C00||%x0xxxx00 xxxxxxxx||[[Dk'tronics Lightpen]] faulty mirror of #BCXX [[CRTC]] Index|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#1F00||%x0xxxx11 xxxxxxxx||[[Dk'tronics Lightpen]] faulty mirror of #BFXX [[CRTC]] Data In|| Read || -&lt;br /&gt;
|-&lt;br /&gt;
|#78XX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#79XX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7AXX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7BXX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7CXX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7CXX||%0xxxxx00 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 0 (extended &amp;quot;Gate Array 3&amp;quot;)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7DXX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7DXX||%0xxxxx01 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 1 (extended &amp;quot;Gate Array 3&amp;quot;)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7EXX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7EXX||%0xxxxx10 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 2 (extended &amp;quot;Gate Array 3&amp;quot;)||Read||Write&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|#7EXX||%0xxxxxx0 xxxxxxxx||[[Y-MEM]] 512K RAM Expansion part||Read||Write&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||%0xxxxx11 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 3 (extended &amp;quot;Gate Array 3&amp;quot;)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|#7FXX||%0xxxxxx1 xxxxxxxx||[[X-MEM]] 512K RAM Expansion part||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||?||[[Dk'tronics memory expansion]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||?||[[Dobbertin Memory Expansion]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||%01xxxxxx xxxxxxxx||[[Gate Array]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||%0xxxxxxx xxxxxxxx||[[PAL16L8]] extension to [[Gate Array]] for 128K RAM banking||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#BCXX||%x0xxxx00 xxxxxxxx||6845 [[CRTC]] Index|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#BDXX||%x0xxxx01 xxxxxxxx||6845 [[CRTC]] Data Out|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#BEXX||%x0xxxx10 xxxxxxxx||6845 [[CRTC]] Status (as far as supported)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#BFXX||%x0xxxx11 xxxxxxxx||6845 [[CRTC]] Data In (as far as supported)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#DFXX||%xx0xxxxx xxxxxxxx||[[Upper ROM Bank Number]] (as decoded within CPC664, CPC6128, 464+, 6128+, decoding in ROM expansions may be different)|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#ECXX||%xxx0xx00 xxxxxxxx||[[KC Compact]] CIO Port B (timer)|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EDXX||%xxx0xx01 xxxxxxxx||[[KC Compact]] CIO Port C (timer)|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EEXX||%xxx0xx10 xxxxxxxx||[[KC Compact]] CIO Control|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EEXX||%xxx0xxx0 xxxxxxxx||[[Aleste 520EX]] USART 8251 (RS232/Mouse) Data|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EFXX||%xxx0xx11 xxxxxxxx||[[KC Compact]] CIO Port A (Bi-drectional [[Printer Port]])|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EFXX||%xxx0xxx1 xxxxxxxx||[[Aleste 520EX]] USART 8251 (RS232/Mouse) Control/Status|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EFXX||%xxx0xxxx xxxxxxxx||[[Printer Port]]|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F0E0||?||[[Draysoft Doubler]] External Tape Data Input (Bit5)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F4XX||%xxxx0x00 xxxxxxxx||[[8255]] PIO Port A ([[PSG]] Data)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F5XX||%xxxx0x01 xxxxxxxx||[[8255]] PIO Port B (Vsync,[[Printer Port|PrnBusy]],Tape,etc.)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F6XX||%xxxx0x10 xxxxxxxx||[[8255]] PIO Port C (KeybRow,Tape,[[PSG]] Control)|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F7XX||%xxxx0x11 xxxxxxxx||[[8255]] PIO Control-Register|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F880-#F88F||%1111 1000 1000 BBCC||[[PlayCity]] Expansion (CTC #F880-F883 Channels and YMZ Right #F884, YMZ Left #F888 Data)|| - || Write &lt;br /&gt;
|-&lt;br /&gt;
|#F890-#F8AF||%1111 1000 10xx xxxx||[[ACME]] WIP Expansion|| ? || ? &lt;br /&gt;
|-&lt;br /&gt;
|#F8B0||?||[[VIDI digitizer|Vidi-CPC Video-Digitiser]], CRTC Index||?||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8B1||?||[[VIDI digitizer|Vidi-CPC Video-Digitiser]], CRTC Data||?||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8DC||?||[[CPCI RS232 Interface|CPCI Serial Interface]] MC6850 Control/Status||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8DD||?||[[CPCI RS232 Interface|CPCI Serial Interface]] MC6850 Data||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E0||?||[[DHCP MIDI Interface]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E0||%11111000 11100000||[[Schneider RS232 Interface]] Z80-STI Indirect Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E1||%11111000 11100001||[[Schneider RS232 Interface]] Z80-STI General Purpose I/O Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E2||%11111000 11100010||[[Schneider RS232 Interface]] Z80-STI Interrupt Pending Register B (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E2||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E3||%11111000 11100011||[[Schneider RS232 Interface]] Z80-STI Interrupt Pending Register A (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E3||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E4||%11111000 11100100||[[Schneider RS232 Interface]] Z80-STI Interrupt in-Service Register B (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E4||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E5||%11111000 11100101||[[Schneider RS232 Interface]] Z80-STI Interrupt in-Service Register A (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E6||%11111000 11100110||[[Schneider RS232 Interface]] Z80-STI Interrupt Mask Register B (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E6||?||Port A - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E7||%11111000 11100111||[[Schneider RS232 Interface]] Z80-STI Interrupt Mask Register A (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E7||?||Port C - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E8||%11111000 11101000||[[Schneider RS232 Interface]] Z80-STI Indirect Index and Interrupt Vector Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E8||?||[[Music Machine]] Interrupt Sel|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E9||%11111000 11101001||[[Schneider RS232 Interface]] Z80-STI Timers A and B Control Register (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EA||%11111000 11101010||[[Schneider RS232 Interface]] Z80-STI Timer B Data Register (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EB||%11111000 11101011||[[Schneider RS232 Interface]] Z80-STI Timer A Data Register (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EC||%11111000 11101100||[[Schneider RS232 Interface]] Z80-STI USART Control Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EC||?||[[Music Machine]] ACIA Control|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8ED||?||[[Music Machine]] ACIA Data Write|| - || Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8ED||%11111000 11101101||[[Schneider RS232 Interface]] Z80-STI Receiver Status Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EE||?||[[Music Machine]] ACIA Status||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F8EE||%11111000 11101110||[[Schneider RS232 Interface]] Z80-STI Transmitter Status Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EF||%11111000 11101111||[[Schneider RS232 Interface]] Z80-STI USART Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EF||?||[[Music Machine]] ACIA Data Read||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F8FX||%xxxxx0xx 1111NNNx||[[Maplins 8bit Input Port]] and [[Maplins Weather Satellite Receiver]]||Read|| -&lt;br /&gt;
|-&lt;br /&gt;
|#F8F0||?||[[Music Machine]] DAC Write|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8F2||?||[[EMR MIDI Interface]]|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8F2||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|#F8F2||?||[[EMR MIDI Interface]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8F4||?||[[Music Machine]] ADC Read||Read|| - &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|#F8F5||?||[[ARA Video Digitizer]] - Read Sync Signal (bit0)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F8F8||?||[[Music Machine]] ADC Start|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8F8||?||[[ANTA 64K Memory Expansion]] ANTA 64k.3 latch||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8FF||%1111100x 111xxxxx||[[CPCISA by Yarek|CPCISA control port]]|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8FF||N/A||[[Peripheral Soft Reset]] (MC_BOOT_PROGRAM and MC_START_PROGRAM do OUT [F8FF],FF)|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F980-#F98F||%1111 1001 1000 BBCC||[[PlayCity]] Expansion (CTC #F980-F983 Channels and YMZ Right #F984, YMZ Left #F988 Registers)|| - || Write&lt;br /&gt;
|-&lt;br /&gt;
|#F990-#F9AF||%1111 1001 10xx xxxx||[[ACME]] WIP Expansion|| ? || ?&lt;br /&gt;
|-&lt;br /&gt;
|#F9B0||?||[[VIDI digitizer|Vidi-CPC Video-Digitiser]], Config (W) and Capture Data (R)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9D0||%11111000 11010000||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] SwinSID1 + SwinSID2 DATA (MONO Mode / 3 Channels)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9D1||%11111000 11010001||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] SwinSID1 (LEFT) DATA (STEREO Mode / 6 Channels)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9D2||%11111000 11010010||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] SwinSID2 (RIGHT) DATA (STEREO Mode / 6 Channels)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9DC||?||[[Panda Electronics Communications Interface Unit]] PPI Port A - 8bit Printer data||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9DD||?||[[Panda Electronics Communications Interface Unit]] PPI Port B - 8bit general purpose I/O port||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9DE||?||[[Panda Electronics Communications Interface Unit]] PPI Port C - Handshake (bit0=Strobe.out, Bit5=Busy.in)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9DF||?||[[Panda Electronics Communications Interface Unit]] PPI Control - 8bit Printer data|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9E6||?||Port B - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F9E7||?||RS Port - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F9F5||?||[[ARA Video Digitizer]] - Reset 10bit Config Value|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9F7||?||[[Grafpad II|Hegotron grafpad II]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F9FC - #F9FE||?||[[Otten &amp;amp; Fecht 1 MB RAM-Disc]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9FF||?||[[Grafpad II|Hegotron grafpad II]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FA7E||%xxxxx0x0 0xxxxxxx||Floppy Motor Control (for [[765 FDC]])|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABC||%xxxxx0x0 10xxxx00||[[Aleste 520EX]] EXTPORT with CS53: Forward PPI Port A to 8253 Timer 0|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABD||%xxxxx0x0 10xxxx01||[[Aleste 520EX]] EXTPORT with CS53: Forward PPI Port A to 8253 Timer 1|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABE||%xxxxx0x0 10xxxx10||[[Aleste 520EX]] EXTPORT with CS53: Forward PPI Port A to 8253 Timer 2|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABF||%xxxxx0x0 10xxxx11||[[Aleste 520EX]] EXTPORT with CS53: Forward PPI Port A to 8253 Control|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABF||%xxxxx0x0 10xxxxxx||[[Aleste 520EX]] EXTPORT (config for internal hardware)|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAD0||%11111010 11010000||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] Select SID (1&amp;amp;2) Register MONO mode||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAD1||%11111010 11010001||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] Select SID1 Register||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAD2||%11111010 11010010||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] Select SID2 Register||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADC||?||[[Amstrad Serial Interface]] Z80-SIO / DART port A Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADC||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8251 USART data|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADD||?||[[Amstrad Serial Interface]] Z80-SIO / DART port A Control Reg.||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADD||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8251 USART control/status|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADE||?||[[Amstrad Serial Interface]] Z80-SIO / DART port B Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADF||?||[[Amstrad Serial Interface]] Z80-SIO / DART port B Control Reg.||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADF||?||[[Cirkit serial interface]] 8251 UART data register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAE6||?||Port A - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FAE7||?||Port C - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FAEE||?||[[Amstrad SSA-1 Speech Synthesizer]] (faulty mirror used by included RSX driver)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAEF||%xxxxx0x0 xxx0xxxx||[[Kempston Mouse]] - Mouse Buttons||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FAF5||?||[[ARA Video Digitizer]] - Read Capture Data||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#FAF5||?||[[ARA Video Digitizer]] - Increment 10bit Config Value|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FB7E||%xxxxx0x1 0xxxxxx0||[[765 FDC]] (internal) Status Register||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#FB7F||%xxxxx0x1 0xxxxxx1||[[765 FDC]] (internal) Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBBD||?||Ram select mode [[Vortex Expansions RAM card|Vortex SP512]]||?||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBDC||?||[[Amstrad Serial Interface]] 8253 Timer counter 0||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDC||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 0 (transmit baudrate)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDD||?||[[Amstrad Serial Interface]] 8253 Timer counter 1||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDD||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 1 (receive baudrate)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDE||?||[[Amstrad Serial Interface]] 8253 Timer counter 2||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDE||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 2 (used as 1ms timer)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDF||?||[[Amstrad Serial Interface]] 8253 Timer Modus Select|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDF||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 0-2 control|| - || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDF||?||[[Cirkit serial interface]] 8251 UART status/control register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBxx+0||?||CPCI [[Real Time Clock]] Index (DIY)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBxx+1||?||CPCI [[Real Time Clock]] Data (DIY)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE0||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port A Data (HD146818P RTC Data bus)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE0||?||[[Dobbertin Harddisc]] Data Port||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE1||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port B Data (General Purpose 8bit I/O Port)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE1||?||[[Dobbertin Harddisc]] Status, Reset||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE2||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port A Control||?|| Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE2||?||[[Dobbertin Harddisc]] Select, Configuration||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE3||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port B Control||?|| Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE3||?||[[Dobbertin Harddisc]] DMA, Interrupt||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE4||?||[[Dobbertin Harddisc]] Reset||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE6||?||Port B - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FBE7||?||RS Port - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FBE7||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Data In/Out Port A ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBE8||?||[[Dk'tronics Real Time Clock]] &amp;quot;4bit latch&amp;quot; (details unknown)|| ? || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE8||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer0 (RX Clock)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE9||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer1 (TX Clock)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEA||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer2 (not used)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEB||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer Control||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEC||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) Control||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEC||?||[[PDS development system]] Z80 PIO Port A Data (8bit data to/from PC)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBED||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) TX Data||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBED||?||[[PDS development system]] Z80 PIO Port B Data (handshake to/from PC)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEE||?||[[PDS development system]] Z80 PIO Port A Control||?||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEE||?||[[Amstrad SSA-1 Speech Synthesizer]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEE||%xxxxx0x1 xxx0xxx0||[[Kempston Mouse]] - 8bit X position||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FBEE||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) Status||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FBEF||?||[[PDS development system]] Z80 PIO Port B Control||?||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEF||%xxxxx0x1 xxx0xxx1||[[Kempston Mouse]] - 8bit Y position||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FBEF||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) RX Data||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FBEF||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Data In/Out Port B ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBF0 - #FBFF||?||[[Otten &amp;amp; Fecht 1 MB RAM-Disc]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF0||%xxxx1011 1111xxxx||[[AMRAM2]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF0||%xxxxx011 1111xxx0||[[AMSSIO]] Serial Interface MC6850 Control/Status Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF1||%xxxxx011 1111xxx1||[[AMSSIO]] Serial Interface MC6850 Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF5||?||[[ARA Video Digitizer]] - Invoke Video Capture|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF6||?||[[Vortex Disc Drives]] 765 FDC (Vortex,ext) Status Register||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#FBF7||?||[[Vortex Disc Drives]] 765 FDC (Vortex,ext) Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF7||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Configure Port A ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBF8||%11111011 11111000||[[8bit Printer Port (Amstrad Action)]] Strobe/Busy||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBF9||%11111011 11111001||[[8bit Printer Port (Amstrad Action)]] Data|| - ||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBFE||?||[[Amstrad Magnum Phaser|Magnum Light Phaser]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBFE||?||[[Dart Scanner for DMP-Printers]]||Read||?&lt;br /&gt;
|-&lt;br /&gt;
|#FBFE||?||[[Dk'tronics Speech Synthesizer]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBFE||?||[[TMPI speech synthesizer]] Data Register ||||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBFF||?||[[TMPI speech synthesizer]] Command/Status Register ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBFF||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Configure Port B ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FC00 - #FDFF||%1111110x xxxxxxxx||[[CPCISA by Yarek|CPCISA]] 16bits mode high byte latch||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC5C||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Baudrate Selection|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC7C||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel A Data||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC7D||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel A Control/Status||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC7E||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel B Data||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC7F||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel B Control/Status||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FCE6||?||Port A - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FCE7||?||Port C - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FD00 - #FD3F||%11111101 00xxxxxx||[[Programming:SYMBiFACE_II|SYMBiFACE II]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FDE6||?||Port B - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FDE7||?||RS Port - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FE00 - #FFFF||%1111111x xxxxxxxx||[[CPCISA by Yarek|CPCISA]] I/O access (low byte)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FE80 - #FE81||%111111101000000x||[[CPC CH376 USB]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEE6||?||Port A - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEE7||?||Port C - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEE8||%11111110 1110100x||[[Multiface II]] - Enable Multiface II ROM/RAM||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEEA||%11111110 1110110x||[[Multiface II]] - Disable Multiface II ROM/RAM||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEF0 - #FEF7||%11111110 11110xxx||[[CPC-CompactFlash]] - IDE registers||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FFXX||%11111111 xxxxxxxx||[[CPC Booster]] (XX=#00..#28 are used now)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FFXX||%11111111 xxxxxxxx||[[Amdrum]] (unsigned 8bit DAC)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FFE6||?||Port B - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FFE7||?||RS Port - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Memory Mapped I/O Ports ==&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|'''Mem'''||'''Decoded as'''||'''Port'''||'''Read'''||'''Write''' &lt;br /&gt;
|-&lt;br /&gt;
|#4000-7FFF||%01xxxxxx xxxxxxxx||[[ASIC]] - CPC+/GX4000 registers|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#C00?||%11000000 0000000x||[[Dobbertin Smart Watch]] data read (A0=data)|| Read || -&lt;br /&gt;
|-&lt;br /&gt;
|#C00?||%11000000 0000000x||[[Dobbertin Smart Watch]] data write (A0=data)|| Read || -&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Ports ==&lt;br /&gt;
&lt;br /&gt;
Some more I/O addresses (which aren't included in the above list yet) are here:&lt;br /&gt;
* [[Schneiderware Summary]]&lt;br /&gt;
&lt;br /&gt;
== Other I/O Ports ==&lt;br /&gt;
&lt;br /&gt;
A number of peripherals connect to the joystick/printer ports, and so, they do not include &amp;quot;own&amp;quot; I/O addresses. This includes hardware ''other than joysticks/printers'' - for example, mice, robots, audio devices, and simple network adapters. For a more complete list, see corresponding sections on [[Digital Joysticks|Digital Joystick]] and [[Printer Port]] pages.&lt;br /&gt;
&lt;br /&gt;
Aside from I/O addresses, there are some other important I/O signals, for example: [[NMI]] or [[External Interrupt|INT]].&lt;br /&gt;
&lt;br /&gt;
== CPCISA ports for ISA cards ==&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|''Device''||''PC I/O range''||''CPCISA high''||''CPCISA low'' &lt;br /&gt;
|-&lt;br /&gt;
|IDE1||1F0h..1F7h||#FDF0..#FDF7||#FFF0..#FFF7&lt;br /&gt;
|-&lt;br /&gt;
|IDE2||170h..177h||#FD70..#FD77||#FF70..#FF77&lt;br /&gt;
|-&lt;br /&gt;
|Joystick||201h..201h||#FC01..#FC01||#FE01..#FE01&lt;br /&gt;
|-&lt;br /&gt;
|Ethernet||210h..21Fh||#FC10..#FC1F||#FE10..#FE1F&lt;br /&gt;
|-&lt;br /&gt;
|Sound Blaster||220h..23Fh||#FC20..#FC3F||#FE20..#FE3F&lt;br /&gt;
|-&lt;br /&gt;
|LPT2||278h..27Fh||#FC78..#FC7F||#FE78..#FE7F&lt;br /&gt;
|-&lt;br /&gt;
|COM1||2F8h..2FFh||#FCF8..#FCFF||#FEF8..#FEFF&lt;br /&gt;
|-&lt;br /&gt;
|MIDI'||300h..301h||#FD00..#FD01||#FF00..#FF01&lt;br /&gt;
|-&lt;br /&gt;
|MIDI||330h..331h||#FD30..#FD31||#FF30..#FF31&lt;br /&gt;
|-&lt;br /&gt;
|Sound control||370h..371h||#FD70..#FD71||#FF70..#FF71&lt;br /&gt;
|-&lt;br /&gt;
|FDC1||372h..377h||#FD72..#FD77||#FF72..#FF77&lt;br /&gt;
|-&lt;br /&gt;
|LPT1||378h..37Fh||#FD78..#FD7F||#FF78..#FF7F&lt;br /&gt;
|-&lt;br /&gt;
|Sound AD-LIB||388h..38Bh||#FD88..#FD8B||#FF88..#FF8B&lt;br /&gt;
|-&lt;br /&gt;
|VGA||3B0h..3BBh||#FDB0..#FDBB||#FFB0..#FFBB&lt;br /&gt;
|-&lt;br /&gt;
|LPT3||3BCh..3BFh||#FDBC..#FDBF||#FFBC..#FFBF&lt;br /&gt;
|-&lt;br /&gt;
|VGA||3C0h..3DFh||#FDC0..#FDCF||#FFC0..#FFCF&lt;br /&gt;
|-&lt;br /&gt;
|FDC1||3F2h..3F7h||#FDF2..#FDF7||#FFF2..#FFF7&lt;br /&gt;
|-&lt;br /&gt;
|COM1||3F8h..3FFh||#FDF8..#FDFF||#FFF8..#FFFF&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== CPCISA ports for ISA motherboard ==&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|''Device''||''PC I/O range''||''CPCISA high''||''CPCISA low'' &lt;br /&gt;
|-&lt;br /&gt;
|DMA||000h..00Fh||#FC00..#FC0F||#FE00..#FE0F&lt;br /&gt;
|-&lt;br /&gt;
|interrupt||020h..03Fh||#FC20..#FC3F||#FE20..#FE3F&lt;br /&gt;
|-&lt;br /&gt;
|counter||040h..05Fh||#FC40..#FC5F||#FE40..#FE5F&lt;br /&gt;
|-&lt;br /&gt;
|keyboard||060h..067h||#FC60..#FC67||#FE60..#FE67&lt;br /&gt;
|-&lt;br /&gt;
|RTC||070h..071h||#FC70..#FC71||#FE70..#FE71&lt;br /&gt;
|-&lt;br /&gt;
|DMA||080h..08Fh||#FC80..#FC8F||#FE80..#FE8F&lt;br /&gt;
|-&lt;br /&gt;
|DMA||0C0h..0DFh||#FCC0..#FCDF||#FEC0..#FEDF&lt;br /&gt;
|-&lt;br /&gt;
|interrupt||0A0h..0BFh||#FCA0..#FCBF||#FEA0..#FEBF&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]] [[Category:Stub]][[Category:CPC Internal Components]][[Category:Hardware]][[Category:Electronic Component]]&lt;/div&gt;</summary>
		<author><name>DaDMaN</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=SID&amp;diff=94645</id>
		<title>SID</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=SID&amp;diff=94645"/>
				<updated>2015-11-22T23:27:22Z</updated>
		
		<summary type="html">&lt;p&gt;DaDMaN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Contains extracts from wikipedia's page)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MOS Technology SID.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;overrated&amp;quot; sound chip used by the [[Commodore 64|C64]].&lt;br /&gt;
&lt;br /&gt;
It was indeed better than the [[AY]] used in many other computers of the era (Amstrad's too) because it could produce many different (3) wave signal while AY could only produce rectangular wave signals.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;SID&amp;quot; refers to a SIDfile, *.SID, too. Now playable -with some less quality- on CPC with Geco's Player. [http://www.hvsc.c64.org/ SID Resource site.]&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
* three separately programmable independent audio oscillators (8 octave range, approximately 16 - 4000 Hz)&lt;br /&gt;
* four different waveforms per audio oscillator (sawtooth, triangle, pulse, noise)&lt;br /&gt;
* one multi mode filter featuring low-pass, high-pass and band-pass outputs with 6 dB/oct (bandpass) or 12 dB/octave (lowpass/highpass) rolloff. The different filter-modes are sometimes combined to produce additional timbres, for instance a notch-reject filter.&lt;br /&gt;
* three attack/decay/sustain/release (ADSR) volume controls, one for each audio oscillator.&lt;br /&gt;
* three ring modulators.&lt;br /&gt;
* oscillator sync for each audio oscillator.&lt;br /&gt;
* two 8-bit A/D converters (typically used for game control paddles, but later also used for a mouse)&lt;br /&gt;
* external audio input (for sound mixing with external signal sources)&lt;br /&gt;
* random number/modulation generator&lt;br /&gt;
&lt;br /&gt;
==Technical details==&lt;br /&gt;
&lt;br /&gt;
6581 Pin configuration&lt;br /&gt;
&lt;br /&gt;
The SID is a mixed-signal integrated circuit, featuring both digital and analog circuitry. All control ports are digital, while the output ports are analog. The SID features three-voice synthesis, where each voice may use one of at least five different waveforms: square wave (with variable duty cycle), triangle wave, sawtooth wave, pseudo-random (but not white) noise, and certain complex/combined waveforms when multiple waveforms are selected simultaneously. A voice playing Triangle waveform may be ring-modulated with one of the other voices, where the triangle waveform's bits are inverted when the modulating voice's msb is set, producing a discontinuity and change of direction with the Triangle's ramp. Oscillators may also be hard-synced to each other, where the synced oscillator is reset whenever the syncing oscillator's msb raises.&lt;br /&gt;
&lt;br /&gt;
Each voice may be routed into a common, digitally controlled analog 12dB multistate filter, which is constructed with aid of external capacitors to the chip. The filter has lowpass, bandpass and highpass outputs, which can be individually selected for final output amplification via master volume register. Using a combined state of lowpass and highpass results in a notch (or inverted bandpass) output.[1] The programmer may vary the filter's cut-off frequency and resonance. An external audio-in port enables external audio to be passed through the filter.&lt;br /&gt;
&lt;br /&gt;
The ring modulation, filter, and programming techniques such as arpeggio (rapid cycling between 2 or more frequencies to make chord-like sounds) together produce the characteristic feel of SID music.&lt;br /&gt;
&lt;br /&gt;
Due to imperfect manufacturing technologies of the time and poor separation between the analog and digital parts of the chip, the 6581's output (before the amplifier stage) was always slightly biased from the zero level. By adjusting the amplifier's gain through the main 4-bit volume register, this bias could be modulated as PCM, resulting in a &amp;quot;virtual&amp;quot; fourth channel allowing 4-bit digital sample playback. The glitch was known and used from an early point on, first by Electronic Speech Systems to produce sampled speech in games such as Impossible Mission (1983, Epyx) and Ghostbusters (1984, Activision). The first instance of samples being used in actual musical compositions was by Martin Galway in Arkanoid (1987, Imagine), although he had copied the idea from an earlier drum synthesizer package called Digidrums. The amount of sampled sound possible to store on a fraction of 64 kilobytes was very limited. Also, it was hugely CPU intensive - one had to output the samples very fast (in comparison to the speed of the 6510 CPU).&lt;br /&gt;
&lt;br /&gt;
The better manufacturing technology in the 8580 used in the later revisions of Commodore 64C and the Commodore 128DCR caused the bias to almost entirely disappear, causing the digitized sound samples to become very quiet. Fortunately, the volume level could be mostly restored with either a hardware modification (biasing the audio-in pin), or more commonly a software trick involving using the Pulse waveform to intentionally recreate the required bias. The software trick generally renders one voice temporarily unusable, although clever musical compositions can make this problem less noticeable.&lt;br /&gt;
&lt;br /&gt;
At the X'2008 demo party, a completely new method of playing digitized samples was unveiled. The method allows for an unprecedented four (software-mixed) channels of 8-bit samples with optional filtering on top of all samples, as well as two ordinary SID sound channels. The method works by resetting the oscillator using the waveform generator test bit, quickly ramping up the new waveform with the Triangle waveform selected, and then disabling all waveforms, resulting in the DAC continuing to output the last value---which is the desired sample. This continues for as long as two scanlines, which is ample time for glitch-free, arbitrary sample output. It is however more CPU-intensive than the 4-bit volume register DAC trick described above. Because the filtering in a SID chip is applied after the waveform generators, samples produced this way can be filtered normally.&lt;br /&gt;
&lt;br /&gt;
The original manual for the SID mentions that if several waveforms are enabled at the same time, the result will be a binary AND between them. What happens in reality is that the input to the waveform DAC pins receive several waveforms at once. For instance, the Triangle waveform is made with a separate XOR circuit and a shift-to-left circuit. The top bit drives whether the XOR circuit inverts the accumulator value seen by the DAC. Thus, enabling triangle and sawtooth simultaneously causes adjacent accumulator bits in the DAC input to mix together. (The XOR circuit does not come to play because it is always disabled whenever the sawtooth waveform is selected.) The pulse waveform is built by joining all the DAC bits together via a long strip of polysilicon, connected to the pulse control logic that digitally compares current accumulator value to the pulse width value. Thus, selecting the pulse waveform together with any other waveform causes every bit on the DAC to partially mix together, and the loudness of the waveform is affected by the state of the pulse.&lt;br /&gt;
&lt;br /&gt;
The noise generator is implemented as an XOR shift register. When using noise waveform simultaneously with any other waveform, the pull-down via waveform selector tends to quickly reduce the XOR shift register to 0 for all bits that are connected to the output DAC. As the zeroes shift in the register when the noise is clocked, and no 1-bits are produced to replace them, a situation can arise where the XOR shift register becomes fully zeroed. Luckily, the situation can be remedied by using the waveform control test bit, which in that condition injects one 1-bit into the XOR shift register. Some musicians are also known to use noise's combined waveforms and test bit to construct unusual sounds.&lt;br /&gt;
&lt;br /&gt;
The 6581 and 8580 differ from each other in several ways. The original 6581 was manufactured using the older NMOS process, which used 12V DC to operate. The 8580 was made using the HMOS-II process, which required less power (9V DC), and therefore made the IC run cooler. The 8580 was thus far more durable than the 6581. Also, due to stabler waveform generators, the bit-mixing effects are less noticeable and thus the combined waveforms come close to matching the original SID specification (which stated that they will be combined as a binary AND). The filter is also very different between the two models, with the 6581 cutoff range being a relatively straight line on a log scale, while the cutoff range on the 8580 is a straight line on a linear scale, and is close to the designers' actual specifications. Additionally, a better separation between the analog and the digital circuits made the 8580's output less noisy and distorted. The noise in 6xxx-series systems can be reduced by disconnecting the audio-in pin.&lt;br /&gt;
&lt;br /&gt;
The consumer version of the 8580 was rebadged the 6582, even though the die on the chip is identical to a stock 8580 chip, including the '8580R5' mark. Creative Micro Designs used it in their SID Symphony expansion cartridge, and it was used in a few other places as well, including one PC sound-card.&lt;br /&gt;
&lt;br /&gt;
Despite its documented shortcomings, many SID musicians prefer the flawed 6581 chip over the corrected 8580 chip. The main reason for this is that the filter produces strong distortion that is sometimes used to produce simulation of instruments such as a distorted electric guitar. Also, the highpass component of the filter was mixed in 3 dB attenuated compared to the other outputs, making the sound more bassy. In addition to nonlinearities in filter, the D/A circuitry used in the waveform generators produces yet more additional distortion that made its sound richer in character.&lt;br /&gt;
&lt;br /&gt;
==What about the amstrad ?==&lt;br /&gt;
&lt;br /&gt;
The [[AY]] used in Amstrad wasn't that bad even compaired to the legendary SID.&lt;br /&gt;
&lt;br /&gt;
First, the Amstrad's AY were Stereo, while Atari ST's YM wasn't really...&lt;br /&gt;
&lt;br /&gt;
Also The plus Range included DMA channels features, yet a big bugged...&lt;br /&gt;
&lt;br /&gt;
This allowed a pseudo emulation of Sid sounds thanks to a clever programming and use of the Sample technics.&lt;br /&gt;
&lt;br /&gt;
But as Amstrad's 8 bit computers lacked of a good specific dedicated Ram system, and got their processor (Z80) still diminished by the large Video system... even the Hardwired sprites on Amstrad PLUS range were heavier for the CPU compared to C64 ones.&lt;br /&gt;
&lt;br /&gt;
this use needed a wise programming.&lt;br /&gt;
&lt;br /&gt;
Such &amp;quot;Sid emulation&amp;quot; came lately in Amstrad world, even after the commercial era.&lt;br /&gt;
&lt;br /&gt;
==C64 SID on Amstrad CPC, software or hardware ?   ||   SID file &amp;amp; AY+ file ==&lt;br /&gt;
(text from genesis8)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Amstrad CPC use the General Instrument AY-3-8912 sound chip, providing 3 channels, each configurable to generate square waves, white noise or both. A small array of hardware volume envelopes are available. The C64 use the SID sound chip with also 3 channels, each configurable to generate 4 different waves forms : sawtooth, triangle, pulse, noise. It offers other features, much more than the AY-3-8912.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So is it possible to listen to SID music on an limited Amstrad CPC ? The answer is yes, and if you are lucky enough to read french [or use a translator], you will be able to read the article [http://quasar.cpcscene.com/doku.php?id=coding:sid &amp;quot;les SID-Voices&amp;quot;] on Quasar. So to resume, yes you can do it on a plain Amstrad CPC, but if you play 3 SID-Voices, you wont have enough CPU time to do something else. Otherwise on an Amstrad CPC+ using the DMA, you will be able to do something else than playing music. The Quasar article comes with the '''AY+''' source to play SID-Voices on a CPC+.&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
On a plain Amstrad CPC, you can use a program by Geco, a hungarian programmer. He usually works on the Elan Enterprise, he wrote a '''SID player''' for this computer, and ported it to the Amstrad CPC. [ Download this Amstrad CPC SID player (128 Kb only). [http://www.cpcwiki.eu/forum/demos/sid-player-on-cpc-128k/?action=dlattach;attach=3941 v1] [http://www.cpcwiki.eu/forum/demos/new-release-of-sid-player/?action=dlattach;attach=3952 v2] ] If you want to hear other SID files than the ones copied onto the disk, transfer them as ASCII files, without AmsDos header (easy to do with ManageDSK).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some informations about this utility directly from the author (taken from chipmusic.org) : I created the player used 6510 emulation code of Simon Owen, and CPC header checking. The player spends a lot of time with 6510 code, this is the reason of speed changing on CPC, on Enterprise I met less speed changing, may be the cause of this on EP the processor is running at 4Mhz if the code is not in the video Memory. Yes, only some feature is emulated, frequency registers, envelopes in 50Hz, control registers (without wave formats), and volume register, if I remember well. And the noise emulation is also interesting on CPC, because when noise should apply then I give fix 0f value to noise channel, and drive the frequency with tone channel frequency (set reg 6 tone and noise enable on a channel), with this solution 3 different noises can appear on the AY. The player can play songs in 2 speeds, 50Hz, and 100Hz, does not matter of SID speed, ex if the speed of SID is 60Hz the player plays it on 50Hz.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, you could play it with hardware too, with an extension. Read about it on:&lt;br /&gt;
&lt;br /&gt;
* Bryce's CPCSID interface [http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/cpc-sid/ on CPCWiki forum].&lt;br /&gt;
* DaDMaN's Sonique Sound Board [http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/new-amstrad-cpc-sound-board-%28aka-sonique-sound-board%29-sid-part-%28wip%29/ on CPCWiki forum].&lt;br /&gt;
&lt;br /&gt;
You can hear how DaDMaN's interface sounds here: [https://soundcloud.com/david-donaire-s-nchez/sets/amstrad-cpc-sonique-sound/ Playlist on SoundCloud]&lt;br /&gt;
[[Category:Non CPC Computers]][[Category:Music and sound|*]]&lt;/div&gt;</summary>
		<author><name>DaDMaN</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=I/O_Port_Summary&amp;diff=94539</id>
		<title>I/O Port Summary</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=I/O_Port_Summary&amp;diff=94539"/>
				<updated>2015-11-04T07:09:05Z</updated>
		
		<summary type="html">&lt;p&gt;DaDMaN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of all known I/O ports of the Amstrad CPC, including all [[Peripherals]]. For a list showing only the built-in standard addresses see [[Default I/O Port Summary]].&lt;br /&gt;
&lt;br /&gt;
== I/O Port Summary ==&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|'''I/O'''||'''Decoded as'''||'''Port'''||'''Read'''||'''Write''' &lt;br /&gt;
|-&lt;br /&gt;
|#1C00||%x0xxxx00 xxxxxxxx||[[Dk'tronics Lightpen]] faulty mirror of #BCXX [[CRTC]] Index|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#1F00||%x0xxxx11 xxxxxxxx||[[Dk'tronics Lightpen]] faulty mirror of #BFXX [[CRTC]] Data In|| Read || -&lt;br /&gt;
|-&lt;br /&gt;
|#78XX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#79XX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7AXX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7BXX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7CXX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7CXX||%0xxxxx00 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 0 (extended &amp;quot;Gate Array 3&amp;quot;)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7DXX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7DXX||%0xxxxx01 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 1 (extended &amp;quot;Gate Array 3&amp;quot;)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7EXX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7EXX||%0xxxxx10 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 2 (extended &amp;quot;Gate Array 3&amp;quot;)||Read||Write&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|#7EXX||%0xxxxxx0 xxxxxxxx||[[Y-MEM]] 512K RAM Expansion part||Read||Write&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||%0xxxxx11 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 3 (extended &amp;quot;Gate Array 3&amp;quot;)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|#7FXX||%0xxxxxx1 xxxxxxxx||[[X-MEM]] 512K RAM Expansion part||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||?||[[Dk'tronics memory expansion]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||?||[[Dobbertin Memory Expansion]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||%01xxxxxx xxxxxxxx||[[Gate Array]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||%0xxxxxxx xxxxxxxx||[[PAL16L8]] extension to [[Gate Array]] for 128K RAM banking||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#BCXX||%x0xxxx00 xxxxxxxx||6845 [[CRTC]] Index|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#BDXX||%x0xxxx01 xxxxxxxx||6845 [[CRTC]] Data Out|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#BEXX||%x0xxxx10 xxxxxxxx||6845 [[CRTC]] Status (as far as supported)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#BFXX||%x0xxxx11 xxxxxxxx||6845 [[CRTC]] Data In (as far as supported)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#DFXX||%xx0xxxxx xxxxxxxx||[[Upper ROM Bank Number]] (as decoded within CPC664, CPC6128, 464+, 6128+, decoding in ROM expansions may be different)|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#ECXX||%xxx0xx00 xxxxxxxx||[[KC Compact]] CIO Port B (timer)|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EDXX||%xxx0xx01 xxxxxxxx||[[KC Compact]] CIO Port C (timer)|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EEXX||%xxx0xx10 xxxxxxxx||[[KC Compact]] CIO Control|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EEXX||%xxx0xxx0 xxxxxxxx||[[Aleste 520EX]] USART 8251 (RS232/Mouse) Data|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EFXX||%xxx0xx11 xxxxxxxx||[[KC Compact]] CIO Port A (Bi-drectional [[Printer Port]])|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EFXX||%xxx0xxx1 xxxxxxxx||[[Aleste 520EX]] USART 8251 (RS232/Mouse) Control/Status|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EFXX||%xxx0xxxx xxxxxxxx||[[Printer Port]]|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F0E0||?||[[Draysoft Doubler]] External Tape Data Input (Bit5)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F4XX||%xxxx0x00 xxxxxxxx||[[8255]] PIO Port A ([[PSG]] Data)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F5XX||%xxxx0x01 xxxxxxxx||[[8255]] PIO Port B (Vsync,[[Printer Port|PrnBusy]],Tape,etc.)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F6XX||%xxxx0x10 xxxxxxxx||[[8255]] PIO Port C (KeybRow,Tape,[[PSG]] Control)|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F7XX||%xxxx0x11 xxxxxxxx||[[8255]] PIO Control-Register|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F880-#F88F||%1111 1000 1000 BBCC||[[PlayCity]] Expansion (CTC #F880-F883 Channels and YMZ Right #F884, YMZ Left #F888 Data)|| - || Write &lt;br /&gt;
|-&lt;br /&gt;
|#F890-#F8AF||%1111 1000 10xx xxxx||[[ACME]] WIP Expansion|| ? || ? &lt;br /&gt;
|-&lt;br /&gt;
|#F8B0||?||[[VIDI digitizer|Vidi-CPC Video-Digitiser]], CRTC Index||?||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8B1||?||[[VIDI digitizer|Vidi-CPC Video-Digitiser]], CRTC Data||?||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8DC||?||[[CPCI RS232 Interface|CPCI Serial Interface]] MC6850 Control/Status||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8DD||?||[[CPCI RS232 Interface|CPCI Serial Interface]] MC6850 Data||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E0||?||[[DHCP MIDI Interface]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E0||%11111000 11100000||[[Schneider RS232 Interface]] Z80-STI Indirect Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E1||%11111000 11100001||[[Schneider RS232 Interface]] Z80-STI General Purpose I/O Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E2||%11111000 11100010||[[Schneider RS232 Interface]] Z80-STI Interrupt Pending Register B (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E2||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E3||%11111000 11100011||[[Schneider RS232 Interface]] Z80-STI Interrupt Pending Register A (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E3||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E4||%11111000 11100100||[[Schneider RS232 Interface]] Z80-STI Interrupt in-Service Register B (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E4||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E5||%11111000 11100101||[[Schneider RS232 Interface]] Z80-STI Interrupt in-Service Register A (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E6||%11111000 11100110||[[Schneider RS232 Interface]] Z80-STI Interrupt Mask Register B (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E6||?||Port A - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E7||%11111000 11100111||[[Schneider RS232 Interface]] Z80-STI Interrupt Mask Register A (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E7||?||Port C - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E8||%11111000 11101000||[[Schneider RS232 Interface]] Z80-STI Indirect Index and Interrupt Vector Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E8||?||[[Music Machine]] Interrupt Sel|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E9||%11111000 11101001||[[Schneider RS232 Interface]] Z80-STI Timers A and B Control Register (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EA||%11111000 11101010||[[Schneider RS232 Interface]] Z80-STI Timer B Data Register (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EB||%11111000 11101011||[[Schneider RS232 Interface]] Z80-STI Timer A Data Register (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EC||%11111000 11101100||[[Schneider RS232 Interface]] Z80-STI USART Control Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EC||?||[[Music Machine]] ACIA Control|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8ED||?||[[Music Machine]] ACIA Data Write|| - || Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8ED||%11111000 11101101||[[Schneider RS232 Interface]] Z80-STI Receiver Status Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EE||?||[[Music Machine]] ACIA Status||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F8EE||%11111000 11101110||[[Schneider RS232 Interface]] Z80-STI Transmitter Status Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EF||%11111000 11101111||[[Schneider RS232 Interface]] Z80-STI USART Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EF||?||[[Music Machine]] ACIA Data Read||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F8FX||%xxxxx0xx 1111NNNx||[[Maplins 8bit Input Port]] and [[Maplins Weather Satellite Receiver]]||Read|| -&lt;br /&gt;
|-&lt;br /&gt;
|#F8F0||?||[[Music Machine]] DAC Write|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8F2||?||[[EMR MIDI Interface]]|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8F2||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|#F8F2||?||[[EMR MIDI Interface]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8F4||?||[[Music Machine]] ADC Read||Read|| - &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|#F8F5||?||[[ARA Video Digitizer]] - Read Sync Signal (bit0)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F8F8||?||[[Music Machine]] ADC Start|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8FF||%1111100x 111xxxxx||[[CPCISA by Yarek|CPCISA control port]]|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8FF||N/A||[[Peripheral Soft Reset]] (MC_BOOT_PROGRAM and MC_START_PROGRAM do OUT [F8FF],FF)|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F980-#F98F||%1111 1001 1000 BBCC||[[PlayCity]] Expansion (CTC #F980-F983 Channels and YMZ Right #F984, YMZ Left #F988 Registers)|| - || Write&lt;br /&gt;
|-&lt;br /&gt;
|#F990-#F9AF||%1111 1001 10xx xxxx||[[ACME]] WIP Expansion|| ? || ?&lt;br /&gt;
|-&lt;br /&gt;
|#F9B0||?||[[VIDI digitizer|Vidi-CPC Video-Digitiser]], Config (W) and Capture Data (R)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9D0||%11111000 11010000||[[SwinSID part of SONIQUE Sound Board WIP]] by [[DaDMaN]] SwinSID1 + SwinSID2 DATA (MONO Mode / 3 Channels)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9D1||%11111000 11010001||[[SwinSID part of SONIQUE Sound Board WIP]] by [[DaDMaN]] SwinSID1 (LEFT) DATA (STEREO Mode / 6 Channels)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9D2||%11111000 11010010||[[SwinSID part of SONIQUE Sound Board WIP]] by [[DaDMaN]] SwinSID2 (RIGHT) DATA (STEREO Mode / 6 Channels)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9DC||?||[[Panda Electronics Communications Interface Unit]] PPI Port A - 8bit Printer data||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9DD||?||[[Panda Electronics Communications Interface Unit]] PPI Port B - 8bit general purpose I/O port||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9DE||?||[[Panda Electronics Communications Interface Unit]] PPI Port C - Handshake (bit0=Strobe.out, Bit5=Busy.in)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9DF||?||[[Panda Electronics Communications Interface Unit]] PPI Control - 8bit Printer data|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9E6||?||Port B - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F9E7||?||RS Port - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F9F5||?||[[ARA Video Digitizer]] - Reset 10bit Config Value|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9F7||?||[[Grafpad II|Hegotron grafpad II]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F9FC - #F9FE||?||[[Otten &amp;amp; Fecht 1 MB RAM-Disc]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9FF||?||[[Grafpad II|Hegotron grafpad II]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FA7E||%xxxxx0x0 0xxxxxxx||Floppy Motor Control (for [[765 FDC]])|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABC||%xxxxx0x0 10xxxx00||[[Aleste 520EX]] EXTPORT with CS53: Forward PPI Port A to 8253 Timer 0|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABD||%xxxxx0x0 10xxxx01||[[Aleste 520EX]] EXTPORT with CS53: Forward PPI Port A to 8253 Timer 1|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABE||%xxxxx0x0 10xxxx10||[[Aleste 520EX]] EXTPORT with CS53: Forward PPI Port A to 8253 Timer 2|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABF||%xxxxx0x0 10xxxx11||[[Aleste 520EX]] EXTPORT with CS53: Forward PPI Port A to 8253 Control|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABF||%xxxxx0x0 10xxxxxx||[[Aleste 520EX]] EXTPORT (config for internal hardware)|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAD0||%11111010 11010000||[[SwinSID part of SONIQUE Sound Board WIP]] by [[DaDMaN]] Select SID Register||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAD1||%11111010 11010001||[[SwinSID part of SONIQUE Sound Board WIP]] by [[DaDMaN]] Select SID Register||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAD2||%11111010 11010010||[[SwinSID part of SONIQUE Sound Board WIP]] by [[DaDMaN]] Select SID Register||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADC||?||[[Amstrad Serial Interface]] Z80-SIO / DART port A Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADC||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8251 USART data|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADD||?||[[Amstrad Serial Interface]] Z80-SIO / DART port A Control Reg.||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADD||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8251 USART control/status|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADE||?||[[Amstrad Serial Interface]] Z80-SIO / DART port B Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADF||?||[[Amstrad Serial Interface]] Z80-SIO / DART port B Control Reg.||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADF||?||[[Cirkit serial interface]] 8251 UART data register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAE6||?||Port A - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FAE7||?||Port C - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FAEE||?||[[Amstrad SSA-1 Speech Synthesizer]] (faulty mirror used by included RSX driver)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAEF||%xxxxx0x0 xxx0xxxx||[[Kempston Mouse]] - Mouse Buttons||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FAF5||?||[[ARA Video Digitizer]] - Read Capture Data||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#FAF5||?||[[ARA Video Digitizer]] - Increment 10bit Config Value|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FB7E||%xxxxx0x1 0xxxxxx0||[[765 FDC]] (internal) Status Register||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#FB7F||%xxxxx0x1 0xxxxxx1||[[765 FDC]] (internal) Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBBD||?||Ram select mode [[Vortex Expansions RAM card|Vortex SP512]]||?||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBDC||?||[[Amstrad Serial Interface]] 8253 Timer counter 0||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDC||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 0 (transmit baudrate)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDD||?||[[Amstrad Serial Interface]] 8253 Timer counter 1||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDD||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 1 (receive baudrate)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDE||?||[[Amstrad Serial Interface]] 8253 Timer counter 2||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDE||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 2 (used as 1ms timer)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDF||?||[[Amstrad Serial Interface]] 8253 Timer Modus Select|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDF||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 0-2 control|| - || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDF||?||[[Cirkit serial interface]] 8251 UART status/control register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBxx+0||?||CPCI [[Real Time Clock]] Index (DIY)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBxx+1||?||CPCI [[Real Time Clock]] Data (DIY)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE0||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port A Data (HD146818P RTC Data bus)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE0||?||[[Dobbertin Harddisc]] Data Port||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE1||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port B Data (General Purpose 8bit I/O Port)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE1||?||[[Dobbertin Harddisc]] Status, Reset||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE2||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port A Control||?|| Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE2||?||[[Dobbertin Harddisc]] Select, Configuration||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE3||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port B Control||?|| Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE3||?||[[Dobbertin Harddisc]] DMA, Interrupt||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE4||?||[[Dobbertin Harddisc]] Reset||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE6||?||Port B - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FBE7||?||RS Port - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FBE7||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Data In/Out Port A ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBE8||?||[[Dk'tronics Real Time Clock]] &amp;quot;4bit latch&amp;quot; (details unknown)|| ? || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE8||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer0 (RX Clock)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE9||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer1 (TX Clock)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEA||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer2 (not used)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEB||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer Control||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEC||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) Control||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEC||?||[[PDS development system]] Z80 PIO Port A Data (8bit data to/from PC)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBED||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) TX Data||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBED||?||[[PDS development system]] Z80 PIO Port B Data (handshake to/from PC)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEE||?||[[PDS development system]] Z80 PIO Port A Control||?||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEE||?||[[Amstrad SSA-1 Speech Synthesizer]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEE||%xxxxx0x1 xxx0xxx0||[[Kempston Mouse]] - 8bit X position||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FBEE||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) Status||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FBEF||?||[[PDS development system]] Z80 PIO Port B Control||?||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEF||%xxxxx0x1 xxx0xxx1||[[Kempston Mouse]] - 8bit Y position||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FBEF||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) RX Data||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FBEF||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Data In/Out Port B ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBF0 - #FBFF||?||[[Otten &amp;amp; Fecht 1 MB RAM-Disc]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF0||%xxxx1011 1111xxxx||[[AMRAM2]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF0||%xxxxx011 1111xxx0||[[AMSSIO]] Serial Interface MC6850 Control/Status Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF1||%xxxxx011 1111xxx1||[[AMSSIO]] Serial Interface MC6850 Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF5||?||[[ARA Video Digitizer]] - Invoke Video Capture|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF6||?||[[Vortex Disc Drives]] 765 FDC (Vortex,ext) Status Register||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#FBF7||?||[[Vortex Disc Drives]] 765 FDC (Vortex,ext) Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF7||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Configure Port A ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBF8||%11111011 11111000||[[8bit Printer Port (Amstrad Action)]] Strobe/Busy||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBF9||%11111011 11111001||[[8bit Printer Port (Amstrad Action)]] Data|| - ||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBFE||?||[[Amstrad Magnum Phaser|Magnum Light Phaser]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBFE||?||[[Dart Scanner for DMP-Printers]]||Read||?&lt;br /&gt;
|-&lt;br /&gt;
|#FBFE||?||[[Dk'tronics Speech Synthesizer]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBFE||?||[[TMPI speech synthesizer]] Data Register ||||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBFF||?||[[TMPI speech synthesizer]] Command/Status Register ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBFF||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Configure Port B ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FC00 - #FDFF||%1111110x xxxxxxxx||[[CPCISA by Yarek|CPCISA]] 16bits mode high byte latch||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC5C||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Baudrate Selection|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC7C||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel A Data||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC7D||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel A Control/Status||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC7E||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel B Data||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC7F||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel B Control/Status||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FCE6||?||Port A - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FCE7||?||Port C - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FD00 - #FD3F||%11111101 00xxxxxx||[[Programming:SYMBiFACE_II|SYMBiFACE II]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FDE6||?||Port B - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FDE7||?||RS Port - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FE00 - #FFFF||%1111111x xxxxxxxx||[[CPCISA by Yarek|CPCISA]] I/O access (low byte)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FE80 - #FE81||%111111101000000x||[[CPC CH376 USB]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEE6||?||Port A - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEE7||?||Port C - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEE8||%11111110 1110100x||[[Multiface II]] - Enable Multiface II ROM/RAM||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEEA||%11111110 1110110x||[[Multiface II]] - Disable Multiface II ROM/RAM||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEF0 - #FEF7||%11111110 11110xxx||[[CPC-CompactFlash]] - IDE registers||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FFXX||%11111111 xxxxxxxx||[[CPC Booster]] (XX=#00..#28 are used now)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FFXX||%11111111 xxxxxxxx||[[Amdrum]] (unsigned 8bit DAC)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FFE6||?||Port B - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FFE7||?||RS Port - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Memory Mapped I/O Ports ==&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|'''Mem'''||'''Decoded as'''||'''Port'''||'''Read'''||'''Write''' &lt;br /&gt;
|-&lt;br /&gt;
|#4000-7FFF||%01xxxxxx xxxxxxxx||[[ASIC]] - CPC+/GX4000 registers|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#C00?||%11000000 0000000x||[[Dobbertin Smart Watch]] data read (A0=data)|| Read || -&lt;br /&gt;
|-&lt;br /&gt;
|#C00?||%11000000 0000000x||[[Dobbertin Smart Watch]] data write (A0=data)|| Read || -&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Ports ==&lt;br /&gt;
&lt;br /&gt;
Some more I/O addresses (which aren't included in the above list yet) are here:&lt;br /&gt;
* [[Schneiderware Summary]]&lt;br /&gt;
&lt;br /&gt;
== Other I/O Ports ==&lt;br /&gt;
&lt;br /&gt;
A number of peripherals connect to the joystick/printer ports, and so, they do not include &amp;quot;own&amp;quot; I/O addresses. This includes hardware ''other than joysticks/printers'' - for example, mice, robots, audio devices, and simple network adapters. For a more complete list, see corresponding sections on [[Digital Joysticks|Digital Joystick]] and [[Printer Port]] pages.&lt;br /&gt;
&lt;br /&gt;
Aside from I/O addresses, there are some other important I/O signals, for example: [[NMI]] or [[External Interrupt|INT]].&lt;br /&gt;
&lt;br /&gt;
== CPCISA ports for ISA cards ==&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|''Device''||''PC I/O range''||''CPCISA high''||''CPCISA low'' &lt;br /&gt;
|-&lt;br /&gt;
|IDE1||1F0h..1F7h||#FDF0..#FDF7||#FFF0..#FFF7&lt;br /&gt;
|-&lt;br /&gt;
|IDE2||170h..177h||#FD70..#FD77||#FF70..#FF77&lt;br /&gt;
|-&lt;br /&gt;
|Joystick||201h..201h||#FC01..#FC01||#FE01..#FE01&lt;br /&gt;
|-&lt;br /&gt;
|Ethernet||210h..21Fh||#FC10..#FC1F||#FE10..#FE1F&lt;br /&gt;
|-&lt;br /&gt;
|Sound Blaster||220h..23Fh||#FC20..#FC3F||#FE20..#FE3F&lt;br /&gt;
|-&lt;br /&gt;
|LPT2||278h..27Fh||#FC78..#FC7F||#FE78..#FE7F&lt;br /&gt;
|-&lt;br /&gt;
|COM1||2F8h..2FFh||#FCF8..#FCFF||#FEF8..#FEFF&lt;br /&gt;
|-&lt;br /&gt;
|MIDI'||300h..301h||#FD00..#FD01||#FF00..#FF01&lt;br /&gt;
|-&lt;br /&gt;
|MIDI||330h..331h||#FD30..#FD31||#FF30..#FF31&lt;br /&gt;
|-&lt;br /&gt;
|Sound control||370h..371h||#FD70..#FD71||#FF70..#FF71&lt;br /&gt;
|-&lt;br /&gt;
|FDC1||372h..377h||#FD72..#FD77||#FF72..#FF77&lt;br /&gt;
|-&lt;br /&gt;
|LPT1||378h..37Fh||#FD78..#FD7F||#FF78..#FF7F&lt;br /&gt;
|-&lt;br /&gt;
|Sound AD-LIB||388h..38Bh||#FD88..#FD8B||#FF88..#FF8B&lt;br /&gt;
|-&lt;br /&gt;
|VGA||3B0h..3BBh||#FDB0..#FDBB||#FFB0..#FFBB&lt;br /&gt;
|-&lt;br /&gt;
|LPT3||3BCh..3BFh||#FDBC..#FDBF||#FFBC..#FFBF&lt;br /&gt;
|-&lt;br /&gt;
|VGA||3C0h..3DFh||#FDC0..#FDCF||#FFC0..#FFCF&lt;br /&gt;
|-&lt;br /&gt;
|FDC1||3F2h..3F7h||#FDF2..#FDF7||#FFF2..#FFF7&lt;br /&gt;
|-&lt;br /&gt;
|COM1||3F8h..3FFh||#FDF8..#FDFF||#FFF8..#FFFF&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== CPCISA ports for ISA motherboard ==&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|''Device''||''PC I/O range''||''CPCISA high''||''CPCISA low'' &lt;br /&gt;
|-&lt;br /&gt;
|DMA||000h..00Fh||#FC00..#FC0F||#FE00..#FE0F&lt;br /&gt;
|-&lt;br /&gt;
|interrupt||020h..03Fh||#FC20..#FC3F||#FE20..#FE3F&lt;br /&gt;
|-&lt;br /&gt;
|counter||040h..05Fh||#FC40..#FC5F||#FE40..#FE5F&lt;br /&gt;
|-&lt;br /&gt;
|keyboard||060h..067h||#FC60..#FC67||#FE60..#FE67&lt;br /&gt;
|-&lt;br /&gt;
|RTC||070h..071h||#FC70..#FC71||#FE70..#FE71&lt;br /&gt;
|-&lt;br /&gt;
|DMA||080h..08Fh||#FC80..#FC8F||#FE80..#FE8F&lt;br /&gt;
|-&lt;br /&gt;
|DMA||0C0h..0DFh||#FCC0..#FCDF||#FEC0..#FEDF&lt;br /&gt;
|-&lt;br /&gt;
|interrupt||0A0h..0BFh||#FCA0..#FCBF||#FEA0..#FEBF&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]] [[Category:Stub]][[Category:CPC Internal Components]][[Category:Hardware]][[Category:Electronic Component]]&lt;/div&gt;</summary>
		<author><name>DaDMaN</name></author>	</entry>

	<entry>
		<id>https://oldwiki.cpcwiki.eu/index.php?title=I/O_Port_Summary&amp;diff=94531</id>
		<title>I/O Port Summary</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.cpcwiki.eu/index.php?title=I/O_Port_Summary&amp;diff=94531"/>
				<updated>2015-11-03T14:47:07Z</updated>
		
		<summary type="html">&lt;p&gt;DaDMaN: /* I/O Port Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of all known I/O ports of the Amstrad CPC, including all [[Peripherals]]. For a list showing only the built-in standard addresses see [[Default I/O Port Summary]].&lt;br /&gt;
&lt;br /&gt;
== I/O Port Summary ==&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|'''I/O'''||'''Decoded as'''||'''Port'''||'''Read'''||'''Write''' &lt;br /&gt;
|-&lt;br /&gt;
|#1C00||%x0xxxx00 xxxxxxxx||[[Dk'tronics Lightpen]] faulty mirror of #BCXX [[CRTC]] Index|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#1F00||%x0xxxx11 xxxxxxxx||[[Dk'tronics Lightpen]] faulty mirror of #BFXX [[CRTC]] Data In|| Read || -&lt;br /&gt;
|-&lt;br /&gt;
|#78XX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#79XX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7AXX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7BXX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7CXX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7CXX||%0xxxxx00 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 0 (extended &amp;quot;Gate Array 3&amp;quot;)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7DXX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7DXX||%0xxxxx01 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 1 (extended &amp;quot;Gate Array 3&amp;quot;)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7EXX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7EXX||%0xxxxx10 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 2 (extended &amp;quot;Gate Array 3&amp;quot;)||Read||Write&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|#7EXX||%0xxxxxx0 xxxxxxxx||[[Y-MEM]] 512K RAM Expansion part||Read||Write&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||?||[[CPC4MB|4Mb Memory extension]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||%0xxxxx11 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 3 (extended &amp;quot;Gate Array 3&amp;quot;)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|#7FXX||%0xxxxxx1 xxxxxxxx||[[X-MEM]] 512K RAM Expansion part||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||?||[[Dk'tronics memory expansion]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||?||[[Dobbertin Memory Expansion]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||%01xxxxxx xxxxxxxx||[[Gate Array]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#7FXX||%0xxxxxxx xxxxxxxx||[[PAL16L8]] extension to [[Gate Array]] for 128K RAM banking||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#BCXX||%x0xxxx00 xxxxxxxx||6845 [[CRTC]] Index|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#BDXX||%x0xxxx01 xxxxxxxx||6845 [[CRTC]] Data Out|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#BEXX||%x0xxxx10 xxxxxxxx||6845 [[CRTC]] Status (as far as supported)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#BFXX||%x0xxxx11 xxxxxxxx||6845 [[CRTC]] Data In (as far as supported)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#DFXX||%xx0xxxxx xxxxxxxx||[[Upper ROM Bank Number]] (as decoded within CPC664, CPC6128, 464+, 6128+, decoding in ROM expansions may be different)|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#ECXX||%xxx0xx00 xxxxxxxx||[[KC Compact]] CIO Port B (timer)|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EDXX||%xxx0xx01 xxxxxxxx||[[KC Compact]] CIO Port C (timer)|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EEXX||%xxx0xx10 xxxxxxxx||[[KC Compact]] CIO Control|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EEXX||%xxx0xxx0 xxxxxxxx||[[Aleste 520EX]] USART 8251 (RS232/Mouse) Data|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EFXX||%xxx0xx11 xxxxxxxx||[[KC Compact]] CIO Port A (Bi-drectional [[Printer Port]])|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EFXX||%xxx0xxx1 xxxxxxxx||[[Aleste 520EX]] USART 8251 (RS232/Mouse) Control/Status|| Read ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#EFXX||%xxx0xxxx xxxxxxxx||[[Printer Port]]|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F0E0||?||[[Draysoft Doubler]] External Tape Data Input (Bit5)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F4XX||%xxxx0x00 xxxxxxxx||[[8255]] PIO Port A ([[PSG]] Data)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F5XX||%xxxx0x01 xxxxxxxx||[[8255]] PIO Port B (Vsync,[[Printer Port|PrnBusy]],Tape,etc.)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F6XX||%xxxx0x10 xxxxxxxx||[[8255]] PIO Port C (KeybRow,Tape,[[PSG]] Control)|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F7XX||%xxxx0x11 xxxxxxxx||[[8255]] PIO Control-Register|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F880-#F88F||%1111 1000 1000 BBCC||[[PlayCity]] Expansion (CTC #F880-F883 Channels and YMZ Right #F884, YMZ Left #F888 Data)|| - || Write &lt;br /&gt;
|-&lt;br /&gt;
|#F890-#F8AF||%1111 1000 10xx xxxx||[[ACME]] WIP Expansion|| ? || ? &lt;br /&gt;
|-&lt;br /&gt;
|#F8B0||?||[[VIDI digitizer|Vidi-CPC Video-Digitiser]], CRTC Index||?||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8B1||?||[[VIDI digitizer|Vidi-CPC Video-Digitiser]], CRTC Data||?||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8DC||?||[[CPCI RS232 Interface|CPCI Serial Interface]] MC6850 Control/Status||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8DD||?||[[CPCI RS232 Interface|CPCI Serial Interface]] MC6850 Data||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E0||?||[[DHCP MIDI Interface]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E0||%11111000 11100000||[[Schneider RS232 Interface]] Z80-STI Indirect Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E1||%11111000 11100001||[[Schneider RS232 Interface]] Z80-STI General Purpose I/O Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E2||%11111000 11100010||[[Schneider RS232 Interface]] Z80-STI Interrupt Pending Register B (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E2||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E3||%11111000 11100011||[[Schneider RS232 Interface]] Z80-STI Interrupt Pending Register A (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E3||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E4||%11111000 11100100||[[Schneider RS232 Interface]] Z80-STI Interrupt in-Service Register B (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E4||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E5||%11111000 11100101||[[Schneider RS232 Interface]] Z80-STI Interrupt in-Service Register A (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E6||%11111000 11100110||[[Schneider RS232 Interface]] Z80-STI Interrupt Mask Register B (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E6||?||Port A - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E7||%11111000 11100111||[[Schneider RS232 Interface]] Z80-STI Interrupt Mask Register A (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E7||?||Port C - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F8E8||%11111000 11101000||[[Schneider RS232 Interface]] Z80-STI Indirect Index and Interrupt Vector Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E8||?||[[Music Machine]] Interrupt Sel|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8E9||%11111000 11101001||[[Schneider RS232 Interface]] Z80-STI Timers A and B Control Register (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EA||%11111000 11101010||[[Schneider RS232 Interface]] Z80-STI Timer B Data Register (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EB||%11111000 11101011||[[Schneider RS232 Interface]] Z80-STI Timer A Data Register (unused)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EC||%11111000 11101100||[[Schneider RS232 Interface]] Z80-STI USART Control Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EC||?||[[Music Machine]] ACIA Control|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8ED||?||[[Music Machine]] ACIA Data Write|| - || Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8ED||%11111000 11101101||[[Schneider RS232 Interface]] Z80-STI Receiver Status Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EE||?||[[Music Machine]] ACIA Status||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F8EE||%11111000 11101110||[[Schneider RS232 Interface]] Z80-STI Transmitter Status Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EF||%11111000 11101111||[[Schneider RS232 Interface]] Z80-STI USART Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8EF||?||[[Music Machine]] ACIA Data Read||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F8FX||%xxxxx0xx 1111NNNx||[[Maplins 8bit Input Port]] and [[Maplins Weather Satellite Receiver]]||Read|| -&lt;br /&gt;
|-&lt;br /&gt;
|#F8F0||?||[[Music Machine]] DAC Write|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8F2||?||[[EMR MIDI Interface]]|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8F2||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|#F8F2||?||[[EMR MIDI Interface]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8F4||?||[[Music Machine]] ADC Read||Read|| - &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|#F8F5||?||[[ARA Video Digitizer]] - Read Sync Signal (bit0)||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#F8F8||?||[[Music Machine]] ADC Start|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8FF||%1111100x 111xxxxx||[[CPCISA by Yarek|CPCISA control port]]|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F8FF||N/A||[[Peripheral Soft Reset]] (MC_BOOT_PROGRAM and MC_START_PROGRAM do OUT [F8FF],FF)|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F980-#F98F||%1111 1001 1000 BBCC||[[PlayCity]] Expansion (CTC #F980-F983 Channels and YMZ Right #F984, YMZ Left #F988 Registers)|| - || Write&lt;br /&gt;
|-&lt;br /&gt;
|#F990-#F9AF||%1111 1001 10xx xxxx||[[ACME]] WIP Expansion|| ? || ?&lt;br /&gt;
|-&lt;br /&gt;
|#F9B0||?||[[VIDI digitizer|Vidi-CPC Video-Digitiser]], Config (W) and Capture Data (R)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9D0||%11111000 11010000||[[SwinSID part of SONIQUE Sound Board WIP]] by [[DaDMaN]] SwinSID1 + SwinSID2 DATA (MONO Mode / 3 Channels)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9D1||%11111000 11010001||[[SwinSID part of SONIQUE Sound Board WIP]] by [[DaDMaN]] SwinSID1 (LEFT) DATA||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9D2||%11111000 11010010||[[SwinSID part of SONIQUE Sound Board WIP]] by [[DaDMaN]] SwinSID2 (RIGHT) DATA||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9DC||?||[[Panda Electronics Communications Interface Unit]] PPI Port A - 8bit Printer data||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9DD||?||[[Panda Electronics Communications Interface Unit]] PPI Port B - 8bit general purpose I/O port||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9DE||?||[[Panda Electronics Communications Interface Unit]] PPI Port C - Handshake (bit0=Strobe.out, Bit5=Busy.in)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9DF||?||[[Panda Electronics Communications Interface Unit]] PPI Control - 8bit Printer data|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9E6||?||Port B - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F9E7||?||RS Port - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F9F5||?||[[ARA Video Digitizer]] - Reset 10bit Config Value|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9F7||?||[[Grafpad II|Hegotron grafpad II]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#F9FC - #F9FE||?||[[Otten &amp;amp; Fecht 1 MB RAM-Disc]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#F9FF||?||[[Grafpad II|Hegotron grafpad II]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FA7E||%xxxxx0x0 0xxxxxxx||Floppy Motor Control (for [[765 FDC]])|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABC||%xxxxx0x0 10xxxx00||[[Aleste 520EX]] EXTPORT with CS53: Forward PPI Port A to 8253 Timer 0|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABD||%xxxxx0x0 10xxxx01||[[Aleste 520EX]] EXTPORT with CS53: Forward PPI Port A to 8253 Timer 1|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABE||%xxxxx0x0 10xxxx10||[[Aleste 520EX]] EXTPORT with CS53: Forward PPI Port A to 8253 Timer 2|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABF||%xxxxx0x0 10xxxx11||[[Aleste 520EX]] EXTPORT with CS53: Forward PPI Port A to 8253 Control|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FABF||%xxxxx0x0 10xxxxxx||[[Aleste 520EX]] EXTPORT (config for internal hardware)|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAD0||%11111010 11010000||[[SwinSID part of SONIQUE Sound Board WIP]] by [[DaDMaN]] Select Register)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAD1||%11111010 11010001||[[SwinSID part of SONIQUE Sound Board WIP]] by [[DaDMaN]] Select Register||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAD2||%11111010 11010010||[[SwinSID part of SONIQUE Sound Board WIP]] by [[DaDMaN]] Select Register||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADC||?||[[Amstrad Serial Interface]] Z80-SIO / DART port A Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADC||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8251 USART data|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADD||?||[[Amstrad Serial Interface]] Z80-SIO / DART port A Control Reg.||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADD||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8251 USART control/status|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADE||?||[[Amstrad Serial Interface]] Z80-SIO / DART port B Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADF||?||[[Amstrad Serial Interface]] Z80-SIO / DART port B Control Reg.||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FADF||?||[[Cirkit serial interface]] 8251 UART data register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAE6||?||Port A - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FAE7||?||Port C - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FAEE||?||[[Amstrad SSA-1 Speech Synthesizer]] (faulty mirror used by included RSX driver)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FAEF||%xxxxx0x0 xxx0xxxx||[[Kempston Mouse]] - Mouse Buttons||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FAF5||?||[[ARA Video Digitizer]] - Read Capture Data||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#FAF5||?||[[ARA Video Digitizer]] - Increment 10bit Config Value|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FB7E||%xxxxx0x1 0xxxxxx0||[[765 FDC]] (internal) Status Register||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#FB7F||%xxxxx0x1 0xxxxxx1||[[765 FDC]] (internal) Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBBD||?||Ram select mode [[Vortex Expansions RAM card|Vortex SP512]]||?||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBDC||?||[[Amstrad Serial Interface]] 8253 Timer counter 0||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDC||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 0 (transmit baudrate)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDD||?||[[Amstrad Serial Interface]] 8253 Timer counter 1||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDD||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 1 (receive baudrate)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDE||?||[[Amstrad Serial Interface]] 8253 Timer counter 2||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDE||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 2 (used as 1ms timer)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDF||?||[[Amstrad Serial Interface]] 8253 Timer Modus Select|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDF||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 0-2 control|| - || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBDF||?||[[Cirkit serial interface]] 8251 UART status/control register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBxx+0||?||CPCI [[Real Time Clock]] Index (DIY)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBxx+1||?||CPCI [[Real Time Clock]] Data (DIY)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE0||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port A Data (HD146818P RTC Data bus)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE0||?||[[Dobbertin Harddisc]] Data Port||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE1||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port B Data (General Purpose 8bit I/O Port)|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE1||?||[[Dobbertin Harddisc]] Status, Reset||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE2||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port A Control||?|| Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE2||?||[[Dobbertin Harddisc]] Select, Configuration||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE3||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port B Control||?|| Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE3||?||[[Dobbertin Harddisc]] DMA, Interrupt||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE4||?||[[Dobbertin Harddisc]] Reset||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE6||?||Port B - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FBE7||?||RS Port - [[IDE8255]]||?||?&lt;br /&gt;
|-&lt;br /&gt;
|#FBE7||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Data In/Out Port A ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBE8||?||[[Dk'tronics Real Time Clock]] &amp;quot;4bit latch&amp;quot; (details unknown)|| ? || Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE8||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer0 (RX Clock)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBE9||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer1 (TX Clock)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEA||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer2 (not used)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEB||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer Control||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEC||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) Control||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEC||?||[[PDS development system]] Z80 PIO Port A Data (8bit data to/from PC)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBED||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) TX Data||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBED||?||[[PDS development system]] Z80 PIO Port B Data (handshake to/from PC)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEE||?||[[PDS development system]] Z80 PIO Port A Control||?||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEE||?||[[Amstrad SSA-1 Speech Synthesizer]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEE||%xxxxx0x1 xxx0xxx0||[[Kempston Mouse]] - 8bit X position||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FBEE||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) Status||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FBEF||?||[[PDS development system]] Z80 PIO Port B Control||?||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBEF||%xxxxx0x1 xxx0xxx1||[[Kempston Mouse]] - 8bit Y position||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FBEF||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) RX Data||Read||-&lt;br /&gt;
|-&lt;br /&gt;
|#FBEF||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Data In/Out Port B ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBF0 - #FBFF||?||[[Otten &amp;amp; Fecht 1 MB RAM-Disc]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF0||%xxxx1011 1111xxxx||[[AMRAM2]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF0||%xxxxx011 1111xxx0||[[AMSSIO]] Serial Interface MC6850 Control/Status Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF1||%xxxxx011 1111xxx1||[[AMSSIO]] Serial Interface MC6850 Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF5||?||[[ARA Video Digitizer]] - Invoke Video Capture|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF6||?||[[Vortex Disc Drives]] 765 FDC (Vortex,ext) Status Register||Read|| - &lt;br /&gt;
|-&lt;br /&gt;
|#FBF7||?||[[Vortex Disc Drives]] 765 FDC (Vortex,ext) Data Register||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBF7||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Configure Port A ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBF8||%11111011 11111000||[[8bit Printer Port (Amstrad Action)]] Strobe/Busy||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBF9||%11111011 11111001||[[8bit Printer Port (Amstrad Action)]] Data|| - ||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBFE||?||[[Amstrad Magnum Phaser|Magnum Light Phaser]]||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBFE||?||[[Dart Scanner for DMP-Printers]]||Read||?&lt;br /&gt;
|-&lt;br /&gt;
|#FBFE||?||[[Dk'tronics Speech Synthesizer]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBFE||?||[[TMPI speech synthesizer]] Data Register ||||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FBFF||?||[[TMPI speech synthesizer]] Command/Status Register ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FBFF||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Configure Port B ||Read||Write &lt;br /&gt;
|-&lt;br /&gt;
|#FC00 - #FDFF||%1111110x xxxxxxxx||[[CPCISA by Yarek|CPCISA]] 16bits mode high byte latch||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC5C||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Baudrate Selection|| - ||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC7C||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel A Data||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC7D||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel A Control/Status||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC7E||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel B Data||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FC7F||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel B Control/Status||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FCE6||?||Port A - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FCE7||?||Port C - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FD00 - #FD3F||%11111101 00xxxxxx||[[Programming:SYMBiFACE_II|SYMBiFACE II]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FDE6||?||Port B - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FDE7||?||RS Port - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FE00 - #FFFF||%1111111x xxxxxxxx||[[CPCISA by Yarek|CPCISA]] I/O access (low byte)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FE80 - #FE81||%111111101000000x||[[CPC CH376 USB]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEE6||?||Port A - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEE7||?||Port C - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEE8||%11111110 1110100x||[[Multiface II]] - Enable Multiface II ROM/RAM||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEEA||%11111110 1110110x||[[Multiface II]] - Disable Multiface II ROM/RAM||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FEF0 - #FEF7||%11111110 11110xxx||[[CPC-CompactFlash]] - IDE registers||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FFXX||%11111111 xxxxxxxx||[[CPC Booster]] (XX=#00..#28 are used now)||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FFXX||%11111111 xxxxxxxx||[[Amdrum]] (unsigned 8bit DAC)||-||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FFE6||?||Port B - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|#FFE7||?||RS Port - [[IDE8255]]||Read||Write&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Memory Mapped I/O Ports ==&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|'''Mem'''||'''Decoded as'''||'''Port'''||'''Read'''||'''Write''' &lt;br /&gt;
|-&lt;br /&gt;
|#4000-7FFF||%01xxxxxx xxxxxxxx||[[ASIC]] - CPC+/GX4000 registers|| Read || Write&lt;br /&gt;
|-&lt;br /&gt;
|#C00?||%11000000 0000000x||[[Dobbertin Smart Watch]] data read (A0=data)|| Read || -&lt;br /&gt;
|-&lt;br /&gt;
|#C00?||%11000000 0000000x||[[Dobbertin Smart Watch]] data write (A0=data)|| Read || -&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Ports ==&lt;br /&gt;
&lt;br /&gt;
Some more I/O addresses (which aren't included in the above list yet) are here:&lt;br /&gt;
* [[Schneiderware Summary]]&lt;br /&gt;
&lt;br /&gt;
== Other I/O Ports ==&lt;br /&gt;
&lt;br /&gt;
A number of peripherals connect to the joystick/printer ports, and so, they do not include &amp;quot;own&amp;quot; I/O addresses. This includes hardware ''other than joysticks/printers'' - for example, mice, robots, audio devices, and simple network adapters. For a more complete list, see corresponding sections on [[Digital Joysticks|Digital Joystick]] and [[Printer Port]] pages.&lt;br /&gt;
&lt;br /&gt;
Aside from I/O addresses, there are some other important I/O signals, for example: [[NMI]] or [[External Interrupt|INT]].&lt;br /&gt;
&lt;br /&gt;
== CPCISA ports for ISA cards ==&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|''Device''||''PC I/O range''||''CPCISA high''||''CPCISA low'' &lt;br /&gt;
|-&lt;br /&gt;
|IDE1||1F0h..1F7h||#FDF0..#FDF7||#FFF0..#FFF7&lt;br /&gt;
|-&lt;br /&gt;
|IDE2||170h..177h||#FD70..#FD77||#FF70..#FF77&lt;br /&gt;
|-&lt;br /&gt;
|Joystick||201h..201h||#FC01..#FC01||#FE01..#FE01&lt;br /&gt;
|-&lt;br /&gt;
|Ethernet||210h..21Fh||#FC10..#FC1F||#FE10..#FE1F&lt;br /&gt;
|-&lt;br /&gt;
|Sound Blaster||220h..23Fh||#FC20..#FC3F||#FE20..#FE3F&lt;br /&gt;
|-&lt;br /&gt;
|LPT2||278h..27Fh||#FC78..#FC7F||#FE78..#FE7F&lt;br /&gt;
|-&lt;br /&gt;
|COM1||2F8h..2FFh||#FCF8..#FCFF||#FEF8..#FEFF&lt;br /&gt;
|-&lt;br /&gt;
|MIDI'||300h..301h||#FD00..#FD01||#FF00..#FF01&lt;br /&gt;
|-&lt;br /&gt;
|MIDI||330h..331h||#FD30..#FD31||#FF30..#FF31&lt;br /&gt;
|-&lt;br /&gt;
|Sound control||370h..371h||#FD70..#FD71||#FF70..#FF71&lt;br /&gt;
|-&lt;br /&gt;
|FDC1||372h..377h||#FD72..#FD77||#FF72..#FF77&lt;br /&gt;
|-&lt;br /&gt;
|LPT1||378h..37Fh||#FD78..#FD7F||#FF78..#FF7F&lt;br /&gt;
|-&lt;br /&gt;
|Sound AD-LIB||388h..38Bh||#FD88..#FD8B||#FF88..#FF8B&lt;br /&gt;
|-&lt;br /&gt;
|VGA||3B0h..3BBh||#FDB0..#FDBB||#FFB0..#FFBB&lt;br /&gt;
|-&lt;br /&gt;
|LPT3||3BCh..3BFh||#FDBC..#FDBF||#FFBC..#FFBF&lt;br /&gt;
|-&lt;br /&gt;
|VGA||3C0h..3DFh||#FDC0..#FDCF||#FFC0..#FFCF&lt;br /&gt;
|-&lt;br /&gt;
|FDC1||3F2h..3F7h||#FDF2..#FDF7||#FFF2..#FFF7&lt;br /&gt;
|-&lt;br /&gt;
|COM1||3F8h..3FFh||#FDF8..#FDFF||#FFF8..#FFFF&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== CPCISA ports for ISA motherboard ==&lt;br /&gt;
&lt;br /&gt;
{|{{Prettytable|width: 700px; font-size: 2em;}}&lt;br /&gt;
|''Device''||''PC I/O range''||''CPCISA high''||''CPCISA low'' &lt;br /&gt;
|-&lt;br /&gt;
|DMA||000h..00Fh||#FC00..#FC0F||#FE00..#FE0F&lt;br /&gt;
|-&lt;br /&gt;
|interrupt||020h..03Fh||#FC20..#FC3F||#FE20..#FE3F&lt;br /&gt;
|-&lt;br /&gt;
|counter||040h..05Fh||#FC40..#FC5F||#FE40..#FE5F&lt;br /&gt;
|-&lt;br /&gt;
|keyboard||060h..067h||#FC60..#FC67||#FE60..#FE67&lt;br /&gt;
|-&lt;br /&gt;
|RTC||070h..071h||#FC70..#FC71||#FE70..#FE71&lt;br /&gt;
|-&lt;br /&gt;
|DMA||080h..08Fh||#FC80..#FC8F||#FE80..#FE8F&lt;br /&gt;
|-&lt;br /&gt;
|DMA||0C0h..0DFh||#FCC0..#FCDF||#FEC0..#FEDF&lt;br /&gt;
|-&lt;br /&gt;
|interrupt||0A0h..0BFh||#FCA0..#FCBF||#FEA0..#FEBF&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]] [[Category:Stub]][[Category:CPC Internal Components]][[Category:Hardware]][[Category:Electronic Component]]&lt;/div&gt;</summary>
		<author><name>DaDMaN</name></author>	</entry>

	</feed>