Difference between revisions of "I/O Port Summary"
From CPCWiki - THE Amstrad CPC encyclopedia!
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 |