I/O Port Reference

Port(s)SystemDeviceAccessDescription
0000-001FPC/XT/ATDMADMA Controller 1 - Intel 8237
0000PC/XT/ATDMAr/wDMA channel 0 address
0001PC/XT/ATDMAr/wDMA channel 0 word count
0002PC/XT/ATDMAr/wDMA channel 1 address
0003PC/XT/ATDMAr/wDMA channel 1 word count
0004PC/XT/ATDMAr/wDMA channel 2 address
0005PC/XT/ATDMAr/wDMA channel 2 word count
0006PC/XT/ATDMAr/wDMA channel 3 address
0007PC/XT/ATDMAr/wDMA channel 3 word count
0008PC/XT/ATDMArDMA channel 0-3 status
0008PC/XT/ATDMAwDMA channel 0-3 command register
0009PC/XT/ATDMAwDMA write request register
000APC/XT/ATDMAr/wDMA channel 0-3 mask register
000BPC/XT/ATDMAwDMA channel 0-3 mode register
000CPC/XT/ATDMAwDMA clear byte pointer flip-flop
000DPC/XT/ATDMArDMA read temporary register
000DPC/XT/ATDMAwDMA master clear
000EPC/XT/ATDMAwDMA clear mask register
000FPC/XT/ATDMAwDMA write mask register
0020-003FPC/XT/ATPICPIC 1 - Programmable Interrupt Controller - Intel 8259
0020PC/XT/ATPICwPIC Initialization command word ICW1
0021PC/XT/ATPICwPIC ICW2,ICW3,ICW4 after ICW1 to 0020
0021PC/XT/ATPICr/wPIC master interrupt mask register
0020PC/XT/ATPICrPIC interrupt request/in-service registers by OCW3
0040-005FPC/XT/ATPITPIT - Programmable Interrupt Timer - Intel 8253 or 8254
0040PC/XT/ATPITr/wPIT counter 0, counter divisor
0041PC/XT/ATPITr/wPIT counter 1, RAM refresh counter (XT, AT)
0042PC/XT/ATPITr/wPIT counter 2, cassette & speaker (XT, AT, PS/2)
0043PC/XT/ATPITr/wPIT mode register for counters 0-2
0060-006FPC/XTPPIr/wPPI - Programmable Peripheral Interface - Intel 8255
0060-006FATKBDKeyboard microcontroller - 804x (8041, 8042)
0060PC/XTPPIrPPI Port A
0061ATKBDwKeyboard microcontroller
0061PC/XTPPIrPPI Port B
0062PC/XTPPIr/wPPI Port C
0063PC/XTPPIr/wPPI Command Port
0070-007FPC/XT/ATRTCCMOS RAM/RTC (Real Time Clock MC146818)
0080-008FPC/XT/ATDMADMA page registers (74612)
0080PC/XT/ATDMAr/wextra page register (temporary storage)
0081PC/XT/ATDMAr/wDMA channel 2 address byte 2
0082PC/XT/ATDMAr/wDMA channel 3 address byte 2
0083PC/XT/ATDMAr/wDMA channel 1 address byte 2
0084DMAr/wextra page register
0085DMAr/wextra page register
0086DMAr/wextra page register
0087DMAr/wDMA channel 0 address byte 2
0088DMAr/wextra page register
0089DMAr/wDMA channel 6 address byte 2
0089DMAr/wDMA channel 7 address byte 2
0089DMAr/wDMA channel 5 address byte 2
008CDMAr/wextra page register
008DDMAr/wextra page register
008EDMAr/wextra page register
008FDMAr/wDMA refresh page register
00A0-00AFATPICPIC 2 - Programmable Interrupt Controller - Intel 8259
00A0XTNMIr/wNMI mask register (XT)
00C0PCjr/TandySN746496 programmable tone/noise generator
00C0-00DFATDMADMA 2 - Direct Memory Access controller - Intel 8237
00F0-00F5PCjrFDCPCjr Disk Controller
00F0PCjrFDCdisk controller
00F2PCjrFDCdisk controller control port
00F4PCjrFDCdisk controller status register
00F5PCjrFDCdisk controller data port
00F0-00FFATFPUFPU - Math Coprocessor (80287..80387)
00F0ATFPUwMath coprocessor clear busy latch
00F1ATFPUwMath coprocessor reset
00F8ATFPUr/wMath coprocessor opcode transfer
00FAATFPUr/wMath coprocessor opcode transfer
0140-0157PC/XT/ATRTCRTC (alternate Real Time Clock for XT) (1st at 0340-0357)
0200-020FPC/XT/ATGame PortGame port
0201PC/XT/ATGame PortrRead joystick position and status
0210-0217XTExpansionExpansion unit (XT)
0210XTExpansionwlatch expansion bus data
0211XTExpansionwclear wait, test latch
0212XTExpansionrLow byte data address
0213XTExpansionw0=enable, 1=disable expansion unit
0214XTExpansionwlatch data (receiver card port)
0215XTExpansionrHigh byte of address, then Low byte (receiver card port)
0220-0223PC/XT/ATSoundSound Blaster / Adlib port
0220PC/XT/ATSoundr/wLeft speaker – Status / Address port
0221PC/XT/ATSoundwLeft speaker – Data port
0222PC/XT/ATSoundr/wRight speaker – Status / Address port
0223PC/XT/ATSoundwRight speaker – Data port
0220-0227PC/XT/ATSoundSoundblaster PRO and SSB 16 ASP
0220-022FPC/XT/ATSoundSoundblaster PRO 2.0
0220-022FPC/XT/ATSoundSoundblaster PRO 4.0
0220PC/XT/ATSoundrleft FM status port
0220PC/XT/ATSoundwleft FM music register address port (index)
0221PC/XT/ATSoundr/wleft FM music data port
0222PC/XT/ATSoundrright FM status port
0222PC/XT/ATSoundwright FM music register address port (index)
0223PC/XT/ATSoundr/wright FM music data port
0224PC/XT/ATSoundwmixer register address port (index)
0225PC/XT/ATSoundr/wmixer data port
0226PC/XT/ATSoundwDSP reset
0228PC/XT/ATSoundrFM music status port
0228PC/XT/ATSoundwFM music register address port (index)
0229PC/XT/ATSoundwFM music data port
022APC/XT/ATSoundrDSP read data (voice I/O and Midi)
022CPC/XT/ATSoundwDSP write data / write command
022CPC/XT/ATSoundrDSP write buffer status (bit 7)
022EPC/XT/ATSoundrDSP data available status (bit 7)
0240-024FPC/XT/ATSoundGravis UltraSound
0240-0257AT/XTRTCRTC (alternate Real Time Clock for XT) (1st at 0340-0357)
0258-025FPC/XT/ATMemoryIntel Above Board
0278-027EPC/XT/ATParallelParallel printer port, same as 0378 and 03BC
0278PC/XT/ATParallelwdata port
0279PC/XT/ATParallelr/wstatus port
027APC/XT/ATParallelr/wcontrol port
02A2-02A3PC/XT/ATRTCMSM58321RS clock
02B0-02DFATVideoAlternate EGA IO addresss (Primary at 3BX) - Basically unused
02E0-02EFPC/XT/ATGPIBGPIB (General Purpose Interface Bus, IEEE 488 interface)
02E1PC/XT/ATGPIBGPIB (adapter 0)
02E0-02EFATGPIBdata aquisition (AT)
02E2PC/XT/ATGPIBdata aquisition (adapter 0)
02E3PC/XT/ATGPIBdata aquisition (adapter 0)
02E8-02EFPC/XT/ATVideo8514/A and compatible video cards
02F8-02FFPC/XT/ATSerialSerial port, same as 02E8, 03E8 and 03F8
02F8PC/XT/ATSerialwtransmitter holding register
02F8PC/XT/ATSerialrreceiver buffer register
02F9PC/XT/ATSerialr/wdivisor latch, high byte when DLAB=1
02FAPC/XT/ATSerialrinterrupt identification register
02FBPC/XT/ATSerialr/wline control register
02FCPC/XT/ATSerialr/wmodem control register
02FDPC/XT/ATSerialrline status register
02FFPC/XT/ATSerialr/wscratch register
0300ATDiagAward BIOS - POST Diagnostic
0300-0301PC/XT/ATSoundSoundblaster 16 ASP MPU-Midi
0320-0323XTHDCXT Hard Disk Controller 1
0320PC/XT/ATHDCr/wdata register
0321PC/XT/ATHDCwreset controller
0322XTHDCrread DIPswitch setting on XT controller card
0323PC/XT/ATHDCwwrite pattern to DMA and INT mask register
0324-0327XTHDCXT Hard Disk Controller 2
0328-032BXTHDCXT Hard Disk Controller 3
032C-032FXTHDCXT Hard Disk Controller 4
0330-0331PC/XT/ATSoundMIDI interface
0338PC/XT/ATSoundAdLib FM Synthesis Card
0340-034FPC/XT/ATSoundGravis UltraSound (DIP option)
0340-0357PC/XTRTCRTC (1st Real Time Clock for XT), (alternate at 0240-0257)
0348-0357PC/XT/ATDCA 3278
034C-034FPC/XT/ATSoundGravis UltraMax (DIP Option)
0360-036FAT/XTPC network (AT)
0360-0367XTPC network (XT only)
0370-0377ATFDCFDC 2 (2nd Floppy Disk Controller) first FDC at 03F0
0370FDCrdiskette Extra High Density controller board jumpers (AT)
0372FDCwdiskette controller DOR (Digital Output Register)
0374FDCrdiskette controller main status register
0374FDCwdiskette controller datarate select register
0375FDCr/wdiskette controller command/data register
0376FDCr/w(2nd FIXED disk controller data register)
0377FDCrdiskette controller DIR (Digital Input Register)
0377FDCwselect register for diskette data transfer rate
0378-037APC/XT/ATParallelParallel printer port (LPT1) - See also 0278 and 03BC
0378Parallelwdata port
0379Parallelr/wstatus port
037AParallelr/wcontrol port
0388-0389PC/XT/ATSoundSound Blaster / Adlib port
0388PC/XT/ATSoundr/wBoth Speakers – Status / Address port
0389PC/XT/ATSoundwData port
03B0-03BFPC/XT/ATVideoMDA (Monochrome Display Adapter based on 6845)
03B0PC/XT/ATVideosame as 03B4
03B1PC/XT/ATVideosame as 03B5
03B2PC/XT/ATVideosame as 03B4
03B3PC/XT/ATVideosame as 03B5
03B4PC/XT/ATVideowMDA CRTC index register
03B5PC/XT/ATVideor/wMDA CRTC data register
03B6PC/XT/ATVideosame as 03B4
03B7PC/XT/ATVideosame as 03B5
03B8PC/XT/ATVideor/wMDA mode control register
03B9PC/XT/ATVideoreserved for color select register on color adapter
03BAPC/XT/ATVideorCRT status register EGA/VGA: input status 1 register
03BAPC/XT/ATVideowEGA/VGA feature control register
03BBPC/XT/ATVideoreserved for light pen strobe reset
03BC-03BFPC/XT/ATVideoParallel printer port, same as 0278 and 0378
03BCPC/XT/ATVideowdata port
03BDPC/XT/ATVideor/wstatus port
03BEPC/XT/ATVideor/wcontrol port
03BFVideor/wHercules configuration switch register
03C0-03CFVideoEGA (1st Enhanced Graphics Adapter) alternate at 02C0
03C0Video(r)/w EGA VGA ATC index/data register
03C1VideorVGA other attribute register
03C2VideorEGA VGA input status 0 register
03C3Videor/wVGA video subsystem enable (see also port 46E8h)
03C4VideowEGA TS index register
03C5VideowEGA TS data register
03C6Videor/wVGA PEL mask register
03C7Videor/wVGA PEL address read mode
03C8Videor/wVGA PEL address write mode
03C9Videor/wVGA PEL data register
03CAVideowEGA graphics 2 position register
03CCVideowEGA graphics 1 position register
03CEVideowEGA GDC index register
03CFVideowEGA GDC data register
03D0-03DFVideoCGA (Color Graphics Adapter)
03D0Videosame as 03D4
03D1Videosame as 03D5
03D2Videosame as 03D4
03D3Videosame as 03D5
03D4VideowCRTC (6845) index register (EGA/VGA)
03D5VideowCRTC (6845) data register (EGA/VGA)
03D6Videosame as 03D4
03D7Videosame as 03D5
03D8Videor/wCGA mode control register (except PCjr)
03D9Videor/wCGA palette register
03DAVideorCGA status register
03DAVideorEGA/VGA input status 1 register
03DAVideowEGA/VGA feature control register
03DBVideowclear light pen latch
03DCVideor/wpreset light pen latch
03DFPCjrSystemCRT/CPU page register (PCjr only)
03E8-03EFPC/XT/ATSerialserial port, same as 02E8, 02F8 and 03F8
03F0-03F7ATFDCFDC 1 (1st Floppy Disk Controller) - second FDC at 0370
03F0PC/XT/ATFDCrdiskette EHD controller board jumper settings (82072AA)
03F2PC/XT/ATFDCwdiskette controller DOR (Digital Output Register)
03F3PC/XT/ATFDCtape drive register (on the 82077AA)
03F4PC/XT/ATFDCrdiskette controller main status register
03F4PC/XT/ATFDCwdiskette controller data rate select register
03F5PC/XT/ATFDCrdiskette command/data register 0 (ST0)
03F5PC/XT/ATFDCwdiskette command register
03F6PC/XT/ATFDCr/wFIXED disk controller data register
03F7PC/XT/ATFDCr/wharddisk controller
03F7AT/XTFDCrdiskette controller DIR (Digital Input Register, PC/AT mode)
03F7AT/XTFDCwconfiguration control register (PC/AT, PS/2)
03F8-03FFPC/XT/ATSerialSerial port (8250,8251,16450,16550,16550A,etc.)
03F8PC/XT/ATSerialwSerial port, transmitter holding register
03F9PC/XT/ATSerialr/wSerial port, divisor latch high byte when DLAB==1
03F9PC/XT/ATSerialr/wSerial port, interrupt enable register when DLAB==0
03FAPC/XT/ATSerialrSerial port, interrupt identification register
03FAPC/XT/ATSerialw16650 FCR (FIFO Control Register)
03FBPC/XT/ATSerialr/wline control register
03FCPC/XT/ATSerialr/wmodem control register
03FDPC/XT/ATSerialrline status register
03FEPC/XT/ATSerialrmodem status register
03FFPC/XT/ATSerialr/wscratch register
0530-0533PC/XT/ATSoundGravis UltraSound Daughter Card
0620-0627XTNetworkPC network (adapter 1)
0628-062FXTNetworkPC network (adapter 2)
0680PC/XT/ATSystemwMicrochannel POST Diagnostic
06E8-06EFPC/XT/ATVideo8514/A and compatible video cards
0746PC/XT/ATSoundGravis UltraSound
0800-08FFPC/XT/ATSystemI/O port access registers for extended CMOS RAM or SRAM
0A20-0A23PC/XT/ATNetworkToken Ring (adapter 1)
0A24-0A27PC/XT/ATNetworkToken Ring (adapter 2)
0AE8-0AEFPC/XT/ATVideo8514/A and compatible video cards
0EE8-0EEFPC/XT/ATVideo8514/A and compatible video cards
12E8-12EFPC/XT/ATVideo8514/A and compatible video cards
16E8-16EFPC/XT/ATVideo8514/A and compatible video cards
1AE8-1AEFPC/XT/ATVideo8514/A and compatible video cards
1EE8-1EEFPC/XT/ATVideo8514/A and compatible video cards
2100-210FPC/XT/ATVideoIBM XGA (eXtended Graphics Adapter 8514/A) (first installed)
2110-217FPC/XT/ATVideosecondary XGA adapters
22E8-22EFPC/XT/ATVideo8514/A and compatible video cards
3220-3227PC/XT/ATSerialserial port 3, description same as 03F8
3228-322FPC/XT/ATSerialserial port 4, description same as 03F8
3540-354FPC/XT/ATSCSIIBM SCSI (Small Computer System Interface) adapter
3550-355FPC/XT/ATSCSIIBM SCSI (Small Computer System Interface) adapter
3560-356FPC/XT/ATSCSIIBM SCSI (Small Computer System Interface) adapter
3570-357FPC/XT/ATSCSIIBM SCSI (Small Computer System Interface) adapter
4220-4227PC/XT/ATSerialserial port, description same as 03F8
4228-422FPC/XT/ATSerialserial port, description same as 03F8
42E0-42EFPC/XT/ATGPIBGPIB (General Purpose Interface Bus, IEEE 488 interface)
46E8PC/XT/ATVideoVGA video adapter enable
4AE8-4AEFPC/XT/ATVideo8514/A and compatible video cards
5220-5227PC/XT/ATSerialserial port, description same as 03F8
5228-522FPC/XT/ATSerialserial port, description same as 03F8
62E0-62EFPC/XT/ATGPIBGPIB (General Purpose Interface Bus, IEEE 488 interface)
82E0-82EFPC/XT/ATGPIBGPIB (General Purpose Interface Bus, IEEE 488 interface)
82E8-82EFPC/XT/ATVideo8514/A and compatible video cards
8AE8-8AEFPC/XT/ATVideo8514/A and compatible video cards
8EE8-8EEFPC/XT/ATVideo8514/A and compatible video cards
92E8-92EFPC/XT/ATVideo8514/A and compatible video cards
96E8-96EFPC/XT/ATVideo8514/A and compatible video cards
A2E0-A2EFPC/XT/ATGPIBGPIB (General Purpose Interface Bus, IEEE 488 interface)
A2E8-A2EFPC/XT/ATVideo8514/A and compatible video cards
A6E8-A6EFPC/XT/ATVideo8514/A and compatible video cards
AAE8-AAEFPC/XT/ATVideo8514/A and compatible video cards
AEE8-AEEFPC/XT/ATVideo8514/A and compatible video cards
B220-B227PC/XT/ATSerialserial port, description same as 03F8
B228-B22FPC/XT/ATSerialserial port, description same as 03F8
B2E8-B2EFPC/XT/ATVideo8514/A and compatible video cards
B6E8-B6EFPC/XT/ATVideo8514/A and compatible video cards
BAE8-BAEFPC/XT/ATVideo8514/A and compatible video cards
BEE8-BEEFPC/XT/ATVideo8514/A and compatible video cards
C220-C227PC/XT/ATSerialserial port, description same as 03F8
C228-C22FPC/XT/ATSerialserial port, description same as 03F8
C2E0-C2EFPC/XT/ATGPIBGPIB (General Purpose Interface Bus, IEEE 488 interface)
D220-D227PC/XT/ATSerialserial port, description same as 03F8
D228-D22FPC/XT/ATSerialserial port, description same as 03F8
E2E0-E2EFPC/XT/ATGPIBGPIB (General Purpose Interface Bus, IEEE 488 interface)
E2E8-E2EFPC/XT/ATVideo8514/A and compatible video cards

Primary Emulation Resources