Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mcconfig(F) — OpenDesktop 1.1.1g

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

tape(C)

tape(HW)

MCCONFIG(F)


     MCCONFIG(F)                          UNIX System V


     Name
          mcconfig - Irwin tape driver parameters


     Description
          /etc/default/mcconfig contains  information  on  Irwin  tape
          driver  parameters.   mcconfig  entries are in the following
          format:

               variable=parameterlist

          variable is a case insensitive character string that names a
          configuration  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  can
          not 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 pound sign character (#)  may  be  used
          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  boundary.  Tape data transfer buffers may not
                 cross a 64K physical boundary.  This is the case  for
                 most PC and AT compatible machines.

          b      This computer's hardware architecture does not have a
                 64K DMA physical memory boundary.  Tape data transfer
                 buffers may be allocated any where 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  and  using  a
               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 later 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
          determines  whether  a floppy controller chip with a FIFO is
          present on a per controller basis.  When a controller having
          a  FIFO  is  found  (e.g.,  Intel 82072/82077 parts return a
          positive response to the CONFIGURE command),  DMA  transfers
          with  respect  to that controller are setup 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 machines
               but  can't  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  standard  "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 compares this against the value
          45 hexadecimal.  The I/O port address of the signature  port
          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" positions,  the  signature  port  address  is  0370
          (hexadecimal)  +  6.   If  the  byte compares the 4100 PC is
          present.  Otherwise it isn't.  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 otherwise 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  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 (i.e., 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 don't have  the  compensator
          (and  certain  Model  80s  which  do),  this  problem can be
          circumvented by software.  The technique relies on a feature
          of  the  72065  (and other controllers 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 controller completion or
          timer tick interrupt.  Under  OS/2  and  UNIX/Xenix  a  high
          priority  daemon  thread  is  awakened to poll for the index
          transition.  Using  the  wait-for-index  algorithm  has  the
          following  drawback:   All other system task time processing
          is stopped until index polling is complete.  This means  the
          user  will see sluggish system performance at certain times.
          Typically a 3 or 4 second dead period at tape  track  switch
          time.  This may prove unacceptable in certain installations.

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

          M    This computer has a Micro Channel Architecture bus.

          m    This machine doesn't have a Micro Channel Architecture.

          When neither (M) nor (m)  is  set,  automatic  configuration
          determines   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 Architecture.  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
          determines  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 configured 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 configuration determines the presence  of  a  4251
          board by reading I/O port 0372h and comparing the input byte
          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 machine is other than an 8086 class
          machine (i.e., 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  (i.e., 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 configured.

        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  equal  sign  (=)  have  a
          symbol  which  represents  result  of  tape  drive  presence
          testing for the controller and unit.  These fields  normally
          have  a  upper  case  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
          processed   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 number (tape block for the given track).

          DMA Overruns (O=decimal number) has a count of DMA  overruns
          (excluding,  if  indicated  by  in the Interrupt Status, the
          current DMAOVERRUN).

          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
          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  as
          alternately  set  with  an  asterisk  (*)  and a space (' ')
          character so that screen updates may be distinguished.

          Sector Map W([-c--  --Cs  ----  M-O-  --])  gives  a  visual
          indication  of  the  status  of  each  sector  when an error
          occurs.   Each  printing  character  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
            Num                  Symbol          Description
          ______________________________________________________________
          -  0                   IE_NOERR        No error
          C  12                  IE_CRC          Data CRC error
          c  13                  IE_IDCRC        ID CRC error
          s  14                  IE_RECNOTFND    Record not found
          M  16                  IE_DATAMARK     No data address mark
          O  17                  IE_DMAOVERRUN   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 example,

          IRSRCH=SYSFDC:3,4100:2

          says search for a tape drives at unit select 3 on the system
          floppy controller, 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  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 parameters.  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  Register  (DOR).   When  written  with
          certain values, both the system  controller'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 (i.e., 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 doesn't 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  controllers  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  (e.g.,  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.   However,  when  a
          secondary  floppy  controller  (such  as  the Irwin 4100) or
          other adapter is present the 372 address may be in conflict.
          In  general, 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  relationship  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 hexadecimal.

          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)


     (printed 12/20/90)                               MCCONFIG(F)


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