Changes

Jump to: navigation, search

I/O Port Summary

17,912 bytes added, 15 April
/* More Ports */
The This is a list of all known I/O ports of the Amstrad CPC (copied , including all [[Peripherals]]. For a list showing only the built-in standard addresses see [[Default I/O Port Summary]]. The original list of I/O ports was taken from the [[FutureOS]] manual)handbook.
<pre>== I/O Port Summary ==Note: While most of these devices can be reached via a range of addresses due to the partial address decoding, code should never use any address other than the canonical one (all 'x'/don't care positions filled by 1's). Otherwise multiple devices will be enabled simultaneously, which is unlikely to be what you want. {|{{Prettytable|width: 700px; font-size: 2em;}}|'''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||%0xxxx000 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write|-|#79XX||%0xxxx001 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write|-|#7AXX||%0xxxx010 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write|-|#7BXX||%0xxxx011 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write|-|#7CXX||%0xxxx100 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write|-|#7CXX||%0xxxxx00 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 0 (extended "Gate Array 3")||Read||Write|-|#7DXX||%0xxxx101 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write|-|#7DXX||%0xxxxx01 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 1 (extended "Gate Array 3")||Read||Write|-|#7EXX||%0xxxx110 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write|-|#7EXX||%0xxxxx10 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 2 (extended "Gate Array 3")||Read||Write |- |#7EXX||%0xxxxxx0 xxxxxxxx||[[Y-MEM]] 512K RAM Expansion part||Read||Write |-|#7FXX : ||%0xxxx111 xxxxxxxx||[[CPC4MB|4Mb Memory extension]]||-||Write|-|#7FXX||%0xxxxx11 xxxxxxxx||[[Aleste 520EX]] RAM Mapper page 3 (extended "Gate Array write / 3")||Read||Write||#7FXX||%0xxxxxx1 xxxxxxxx||[[X-MEM]] 512K RAM Expansion part||Read||Write|-|#7FXX||?||[[Dk'tronics memory expansion]]||-||Write|-|#7FXX||?||[[Dobbertin Memory Expansion]]||-||Write|-|#7FXX||%01xxxxxx xxxxxxxx||[[Gate Array]]||-||Write|-|#7FXX||%0xxxxxxx xxxxxxxx||[[PAL16L8]] extension to [[Gate Array]] for 128K RAM banking||-||Write|-|#BCXX : ||%x0xxxx00 xxxxxxxx||6845 [[CRTC Address]] Index|| -Register write / ||Write|-|#BDXX : ||%x0xxxx01 xxxxxxxx||6845 [[CRTC ]] DataOut|| -Register write / ||Write|-|#BEXX : ||%x0xxxx10 xxxxxxxx||6845 [[CRTC ]] Status(as far as supported)||Read|| -Register |- / read|#BFXX : ||%x0xxxx11 xxxxxxxx||6845 [[CRTC Video]] Data In (as far as supported)||Read|| -Address|-Register - / read|#DFXX : select ||%xx0xxxxx xxxxxxxx||[[Upper ROM write 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 write ]])|| 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 write / read([[PSG]] Data)||Read||Write|-|#F5XX : ||%xxxx0x01 xxxxxxxx||[[8255 ]] PIO Port B (Vsync,[[Printer Port|PrnBusy]],Tape,etc.)||Read|| - / read|-|#F6XX : ||%xxxx0x10 xxxxxxxx||[[8255 ]] PIO Port C write / (KeybRow,Tape,[[PSG]] Control)|| -||Write|-|#F7XX : ||%xxxx0x11 xxxxxxxx||[[8255 ]] PIO Control-Register write / || -||Write|-|#F880-#F88F||%1111100x 1000xxxx||[[PlayCity]] Expansion CTC channels and YMZ data|| - || Write |-|#F890-#F89F||%1111100x 1--1xxxx||[[MultiPlay]] Expansion (mirror port, use #F9xx)|| Read || - |-|#F8A0-#F8AF||%11111000 1010xxxx||[[X-CPC]] ClockPort RTC|| Read || Write |-|#F8B0 : ||?||[[VIDI digitizer|Vidi-CPC Video-Digitiser ? / ]], CRTC Index||?||Write|-|#F8B1 : ||?||[[VIDI digitizer|Vidi-CPC Video-Digitiser ]], CRTC Data||? ||Write|-|#F8DC||?||[[CPCI RS232 Interface|CPCI Serial Interface]] MC6850 Control/ Status||Read||Write|-|#F8DD||?||[[CPCI RS232 Interface|CPCI Serial Interface]] MC6850 Data||Read||Write|-|#F8E0 : ||?||[[DHCP MIDI Interface]]||Read||Write|-|#F8E0||%11111000 11100000||[[Schneider RS232 Interface]] Z80 -STI Indirect Data Register write / read||Read||Write|-|#F8E1 : ||%11111000 11100001||[[Schneider RS232 Interface]] Z80 -STI Gen. General Purpose I/O Data Register||Read||Write|-|#F8E2||%11111000 11100010||[[Schneider RS232 Interface]] Z80-STI Interrupt write / readPending Register B (unused)||Read||Write|-|#F8E2||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||?||?|-|#F8E3||%11111000 11100011||[[Schneider RS232 Interface]] Z80-STI Interrupt Pending Register A (unused)||Read||Write|-|#F8E3||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||?||?|-|#F8E4||%11111000 11100100||[[Schneider RS232 Interface]] Z80-STI Interrupt in-Service Register B (unused)||Read||Write|-|#F8E4||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003]]||?||?|-|#F8E5||%11111000 11100101||[[Schneider RS232 Interface]] Z80-STI Interrupt in-Service Register A (unused)||Read||Write|-|#F8E6||%11111000 11100110||[[Schneider RS232 Interface]] Z80-STI Interrupt Mask Register B (unused)||Read||Write|-|#F8E6||?||Port A - [[IDE8255]]||?||?|-|#F8E7||%11111000 11100111||[[Schneider RS232 Interface]] Z80-STI Interrupt Mask Register A (unused)||Read||Write|-|#F8E7||?||Port C - [[IDE8255]]||?||?|-|#F8E8 : ||%11111000 11101000||[[Schneider RS232 Interface]] Z80 -STI Pointer Indirect Index and Interrupt Vector Register write / read||Read||Write|-|#F8E8||?||[[Music Machine]] Interrupt Sel|| - ||Write|-|#F8E9||%11111000 11101001||[[Schneider RS232 Interface]] Z80-STI Timers A and B Control Register (unused)||Read||Write|-|#F8EA||%11111000 11101010||[[Schneider RS232 Interface]] Z80-STI Timer B Data Register (unused)||Read||Write|-|#F8EB||%11111000 11101011||[[Schneider RS232 Interface]] Z80-STI Timer A Data Register (unused)||Read||Write|-|#F8EC : ||%11111000 11101100||[[Schneider RS232 Interface]] Z80 -STI USART Control Register write / read||Read||Write|-|#F8EC||?||[[Music Machine]] ACIA Control|| - ||Write|-|#F8ED : ||?||[[Music Machine]] ACIA Data Write|| - || Write|-|#F8ED||%11111000 11101101||[[Schneider RS232 Interface]] Z80 -STI Receiver Status Register write / read||Read||Write|-|#F8EE : ||?||[[Music Machine]] ACIA Status||Read|| - |-|#F8EE||%11111000 11101110||[[Schneider RS232 Interface]] Z80 -STI Transmitter Status Register write / read||Read||Write|-|#F8EF : ||%11111000 11101111||[[Schneider RS232 Interface]] Z80 -STI USART Data Register write / read||Read||Write|-|#F8E2F8EF||?||[[Music Machine]] ACIA Data Read||Read|| -|-|#F8E4 : Dobbertin Eprommer 4003 F8FX||%xxxxx0xx 1111NNNx||[[Maplins 8bit Input Port]] and [[Maplins Weather Satellite Receiver]]||Read|| -|-|#F8F0||? / ||[[Music Machine]] DAC Write|| - ||Write|-|#F8F2||?||[[EMR MIDI Interface]]|| - ||Write|-|#F8F2 : ||?||[[Universeller EPROM Programmer 4004|Dobbertin Eprommer 4003 ]]||Read||Write|-|-|#F8F2||? / ||[[EMR MIDI Interface]]||Read||Write|-|#F8F4||?||[[Music Machine]] ADC Read||Read|| -  |-|#F8F5||?||[[ARA Video Digitizer]] - Read Sync Signal (bit0)||Read|| - |-|#F8F8||?||[[Music Machine]] ADC Start|| - ||Write|-|#F8F8||?||[[ANTA 64K Memory Expansion]] ANTA 64k.3 latch||Read||Write|-|#F8FE||%11111000 11111110||[[Z-MEM]] Software Memory Configuration|| - || Write|-|#F8FF||%1111100x 111xxxxx||[[CPCISA|CPCISA control port]]|| - ||Write|-|#F8FF||%xxxxx0xx 111111xx||[[Peripheral Soft Reset]] (MC_BOOT_PROGRAM and MC_START_PROGRAM do OUT [F8FF],FF)|| - ||Write|-|#F980-#F98F||%1111100x 1000xxxx||[[PlayCity]] Expansion CTC channels (mirror) and YMZ registers|| - || Write|-|#F990-#F99F||%1111100x 1--1xxxx||[[MultiPlay]] Expansion|| Read || - |-|#F9A0-#F9AF||%11111001 1010xxxx||[[X-CPC]] ClockPort SPR|| Read || Write |-|#F9B0 : ||?||[[VIDI digitizer|Vidi-CPC Video-Digitiser ]], Config (W) and Capture Data (R)||Read||Write|-|#F9D0||%11111000 11010000||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] SwinSID1 + SwinSID2 DATA (MONO Mode / 3 Channels)||-||Write|-|#F9D1||%11111000 11010001||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] SwinSID1 (LEFT) DATA (STEREO Mode / 6 Channels)||-||Write|-|#F9D2||%11111000 11010010||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] SwinSID2 (RIGHT) DATA (STEREO Mode / 6 Channels)||-||Write|-|#F9DC||? ||[[Panda Electronics Communications Interface Unit]] PPI Port A - 8bit Printer data||Read||Write|-|#F9DD||?||[[Panda Electronics Communications Interface Unit]] PPI Port B - 8bit general purpose I/ O port||Read||Write|-|#F9DE||?||[[Panda Electronics Communications Interface Unit]] PPI Port C - Handshake (bit0=Strobe.out, Bit5=Busy.in)||Read||Write|-|#F9DF||?||[[Panda Electronics Communications Interface Unit]] PPI Control - 8bit Printer data|| - ||Write|-|#F9E6||?||Port B - [[IDE8255]]||?||?|-|#F9E7||?||RS Port - [[IDE8255]]||?||?|-|#F9F5||?||[[ARA Video Digitizer]] - Reset 10bit Config Value|| - ||Write|-|#F9F7||?||[[Grafpad II|Hegotron grafpad II]]||?||?|-|#F9FC-#F9FE : ||?||[[Otten & Fecht 1 MB RAM-Disc ]]||Read||Write|-|#F9FF||? / ||[[Grafpad II|Hegotron grafpad II]]||?||?|-|#FA7E : ||%xxxxx0x0 0xxxxxxx||Floppy Motor Control write / (for [[765 FDC]])|| -||Write|-|#FADC 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|-|#FAD0||%11111010 11010000||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] Select SID (1&2) Register MONO mode||-||Write|-|#FAD1||%11111010 11010001||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] Select SID1 Register||-||Write|-|#FAD2||%11111010 11010010||[[Sid|SwinSID part of SONIQUE Sound Board WIP]] by [[User:DaDMaN|DaDMaN]] Select SID2 Register||-||Write|-|#FADC||?||[[Amstrad Serial Interface]] Z80-SIO / DART port A Data Register write / read||Read||Write|-|#FADC||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8251 USART data|| Read || Write|-|#FADD : ||?||[[Amstrad Serial Interface]] Z80-SIO / DART port A Control Reg. write ||Read||Write|-|#FADD||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8251 USART control/ readstatus|| Read || Write|-|#FADE : ||?||[[Amstrad Serial Interface]] Z80-SIO / DART port B Data Register write / read||Read||Write|-|#FADF : ||?||[[Amstrad Serial Interface]] Z80-SIO / DART port B Control Reg. write / read||Read||Write|-|#FADF||?||[[Cirkit serial interface]] 8251 UART data register||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||%xxxxx0x0 xxx0xxxx||[[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|| - / read|-|#FB7F : ||%xxxxx0x1 0xxxxxx1||[[765 FDC ]] (internal) Data Register write / read||Read||Write|-|#FBBD||%xxxxx0xx x0xxxx0x||Ram select mode [[Vortex Expansions RAM card|Vortex SP512]]||?||Write |-|#FBDC : ||?||[[Amstrad Serial Interface]] 8253 Timer counter 0 write / read||Read||Write|-|#FBDC||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 0 (transmit baudrate)|| Read || Write|-|#FBDD : ||?||[[Amstrad Serial Interface]] 8253 Timer counter 1 write / read||Read||Write|-|#FBDD||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 1 (receive baudrate)|| Read || Write|-|#FBDE : ||?||[[Amstrad Serial Interface]] 8253 Timer counter 2 write / read||Read||Write|-|#FBDE||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 2 (used as 1ms timer)|| Read || Write|-|#FBDF : ||?||[[Amstrad Serial Interface]] 8253 Timer Modus Select write || - ||Write|-|#FBDF||?||[[RS-232 para Amstrad|MHT Ingenieros RS232 para Amstrad]] 8253 timer 0-2 control|| - || Write|-|#FBDF||?||[[Cirkit serial interface]] 8251 UART status/ control register||Read||Write|-|#FBxx+0||?||CPCI [[Real Time Clock]] Index (DIY)||-||Write|-|#FBxx+1||?||CPCI [[Real Time Clock]] Data (DIY)||Read||Write|-|#FBE0 : Hard Disc ||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port A Data (HD146818P RTC Data bus)|| Read || Write|-|#FBE0||?||[[Dobbertin Harddisc]] Data Port write ||Read||Write|-|#FBE1||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port B Data (General Purpose 8bit I/ readO Port)|| Read || Write|-|#FBE1 : Hard Disc ||?||[[Dobbertin Harddisc]] Status, Reset write / read||Read||Write|-|#FBE2 : Hard Disc ||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port A Control||?|| Write|-|#FBE2||?||[[Dobbertin Harddisc]] Select, Configuration write / read||Read||Write|-|#FBE3 : Hard Disc ||?||[[Dk'tronics Real Time Clock]] - Z80 PIO Port B Control||?|| Write|-|#FBE3||?||[[Dobbertin Harddisc]] DMA, Interrupt write / read||Read||Write|-|#FBE4 : Hard Disc ||?||[[Dobbertin Harddisc]] Reset write / read||Read||Write|-|#FBE0FBE6||?||Port B -[[IDE8255]]||?||?|-|#FBE3 : dk'tronics RTC. FBE7||? / ||RS Port - [[IDE8255]]||?||?&|-|#FBE7||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Data In/Out Port A ||Read||Write |-|#FBE8 : dk||?||[[Dk'tronics RTC. Real Time Clock]] "4bit latch" (details unknown)|| ? || Write|-|#FBE8||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer0 (RX Clock)||Read||Write|-|#FBE9||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer1 (TX Clock)||Read||Write|-|#FBEA||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer2 (not used)||Read||Write|-|#FBEB||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 8253 Timer Control||-||Write|-|#FBEC||?||[[KDS_Electronics_Serial_Interface|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_Electronics_Serial_Interface|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 : SSA1 dk'tronics ||?||[[PDS development system]] Z80 PIO Port A Control||?||Write|-|#FBEE||?||[[Amstrad SSA-1 SpeechSynthesizer]]||Read||Write|-Module write |#FBEE||%xxxxx0x1 xxx0xxx0||[[Kempston Mouse]] - 8bit X position||Read||-|-|#FBEE||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) Status||Read||-|-|#FBEF||?||[[PDS development system]] Z80 PIO Port B Control||?||Write|-|#FBEF||%xxxxx0x1 xxx0xxx1||[[Kempston Mouse]] - 8bit Y position||Read||-|-|#FBEF||?||[[KDS_Electronics_Serial_Interface|KDS RS232]] 6850 (reversed bit-order) RX Data||Read||-|-|#FBEF||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Data In/ readOut Port B ||Read||Write |-|#FBF0-#FBFF : ||?||[[Otten & Fecht 1 MB RAM-Disc ? ]]||Read||Write|-|#FBF0||%xxxx1011 1111xxxx||[[AMRAM2]]||-||Write|-|#FBF0||%xxxxx011 1111xxx0||[[AMSSIO]] Serial Interface MC6850 Control/ Status Register||Read||Write|-|#FBF1||%xxxxx011 1111xxx1||[[AMSSIO]] Serial Interface MC6850 Data Register||Read||Write|-|#FBF5||?||[[ARA Video Digitizer]] - Invoke Video Capture|| - ||Write|-|#FBF6 : ||?||[[Vortex Disc Drives]] 765 FDC (Vortex,ext) Status Register ||Read|| - / read|-|#FBF7 : ||?||[[Vortex Disc Drives]] 765 FDC (Vortex,ext) Data Register write ||Read||Write|-|#FBF7||?||[[ACU Real Time Clock (DIY)]] Z80-PIO Configure Port A ||Read||Write |-|#FBF8||%11111011 11111000||[[8bit Printer Port (Amstrad Action)]] Strobe/ readBusy||Read||Write |-|#FBF9||%11111011 11111001||[[8bit Printer Port (Amstrad Action)]] Data|| - ||Write |-|#FBFE||?||[[Amstrad Magnum Phaser|Magnum Light Phaser]]||-||Write|-|#FBFE||?||[[Dart Scanner for DMP-Printers]]||Read||?|-|#FBFE||?||[[Dk'tronics Speech Synthesizer]]||Read||Write|-|#FBFE||%xxxxxxxx 11111110||[[TMPI speech synthesizer]] Data Register ||||Write|-|#FBFF||%xxxxxxxx 11111111||[[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|CPCISA]] 16bits mode high byte latch||Read||Write|-|#FC00||?||[[M4 Board]] ACK/KICK|| - ||Write|-|#FC5C||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Baudrate Selection|| - ||Write|-|#FC7C||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel A Data||Read||Write|-|#FC7D||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel A Control/Status||Read||Write|-|#FC7E||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel B Data||Read||Write|-|#FC7F||?||[[Z80-SIO dual ports RS232 interface for CPC (French)|French DIY Dual Port RS232]] - Z80-SIO Channel B Control/Status||Read||Write|-|#FCE6||?||Port A - [[IDE8255]]||Read||Write|-|#FCE7||?||Port C - [[IDE8255]]||Read||Write|-|#FD00-#FD3F ||%11111101 00xxxxxx||[[Programming: SYMBiFACE_II|SYMBiFACE II write ]]||Read||Write|-|#FD08 - #FD0F||%11111101 00001xxx||[[X-Mass|X-MASS]] 2.5" 44-pin IDE interface / readDOM / CF adapter (SYMBiFACE II compatible)||Read||Write|-|#FEE8 FD40 - #FD4F||%11111101 0100xxxx||[[Programming: Multiface II SYMBiFACE_III|SYMBiFACE III]]||Read||Write|-|#FD80 - #FD87||%11111101 10000xxx||CPC-CPLink - FIFO Interface card for Co-processors, incl. Raspberry Pi ||Read||Write|-|#FDE6||? ||Port B - [[IDE8255]]||Read||Write|-|#FDE7||?||RS Port - [[IDE8255]]||Read||Write|-|#FE00||?||[[M4 Board]] Data|| - ||Write|-|#FE00 - #FFFF||%1111111x xxxxxxxx||[[CPCISA|CPCISA]] I/ O access (low byte)||Read||Write|-|#FE80 - #FE81||%11111110 1000000x||[[Albireo]] CH376 controller||Read||Write|-|#FE82||%11111110 10000010||[[Nova]] RTC & NVRAM|| - ||Write|-|#FE84 - #FEA7||%11111110 10xxx1xx||[http://shinra.cpcscene.net/willy.html Willy] Future use or multi-soundchip ||-||-|-|#FEAC - #FEAD||%11111110 101011xx||[http://shinra.cpcscene.net/willy.html Willy] S2P Dream SAM2965 MIDI synthetizer ||Read||Write|-|#FEB0 - #FEB7||%11111110 10110xxx||[[Albireo]] serial port||Read||Write|-|#FEBC - #FEBF||%11111110 101111xx||[http://shinra.cpcscene.net/willy.html Willy] OPL3 ||-||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|-|#FEF0 - #FEF7||%11111110 11110xxx||[[CPC-CompactFlash]] - IDE registers||Read||Write|-|#FEF0 - #FEF7||%11111110 11110xxx||[[uIDE 16]] - IDE registers||Read||Write|-|#FF00 - #FFFF||%11111111 xxxxxxxx||AMSDAP (Amstrad MSx aDAPter, MSX-to-CPC I/O hardware interface (MSX ports #00-#ff)||Read||Write|-|#FF20 - #FF27||%11111111 00100xxx||MP3MSX (MP3 player) via AMSDAP||Read||Write|-|#FF20 - #FF27||%11111111 00100xxx||SE-ONE (MP3 player, FM radio receiver, USB master interface) via AMSDAP||Read||Write|-|#FF60 - #FF6F||%11111111 0110xxxx||CPC [[V9990]] [[PowerGraph]] (upcoming graphic card based on the Graphics 9000 for the MSX)||Read||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|-|#FFxx FFE7||?||RS Port - [[IDE8255]]||Read||Write|-|} == Memory Mapped I/O Ports == {|{{Prettytable|width: 700px; font-size: 2em;}}|'''Mem'''||'''Decoded as'''||'''Port'''||'''Read'''||'''Write''' |-|#4000-7FFF||%01xxxxxx xxxxxxxx||[[ASIC]] - CPC Booster write +/ GX4000 registers|| Read || Write|-|#C00?||%11000000 0000000x||[[Dobbertin Smart Watch]] data read(A0=data)|| Read || -<|-|#C00?||%11000000 0000000x||[[Dobbertin Smart Watch]] data write (A0=data)|| Read || -|-|} == More Ports == Some more I/pre>O addresses (which aren't included in the above list) are here:* [[Schneiderware Summary]]* [[CPCISA]] == Other I/O Ports == 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, robots, audio devices, and simple network adapters. For a more complete list, see corresponding sections on [[Digital Joysticks|Digital Joystick]] and [[Printer Port]] pages. Aside from I/O addresses, there are some other important I/O signals, for example: [[NMI]] or [[External Interrupt|INT]]. [[Category:Programming]] [[Category:Stub]][[Category:CPC Internal Components]][[Category:Hardware]][[Category:Electronic Component]]
5,003
edits