BOARDS.PC(5)

NAME
boards.pc - information about AT- and XT-compatible boards for DOS windows

SYNOPSIS
/etc/dos/defaults/boards.pc

AVAILABILITY

Available only on Sun 386i systems running a SunOS 4.0.x release or earlier. Not a SunOS 4.1 release feature.

DESCRIPTION

The boards.pc file stores information about AT- and XT-compatible boards installed on a system.

Only the super-user may alter the file.

The file format is as follows, with entries separated by SPACE or TAB characters:

    Board-name	I/O port range	IRQ	DMA	Memory	  Options

Board-name
    The name of the board as it will appear in the DOS Windows Device menu. Use any name that is not longer than 19 characters.

I/O port range
    Most boards have I/O addresses through which they exchange information with the workstation. For boards that will be used by DOS, the I/O address is entered in the boards.pc file, directly to the right of the board name.

    Certain I/O addresses are already used by DOS Windows emulated devices (such as drive C and the DOS printers), and by built-in system hardware. The following list shows the AT-bus I/O address spaces:

    Address | DOS Use
    1F8-1FF * | Hard disk (C:) emulation
    218-21F | Expanded memory
    230-23F | Bus mouse emulation
    278-27F | Parallel port 2 (usually accessed through LPT3)
    378-37F * | Parallel port 1 (usually accessed through LPT2)
    3B0-3BF | Monochrome display adapter
    3D0-3DF | Color display adapter
    3F0-3F7 * | Diskette controller

    An address marked with an asterisk cannot be replaced by a board. When the board you are installing uses one of these addresses, or it uses the same address as another board that is already installed, change the jumpers or switch settings on your board to use a different address. If you add a board that occupies one of these address spaces, DOS ignores the entry. An address not marked with an asterisk may be used for a board you are installing, as long as you do not plan to use the emulated device at that address.

    Adding an I/O Address Entry to boards.pc:

    If the board uses addresses that can be contained within one eight-address block, note the block base address and include it in the I/O port range column of the boards.pc file. When using a multiple-block address, specify the base address of each block. For example, when entering a two-block address, specify the base addresses of both the first and second blocks, and separated with a SPACE character. Suppose you have a board with a two-block I/O address space that begins at 380. You would specify 380 388 in the boards.pc file's I/O port range column.

IRQ Some boards send periodic signals asking DOS to delay whatever it is doing and accept information from the device. These signals are known as interrupt requests, or more simply, as interrupts. The following chart shows the interrupt levels available under DOS Windows. Valid interrupt levels are 1 to 15, although some of these are reserved for emulated DOS devices.

    Interrupt
    Level	Availability

      0	Unavailable; used for timer emulation
      1	Unavailable; used for keyboard emulation
      2	Unavailable; used for interrupt controller 2 cascade
      3	Available for board, unless COM2 emulation in use
       	(specified in setup.pc)
      4	Available for board, unless COM1 emulation in use
       	(specified in setup.pc)
      5	Available for board, unless LPT3 emulation in use
       	(specified in setup.pc)
      6	Unavailable; used for diskette drive emulation
      7	Unavailable; used by built-in parallel port
      8	Unavailable; used for real-time clock emulation
      9	Available for board
     10	Available for board
     11	Available for board
     12	Available for board
     13	Unavailable; used for 8087 numeric coprocessor emulation
     14	Unavailable; used for hard disk emulation
     15	Available for board

    To ensure that signals do not become confused, set each board or emulated device that uses interrupts for a different interrupt level. Normally, interrupt settings are changed by pressing small switches or moving metal jumpers on the board itself. Consult the manual of the board you are installing for details on how this is done. In addition to the changes required on the board itself, make sure that the interrupt level in your boards.pc file matches the setting on the card. For example, if a board's physical interrupt was previously 3, and you change it to 4 by altering switch settings or board jumpers, make a corresponding change in the boards.pc file. If the card uses a DOS driver, you may also need to make changes in C: or other files to reflect the switch settings on the card.

    Adding an Interrupt Entry to boards.pc

    Some boards do not generate interrupts, and therefore will not have an interrupt level listed in their manuals. If this is the case, leave the IRQ column empty. For boards where an interrupt level is required, enter the letters irq followed by the appropriate number in the boards.pc file, as shown in EXAMPLES below.

