Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mcconfig(F) — OpenDesktop 3.0.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

tape(C)

tape(HW)


 mcconfig(F)                     19 June 1992                     mcconfig(F)


 Name

    mcconfig - Irwin tape driver parameters

 Description

    /etc/default/mcconfig contains information on Irwin tape driver parame-
    ters.  mcconfig entries are in the following format:

       variable=parameterlist

    variable is a case insensitive character string that names a configura-
    tion parameter.  parameterlist is a string of one or more parameter
    values, the format of which are dependent on the variable used.

    The following variables are defined:

         IROPT       driver options
         IRDBG       debugging aids
         SYSFDC      system floppy controller parameters
         ALTFDC      alternate controller parameters
         4100        Irwin 4100 PC bus controller parameters
         4100B       second 4100 PC bus controller parameters
         IRDRV       drive searching sequence (old method 2.00)
         IRSRCH      drive searching sequence (new method 2.02)
         4251        4151 address

    When configuring parameters, space and tab characters cannot be used.
    For example,

       irdrv=3         is correct, while
       irdrv = 3       is incorrect and will be ignored.

    Parameters are passed to the tape driver by the daemon program
    /etc/mcdaemon. Configuration parameters are given on separate lines.  The
    number sign character (#) may be used to open a comment.  Comments are
    terminated by a newline.  For example, the mcconfig file might contain:

       # this is a comment in the mcconfig file
       iropt=F
       4251=31f

    Whenever changes are made to the mcconfig file, you need to reboot the
    system for the changes to take effect.

    IROPT: configuration option string

    The tape driver configuration variable IROPT may be used override certain
    default or automatically determined configuration parameters.

    The values for IROPT are as follows:

    B/b: 64K DMA Boundary Present/Absent

       B    This computer's hardware architecture has a 64K DMA memory bound-
            ary.  Tape data transfer buffers may not cross a 64K physical
            boundary.  This is the case for most PC and AT compatible ma-
            chines.

       b    This computer's hardware architecture does not have a 64K DMA
            physical memory boundary.  Tape data transfer buffers may be
            allocated anywhere in memory.  This is true for PS/2s with the
            Micro Channel Architecture.

       When neither ``B'' nor ``b'' is set, configuration is based upon the
       result of Micro Channel presence determination (see the M/m option).
       In a Micro Channel machine, ``b'' is assumed, otherwise ``B'' is used.

    D/d: Use Demand/Single Byte DMA with Controllers Having a FIFO

       D    When running in PC or AT class machine an controller which has a
            first-in-first-out (FIFO) buffer, use demand mode DMA transfers.
            Both the Intel 82072 and 82077 floppy controller chips (the
            latter is used in the 4100PC) have a 16 byte FIFO.

       d    When running in a PC or AT class machine, use the standard single
            byte DMA transfer mode regardless of the floppy controller type.

       When neither ``D'' nor ``d'' is set, automatic configuration deter-
       mines whether a floppy controller chip with a FIFO is present on a per
       controller basis.  When a controller having a FIFO is found (for exam-
       ple, Intel 82072/82077 parts return a positive response to the CONFIG-
       URE command), DMA transfers with respect to that controller are set up
       using the demand mode.  Using demand mode decreases the portion of the
       bus bandwidth consumed by tape read/write transfers.

    F/f: Floating/Pulled-Up Drive Search

       F    When searching for drives on the system controller, use a special
            ``floating track 0'' drive search.  The ``floating'' drive search
            assumes the track 0 floppy interface line floats (can be high or
            low) when no drive is attached. This algorithm works in all ma-
            chines but cannot locate a drive which is executing a load-point
            operation.  The floating search is required on certain Adaptec
            controllers.

       f    When searching for drives on the system controller, use the stan-
            dard ``pulled-up track 0'' drive search.  The standard algorithm
            assumes the floppy interface's track 0 line is pulled up (is
            high) when no tape drive is attached.  When the standard search
            is employed on a controller which ``floats'' the track 0 line, a
            drive may be erroneously detected at a line where none is
            present. To deal with this condition either the IRDRV environment
            variable may be set to specify the drive line (preferred) or the
            ``floating track 0'' drive search ``F'' may be specified.

       When neither ``F'' nor ``f'' is set, automatic configuration of this
       option is performed by examining the model information returned from
       the BIOS ``Get Machine Configuration'' service (int 15, AH = C0).  The
       following model uses the ``floating'' drive search:

       ___________________________________________________
       Model   Type   Sub-type PS/2 Model
       ___________________________________________________
       F8      0D     24 MHz Model 70

    H/h: Do/Don't Test for 4100 PC Bus Controller Signature

       H    Test for Irwin 4100 PC Bus controller (default).

       h    No 4100 PC controller present.

       In the PC or AT (not Micro Channel) hardware environment (see the M/m
       option), when testing for the presence of a 4100 PC controller, the
       driver reads a byte from a signature port on the controller and com-
       pares this against the value 45 hexadecimal.  The I/O port address of
       the signature port is found by adding six to the board's base port
       address (see the controller configuration section).  For a 4100 PC Bus
       controller with switches set to ``as shipped from the factory'' posi-
       tions, the signature port address is 0370 (hexadecimal) + 6.  If the
       byte compares, the 4100 PC is present:  otherwise it is not.  This
       option is intended to be used when peeking at the factory set (0376
       hexadecimal) signature port causes the disruption of some other
       adapter which is present at this address.

    I/i: Do/Don't Wait-for-Index

       I    Wait-for-index before data transfer of each tape block.

       i    No need to wait-for-index before data transfer.

       When neither ``I'' nor ``i'' is set, wait-for-index is enabled by
       default only when an Olivetti Micro Channel machine is present: other-
       wise wait-for-index is disabled.

       If the following symptoms are experienced, after installing the MC
       driver in certain Micro Channel machines, the wait-for-index algorithm
       may need to be enabled:

       +  On the first backup this message is seen:

             mc tape write error: Defect list has unrecoverable error

       +  If tape format gives the error:

             Formatting failed: Block 0 medium error :
             phase: CERTIFICATION,  track:  0,  cylinder:  0

       +  Extremely poor performance is experienced while listing the content
          of or restoring a previously written tape.

       A condition exists in some Micro Channel computers which causes errors
       reading the first sector of each tape block. Included are the IBM
       models 50, 60, and 80, and the Olivetti P-500.

       These machines employ 72065 (except for the Olivetti which has a 765)
       floppy controllers and data separators with certain characteristics.
       The 72065 differs from other controllers in that it does not inhibit
       VCO SYNC when an INDEX signal is received.  Characteristically, the
       data separator circuit will:

       1) have a phase lock loop (PLL) which totally looses synchronization
          when confronted with a 50/50 duty cycle read data signal; and

       2) be slow to re-synchronize while in the ``data following mode''.


       Most Irwin drives generate a read data signal with the 50/50 duty
       cycle when transiting servo headers.

       When these factors are combined, and a tape is read, the following
       sequence of events occurs during a tape read operation:  a servo
       header crosses the head.  The drive sends a 50/50 duty cycle 250 KHz
       signal on the read data line.  The PLL looses sync (that is, the loop
       control voltage goes to a rail).  The end of the servo header crosses
       the head and the drive gives an INDEX pulse.  No corresponding VCO
       SYNC inhibit is generated by the 72065 (this would normally put the
       PLL back on track).  Sector 1 crosses the head but the PLL is still
       too far off to read the sector.  The 72065 generates a record-not-
       found error.

       Some Irwin drives are fitted with a data compensator board. This board
       has a circuit which alters the 50/50 duty cycle to a value which
       allows most of these controllers to maintain PLL synchronization.  One
       exception is certain Model 80s.

       For Micro Channel systems which do not have the compensator (and cer-
       tain Model 80s which do), this problem can be circumvented by soft-
       ware.  The technique relies on a feature of the 72065 (and other con-
       trollers in the 765 class):  a VCO SYNC inhibit is generated just
       after the last byte of a READ command is sent to the controller.
       Inhibiting the VCO SYNC pin (which is normally telling the PLL to lock
       on incoming read data) causes the VCO's input to be switched to a
       reference.  This results in quickly returning the PLL to a state in
       which it will be nearly synchronized with the "real" read data.  VCO
       SYNC inhibition results from programming the floppy controller using a
       ``wait-for-index'' algorithm.

       The wait-for-index algorithm sends all but the last byte of the data
       transfer command to the 72065.  It then waits for a logical high to
       low transition of the floppy INDEX signal. The wait is accomplished by
       polling a special I/O port (at address 03F0h) provided by the Micro
       Channel floppy controller.  The wait is used to delay the writing of
       the last byte of the 72065 transfer command until after the INDEX
       transition.  As a result, the 72065 generates an inhibit pulse on VCO
       SYNC after INDEX, but with sufficient lead time to allow the PLL to
       achieve synchronization.  Thus, sector one's ID can be correctly read.

       As no index interrupt is available, wait-for-index polls to accomplish
       its task.  The sought INDEX event is time critical. Under DOS, control
       for polling comes from either a task time startup thread, or the con-
       troller completion or timer tick interrupt.  Under OS/2 and UNIX/XENIX
       a high priority daemon thread is awakened to poll for the index tran-
       sition.  Using the wait-for-index algorithm has the following draw-
       back: all other system task time processing is stopped until index
       polling is complete.  This means that the user will see sluggish sys-
       tem performance at certain times:  typically, a 3 or 4 second dead pe-
       riod at tape track switch time.  This may prove unacceptable in cer-
       tain installations.

    M/m: Micro-Channel-Architecture/PC-Bus

       M    This computer has a Micro Channel Architecture bus.

       m    This machine does not have a Micro Channel Architecture.

       When neither ``M'' nor ``m'' is set, automatic configuration deter-
       mines if Micro Channel Architecture hardware is present. The algorithm
       used depends upon the operating system and driver version.  The M/m
       option is used for automatic configuration of the B/b, I/i, and P/p
       options.

       If the string ``EISA'' is found at physical memory location 0xfffd9,
       (BIOS ROM location F000:FFD9) this is not a Micro Channel Architec-
       ture.  Otherwise, if all 8 bits of the I/O port at address 0x0080 (DMA
       page register 0 in an AT compatibles) can be modified this is an AT
       286/386 compatible.  Otherwise this is a Micro Channel Architecture.

    O/o: System Controller Does/Doesn't Support 1-Meg Transfers

       O    The system controller supports one Megabit data transfers.

       o    One Megabit transfers are not supported by the system controller.

       When neither ``O'' nor ``o'' is set, automatic configuration deter-
       mines whether the system controller supports 1-Megabit transfer rates.
       This is important when a 2120 is attached to the system controller.
       If the controller does not support 1- Megabit transfers, 500-Kilobit
       transfers are used for 80 and 120 MegaByte tapes.  The driver detects
       the presence of the following 1-Megabit controllers:  Intel 82072 and
       82077.

    P/p: 4251 Is/Isn't Present

       P    A 4251 board is present in the system and has its jumpers config-
            ured to address the 4251's digital output register (DOR) at
            0372h.  When present, the tape driver echoes commands sent to the
            system floppy controller's DOR (at I/O port address 03F2h) to the
            4251's DOR.

       p    No 4251 board present.

       When neither ``P'' nor ``p'' is set, and when running in a PC-bus
       (non-Micro Channel) machine (see the M/m option), automatic configura-
       tion determines the presence of a 4251 board by reading I/O port 0372h
       and comparing the input byte with the signature of the 4251.  The 4251
       signature byte is 42h.  See also 4151=port.

    Q/q: Compaq Portable III Piggy Back Tape Unit Is/Isn't Present

       Q    A Compaq Portable III piggy back tape unit is present.

       q    No Compaq Portable III piggy back tape unit is present.

       When neither ``Q'' nor ``q'' is set, the algorithm used to test for
       presence of an alternate (Compaq Portable III piggy back) controller
       does the following:  first the model byte is checked to see if the ma-
       chine is other than an 8086 class machine (that is, the model byte
       must be less than FE).  If this test passes, the BIOS address
       F000:FFEA is checked for the string ``COMPAQ''.  When a match is
       found, the I/O port at the 0374 (that is, the floppy controller chip
       status port) is read and the three low order bits are tested.  If all
       three bits are zero, the alternate controller is present.

       When an alternate floppy controller is present, the following port
       addresses are used by default:

       ____________________________________________________________
                    765    765
       Base  DOR    Stat   Data   Clock
       ____________________________________________________________
       03F0  03F2   03F4   03F5   03F7    Primary FLOPPY controller
       0370  0372   0374   0375   0377    Alternate TAPE controller

       See the Controller Parameter Configuration section for information on
       reconfiguration of the default base address.

    X/x: One Megabit Transfers Are/Aren't Allowed

       X    Allow 1 Megabit transfers when conditions permit.

       x    Never allow 1 Megabit transfers.

       By default, 1 Megabit transfers ``X'' are allowed.  If 1 Megabit
       transfers overload the system bus, the ``x'' option should be config-
       ured.

    IRDBG: debugging options

    Several debugging flags are available:

    s    Drive search debug

         When ``s'' is set, the result of the tape drive search (presence
         test) is shown.  The following shows an example:

            4100MC:3=CTLRNOTFND :2=CTLRNOTFND :1=CTLRNOTFND :0=CTLRNOTFND
            4100MCB:3=CTLRNOTFND :2=CTLRNOTFND :1=CTLRNOTFND :0=CTLRNOTFND
            4100:3=DRVNOTFND :2=tapedrive :1=DRVNOTFND :0=DRVNOTFND
            4100B:3=CTLRNOTFND :2=CTLRNOTFND :1=CTLRNOTFND :0=CTLRNOTFND
            ALTFDC:3=CTLRNOTFND :2=CTLRNOTFND :1=CTLRNOTFND :0=CTLRNOTFND
            SYDFDC:3=DRVNOTFND :2=tapedrive :1=nottested

         The order of drive presence testing is shown left to right and top
         to bottom.  On a given line, the left most field has a symbol which
         represents a controller.  Numeric fields preceded by a colon (:)
         give the unit select in the range 0 through 3.  Fields preceded by
         an equals sign (=)  have a symbol which represents result of tape
         drive presence testing for the controller and unit.  These fields
         normally have an uppercase symbol which represents a driver error
         code.  Two special strings are used: ``tapedrive'' if a drive was
         found, or ``nottested'' if drive presence was not tested.

    i    Initialization value debug

         When ``i'' is set, certain initialization values are displayed.  The
         following is an example:

            hz=18 12_us_scaler=12 scaler_loops=27510 model=0x1FC
            is64kdma=1 demanddma_ok=1
            isuchannel=0 port_4251=3F0
            timers=[ 0 1 2 1 2 7 19 37 181 235 ]


    r    Interrupt debug

         When ``r'' is set, a character is displayed for each interrupt pro-
         cessed by the driver's finite state machine.  In addition, reset
         cycles are shown.  The following lists the characters and their
         meanings:

         ____________________________________________________________
         Character   Meaning
         ____________________________________________________________
         N           Floppy controller (NEC) interrupt
         T           Timer Interrupt
         R           Reset sent to floppy controller (start of reset)
         r           Reset complete

    x    Data transfer debug

         When ``x'' is set, the status of a transfer request is displayed at
         interrupt time.  The display is similar to that shown below:

                 Cylinder
                 |
                 |     DMA
                 |     Overruns
                 |     |                     Alternating
            Track|     |    Positional       Asterisk
            |    |     |    Retries          |
            |    |     |    |                |
            |    |     |    |    Interrupt   |
            |    |     |    |    Status      |       Sector Map
            +--+ +---+ +--+ +--+ +---------+ | +--------------------+
            |  | |   | |  | |  | |         | | |                    |
            T= 2 C= 42 O=12 R= 0 CRC         *[-c-- --Cs ---- M-O- --]

         Track (T=decimal number) has the transfer request's track number.

         Cylinder (C=decimal number) has the transfer request's cylinder num-
         ber (tape block for the given track).

         DMA Overruns (O=decimal number) has a count of DMA overruns (exclud-
         ing, if indicated by in the Interrupt Status, the current DMAOVER-
         RUN).

         Positional Retry (R=decimal number) has the current positional retry
         number for the request.  Note that a ``free'' retry is allowed under
         the following conditions:

         1) A track switch was performed.

         2) The tape is moving logically forward: this transfer request's
            target head, cylinder, and sector addresses match current values,
            but there is some positional uncertainty because this transfer
            request was not started on the completion thread of the previous
            request (That is, the period of time the tape has been moving
            between requests is not known).

         3) A DMA overrun has occurred during the previous pass for a given
            read/write/verify request.

         Interrupt Error has the current reason for the interrupt displayed
         symbolically.

         Alternating Asterisk (*)  This one character field is alternately
         set with an asterisk (*)  and a space ``  '' character so that
         screen updates may be distinguished.

         Sector Map ([-c-- --Cs ---- M-O- --]) gives a visual indication of
         the status of each sector when an error occurs.  Each printing char-
         acter in the sector map represents the status of a sector.  Before
         the start of a transfer, each entry is set to ``s''.  On successful
         transfer of a sector, the corresponding entry is set to a hyphen(-).
         The following is a list of characters which appear in the sector map
         and their meanings:

         _________________________________________________________
         Character   Interrupt                Error
                     Number   Symbol          Description
         _________________________________________________________
         -           0        IENOERR        No error
         C           12       IECRC          Data CRC error
         c           13       IEIDCRC        ID CRC error
         s           14       IERECNOTFND    Record not found
         M           16       IEDATAMARK     No data address mark
         O           17       IEDMAOVERRUN   DMA overrun
         ?           other    unexpected      Unexpected value

    IRDRV, IRSRCH: drive search control

    IRDRV       drive searching sequence (old method)
    IRSRCH      drive searching sequence (new method)

    The tape driver uses a default drive searching sequence to test for the
    presence of tape drives.  The default sequence may be replaced with a
    user configured sequence using either the IRDRV or IRSRCH variables.
    This is useful in situations where tape drives are erroneously detected
    by the default sequence, or where multiple tape drives are supported and
    a different mapping of logical to physical drives is desired.  For exam-
    ple,

       IRSRCH=SYSFDC:3,4100:2

    says search for tape drives at unit select 3 on the system floppy con-
    troller, and unit select 2 on an Irwin 4100 PC bus controller.

    The equivalent IRDRV specification is:

       IRDRV=04,43

    or alternately:

       IRDRV=4,43

    IRDRV specifications use a 2-digit number to specify a controller and
    unit select.  The high-order digit gives the controller, and the low-
    order digit the unit select.  If the high-order digit is missing, 0 (for
    the system floppy controller) is assumed.  Note that the unit select used
    by IRDRV is in the range 1-4 while the unit select used by IRSRCH is in
    the range 0-3.

    The following is a list of controllers supported by IRSRCH and IRDRV:

    _________________________________________________________________________
    IRSRCH, IRDRV Name      High Digit       Controller
    _________________________________________________________________________
    SYSFDC                  0                System floppy (2.00)
    ALTFDC                  1                Alternate floppy (2.00)
    4100MC                  2                Irwin 4100 Micro Channel (2.01)
    4100MCB                 3                Second 4100 Micro Channel (2.01)
    4100                    4                Irwin 4100 PC Bus (2.01)
    4100B                   5                Second 4100 PC Bus (2.02)

    The syntax of an IRSRCH drive search sequence specification is:

    IRSRCH =       searchlist
    searchlist =   searchspec
                   searchspec,searchlist
    searchspec =   controller:unitlist
    controller =   SYSFDC  (System floppy controller)
                   ALTFDC  (Alternate controller)
                   4100MC  (Irwin 4100 Micro Channel tape controller)
                   4100MCB (Second 4100 Micro Channel controller)
                   4100    (Irwin 4100 PC Bus tape controller)
                   4100B   (Second 4100 PC Bus controller)
    unitlist =     unit
                   unit:unitlist
    unit =         0, 1, 2, 3


    The syntax of an IRDRV drive search sequence specification is:

    IRDRV =             searchlist
    searchlist =        searchspec
                        searchspec,searchlist
    searchspec =        controllerdigit:unitdigit
    controllerdigit =   0   (System floppy controller, may be omitted)
                        1   (Alternate controller)
                        2   (Irwin 4100 Micro Channel tape controller)
                        3   (Second 4100 Micro Channel controller)
                        4   (Irwin 4100 PC Bus tape controller)
                        5   (Second 4100 PC Bus controller)
    unitlist =          unit
                        unit:unitlist
    unitdigit =         0, 1, 2, 3

    SYSFDC, ALTFDC, 4100, 4100B: controller parameter configuration

    Certain variables may be set to specify tape controller specific parame-
    ters.  For example:

       4100=P:370,I:6,D:2,T:2,T:0

    says an Irwin 4100 PC bus controller is installed and configured with a
    base I/O Port address (P) 0370 hexadecimal, using IRQ (I) 6, DMA channel
    (D) 2, and has two tape units (T), one wired for physical unit select
    number 2, and the other 0.

    The general form for controller parameter specifications is:


    controller =   paramlist
    paramlist =    parameter
                   parameter,paramlist
    parameter =    name:value
    controller =   SYSFDC  (System floppy controller)
                   ALTFDC  (Alternate controller)
                   4100    (Irwin 4100 PC Bus controller)
                   4100B   (Second 4100 PC Bus controller)
    name =         P   (Base I/O Port address)
                   I   (Interrupt Request line (IRQ))
                   D   (DMA channel)
                   T   (Tape unit number [0-3])
    value =        [0123456789abcefABCDEF]+ (Hexadecimal number)

    4100 PC configuration switch settings

    The following tables contain the 4100 switch settings.

    _________________________________________________________________________
    Base Address     SW1       SW2       SW3       SW4
    _________________________________________________________________________
         300         ON        ON        ON        ON
         310         off       ON        ON        ON
         320         ON        off       ON        ON
         330         off       off       ON        ON
         340         ON        ON        off       ON


         350         off       ON        off       ON
         360         ON        off       off       ON
       * 370         off       off       off       ON
         380         ON        ON        ON        off
         390         off       ON        ON        off
         3a0         ON        off       ON        off
         3b0         off       off       ON        off
         3c0         ON        ON        off       off
         3d0         off       ON        off       off
         3e0         ON        off       off       off
         3f0         off       off       off       off


    _________________________________________________________________________
    DMA Channel     SW5       SW6       SW7       SW8
    _________________________________________________________________________
          1         ON        off       ON        off
        * 2         off       ON        off       ON


    _________________________________________________________________________
    IRQ                SW9           SW10
    _________________________________________________________________________
      3                ON            off
    * 6                off           ON

    *   factory setting

    4251: floppy extender address configuration

    The Irwin 4251 adapter board augments the system floppy controller. It
    extends the total number of drives which may be attached from 2 to 4, and
    allows for the attachment of an external drive.  The 4251 uses a single
    drive select I/O port. By design, the 4251 I/O port partially mimics the
    functionality of the system floppy controller's drive select port.  The
    system controller's drive select port is called the Digital Output Regis-
    ter (DOR).  When written with certain values, both the system control-
    ler's DOR and the 4251's drive select port activates a drive select line
    at the floppy interface.  In the standard ``as shipped from the factory''
    configuration, the 4251's port is addressed at 03F2 hexadecimal.  The
    same address is used by system floppy controller's DOR.  Thus, in the
    standard configuration, the 4251 monitors (that is, listens to and uses)
    bytes written to the system's DOR to select a drive.  The 4251 uses unit
    selects 2 and 3.  Unit selects are used by the software and should not be
    confused with the DRIVE SELECT jumpers on the tape drive which are almost
    always set to DRIVE SELECT 2.  In certain hardware environments, the
    standard 4251 configuration either does not detect the presence of or
    fails to write tapes in a tape drive.

    When a 4251 is configured for the standard address and is connected to:

    +  a DTC controller, data is never written to tape.  The reason: DTC con-
       trollers disable the floppy interface WRITE GATE signal when unit
       selects 2 or 3 (the third and fourth) selects are activated.  This
       means the tape drive's write circuitry is never enabled.

    +  an Adaptec suffix ``B'' controller (for example, ACB-2xxxB or 1542B
       SCSI controllers), driver software never detects the presence of a
       tape drive.  The reason: Adaptec suffix ``B'' controllers drive the
       TRACK 0 line active for unit selects 2 or 3.  The TRACK 0 line is the
       line used by the drive to return the results of status requests and
       motion commands issued by the driver software.
    The conditions listed in the above three paragraphs can be overcome.
    Typically, reconfiguring the 4251 to use the recommended alternate
    address by installing the A7 jumper allows the tape drive to function
    correctly.  When this is done, the 4251's I/O address moves from 3F2 to
    372 hexadecimal.

    When configuring the address of the Irwin 4251, the board address jumpers
    are changed from the "as shipped" A0, A2, A3 position. Normally, the
    change involves reinstalling a jumper stored on one pin of the A7 pin
    pair to connect the "A7" pin pair.  This selects the address 372.  How-
    ever, when a secondary floppy controller (such as the Irwin 4100) or
    other adapter is present, the 372 address may be in conflict.  In gen-
    eral, a secondary floppy controller uses addresses in the range 370
    through 377, which includes the alternate "372" address of the 4251.  To
    resolve this conflict, the 4251 can be re-addressed.  In addition, the
    tape driver software must be informed of the new address.

    The following information is given to aid in understanding of the rela-
    tionship of the 4251 and tape driver software, the meaning of the 4251
    jumpers A0 through A9, and an example of a non-standard configuration.

    At initialization, the tape driver software tests for the presence of a
    4251 at an alternate address.  By default, the alternate address is 372
    hexadecimal.  (To select the 372 address on the 4251 install jumpers
    across the A0, A2, A3, and A7 pin pairs.)  The test reads a byte from the
    alternate address and compares the byte with the signature.  When the
    4251's select port is read, a signature byte (42 hexadecimal) is
    returned.  If the signature compares, the driver sends select bytes to
    both the system's DOR and the 4251's port.  The default alternate address
    may overridden by using the variable named "4251".  For example,

       4251=31f

    tells the driver to test and use, if present, the port at 030F hexade-
    cimal.

    The 4251's port uses a single 10-bit I/O port address.  The address is
    set using the jumper pin pairs labeled A0 through A9.  Each jumper pin
    pair corresponds directly with an I/O port address bit. When a jumper pin
    pair is connected, the corresponding address bit is set to a logical 0.
    When the pin pair is disconnected, the address bit is set to a logical 1.

    For example, to address the 4251 at 31F (an address which is unlikely to
    conflict with standard adapters), connect jumper pin pairs A5, A6, and
    A7.

 See also

    tape(C), tape(HW)


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026