|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 29824 (0x7480) Types: RcTekst Names: »99109773.WP«
└─⟦dedaa6eab⟧ Bits:30005866/disk1.imd Dokumenter i RcTekst format (RCSL 99-1-*) └─⟦this⟧ »99109773.WP«
╱04002d4e0c0006000000000301483100000000000000000000000000000000000000000000000000050f19232d37414b555f69737d8791ff04╱ ┆06┆i↲ ↲ ↲ ┆a1┆┆b0┆TABLE OF CONTENTS┆05┆PAGE↲ ↲ 1. INTRODUCTION ..................................................... 1↲ ↲ 2. IDA DEVICES ...................................................... 2↲ ↲ 3. OPERATIONS ....................................................... 3↲ ╞ 3.1 SET TIMEOUT ................................................. 4↲ ╞ 3.2 INPUT ....................................................... 4↲ ╞ 3.3 RESET ....................................................... 5↲ ╞ 3.4 TAKE AUTOLOAD BLOCK ......................................... 6↲ ╞ 3.5 CONNECT DEVICE .............................................. 7↲ ╞ 3.6 POSITION .................................................... 9↲ ╞ 3.7 EXTRACT STATISTICS ......................................... 10↲ ╞ 3.8 DISCONNECT DEVICE .......................................... 11↲ ╞ 3.9 GET TESTBUFFER ............................................. 12↲ ╞ 3.10 SET MASK .................................................. 13↲ ╞ 3.11 COPY ...................................................... 14↲ ╞ 3.12 LINK LOGICAL DISC ......................................... 18↲ ╞ 3.13 UNLINK LOGICAL DISC ....................................... 19↲ ↲ ↲ ┆a1┆┆b0┆APPENDIX↲ ↲ A. REFERENCES ...................................................... 21↲ ↲ B. STATISTICS INFORMATION FORMAT ................................... 22↲ ↲ C. MESSAGE/ANSWER FORMAT SUMMARY ................................... 23↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ┆06┆ii↲ ════════════════════════════════════════════════════════════════════════ ↓ ┆14┆┆b3┆┆b0┆┆b3┆┆e1┆┆81┆┆06┆┆0b┆↲ ↲ ┆b0┆┆a1┆1. INTRODUCTION.┆e1┆↲ ↲ ↲ ┆84┆The IDA process supports the use of the Intelligent Device ↓ ┆19┆┆89┆┄┄Adapter IDA801.↲ ┆84┆IDA801 (in the rest called IDA) is used as a common disc and ↓ ┆19┆┆89┆┄┄magnetic tape station controller.↲ ↲ ┆84┆Each IDA controller and each device attached to the IDA con┄↓ ┆19┆┆89┆┄┄troller are represented by external processes in RC8000.↲ ↲ ┆84┆The IDA controller is only aware of physical devices - logical ↓ ┆19┆┆89┆┄┄discs and areas are not supported by the controller.↲ ┆84┆The IDA process will in operations where an area or logical ↓ ┆19┆┆89┆┄┄disc may be stated, take care of the proper conversion.↲ ════════════════════════════════════════════════════════════════════════ ↓ ┆a1┆┆b0┆2. IDA DEVICES.┆e1┆↲ ↲ ↲ ┆84┆The IDA process in RC8000 is used to control the Intelligent ↓ ┆19┆┆89┆┄┄Device Adapter. Through operations sent to the IDA process it ↓ ┆19┆┆89┆┄┄is possible to autoload the controller from RC8000, make logi┄↓ ┆19┆┆89┆┄┄cal connections between each device attached to the controller ↓ ┆19┆┆89┆┄┄and RC8000 external processes. In addition the IDA process (and ↓ ┆19┆┆89┆┄┄the IDA controller) supports an advanced and fast copy opera┄↓ ┆19┆┆89┆┄┄tion by which it is possible to copy between discs and magnetic ↓ ┆19┆┆89┆┄┄tape connected to the same IDA controller. The data transfer is ↓ ┆19┆┆89┆┄┄done entirely on the controller without involving the RC8000 ↓ ┆19┆┆89┆┄┄host computer.↲ ┆84┆This copy operation must be initiated by a copy operation sent ↓ ┆19┆┆89┆┄┄to the IDA process. The IDA process is the receiver of the ope┄↓ ┆19┆┆89┆┄┄ration because it concerns two independent devices.↲ ↲ ┆84┆When a device has been connected it is possible to initiate ↓ ┆19┆┆89┆┄┄operations on the device through messages sent to the external ↓ ┆19┆┆89┆┄┄process representing the device.↲ ↲ The kind of the IDA process is ┆a1┆┆e1┆20.↲ ↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ┆a1┆┆b0┆3. OPERATIONS.┆e1┆↲ ↲ ↲ The IDA process supports the following operations:↲ ↲ ┆84┆SET TIMEOUT, INPUT, RESET, TAKE AUTOLOAD BLOCK, CONNECT DEVICE, ↓ ┆19┆┆89┆┄┄POSITION, EXTRACT STATISTICS, DISCONNECT DEVICE, GET TEST┄↓ ┆19┆┆89┆┄┄BUFFER, SET MASK, COPY, LINK LOGICAL DISC and UNLINK LOGICAL ↓ ┆19┆┆89┆┄┄DISC.↲ ↲ ╱04002d4e0c0006000000000301483100000000000000000000000000000000000000000000000000050f19232d37414b555f69737d8791ff04╱ ╱04002d4e0c0006000000000301483100000000000000000000000000000000000000000000000000050f19232d37414b555f69737d8791ff04╱ ↓ ╱04002d4e0c0006000000000301483100000000000000000000000000000000000000000000000000050a0f19232d37414b555f69737d87ff04╱ ╱04002d4e0c0006000000000301483100000000000000000000000000000000000000000000000000050f19232d37414b555f69737d8791ff04╱ ↓ ┆84┆SET TIMEOUT, INPUT, RESET, TAKE AUTOLOAD BLOCK and POSITION ↓ ┆19┆┆89┆┄┄con┄┄cerns the initialization of the IDA process complex in ↓ ┆19┆┆89┆┄┄RC8000 and the autoload of the IDA controller.↲ ↲ ┆84┆CONNECT DEVICE and DISCONNECT DEVICE controls the inclusion and↲ ┆84┆exclusion of IDA devices in the RC8000 monitor, and LINK LOGI┄↓ ┆19┆┆89┆┄┄CAL DISC and UNLINK LOGICAL DISC controls the partitions of a ↓ ┆19┆┆89┆┄┄physical disc into a number of logical discs in RC8000.↲ ↲ ┆84┆COPY supports backup operations between areas located on IDA-↓ ┆19┆┆89┆┄┄discs and magnetic tape stations connected to the IDA control-↓ ┆19┆┆89┆┄┄ler.↲ ↲ ┆84┆EXTRACT STATISTICS, SET MASK and GET TESTBUFFER support test ↓ ┆19┆┆89┆┄┄of the RC8000/IDA interface and test of the IDA firmware.↲ ↲ ┆84┆In the communication with an IDA process the internal process ↓ ┆19┆┆89┆┄┄may receive the following results from the 'wait answer' system ↓ ┆19┆┆89┆┄┄call:↲ ↲ Result 1: ┆84┆Message accepted, answer contains further status ↓ ┆19┆┆93┆┄┄information.↲ Result 2: ┆84┆┆84┆Message rejected because of violation of user/┄↓ ┆19┆┆93┆┄┄reserver requirements.↲ Result 3: ┆84┆Unintelligible message; illegal operation or mode.↲ Result 4: Malfunction, IDA controller troubles.↲ Result 5: ┆84┆Receiver unknown, the specified IDA process does not ↓ ┆19┆┆93┆┄┄exist.↲ ↲ ┆84┆For every operation the meaning of result 2 and 3 are speci┄↓ ┆19┆┆89┆┄┄fied.↲ ════════════════════════════════════════════════════════════════════════ ↓ ┆b0┆┆a1┆3.1 SET TI┆e1┆┆a1┆MEOUT.↲ ↲ Function:↲ ↲ ╞ ╞ ┆84┆The timeout time for the IDA-controller is defined. It is ↓ ┆19┆┆89┆┄┄expected that the IDA-controller generates a 'state report' for ↓ ┆19┆┆89┆┄┄every 'timeout-time' seconds.↲ ╞ ╞ ┆84┆If the RC8000 has not received a state-report within 'timeout-↓ ┆19┆┆89┆┄┄time +1' seconds, the controller will be reset.↲ ╞ ╞ ┆84┆If the specified timeout is zero, no timeout is defined for the ↓ ┆19┆┆89┆┄┄controller. If the timeout exceeds 800 seconds it will be set ↓ ┆19┆┆89┆┄┄to 800 seconds.↲ ↲ ╞ ╞ ┆84┆The internal process must be reserver of the IDA-mainprocess.↲ ↲ ╞ ╞ Message:↲ ╞ ╞ + 0: 2<12 + 0↲ ╞ ╞ + 2: timeout time (in seconds)↲ ↲ ╞ ╞ Answer:↲ ╞ ╞ + 0: 0↲ ↲ ╞ ╞ Errors: Result 2: ┆84┆Internal process is not reserver of the IDA-↓ ┆19┆┆9b┆┄┄mainprocess.↲ ╞ ╞ Result 3: ┆84┆An illegal timeout time was specified.↲ ↲ ↲ ┆a1┆┆b0┆3.2╞ ╞ INPUT.↲ ↲ ╞ ╞ Function:↲ ↲ ╞ ╞ ┆84┆This operation must have been preceded by a 'position' ope-↓ ┆19┆┆89┆┄┄ration, where the kind of data which is transferred to the ↓ ┆19┆┆89┆┄┄RC8000 by the following 'input' operations has been specified ↓ ┆19┆┆89┆┄┄(see section 3.6).↲ ↲ ╞ ╞ ┆84┆The input operation is used to read system-firmware and soft-↓ ┆19┆┆89┆┄┄ware from either tape or disc.↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ╞ ╞ ┆84┆The internal process must be reserver of the IDA-mainprocess.↲ ↲ ╞ ╞ Message:↲ ╞ ╞ + 0: 3<12 + 0↲ ╞ ╞ + 2: first storage address↲ ╞ ╞ + 4: last storage address↲ ↲ ╞ ╞ Answer:↲ ╞ ╞ + 0: status↲ ╞ ╞ + 2: no of halfwords transferred↲ ╞ ╞ + 4: no of characters transferred↲ ↲ ╞ ╞ ╞ Status: ┆84┆See the status-description for the input-ope-↓ ┆19┆┆9b┆┄┄ration to IDA-disc (1) or IDA-magnetic tape ↓ ┆19┆┆9b┆┄┄(2).↲ ↲ ╞ ╞ Errors: Result 2: ┆84┆The internal process is not reserver of the ↓ ┆19┆┆9b┆┄┄IDA-mainprocess.↲ ╞ ╞ ╞ Result 3: ┆84┆First or last storage address outside inter-↓ ┆19┆┆9b┆┄┄nal process.↲ ↲ ┆a1┆┆b0┆↲ ┆b0┆┆a1┆3.3╞ ╞ RESET.↲ ↲ ╞ ╞ Function:↲ ↲ ┆84┆All messages queued up at the devices connected to the IDA con-↓ ┆19┆┆89┆┄┄troller supervised by this IDA mainprocess will be returned ↓ ┆19┆┆89┆┄┄with result 4 (receiver malfunction). All connections will be ↓ ┆19┆┆89┆┄┄disconnected.↲ ╞ ╞ ┆84┆The statistics collected in the IDA-mainprocess will be ↓ ┆19┆┆89┆┄┄cleared.↲ ↲ ╞ ╞ ┆84┆There must not be any logical discs linked to any disc-connec-↓ ┆19┆┆89┆┄┄tions.↲ ↲ The internal process must be reserver of the IDA process.↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ Message:↲ + 0: 4<12 + 0↲ ↲ Answer:↲ + 0: 0↲ ↲ Errors: Result 2: ┆84┆Internal process is not reserver of the IDA-↓ ┆19┆┆9b┆┄┄mainprocess.↲ Result 3: ┆84┆Logical disc linked to a disc-connection.↲ ↲ ↲ ┆b0┆┆a1┆3.4 TAKE AUTOLOAD BLOCK.┆e1┆↲ ↲ Function:↲ ↲ ┆84┆An autoload block is transmitted to the IDA controller.↲ ↲ ┆84┆It is assumed that all connections have been removed (through ↓ ┆19┆┆89┆┄┄use of the 'reset' operation) before the autoload of the IDA-↓ ┆19┆┆89┆┄┄controller takes place, as no description of connections will ↓ ┆19┆┆89┆┄┄be left in the controller, when it has been autoloaded.↲ ↲ The internal process must be reserver of the IDA process.↲ ↲ Message:↲ + 0: 5<12 + 0↲ + 2: first storage address↲ + 4: last storage address↲ ↲ Answer:↲ + 0: status↲ + 2: number of halfwords transferred↲ + 4: number of characters transferred↲ ↲ status:↲ ╞ ╞ bit 5 : End medium. The autoload is finished.↲ ╞ ╞ bit 12: Check sum error. The autoload must be repeated.↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ Error: Result 2: ┆84┆Internal process is not reserver of the IDA ↓ ┆19┆┆9a┆┄┄process.↲ Result 3: ┆84┆First or last address is outside the internal ↓ ┆19┆┆9a┆┄┄process.↲ ↲ ↲ ┆b0┆┆a1┆3.5 CONNECT DEVICE.┆e1┆↲ ↲ Function:↲ ↲ ┆84┆Makes a logical connection between an RC8000 external process ↓ ┆19┆┆89┆┄┄and a physical device on the IDA controller.↲ ┆84┆The specified (or a free) RC8000 IDA subprocess is initialized.↲ ┆84┆The address of the IDA device must be specified (for discs con┄↓ ┆19┆┆89┆┄┄trol module and slave device numbers, and for magnetic tape ↓ ┆19┆┆89┆┄┄for┄matter and station numbers must be given).↲ ┆84┆A device must be connected before any operations can be ↓ ┆19┆┆89┆┄┄initiated on it.↲ ┆84┆The internal process or all users of the IDA-mainprocess will ↓ ┆19┆┆89┆┄┄be included as user(s) of the IDA subprocess.↲ ↲ The internal process must be user of the IDA process.↲ ╞ ╞ ↲ ╞ ╞ ┆84┆If the specified device is a disc it will be powered up.↲ ↲ Message:↲ + 0: 6<12 + mode↲ + 2: Control Module/Formatter number.↲ + 4: Slave unit/Station number.↲ + 6: RC8000 device number.↲ ╞ ╞ + 8: Device kind, device type.╞ ↲ ↲ Mode: users <0↲ users = 0: Include sender as user of connection.↲ users = 1: ┆84┆Include all users of the IDA-mainprocess as users ↓ ┆19┆┆97┆┄┄of the connection.↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ RC8000 device number: ┆84┆If -1 is specified a free IDA-subprocess ↓ ┆19┆┆9f┆┄┄is selected and used for the connection ↓ ┆19┆┆9f┆┄┄if not the specified (free IDA-subprocess) ↓ ┆19┆┆9f┆┄┄is used.↲ ↲ ╞ ╞ Device kind: 0 : Disc↲ ╞ 1 : Magnetic tape↲ ↲ Device type: (Only relevant for magnetic tapes)↲ 1: RC3715↲ 2: RC8343↲ 3: RC8344↲ ↲ ╞ ╞ Answer:↲ ╞ ╞ + 0: Status↲ + 2: RC8000 device number↲ + 4: (IDA801 device index)↲ + 6: Device kind, device type↲ + 8: Device capacity↲ ↲ Status:↲ ╞ ╞ bit 10-15: Connect-result:↲ 0: Ok↲ 1: Device troubles (see device status).↲ 3: No resources at RC8000.↲ 4: No resources at IDA.↲ ↲ ╞ ╞ bit 8-9 : Connection-description:↲ 0: OK↲ 1: ┆84┆Connection did already exist (note that connect ↓ ┆19┆┆97┆┄┄result = 0). ↓ ↲ bit 0-7 : ┆84┆Device status (only valid if connect-result = 1) ↓ ┆19┆┆97┆┄┄(bit encoded):↲ bit 0: Device unknown↲ bit 2: Unknown control module/formatter↲ bit 3: Device selftest fault.↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ╞ ╞ RC8000 device ┆84┆number: Used device number of connection. If ↓ ┆19┆┆97┆┄┄connect-result = ok and connection-description = ↓ ┆19┆┆97┆┄┄connection did already exist then the device ↓ ┆19┆┆97┆┄┄number specifies the existing connection.↲ ↲ ╞ ╞ Device capacity: Only valid for disc-types:↲ ╞ ╞ ╞ ╞ Specifies no of segments on the disc-kit.↲ ↲ ╞ ╞ Errors: Result 2: ┆84┆The internal process is not user of the IDA-↓ ┆19┆┆9b┆┄┄mainprocess.↲ ╞ ╞ ╞ ╞ IDA mainprocess reserved by another process.↲ ╞ ╞ ╞ Result 3: Illegal RC8000 device number.↲ ╞ ╞ ╞ ╞ Illegal mode.↲ ╞ ╞ ╞ ╞ Illegal device kind or device type.↲ ↲ ↲ ┆a1┆┆b0┆3.6╞ ╞ POSITION.↲ ↲ ╞ ╞ Function:↲ ↲ ╞ ╞ ┆84┆Specifies from which (logical) file the following 'input' ope┄↓ ┆19┆┆89┆┄┄ra┄tion will receive data. The input-medium will be either disc ↓ ┆19┆┆89┆┄┄or tape depending on the switch on the IDA controller front ↓ ┆19┆┆89┆┄┄panel.↲ ↲ ╞ ╞ The (default defined) files contain:↲ ╞ ╞ file 0: RC8000 coredump↲ ╞ ╞ file 1: IDA801 firmware↲ ╞ ╞ file 2: RC8000 bootloader↲ ╞ ╞ file 3: RC8000 monitor↲ ╞ ╞ file 4: Firmware for the 1st device controller.↲ ↲ ╞ ╞ ┆84┆The internal process must be reserver of the IDA-mainprocess.↲ ↲ ╞ ╞ Message:↲ ╞ ╞ + 0: 8<12 + 0↲ ╞ ╞ + 2: irr↲ ╞ ╞ + 4: irr↲ ╞ ╞ + 6: (logical) filenumber↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ╞ ╞ Answer:↲ ╞ ╞ + 0: Status.↲ ↲ ╞ ╞ Status: ┆84┆Depends on input medium:↲ ╞ ╞ ╞ disc : See input-status for IDA-disc (1).↲ ╞ ╞ ╞ mt : See position-status for IDA-mt (2).↲ ╞ ╞ ╞ ┆84┆Or a connect-status may be returned (see section 3.5) ↓ ┆19┆┆91┆┄┄as a (local) connection is made internal on the ↓ ┆19┆┆91┆┄┄controller.↲ ↲ ╞ ╞ Error: Result 2: ┆84┆The internal process is not reserver of the ↓ ┆19┆┆9a┆┄┄IDA-mainprocess.↲ ↲ ↲ ┆a1┆┆b0┆3.7╞ ╞ EXTRACT STATISTICS.↲ ↲ ╞ ╞ Function:↲ ↲ ╞ ╞ ┆84┆The IDA-mainprocess maintains a table of statistical informa-↓ ┆19┆┆89┆┄┄tion reflecting the use of the IDA-controller since the last ↓ ┆19┆┆89┆┄┄reset of the controller.↲ ╞ ╞ ┆84┆This information may be transferred to an internal process by ↓ ┆19┆┆89┆┄┄sending this message.↲ ╞ ╞ ┆84┆The format of the statistical information is defined in appen-↓ ┆19┆┆89┆┄┄dix B.↲ ↲ ╞ ╞ ┆84┆The internal process must be user of the IDA-mainprocess.↲ ↲ ╞ ╞ Message:↲ ╞ ╞ + 0: 9<12 + mode↲ ╞ ╞ + 2: first storage address↲ ╞ ╞ + 4: last storage address↲ ↲ ╞ ╞ Mode: clear statistics <0:↲ ╞ ╞ clear sta. =0: The statistics remain unchanged.↲ ╞ ╞ clear sta. =1: The statistics are cleared.↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ╞ ╞ Answer:↲ ╞ ╞ + 0: 0↲ ╞ ╞ + 2: Number of halfwords transferred.↲ ╞ ╞ + 4: Number of characters transferred.↲ ┆81┆┆81┆┆81┆┆81┆┆81┆┆a1┆↲ ╞ ╞ Errors: Result 2: ┆84┆The internal process is not user of the IDA-↓ ┆19┆┆9b┆┄┄mainprocess.↲ ╞ ╞ ╞ ╞ ┆84┆IDA mainprocess is reserved by another ↓ ┆19┆┆9b┆┄┄process.↲ ╞ ╞ Result 3: ┆84┆First or last storage address outside inter-↓ ┆19┆┆9b┆┄┄nal process.↲ ↲ ↲ ┆a1┆┆b0┆3.8 DISCONNECT DEVICE.┆e1┆↲ ↲ Function:↲ ↲ ┆84┆Removes the connection between an RC8000 external process ↓ ┆19┆┆89┆┄┄representing an IDA device and the corresponding IDA device.↲ The RC8000 external process is removed.↲ ↲ ┆84┆If the device is a disc, the spindel of the slave device is ↓ ┆19┆┆89┆┄┄powered down.↲ ╞ ╞ ┆84┆It is not allowed to disconnect a (physical) disc on which ↓ ┆19┆┆89┆┄┄any logical discs are linked.↲ ↲ ╞ ╞ ┆84┆The internal process must be reserver of the IDA-mainprocess ↓ ┆19┆┆89┆┄┄and user of the connection (or there must not be any users of ↓ ┆19┆┆89┆┄┄the connection at all).↲ ↲ Message:↲ + 0: 10<12 + 0↲ + 2: RC8000 device number↲ ↲ RC8000 device number: ┆84┆Device number of the device which is ↓ ┆19┆┆9f┆┄┄going to be disconnected.↲ ↲ Answer:↲ + 0: 0↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ Errors: Result 2: ┆84┆Internal process is not reserver of the IDA-↓ ┆19┆┆9b┆┄┄mainprocess.↲ ┆84┆Internal is not user of connection or other ↓ ┆19┆┆9b┆┄┄users of connection.↲ Result 3: Illegal device number.↲ ┆84┆Device is not connected to this IDA control┄↓ ┆19┆┆9b┆┄┄ler.↲ ╞ ╞ ╞ ╞ ┆84┆Device is not an IDA-device.↲ ╞ ╞ ╞ ╞ ┆84┆Logical disc linked to (disc-) connection.↲ ↲ ┆a1┆↲ ┆a1┆┆b0┆3.9╞ ╞ GET TESTBUFFER.↲ ↲ ╞ ╞ Function:↲ ↲ ╞ ╞ ┆84┆The IDA controller maintains an internal testbuffer in which ↓ ┆19┆┆89┆┄┄selected test information is stored. The contents of this ↓ ┆19┆┆89┆┄┄buffer can be transferred to an internal process by sending ↓ ┆19┆┆89┆┄┄this message.↲ ╞ ╞ ┆84┆Use of the IDA-controller test facilities are only intented for ↓ ┆19┆┆89┆┄┄maintenance purposes.↲ ↲ ╞ ╞ ┆84┆The internal process must be user of the IDA-mainprocess.↲ ↲ ╞ ╞ Message:↲ ╞ ╞ + 0: 11<12 + mode↲ ╞ ╞ + 2: first storage address↲ ╞ ╞ + 4: last storage address↲ ↲ ╞ ╞ ╞ mode: clear buffer <1 + wait <0↲ ╞ ╞ ╞ clear buffer: 0: The buffer is left unchanged.↲ ╞ ╞ ╞ ╞ ╞ 1: The buffer is cleared.↲ ╞ ╞ ╞ wait: 0: ┆84┆Return with the present con-↓ ┆19┆┆a8┆┄┄tents of the buffer.↲ ╞ ╞ ╞ ╞ ╞ 1: ┆84┆Return when the test buffer in ↓ ┆19┆┆a8┆┄┄IDA is full.↲ ┆a1┆↲ ════════════════════════════════════════════════════════════════════════ ↓ ╞ ╞ Answer:↲ ╞ ╞ + 0: 0↲ ╞ ╞ + 2: no of halfwords transferred↲ ╞ ╞ + 4: no of characters transferred↲ ↲ ╞ ╞ Errors: Result 2: ┆84┆Internal process is not user of the IDA-main-↓ ┆19┆┆9b┆┄┄process.↲ ╞ ╞ ╞ ╞ IDA mainprocess reserved by another process.↲ ╞ ╞ Result 3: ┆84┆First or last storage address outside inter-↓ ┆19┆┆9b┆┄┄nal process.↲ ↲ ↲ ┆a1┆┆b0┆3.10╞ SET MASK.↲ ↲ ╞ ╞ Function:↲ ↲ ╞ ╞ ┆84┆Sets the test mask in the RC8000 IDA-mainprocess and in the ↓ ┆19┆┆89┆┄┄IDA-controller.↲ ╞ ╞ ┆84┆Use of the RC8000 and IDA test-facilities are only intended ↓ ┆19┆┆89┆┄┄for maintenance purposes.↲ ↲ ╞ ╞ ┆84┆The internal process must be user of the IDA-mainprocess.↲ ↲ ╞ ╞ Message:↲ ╞ ╞ + 0: 12<12 + mode↲ ╞ ╞ + 2: RC8000-mask : test-points 0-23↲ ╞ ╞ + 4: RC8000-mask : test-points 24-47↲ ╞ ╞ + 6: IDA-mask : test-points 0-23↲ ╞ ╞ + 8: IDA-mask : test-points 24-47↲ ╞ ╞ +10: IDA-mask : test-points 48-71↲ ↲ ╞ ╞ ╞ mode: ┆84┆(Does only apply to the IDA-mask part):↲ ╞ ╞ ╞ 0: add the specified mask bits↲ ╞ ╞ 1: clear the specified mask bits↲ ╞ ╞ 2: read the mask↲ ╞ ╞ ╞ 3: set all mask bits↲ ╞ ╞ ╞ 4: clear all mask bits↲ ╞ ╞ ╞ 5: restore all mask bits↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ╞ ╞ Answer:↲ ╞ ╞ + 0: 0↲ ╞ ╞ + 2: (RC8000 mask)↲ ╞ ╞ + 4: (RC8000 mask)↲ ╞ ╞ + 6: IDA-mask↲ ╞ ╞ + 8: IDA-mask↲ ╞ ╞ +10: IDA-mask↲ ╞ ╞ +12: Size of test-buffer (in characters).↲ ↲ ╞ ╞ ┆84┆The size of the test-buffer and the IDA-mask is only ↓ ┆19┆┆8c┆┄┄returned when mode = 2.↲ ↲ ╞ ╞ Errors: Result 2: ┆84┆The internal process is not user of the IDA-↓ ┆19┆┆9b┆┄┄mainprocess.↲ ↲ ┆81┆┆81┆┆81┆↲ ┆a1┆┆b0┆3.11╞ COPY.↲ ↲ Function:↲ ↲ ┆84┆A copy operation is performed by the IDA controller.↲ ┆84┆It is only possible to copy from an area to a magnetic tape. As ↓ ┆19┆┆89┆┄┄the datatransfer takes place internally on the IDA controller, ↓ ┆19┆┆89┆┄┄the stated devices must be connected to the same IDA control┄↓ ┆19┆┆89┆┄┄ler.↲ ↲ ┆84┆The internal process must be reserver of the destination ↓ ┆19┆┆89┆┄┄device, user of the IDA process and it must have writeprotected ↓ ┆19┆┆89┆┄┄the source device.↲ ↲ Message:↲ + 0: 14<12 + mode↲ + 2: (irr)↲ + 4: area process description address↲ + 6: first segment↲ + 8: no of segments↲ +10: tape process description address↲ +12: tape mode↲ +14: block size↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ mode: write filemark<0↲ 0: no file mark is written.↲ 1: ┆84┆a file mark is written when the area has been ↓ ┆19┆┆96┆┄┄copied to the tape.↲ ↲ first ┆84┆segment/no of segments: The (logical) first segment ↓ ┆19┆┆93┆┄┄of the area and the number of segments which are ↓ ┆19┆┆93┆┄┄going to be copied to the tape.↲ ↲ tape mode: ┆84┆block gap length<9 + speed<7 + density<2↲ ↲ block ┆84┆gap length: only relevant for RC8343 and RC8344. ↓ ┆19┆┆98┆┄┄Block gap length may be redefined at any time, ↓ ┆19┆┆98┆┄┄independent of the position of the tape.↲ 0: standard block gap↲ 1: long block gap↲ ↲ speed: ┆84┆only relevant for RC8343 and RC8344. Speed may ↓ ┆19┆┆99┆┄┄be redefined at any time, independent of the ↓ ┆19┆┆99┆┄┄position of the tape.↲ ↲ ┆84┆The station will normally be strapped for fixed ↓ ┆19┆┆99┆┄┄speed, with the speed definition as follows:↲ ↲ ╞ ╞ RC8715 RC8343/low RC8343/high RC8344↲ 0 45 ips 25 ips 12.5 ips 25 ips↲ 1 45 100 ips 50 ips 75 ips↲ ↲ ┆84┆If they are strapped for adaptive velocity con-↓ ┆19┆┆99┆┄┄trol (AVC), the speed definitions are:↲ ↲ RC3715 RC8343/low RC8343/high RC8344↲ 0 45 ips AVC AVC AVC↲ 1 45 ips 100 ips 50 ips 75 ips↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ density: ┆84┆Specifies both density and recording method:↲ ↲ 0 HIGH↲ 1 LOW↲ ↲ ╞ ╞ ╞ ┆84┆The actual recording mehtod and density depends upon ↓ ┆19┆┆91┆┄┄the type of the tape device:↲ ↲ ╞ ╞ ╞ ╞ RC3715 RC8343 RC8344↲ ╞ ╞ ╞ HIGH PE,1600 cpi PE,3200 cpi GCR,6250 cpi↲ ╞ ╞ ╞ LOW NRZ,800 cpi PE,1600 cpi PE, 1600 cpi↲ ↲ PE - Phase Encoding↲ NRZ1 - Non Return to Zero Mark↲ GCR - Group Coded Recording↲ ↲ ┆84┆The density is defined at load point and cannot ↓ ┆19┆┆96┆┄┄be redefined later on.↲ ↲ block size: ┆84┆┆84┆Number of segments per block. The block size ↓ ┆19┆┆99┆┄┄must fulfil the following demands:↲ 1: block size <= 21↲ 2: slicelength modulo block size = 0↲ 3: 21 modulo block size = 0.↲ ┆84┆ ┆84┆Slicelength concerns the logical disc on which ↓ ┆19┆┆99┆┄┄the area is stored.↲ ↲ ╞ ╞ Answer:↲ ╞ ╞ + 0: status↲ + 2: no of segments transferred↲ + 4: 0↲ + 6: file number┆82┆↲ + 8: block number↲ ↲ Status: 0: Copy completed↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ Area or tape error status:↲ ┆a1┆┆e1┆ ┆a1┆bit no┆e1┆ ┆a1┆area┆e1┆ ┆a1┆tape↲ 0 intervention intervention↲ 1 parity error parity error↲ 2 position error time out↲ 3 data overrun↲ 4 block length error↲ 5 end of area end of tape sensed↲ 6 begin of tape sensed↲ 7 file mark sensed↲ 8 writing enabled↲ 9 mode error↲ 11 disc error↲ ↲ ┆84┆No of segments transferred: the number of segments which ↓ ┆19┆┆90┆┄┄have been transferred without errors. ↲ ↲ ┆84┆ ┆84┆File and block number define the position of the tape ↓ ┆19┆┆90┆┄┄after the operation. If 'write file mark' was requested ↓ ┆19┆┆90┆┄┄in the operation, the file number is increased by one ↓ ┆19┆┆90┆┄┄compared to the position prior to the operation, and the ↓ ┆19┆┆90┆┄┄block number will be zero.↲ ┆84┆ ┆84┆If the operation failed it defines the position of the ↓ ┆19┆┆90┆┄┄block which contains the error. ↲ ↲ Error: Result 2: ┆84┆Internal process not user of IDA process.↲ ┆84┆Internal process not reserver of destination ↓ ┆19┆┆9a┆┄┄device.↲ ┆84┆Internal process has not writeprotected the ↓ ┆19┆┆9a┆┄┄source device.↲ Result 3: Illegal mode.↲ Illegal tape mode.↲ ╞ ╞ ╞ ╞ ┆84┆Source or destination device unknown.↲ ┆84┆Area (disc) and tape station not attached to ↓ ┆19┆┆9a┆┄┄the same IDA controller.↲ Illegal block size.↲ ↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ┆a1┆┆b0┆3.12╞ LINK LOGICAL DISC.↲ ↲ ╞ ╞ Function:↲ ↲ ╞ ╞ ┆84┆Creates a logical disc process and initializes it. The device ↓ ┆19┆┆89┆┄┄number of the physical disc and the location of the logical ↓ ┆19┆┆89┆┄┄disc (first segment, number of segments) must be specified. A ↓ ┆19┆┆89┆┄┄device number of a specific (free) IDA-subprocess which should ↓ ┆19┆┆89┆┄┄be used for the logical disc may be stated - if not specified, ↓ ┆19┆┆89┆┄┄a free IDA-subprocess will be selected.↲ ┆a1┆↲ ╞ ╞ It is tested that no logical disc will overlap each other.↲ ┆84┆When the first logical disc has been linked, it is not possible ↓ ┆19┆┆89┆┄┄to com┄municate with the physical disc.↲ ↲ ╞ ╞ ┆84┆The internal process must be user of the IDA-mainprocess and ↓ ┆19┆┆89┆┄┄user of the physical disc.↲ ↲ ╞ ╞ Message:↲ ╞ ╞ + 0: 16<12 + mode↲ ╞ ╞ + 2: device no of logical disc/-1↲ ╞ ╞ + 4: device no of physical disc↲ ╞ ╞ + 6: first segment↲ ╞ ╞ + 8: no of segments↲ ↲ ╞ ╞ ╞ mode: user<0:↲ ╞ ╞ ╞ = 0: include sender as user of logical disc↲ ╞ ╞ ╞ = 1: ┆84┆include all users of the physical disc as ↓ ┆19┆┆9a┆┄┄users of the logical disc.↲ ↲ ╞ ╞ ╞ device no ┆84┆of logical disc: If this equals -1 a (randomly ↓ ┆19┆┆9a┆┄┄selected) free IDA-subprocess is used for the ↓ ┆19┆┆9a┆┄┄logical disc else the specified (free) IDA-↓ ┆19┆┆9a┆┄┄subprocess is used.↲ ↲ ╞ ╞ ╞ first segm┆84┆ent/no of segments: Specifies the location of ↓ ┆19┆┆9a┆┄┄the logical disc within the physical disc.↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ╞ ╞ Answer:↲ ╞ ╞ + 0: status↲ ╞ ╞ + 2: device no of logical disc↲ ↲ ╞ ╞ ╞ status: 3<8: no free IDA-subprocess available.↲ ↲ ╞ ╞ Errors: Result 2: ┆84┆Internal process not user of IDA-mainprocess ↓ ┆19┆┆9b┆┄┄or not user of physical disc.↲ ╞ ╞ ╞ ╞ ┆84┆Physical disc reserved by other.↲ ╞ ╞ ╞ Result 3: Illegal mode.↲ ╞ ╞ ╞ ╞ Illegal devno of logical disc.↲ ╞ ╞ ╞ ╞ Illegal devno of physical disc.↲ ╞ ╞ ╞ ╞ ┆84┆Physical disc not connected by this IDA-main┄↓ ┆19┆┆9b┆┄┄process.↲ ╞ ╞ ╞ ╞ ┆84┆Physical disc not connected (or not ready).↲ ╞ ╞ ╞ ╞ ┆84┆Logical disc overlap or logical disc outside ↓ ┆19┆┆9b┆┄┄physical disc.↲ ↲ ↲ ┆a1┆┆b0┆3.13╞ UNLINK LOGICAL DISC.↲ ↲ ╞ ╞ Function:↲ ↲ ╞ ╞ ┆84┆Removes a logical disc. The logical disc must have been exclu┄↓ ┆19┆┆89┆┄┄ded from the backing storage system before it can be unlinked.↲ ╞ ╞ ┆84┆When the last logical disc has been unlinked it is possible to ↓ ┆19┆┆89┆┄┄communicate with the physical disc.↲ ↲ ╞ ╞ ┆84┆The internal process must be user of the IDA-mainprocess and ↓ ┆19┆┆89┆┄┄user of the logical disc (or there may be no users of the logi-↓ ┆19┆┆89┆┄┄cal disc at all).↲ ↲ ╞ ╞ Message:↲ ╞ ╞ + 0: 18<12 + 0↲ ╞ ╞ + 2: RC8000 device number↲ ↲ ╞ ╞ ╞ ┆84┆RC8000 device number: Device number of the logical disc ↓ ┆19┆┆91┆┄┄which is going to be unlinked.↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ╞ ╞ Answer:↲ ╞ ╞ + 0: 0↲ ↲ ╞ ╞ Errors: Result 2: ┆84┆Internal process not user of IDA-mainprocess.↲ ╞ ╞ ╞ ╞ ┆84┆Internal process not user of logical disc, or ↓ ┆19┆┆9b┆┄┄logical disc reserved by other.↲ ╞ ╞ ╞ Result 3: ┆84┆Illegal device number or not a logical IDA-↓ ┆19┆┆9b┆┄┄disc.↲ ╞ ╞ ╞ ╞ ┆84┆The physical disc on which the logical disc ↓ ┆19┆┆9b┆┄┄is located was not connected by this IDA-↓ ┆19┆┆9b┆┄┄mainprocess.↲ ╞ ╞ ╞ ╞ ┆84┆Logical disc is not excluded from the back-↓ ┆19┆┆9b┆┄┄ing storage system.↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ┆b0┆┆81┆┆81┆APPENDIX.↲ ↲ ↲ ┆b0┆┆a1┆A. REFERENCES.┆e1┆↲ ↲ (1) RC8000/IDA801 Disc Process. Reference Manual.↲ RCSL No. 991 09775↲ ↲ ╞ ╞ (2) ┆84┆RC8000/IDA801 Magnetic Tape Process. Reference Manual.↲ ╞ ╞ RCSL No. 991 09774↲ ↲ ╞ ╞ (3) ┆84┆RC8000/IDA801 Backing Storage Area Process. Reference ↓ ┆19┆┆8d┆┄┄Manual.↲ ╞ ╞ RCSL No. 991 09780↲ ↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ┆b0┆┆a1┆B. STATISTICS INFORMATION FORMAT.↲ ↲ ┆84┆The statistics information has the following format:↲ ↲ ╞ ╞ + 0: Controller not ready.↲ ┆e1┆┆e1┆╞ ╞ + 2: Number of operations (most significant 24 bits).↲ ╞ ╞ + 4: Number of operations (least significant 24 bits).↲ ╞ + 6: Number of 'chained' operations.↲ ↲ ╞ ╞ They are all unsigned counters.↲ ↲ ╞ ╞ ┆84┆'Controller not ready': No of times the IDA-controller was not ↓ ┆19┆┆89┆┄┄ready to receive an operation.↲ ↲ ╞ ╞ ┆84┆'Number of operations': The total number of operations delive-↓ ┆19┆┆89┆┄┄red to the IDA-controller.↲ ↲ ╞ ╞ ┆84┆'Number of chained operations': The number of operations ↓ ┆19┆┆89┆┄┄delivered to IDA, where the operation was a part of a 'chain'. ↓ ┆19┆┆89┆┄┄One RC8000-operation may in certain cases be delivered to the ↓ ┆19┆┆89┆┄┄controller as more than one operation, where these operations ↓ ┆19┆┆89┆┄┄are 'chained'. This is done when one data-transfer to or from ↓ ┆19┆┆89┆┄┄an area, involve non-consecutively placed segments or when a ↓ ┆19┆┆89┆┄┄disc-transfer exceeds a certain amount of data (21 segments). ↓ ┆19┆┆89┆┄┄This counter is included in 'number of operations'.↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ┆b0┆┆a1┆C.╞ ╞ MESSAGE/ANSWER FORMAT SUMMARY.↲ ╱04002d4e0c0006000000000301503100000000000000000000000000000000000000000000000000050a0f19232d37414b555f69737d87ff04╱ ╱04002d4e0c0006000000000301483100000000000000000000000000000000000000000000000000050a0f19232d37414b555f69737d87ff04╱ ↓ ↲ ┆81┆╞ ╞ ┆a1┆Operation┆e1┆╞ ┆a1┆┆e1┆ ┆a1┆Message┆e1┆╞ ╞ ┆a1┆┆e2┆┆e1┆ ┆a1┆Answer┆e1┆↲ ↲ Set timeout╞ 2<12 + 0╞ ╞ 0↲ timeout↲ ↲ ↲ Input╞ 3<12 + 0╞ ╞ status↲ ╞ ╞ ╞ first storage address number of halfwords↲ ╞ ╞ ╞ ╞ last storage address number of characters↲ ↲ ↲ ╞ ╞ Reset╞ 4<12 + 0╞ ╞ 0↲ ↲ ↲ ╞ ╞ Take autoload block 5<12 + 0╞ ╞ status↲ ╞ ╞ ╞ ╞ first storage address number of halfwords↲ ╞ ╞ ╞ ╞ last storage address number of characters↲ ↲ ↲ ╞ ╞ Connect device╞ 6<12 + mode╞ ╞ status↲ ╞ ╞ ╞ ╞ control module/formatter RC8000 device number↲ ╞ ╞ ╞ ╞ slave unit/station (IDA-index)↲ ╞ ╞ ╞ ╞ RC8000 device no/-1 device kind↲ ╞ ╞ ╞ ╞ device kind, device type device capacity↲ ↲ ↲ ╞ ╞ Position╞ 8<12 + 0╞ ╞ status↲ ╞ ╞ ╞ ╞ 0↲ ╞ ╞ ╞ ╞ 0↲ ┆e1┆╞ ╞ ╞ ╞ (logical) filenumber↲ ↲ ↲ ╞ ╞ Extract statistics 9<12 + mode╞ ╞ 0↲ ╞ ╞ ╞ ╞ first storage address number of halfwords↲ ╞ ╞ ╞ ╞ last storage address number of characters↲ ↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ╞ ╞ Disconnect device 10<12 + 0 0↲ ╞ ╞ ╞ ╞ RC8000 device no↲ ↲ ↲ ╞ ╞ Get testbuffer 11<12 + mode 0↲ ╞ ╞ ╞ ╞ first storage address number of halfwords↲ ╞ ╞ ╞ ╞ last storage address number of characters↲ ↲ ↲ ╞ ╞ Set mask 12<12 + mode status↲ ╞ ╞ ╞ ╞ RC8000 mask (0-23) irr↲ ╞ ╞ ╞ ╞ RC8000 mask (24-47) irr↲ ╞ ╞ ╞ ╞ IDA-mask (0-23) IDA-mask (0-23)↲ ╞ ╞ ╞ ╞ IDA-mask (24-47) IDA-mask (24-47)↲ ╞ ╞ ╞ ╞ IDA-mask (48-71) IDA-mask (48-71)↲ ╞ ╞ ╞ ╞ ╞ ╞ ╞ Size of testbuffer↲ ↲ ↲ ╞ ╞ Copy╞ ╞ 14<12 + mode╞ ╞ status↲ ╞ ╞ ╞ ╞ irr╞ ╞ no of segments transf.↲ ╞ ╞ ╞ ╞ area process address 0↲ ╞ ╞ ╞ ╞ first segment file number↲ ╞ ╞ ╞ ╞ no of segments block number↲ ╞ ╞ ╞ ╞ tape process address↲ ╞ ╞ ╞ ╞ tape mode↲ ╞ ╞ ╞ ╞ block size↲ ↲ ↲ ╞ ╞ Link logical disc 16<12 + mode status↲ devno of logical disc/-1 devno of logical disc↲ ╞ ╞ ╞ ╞ devno of physical disc↲ ╞ ╞ ╞ ╞ first segment↲ ╞ ╞ ╞ ╞ no of segments↲ ↲ ↲ ╞ ╞ Unlink logical disc 18<12 + 0╞ ╞ 0↲ ╞ ╞ ╞ ╞ devno of logical disc↲ ↲ ↲ ┆b0┆┆a1┆↓ ┆1a┆┆1a┆rations'No of segments transferred: the number of segments which ↓ ┆19┆┆90┆┄┄have been transferred without erro