I/O Adressen

Aus Deutsches CPCWiki
Wechseln zu: Navigation, Suche

I/O Adressen - die Port-Ein/Ausgabe Adressen der CPC Computer

Dies ist eine Liste aller bekannten Ein-/Ausgabe Portadressen der CPC Computer, des GX4000 und des 464/6128 Plus. Das beinhaltet auch die vorhandene / bekannte Peripherie. Die Ursprüngliche Liste stammt aus dem FutureOS Handbuch.

I/O Portadressen

I/O Dekodierung Port Lesen Schreiben
#1C00 %x0xxxx00 xxxxxxxx Dk'tronics Lightpen undokumentierter Spiegel von &BCXX CRTC Index - Schreiben
#1F00 %x0xxxx11 xxxxxxxx Dk'tronics Lightpen undokumentierter Spiegel von &BFXX CRTC Data Ein Lesen -
#78XX %0xxxx000 xxxxxxxx 4Mb Speicher-Erweiterung - Schreiben
#79XX %0xxxx001 xxxxxxxx 4Mb Speicher-Erweiterung - Schreiben
#7AXX %0xxxx010 xxxxxxxx 4Mb Speicher-Erweiterung - Schreiben
#7BXX %0xxxx011 xxxxxxxx 4Mb Speicher-Erweiterung - Schreiben
#7CXX %0xxxx100 xxxxxxxx 4Mb Speicher-Erweiterung - Schreiben
#7DXX %0xxxx101 xxxxxxxx 4Mb Speicher-Erweiterung - Schreiben
#7EXX %0xxxx110 xxxxxxxx 4Mb Speicher-Erweiterung - Schreiben
#7EXX %0xxxxxx0 xxxxxxxx Y-MEM 512K RAM Speicher-Erweiterung Lesen Schreiben
#7FXX %0xxxx111 xxxxxxxx 4Mb Speicher-Erweiterung - Schreiben
#7FXX %0xxxxxx1 xxxxxxxx X-MEM 512K RAM Speicher-Erweiterung Lesen Schreiben
#7FXX ? Dk'tronics Speicher-Erweiterungen - Schreiben
#7FXX ? Dobbertin 512 KB Speicher-Erweiterung - Schreiben
#7FXX %01xxxxxx xxxxxxxx Gate Array - Schreiben
#7FXX %0xxxxxxx xxxxxxxx PAL16L8 Erweiterung to Gate Array for 128K RAM banking - Schreiben
#BCXX %x0xxxx00 xxxxxxxx 6845 CRTC Index - Schreiben
#BDXX %x0xxxx01 xxxxxxxx 6845 CRTC Data Out - Schreiben
#BEXX %x0xxxx10 xxxxxxxx 6845 CRTC Status (as far as supported) Lesen -
#BFXX %x0xxxx11 xxxxxxxx 6845 CRTC Data In (as far as supported) Lesen -
#DFXX %xx0xxxxx xxxxxxxx Upper ROM Bank Number (as decoded within CPC664, CPC6128, 464+, 6128+, decoding in ROM expansions may be different) - Schreiben
#ECXX %xxx0xx00 xxxxxxxx KC Compact CIO Port B (timer) Lesen Schreiben
#EDXX %xxx0xx01 xxxxxxxx KC Compact CIO Port C (timer) Lesen Schreiben
#EEXX %xxx0xx10 xxxxxxxx KC Compact CIO Control Lesen Schreiben
#EFXX %xxx0xx11 xxxxxxxx KC Compact CIO Port A (Bi-drectional Printer Port) Lesen Schreiben
#EFXX %xxx0xxxx xxxxxxxx Printer Port - Schreiben
#F0E0 ? Draysoft Doubler External Tape Data Input (Bit5) Lesen -
#F4XX %xxxx0x00 xxxxxxxx 8255 PIO Port A (PSG Data) Lesen Schreiben
#F5XX %xxxx0x01 xxxxxxxx 8255 PIO Port B (Vsync,PrnBusy,Tape,etc.) Lesen -
#F6XX %xxxx0x10 xxxxxxxx 8255 PIO Port C (KeybRow,Tape,PSG Control) - Schreiben
#F7XX %xxxx0x11 xxxxxxxx 8255 PIO Control-Register - Schreiben
#F880-#F88F %1111100x 1000xxxx PlayCity Expansion CTC channels and YMZ Data - Schreiben
#F890-#F89F %1111100x 1001xxxx MultiPlay Expansion Lesen -
#F8B0 ? Vidi-CPC Video-Digitiser, CRTC Index ? Schreiben
#F8B1 ? Vidi-CPC Video-Digitiser, CRTC Data ? Schreiben
#F8DC ? CPCI Serial Interface MC6850 Control/Status Lesen Schreiben
#F8DD ? CPCI Serial Interface MC6850 Data Lesen Schreiben
#F8E0 ? DHCP MIDI Interface Lesen Schreiben
#F8E0 %11111000 11100000 Schneider RS232 Interface Z80-STI Indirect Data Register Lesen Schreiben
#F8E1 %11111000 11100001 Schneider RS232 Interface Z80-STI General Purpose I/O Data Register Lesen Schreiben
#F8E2 %11111000 11100010 Schneider RS232 Interface Z80-STI Interrupt Pending Register B (unused) Lesen Schreiben
#F8E2 ? Dobbertin Eprommer 4003 ? ?
#F8E3 %11111000 11100011 Schneider RS232 Interface Z80-STI Interrupt Pending Register A (unused) Lesen Schreiben
#F8E3 ? Dobbertin Eprommer 4003 ? ?
#F8E4 %11111000 11100100 Schneider RS232 Interface Z80-STI Interrupt in-Service Register B (unused) Lesen Schreiben
#F8E4 ? Dobbertin Eprommer 4003 ? ?
#F8E5 %11111000 11100101 Schneider RS232 Interface Z80-STI Interrupt in-Service Register A (unused) Lesen Schreiben
#F8E6 %11111000 11100110 Schneider RS232 Interface Z80-STI Interrupt Mask Register B (unused) Lesen Schreiben
#F8E6 ? Port A - IDE8255 ? ?
#F8E7 %11111000 11100111 Schneider RS232 Interface Z80-STI Interrupt Mask Register A (unused) Lesen Schreiben
#F8E7 ? Port C - IDE8255 ? ?
#F8E8 %11111000 11101000 Schneider RS232 Interface Z80-STI Indirect Index and Interrupt Vector Register Lesen Schreiben
#F8E8 ? Music Machine Interrupt Sel - Schreiben
#F8E9 %11111000 11101001 Schneider RS232 Interface Z80-STI Timers A and B Control Register (unused) Lesen Schreiben
#F8EA %11111000 11101010 Schneider RS232 Interface Z80-STI Timer B Data Register (unused) Lesen Schreiben
#F8EB %11111000 11101011 Schneider RS232 Interface Z80-STI Timer A Data Register (unused) Lesen Schreiben
#F8EC %11111000 11101100 Schneider RS232 Interface Z80-STI USART Control Register Lesen Schreiben
#F8EC ? Music Machine ACIA Control - Schreiben
#F8ED ? Music Machine ACIA Data Schreiben - Schreiben
#F8ED %11111000 11101101 Schneider RS232 Interface Z80-STI Empfänger Status Register Lesen Schreiben
#F8EE ? Music Machine ACIA Status Lesen -
#F8EE %11111000 11101110 Schneider RS232 Interface Z80-STI Transmitter Status Register Lesen Schreiben
#F8EF %11111000 11101111 Schneider RS232 Interface Z80-STI USART Data Register Lesen Schreiben
#F8EF ? Music Machine ACIA Data Lesen Lesen -
#F8FX %xxxxx0xx 1111NNNx Maplins 8 Bit Input Port and Maplins Weather Satellite Empfänger Lesen -
#F8F0 ? Music Machine DAC Schreiben - Schreiben
#F8F2 ? EMR MIDI Interface - Schreiben
#F8F2 ? Dobbertin Eprommer 4003 Lesen Schreiben
#F8F2 ? EMR MIDI Interface Lesen Schreiben
#F8F4 ? Music Machine ADC Lesen Lesen -
#F8F5 ? ARA Video Digitizer - Lesen Sync Signal (Bit0) Lesen -
#F8F8 ? Music Machine ADC Start - Schreiben
#F8F8 ? ANTA 64K Memory Expansion ANTA 64k.3 latch Lesen Schreiben
#F8FE %11111000 11111110 Z-MEM Software Memory Configuration - Schreiben
#F8FF %1111100x 111xxxxx CPCISA control port - Schreiben
#F8FF %xxxxx0xx 111111xx Peripheral Soft Reset (MC_BOOT_PROGRAM and MC_START_PROGRAM do OUT [F8FF],FF) - Schreiben
#F980-#F98F %1111100x 1000xxxx PlayCity Expansion CTC channels (mirror) and YMZ Register - Schreiben
#F990-#F99F %1111100x 1001xxxx MultiPlay Expansion (mirror) Lesen -
#F9B0 ? Vidi-CPC Video-Digitiser, Config (W) and Capture Data (R) Lesen Schreiben
#F9D0 %11111000 11010000 SwinSID Teil von SONIQUE Sound Board WIP by DaDMaN SwinSID1 + SwinSID2 Data (MONO Mode / 3 Channels) - Schreiben
#F9D1 %11111000 11010001 SwinSID Teil von SONIQUE Sound Board WIP by DaDMaN SwinSID1 (LEFT) Data (STEREO Mode / 6 Channels) - Schreiben
#F9D2 %11111000 11010010 SwinSID Teil von SONIQUE Sound Board WIP by DaDMaN SwinSID2 (RIGHT) Data (STEREO Mode / 6 Channels) - Schreiben
#F9DC ? Panda Electronics Communications Interface Unit PPI Port A - 8 Bit Printer Data Lesen Schreiben
#F9DD ? Panda Electronics Communications Interface Unit PPI Port B - 8 Bit general purpose I/O port Lesen Schreiben
#F9DE ? Panda Electronics Communications Interface Unit PPI Port C - Handshake (Bit0=Strobe.out, Bit5=Busy.in) Lesen Schreiben
#F9DF ? Panda Electronics Communications Interface Unit PPI Control - 8 Bit Printer Data - Schreiben
#F9E6 ? Port B - IDE8255 ? ?
#F9E7 ? RS Port - IDE8255 ? ?
#F9F5 ? ARA Video Digitizer - Reset 10 Bit Config Value - Schreiben
#F9F7 ? Hegotron grafpad II ? ?
#F9FC - #F9FE ? Otten & Fecht 1 MB RAM-Disc Lesen Schreiben
#F9FF ? Hegotron grafpad II ? ?
#FA7E %xxxxx0x0 0xxxxxxx Floppy Motor Control (for 765 FDC) - Schreiben
#FAD0 %11111010 11010000 SwinSID Teil von SONIQUE Sound Board WIP by DaDMaN Select SID (1&2) Register MONO mode - Schreiben
#FAD1 %11111010 11010001 SwinSID Teil von SONIQUE Sound Board WIP by DaDMaN Select SID1 Register - Schreiben
#FAD2 %11111010 11010010 SwinSID Teil von SONIQUE Sound Board WIP by DaDMaN Select SID2 Register - Schreiben
#FADC ? Amstrad Serial Interface Z80-SIO / DART port A Data Register Lesen Schreiben
#FADC ? MHT Ingenieros RS232 für Amstrad CPC 8251 USART Data Lesen Schreiben
#FADD ? Amstrad Serial Interface Z80-SIO / DART port A Control Reg. Lesen Schreiben
#FADD ? MHT Ingenieros RS232 für Amstrad CPC 8251 USART control/status Lesen Schreiben
#FADE ? Amstrad Serial Interface Z80-SIO / DART port B Data Register Lesen Schreiben
#FADF ? Amstrad Serial Interface Z80-SIO / DART port B Control Reg. Lesen Schreiben
#FADF ? Cirkit serial interface 8251 UART Data Register Lesen Schreiben
#FAE6 ? Port A - IDE8255 ? ?
#FAE7 ? Port C - IDE8255 ? ?
#FAEE ? Amstrad SSA-1 Speech Synthesizer (undokumentierter(?!?) Spiegel, von mit gelieferter RSX-Erweiterung benutzt) Lesen Schreiben
#FAEF %xxxxx0x0 xxx0xxxx Kempston Mouse - Mouse Buttons Lesen -
#FAF5 ? ARA Video Digitizer - Lesen Capture Data Lesen -
#FAF5 ? ARA Video Digitizer - Increment 10 Bit Config Value - Schreiben
#FB7E %xxxxx0x1 0xxxxxx0 765 FDC (internal) Status Register Lesen -
#FB7F %xxxxx0x1 0xxxxxx1 765 FDC (internal) Data Register Lesen Schreiben
#FBBD %xxxxx0xx x0xxxx0x Ram select mode Vortex SP512 ? Schreiben
#FBDC ? Amstrad Serial Interface 8253 Timer counter 0 Lesen Schreiben
#FBDC ? MHT Ingenieros RS232 para Amstrad 8253 timer 0 (transmit baudrate) Lesen Schreiben
#FBDD ? Amstrad Serial Interface 8253 Timer counter 1 Lesen Schreiben
#FBDD ? MHT Ingenieros RS232 für Amstrad CPC 8253 timer 1 (receive baudrate) Lesen Schreiben
#FBDE ? Amstrad Serial Interface 8253 Timer counter 2 Lesen Schreiben
#FBDE ? MHT Ingenieros RS232 für Amstrad CPC 8253 timer 2 (used as 1ms timer) Lesen Schreiben
#FBDF ? Amstrad Serial Interface 8253 Timer Modus Select - Schreiben
#FBDF ? MHT Ingenieros RS232 für Amstrad CPC 8253 timer 0-2 control - Schreiben
#FBDF ? Cirkit serial interface 8251 UART status/control Register Lesen Schreiben
#FBxx+0 ? CPCI Real Time Clock Index (DIY) - Schreiben
#FBxx+1 ? CPCI Real Time Clock Data (DIY) Lesen Schreiben
#FBE0 ? Dk'tronics Real Time Clock - Z80 PIO Port A Data (HD146818P RTC Data bus) Lesen Schreiben
#FBE0 ? Dobbertin Harddisc Data Port Lesen Schreiben
#FBE1 ? Dk'tronics Real Time Clock - Z80 PIO Port B Data (General Purpose 8 Bit I/O Port) Lesen Schreiben
#FBE1 ? Dobbertin Harddisc Status, Reset Lesen Schreiben
#FBE2 ? Dk'tronics Real Time Clock - Z80 PIO Port A Control ? Schreiben
#FBE2 ? Dobbertin Harddisc Select, Configuration Lesen Schreiben
#FBE3 ? Dk'tronics Real Time Clock - Z80 PIO Port B Control ? Schreiben
#FBE3 ? Dobbertin Harddisc DMA, Interrupt Lesen Schreiben
#FBE4 ? Dobbertin Harddisc Reset Lesen Schreiben
#FBE6 ? Port B - IDE8255 ? ?
#FBE7 ? RS Port - IDE8255 ? ?
#FBE7 ? ACU Real Time Clock (DIY) Z80-PIO Data In/Out Port A Lesen Schreiben
#FBE8 ? Dk'tronics Real Time Clock "4Bit latch" (details unknown)  ? Schreiben
#FBE8 ? KDS RS232 8253 Timer0 (RX Clock) Lesen Schreiben
#FBE9 ? KDS RS232 8253 Timer1 (TX Clock) Lesen Schreiben
#FBEA ? KDS RS232 8253 Timer2 (not used) Lesen Schreiben
#FBEB ? KDS RS232 8253 Timer Control - Schreiben
#FBEC ? KDS RS232 6850 (reversed Bit-order) Control - Schreiben
#FBEC ? PDS development system Z80 PIO Port A Data (8 Bit Data to/from PC) Lesen Schreiben
#FBED ? KDS RS232 6850 (reversed Bit-order) TX Data - Schreiben
#FBED ? PDS development system Z80 PIO Port B Data (handshake to/from PC) Lesen Schreiben
#FBEE ? PDS development system Z80 PIO Port A Control ? Schreiben
#FBEE ? Amstrad SSA-1 Speech Synthesizer Lesen Schreiben
#FBEE %xxxxx0x1 xxx0xxx0 Kempston Mouse - 8 Bit X position Lesen -
#FBEE ? KDS RS232 6850 (reversed Bit-order) Status Lesen -
#FBEF ? PDS development system Z80 PIO Port B Control ? Schreiben
#FBEF %xxxxx0x1 xxx0xxx1 Kempston Mouse - 8 Bit Y position Lesen -
#FBEF ? KDS RS232 6850 (reversed Bit-order) RX Data Lesen -
#FBEF ? ACU Real Time Clock (DIY) Z80-PIO Data In/Out Port B Lesen Schreiben
#FBF0 - #FBFF ? Otten & Fecht 1 MB RAM-Disc Lesen Schreiben
#FBF0 %xxxx1011 1111xxxx AMRAM2 - Schreiben
#FBF0 %xxxxx011 1111xxx0 AMSSIO Serial Interface MC6850 Control/Status Register Lesen Schreiben
#FBF1 %xxxxx011 1111xxx1 AMSSIO Serial Interface MC6850 Data Register Lesen Schreiben
#FBF5 ? ARA Video Digitizer - Invoke Video Capture - Schreiben
#FBF6 ? Vortex Disc Drives 765 FDC (Vortex,ext) Status Register Lesen -
#FBF7 ? Vortex Disc Drives 765 FDC (Vortex,ext) Data Register Lesen Schreiben
#FBF7 ? ACU Real Time Clock (DIY) Z80-PIO Configure Port A Lesen Schreiben
#FBF8 %11111011 11111000 8 Bit Printer Port (Amstrad Action) Strobe/Busy Lesen Schreiben
#FBF9 %11111011 11111001 8 Bit Printer Port (Amstrad Action) Data - Schreiben
#FBFE ? Magnum Light Phaser - Schreiben
#FBFE ? Dart Scanner for DMP-Printers Lesen ?
#FBFE ? Dk'tronics Speech Synthesizer Lesen Schreiben
#FBFE ? TMPI speech synthesizer Data Register Schreiben
#FBFF ? TMPI speech synthesizer Command/Status Register Lesen Schreiben
#FBFF ? ACU Real Time Clock (DIY) Z80-PIO Configure Port B Lesen Schreiben
#FC00 - #FDFF %1111110x xxxxxxxx CPCISA 16Bits mode high byte latch Lesen Schreiben
#FC00 ? M4 Board ACK/KICK - Schreiben
#FC5C ? French DIY Dual Port RS232 - Baudrate Selection - Schreiben
#FC7C ? French DIY Dual Port RS232 - Z80-SIO Channel A Data Lesen Schreiben
#FC7D ? French DIY Dual Port RS232 - Z80-SIO Channel A Control/Status Lesen Schreiben
#FC7E ? French DIY Dual Port RS232 - Z80-SIO Channel B Data Lesen Schreiben
#FC7F ? French DIY Dual Port RS232 - Z80-SIO Channel B Control/Status Lesen Schreiben
#FCE6 ? Port A - IDE8255 Lesen Schreiben
#FCE7 ? Port C - IDE8255 Lesen Schreiben
#FD00 - #FD3F %11111101 00xxxxxx SYMBiFACE II Lesen Schreiben
#FDE6 ? Port B - IDE8255 Lesen Schreiben
#FDE7 ? RS Port - IDE8255 Lesen Schreiben
#FE00 ? M4 Board Data - Schreiben
#FE00 - #FFFF %1111111x xxxxxxxx CPCISA I/O access (low byte) Lesen Schreiben
#FE80 - #FE81 %111111101000000x Albireo CH376 controller Lesen Schreiben
#FEB0 - #FEB7 %1111111010110xxx Albireo serial port Lesen Schreiben
#FEE6 ? Port A - IDE8255 Lesen Schreiben
#FEE7 ? Port C - IDE8255 Lesen Schreiben
#FEE8 %11111110 1110100x Multiface II - Enable Multiface II ROM/RAM - Schreiben
#FEEA %11111110 1110110x Multiface II - Disable Multiface II ROM/RAM - Schreiben
#FEF0 - #FEF7 %11111110 11110xxx CPC-CompactFlash - IDE Register Lesen Schreiben
#FEF0 - #FEF7 %11111110 11110xxx uIDE 16 - IDE Register Lesen Schreiben
#FF00 - #FFFF %11111111 xxxxxxxx AMSDAP (Amstrad MSx aDAPter, MSX-to-CPC I/O hardware interface (MSX ports #00-#ff) Lesen Schreiben
#FF20 - #FF27 %11111111 00100xxx MP3MSX (MP3 Player) via AMSDAP Lesen Schreiben
#FF20 - #FF27 %11111111 00100xxx SE-ONE (MP3 Player, FM radio Empfänger, USB master interface) via AMSDAP Lesen Schreiben
#FF60 - #FF6F %11111111 0110xxxx CPC V9990 Power Graph Lesen Schreiben
#FFXX %11111111 xxxxxxxx CPC Booster (XX=#00..#28 are used now) Lesen Schreiben
#FFXX %11111111 xxxxxxxx Amdrum (unsigned 8 Bit DAC) - Schreiben
#FFE6 ? Port B - IDE8255 Lesen Schreiben
#FFE7 ? RS Port - IDE8255 Lesen Schreiben

Memory Mapped I/O Portadressen

Mem Decoded as Port Lesen Schreiben
#4000-7FFF %01xxxxxx xxxxxxxx ASIC - CPC+/GX4000 Register Lesen Schreiben
#C00? %11000000 0000000x Dobbertin Smart Watch Data Lesen (A0=Data) Lesen -
#C00? %11000000 0000000x Dobbertin Smart Watch Data Schreiben (A0=Data) Lesen -

Weitere Portadressen

Schneiderware I/O Portadressen

Die Portadressen der Schneiderware Erweiterungen sind hier noch(!) nicht aufgeführt.

CPCISA Portadressen für ISA-Karten

Device PC I/O Bereich 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 Portadressen für ISA-Motherboard

Device PC I/O Bereich 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