DMA Certain boards use direct memory access (DMA) channels to ensure speedy transfer of large quantities of data. DMA channels 0, 1, 3, and 5 are available. Each DOS or SunOS DMA board on the system must be assigned a unique DMA channel. When two or more boards expect to use DMA channel 1, physically alter DMA settings on one of the boards so that it uses a different channel (such as DMA channel 3). Normally these settings are changed by pressing small switches or moving metal jumpers on the board itself. Consult the manual for the board you are installing for details on changing a DMA channel setting.

    Adding a DMA Entry to boards.pc

    When the board you are installing uses a DMA channel, include a dma entry for that board. For example, when the board is set up to use DMA channel 3, the entry can look like this:

    MYBOARD   200 208 irq 2 dma 3

Memory
    Some boards are equipped with memory chips for DOS. Because this memory is “mapped” (transferred) into DOS memory so that DOS can read it, the boards are called memory mapped boards. When you install such a board, include a mem entry with the following format:

    mem address size

    The address is the starting address of the memory segment, in hexadecimal notation. Enter the size of the memory block in kilobytes, in decimal notation. The following example is for a board that starts mapped memory at the address $DE00 and uses a block of 8 kilobytes.

    MYBOARD 258 irq 5 dma 3 mem de00 8

    When determining the size of the memory block, be careful not to confuse DOS address size (the number you should use) with actual on-board memory (the number you should not use). For example, a LIM memory board might have 2 megabytes of on-board memory, yet may require only 64 kilobytes of DOS address space for its memory mapping. Therefore, the number to use for the mem entry is 64.

Options

reboot
    Certain boards require DOS rebooting before they work. These same boards require that you reboot DOS after you have finished using them. You can set up DOS to reboot the current DOS window automatically whenever the board is attached. DOS displays a confirmatory alert before rebooting.

    To force DOS to reboot when you attach the board, add the word reboot at the end of the boards.pc line for that board, as shown in the following example:

    MYBOARD 3e8  mem a000 192  reboot

    If you choose to omit the reboot instruction, you can enable the board by attaching it and then manually rebooting:

    1.  Choose Attached from the Device menu to enable the board.
    2.  Choose Reboot DOS Window.

    To detach such a board from a DOS window, choose Detach and then reboot the DOS window.

shared
    You can specify that a device is to be shared between windows, rather than being reserved for use by one window at a time. Generally, you should do this only with devices, such as joysticks, which can fluidly move from one DOS window to another. To designate a device as shared, place the word shared at the very end of the boards.pc line:

    Joystick     200               shared

  Determining Board Information

In many cases, you may need to determine whether a board you are installing will conflict with other devices on the system. Also, you sometimes may need to install a board for which there is no entry in the boards.pc file. In most cases, the instruction manual included with the board you are installing should contain the technical information you need, including:

    The I/O port addresses at which the board is accessed. One or more blocks can be reserved, and there are eight consecutive addresses per block.

    The board's interrupt level, if the board generates interrupts.

    The DMA channel number, if the board uses a direct memory access channel.

    Memory mapping information, if the board maps data into DOS memory.

If the board's manual does not provide such information, contact the manufacturer.

EXAMPLES

The following is an example of a boards.pc file:

#COM2            2f8                             irq 3
#Joystick        200                                                      shared
#EGA             3b0 3b8 3c0 3c8 3d0 3d8                     mem a000 192 reboot
#VGA             3b0 3b8 3c0 3c8 3d0 3d8 102 2e8             mem a000 192
#3COM-3C501      300 308                         irq 3 dma 1
#TOPS-FlashTalk  398                             irq 3
#IBM-3363-Worm   258                             irq 5 dma 3 mem de00 8   reboot
#Plus-Hardcard20 320                             irq 5 dma 3 mem ca00 8   reboot
#HP-Basic        390                             irq 3
#DCA-IRMA1       220 228
#DCA-IRMA2       220 228 280 288
#Bernoulli-A220H 350                                                      reboot
#WD8003E         280 288 290 298                 irq 5       mem d000 8
#NI5210          360                             irq 5       mem c000 16
#NIC                                             irq 5       mem d000 32
#LPT2            278                             irq 5

FILES
/usr/lib/help/*/*

SEE ALSO
dos(1), setup.pc(5)

Sun386i Advanced Skills