Difference between revisions of "I/O Port Summary"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
Line 2: Line 2:
  
 
{|{{Prettytable|width: 700px; font-size: 2em;}}
 
{|{{Prettytable|width: 700px; font-size: 2em;}}
|''I/O''||''Port''||''Read''||''Write''  
+
|''I/O''||''Binary''||''Port''||''Read''||''Write''  
 
|-
 
|-
|#7FXX||[[Gate Array]]|| ||Write
+
|#7FXX||%0xxxxxxx xxxxxxxx||[[Gate Array]]|| ||Write
 
|-
 
|-
|#BCXX||6845 [[CRTC]] Address-Register|| - ||Write
+
|#BCXX||%x0xxxx00 xxxxxxxx||6845 [[CRTC]] Address-Register|| - ||Write
 
|-
 
|-
|#BDXX||6845 [[CRTC]] Data-Register|| - ||Write
+
|#BDXX||%x0xxxx01 xxxxxxxx||6845 [[CRTC]] Data-Register|| - ||Write
 
|-
 
|-
|#BEXX||6845 [[CRTC]] Status-Register||Read|| -  
+
|#BEXX||%x0xxxx10 xxxxxxxx||6845 [[CRTC]] Status-Register||Read|| -  
 
|-
 
|-
|#BFXX||6845 [[CRTC]] Video-Address-Register||Read|| -  
+
|#BFXX||%x0xxxx11 xxxxxxxx||6845 [[CRTC]] Video-Address-Register||Read|| -  
 
|-
 
|-
|#DFXX||select ROM|| - ||Write
+
|#DFXX||%xx0xxxxx xxxxxxxx||select ROM|| - ||Write
 
|-
 
|-
|#EFXX||Printer Port|| - ||Write
+
|#EFXX||%xxx0xxxx xxxxxxxx||Printer Port|| - ||Write
 
|-
 
|-
|#F4XX||8255 PIO Port A||Read||Write
+
|#F4XX||%xxxx0x00 xxxxxxxx||8255 PIO Port A||Read||Write
 
|-
 
|-
|#F5XX||8255 PIO Port B||Read|| -  
+
|#F5XX||%xxxx0x01 xxxxxxxx||8255 PIO Port B||Read|| -  
 
|-
 
|-
|#F6XX||8255 PIO Port C|| - ||Write
+
|#F6XX||%xxxx0x10 xxxxxxxx||8255 PIO Port C|| - ||Write
 
|-
 
|-
|#F7XX||8255 PIO Control-Register|| - ||Write
+
|#F7XX||%xxxx0x11 xxxxxxxx||8255 PIO Control-Register|| - ||Write
 
|-
 
|-
|#F8B0||Vidi-CPC Video-Digitiser||?||?
+
|#F8B0||?||Vidi-CPC Video-Digitiser||?||?
 
|-
 
|-
|#F8B1||Vidi-CPC Video-Digitiser||?||?
+
|#F8B1||?||Vidi-CPC Video-Digitiser||?||?
 
|-
 
|-
|#F8DC - #F8DD||CPCI Serial Interface||Read||Write
+
|#F8DC - #F8DD||?||CPCI Serial Interface||Read||Write
 
|-
 
|-
|#F8E0||Z80 STI Indirect Data Register||Read||Write
+
|#F8E0||?||Z80 STI Indirect Data Register||Read||Write
 
|-
 
|-
|#F8E1||Z80 STI Gen. Purpose I/O Interrupt||Read||Write
+
|#F8E1||?||Z80 STI Gen. Purpose I/O Interrupt||Read||Write
 
|-
 
|-
|#F8E8||Z80 STI Pointer Vector Register||Read||Write
+
|#F8E8||?||Z80 STI Pointer Vector Register||Read||Write
 
|-
 
|-
|#F8E8||Music Machine|| - ||Write
+
|#F8E8||?||Music Machine|| - ||Write
 
|-
 
|-
|#F8EC||Z80 STI USART Control Register||Read||Write
+
|#F8EC||?||Z80 STI USART Control Register||Read||Write
 
|-
 
|-
|#F8EC||Music Machine|| - ||Write
+
|#F8EC||?||Music Machine|| - ||Write
 
|-
 
|-
|#F8ED||Z80 STI Receiver Status Register||Read||Write
+
|#F8ED||?||Z80 STI Receiver Status Register||Read||Write
 
|-
 
|-
|#F8EE||Z80 STI Transmitter Status Register||Read||Write
+
|#F8EE||?||Z80 STI Transmitter Status Register||Read||Write
 
|-
 
|-
|#F8EF||Z80 STI USART Data Register||Read||Write
+
|#F8EF||?||Z80 STI USART Data Register||Read||Write
 
|-
 
|-
|#F8EF||Music Machine||Read|| -  
+
|#F8EF||?||Music Machine||Read|| -  
 
|-
 
|-
|#F8E2 - #F8E4||Dobbertin Eprommer 4003||?||?
+
|#F8E2 - #F8E4||?||Dobbertin Eprommer 4003||?||?
 
|-
 
|-
|#F8F0||Music Machine|| - ||Write
+
|#F8F0||?||Music Machine|| - ||Write
 
|-
 
|-
|#F8F2||Dobbertin Eprommer 4003||?||?
+
|#F8F2||?||Dobbertin Eprommer 4003||?||?
 
|-
 
|-
|#F8F4||Music Machine||Read|| -  
+
|#F8F4||?||Music Machine||Read|| -  
 
|-
 
|-
|#F8F8||Music Machine|| - ||Write
+
|#F8F8||?||Music Machine|| - ||Write
 
|-
 
|-
|#F8FF||CPCISA control port|| - ||Write
+
|#F8FF||%1111100x 111xxxxx||CPCISA control port|| - ||Write
 
|-
 
|-
|#F9B0||Vidi-CPC Video-Digitiser||?||?
+
|#F9B0||?||Vidi-CPC Video-Digitiser||?||?
 
|-
 
|-
|#F9FC - #F9FE||Otten & Fecht 1 MB RAM-Disc||?||?
+
|#F9FC - #F9FE||?||Otten & Fecht 1 MB RAM-Disc||?||?
 
|-
 
|-
|#FA7E||Floppy Motor Control|| - ||Write
+
|#FA7E||%xxxxxx0x0 0xxxxxxx||Floppy Motor Control|| - ||Write
 
|-
 
|-
|#FADC||Z80-SIO / DART port A Data Register||Read||Write
+
|#FADC||?||Z80-SIO / DART port A Data Register||Read||Write
 
|-
 
|-
|#FADD||Z80-SIO / DART port A Control Reg.||Read||Write
+
|#FADD||?||Z80-SIO / DART port A Control Reg.||Read||Write
 
|-
 
|-
|#FADE||Z80-SIO / DART port B Data Register||Read||Write
+
|#FADE||?||Z80-SIO / DART port B Data Register||Read||Write
 
|-
 
|-
|#FADF||Z80-SIO / DART port B Control Reg.||Read||Write
+
|#FADF||?||Z80-SIO / DART port B Control Reg.||Read||Write
 
|-
 
|-
|#FB7E||765 FDC (internal) Status Register||Read|| -  
+
|#FB7E||%xxxxxx0x1 0xxxxxx0||765 FDC (internal) Status Register||Read|| -  
 
|-
 
|-
|#FB7F||765 FDC (internal) Data Register||Read||Write
+
|#FB7F||%xxxxxx0x1 0xxxxxx1||765 FDC (internal) Data Register||Read||Write
 
|-
 
|-
|#FBDC||8253 Timer counter 0||Read||Write
+
|#FBDC||?||8253 Timer counter 0||Read||Write
 
|-
 
|-
|#FBDD||8253 Timer counter 1||Read||Write
+
|#FBDD||?||8253 Timer counter 1||Read||Write
 
|-
 
|-
|#FBDE||8253 Timer counter 2||Read||Write
+
|#FBDE||?||8253 Timer counter 2||Read||Write
 
|-
 
|-
|#FBDF||8253 Timer Modus Select|| - ||Write
+
|#FBDF||?||8253 Timer Modus Select|| - ||Write
 
|-
 
|-
|#FBE0||Hard Disc Data Port||Read||Write
+
|#FBE0||?||Hard Disc Data Port||Read||Write
 
|-
 
|-
|#FBE1||Hard Disc Status, Reset||Read||Write
+
|#FBE1||?||Hard Disc Status, Reset||Read||Write
 
|-
 
|-
|#FBE2||Hard Disc Select, Configuration||Read||Write
+
|#FBE2||?||Hard Disc Select, Configuration||Read||Write
 
|-
 
|-
|#FBE3||Hard Disc DMA, Interrupt||Read||Write
+
|#FBE3||?||Hard Disc DMA, Interrupt||Read||Write
 
|-
 
|-
|#FBE4||Hard Disc Reset||Read||Write
+
|#FBE4||?||Hard Disc Reset||Read||Write
 
|-
 
|-
|#FBE0 - #FBE3||dk'tronics RTC.||?||?
+
|#FBE0 - #FBE3||?||dk'tronics RTC.||?||?
 
|-
 
|-
|&FBE8||dk'tronics RTC.||?||?
+
|&FBE8||?||dk'tronics RTC.||?||?
 
|-
 
|-
|#FBEE||SSA1 dk'tronics Speech-Module||Read||Write
+
|#FBEE||?||SSA1 dk'tronics Speech-Module||Read||Write
 
|-
 
|-
|#FBF0 - #FBFF||Otten & Fecht 1 MB RAM-Disc||?||?
+
|#FBF0 - #FBFF||?||Otten & Fecht 1 MB RAM-Disc||?||?
 
|-
 
|-
|#FBF6||765 FDC (Vortex,ext) Status Register||Read|| -  
+
|#FBF6||?||765 FDC (Vortex,ext) Status Register||Read|| -  
 
|-
 
|-
|#FBF7||765 FDC (Vortex,ext) Data Register||Read||Write
+
|#FBF7||?||765 FDC (Vortex,ext) Data Register||Read||Write
 
|-
 
|-
|#FC00 - #FDFF||CPCISA 16bits mode high byte latch||Read||Write
+
|#FC00 - #FDFF||%1111110x xxxxxxxx||CPCISA 16bits mode high byte latch||Read||Write
 
|-
 
|-
|#FD00 - #FD3F||SYMBiFACE II||Read||Write
+
|#FD00 - #FD3F||?||SYMBiFACE II||Read||Write
 
|-
 
|-
|#FE00 - #FFFF||CPCISA I/O access (low byte)||Read||Write
+
|#FE00 - #FFFF||%1111111x xxxxxxxx||CPCISA I/O access (low byte)||Read||Write
 
|-
 
|-
|#FEE8||Multiface II||?||?
+
|#FEE8||?||Multiface II||?||?
 
|-
 
|-
|#FEEA||Multiface II||?||?
+
|#FEEA||?||Multiface II||?||?
 
|-
 
|-
|#FFXX||CPC Booster (XX=#00..#28 are used now)||Read||Write
+
|#FFXX||?||CPC Booster (XX=#00..#28 are used now)||Read||Write
 
|-
 
|-
 
|}
 
|}

