83X8882_Remote_Program_Load_Users_Guide_Jun87 83X8882 Remote Program Load Users Guide Jun87
User Manual: 83X8882_Remote_Program_Load_Users_Guide_Jun87
Open the PDF directly: View PDF .
Page Count: 110
Download | |
Open PDF In Browser | View PDF |
----- --- ---- .---------------,- Token-Ring Network Adapters Hardware Reference Library Remote Program Load User's Guide Note: This product is intended for use within a single establishment and within a single, homogeneous user population. For sensitive applications requiring isolation from each other, management may wish to provide isolated cabling or to encrypt the sensitive data before putti ng it on the network. Federal Communications Commission (FCC) Statement Warning: This equipment generates, uses, and can radiate radio frequency energy and if not installed and used in accordance with the instruction manual, may cause interference to radio communications. It has been tested and found to comply with the limits for a Class A computing device, pursuant to Subpart J of Part 15 of FCC rules, which are designed to provide reasonable protection against such interference when operated in a commercial environment. Operation of this equipment in a residential area is likely to cause interference in which case the user at his own expense will be required to take whatever measures may be required to correct the interference. Second Edition (June 1987) Changes are made periodically to the information herein; these changes will be incorporated in new editions of this publication. It is possible that this material may contain reference to, or information about, IBM products (machines and programs), programming, or services that are not announced in your country. Such references or information must not be construed to mean that IBM intends to announce such IBM products, programming, or services in your country. Publications are not stocked at the address given below; requests for IBM publications should be made to your IBM representative or to the IBM branch office serving your locality. A form for reader's comments is provided at the back of this publication. If the form has been removed, comments may be addressed to IBM Corporation, Communication Products Information Development, Department E02, PO Box 12195, Research Triangle Park, North Carolina, U.S.A. 27709. IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation whatever. You may, of course, continue to use the information you supply. © Copyright International Business Machines Corporation 1986, 1987 Preface The Remote Program Load Module allows you to load application programs from another computer on the IBM Token-Ring Network into an IBM Personal Computer or a computer of the IBM Personal System/2™ family (those models with the Micro Channel™ architecture)1 connected to the IBM Token-Ring Network, without using a disk or diskette drive on the receiving computer. The Remote Program Load Module must be installed on the IBM Token-Ring Network adapter in the receiving computer. IBM Personal Computers require the IBM Token-Ring Network PC Adapter or IBM Token-Ring Network PC Adapter II; the IBM Personal System/2 models with the Micro Channel architecture require the IBM Token-Ring Network Adapter/A. Note: In this book, the term IBM Token-Ring Network adapter will be taken to mean the IBM Token-Ring Network PC Adapter, the IBM Token-Ring Network PC Adapter II, or the IBM TokenRing Network Adapter/A unless specified otherwise. Chapter 1 of this manual introduces you to the basic principles involved in Remote Program Load. It also describes the Remote Program Load kit and what is needed to use it. Chapter 2 describes the installation of the Remote Program Load Module in your computer. Chapter 3 explains what programs are required to use Remote Program Load on the IBM Token-Ring Network. Included with this book are sample programs to help with writing the required programs. 1 IBM Personal System/2 and Micro Channel are trademarks of the IBM Corporation. iii Chapter 4 contains information that should help you if you are using the Remote Program Load on a Requesting Device and do not get the expected results. Related Publications If you are not familiar with the IBM Personal Computer or IBM Personal System/2 computer you are using, we recommend that you consult the operator's guide for that computer before proceeding: • IBM Guide to Operations for the IBM Personal Computer • IBM Quick Reference for the IBM Personal System/2. Other documents related to the IBM Personal Computer, the IBM Personal System/2, and the IBM Token-Ring Network include: iv • IBM Token-Ring Network Introduction and Planning Guide • IBM Token-Ring Network Installation Guide • IBM Token-Ring Network PC Adapter Guide to Operations (packaged with the adapter) • IBM Token-Ring Network PC Adapter Technical Reference An addendum to this publication, Chapter 9, covers the IBM Token-Ring Network Adapter/A. • IBM Token-Ring Network Problem Determination Guide, SX27-3710* An addendum to this publication (packaged with Remote Program Load) covers problem determination procedures when adapters with Remote Program Load installed are in the network. • IBM Token-Ring Network Architecture Reference • IBM Token-Ring Network Adapter/A Installation and Testing Instructions (packaged with the adapter) • IBM Personal System/2 Hardware Maintenance Reference Addenda for this publication cover Remote Program Load and the IBM Token-Ring Network Adapter/A: IBM Token-Ring Network Adapter/A Supplement for the IBM Personal System/2 Reference manual IBM Token-Ring Network Remote Program Load Supplement for the IBM Personal System/2 Reference manual • IBM Personal System/2 Hardware Maintenance Service Addenda for this publication cover Remote Program Load and the IBM Token-Ring Network Adapter/A: IBM Token-Ring Network Adapter/A Supplement for the IBM Personal System/2 Service manual 2 IBM Token-Ring Network Remote Program Load Supplement for the IBM Personal System/2 Service manual 3 For assistance in obtaining IBM manuals, see the place where you purchased the Remote Program Load Module. For the item marked with an asterisk (*), see your IBM representative or IBM branch office. Prerequisites Note: You should install and test your ring as instructed in the IBM Token-Ring Network Introduction and Planning Guide and IBM Token-Ring Network Installation Guide before installing the Remote Program Load Modules on the adapters. To use the Remote Program Load on the IBM Token-Ring Network, you need a basic understanding of the IBM Token-Ring Network (see the IBM Token-Ring Network Introduction and Planning Guide). To write programs for the Remote Program Load you must also understand the supporting software routines for the IBM Token-Ring Network (see the IBM Token-Ring Network PC Adapter Technical Reference and the IBM TokenRing Network Architecture Reference). 2 The IBM Token-Ring Network Adapter/A Reference and Service supplements are packaged together. 3 The Remote Program Load Reference and Service supplements are packaged together. v vi Contents Chapter 1. Introduction ............................ Remote Program Load Overview ..................... Which User Are You? .............................. Planner or Network Administrator . . . . . . . . . . . . . . . .. Installer ..................................... Programmer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Daily User ................................... Software and Hardware Requirements ................ 1-1 1-2 1-3 1-3 1-4 1-4 1-4 1-5 Chapter 2. Installing the Remote Program Load Module .. Installation Requirements .......................... Tools Required ................................... Prerequisites .................................... Installation Instructions ............................ 2-1 2-1 2-1 2-2 2-2 Chapter 3. Programming Requirements ............... Example Remote Program Load Sequence ............. Requesting Device Display Screen ................ The Load Requestor .............................. The Adapter Support Subset ....................... Commands Used ............................. RAM Space. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. The Disk Emulator ............................... Disk Emulator Installation ...................... The Bootstrap Program ........................... Writing the Bootstrap Program .................. Loader Program ................................. Sample Loader Flow Charts .................... Options Available with Remote Program Load ......... Multiple Loading Devices ...................... Multiple Adapters ............................ Multiple Rings ............................... Type of Service .............................. Frame Formats .................................. 3-1 3-2 3-9 3-15 3-16 3-16 3-25 3-32 3-32 3-35 3-38 3-42 3-43 3-50 3-50 3-50 3-50 3-50 3-54 Chapter 4. Troubleshooting Remote Program Load Problems ...................................... 4-1 vii List of Abbreviations .............................. X-1 Glossary ........................................ X-3 Index ........................................... X-5 viii Chapter 1. Introduction The IBM Token-Ring Network allows attaching devices (IBM Personal Computers equipped with IBM Token-Ring Network PC Adapters or Adapter lis and attached to the Token-Ring Network, for instance) to share a token-passing local area network. Most Personal Computers or IBM Personal System/2 computers attach to the network by loading the Adapter Support code from a fixed disk or diskette drive. Remote Program Load makes it possible for these computers to attach to the network and to load an application program without using the fixed disk or diskette drive. Such attaching devices (called "Requesting Devices") do this by asking another computer (one that has a disk drive) to send it a Bootstrap Program. The computer with the disk drive is called the "Loading Device." The requirements for the Bootstrap Program are discussed in Chapter 3. Package Contents • The Remote Program Load Module (located in a zip-plastic page) • A special text supplement to update the IBM Token-Ring Network Problem Determination Guide with information for Remote Program Load • This User's Guide • The Remote Program Load Sample Programs diskette 1-1 Remote Program Load Overview A network with Remote Program Load must have a Loading Device and one or more Requesting Devices. • The Loading Device The Loading Device must have a fixed disk or diskette drive. Its purpose is to supply files to the Requesting Devices. The Loading Device must also have an IBM Token-Ring Network adapter installed (the Remote Program Load Module is not required). Note: Because of the size of the sample programs and the speed of a diskette drive, it is recommended that you run the sample programs from a fixed disk. • The Requesting Device The Requesting Device does not need a fixed disk or diskette drive. It receives the files necessary to start from the Loading Device. The Requesting Device has an IBM Token-Ring Network adapter with the Remote Program Load Module installed. - Token-Ring Adapter - Loader Program - Bootstrap Program Requesting Device with - Token-Ring Adapter - Remote Program Load Module 1-2 Two programs are needed to use the Remote Program Load on your network. There are samples of these programs on the diskette included in this package. See the README file on the diskette for a description of these two programs. • The Bootstrap Program This program is sent by the Loading Device to the Requesting Device. The Bootstrap Program (after being installed in the Requesting Device) initializes and restarts the computer. The Bootstrap Program can be any of the following: - • A complete operating system A program that requests more files or programs A combination of the above. The Loader Program This program sends the Bootstrap Program to the Requesting Devices in response to requests sent by Requesting Devices. See Chapter 3 for a complete description of these programs. Another program is required in any Requesting Device that has a fixed disk. This program is RPLBOOT.COM, an executable program that is supplied on the sample programs diskette. RPLBOOT.COM temporarily disables the DOS partition on the fixed disk of the Requesting Device so that Remote Program Load will get control when the computer is restarted. See the README file on the diskette for a more complete description of this program. Which User Are You? Planner or Network Administrator If you are planning a network that will use Remote Program Load or you are the network administrator for such a network, you need to read this User's Guide in its entirety with the possible exception of Chapter 3. 1-3 Installer If you are installing the Remote Program Load Module, read this chapter and Chapter 2. Chapter 2 has the instructions for installing the Remote Program Load Module onto the adapter. Programmer If you are writing programs for the Remote Program Load: • • Read this chapter and Chapter 3. You also need the IBM Token-Ring Network PC Adapter Technical Reference and the IBM Token-Ring Network Architecture Reference. Daily User If you are using a personal computer with Remote Program Load, you need to: • Start Remote Program Load by turning the power on. If the computer is al ready powered on, press the Ctri-Alt-Del key sequence to restart the computer. • Look for soft-error conditions Highlighted field: If any field is highlighted, Remote Program Load will not proceed until the Remote Program Load device is restarted. Unchanged Display: If the Remote Program Load screen does not appear, or the Remote Program Load screen does appear but remains unchanged for a long time, or some other unusual condition occurs, see Chapter 4. • Read "Requesting Device Display Screen" on page 3-9 in Chapter 3 to become more familiar with the Remote Program Load screen. If Remote Program Load occurred successfully, the Remote Program Load screen will be replaced by an operating system prompt or an application screen, depending on what the Bootstrap Program called for. 1-4 Software and Hardware Requirements To use Remote Program Load on your network, you need the Bootstrap Program and the Loader Program discussed above (see Chapter 3 for further details) and the following: 1. A Requesting Device An IBM Personal Computer, IBM Personal Computer XTTM, or IBM Personal Computer AT® that has an IBM Token-Ring Network PC Adapter or Adapter II with a Remote Program Load Module installed or An IBM Personal System/2 computer that has an IBM TokenRing Network Adapter/A with a Remote Program Load Module installed. The Requesting Device must also have: • • • 2. No fixed disk or diskette drive or a fixed disk or diskette drive that will not start the computer (for example, a fixed disk that has been marked as a non-bootable system disk, or a diskette drive with the door open.) A program is provided on the sample programs diskette that will cause the computer to treat the fixed disk as a non-bootable system disk when starting up. An 80-column display At least 256 kilobytes (Kb) of memory (if your Bootstrap Program is large, more memory may be required). A Loading Device An IBM Personal Computer, IBM Personal Computer XT, or IBM Personal Computer AT that has an IBM Token-Ring Network PC Adapter or Adapter II or An IBM Personal System/2 computer that has an IBM TokenRing Network Adapter/A. 1-5 The Loading Device must also have: • • • 3. A fixed disk or diskette drive (the size of the Bootstrap Program may requi re a fixed disk) An 80-column display At least 256 Kb of memory. One Observer Terminal (Optional) An Observer Terminal is needed only if there are problems on the network. This could be the Loading Device or another IBM Personal Computer or IBM Personal System/2 computer that has the ability to run the IBM Token-Ring Network Ring Diagnostic, the IBM Token-Ring Network Manager, or a network application program that provides ring status and fault domain information. (The Ring Diagnostic is contained on the diskette that accompanies each IBM Token-Ring Network adapter. Instructions for using this diagnostic are contained in the IBM Token-Ring Network Problem Determination Guide.) Make sure the observer terminal is connected to the first IBM 8228 Multistation Access Unit (MSAU) specified on the Ring Sequence Chart in its wiring closet. This position in the Multistation Access Unit is necessary to use the Remote Program Load section in the IBM Token-Ring Network Problem Determination Guide. 4. A cable for each device to connect to the network: • • 1-6 An IBM Token-Ring Network PC Adapter Cable (PIN 6339098), if your network uses IBM Cabling System data grade media A Type 3 Media Filter, or equivalent, if your network uses telephone twisted-pair media. See the IBM Token-Ring Network Telephone Twisted-Pair Media Guide, GA27-3714. Chapter 2. Installing the Remote Program Load Module Installation Requirements • The Remote Program Load Module should be installed on IBM Token-Ring Network adapters in all the Requesting Devices on the network. The Remote Program Load Module identified as part number 67X0406 should be installed on IBM Token-Ring Network PC Adapters and Adapter lis, and the Remote Program Load Module identified as part number 83X7887 should be installed on IBM Token-Ring Network Adapter/As. • The Remote Program Load Module may not work on other network adapters. Tools Required Medium-size flat-blade screwdriver (not needed for IBM Personal System/2 computers that use the Micro Channel architecture) Optional: Medium screwstarter 3/16-inch nutdriver 1/4-inch nutdriver 2-1 Prerequisites • The IBM Token-Ring Network PC Adapter Guide to Operations, or the IBM Token-Ring Network AdapterlA Installation and Testing Instructions, as appropriate • The Guide to Operations for your Personal Computer or the Quick Reference for your Personal System!2. Installation Instructions 1 If you will be installing the Remote Program Load Module on a new IBM Token-Ring Network PC Adapter or Adapter II that is not currently installed in a computer, set the switches as instructed in Chapter 2 of the IBM Token-Ring Network PC Adapter Guide to Operations. After setting the switches, go to step 6 in these instructions to install the module. If the adapter is currently installed, continue with step 2. If you will be installing the Remote Program Load Module on an IBM Token-Ring Network Adapter! A that is not currently installed in a computer, go to step 6. If the adapter is currently installed, continue with step 2. 2 3 4 2-2 Turn the computer power off. Remove the computer cables and cover from your computer. See the operator's guide for your IBM Token-Ring Network adapter for instructions. After removing the cables and cover, return here. Locate the IBM Token-Ring Network adapter as illustrated on the followi ng page. Notch BI as Socket Adapter Extra Memory Notch B I as Socket Adapter II Notch B I as Socket Adapter/A 2-3 Adapter Removal 5 6 Remove the Token-Ring Network adapter. Refer to the TokenRing Network PC Adapter Guide to Operations or Personal System/2 Quick Reference if needed. Place the adapter, component side up, on a flat surface (such as a table). Warning: If the adapter is an IBM Token-Ring Network PC Adapter or Adapter II, be careful not to change the switch settings on the adapter. If they are accidentally changed, see "Setting the Switches" in Chapter 2 of the IBM Token-Ring Network PC Adapter Guide to Operations to reset them correctly. Switches ~ ---I ~ ~~' 2-4 Remote Program Load Module Installation 7 Orient the Remote Program Load Module so that the notch on the module is facing in the same direction as the notch on the BIOS socket (see page 2-3 for location of BIOS socket.) Warning: Be sure to orient the module correctly. If the adapter is installed in the computer with the module inserted incorrectly, the module will be damaged when the power is turned on. ~~ ~/NotCh 8 Carefully start the Remote Program Load Module pins into the BIOS socket. If the pins are spread farther apart than the holes, you will need to gently push one row of pins toward the other until both rows are aligned with the holes. Be sure to push an entire row of pins at a time. Do not bend them individually. Warning: The module pins bend easily and can break. Handle the module gently. One way to align the pins is: a. b. 9 Lightly rest one row of pins in their holes in the socket. Carefully push the module toward that row of pins until the other row of pins can sit down into their holes. After all the pins have been started, press straight down on the top of the Remote Program Load Module until the module is fully seated in the socket. 2-5 10 11 12 2-6 Reinstall the adapter, replace the cover, and reconnect all cables. See the operator's guide for the adapter for complete instructions. If you have not already done so, insert the Problem Determination Guide update (included in this package) into the IBM Token-Ring Network Problem Determination Guide (if you have that manual). Go to Chapter 3 for programming requirements to use the Remote Program Load on the IBM Token-Ring Network. Chapter 3. Programming Requirements The diskette provided in this binder includes samples of the two programs that are needed to use Remote Program Load on your network. These sample programs are intended only as aids; they are not intended to be used on the network other than as examples. These two programs (the Bootstrap Program and the Loader Program), which work together to bring up the Requesting Device, need to be written or purchased elsewhere. (The third program on the diskette, RPLBOOT.COM, is not a sample program. It is executable code to be run on a Requesting Device that has a fixed disk, to disable the DOS partition on the fixed disk. See the README file on the diskette for details about this program.) You should be able to write the Bootstrap Program and the Loader Program with the information in this chapter, the IBM Token-Ring Network PC Adapter Technical Reference, the IBM Token-Ring Network Architecture Reference, and a basic understanding of IBM personal computer system programming (for example, a knowledge of IBM Macro Assembler). After describing a ring with Remote Program Load, this chapter covers the following topics: • • • • • • • The Requesting Device display The Adapter Support Subset and the frames used RAM space usage The Disk Emulator A more complete description of the two programs Some sample flowcharts The actual frame formats. 3-1 Example Remote Program Load Sequence Through a series of steps (described in the following pages), the Remote Program Load Module requests and receives the Bootstrap Program from the Loading Device. This is accomplished by read-only memory on the Remote Program Load Module that provides the following: • Load Requestor - A set of commands that sends frames in search of a Loading Device that will supply the Bootstrap Program • Adapter Support Subset - A subset of the IBM Token-Ring Network Adapter Support code used by the Load Requestor • Disk Emulator - A function that handles the diskette image received in the Bootstrap Program (emulates INT X'13' calls). The following section describes one example of the sequence of events that may occur during Remote Program Load. For simplicity's sake, only the major steps are described and only one Loading Device and Requesting Device are considered. On most networks there will be multiple Requesting Devices and sometimes multiple Loadi ng Devices. 3-2 1 The Loading Device is powered on with the needed programs (the Bootstrap Program and the Loader Program). A Loader Program in the Loading Device attaches the Loading Device to the ring and waits for a FIND frame from a Requesting Device. The Loader Program: Opens Service Access Points Issues a Receive Sets the Functional Address Loading Device Requesting Device 3·3 2 The Requesting Device is powered on, and the Remote Program Load Module (on an IBM Token-Ring Network adapter) obtains control. The Remote Program Load Module attaches the Requesting Device to the ring and sends a FIND frame. FIND frames are repeated periodically until a Loading Device responds. Loading Device Find Frame Requesting Device The Load Requestor: Opens a Service Access Point Issues a Receive Issues a Find Frame 3-4 3 The Loading Device receives the FIND frame sent by the Requesting Device. The Loading Device responds by sending a FOUND frame to the Requesti ng Device. The Loadi ng Device provides its address so the Requesting Device can identify it. The Loader Program: Receives the Find Frame Issues a Found Frame Loading Device Found Frame Requesting Device 3-5 4 The Requesting Device receives the FOUND frame with the address of the Loading Device. The Requesting Device sends a SEND.FILE.REQUEST frame back to the Loading Device. This frame is a request for the Bootstrap Program. Load ing Device Requesting Device The Load Requestor: Receives the Found Frame Issues a SEND.FILE.REQUEST Frame for the Bootstrap Program 3-6 5 Upon receiving the SEND.FILE.REQUEST frame, the Loader Program in the Loading Device sends the Bootstrap Program to the Requesting Device by transmitting FILE.DATA.RESPONSE frames. The Loader Program: Receives the SEND.FILE.REQUEST frame Sends the Bootstrap Program in FILE.DATA.RESPONSE frames. Loading Device Bootstrap Program in Multiple Frames Requesting Device 3-7 6 The Requesting Device receives the Bootstrap Program and places it into memory. Status updates are displayed on the screen of the Requesting Device as the program is being sent. See "Requesting Device Display Screen" on the next page. In most cases, more than one frame is required to completely send the Bootstrap Program. After the last frame of the program is received at the Requesting Device, control is transferred to the Bootstrap Program. At this point the Bootstrap Program performs whatever tasks are needed for the Requesting Device and then closes the adapter. 3-8 Requesting Device Display Screen As soon as the Remote Program Load module gains control and initializes the adapter (step 2 in our example), information is displayed on the display screen of the Requesting Device. Messages appear on the screen as the information becomes available. An elapsed time field at the top of the screen continues to be updated to show the time accumulated since the module gained control. Some of the fields will only be displayed for error conditions and all the fields will go away when the adapter is closed by the Bootstrap Program. If an error occurs that makes proceeding impossible, the screen is "frozen" with the field containing the error indication highlighted. If an error occurs that just stops Remote Program Load, it will not be highlighted; see Chapter 4 for possible solutions. All fields are displayed in hexadecimal values. Each field has a 2-character alphabetic prefix, explained on the following pages. The values shown in this sample screen are for example only; yours may differ. ET-00:00:45 ID-166 BU-OOOO AA-I0005A000567 AL-OO 0000 BOOl253 BL-00112233 MM-CCOO 02 SR-D800 08 OP-OOOO RQ-OOOI SF-OOOI SN-0023 OS-0080 RS-0040 PC-4020 AC-0040 0000 0000 0000 3-9 ET -00:00:45 Explanation: Elapsed Time. A continuously updated field indicating the elapsed time since the Remote Program Load Module gained control. 10-166 Explanation: Identification. An indication of which adapter is being used for Remote Program Load. • • A value of 166 indicates the primary adapter. A value of 167 indicates the alternate adapter. BU-OOOO Explanation: Bring-Up. This field is displayed as X'OOOO' if the adapter has been successfully initialized and opened. If the adapter incurred an error a nonzero error code is displayed and the field is highlighted. See "Bring-Up Error" on page 4-5 for more information on the Bring-Up Error. AA-10005A000567 Explanation: Adapter Address. The permanently encoded adapter address (ring address). Always 12 hexadecimal characters. 3-10 AL-OO 0000 B001253 Explanation: Adapter Level. The Engi neeri ng Change (Ee) level of the code on the adapter. BL-00112233 Explanation: BIOS Level (Module Level). The Engineering Change (EC) level of the code in the Remote Program Load Module. MM-CCOO 02 Explanation: Memory (Read-Only Memory). The first four digits are the hexadecimal ROM segment address set on the adapter. The last two digits are the interrupt level set on the adapter. See the operator's guide for your IBM Token-Ring Network adapter for more information. SR-DSOO OS Explanation: Shared RAM. The first four digits are the hexadecimal shared RAM segment address that the adapter uses. The last two digits are the shared RAM segment size (in decimal). "08" indicates 8 Kb of memory and "16" indicates 16 Kb of memory. 3-11 op-oooo Explanation: Open Error. This field is displayed as X'OOOO' if the adapter has been successfully opened and attached to the ring. This field contains a nonzero error code and is highlighted if the adapter incurred an Open Error in trying to attach to the ring. For more information, see "Open Error" on page 4-5. RQ-0001 Explanation: Request Count (Find Frame Count). The number (in hexadecimal) of Find frames that have been transmitted. An excessive request count (greater than 10, for instance) indicates that the Loading Device is either not present or is congested. SF-0001 Explanation: SEND. FILE. REQUEST Frame Count. The number of SEND.FILE.REQUEST frames that have been transmitted. An excessive SEND. FILE. REQUEST frame count (greater than 10, for instance) indicates that the Loading Device is not responding after having been found. 3-12 SN-0023 Explanation: File Response Sequence Number. This value is displayed when the Loading Device has responded to the SEND.FILE.REQUEST. It indicates how many times valid FILE.DATA.RESPONSE frames have been received. 05-0080 Explanation: DLC Status. The message provided by the adapter if an unexpected Data Li nk Control (DLC) condition occurs. The values displayed are useful to the person writing the Loader Program or for analysis of a complex Data Link Control problem on the network. Some values may be displayed that are a combination of the values listed below. Value Meaning Load Requestor Action 8000 4000 2000 Link lost Issue a close station CCB DM or DISC Issue a close station CCB FRMR received Issue a close station CCB and alert frames 1000 FRMR sent Issue a close station CCB and alert frames SAB M E received Issue a connect station CCB 0800 0400 0200 0100 0080 0040 0020 0001 SABME received, link opened Issue a connect station CCB Remote is busy Ignore Remote not busy Ignore Inactivity Timer (Ti) expired Ignore DLC overflow Ignore Priority change Ignore Local busy Not set by requestor 3-13 RS-0040 Explanation: Ring Status. This field displays a code indicating the status of the ring. The field will be highlighted if the operation cannot continue; it will not be highlighted if processing can continue. For more information, see "Ring Status Error" on page 4-5. PC-4020 Explanation: Personal Computer or Personal System/2 error. This field displays an error code indicating that the adapter has difficulty in functioning with the computer. In most cases the screen will be frozen and this field will be highlighted because the adapter cannot continue. For more information, see "PC Error" on page 4-6. AC-0040 0000 0000 0000 Explanation: Adapter Check. The adapter has detected an internal error and cannot continue. Restart your computer. If this problem persists, have your system unit, with the adapter, serviced. Record the adapter check code to give to the service person when the system unit is serviced. 3-14 The Load Requestor The Load Requestor function: • Opens the adapter and attaches to the network • Attempts to locate a Loading Device • Issues a SEND. FILE. REQUEST frame for the Bootstrap Program • Places the frames of the Bootstrap Program in memory at locations specified in the frames or in sequential default locations • Verifies the correct sequence and receipt of each frame • Re-requests lost or missing frames • Transfers control to a specified memory location or default location after the last frame is received and placed in memory • Terminates itself when control is transferred to the Bootstrap Program. 3-15 The Adapter Support Subset The Adapter Support Subset (a part of the Remote Program Load Module) consists of a modified version of the Adapter Support code 1 used by the adapter. This version of the Adapter Support code is designed to operate only with Remote Program Load. It cannot be used for any other purpose. The major differences between the Adapter Support Subset and the Adapter Support code are described in this section. Commands Used All commands used by the Adapter Support Subset are listed here. See the IBM Token-Ring Network PC Adapter Technical Reference for the meaning of each command. 1 The Adapter Support code is provided by the Adapter Support Interface shipped with the IBM Token-Ring Network PC Adapter or Adapter II or by the IBM Local Area Network Support Program. 3-16 The Limited Command Set The following are the only commands provided with the limited capabilities of the Adapter Support Subset. Commands identified as "modified" have been changed for Remote Program Load from the same commands in the full Adapter Support code. Hex Value Command Name X'OO' OIR.INTERRUPT X'03' 01 R.OPEN.AOAPTER (modified) X'04' OIR.CLOSE.AOAPTER (modified) X'06' OIR.SET.GROUP.AOORESS X'OT OIR.SET.FUNCTIONAL.AODRESS X'OA' TRANSMIT.DIR.FRAME (modified) X'08' TRANSMIT.I.FRAME (modified) X'OO' TRANSMIT.UI.FRAME (modified) X'OE' TRANSMIT.XID.CMO (modified) X'OF' TRANSMIT.XID.RESP.FINAL (modified) X'10' TRANSMIT.XID.RESP.NOT.FINAL (modified) X'11 ' TRANSMIT.TEST.FRAME (modified) X'14' OLC.RESET (modified) X'15' DLC.OPEN.SAP (modified) X'16' D LC. CLOSE. SAP (modified) X'19' DLC.OPEN.STATION X'1A' DLC.CLOSE.STATION X'18' OLC.CONNECT.STATION X'1C' OLC.MODIFY X'10' DLC.FLOW.CONTROL X'22' DI R.TI M ER.SET X'23' DIR.TIMER.CANCEL X'29' RECEIVE.CANCEL (modified) X'2A' RECEIVE.MODIFY (modified) X'2C' DIR.CANCEL.TIMER.GROUP 3-17 Commands Not Used The following commands are not supported by the limited capabilities of the Adapter Support Subset. If any of these commands is issued by the Bootstrap Program before a complete version of the Adapter Support code is installed in the computer, the adapter will hang and operator intervention will be required to correct the problem. Hex Value Command Name X'01' D I R. MOD I FY. 0 P EN. PAR MS X'02' DI R.RESTORE.OPEN.PARMS X'05' DI R.I MPL.ENABLE X'OS' DIR.READ.LOG X'OS' SET.BRI DGE.PARAMETERS X'OC' DIR.CONFIGURE.BRIDGE.RAM X'12' Reserved X'13' Reserved X'17' Reserved X'1S' Reserved X'1 E' DLC.STATISTICS X'1 F' Reserved X'20' DIR.INITIALIZE X'21 ' DIR.STATUS X'24' PDT.TRACE.ON X'25' PDT.TRACE.OFF X'26' GET.BUFFER X'27' FREE.BUFFER X'2S' RECEIVE X'2B' DEFI NE.MIF.ENVI RONMENT X'2D' SET.USER.APPENDAGE X'2E' BEGIN.FRAME.PASSING X'2F' END.FRAME.PASSING 3-18 Adapter Support Subset Details • Entry Point The entry point to the Adapter Support Subset will be provided in INT X'FD'. INT X'5C' will not be used by Remote Program Load. • Shared RAM Address The Remote Program Load Module will force the Shared RAM Address for the IBM Token-Ring Network PC Adapter and Adapter II to be X'DBOO'. The value for those adapters cannot be selected or changed by user code. For the IBM Token-Ring Network Adapter/A, the Shared RAM Address is configurable using the IBM Personal System/2 Reference Diskette. • Return Codes The following Return Codes are suppressed in the Adapter Support Subset: X'03' Adapter open, should be closed. X'04' Adapter closed, should be open. X'OT Command canceled, unrecoverable failure. X'09' Adapter not initialized, should be initialized. X'OB' Command canceled, adapter closed. X'1B' CCB_PARM_TAB pointer 0-1024. X'1C' Invalid pointer in the CCB_PARM_TAB. X'1D' Invalid CCB_ADAPTER value. • CCB_ADAPTER This field is ignored in all CCB commands. It is used as an internal work area by the Adapter Support Subset. • STATION_ID The STATION_ID is not validated by the Adapter Support Subset. A value of OOxx indicates the DIRECT station, xxOO indicates the SAP station 0100, and xxyy indicates the LINK station 0101. 3-19 • Appendages CCB_CMD_CMPL: The Command Completion appendage is taken only as a result of a hardware interrupt. It is never taken if the command executes entirely within the processor. Furthermore, if CCB_CMD_CMPL is 0000:0000, the Adapter Support Subset will not return from the INT X'FD' interrupt until the command is complete. ADAPTER.CHECK.EXIT: PC.ERROR.EXIT: RING.STATUS.EXIT: These appendages cannot be set by user code. They wi II always point to an internal routine within the Remote Program Load Module. When an Adapter Check, Ring Status, or a PC Error occurs, the Remote Program Load Module will display the error code on the screen. • DIR.OPEN.ADAPTER This command will automatically issue DIR.INITIALlZE.ADAPTER before attempting to open the adapter. The CCB_PARM_TAB field is forced to point to an internal parameter table pre-set with the following values: PARAMETER NAME LENGTH (BYTES) VALUE OPEN OPTIONS 02 X'2000' Disable Soft Errors NODE ADDRESS 06 X'OOOO 0000 0000' GROUP ADDRESS 04 X'OOOO 0000' FUNCTIONAL ADDR 04 NUMBER RCV BUFFERS 02 X'OOOO 0000' X'0002' RCV_BUFFER_LEN 02 X'0180' DHB BUFFER LEN 02 X'OOFO' DATA_HOLD_BUF 01 X'01' DLC MAX SAP 01 X'01' DLC MAX STATIONS 01 X'01' DLC_MAX_GSAP 01 X'OO' DLC MAX GSAP MEMS 01 X'OO' DLC_T1_TICK_ONE 01 X'OO' DLC T2 TICK ONE 01 X'OO' 3-20 PARAMETER NAME LENGTH (BYTES) VALUE DLC_TI_TICK ONE 01 DLC T1 TICK TWO 01 X'OO' DLC T2 TICK TWO 01 X'OO' DLC TI TICK TWO 01 X'OO' PRODUCT 10 18 ALL X'OO's • X'OO' DLC.OPEN.SAP The Load Requestor issues this command with the following parameters. When this command is issued to the Adapter Support code, the parameters marked as "Ignored" or "Not Used" are ignored or not used even though the Load Requestor may have specified them. OFF PARAMETER SET NAME 00 STATION_I 0 LENGTH 8086 (BYTES) TYPE 02 OW DESCRIPTION X'0100' = STATION_I 0 02 USER STAT 02 OW Not Used. 04 TIMER_T1 01 DB X'02' = Rsp Timer 05 TIMER T2 01 DB X'01' = Ack Timer 06 TIMER Ti 01 DB X'OA' 07 MAXOUT 01 DB X'08' 08 MAXIN 01 DB X'08' 09 MAXOUT INCR 01 DB X'OO' 10 MAX RETRY 01 DB X'OO' 11 MAX MEMBERS 01 DB X'OO' 12 MAX I FIELD 02 OW X'0800' 14 SAP_VALUE 01 DB X'FC' 15 OPTIONS 01 DB X'04' = Individual SAP 16 STN COUNT 01 DB X'01' 17 Reserved 02 DB X'OOOO' 19 GROUP COUNT 01 DB X'OO' 20 GROUP LIST 04 DO X'OOOO 0000' 24 DLC STATUS 04 DO Internal routine 28 DLC_BUF_SIZ 02 OW Ignored 30 POOL LENGTH 02 OW Ignored 32 POOL_ADDR 02 OW Ignored = Inact Timer 3-21 • DIRCLOSE.ADAPTER This command will turn off the adapter, remove the Adapter Support Subset from the operational environment, and blank the display screen. • DLC.RESET The STATION_ID parameter for this command will be forced to X'0100' . • DLC.CLOSE.SAP This command will return a CCB_RETCODE of 0, if there is no SAP open. • RECEIVE.MODIFY This command will assume the following: The first 2 data bytes of every frame indicate the length of the Remote Program Load header in DB format. The most significant byte appears first. The STATION.lD is specified at offset 12 of the CCB. There is no parameter table pointer. The RECEIVE. MODIFY is accepted by the Adapter Support Subset even if the station is not open. The RECEIVED.DATA appendage is never taken. USER LENGTH is 0000. The RECEIVE. MODIFY will ignore USER LENGTH. 3-22 The CCB_CMD_CMPL appendage will be called in lieu of SUBROUTINE@. When this appendage gets control, the following interface is provided: AX = 0000. The CCB_RETCODE is ALWAYS an implied 00. CX = 0000. OX = The number of bytes left in the frame. SS = ES = Adapter Support Subset Work Area Segment = 0000. BP = Adapter Support Subset Work Area Offset + 128. ES:BX = Receive Data SAP Buffer @. DS:SI = RECEIVE.MODIFY CCB @. ES:DI = Offset 58 of the Receive Data SAP Buffer. This is the beginning of the RCVD DATA field. The subroutine MUST ISSUE an IRET to return to the Adapter Support code. On return, the following interface is assumed: • AL is 00 means ES:DI contains a valid memory address, CX indicates the number of bytes to move. Remote Program Load will convert ES:DI so that the data moved can cross segment boundaries. • AL not 00 means discard the rest of the data. At no time should the application issue BUFFER.FREE. • RECEIVE. CANCEL If there is no receive outstanding, this command will return a CCB_RETCODE of zero (0). • Transmit Commands The Remote Program Load Module will automatically retry all transmit commands two times if the return code given by the IBM Token-Ring Network adapter is one of the following: X'22' - Error on frame transmission - check TRANSMIT.PCFE data. X'23' - Error in frame transmit or strip process. If the error persists after two times, the Remote Program Load Module will perform error recovery on a per-transmit basis. 3-23 The following assumptions are made about the CCB Parameter Table of ALL transmit commands: XMIT.QUEUE.ONE: This field is assumed to be 0000:0000 and is ignored by the Adapter Support Subset. XMIT.QUEUE.TWO: This field is assumed to be 0000:0000 and is ignored by the Adapter Support Subset. BUFFER.LEN.ONE: This field contains the length of BUFFER.ONE, which is assumed to point to a properly formatted LAN header. BUFFER.LEN.TWO: This field contains the length of BUFFER.TWO. BUFFER.ONE: This field is assumed to point to a properly formatted LAN header. This field is ignored if CCB_COMMAND is XMIT.I.FRAME. BUFFER.TWO: This field points to the data the user wishes to transmit. If CGB_COMMAND is XMIT.I.FRAME, this is the only data that is given to the IBM Token-Ring Network adapter. 3-24 RAM Space The Remote Program Load Module alters RAM (Random Access Memory) from X'OOOO:OOOO' to X'OOOO:OCOO' (segment X'OOOO' offset X'OOOO' to segment X'OOOO' offset X'OCOO'). This area is initialized by the Remote Program Load Module when it gets control. It is also used as the Remote Program Load stack space. At offset X'0600' is a block of control information that may be used by the Bootstrap Program when it takes control (segment X'OOOO'). Each parameter is explained on the following pages. OFF PARAMETER SET NAME LENGTH 8086 (BYTES) TYPE 0600 WORK_AREA 98 DB The Remote Program Load Module variable work area 0662 ADP _FLGO 1 DB Adapter flag zero 0663 ADP FLG1 1 DB Adapter flag one 0664 ALERT_CODE 1 DB Temporary save area for PROGRAM.ALERT frame code 0665 TIMER 1 DB Countdown timer 0666 USER TMR 1 DB Available user timer 0667 BRING UP DESCRIPTION 1 DB Bring-up error code 0668 FRAME_HDR 32 DB LAN header for transmit 0688 NEXT_ADDR 4 DD Next contiguous address for FILE.DATA.RESPONSE 068C XFER ADDR 4 DD Transfer control address 0690 XMIT_PARMS 24 DB Transmit CCB parameter table 06A8 FRAME_SKEL 174 DB FIND/SEND.FILE.REQUEST skeleton 0756 RCV BUFFER 232 DB RECEIVE.MODIFY data buffer 083E USER_WORK 130 DB Available user work area 64 DB Remote Program Load CCB work area 0900 STACK 512 DB Remote Program Load stack area OBOO USER_STCK 256 DB Optional user stack area 08CO CCB_WORK 3-25 WORK_AREA Explanation: A work area reserved for the Remote Program Load variables. This field must not be modified by any program using the Remote Program Load. ADP _FLGO Explanation: A bit-significant flag used to control the Adapter Support Subset execution environment. The bits are: Bit Meaning 7 This bit is set by the Remote Program Load when it receives a FOUND frame in response to a FIND frame. It should not be altered by the Bootstrap Program. (X'SO') 6 (X'40') This bit is set by the Remote Program Load when it receives a valid FILE.DATA.RESPONSE frame. It will be zero (0) when the Bootstrap Program gets control. 5 (X'20') This bit will force a Remote Program Load restart on the next adapter interrupt. The restart will occur regardless of the state of any other bits in ADP _FLGO or ADP_FLG1. It will be zero (0) when the Bootstrap Program gets control. 4 (X'10') This bit will force the Remote Program Load to go into the PROG RAM.ALERT sequence after the next adapter interrupt. This bit will be zero (0) when the Bootstrap Program gets control. FRAME SKEL is assumed to contain the PROGRAM.ALERT frame. The Remote Program Load will issue PROGRAM.ALERT frames at 10-second intervals until bit 5 of this flag is on. If bit 5 does not come on within three minutes, the Remote Program Load will generate a restart condition. Note that this bit has priority over bit 3. 3 (X'OS') This bit will force the Remote Program Load to send a SEND.FILE.REQUEST frame after the next adapter interrupt. FRAME SKEL is assumed to contain the SEND.FILE.REQUEST frame. SEND.FILE.REQUEST frames will be sent at 10-second intervals until bit 6 of this field is on. If bit 6 does not come on within three minutes, the Remote Program Load will generate a restart condition. This bit will be zero when the Bootstrap Program gets control. 2 (X'04') This bit is used internally by the Remote Program Load and must not be altered by any program using the Remote Program Load. 1 (X'02') This bit is set by the Remote Program Load to indicate that it is in the PROGRAM.ALERT sequence. This field must not be modified by the Bootstrap Program. 0 (X'01') This bit is set by the Remote Program Load to indicate that it is in the SEND.FILE.REQUEST sequence. This field must not be modified by the Bootstrap Program. 3-26 ADP _FLG1 Explanation: A bit-significant flag used to control the Remote Program Load Adapter Support Subset operating environment. The bits are: Bit 7 (X'SO') 6 (X'40') Meaning This bit is set by the Remote Program Load when it receives an end of file on a FILE.DATA.RESPONSE frame. It will be zero (0) when the Bootstrap Program gets control. The Remote Program Load RECEIVE.MODIFY routine will discard all FILE.DATA.RESPONSE frames until this bit is zero. This bit is used internally by the Remote Program Load and must not be altered by any program using the Remote Program Load. 5 (X'20') This bit will suspend the Remote Program Load RECEIVE. MODI FY command from processing any frames. Any frames received while this bit is on are discarded. This bit will be on (1) when the Bootstrap Program gets control. It must be set to zero (0) to activate the Remote Program Load RECEIVE.MODIFY routine. 4 (X'10') This bit is used by the Adapter Support Subset to control the display I/O. The Adapter Support Subset will not issue I NT X'1 0' while this bit is on unless an unrecoverable problem is detected. If such a problem is detected, the Adapter Support Subset displays the highlighted error and goes into a hard loop. It may be set by the Bootstrap Program to turn off the Adapter Support Subset display. It will be zero (0) when the Bootstrap Program gets control. 3 (X'OS') This bit causes the Adapter Support Subset to transfer control to the address in the XFER_ADDR field at the end of the next adapter interrupt. It will be zero (0) when the Bootstrap Program gets control. Note that the transfer control is not taken until bits 5, 4, 3, 1, and 0 of the ADP FLGO are all zero. If XFER ADDR is 0000:0000 this bit is-ignored by the Adapter Support Subset. 2 (X'04') This bit is used internally by the Remote Program Load and must not be altered by any program using the Remote Program Load. 1 (X'02') This bit is used internally by the Remote Program Load and must not be altered by any program using the Remote Program Load. 0 (X'01') This bit is used internally by the Remote Program Load and must not be altered by any program using the Remote Program Load. 3-27 ALERT _CODE Explanation: A temporary ALERT_CODE save area. The Remote Program Load will move this value to the PROGRAM.ALERT frame when it detects bit 4 on in the ADP _FLGO field. The PROGRAM.ALERT frame will be built from the FRAME_SKEL at offset X'06A8'. LOADR _TMR Explanation: An internal timer used by the Remote Program Load to update the elapsed time on the screen. This field should not be altered by any program using the Remote Program Load. USER _TMR Explanation: A 1-byte field available to the Bootstrap Program to time events. This variable will be incremented by 1 every 100 milliseconds. The Remote Program Load uses this field to time the FIND, SEND.FILE.REQUEST, and PROGRAM.ALERT frames. BRING _UP Explanation: The adapter bring-up code. This field is set by the Remote Program Load after the adapter has been initialized. This value will be 00 when the Bootstrap Program gets control. It is not used by the Remote Program Load after the loaded program gets control. 3-28 FRAME_HDR Explanation: A LAN header built by the Remote Program Load. It contains 2 bytes of control fields, 6 bytes of destination address, 6 bytes of source address, and up to 18 bytes of routing information. Remote Program Load points to this header when it is transmitting Unnumbered Information (UI) frames to the Loader Device. NEXT _ADDR Explanation: The next contiguous memory address for placing FILE.DATA.RESPONSE data. The Remote Program Load updates this field on every valid FILE.DATA.RESPONSE frame received. When the Bootstrap Program gets control, this field will be set to 0000:0000. It must be set to an address greater than OOOO:OCOO prior to activating the Remote Program Load RECEIVE.MODIFY Subroutine. XFER_ADDR Explanation: When the Bootstrap Program gets control, this field points to an internal Remote Program Load routine which emulates an INT X'19' call. Explanation: The transmit CCB parameter table. See the IBM Token-Ring Network PC Adapter Technical Reference. 3-29 FRAME_SKEL Explanation: The FIND, SEND. FILE. REQUEST, and PROGRAM.ALERT frame skeleton. When the Bootstrap Program gets control, this skeleton will be filled with an appropriate SEND.FILE.REQUEST frame. RCV _BUFFER Explanation: This buffer is used to copy all frame headers sent to SAP X'FC'. Its format is described in the IBM Token-Ring Network PC Adapter Technical Reference. This field should not be altered by any program using the Remote Program Load. Explanation: When the Bootstrap Program gets control, this field will be X'OO'. It may be used by the program as a work area. It is not used by the Remote Program Load or the Adapter Support Subset. CCB _WORK Explanation: The Remote Program Load work area. This field must not be altered by any program using the Remote Program Load. 3-30 STACK Explanation: The Remote Program Load and Adapter Support Subset stack. USER _STCK Explanation: Optional stack area. The Bootstrap Program may use this for stack space if desired. 3-31 The Disk Emulator After the Remote Program Load Module gets control, it will redirect all INT X'13' calls to a disk emulator program provided by the Remote Program Load Module. This allows the computer to simulate a diskette drive in memory, or override the use of an existing drive. This function remains active after the Remote Program Load functions have completed. Disk Emulator Installation The Remote Program Load Module performs the following steps to install the disk emulator program: 1. Save the original contents of INT X'13' in INT X'18' (0000:0060). 2. Redirect INT X'13' to point to a disk emulator in the Remote Program Load Module. 3. Initialize 0000:0120 to zero. AIlINT X'13' commands to drive zero will be rejected until 0000:0120 is set to a value greater than X'1000:0000' (64K). Operational Requirements 1. The code is enabled during the Remote Program Load mode, which receives control when INT X'18' is invoked. 2. I/O requests to drives other than BIOS (Basic Input/Output System) drive zero are passed to the originallNT X'13' call. 3. INT X'18' vector (0000:0060) will be used to save the contents of the original INT X'13' vector. It must not be altered. 3-32 4. 0000:0120 is reserved for the address of the start of the diskette image header in RAM. The diskette image must not be located above the 640 Kb boundary. This vector must be set up by the Bootstrap Program application code before the first INT X'13' is issued. It is assumed to pOint to a diskette image header followed by a diskette image having the following structure: OFF- FIELD SET NAME LENGTH 8086 (BYTES) TYPE DESCRIPTION = 0 Heads 1 DB Number of Heads 1 Tracks 1 DB Number of Tracks per Head h 2 3 5 Sectors 1 DB Number of Sectors per Head Sector.Size 2 DW Number of Bytes per Sector Status 1 DB Diskette Status Byte 6 Image.Data ss DB Head (0). Track (0). Sector (1). ss DB Head (0). Track (0). Sector (5). 55 DB Head (0). Track (1). Sector (1). 55 DB Head (0). Track (1). Sector (5). 55 DB Head (0). Track (t-1). Sector (1). ss DB Head (1). Track (0). Sector (1). ss DB Head (1). Track (1). Sector (1). ss DB Head (1). Track (t-1). Sector (1). ss DB Head (0). Track (t-1). Sector (5). 55 DB Head (h-1). Track (t-1). Sector (s). =t =5 = 55 Disk Emulator Usability The Disk Emulator Program is designed so that code written to use the IBM BIOS INT X'13' interface does not need to be altered. 1/0 Requests for drives other than drive zero are passed on to the original INT X'13' vector. Requests to drive zero are made exactly as they would be to the BIOS diskette 1/0 code with the following exceptions: • Reset Requests (AH = 00) are ignored. The return code is set to indicate successful command completion. • Status Requests (AH = 01) are implemented to give the current status of the disk emulator. • Read Requests (AH = 02) are implemented to return to the user the contents of the sector(s) requested. 3-33 • Write Requests (AH = 03) are implemented to update the RAM disk with the contents of the user supplied data. Note that the updates are not preserved if the user restarts or powers off the machine. • Verify Requests (AH = 04) are ignored. The return code is set to indicate successful command completion. • Format Requests (AH = 05) are not honored. The return code is set to indicate an invalid command. • Unknown Functions (AH > 05) are not honored. The return code is set to indicate an invalid command. 3-34 The Bootstrap Program The Bootstrap Program may use the Adapter Support Subset to download an operating system, other application programs, or a combination of both. The following considerations are given for this interface: • System Environment The computer's Basic Input/Output System (BIOS) will be initialized. The display will be active; the Remote Program Load Module will continue to update the display as defined in "Requesting Device Display Screen." • Adapter Environment When the Bootstrap Program acquires control, the IBM TokenRing Network adapter will be in the following state: The adapter will be open. DIR.OPEN.ADAPTER parameters are given in the table below. PARAMETER NAME LENGTH (BYTES) OPEN OPTIONS 02 VALUE X'2000' Disable Soft Errors NODE_ADDRESS 06 X'OOOO 0000 0000' GROUP_ADDRESS 04 X'OOOO 0000' FUNCTIONAL_ADDR 04 X'OOOO 0000' N U M B ER_RCV_B U FFE RS 02 X'OO02' RCV BUFFER LEN 02 X'0180' DHB_BUFFER_LEN 02 X'OOFO' DATA HOLD BUF 01 X'01' DLC_MAX_SAP 01 X'01' DLC_MAX_STATIONS 01 X'01' DLC MAX GSAP 01 X'OO' DLC_MAX_GSAP_MEMS 01 X'OO' DLC T1 TICK ONE 01 X'OO' DLC_T2_TICK_ONE 01 X'OO' DLC_TI_TICK_ONE 01 X'OO' DLC T1 TICK TWO 01 X'OO' DLC_T2_TICK_TWO 01 X'OO' DLC TI TICK TWO 01 X'OO' PRODUCT_ID 18 ALL X'OO's 3-35 The DLC.OPEN.SAP will be active. The parameters used for the DLC.OPEN.SAP are given in the table below. OFF- FIELD SET NAME 00 LENGTH 8086 (BYTES) TYPE STATION ID 02 DW DESCRIPTION X'0100' = STATION_ID 02 USER STAT 02 DW Not Used. 04 TIMER_T1 01 DB X'02' = Rsp Timer 05 TIMER T2 01 DB X'01' = Ack Timer 06 TIMER Ti 01 DB X'OA' = Inact Timer 07 MAXOUT 01 DB X'08' 08 MAXIN 01 DB X'08' 09 MAXOUT INCR 01 DB X'OO' 10 MAX RETRY 01 DB X'OO' 11 MAX_MEMBERS 01 DB X'OO' 12 MAX I FIELD 02 DW X'0800' 14 SAP_VALUE 01 DB X'FC' 15 OPTIONS 01 DB 16 STN_COUNT 01 DB X'04' = Individual SAP X'01 ' 17 Reserved 02 DB X'OOOO' 19 GROUP _COUNT 01 DB X'OO' 20 GROUP LIST 04 DD X'OOOO 0000' 24 DLC STATUS 04 DD Internal routine 28 DLC_BUF _SIZ 02 DW Ignored 30 POOL LENGTH 02 DW Ignored 32 POOL_ADDR 02 DW Ignored The DLC.OPEN.STATION will not be active. The Bootstrap Program will have one link station to use if it wishes to use IEEE 802.2 Type 2 services. It must activate this service by issuing a DLC.OPEN.STATION and a DLC.CONNECT.STATION. The DIR.SET.GROUP.ADDRESS and DIR.SET.FUNCTIONAL.ADDRESS will not be active. The Remote Program Load Module will set the Group Address to 0000:0000 prior to giving control to the Bootstrap Program. The Remote Program Load Module RECEIVE.MODIFY will be in a suspended state when the Bootstrap Program gets control. To activate the SAP, the Bootstrap Program must reset bit 5 of the ADP _FLG1 to zero. This command will use LOCATE_ADDR and XFER_ADDR of the FILE.DATA.RESPONSE frame to locate each frame it receives. If the programmer wishes to override this 3-36 RECEIVE. MODIFY, the Bootstrap Program may issue its own RECEIVE.MODIFY. RECEIVE.CANCEL is not required. The parameter NEXT_ADDR in the Remote Program Load Module work area may be re-initialized by the Bootstrap Program to set the default for the next contiguous address to use. The Remote Program Load Module sets this value to 0000:0000 before giving control to the Bootstrap Program. If the Bootstrap Program uses the Remote Program Load Module RECEIVE.MODIFY without setting the NEXT_ADDR to a valid value, the Adapter Support Subset will detect a MEMORY OVERRUN condition and issue program alert frames. The parameter XFER_ADDR in the Remote Program Load Module work area may be re-initialized by the Bootstrap Program to set the default for transferring control to the operating system. The Remote Program Load Module sets this value to point to an internal routine that performs an INT X'13' to read the diskette image Bootstrap Program from a previously downloaded diskette image into 0000:7COO and transfers control to it. The Bootstrap Program may change this value if it wishes to use some other routine to bring up the operating system. • Locating the Loading Device On entry to the Bootstrap Program, registers SS:BP will be set up to point to the work area plus 128 bytes. The work area will have all the necessary information required to locate the Loading Device that was used to download the Bootstrap Program. If the Bootstrap Program wishes to use another Loading Device, it must first locate it by sending a FIND. • Receiving the Operating System The Remote Program Load Module makes no assumptions about the operating system that is being downloaded. If a derivative of PC DOS is being used, a diskette image of that operating system should be downloaded. If the diskette image is in the format described previously, the Remote Program Load Disk Emulator may be used to start the operating system by issuing the appropriate INT X'13' calls. 3-37 • Transferring Control to the Operating System Prior to transferring control to the operating system, the Bootstrap Program must issue a DIR.CLOSE.ADAPTER to the Adapter Support Subset. This command will remove the Adapter Support Subset from the operational environment and clear the screen on the display. Unpredictable results will occur if this is not done. Note: If you want to use an application program on the IBM Token-Ring Network, the Adapter Support code provided with the IBM Token-Ring Network adapter or from the LAN Support Program should be downloaded as part of the operating system. Writing the Bootstrap Program A Bootstrap Program can be written in many different ways. The simplest way to write a Bootstrap Program is to write it as a single-stage program. The Single-Stage Bootstrap Program A single-stage Bootstrap Program is contained in a file that also contains the programs and data to be loaded into the Requesting Device. The programs and data may be in the form of a diskette image. This file resides on the Loading Device's fixed disk or diskette (depending upon the size of the file) and is downloaded to the Requesting Device starting at location X'OOOO:7COO' in response to the initial request sent by the Requesting Device. After this file has been downloaded and control has been transferred to the Bootstrap Program in it, the Bootstrap Program allocates the necessary memory, loads the programs and data from the file into the Requesting Device memory, closes the adapter, and transfers control to the program to be executed in the Requesting Device. A single-stage Bootstrap Program can be written in a variety of ways, but must be compatible with the Loader Program being used. The following paragraphs describe the sample Bootstrap Program from the Sample Programs diskette, which will work with the sample Loader Program from the Sample Programs diskette. The README file on the Sample Programs diskette describes how to generate a single-stage Bootstrap Program file. The file in this case consists of the Bootstrap Program from the Sample Programs 3-38 diskette followed by a diskette image header and a system diskette image. After this file has been downloaded and control has been transferred to the Bootstrap Program, the sample Bootstrap Program creates a RAM diskette image in the Requesting Device memory and transfers control by performing the following steps: • Compute the size of the diskette image using the data contained in the diskette image header • Check memory size • Reduce memory size by the amount of space requi red for the diskette image header and diskette image • Move the diskette image header and diskette image to high memory • Initialize the pointer to the diskette image header for the Remote Program Load Module disk drive emulator • Issue a DIR.CLOSE.ADAPTER command • Transfer control to the program pointed to by XFER_ADDR, which will generate an interrupt X'13' to force a restart from the relocated system diskette image. The Remote Program Load disk emulator treats the RAM diskette image as drive zero, and the interrupt X'13' will cause the program on the system diskette image to be loaded and executed. If the diskette image that was downloaded is the image of a DOS system diskette, then DOS will be loaded from the diskette image and control will be transferred to it. If the diskette image contains an AUTOEXEC.BAT file, it will automatically be executed and start any programs contained in the diskette image that are specified, including any IBM Token-Ring Network programs, in the same manner as if an actual diskette drive and diskette were used. The primary disadvantage of the single-stage Bootstrap Program is that the Requesting Device must contain enough memory to contain the RAM diskette image in addition to the memory required to execute the programs contained in the image. If the image of a 360Kb diskette were used, the computer would probably require 640 Kb of memory. On the other hand, if the image of the smaller singlesided, 8-sector, 160Kb diskette were used, the computer might require only 256 Kb of memory. 3-39 The Multistage Bootstrap Program If the single-stage Bootstrap Program described above cannot be used because of memory size restrictions or other special requirements, then a multistage Bootstrap Program must be used. Although a multistage Bootstrap Program is more complex than a single-stage Bootstrap Program, it is also more flexible and can request only the specific files required and does not need to have a complete diskette image downloaded. When a multistage Bootstrap Program is used, the Bootstrap Program is downloaded alone and control is passed to it. It then issues additional SEND. FILE. REQUEST frames to the Loading Device to cause the additional program files to be downloaded to the Requesting Device. The general flow of the downloading portion of a multistage Bootstrap Program might be similar to the sample below. Let XFER. FLAG = OFF Let FRAME.SEQ = Zero Issue a RECEIVE. MODIFY command Build a SEND. FILE. REQUEST frame Transmit the SEND. FILE. REQUEST frame DO UNTIL XFER.FLAG = ON ENDDO Issue a DIR.CLOSE.ADAPTER command Transfer control to the address specified by XFER@ 3-40 The general flow of the receive subroutine used by the Requesting Device might be similar to the following: If FILE.DATA.RESPONSE If FRAME.SEQ = SEQ.NUMBER Then DO FRAME.SEQ = FRAME.SEQ + 1 If ACK.REQUEST = ON Then DO Update the SEND. FILE. REQUEST frame using FRAME.SEQ Transmit the SEND.FILE.REQUEST frame ENDDO ENDIF AL = Zero CX = DAT A.SIZE If LOCATE.ENABLE = ON Then ES:DI = LOCATE_ADDR Else ES:DI = Next Contiguous Address ENDIF If END.OF.FILE = ON Then DO If XFER.ENABLE = ON Then XFER@ = XFER_ADDR Else XFER@ = Default Val ue ENDIF XFER.FLAG = ON ENDDO ENDIF ENDDO Else DO Update the SEND.FILE.REQUEST frame using FRAME.SEQ Transmit the SEND. FILE. REQUEST frame AL = 255 ENDDO ENDIF ENDIF RETURN 3-41 Loader Program It is assumed the Loader Program will reside in a computer with a fixed disk or diskette drive that is capable of downloading a file or a disk image by responding to the frames from the Requesting Device. The frames are designed to give the programmer maximum flexibility. The Loading Device must be accessible to the Requesting Device through the IBM Token-Ring Network. Besides this, no other assumption is made as to where the Loading Device is located. It may be located on the same ring or it may located on another ring connected by a bridge. The frames are designed to handle more than one Loading Device on the same ring. It is recommended that the Loading Device allocate its resources on a per-request basis and only after receiving the SEND.FILE.REQUEST frame. The Requesting Device will respond to the first FOUND frame it receives and ignore the others. (See "Multiple Loading Devices" on page 3-50.) 3-42 Sample Loader Flow Charts Initialization Code START Issue DIR.INITIALIZE Issue DIR.OPEN. ADAPTER Issue DLC.OPEN.SAP (HEX FC and F8) Issue RECEIVE (HEX FC and F8) Issue DIR.SET. FUNCTIONAL. ADDRESS All Remote Program Load frames issued by Requesting Devices will be processed by the RECEIVE.DATA appendage which is set by the Receive command. RECEIVE.DATA is given control by the Adapter Support code. END 3-43 RECEIVE.DATA Appendage The Adapter Support code invokes this code when it has data for either of the Service Access Points opened by DLC.OPEN.SAP in the initialization code. HEX FC Called by the Adapter Support Interface Call Found Return from Interrupt HEX F8 Called by the Adapter Support Interface Call Alert Call Send.Data Return from Interrupt 3-44 FOUND Called by the RECEIVE.DATA Appendage Process and Examine Parameters in Find Frame Prepare a Found Frame to Return to the Requesting Device Transmit the Found Frame to the Requesting Device RETURN 3-45 ALERT Called by the RECEIVE. DATA Appendage Process Alert Frame RETURN 3-46 Responses to ALERT frames from Requesting Devices are determined by the Loader Program. SENDFILE.DATA Called by the RECEIVE.DATA Appendage Prepare a FILE.DATA. RESPONSE Frame for the Requesting Device Transmit the FILE.DATA. RESPONSE Frame Call NOFILE RETURN Subsequent FILE.DATA.RESPONSE frames for this request will be handled by the appendage TRN_APPEN defined in the TRANSMIT command. 3-47 Invoked by the Adapter Support Interface when Transmit Completes Prepare a FILE.DATA. RESPONSE Frame for the Requesting Device Return from Interrupt 3-48 Transmit the FILE.DATA. RESPONSE Frame NOFILE Called by the SEND.DATA Prepare a LOAD.ERROR. RESPONSE Frame Transmit the LOAD.ERROR. RESPONSE Frame to the Requesting Device RETURN 3-49 Options Available with Remote Program Load The following sections list some of the options available to the programmer and the user. Multiple Loading Devices For increased performance on the ring, multiple Loading Devices may be used. The FIND frame transmitted by the Remote Program Load Module uses the functional address X'40000000'. If multiple Loading Devices are programmed to respond to this address, they all will respond to the FIND. The first response that is returned to the Requesting Device is the one that will be used. If the Loader Program allocates any resources as a result of a FIND frame, it is the Loader Program's responsibility to free them up after a suitable timeout period. Make sure all Loading Devices have the same resources, or make sure the Loader Program knows which Requesting Device to respond to. Multiple Adapters Multiple adapters with the Remote Program Load Module may be installed in one computer, but only the one with the highest ROM setting will be used. Multiple Rings Multiple rings may be used with Remote Program Load. When the Loading Device and the Requesting Device are on different rings, the rings must be connected with bridges. Type of Service Two types of service can be used. IEEE 802.2 Type 1 Service is recommended. It allows FILE.DATA.RESPONSE frames to be sent by an Unnumbered Information frame to a specific address. IEEE 802.2 Type 2 Service is also available. Below are two sample flow diagrams showing the possible differences in the two types of service. 3-50 Type 1 Service Example This sequence allows the Requesting Device to determine the node address of the Loading Device. It is used if the Requesting Device wishes to have FILE.DATA.RESPONSE frames sent by an Unnumbered Information frame to a specific address. Type 1 Service can also be used to send a Broadcast frame to a Group or Functional Address. This flow diagram shows the Loading Device responding by sending Unnumbered Information frames to a specific address. If a Group Address is substituted for the specific address, the flow diagram can also be used to describe Broadcast. It also gives an example of what the Requesting Device should do if it gets a sequence number out of sequence. 3-51 Loading Device Requesting Device DIR.INITIALIZE DIR.OPEN.ADAPTER DLC.OPEN.SAP (X'FC' and X'F8') RECEIVE (X'FC' and X'F8') DIR.SET.FUNCTIONAL.ADDRESS DIR.INITIALIZE DIR.OPEN.ADAPTER DLC.OPEN.SAP RECEIVE.MODIFY XMIT.UI.FRAME(FA) <------------------------------ FIND Timeout XMIT.UI.FRAME(FA) <------------------------------ FIND XMIT.UI.FRAME(SA) FOUND ------------------------------> DIR.SET.GROUP.ADDI XMIT.UI.FRAME(SA) <-------------- SEND.FILE.REQUEST(Seq = 0000) Timeout XMIT.UI.FRAME(SA) <-------------- SEND.FILE.REQUEST(Seq = 0000) XMIT.UI.FRAME(SA) SEND.FILE.RESPONSE(Seq XMIT.UI.FRAME(SA) SEND.FILE.RESPONSE(Seq XMIT.UI.FRAME(SA) SEND.FILE.RESPONSE(Seq XMIT.UI.FRAME(SA) SEND.FILE.RESPONSE(Seq 0000) -----> 0001) -----> 0002) ---I 0003) -----> XMIT.UI.FRAME(SA) <-------------- SEND.FILE.REQUEST(Seq = 0002) Timeout XMIT.UI.FRAME(SA) <-------------- SEND.FILE.REQUEST(Seq = 0002) XMIT.UI.FRAME(SA) 0002) -----> SEND.FILE.RESPONSE(Seq XMIT.UI.FRAME(SA) SEND.FILE.RESPONSE(Seq 0003) -----> XMIT.UI.FRAME(SA) SEND.FILE.RESPONSE(Seq 3-52 last) -----> Transfer control to OOOO:7COO. Type 2 Service Example Loading Device Requesting Device DIR.INITIALIZE DIR.OPEN.ADAPTER DLC.OPEN.SAP (X/FC' and X/F8') RECEIVE (X/FC' and X/F8') DIR.SET.FUNCTIONAL.ADDRESS DIR.INITIALIZE DIR.OPEN.ADAPTER DLC.OPEN.SAP RECEIVE.MODIFY XMIT.UI.FRAME(FA) <------------------------------ FIND Timeout XMIT.UI.FRAME(FA) <------------------------------ FIND XMIT.UI.FRAME(SA) FOUND ------------------------------) XMIT.UI.FRAME(SA) <-------------- SEND.FILE.REQUEST(Seq = 0000) DLC.OPEN.STATION DLC.CONNECT SABME ------------------------------) DLC.OPEN.STATION DLC.CONNECT <--------------------------------- UA XMIT.I.FRAME(SA) SEND.FILE.RESPONSE(Seq XMIT.I.FRAME(SA) SEND.FILE.RESPONSE(Seq 0001) -----) XMIT.I.FRAME(SA) SEND.FILE.RESPONSE(Seq last) -----) 0000) -----) DLC.CLOSE.STATION DISC -------------------------------) DLC.CLOSE.STATION <--------------------------------- UA Transfer control to 0000:7COO. 3-53 Frame Formats All Remote Program Load frames issued by either the Requesting Device or the Loading Device have a similar format. Explanations of the individual fields follow each frame. Here is an example of the header format (Find frame): 1. 2. 3. 4. A LAN header (offset 0 through 15) A OLe header (offset 16 through 18) The Remote Program Load header (offset 19 through hh) Any additional data. OFFSET FIELD NAME LENGTH 8086 (BYTES) TYPE 1 DESCRIPTION Access Control byte 0 AC 1 FC 1 DB Frame Control byte 2 Destination address 6 DB X'COOO 4000 0000' The Remote Program Load Functional address 8 Source address 6 DB Address of this adapter. The highorder bit must be '1' to specify routing information is included. 14 Routing information 2 DB X'C200' to specify limited broadcast 16 Remote SAP 1 DB 17 Source SAP 1 DB 18 Control 1 DB X'03' 19 Remote Program Load_HEADER hh DB The specific Remote Program Load header content 19 FILE_DATA nn DB The date provided with a FILE.DATA.RESPONSE frame. + hh 3-54 DB = Control flags for UI frame Below are the Remote Program Load Header formats for each frame: The Find Frame OFFSET FIELD NAME PROGRAM_LENGTH 0 LENGTH 8086 (BYTES) TYPE 2 DESCRIPTION DB X'0053' + value in first 2 bytes of FILE HDR 2 PROGRAM_COMMAND 2 DB X'0001' = FIND 4 CORR_HDR 4 DB X'0008 4003' = Correlator vector 8 CORRELATOR 4 DB Correlator 12 INFO_HDR 4 DB X'00100008' = Connect info vector 16 FRAME_HDR 4 DB X'0006 4009' = Frame size sub-vector 20 MAX_FRAME 2 DB Maximum frame size 22 CLASS_HDR 4 DB X'0006 400A' = Connect class sub-vector 26 CONN_CLASS 2 DB Defines the type of service 28 SOURCE_HDR 4 DB X'OOOA 4006' = Address vector 32 SOURCE_ADDR 6 DB Ring address of this adapter 38 LSAP _HDR 4 DB X'0005 4007' = Logical SAP vector 42 RSAP 1 DB X'FC' Remote SAP value 43 SEARCH - HDR 4 DB X'0028( + FI LE_H D R) 0004' = Search vector 47 LOADER_HDR 4 DB X'0024 C005' = Loader info sub-vector 51 MACH_CONF 8 DB Configuration obtained from system unit via INT X'15' 59 EQUIP _FLAGS 2 DB Register AX after I NT X'11 ' 61 MEMORY_SIZE 2 DB Register AX after I NT X'12' 63 REMOTE PROGRAM LOAD EC 8 DB Remote Program Load Module level 71 ADAPTER ID 2 DB Adapter identifier 73 ADAPTER_EC 10 DB Adapter level 83 FILE_HDR 4 DB X'OOnn (+04) 4013' = File name sub-vector 87 FILE_NAME nn DB File name in ASCII 3-55 CORRELATOR Explanation: This field is not used by the Remote Program Load Module. It is set to X'OOOO 0000'. MAX_FRAME Explanation: The maximum frame size a Requesting Device can handle, including the LAN header, the OLe header, the Remote Program Load header, and all file data. The Remote Program Load Module will set this field to a value of 2040, which is the ReV_BUFFER_LEN set by the DIR.OPEN.ADAPTER minus the 8 bytes of overhead. CONN _CLASS Explanation: In a FIND frame this is a 2-byte bit-significant field used to specify the type of service that the Requesting Device supports. The bits are: Bit Function 15-4 Reserved Must be 3 Broadcast to functional address The Requesting Device can accept Unnumbered Information frames sent to a functional address specified in the FOUND frame. The Remote Program Load Module sets this to 1. 2 Broadcast to group The Requesting Device can accept Unnumbered Information frames sent to a group address specified in the FOUND frame. The Remote Program Load Module sets this to 1. 1 Class II The Requesting Device can accept information frames using connection-oriented services. The Remote Program Load Module sets this to 1. 0 Class I The Requesting Device can accept Unnumbered Information frames sent to this adapter's ring address specified by the SOURCE_ADDR. The Remote Program Load Module sets this to 1. 3-56 Meaning o. SOURCE_ADDR Explanation: The 6-byte permanently encoded address of the requesting adapter. RSAP Explanation: The Service Access Point value which the Loading Device should use to send a FOUND frame. Remote Program Load will set this field to X'FC'. MACH _CONF Explanation: The machine configuration of the computer in which the Remote Program Load Module is installed. The system configuration parameters are obtained by issuing an INT X'15' with the AH register containing X'CO'. If the INT resulted in an invalid return code (carry flag = 1) this field will contain the value taken from the computer system BIOS location X'FFFF:OOOE' followed by 7 bytes of zeros. EQUIP _FLAGS Explanation: The equipment flag variable of the computer with the Remote Program Load Module. This variable was obtained by issuing an INT X'11'. See the BIOS section of the Technical Reference for your computer. 3-57 MEMORY _SIZE Explanation: The number of contiguous 1K blocks of memory in the computer with the Remote Program Load Module. This variable was obtained by issuing an INT X'12'. REMOTE PROGRAM LOAD _EC Explanation: The level of the Remote Program Load Module installed on the adapter. This value will also be displayed on the screen. ADAPTER _ID Explanation: This parameter indicates which of the two possible adapter positions this adapter is configured for. • • X'166' indicates the primary position. X'167' indicates the alternate position. ADAPTER _EC Explanation: The level of the adapter. This value will also be displayed on the screen. 3-58 FILE _NAME Explanation: This field is a left-justified ASCII string specifying a file name. This is an optional field. If it is not present, the SOURCE_ADDR and/or other configuration information is to be used to locate the Bootstrap Program. If it is present, the length (nn) is variable up to a maximum of 80 (decimal) bytes. Normally this field contains an ASCII file name. However, the user may set the first byte of this field to a non-ASCII character (X'80' through 'FF') to specify a user-defined field. 3-59 The Found Frame The FOUND Frame is sent as a UI frame to the SOURCE_ADDR of the FIND Frame with the GENERAL BROADCAST bits in the routing field of the DLC header on. OFFSET FIELD NAME LENGTH 8086 (BYTES) TYPE DB DESCRIPTION 0 2 PROG RAM LENGTH 2 X'003A' X'0002' = FOUND PROGRAM_COMMAND 2 DB 4 CORR_HEADER 4 DB S 12 CORRELATOR 4 DB Correlator RESP_HDR 4 DB X'0005 400B' = Response vector X'OOOS 4003' = Correlator vector 16 RESP_CODE 1 DB Response code 17 DEST_HDR 6 DB X'OOOA 400C' = Set address vector 21 DEST_ADDR 6 DB Group or ring address of the Requesting Device 27 SOURCE_HDR 4 DB X'OOOA 4006' = Loader address vector 31 SOURCE_ADDR 6 DB Loading Device ring address 37 INFO_HDR 4 DB X'0010 OOOS' = Connect info vector 41 FRAME_HDR 4 DB X'0006 4009' = Frame size sub-vector 45 MAX FRAME 2 DB Maximum frame size 47 CLASS_HDR 4 DB X'0006 400A' = Connect class sub-vector 51 CONN_CLASS 2 DB Defines the type of service 53 LSAP _HDR 4 DB X'0005 4007' = Loader SAP vector 57 RSAP 1 DB X'FS' SAP Value of the Loading Device 3-60 CORRELATOR Explanation: This field is not used by Remote Program Load. It is set to X'OOOO 0000'. RESP _CODE Explanation: For the FOUND frame this is a reason code for transmitting the frame. This parameter is not used by the Remote Program Load Module. DEST _ADDR Explanation: The low-order 4 bytes of this parameter is used as a broadcast address: • • If the CONN_CLASS field bit 2 of the FOUND frame is on (1), it is a Group address. If the CONN_CLASS field bit 3 of the FOUND frame is on (1), it is a Functional address. SOURCE _ADDR Explanation: The ring address of the Loading Device. The Requesting Device should use this address as the destination address in the SEND.FILE.REQUEST frame. 3-61 MAX_FRAME Explanation: The maximum frame size that will be used for FILE.DATA.RESPONSE frames. This value includes the LAN header, the OLe header, the Remote Program Load header, and the file data. CONN _CLASS Explanation: This is a 2-byte bit-significant field used to specify the type of service that the Loading Device will use when sending FILE.DATA.RESPONSE frames. This value from the FOUND frame should be duplicated in the SEND. FILE. REQUEST frame. RSAP Explanation: For a FOUND frame, the SAP value (X'F8') to which the Requesting Device should direct a SEND. FILE. REQUEST frame to the Loading Device. This permits the Loading Device to direct the SEND. FILE. REQUEST frames to a different service access poi nt. 3-62 The SEND. FILE. REQUEST Frame OFFSET FIELD NAME PROGRAM_LENGTH 0 LENGTH 8086 (BYTES) TYPE DESCRIPTION 2 DB X'0053' + value in first 2 bytes of FILE_HDR 2 PROGRAM_COMMAND 2 DB X'0010' = SEND.FILE.REQUEST 4 SEQ_HDR 4 DB X'0008 4011' = Sequence number vector 8 SEQ NUM 4 DB Starting sequence number 12 INFO_HDR 4 DB X'0010 0008' info vector 16 FRAME_HDR 4 DB X'0006 4009' = Frame size sub-vector = Connect 20 MAX FRAME 2 DB Maximum frame size 22 CLASS_HDR 4 DB X'0006 400A' = Connect class sub-vector 26 CONN_CLASS 2 DB Defines the type of service 28 SOURCE_HDR 4 DB X'OOOA 4006' vector 32 SOURCE_ADDR 6 DB Ring address of this adapter 38 LSAP_HDR 4 DB X'0005 4007' SAP vector = Address = Logical 42 RSAP 1 DB X'FC' Remote SAP value 43 SEARCH HDR 4 DB X'0028( +FILE_HDR) 0004' = Search vector 47 LOADER_HDR 4 DB X'0024 C005' = Loader info sub-vector 51 MACH_CONF 8 DB Configuration obtained from system unit via I NT X'15' 59 EQUIP_FLAGS 2 DB Register AX after I NT X'11' 61 MEMORY_SIZE 2 DB Register AX after I NT X'12' 63 REMOTE PROGRAM LOAD - EC 8 DB Remote Program Load Module level Adapter identifier - 71 ADAPTER ID 2 DB 73 ADAPTER_EC 10 DB Adapter level 83 FILE_HDR 4 DB X'OOnn(+04) 4013' = File name sub-vector 87 FILE_NAME nn DB File name in ASCII 3-63 SEQ _NUMBER Explanation: For a SEND.FILE.REQUEST frame, this is the sequence number of the FILE.DATA.RESPONSE frame to be sent. If this value is X'OOOO', the Loading Device should start at the beginning of the Bootstrap Program file. If the Remote Program Load Module receives a frame out of sequence, it will set this field to the value it expected and issue the SEND. FILE. REQUEST frame to the Loading Device. MAX_FRAME Explanation: The maximum frame size that will be used for FILE.DATA.RESPONSE frames. This value includes the LAN header, the DLC header, the Remote Program Load header, and the file data. CONN _CLASS Explanation: The CONN_CLASS given in the Found frame must be the same as the CONN_CLASS in the SEND.FILE.REQUEST frame. SOURCE _ADDR Explanation: The ring address of the Requesting Device. 3-64 FILE _NAME Explanation: This field is a left-justified ASCII string specifying a file name. This is an optional field. If it is not present, the SOURCE_ADDR and/or other configuration information is to be used to locate the Bootstrap Program. If it is present, the length (nn) is variable up to a maximum of 80 (decimal) bytes. Normally this field contains an ASCII file name. However, the user may set the first byte of this field to a non-ASCII character (X'80' through 'FF') to specify a user-defined field. 3-65 The File Data Response Frame OFFSET FIELD NAME LENGTH 8086 (BYTES) TYPE DESCRIPTION 0 PROG RAM_LENGTH 2 DB X'0019' + value in first 2 bytes of DATA_HDR 2 PROGRAM_COMMAND 2 DB 4 SEQ_HDR 4 DB X'0020' = FILE.DATARESPONSE X'0008 4011' = Sequence number vector 8 SEQ_NUM 4 DB Sequence number for this frame 12 LOADER_HDR 4 DB 16 LOCATE_ADDR 4 DB X'OOOD C014' = Loader instruction vector Loader Program - generated address of where to put this data 20 XFER_ADDR 4 DB Loader-generated address of where to transfer control if this is the last frame of the file. 24 FLAGS 1 DB Bit-significant options 25 DATA_HDR 4 DB X'00nn(+04) 4018 = File data vector 29 FILE_DATA nn DB Binary data file SEa _NUMBER Explanation: This is the sequence number of the frame being sent. Sequence numbers start at X'OOOO' and increment by 1, 3-66 LOCATE _ADDR Explanation: The absolute address in the computer's RAM to place the data portion of this frame. This field is valid only if bit 5 of the FLAGS field is on (1). Remote Program Load will convert this address into a segmentoffset form. The segment is obtained by dividing the value by 16. The offset is the remainder of the division. If this field is greater than 640K (X' AOOO:OOOO') or an attempt to overlay X'OOOO:OOOO' to X'OOOO:OCOO' is made, a program alert sequence will be initiated at the Requesting Device. XFER _ADDR Explanation: The absolute address in the computer's RAM to transfer control if this is the last frame of the file. This field is valid only if bits 6 and 7 of the FLAGS field are both on (1). Remote Program Load will convert this address into a segmentoffset form. The segment is obtained by dividing the value by 16. The offset is the remainder of the division. The Adapter Support Subset will transfer control to XFER_ADDR if bit 3 (X'08') of ADR_FLG1 is on. Control is never transferred to address 0000:0000. Other than checking for 0000:0000, XFER_ADDR is not validated by Remote Program Load. The default XFER_ADDR is 0000:7COO. 3-67 FLAGS Explanation: This field contains bit-significant options. Bit Function Meaning 7 END_OF _FILE 1 6 XFER_ENABLE Only valid if bit 7 equals 1. 1: XFER_ADDR is a 4-byte absolute address of where to transfer control. 0: Transfer control to X'0000:7COO'. 5 LOCATE_ENABLE 1: LOCATE_ADDR is a 4-byte absolute address of where to place the data portion of this frame. 0: Use the next contiguous address to locate the data portion of this frame. 4 ACK_REQUEST 1: Issue a SEND.FI LE.REQUEST to acknowledge receipt of this frame. The SEQ_NUMBER of the SEND.FILE.REQUEST frame must be the SEQ NUMBER from this frame + 1. 0: Issue a SEND.FILE.REQUEST only if this frame is out of sequence. 3-0 = last frame of the file Reserved FILE _DATA Explanation: The data to be placed in the computer's RAM at the location specified by the value in the LOCATE_ADDR field. The length of this field + 4 is specified by the value in the 2 high-order bytes of the DATA_HDR field. 3-68 The Load Error Response Frame OFF SET FIELD NAME LENGTH 8086 (BYTES) TYPE DESCRIPTION 0 PROGRAM_LENGTH 2 DB X'OOOA' + value in first 2 bytes of FILE HDR 2 PROGRAM_COMMAND 2 DB X'0040' = LOAD.ERROR RESPONSE 4 ERROR_HDR 4 DB X'0006 401 A' = Reason code vector 8 ERROR_CODE 2 DB Error code 10 FILE_HDR 4 DB X'OOnn( +04) 4013' = File name sub-vector 14 FILE_NAME nn DB File name in ASCII ERROR _CODE Explanation: The reason the LOAD.ERROR.RESPONSE frame is being sent. 0000 Restart. The Loading Device is informing the Requesting Device that it needs to start the Remote Program Load process over. Remote Program Load Module at the Requesting Device will restart and issue a FI N D frame. The Requesting Device will restart even if it is issuing PROGRAM ALERT frames. 0002 File not found. The file specified in the FILE_NAME field of the SEND.FILE.REQUEST frame was not found. FILE _NAME Explanation: This field is a left-justified ASCII string specifying a file name that was requested by the SEND. FILE. REQUEST frame. If it is provided, the length can vary up to a maximum of 80 (decimal) bytes as specified by the FILE_HDR value. Normally this field contains an ASCII file name. However, the user may set the first byte of this field to a non-ASCII character (X'80' through 'FF') to specify a user-defined field. 3-69 The Program Alert Frame OFF SET FIELD NAME LENGTH 8086 (BYTES) TYPE DESCRIPTION 0 PROGRAM_LENGTH 2 DB X'0059' +value in first 2 bytes of FILE HDR. 2 PROGRAM_COMMAND 2 DB X'0030' = PROGRAM.ALERT 4 SEQ_HDR 4 DB X'0008 4011' = Sequence number vector 8 SEQ_NUM 4 DB Current sequence number 12 INFO_HDR 4 DB X'0010 0008' info vector 16 FRAME_HDR 4 DB X'0006 4009' = Frame size sub-vector = Connect 20 MAX FRAME 2 DB Maximum frame size 22 CLASS_HDR 4 DB X'0006 400A' = Connect class sub-vector 26 CONN_CLASS 2 DB Defines the type of service 28 SOURCE_HDR 4 DB X'OOOA 4006' = Address vector 32 SOURCE_ADDR 6 DB Ring address of this adapter 38 LSAP_HDR 4 DB X'00054007' SAP vector = Logical 42 RSAP 1 DB X'FC' Remote SAP value 43 SEARCH HDR - 4 DB X'0028( +FILE_HDR) 0004' = Search vector 47 LOADER_HDR 4 DB X'0024 C005' = Loader info sub-vector 51 MACH_CONF 8 DB Configuration obtained from system unit via I NT X'15' 59 EQUIP_FLAGS 2 DB Register AX after I NT X'11 ' 61 MEMORY_SIZE 2 DB Register AX after I NT X'12' 63 REMOTE PROGRAM LOAD - EC 8 DB Remote Program Load Module level 71 ADAPTER ID 2 DB Adapter identifier 73 ADAPTER_EC 10 DB Adapter level 83 FILE_HDR 4 DB X~Onn(+04) 4013' = File name sub-vector 87 FILE NAME nn DB File name in ASCCII xx yy ALERT_HDR 4 DB X'0006 4019' DB Reason for sending frame 3-70 ALERT_CODE 2 ALERT _CODE Explanation: A 2-byte reason code for sending the alert frame. The valid values are: 0000 Unknown ERROR.CODE. The Remote Program Load Module has received an LOAD. RESPONSE frame with an unknown ERROR.CODE parameter. 0002 File not found. The Loader Program sent an unexpected LOAD.ERROR.RESPONSE frame to the Requesting Device. 0004 Out of memory. The Remote Program Load Module has detected an attempt to store a FILE.DATA.RESPONSE frame data at an address that does not exist in this device. 0006 Memory overrun. Remote Program Load Module has detected an attempt to store a FILE.DATA.RESPONSE frame data at an address between X'OOOO:OOOO' and X·OOOO:OCOO·. 0008 Unexpected DLC Status. Remote Program Load Module has detected an unexpected DLC status code. FILE _NAME Explanation: This field is a left-justified ASCII string specifying a file name. This is an optional field. If it is not present, the SOURCE_ADDR and/or other configuration information is to be used to locate the Bootstrap Program. If it is present, the length (nn) is variable up to a maximum of SO (decimal) bytes. Normally this field contains an ASCII file name. However, the user may set the first byte of this field to a non-ASCII character (X'SO' through 'FF') to specify a user-defined field. 3-71 3-72 Chapter 4. Troubleshooting Remote Program Load Problems This chapter contains information that should help if you are using the Remote Program Load on a Requesting Device and you do not get the expected results. If other computers on the network need problem determination, you might need one or more of the following: • The operator's guide for the IBM Personal Computer or IBM Personal System/2 computer being used • The operator's guide that came with the adapter • The IBM Token-Ring Network Problem Determination Guide that includes problem determination for ring-related problems. The following chart lists possible failure indications and suggested actions to take for problem determination. Failure Indication Problem Determination Action The computer displays an error indicating there is no diskette drive. See "Error for Some Computers without Diskette Drives Installed" on page 4-2. The computer displays a ROM error. See "ROM Error" on page 4-3. (XXXXX ROM Press F1 to resume) The computer beeps more than once. See "Multiple beeps" on page 4-4. The computer's BASIC panel is displayed. See "BASIC Panel Displayed" on page 4-4. A system screen or an application screen is displayed. See "System Screen Displayed" on page 4-4. Figure 4-1 (Part 1 of 2). Remote Program Load Failure Indications 4-1 Failure Indication Problem Determination Action A Bring-Up Error. The Remote Program Load screen is displayed with the BU field highlighted. See "Bring-Up Error" on page 4-5. An Open Error. The Remote Program Load screen is displayed with the OP field highlighted. See "Open Error" on page 4-5. A Ring Status Error. The Remote Program Load screen is displayed and the RS field is displayed with a value other than zero (0) or it is highlighted. See "Ring Status Error" on page 4-5. A PC Error. The Remote Program Load screen is displayed and the PC field is highlighted or the field is displayed with counters not being updated. See" PC Error" on page 4-6. An RQ Count Greater than 10. See "RQ Count Greater than 10" on page 4-7. Any other response that has not been identified. Have the system unit serviced. Figure 4-1 (Part 2 of 2). Remote Program Load Failure Indications If you have a failure indication that is listed below, some possible causes and actions are provided. Error for Some Computers without Diskette Drives Installed Some Personal Computers or Personal System/2 computers will display an error on a computer that does not have a diskette drive installed. On these computers perform the step that is required to continue. Follow the instructions in the user's guide for the computer. 4-2 ROM Error The computer detected a ROM error during the Power-On Self Test (POST). • For an IBM Token-Ring Network PC Adapter or Adapter II: If the ROM address displayed is not the address configured for the adapter using the switches on the adapter (the default settings are CCOOO or DCOOO), refer to the operator's guide for the computer. Correct the problem and restart the computer. If the address displayed is the address configured for the adapter, the Remote Program Load Module on the IBM Token-Ring Network PC Adapter or Adapter II may be defective. (If two IBM Token-Ring Network adapters are installed in this device, the suspected module is the one on the adapter with its address switches set to the address in the error message.) 1. 2. • Replace the suspected Remote Program Load module. If the ROM error goes away, the suspected module is defective; permanently replace the suspected module. If, however, you still get the ROM error, have the adapter serviced. For an IBM Token-Ring Network Adapter/A: If the ROM address displayed is not the starting address of the address range configured for the adapter using the IBM Personal System/2 Reference Diskette, refer to the operator's guide for the computer. Correct the problem and restart the computer. If the address displayed is the starting address of the range configured for the adapter, the Remote Program Load Module on the IBM Token-Ring Network Adapter/A may be defective. 1. 2. Replace the suspected Remote Program Load module. If the ROM error goes away, the suspected module is defective; permanently replace the suspected module. If, however, you still get the ROM error, have the adapter serviced. 4-3 Multiple beeps The computer did not perform the Power-On Self Test (POST) successful/y. Refer to the operator's guide for the computer. Correct the problem and restart the computer. If the problem continues, have the system unit serviced. BASIC Panel Displayed If a ROM error preceded the BASIC panel and F1 was pressed to resume, restart the computer and fol/ow the instructions for" ROM Error" on page 4-3 when the ROM error is displayed again. The computer's BASIC panel is displayed after the POST has completed. The computer did not locate the Remote Program Load Module provided on the adapter. Using Chapter 2 in this manual, verify that: • • An IBM Token-Ring Network adapter is instal/ed in the computer. The Remote Program Load Module is plugged into the adapter correctly. Verify the following using the operator's guide for your adapter: • • • • The adapter switch settings are correct (IBM Token-Ring Network PC Adapter and Adapter 1/ only). There are no conflicting ROM addresses. There are no conflicting interrupt levels. There are not two adapters with the same switch settings (IBM Token-Ring Network PC Adapter and Adapter 1/ only). If the problem persists, have the system unit serviced. System Screen Displayed The memory test displays have completed, but the system is loaded from the fixed disk or diskette. • 4-4 If the computer contains one or more diskette drives but no fixeddisk drive, ensure that there is no diskette in the first diskette drive (drive A). • If the computer has a fixed disk, the DOS partition on the disk must be disabled using RPLBOOT.COM. See the README file on the sample programs diskette to learn about RPLBOOT.COM. Bring-Up Error The Remote Program Load screen is displayed, the elapsed time field has stopped with only a few seconds of time accumulated, and the BU field is highlighted. The Load Requestor function tried three times and was unable to initialize the adapter for use. The BU error codes and the action to take are I isted below: Value Cause Action 0024 The shared RAM diagnostic failed. See the information on "Shared RAM" in the operator's guide for the adapter and make sure the shared RAM does not conflict with other shared RAM. All others Adapter Failure. The adapter is defective. Have the system unit serviced. Open Error The OP field contains an error code and is highlighted. After three tries the Load Requestor function was unable to open the adapter for use. Retry the operation by restarting the computer at least once. If the problem persists, record the low-order (right-most) character of the highlighted OP field. This low-order character is the Reason Code. The high-order (left-most) byte is always 00. Using the Open Error and Reason Code as the symptom, go to the IBM Token-Ring Network Problem Determination Guide. Ring Status Error A ring error was detected when the Load Requestor function or Bootstrap Program was executing. Locate the Ring Status Error Code in the table below to determine the proper action. Some values may be displayed that are a combination of the values listed below. X's used in the value column can be any number. 4-5 Value Cause Action 4XXX The ring is in a beaconing condition. See the IBM Token-Ring Network Problem Determination Guide. 2000 This adapter has detected a softerror condition. No action required. 08XX Wire Fault. The adapter has detected a problem in itself or in its lobe. See the IBM Token-Ring Network Problem Determination Guide. 04XX This adapter detected an internal hardware error. Have the system unit serviced. X1XX Remove received. This adapter removed from the ring. Contact the network administrator. 0080 Counter overflow. One of the error log counters has incremented past Restart the computer. 0040 Single Station. The adapter has opened and is the only station on the ring. This bit wi II reset when another station inserts. No action is required unless other stations are known to be operating on this ring. If other stations are on the ring, go to the IBM TokenRing Network Problem Determination Guide. 0020 Ring recovery. The adapter is transmitting or receiving claim token frames. No action is required. All others Reserved. Contact the network administrator. or more 256. or 0060 PC Error Personal Computer or Personal System/2 error. The Load Requestor function has detected a problem with either the software or the hardware. Retry the operation by restarting the computer at least once. If the problem persists, see the following chart for a description of the PC field and the action to take. Xs used in the value column can be any number. 4-6 Value Cause Action 06XX (not highlighted) Program alert frames being transmitted. The XX portion of the value represents the alert code: Restart the computer. If this alert code persists, contact your network administrator. 00 = Unexpected error response frame received. 02 = File not found. 04 = Out of memory space. 06 = Memory overrun. 08 = Unexpected DLe status received. 0700 The adapter failed a wrap test. The adapter is defective. Have the system un it serviced. All others A computer hardware or software error has occurred. Perform the computer diagnostic test procedure or contact the network administrator. RQ Count Greater than 10 The Loading Device has not been located on the network. Verify that the Loading Device is connected to the network and has an active Loader Program operating. If the Loading Device is active, you must determine that both the Loading Device and the Requesting Device are gaining access to the same network. Determine if the Loading Device is servicing other devices, and has been busy and unable to respond. If the Loading Device and the Requesting Device are connected on the network, and the Loading Device is available, contact your network administrator. 4-7 4-8 List of Abbreviations BIOS Basic Input/Output System DLC Data Link Control DOS Disk Operating System EC Engineering Change PC Personal Computer POST power-on self test ROM read-only memory 55 stack segment UI Unnumbered Information X-1 X-2 Glossary adapter. The circuit card within a communicating device (such as an IBM Personal Computer) and its associated software, that enable the device to be attached to a network. application program. A program written for or by a user that applies to the user's work. Loading Device. In Remote Program Load, a computer on the IBM Token-Ring Network that supplies files or programs to requesting devices. POST. Power-On Self Test. A series of diagnostic tests that are run each time the computer's power is turned on. Bootstrap Program. A program used to establish another program. read-only memory (ROM). A computer's storage area whose contents cannot be modified. formatted diskette. A diskette that can be used by the computer to store data. Loader Program. In Remote Program Load, the program running in the Loading Device that sends other programs to the Requesting Device. Requesting Device. A computer on the IBM Token-Ring Network that uses the Remote Program Load Module instead of a disk or diskette drive to request a Bootstrap Program. The Bootstrap Program enables the Requesting Device to use network application programs. ring (network). A network configuration where a series of attaching devices, such as IBM Personal Computers, are connected by unidirectional transmission links to form a closed path. X-3 token. A sequence of bits passed from one device to another along the network. X-4 working diskette. A computer diskette to which files are copied from an original diskette for use in everyday operation. Index SEND.FILE.REQUEST Frame 3-63 A abbreviations X-1 Adapter Support Subset 3-16 commands used 3-16 details 3-19 administrator 1-3 G glossary B installation 2-1 instructions 2-2 prerequisites 2-2 requirements 2-1 tools 2-1 installer 1-4 Bootstrap Program 1-3, 3-35 multistage 3-40 single-stage 3-38 c cables 1-6 L D disk emulator 3-32 installation 3-32 operational requirements display screen 3-9 X-3 3-32 Load Error Response Frame 3-69 Load Requestor 3-15 Loader Program 1-3, 3-42 sample flow charts 3-43 Loading Device 1-2 N F network administrator File Data Response Frame 3-66 Find Frame 3-55 Found Frame 3-60 frame formats File Data Response Frame 3-66 Find Frame 3-55 Found Frame 3-60 Load Error Response Frame 3-69 Program Alert Frame 3-70 options with Remote Program Load 3-50 multiple adapters 3-50 multiple Loading Devices 3-50 multiple rings 3-50 types of service 3-50 overview, system 1-2 1-3 o X-5 p planner 1-3 prerequisites v Program Alert Frame 3-70 programmer 1-4 programming requirements publications, related iv ring S 3-1 R RAM Space 3-25 related publications iv Requesting Device 1-2 Requesting Device display screen 3-9 requirements, hardware and software 1-5 X-6 X-3 SEND.FILE.REQUEST Frame system overview 1-2 Bootstrap Program 1-3 Loader Program 1-3 Loading Device 1-2 Requesting Device 1-2 3-63 ------- -- --- --------_.Reader's Comment Form IBM Token-Ring Network Remote Program Load User's Guide 83X8882 Your comments assist us in improving the usefulness of our publications; they are an important part of the input used for revisions. IBM may use and distribute any of the information you supply in any way it believes appropriate without incurring any obligation whatever. You may, of course, continue to use the information you supply. Please do not use this form for technical questions regarding the IBM Personal Computer or programs for the IBM Personal Computer, or for requests for additional publications; this only delays the response. Instead, direct your inquiries or request to your authorized IBM Personal Computer dealer. Comments: Fold and tape Please do not staple - - - - - - - - - - - - - - - --- ~-~ - - - - - - ~O-P~STAG; NECESSARY IF MAILED IN THE UNITED STATES BUSINESS REPLY MAIL FIRST CLASS PERMIT NO. 40 ARMONK, N.Y. POSTAGE WILL BE PAID BY ADDRESSEE IBM Corporation Department E02 P.O. Box 12195 Research Triangle Park, N.C. 27709 -- -- -------_ - --.- --- ® International Business Machines Corporation P .O. Box 12195 Research Triangle Park, North Carolina 27709 83X8882 Printed i n the United States of America
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37 Create Date : 2014:01:14 10:01:58-08:00 Modify Date : 2014:01:14 09:32:36-08:00 Metadata Date : 2014:01:14 09:32:36-08:00 Producer : Adobe Acrobat 9.55 Paper Capture Plug-in Format : application/pdf Document ID : uuid:d7174aff-959a-d643-b7da-3891fe2c2a88 Instance ID : uuid:507bcd79-3ba6-cf48-8007-342370e356be Page Layout : SinglePage Page Mode : UseNone Page Count : 110EXIF Metadata provided by EXIF.tools