The is a list of all known I/O ports of the Amstrad CPC (copied from the FutureOS manual).
I/O | Port | Read | Write |
#7FXX | Gate Array | Write | |
#BCXX | 6845 CRTC Address-Register | - | Write |
#BDXX | 6845 CRTC Data-Register | - | Write |
#BEXX | 6845 CRTC Status-Register | Read | - |
#BFXX | 6845 CRTC Video-Address-Register | Read | - |
#DFXX | select ROM | - | Write |
#EFXX | Printer Port | - | Write |
#F4XX | 8255 PIO Port A | Read | Write |
#F5XX | 8255 PIO Port B | Read | - |
#F6XX | 8255 PIO Port C | - | Write |
#F7XX | 8255 PIO Control-Register | - | Write |
#F8B0 | Vidi-CPC Video-Digitiser | ? | ? |
#F8B1 | Vidi-CPC Video-Digitiser | ? | ? |
#F8DC - #F8DD | CPCI Serial Interface | Read | Write |
#F8E0 | Z80 STI Indirect Data Register | Read | Write |
#F8E1 | Z80 STI Gen. Purpose I/O Interrupt | Read | Write |
#F8E8 | Z80 STI Pointer Vector Register | Read | Write |
#F8E8 | Music Machine | - | Write |
#F8EC | Z80 STI USART Control Register | Read | Write |
#F8EC | Music Machine | - | Write |
#F8ED | Z80 STI Receiver Status Register | Read | Write |
#F8EE | Z80 STI Transmitter Status Register | Read | Write |
#F8EF | Z80 STI USART Data Register | Read | Write |
#F8EF | Music Machine | Read | - |
#F8E2 - #F8E4 | Dobbertin Eprommer 4003 | ? | ? |
#F8F0 | Music Machine | - | Write |
#F8F2 | Dobbertin Eprommer 4003 | ? | ? |
#F8F4 | Music Machine | Read | - |
#F8F8 | Music Machine | - | Write |
#F8FF | CPCISA control port | - | Write |
#F9B0 | Vidi-CPC Video-Digitiser | ? | ? |
#F9FC - #F9FE | Otten & Fecht 1 MB RAM-Disc | ? | ? |
#FA7E | Floppy Motor Control | - | Write |
#FADC | Z80-SIO / DART port A Data Register | Read | Write |
#FADD | Z80-SIO / DART port A Control Reg. | Read | Write |
#FADE | Z80-SIO / DART port B Data Register | Read | Write |
#FADF | Z80-SIO / DART port B Control Reg. | Read | Write |
#FB7E | 765 FDC (internal) Status Register | Read | - |
#FB7F | 765 FDC (internal) Data Register | Read | Write |
#FBDC | 8253 Timer counter 0 | Read | Write |
#FBDD | 8253 Timer counter 1 | Read | Write |
#FBDE | 8253 Timer counter 2 | Read | Write |
#FBDF | 8253 Timer Modus Select | - | Write |
#FBE0 | Hard Disc Data Port | Read | Write |
#FBE1 | Hard Disc Status, Reset | Read | Write |
#FBE2 | Hard Disc Select, Configuration | Read | Write |
#FBE3 | Hard Disc DMA, Interrupt | Read | Write |
#FBE4 | Hard Disc Reset | Read | Write |
#FBE0 - #FBE3 | dk'tronics RTC. | ? | ? |
&FBE8 | dk'tronics RTC. | ? | ? |
#FBEE | SSA1 dk'tronics Speech-Module | Read | Write |
#FBF0 - #FBFF | Otten & Fecht 1 MB RAM-Disc | ? | ? |
#FBF6 | 765 FDC (Vortex,ext) Status Register | Read | - |
#FBF7 | 765 FDC (Vortex,ext) Data Register | Read | Write |
#FC00 - #FDFF | CPCISA 16bits mode high byte latch | Read | Write |
#FD00 - #FD3F | SYMBiFACE II | Read | Write |
#FE00 - #FFFF | CPCISA I/O access (low byte) | Read | Write |
#FEE8 | Multiface II | ? | ? |
#FEEA | Multiface II | ? | ? |
#FFXX | CPC Booster (XX=#00..#28 are used now) | Read | Write |
CPCISA ports for ISA cards
Device | PC I/O range | CPCISA high | CPCISA low |
IDE1 | 1F0h..1F7h | #FDF0..#FDF7 | #FFF0..#FFF7 |
IDE2 | 170h..177h | #FD70..#FD77 | #FF70..#FF77 |
Joystick | 201h..201h | #FC01..#FC01 | #FE01..#FE01 |
Ethernet | 210h..21Fh | #FC10..#FC1F | #FE10..#FE1F |
Sound Blaster | 220h..23Fh | #FC20..#FC3F | #FE20..#FE3F |
LPT2 | 278h..27Fh | #FC78..#FC7F | #FE78..#FE7F |
COM1 | 2F8h..2FFh | #FCF8..#FCFF | #FEF8..#FEFF |
MIDI' | 300h..301h | #FD00..#FD01 | #FF00..#FF01 |
MIDI | 330h..331h | #FD30..#FD31 | #FF30..#FF31 |
Sound control | 370h..371h | #FD70..#FD71 | #FF70..#FF71 |
FDC1 | 372h..377h | #FD72..#FD77 | #FF72..#FF77 |
LPT1 | 378h..37Fh | #FD78..#FD7F | #FF78..#FF7F |
Sound AD-LIB | 388h..38Bh | #FD88..#FD8B | #FF88..#FF8B |
VGA | 3B0h..3BBh | #FDB0..#FDBB | #FFB0..#FFBB |
LPT3 | 3BCh..3BFh | #FDBC..#FDBF | #FFBC..#FFBF |
VGA | 3C0h..3DFh | #FDC0..#FDCF | #FFC0..#FFCF |
FDC1 | 3F2h..3F7h | #FDF2..#FDF7 | #FFF2..#FFF7 |
COM1 | 3F8h..3FFh | #FDF8..#FDFF | #FFF8..#FFFF |