5. I/O Devices

It is vital to set up the I/O devices in software as part of the initialisation sequence. If this is not done the board will not function correctly. The SCPC88 BIOS EPROM will handle this. See Section 7 for information on how to do this.

There are two types of I/O devices which the 8088 can access.

5.1. I/O boards on the STEbus

The STEbus is requested for an I/O access from 200H to 0FFFH. This selection is automatic, and the programmer should locate boards at the standard PC-compatible I/O addresses shown in the table below.

STEbus I/O
address
Board
resident
PC-compatible function
200 - 20F Game control interface
210 - 217 Expansion unit
278 - 27F  Parallel printer port 2
2B0 - 2DF Alternate EGA
2F8 - 2FFSPCOMSerial port 2
300 - 31F Prototyping board
320 - 32F Hard disk controller
378 - 37FSPCOMParallel printer port 1
380 - 38C SLDC Serial RS232 port or BSC controller 2
390 - 393 Cluster controller
3A0 - 3AF BSC controller 1
3B0 - 3BBSPEGAMDA (Monochrome Display Adapter)
3BC - 3BFSPCOM Printer port of MDA
3C0 - 3CFSPEGAEGA (Enhanced Graphics Adapter)
3D0 - 3DFSPEGACGA (Colour Graphics Adapter)
3F0 - 3F7SPDCFDC (Floppy Disk Controller)
3F8 - 3FFSPCOMSerial port 1

Note that a single (primary) SPCOM can be accessed at a choice of addresses, from , 378, and 278 to perform as the printer interfaces of the PC or MDA.

5.2. The FE2010A on-chip peripherals (interrupt controller, timer, DMA etc)

These integrated peripherals appear from 000H to 200H. These will be set up by the BIOS EPROM, and should not normally be changed.

I/O addressbitI/O register
0000 to 000FDMA controller (Intel 8237 compatible)
0010 to 0021Interrupt controller (Intel 8259 compatible)
0040 to 0043Timer (Intel 8253 compatible)
0060Keyboard data register
0061Keyboard control register
0Gate speaker timer channel
1Gate speaker data
2Switch register select
3Not used
4Disable parity check
5Disable IO check
6Enable keyboard clock
7Clear keyboard data register
0062 Switch register
(Write)0Not used
18087 installed
2System memory
3
4Unwriteable
5
6Number of floppy disk drives
7
(Read)If control bit 2 set:If control bit 2 clear:
0Not usedVideo display selection
18087 installedlinks
2System memoryNumber of floppy disk drives
3
4Timer 2 output
5Timer 2 output
6I/O check
7Parity error
0063 (write only) Configuration register
0Disable parity
18087 present
2One bank of 256k DRAMs onboard
3Lock register (switch register unwritable)
4-7Not used
0081 DMA channel 2 page registers
0-3A16-19
4-7Not used
0082 DMA channel 3 page registers
0083 DMA channel 1 page registers
00A0 NMI mask register
0-6Not used
7Enable NMI
0100 to 01FF Reserved

Note that programming the FE2010A is not a trivial task. More detailed information on how to do this may be found in the Faraday FE2010A data book, and the Intel 8253, 8237, and 8259 data books.