Revision as of 16:22, 21 January 2007

The is a list of all known I/O ports of the Amstrad CPC (copied from the FutureOS manual).

I/O Binary Port Read Write
#7FXX %0xxxxxxx xxxxxxxx Gate Array Write
#BCXX %x0xxxx00 xxxxxxxx 6845 CRTC Address-Register - Write
#BDXX %x0xxxx01 xxxxxxxx 6845 CRTC Data-Register - Write
#BEXX %x0xxxx10 xxxxxxxx 6845 CRTC Status-Register Read -
#BFXX %x0xxxx11 xxxxxxxx 6845 CRTC Video-Address-Register Read -
#DFXX %xx0xxxxx xxxxxxxx select ROM - Write
#EFXX %xxx0xxxx xxxxxxxx Printer Port - Write
#F4XX %xxxx0x00 xxxxxxxx 8255 PIO Port A Read Write
#F5XX %xxxx0x01 xxxxxxxx 8255 PIO Port B Read -
#F6XX %xxxx0x10 xxxxxxxx 8255 PIO Port C - Write
#F7XX %xxxx0x11 xxxxxxxx 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 %1111100x 111xxxxx CPCISA control port - Write
#F9B0 ? Vidi-CPC Video-Digitiser ? ?
#F9FC - #F9FE ? Otten & Fecht 1 MB RAM-Disc ? ?
#FA7E %xxxxxx0x0 0xxxxxxx 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 %xxxxxx0x1 0xxxxxx0 765 FDC (internal) Status Register Read -
#FB7F %xxxxxx0x1 0xxxxxx1 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 %1111110x xxxxxxxx CPCISA 16bits mode high byte latch Read Write
#FD00 - #FD3F ? SYMBiFACE II Read Write
#FE00 - #FFFF %1111111x xxxxxxxx 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

CPCISA ports for ISA motherboard

Device PC I/O range CPCISA high CPCISA low
DMA 000h..00Fh #FC00..#FC0F #FE00..#FE0F
interrupt 020h..03Fh #FC20..#FC3F #FE20..#FE3F
counter 040h..05Fh #FC40..#FC5F #FE40..#FE5F
keyboard 060h..067h #FC60..#FC67 #FE60..#FE67
RTC 070h..071h #FC70..#FC71 #FE70..#FE71
DMA 080h..08Fh #FC80..#FC8F #FE80..#FE8F
DMA 0C0h..0DFh #FCC0..#FCDF #FEC0..#FEDF
interrupt 0A0h..0BFh #FCA0..#FCBF #FEA0..#FEBF