I/O |
Decoded as |
Port |
Read |
Write
|
#1C00 |
%x0xxxx00 xxxxxxxx |
Dk'tronics Lightpen faulty mirror of #BCXX CRTC Index |
- |
Write
|
#1F00 |
%x0xxxx11 xxxxxxxx |
Dk'tronics Lightpen faulty mirror of #BFXX CRTC Data In |
Read |
-
|
#78XX |
? |
4Mb Memory extension |
- |
Write
|
#79XX |
? |
4Mb Memory extension |
- |
Write
|
#7AXX |
? |
4Mb Memory extension |
- |
Write
|
#7BXX |
? |
4Mb Memory extension |
- |
Write
|
#7CXX |
? |
4Mb Memory extension |
- |
Write
|
#7CXX |
%0xxxxx00 xxxxxxxx |
Aleste 520EX RAM Mapper page 0 (extended "Gate Array 3") |
Read |
Write
|
#7DXX |
? |
4Mb Memory extension |
- |
Write
|
#7DXX |
%0xxxxx01 xxxxxxxx |
Aleste 520EX RAM Mapper page 1 (extended "Gate Array 3") |
Read |
Write
|
#7EXX |
? |
4Mb Memory extension |
- |
Write
|
#7EXX |
%0xxxxx10 xxxxxxxx |
Aleste 520EX RAM Mapper page 2 (extended "Gate Array 3") |
Read |
Write
|
#7FXX |
? |
4Mb Memory extension |
- |
Write
|
#7FXX |
%0xxxxx11 xxxxxxxx |
Aleste 520EX RAM Mapper page 3 (extended "Gate Array 3") |
Read |
Write
|
#7FXX |
? |
Dk'tronics memory expansion |
- |
Write
|
#7FXX |
? |
Dobbertin Memory Expansion |
- |
Write
|
#7FXX |
%01xxxxxx xxxxxxxx |
Gate Array |
- |
Write
|
#7FXX |
%0xxxxxxx xxxxxxxx |
PAL extension to Gate Array for 128K RAM banking |
- |
Write
|
#BCXX |
%x0xxxx00 xxxxxxxx |
6845 CRTC Index |
- |
Write
|
#BDXX |
%x0xxxx01 xxxxxxxx |
6845 CRTC Data Out |
- |
Write
|
#BEXX |
%x0xxxx10 xxxxxxxx |
6845 CRTC Status (as far as supported) |
Read |
-
|
#BFXX |
%x0xxxx11 xxxxxxxx |
6845 CRTC Data In (as far as supported) |
Read |
-
|
#DFXX |
%xx0xxxxx xxxxxxxx |
Upper ROM Bank Number (as decoded within CPC664, CPC6128, 464+, 6128+, decoding in ROM expansions may be different) |
- |
Write
|
#ECXX |
%xxx0xx00 xxxxxxxx |
KC Compact CIO Port B (timer) |
Read |
Write
|
#EDXX |
%xxx0xx01 xxxxxxxx |
KC Compact CIO Port C (timer) |
Read |
Write
|
#EEXX |
%xxx0xx10 xxxxxxxx |
KC Compact CIO Control |
Read |
Write
|
#EEXX |
%xxx0xxx0 xxxxxxxx |
Aleste 520EX USART 8251 (RS232/Mouse) Data |
Read |
Write
|
#EFXX |
%xxx0xx11 xxxxxxxx |
KC Compact CIO Port A (Bi-drectional Printer Port) |
Read |
Write
|
#EFXX |
%xxx0xxx1 xxxxxxxx |
Aleste 520EX USART 8251 (RS232/Mouse) Control/Status |
Read |
Write
|
#EFXX |
%xxx0xxxx xxxxxxxx |
Printer Port |
- |
Write
|
#F0E0 |
? |
Draysoft Doubler External Tape Data Input (Bit5) |
Read |
-
|
#F4XX |
%xxxx0x00 xxxxxxxx |
8255 PIO Port A (PSG Data) |
Read |
Write
|
#F5XX |
%xxxx0x01 xxxxxxxx |
8255 PIO Port B (Vsync,PrnBusy,Tape,etc.) |
Read |
-
|
#F6XX |
%xxxx0x10 xxxxxxxx |
8255 PIO Port C (KeybRow,Tape,PSG Control) |
- |
Write
|
#F7XX |
%xxxx0x11 xxxxxxxx |
8255 PIO Control-Register |
- |
Write
|
#F8B0 |
? |
Vidi-CPC Video-Digitiser |
? |
?
|
#F8B1 |
? |
Vidi-CPC Video-Digitiser |
? |
?
|
#F8DC |
? |
CPCI Serial Interface MC6850 Control/Status |
Read |
Write
|
#F8DD |
? |
CPCI Serial Interface MC6850 Data |
Read |
Write
|
#F8E0 |
? |
DHCP MIDI Interface |
Read |
Write
|
#F8E0 |
? |
Schneider RS232 Interface Z80 STI Indirect Data Register |
Read |
Write
|
#F8E1 |
? |
Schneider RS232 Interface Z80 STI Gen. Purpose I/O Interrupt |
Read |
Write
|
#F8E6 |
? |
Port A - IDE8255 |
? |
?
|
#F8E7 |
? |
Port C - IDE8255 |
? |
?
|
#F8E8 |
? |
Schneider RS232 Interface Z80 STI Pointer Vector Register |
Read |
Write
|
#F8E8 |
? |
Music Machine Interrupt Sel |
- |
Write
|
#F8EC |
? |
Schneider RS232 Interface Z80 STI USART Control Register |
Read |
Write
|
#F8EC |
? |
Music Machine ACIA Control |
- |
Write
|
#F8ED |
? |
Music Machine ACIA Data Write |
- |
Write
|
#F8ED |
? |
Schneider RS232 Interface Z80 STI Receiver Status Register |
Read |
Write
|
#F8EE |
? |
Music Machine ACIA Status |
Read |
-
|
#F8EE |
? |
Schneider RS232 Interface Z80 STI Transmitter Status Register |
Read |
Write
|
#F8EF |
? |
Schneider RS232 Interface Z80 STI USART Data Register |
Read |
Write
|
#F8EF |
? |
Music Machine ACIA Data Read |
Read |
-
|
#F8E2 - #F8E4 |
? |
Dobbertin Eprommer 4003 |
? |
?
|
#F8F0 |
? |
Music Machine DAC Write |
- |
Write
|
#F8F2 |
? |
EMR MIDI Interface |
- |
Write
|
#F8F2 |
? |
Dobbertin Eprommer 4003 |
? |
?
|
#F8F4 |
? |
Music Machine ADC Read |
Read |
-
|
#F8F5 |
? |
ARA Video Digitizer - Read Sync Signal (bit0) |
Read |
-
|
#F8F8 |
? |
Music Machine ADC Start |
- |
Write
|
#F8FF |
%1111100x 111xxxxx |
CPCISA control port |
- |
Write
|
#F8FF |
N/A |
Peripheral Soft Reset (MC_BOOT_PROGRAM and MC_START_PROGRAM do OUT [F8FF],FF) |
- |
Write
|
#F9B0 |
? |
Vidi-CPC Video-Digitiser |
? |
?
|
#F9E6 |
? |
Port B - IDE8255 |
? |
?
|
#F9E7 |
? |
RS Port - IDE8255 |
? |
?
|
#F9F5 |
? |
ARA Video Digitizer - Reset 10bit Config Value |
- |
Write
|
#F9F7 |
? |
Hegotron grafpad II |
? |
?
|
#F9FC - #F9FE |
? |
Otten & Fecht 1 MB RAM-Disc |
Read |
Write
|
#F9FF |
? |
Hegotron grafpad II |
? |
?
|
#FA7E |
%xxxxx0x0 0xxxxxxx |
Floppy Motor Control (for 765 FDC) |
- |
Write
|
#FABC |
%xxxxx0x0 10xxxx00 |
Aleste 520EX EXTPORT with CS53: Forward PPI Port A to 8253 Timer 0 |
- |
Write
|
#FABD |
%xxxxx0x0 10xxxx01 |
Aleste 520EX EXTPORT with CS53: Forward PPI Port A to 8253 Timer 1 |
- |
Write
|
#FABE |
%xxxxx0x0 10xxxx10 |
Aleste 520EX EXTPORT with CS53: Forward PPI Port A to 8253 Timer 2 |
- |
Write
|
#FABF |
%xxxxx0x0 10xxxx11 |
Aleste 520EX EXTPORT with CS53: Forward PPI Port A to 8253 Control |
- |
Write
|
#FABF |
%xxxxx0x0 10xxxxxx |
Aleste 520EX EXTPORT (config for internal hardware) |
- |
Write
|
#FADC |
? |
Amstrad Serial Interface Z80-SIO / DART port A Data Register |
Read |
Write
|
#FADD |
? |
Amstrad Serial Interface Z80-SIO / DART port A Control Reg. |
Read |
Write
|
#FADE |
? |
Amstrad Serial Interface Z80-SIO / DART port B Data Register |
Read |
Write
|
#FADF |
? |
Amstrad Serial Interface Z80-SIO / DART port B Control Reg. |
Read |
Write
|
#FAE6 |
? |
Port A - IDE8255 |
? |
?
|
#FAE7 |
? |
Port C - IDE8255 |
? |
?
|
#FAEE |
? |
Amstrad SSA-1 Speech Synthesizer (faulty mirror used by included RSX driver) |
Read |
Write
|
#FAEF |
? |
Kempston Mouse - Mouse Buttons |
Read |
-
|
#FAF5 |
? |
ARA Video Digitizer - Read Capture Data |
Read |
-
|
#FAF5 |
? |
ARA Video Digitizer - Increment 10bit Config Value |
- |
Write
|
#FB7E |
%xxxxx0x1 0xxxxxx0 |
765 FDC (internal) Status Register |
Read |
-
|
#FB7F |
%xxxxx0x1 0xxxxxx1 |
765 FDC (internal) Data Register |
Read |
Write
|
#FBBD |
? |
Ram select mode Vortex SP512 |
? |
Write
|
#FBDC |
? |
Amstrad Serial Interface 8253 Timer counter 0 |
Read |
Write
|
#FBDD |
? |
Amstrad Serial Interface 8253 Timer counter 1 |
Read |
Write
|
#FBDE |
? |
Amstrad Serial Interface 8253 Timer counter 2 |
Read |
Write
|
#FBDF |
? |
Amstrad Serial Interface 8253 Timer Modus Select |
- |
Write
|
#FBxx+0 |
? |
CPCI Real Time Clock Index (DIY) |
- |
Write
|
#FBxx+1 |
? |
CPCI Real Time Clock Data (DIY) |
Read |
Write
|
#FBE0 - #FBE3 |
? |
Dk'tronics Real Time Clock |
? |
?
|
#FBE0 |
? |
Dobbertin Harddisc Data Port |
Read |
Write
|
#FBE1 |
? |
Dobbertin Harddisc Status, Reset |
Read |
Write
|
#FBE2 |
? |
Dobbertin Harddisc Select, Configuration |
Read |
Write
|
#FBE3 |
? |
Dobbertin Harddisc DMA, Interrupt |
Read |
Write
|
#FBE4 |
? |
Dobbertin Harddisc Reset |
Read |
Write
|
#FBE6 |
? |
Port B - IDE8255 |
? |
?
|
#FBE7 |
? |
RS Port - IDE8255 |
? |
?
|
#FBE7 |
? |
ACU Real Time Clock (DIY) Z80-PIO Data In/Out Port A |
Read |
Write
|
#FBE8 |
? |
Dk'tronics Real Time Clock |
? |
?
|
#FBE8 |
? |
KDS RS232 8253 Timer0 (RX Clock) |
Read |
Write
|
#FBE9 |
? |
KDS RS232 8253 Timer1 (TX Clock) |
Read |
Write
|
#FBEA |
? |
KDS RS232 8253 Timer2 (not used) |
Read |
Write
|
#FBEB |
? |
KDS RS232 8253 Timer Control |
- |
Write
|
#FBEC |
? |
KDS RS232 6850 (reversed bit-order) Control |
- |
Write
|
#FBEC |
? |
PDS development system Z80 PIO Port A Data (8bit data to/from PC) |
Read |
Write
|
#FBED |
? |
KDS RS232 6850 (reversed bit-order) TX Data |
- |
Write
|
#FBED |
? |
PDS development system Z80 PIO Port B Data (handshake to/from PC) |
Read |
Write
|
#FBEE |
? |
PDS development system Z80 PIO Port A Control |
? |
Write
|
#FBEE |
? |
Amstrad SSA-1 Speech Synthesizer |
Read |
Write
|
#FBEE |
? |
Kempston Mouse - 8bit X position |
Read |
-
|
#FBEE |
? |
KDS RS232 6850 (reversed bit-order) Status |
Read |
-
|
#FBEF |
? |
PDS development system Z80 PIO Port B Control |
? |
Write
|
#FBEF |
? |
Kempston Mouse - 8bit Y position |
Read |
-
|
#FBEF |
? |
KDS RS232 6850 (reversed bit-order) RX Data |
Read |
-
|
#FBEF |
? |
ACU Real Time Clock (DIY) Z80-PIO Data In/Out Port B |
Read |
Write
|
#FBF0 - #FBFF |
? |
Otten & Fecht 1 MB RAM-Disc |
Read |
Write
|
#FBF5 |
? |
ARA Video Digitizer - Invoke Video Capture |
- |
Write
|
#FBF6 |
? |
Vortex Disc Drives 765 FDC (Vortex,ext) Status Register |
Read |
-
|
#FBF7 |
? |
Vortex Disc Drives 765 FDC (Vortex,ext) Data Register |
Read |
Write
|
#FBF7 |
? |
ACU Real Time Clock (DIY) Z80-PIO Configure Port A |
Read |
Write
|
#FBF8 |
%11111011 11111000 |
8bit Printer Port (Amstrad Action) Strobe/Busy |
Read |
Write
|
#FBF9 |
%11111011 11111001 |
8bit Printer Port (Amstrad Action) Data |
- |
Write
|
#FBFE |
? |
Magnum Light Phaser |
- |
Write
|
#FBFE |
? |
Dart Scanner for DMP-Printers |
Read |
?
|
#FBFE |
? |
Dk'tronics Speech Synthesizer |
Read |
Write
|
#FBFE |
? |
TMPI speech synthesizer Data Register |
|
Write
|
#FBFF |
? |
TMPI speech synthesizer Command/Status Register |
Read |
Write
|
#FBFF |
? |
ACU Real Time Clock (DIY) Z80-PIO Configure Port B |
Read |
Write
|
#FC00 - #FDFF |
%1111110x xxxxxxxx |
CPCISA 16bits mode high byte latch |
Read |
Write
|
#FCE6 |
? |
Port A - IDE8255 |
Read |
Write
|
#FCE7 |
? |
Port C - IDE8255 |
Read |
Write
|
#FD00 - #FD3F |
%11111101 00xxxxxx |
SYMBiFACE II |
Read |
Write
|
#FDE6 |
? |
Port B - IDE8255 |
Read |
Write
|
#FDE7 |
? |
RS Port - IDE8255 |
Read |
Write
|
#FE00 - #FFFF |
%1111111x xxxxxxxx |
CPCISA I/O access (low byte) |
Read |
Write
|
#FEE6 |
? |
Port A - IDE8255 |
Read |
Write
|
#FEE7 |
? |
Port C - IDE8255 |
Read |
Write
|
#FEE8 |
%11111110 1110100x |
Multiface II - Enable Multiface II ROM/RAM |
- |
Write
|
#FEEA |
%11111110 1110110x |
Multiface II - Disable Multiface II ROM/RAM |
- |
Write
|
#FFXX |
%11111111 xxxxxxxx |
CPC Booster (XX=#00..#28 are used now) |
Read |
Write
|
#FFXX |
%11111111 xxxxxxxx |
Amdrum (unsigned 8bit DAC) |
- |
Write
|
#FFE6 |
? |
Port B - IDE8255 |
Read |
Write
|
#FFE7 |
? |
RS Port - IDE8255 |
Read |
Write
|
A number of peripherals connect to the joystick/printer ports, and so, they do not include "own" I/O addresses. This includes hardware other than joysticks/printers - for example, mice and simple network adapters. For a more complete list, see corresponding sections on Digital Joystick and Printer Port pages.