home *** CD-ROM | disk | FTP | other *** search
/ ftp.ib.com / 2003-04-09_ftp.ibm.com-os2.zip / os2ddpak_cur / pccardbr.exe / AUTODRV.DOC < prev    next >
Text File  |  1996-12-09  |  32KB  |  871 lines

  1. DOS Auto Configurator V2.0 (AUTODRV.SYS)/
  2. OS/2 Auto Configurator V2.0 (AUTODRV2.SYS)
  3.  
  4. The Auto Configurator V2.0 is a common enabler which makes many kinds of
  5. PC cards usable.
  6.  
  7. Explanations not stated for (DOS) or (OS/2) apply to both DOS and OS/2.
  8.  
  9. 1. Functions
  10.  
  11.     The Auto Configurator V2.0
  12.  
  13.     - Is a device driver which uses interfaces with the Card Services
  14.       Release 2.0/2.1.
  15.     - Makes a PC card usable automatically when the card is inserted.
  16.     - Releases the resources such as I/O port addresses, an interrupt
  17.       level, or system memory when the card is removed.
  18.     - Supports hot insertion/removal so that the card can be inserted/
  19.       removed anytime. (*1)
  20.     - Makes the card usable based on a file (script file) in which
  21.       resource/sequence information is described.
  22.     - Supports up to 8 PC card slots.
  23.     - Utilities for the Auto Configurator V2.0 are provided.
  24.  
  25.     *1: As for the function of the Auto Configurator, a PC card can be
  26.         inserted/removed anytime. These operations may not be supported
  27.         by the driver/application of the card.
  28.         Refer to the documents for the card/driver/application.
  29.  
  30. 2. Changes from the Auto Configurator V1.0
  31.  
  32.     The Auto Configurator V2.0 provides the following improvements over V1.0:
  33.  
  34.     1. Reduction of the resident size (DOS)
  35.  
  36.        The resident size is reduced from 13KB to 7KB.
  37.  
  38.     2. Script file to enable many kinds of PC cards
  39.  
  40.        To enable PC cards which are not registerd for the Auto Configurator,
  41.        a script file in which assigned resource and sequence are described
  42.        is used.
  43.  
  44.     3. Setup of beep sound for 4 states
  45.  
  46.        In addition to the time when a PC card is inserted/removed, the
  47.        Auto Configurator beeps when the card is enabled/not enabled.
  48.        A user can change the beep sound.
  49.  
  50.     Note: An INI file for V1.0 can't be used with the Auto Configurator
  51.           V2.0.
  52.  
  53. 3. Enabled PC Cards
  54.  
  55.     Refer to PCMCIA.CRD for the list of PC cards that can be enabled by
  56.     the Auto Configurator V2.0.
  57.  
  58. 4. Installation of the Auto Configurator V2.0
  59.  
  60.     The installer installs the Auto Configurator V2.0 and related modules,
  61.     and updates CONFIG.SYS.
  62.  
  63.     This section describes how CONFIG.SYS is updated.
  64.  
  65.     Example of DOS CONFIG.SYS
  66.  
  67.         DEVICEHIGH=C:\EZPLAY\IBMDSS01.SYS
  68.         DEVICEHIGH=C:\EZPLAY\IBMDOSCS.SYS
  69.         DEVICEHIGH=C:\EZPLAY\DICRMU01.SYS /MA=C000-CFFF
  70.         DEVICEHIGH=C:\EZPLAY\AUTODRV.SYS  <- Auto Configurator
  71.  
  72.     Example of OS/2 CONFIG.SYS
  73.  
  74.         BASEDEV=PCMCIA.SYS
  75.         BASEDEV=IBM2SS01.SYS
  76.         BASEDEV=AUTODRV2.SYS          <- Auto Configurator
  77.         DEVICE=C:\EZPLAY\VPCMCIA.SYS
  78.         DEVICE=C:\OS2\BOOT\COM.SYS
  79.         DEVICE=C:\OS2\MDOS\VCOM.SYS
  80.  
  81. 5. Script File
  82.  
  83.     Information for recognition of PC card, resources (I/O ports, an
  84.     interrupt level, system memory, and so on) to be assigned, and a sequence
  85.     to enable/disable the card are described in a script file.
  86.     An utility for the Auto Configurator V2.0 analyzes the contents of the
  87.     script file, and registers it into the Auto Configurator.
  88.     The Auto Configurator enables each PC card according to the registered
  89.     information.
  90.     As a default, the Auto Configurator enables almost all modem cards
  91.     and the IBM SCSI card. As for DOS, it enables the IBM 3270 card too.
  92.     If you have other PC cards you want to enable, read "5-1. Create Your
  93.     Script File".
  94.  
  95.     5-1. Create Your Script File
  96.  
  97.         There are script files for some kinds of PC cards in the directory
  98.         where the Auto Configurator is installed. When you select the script
  99.         files for PC cards you want to enable from the utility, the
  100.         utility creates a script file AUTODRV.SCR (DOS), AUTODRV2.SCR
  101.         (OS/2). If you can't find a script file for a PC card you want to
  102.         enable, read "5-2. Add Script File for New PC Card".
  103.  
  104.         As the next step, the utility analyzes the script file, and registers
  105.         it into the Auto Configurator.
  106.  
  107.         After the system is rebooted, you can use the PC cards described in
  108.         the script file.
  109.  
  110.     5-2. Add Script File for New PC Card
  111.  
  112.         According to "7. How to Write Script File", write the required
  113.         information for the new PC card. After that, do the same as in 5-1.
  114.  
  115.         Note: Do NOT forget "End" at the last line in the
  116.               script file.
  117.  
  118. 6. Auto Configurator Utility
  119.  
  120.     The Auto Configurator Utility provides the following functions for the
  121.     Auto Configurator. (For more details about Windows or OS/2, refer to
  122.     the manual for the Auto Configurator Utility.)
  123.  
  124.     The Auto Configurator Utility provides functions to:
  125.  
  126.     - select script files for PC cards, and create a script file from them.
  127.     - analyze the script file, and registers it into the Auto Configurator.
  128.     - GUI utilities are provided for Windows and OS/2.
  129.     - An utility is provided to register contents of the script file into
  130.       the Auto Configurator for DOS.
  131.  
  132.     6-1. DOS Auto Configurator Utility
  133.  
  134.         Do the following to register contents of the script file into the
  135.         Auto Configurator for DOS.
  136.  
  137.         1. As explained in "5. Script File", create a script file AUTODRV.SCR
  138.            by gathering script files for PC cards you want to enable.
  139.         2. Type the following from the DOS prompt.
  140.  
  141.                AUTOUTL /D
  142.  
  143.            Hit the Enter key.
  144.            Note that the utility (AUTOUTL.EXE), the script file (AUTODRV.SCR),
  145.            and the Auto Configurator (AUTODRV.SYS) must be in the same
  146.            directory.
  147.         3. When the script file has an error, a message is displayed.
  148.            Correct it, and try the same operation again.
  149.  
  150. 7. How to Write Script Files
  151.  
  152.     If you can't find a script file for a PC card you want to enable from
  153.     the provided script files for some kinds of PC cards, or you want to
  154.     change the parameters in the script files, read this section.
  155.  
  156.     Note: Keywords (CardID, FunctionID, and so on) are described from
  157.           column 1 to 15, and "=" (equal) is described in column 16.
  158.           Commands, parameters, and so on should be described from column
  159.           17.
  160.  
  161. 7-1. First Line
  162.  
  163. ; IBM PC Card Script File for IBM Auto-Configurator V2.0
  164.  
  165. Note:   - This line is used to make sure that a script file is for the Auto
  166.           Configurator V2.0. This line should NOT be deleted nor changed.
  167.  
  168. 7-2. Comment Line
  169.  
  170.         ; Modem Card (Common)
  171.  
  172. Note:   - A line containing ";" (semi-colon) at the first column is a comment
  173.           line.
  174.  
  175. 7-3. Beep
  176.  
  177.         Beep           =1000,2,2000,2,800,2,20000,10
  178.  
  179. Note:   - The frequency(Hz) and duration for a beep are specified.
  180.         - The Auto Configurator beeps in the following state:
  181.  
  182.               Card was removed
  183.               Card was inserted
  184.               Card was enabled
  185.               Card wasn't enabled
  186.  
  187.         - "Card wasn't enabled" means "An error occurred".
  188.           When the inserted card isn't supported, the Auto Configurator
  189.           doesn't beep.
  190.         - Explanation of the Example
  191.  
  192.               1000,2,2000,2,800,2,20000,10
  193.               ------ ------ ----- --------
  194.               |      |      |     |
  195.               |      |      |     +- Card wasn't enabled
  196.               |      |      +------- Card was enabled
  197.               |      +-------------- Card was removed
  198.               +--------------------- Card was inserted
  199.  
  200.         - The "Frequency,Duration" for each state should be described.
  201.           If you don't want a beep for any state, specify 0 (zero) as the
  202.           Frequency.
  203.         - The "Beep" statement is necessary, and it should NOT be moved or
  204.           removed.
  205.  
  206. 7-4. Card ID
  207.  
  208.         CardID         =MODEM,MD24XC,116E2,118C2,FC2400,2460MC,FC24F,MF0B
  209.  
  210. Note:   - The Auto Configurator uses a string in Tuple(*2) 0x15 (Level 1
  211.           Version/Product Information Tuple) to identify which card is
  212.           inserted. The string(s) is(are) described as card ID (CardID).
  213.         - This line is case sensitive. "MODEM" and "Modem" are different.
  214.         - "," (comma) is used as a separator when multiple card IDs are
  215.           described.
  216.         - " " (blank) is treated as a part of a card ID. Unnecessary
  217.           blank should NOT be inserted. (Blank at the end of a line isn't
  218.           treated as a part of the Card ID.)
  219.         - The total length for a CardID is under 64 characters, containing
  220.           commas.
  221.         - Explanation of the Example
  222.  
  223.               MODEM     General modem cards
  224.               MD24XC    OMRON Fax/Data Modem card
  225.               116E2     OKI Modem card 2400
  226.               118C2     OKI Modem card Fax/Data
  227.               FC2400    Dr.Neuhaus Mikroelektronik GmbH FURY CARD 2400
  228.               2460MC    ELSA GmbH MicroLink 2460MC
  229.               FC24F     RATOC REX-5565
  230.               MF0B      MITSUBISHI Voice/Fax/Data/Modem Card
  231.  
  232.         *2: A PC card has infomation, such as name, type, or functions
  233.             in itself. The area of a card information contains links
  234.             of data blocks called "Tuple". Each Tuple has different
  235.             kinds of information.
  236.  
  237. 7-5. Function ID
  238.  
  239.         FunctionID     =0x02
  240.  
  241. Note:   - If there is no string described as the card ID in Tuple 0x15 of the
  242.           inserted card, the Auto Configurator uses a value in Tuple
  243.           0x21 (Function ID Tuple) to identify which card is inserted. The
  244.           value is described as the function ID (FunctionID).
  245.         - If you don't want to use a function ID to identify a card,
  246.           specify "0xFF" for the FunctionID.
  247.         - "0x" represents the value in hexa-decimal. For example, "0x10"
  248.           is hexa-decimal 10 (decimal 16), "10" is decimal 10.
  249.         - Explanation of the Example:
  250.  
  251.               0x02      Serial Port
  252.  
  253. 7-6. Manufacturer ID
  254.  
  255.         ManufacturerID =0x00A4
  256.  
  257. Note:   - If the Auto Configurator finds a string described as the card ID in
  258.           Tuple 0x15 of the inserted card, or a value described as the Function
  259.           ID in Tuple 0x21 of the card, it checks a value in Tuple 0x20
  260.           (Manufacturer ID Tuple) to identify which card is inserted. The
  261.           value is described as the manufacturer ID (ManufacturerID).
  262.         - If you don't want to use a manufacturer ID to identify a card,
  263.           specify "0xFFFF" for the ManufacturerID.
  264.         - Explanation of the Example:
  265.  
  266.               0x00A4    IBM
  267.  
  268. 7-7. Card ID not to enable PC card
  269.  
  270.         IgnoreCardID   =SDLC,Serial IR,Sound Card
  271.  
  272. Note:   - When a string specified for IgnoreCardID is in Tuple 0x15, the
  273.           Auto Configurator doesn't enable the PC card.
  274.         - This line is case sensitive. "SDLC" and "Sdlc" are different.
  275.         - "," (comma) is used as a separator when multiple card IDs are
  276.           described.
  277.         - " " (blank) is treated as a part of a card ID. Unnecessary
  278.           blanks should NOT be inserted. ( A blank at the end of a line isn't
  279.           treated as a part of the Card ID.)
  280.         - When IgnoreCardID isn't needed, write nothing.
  281.         - The total length for a CardID is under 64 characters, containing
  282.           commas.
  283.         - Explanation of the Example:
  284.  
  285.               SDLC        IBM PCMCIA SDLC Modem
  286.               Serial IR   IBM PCMCIA Serial IR Adapter Card
  287.               Sound Card  Roland PCMCIA Sound Card
  288.  
  289. 7-8. Enable Sequence
  290.  
  291.         EnableSequence =ReqIO(0x2F8,0xFF,0,0,0,0,0xFF)
  292.  
  293. Note:   - A sequence to enable a PC card is described after the parameter
  294.           "EnableSequence =".
  295.         - Commands for the enable sequence should start from column 17.
  296.  
  297. 7-9. Disable Sequence
  298.  
  299.         DisableSequence=RestoreBDA
  300.  
  301. Note:   - A sequence to disable a PC card when the PC card is removed is
  302.           described after the parameter "DisableSequence =".
  303.         - Commands for the disable sequence should start from column 17.
  304.         - Resources (I/O port, an interrupt level, or system memory) reserved
  305.           by the ReqIO, ReqIRQ, ReqConfig, and ReqWindow commands in the
  306.           enable sequence are released when the PC card is removed.
  307.           (*3) Since the Auto Configurator does this automatically, you don't
  308.           need to describe the operation in the disable sequence.
  309.  
  310.         *3: Since the used resources are released when the PC card is removed,
  311.             another PC card can use these resources when it is inserted.
  312.  
  313. 7-10. End of Script File
  314.  
  315.         End
  316.  
  317. Note:   - "End" means the end of the script file and is necessary.
  318.         - "End" is described as the end of a sequence too (explained later),
  319.           but "End" for the end of a script file starts from column 1.
  320.  
  321. 7-11. Commands for Enable/Disable Sequence
  322.  
  323. The following commands are used for the enable/disable sequence.
  324.  
  325. 7-11-1. Get I/O Port Address
  326.  
  327.         ReqIO(0x2F8,0xFF,0,0,0,0,0xFF)
  328.  
  329. Note:   - The Auto Configurator requests the Card Services to assign an I/O
  330.           port address for the PC card.
  331.         - Explanation of the Example:
  332.  
  333.               ReqIO(0x2F8,0xFF,0,0,0,0,0xFF)
  334.                     |     |    | | | | |
  335.                     |     |    | | | | +- Number of I/O Address Lines
  336.                     |     |    | | | +--- Attributes 2
  337.                     |     |    | | +----- Number of Contiguous Ports 2
  338.                     |     |    | +------- Base Port Address for Range 2
  339.                     |     |    +--------- Attributes 1
  340.                     |     +-------------- Number of Contiguous Ports 1
  341.                     +-------------------- Base Port Address for Range 1
  342.  
  343.               Attributes 1/Attributes 2
  344.  
  345.                   bit 7 6 5 4 3 2 1 0
  346.                       0 0 0 0 x x x x
  347.                               | | | |
  348.                               | | | +- Shared (1=true)
  349.                               | | +--- First Shared (1=true)
  350.                               | +----- Force Alias Accessibility
  351.                               +------- Data Path Width for I/O Range
  352.                                        (1=16 bit, 0=8 bit)
  353.  
  354.                   "0" should be 0 (zero).
  355.                   "x" is 1 or 0 (zero).
  356.  
  357.         - If "0xFF" is specified for the number of the I/O address lines,
  358.           the contiguous ports 1 or the contiguous ports 2, the value
  359.           set for the card is assigned from the tuples in the card.
  360.  
  361. 7-11-2. Get Interrupt Level
  362.  
  363.         ReqIRQ(0,3)
  364.  
  365. Note:   - The Auto Configurator requests the Card Services to get an interrupt
  366.           level (IRQ) for the PC card.
  367.         - Explanation of the Example:
  368.  
  369.               ReqIRQ(0,3)
  370.                      | |
  371.                      | +- Interrupt Level
  372.                      +--- Attributes
  373.  
  374.               Attributes
  375.                   bit151413121110 9 8 7 6 5 4 3 2 1 0
  376.                       0 0 0 0 0 0 0 0 0 0 0 0 x x x x
  377.                                               | | | |
  378.                                               | | +-+- IRQ Type
  379.                                               | |      0: Exclusive
  380.                                               | |      1: Time-Multiplexed Sharing
  381.                                               | |      2: Dynamic Sharing
  382.                                               | |      3: Reserved
  383.                                               | +----- Force Pulse (1=true)
  384.                                               +------- First Shared (1=true)
  385.  
  386.         - If "0xFF" is specified for the interrupt level, the value set for
  387.           the card is assigned from the tuples in the card.
  388.  
  389. 7-11-3. Configure PC Card
  390.  
  391.         ReqConfig(0xFF,0xFF,0xFF,0x48,0,0,0x40)
  392.  
  393. Note:   - The Auto Configurator requests the Card Services to configure the
  394.           PC card.
  395.         - Explanation of the Example:
  396.  
  397.               ReqConfig(0xFF,0xFF,0xFF,0x48,0,0,0x40)
  398.                         |    |    |    |    | | |
  399.                         |    |    |    |    | | +- CCR: Option Register Setting
  400.                         |    |    |    |    | +--- CCR: Socket/Copy Register Setting
  401.                         |    |    |    |    +----- CCR: Pin Replacement Register Setting
  402.                         |    |    |    +---------- CCR: Status Register Setting
  403.                         |    |    +--------------- Vpp2
  404.                         |    +-------------------- Vpp1
  405.                         +------------------------- Vcc
  406.  
  407.         - If "0xFF" is specified for Vcc, Vpp1, or Vpp2, the value set for
  408.           the card is assigned from the tuples in the card.
  409.         - If the value for the lower 6 bits in the Option register is 0 (zero),
  410.           the index information in Tuple 0x1B (Configuration Entry Tuple) is
  411.           set automatically. If it isn't 0, the value specified is set, and
  412.           the index information in the tuple isn't set.
  413.  
  414. 7-11-4. Get System Memory Window
  415.  
  416.         ReqWindow(1,0x000C,0xCA000,0x2000,0xFF)
  417.  
  418. Note:   - The Auto Configurator requests the Card Services to get a system
  419.           memory window for the PC card.
  420.         - Explanation of the Example:
  421.  
  422.               ReqWindow(1,0x000C,0xCA000,0x2000,0xFF)
  423.                         | |      |       |      |
  424.                         | |      |       |      +- Window Speed Field
  425.                         | |      |       +-------- Memory Window Size
  426.                         | |      +---------------- System Base Address
  427.                         | +----------------------- Attributes
  428.                         +------------------------- Window Number
  429.  
  430.               Attributes
  431.                   bit151413121110 9 8 7 6 5 4 3 2 1 0
  432.                       0 0 0 0 0 0 0 0 0 x x 0 x x x 0
  433.                                         | |   | | |
  434.                                         | |   | | +- Memory Type
  435.                                         | |   | |    (1=attribute)
  436.                                         | |   | +--- Enabled (1=true, 0=disabled)
  437.                                         | |   +----- Data Path Width
  438.                                         | |          (1=16 bit, 0=8 bit)
  439.                                         | +--------- Shared (1=true)
  440.                                         +----------- First Shared (1=true)
  441.  
  442.         - The window Number is used to get system memory windows.
  443.           It starts from 1.
  444.         - If "0xFF" is specified in the window speed field, the value set
  445.           for the card is assigned from the tuples in the card.
  446.  
  447. 7-11-5. Map to Memory on PC Card
  448.  
  449.         MapMemPage(1,0xCC000)
  450.  
  451. Note:   - The Auto Configurator requests the Card Services to map a system
  452.           memory window to the memory on the PC card.
  453.         - Explanation of the Example:
  454.  
  455.               MapMemPage(1,0xCC000)
  456.                          | |
  457.                          | +- Card Offset Address
  458.                          +--- Window Number
  459.  
  460.         - The value specified by the "ReqWindow" command is used.
  461.  
  462. 7-11-6. Release System Memory Window
  463.  
  464.         RelWindow(1)
  465.  
  466. Note:   - The Auto Configurator requests the Card Services to release
  467.           the system memory window assigned by ReqWindow.
  468.         - Explanation of the Example:
  469.  
  470.               RelWindow(1)
  471.                         |
  472.                         +- Window Number
  473.  
  474.         - The window number used by ReqWindow should be specified.
  475.  
  476. 7-11-7. Access Configuration Register
  477.  
  478.         AccessConfigReg(0,0,#1,0)
  479.  
  480. Note:   - The Auto Configurator requests to read or write a PC Card
  481.           Configuration Register.
  482.         - The offset is a value from the base of the configuration registers.
  483.         - Explanation of the Example:
  484.  
  485.               AccessConfigReg(0,0,#1,0)
  486.                               | | |  |
  487.                               | | |  +- Reserved
  488.                               | | +---- Data Store Area
  489.                               | +------ Offset
  490.                               +-------- Action (0=Read, 1=Write)
  491.  
  492.               Read data from a PC Card configuration register (offset 0),
  493.               and write it in #1.
  494.  
  495.               AccessConfigReg(1,0,#1,0)
  496.  
  497.               Read data from #1 and write it in a PC Card configuration
  498.               register (offset 0),
  499.  
  500. 7-11-8. Setup COM Number
  501.  
  502.         SetupCOM(0xFF)
  503.  
  504. Note:   - Updates BIOS Data Area for a COM number used by, for example,
  505.           modem applications. (DOS)
  506.         - Registers a COM number to the COM driver. (OS/2)
  507.         - Explanation of the Example:
  508.  
  509.               SetupCOM(0xFF)
  510.                        |
  511.                        +- COM Number
  512.  
  513.         - When "1", "2", "3", or "4" is specified, the value is treated as
  514.           a COM number, and the BIOS Data Area for it is updated (DOS) , or
  515.           it is registered to the COM driver (OS/2). If the COM number has
  516.           been used already, this operation isn't executed.
  517.         - If "0xFF" is specified, the unused area in BIOS Data Area is updated
  518.           (DOS), or the unused COM number is registered to the COM driver
  519.           (OS/2). If all COM numbers have been used already, this operation
  520.           isn't executed.
  521.         - If the COM driver isn't installed, this operation isn't executed.
  522.         - Even if this operation isn't executed, the PC card is enabled.
  523.  
  524. 7-11-9. Delete COM Number
  525.  
  526.         DeleteCOM
  527.  
  528. Note:   - Deletes the COM number set by SetupCOM.
  529.         - BIOS Data Area is restored (DOS), or the registration to the
  530.           COM driver is deleted (OS/2).
  531.         - If the COM driver isn't installed, this operation isn't executed.
  532.  
  533. 7-11-10. IBM SCSI Card
  534.  
  535.         IBM_SCSI
  536.  
  537. Note:   - Unique operation for the IBM SCSI card is executed.
  538.         - This command can be used for the Future Domain SCSI Card (SCSI2GO).
  539.  
  540. 7-11-11. IBM Token Ring Card
  541.  
  542.         IBM_TokenRing(4)
  543.  
  544. Note:   - Unique operation for the IBM Token Ring card is executed.
  545.         - Explanation of the Example:
  546.  
  547.               IBM_TokenRing(4)
  548.                             |
  549.                             +- Ring Speed (MBPS)
  550.  
  551.         - "4" or "16" is specified as the ring speed.
  552.  
  553. 7-11-12. IBM Ethernet Card
  554.  
  555.         IBM_Ethernet1
  556.         IBM_Ethernet2
  557.  
  558. Note:   - Unique operation for the IBM Ethernet card is executed.
  559.  
  560. 7-11-13. Set Data
  561.  
  562.         Move(#1,0xF8)
  563.  
  564. Note:   - Sets data in a data store area (*4).
  565.         - Explanation of the Example:
  566.  
  567.               Move(#1,0xF8)
  568.                    |  |
  569.                    |  +- Data
  570.                    +---- Data Store Area
  571.  
  572.               Sets 0xF8 in #1.
  573.  
  574.         *4: Data Store Area is an area, where 1 byte of data used by
  575.             memory read/write, port in/out, or others is stored.
  576.             "#1" to "#9" can be specified for a Data Store Area.
  577.  
  578. 7-11-14. Write Data to System Memory
  579.  
  580.         Write(0xCC000,#1)
  581.  
  582. Note:   - Writes the data, in a data store area, to the system memory.
  583.         - Explanation of the Example:
  584.  
  585.               Write(0xCC000,#1)
  586.                     |       |
  587.                     |       +- Data Store Area
  588.                     +--------- System Memory Address
  589.  
  590.               Writes data in #1 to 0xCC000.
  591.  
  592. 7-11-15. Read Data from System Memory
  593.  
  594.         Read(0xCC000,#1)
  595.  
  596. Note:   - Reads data from the system memory, and writes it in a data store
  597.           area.
  598.         - Explanation of the Example:
  599.  
  600.               Read(0xCC000,#1)
  601.                    |       |
  602.                    |       +- Data Store Area
  603.                    +--------- System Memory Address
  604.  
  605.               Reads data from 0xCC000, and writes it in #1.
  606.  
  607. 7-11-16. Output Data to I/O Port
  608.  
  609.         Out(0xA20,#1)
  610.  
  611. Note:   - Outputs the data in a data store area to the I/O port.
  612.         - Explanation of the Example:
  613.  
  614.               Out(0xA20,#1)
  615.                   |     |
  616.                   |     +- Data Store Area
  617.                   +------- I/O Port Address
  618.  
  619.               Outputs data in #1 to 0xA20.
  620.  
  621. 7-11-17. Input Data from I/O Port
  622.  
  623.         In(0xA20,#1)
  624.  
  625. Note:   - Inputs data from the I/O port, and writes it in a data store area.
  626.         - Explanation of the Example:
  627.  
  628.               In(0xA20,#1)
  629.                  |     |
  630.                  |     +- Data Store Area
  631.                  +------- I/O Port Address
  632.  
  633.               Inputs data from 0xA20, and writes it in #1.
  634.  
  635. 7-11-18. Logical And
  636.  
  637.         And(#1,#2)
  638.  
  639. Note:   - Gets the logical "and" from the data in 2 data store areas, and
  640.           writes it in the data store area.
  641.         - Explanation of the Example:
  642.  
  643.               And(#1,#2)
  644.                   |  |
  645.                   |  +- Data Store Area 2
  646.                   +---- Data Store Area 1
  647.  
  648.               Gets the logical "and" from the data in #1 and #2, and writes
  649.               it in #1. (#1 <- #1 & #2)
  650.  
  651. 7-11-19. Logical Or
  652.  
  653.         Or(#1,#2)
  654.  
  655. Note:   - Gets the logical "or" from the data in 2 data store areas, and
  656.           writes it in the data store area.
  657.         - Explanation of the Example:
  658.  
  659.               Or(#1,#2)
  660.                   |  |
  661.                   |  +- Data Store Area 2
  662.                   +---- Data Store Area 1
  663.  
  664.               Gets the logical "or" from the data in #1 and #2, and writes
  665.               it in #1. (#1 <- #1 | #2)
  666.  
  667. 7-11-20. Conditional Jump 1
  668.  
  669.         JumpE(#1,#2,$1)
  670.  
  671. Note:   - If data in Data Store Area 1 equals to the data in Data Store Area
  672.           2, the sequence goes to specified label (*5).
  673.         - Explanation of the Example:
  674.  
  675.               JumpE(#1,#2,$1)
  676.                     |  |  |
  677.                     |  |  +- Label
  678.                     |  +---- Data Store Area 2
  679.                     +------- Data Store Area 1
  680.  
  681.               If data in #1 equals to the data in #2, jump to label $1.
  682.  
  683.         *5: In the enable/disable sequence, if you want to jump or go back to
  684.             some operations, the sequence can jump to the label you specify.
  685.             "$1" to "$9" can be used as the label.
  686.  
  687. 7-11-21. Conditional Jump 2
  688.  
  689.         JumpNE(#1,#2,$1)
  690.  
  691. Note:   - If data in Data Store Area 1 doesn't equal to the data in Data Store
  692.           Area 2, the sequence goes to the specified label.
  693.         - Explanation of the Example:
  694.  
  695.               JumpNE(#1,#2,$1)
  696.                      |  |  |
  697.                      |  |  +- Label
  698.                      |  +---- Data Store Area 2
  699.                      +------- Data Store Area 1
  700.  
  701.               If data in #1 doesn't equal to the data in #2, jump to label $1.
  702.  
  703. 7-11-22. Jump
  704.  
  705.         Jump($1)
  706.  
  707. Note:   - The sequence goes to the specified label.
  708.         - Explanation of the Example:
  709.  
  710.               Jump($1)
  711.                    |
  712.                    +- Label
  713.  
  714.               Jump to label $1.
  715.  
  716. 7-11-23. Label
  717.  
  718.         Label($1)
  719.  
  720. Note:   - Specifies the labels specified in the JumpE, JumpNE, or Jump command.
  721.         - Explanation of the Example:
  722.  
  723.               Label($1)
  724.                     |
  725.                     +- Label
  726.  
  727.               Specify label $1.
  728.  
  729. 7-11-24. End of Sequence
  730.  
  731.         End
  732.  
  733. Note:   - "End" means the end of the sequence and is necessary.
  734.  
  735. 8. Sample Script File
  736.  
  737. ---- Start of File ------------------------------------------------------------
  738. ; IBM PC Card Script File for IBM Auto-Configurator V2.0
  739.  
  740. Beep           =1000,2,2000,2,800,2,20000,10
  741.  
  742. ; ---- Modem Card (Common) ----------------------------------------------------
  743. CardID         =MODEM,MD24XC,116E2,118C2,FC2400,2460MC
  744. FunctionID     =0x02
  745. ManufacturerID =0xFFFF
  746. IgnoreCardID   =SDLC
  747. EnableSequence =ReqIO(0x3F8,0xFF,0,0,0,0,0xFF)
  748.                 ReqIRQ(1,4)
  749.                 ReqConfig(0xFF,0xFF,0xFF,0x08,0,0,0x40)
  750.                 SetupCOM(0xFF)
  751.                 End
  752. DisableSequence=DeleteCOM
  753.                 End
  754.  
  755. CardID         =MODEM,MD24XC,116E2,118C2,FC2400,2460MC
  756. FunctionID     =0x02
  757. ManufacturerID =0xFFFF
  758. IgnoreCardID   =SDLC
  759. EnableSequence =ReqIO(0x2F8,0xFF,0,0,0,0,0xFF)
  760.                 ReqIRQ(1,3)
  761.                 ReqConfig(0xFF,0xFF,0xFF,0x08,0,0,0x40)
  762.                 SetupCOM(0xFF)
  763.                 End
  764. DisableSequence=DeleteCOM
  765.                 End
  766.  
  767. CardID         =MODEM,MD24XC,116E2,118C2,FC2400,2460MC
  768. FunctionID     =0x02
  769. ManufacturerID =0xFFFF
  770. IgnoreCardID   =SDLC
  771. EnableSequence =ReqIO(0x3E8,0x08,0,0,0,0,0x10)
  772.                 ReqIRQ(1,4)
  773.                 ReqConfig(0xFF,0xFF,0xFF,0x08,0,0,0x40)
  774.                 SetupCOM(0xFF)
  775.                 End
  776. DisableSequence=DeleteCOM
  777.                 End
  778.  
  779. CardID         =MODEM,MD24XC,116E2,118C2,FC2400,2460MC
  780. FunctionID     =0x02
  781. ManufacturerID =0xFFFF
  782. IgnoreCardID   =SDLC
  783. EnableSequence =ReqIO(0x2E8,0x08,0,0,0,0,0x10)
  784.                 ReqIRQ(1,3)
  785.                 ReqConfig(0xFF,0xFF,0xFF,0x08,0,0,0x40)
  786.                 SetupCOM(0xFF)
  787.                 End
  788. DisableSequence=DeleteCOM
  789.                 End
  790.  
  791. ; ---- IBM SCSI Card ----------------------------------------------------------
  792. CardID         =SCSI
  793. FunctionID     =0xFF
  794. ManufacturerID =0x00A4
  795. IgnoreCardID   =
  796. EnableSequence =ReqIO(0x140,0xFF,0,0,0,0,0xFF)
  797.                 ReqIRQ(0,5)
  798.                 ReqConfig(0xFF,0xFF,0xFF,0x08,0,0,0x40)
  799.                 IBM_SCSI
  800.                 End
  801. DisableSequence=End
  802.  
  803. ; ---- Future Domain SCSI Card (SCSI2GO) --------------------------------------
  804. CardID         =SCSI
  805. FunctionID     =0xFF
  806. ManufacturerID =0x0130
  807. IgnoreCardID   =
  808. EnableSequence =ReqIO(0x140,0xFF,0,0,0,0,0xFF)
  809.                 ReqIRQ(0,5)
  810.                 ReqConfig(0xFF,0xFF,0xFF,0x08,0,0,0x40)
  811.                 IBM_SCSI
  812.                 End
  813. DisableSequence=End
  814.  
  815. ; ---- IBM 3270 Card ----------------------------------------------------------
  816. CardID         =3270
  817. FunctionID     =0xFF
  818. ManufacturerID =0x00A4
  819. IgnoreCardID   =
  820. EnableSequence =ReqIO(0x2D0,0x10,0,0,0,0,0xFF)
  821.                 ReqIRQ(0,9)
  822.                 ReqConfig(0xFF,0xFF,0xFF,0,0,0,0x40)
  823.                 ReqWindow(1,0x000C,0xCE000,0x2000,0xFF)
  824.                 MapMemPage(1,0)
  825.                 End
  826. DisableSequence=End
  827.  
  828. ; ---- IBM Token Ring Card ----------------------------------------------------
  829. CardID         =TOKEN RING
  830. FunctionID     =0xFF
  831. ManufacturerID =0xFFFF
  832. IgnoreCardID   =
  833. EnableSequence =ReqIO(0xA20,0xFF,0,0,0,0,0xFF)
  834.                 ReqIRQ(0,9)
  835.                 ReqConfig(0xFF,0xFF,0xFF,0x20,0,0,0x40)
  836.                 ReqWindow(1,0x000C,0xCA000,0x2000,0xFF)
  837.                 MapMemPage(1,0xCA000)
  838.                 ReqWindow(2,0x000C,0xCC000,0x4000,0xFF)
  839.                 MapMemPage(2,0xCC000)
  840.                 IBM_TokenRing(4)
  841.                 End
  842. DisableSequence=End
  843.  
  844. ; ---- IBM Ethernet Card ------------------------------------------------------
  845. CardID         =Ethernet
  846. FunctionID     =0xFF
  847. ManufacturerID =0x00A4
  848. IgnoreCardID   =
  849. EnableSequence =ReqIO(0x300,0x20,0,0,0,0,0x10)
  850.                 ReqIRQ(0,5)
  851.                 ReqConfig(0xFF,0xFF,0xFF,0x20,0,0,0x40)
  852.                 ReqWindow(1,0x000E,0xCC000,0x4000,0x04)
  853.                 MapMemPage(1,0x20000)
  854.                 Read(0xCC000,#1)
  855.                 Move(#2,0x80)
  856.                 Or(#1,#2)
  857.                 Write(0xCC000,#1)
  858.                 Move(#1,0x41)
  859.                 Write(0xCC000,#1)
  860.                 MapMemPage(1,0)
  861.                 IBM_Ethernet1
  862.                 RelWindow(1)
  863.                 ReqWindow(1,0x000C,0xCC000,0x4000,0x04)
  864.                 MapMemPage(1,0x4000)
  865.                 IBM_Ethernet2
  866.                 End
  867. DisableSequence=End
  868.  
  869. End
  870. ---- End of File --------------------------------------------------------------
  871.