hit counter script
HP 00041-15043 Owner's Manual
HP 00041-15043 Owner's Manual

HP 00041-15043 Owner's Manual

Hp-il development module

Advertisement

Quick Links

HEWLETT-PACKARD
HP 00041-15043
HP-IL Development Module
OWNER'S MANUAL

Advertisement

Table of Contents
loading

Summary of Contents for HP 00041-15043

  • Page 1 HEWLETT-PACKARD HP 00041-15043 HP-IL Development Module OWNER’S MANUAL...
  • Page 2 This manual has been re-typeset using the text and code from the original HP manual. As such, copyright remains with HP. Large parts of the text were OCRed while others were retyped. The front and back covers have a white background because printers always leave a blank band around the page, so it is better not to have a background.
  • Page 3 HP 00041-15043 HP-IL Development Module Owner’s Manual For use with the HP-41 September 1982 00041-90449 Printed in U.S.A. © Hewlett-Packard Company 1982...
  • Page 4: Table Of Contents

    Sending Identify Messages..................38 Sending Arbitrary Messages...................39 Boolean Functions ....................40 Non-Decimal Input and Output................42 Reading and Writing of the HP-IL IC Registers............44 Receiving Messages in Idle Mode ................45 Appendix A: Care, Warranty, and Service Information...........47 Appendix B: Null Characters..................49 Appendix C: HP-41 HP-IL Integrated Circuit..............51...
  • Page 5: Introduction

    9) Read or write any register in the HP-IL integrated circuit. This manual assumes that you are familiar with the HP-IL protocol as specified in the HP-IL System Intro- ductory Guide to the Hewlett-Packard Interface Loop, by Kane, Harper, and Ushijima (Osborne-McGraw Hill, Berkeley, 1982).
  • Page 7: Hp-Il Analyzer

    HP-41 to monitor and display the HP-IL messages as they go around the loop. In SCOPE SCOPE mode, the HP-41 will no longer source frames, but it will merely display the mnemonic of a re- ceived message and then echo the message on to the next device.
  • Page 8 Section 1: HP-IL Analyzer Now that the scope is ready, initiate the HP-IL transaction that you wish to observe. Keystrokes Frame Received Display AAD 1 AAD 1 TAD 1 TAD 1 DAB 16 DAB 16 Until now the messages have been staying in the display for .5 seconds. Press and start the sequence again.
  • Page 9 Section 1: HP-IL Analyzer To review the messages that have just been received, press , which sets the pointer to the start of the ← sequence. Keystrokes Frame Received Display 00 AAU ← You can now single step through the buffer using...
  • Page 11: Example Programs

    How to Read This Section The programs in this section have been listed differently from the HP-41 manual. The listing is similar to that produced by trace mode. Line numbers are not used because they are irrelevant to the program. In some cases, multiple program steps are used on the same line.
  • Page 12: Wgpio

    Section 2: Example Programs Program: WGPIO Description: Writes a control register of an HP-IL to GPIO interface (HP 82165A/HP 82166A). Input: The X-register contains the new contents of the register, the Y-register contains the number of the register to be changed.
  • Page 13: Gpadr

    Get the address into the X-register, untalk the GPIO, and return. *LBL 00 Manual I/O is very simple. The HP-IL module stores the selected address in RREG register 4 of the HP-IL chip STO 02 Return the address in register-X and register 02.
  • Page 14: Gpadr1

    Input: None. Output: Sets HP-IL register 0 to 64 (CA), sets HP-IL register 3 to 64 (AIDY), and sets user flag 18, which enables the INTR routine. *L8L "ENBINTR" 3 ENTER^ 64 WREG Set HP-IL register 3 to 64 (AIDY).
  • Page 15: Intr

    Results in the display. Warnings: This program is not quite as fast as an HP-16C, nor does it handle word sizes as large as sixty-four bits. Remember that the largest number is thirty-two bits long, and the actual number of bits viewable is dependent upon the current base.
  • Page 16 Section 2: Example Programs *LBL "8" 8 STO 00 RDN GTO 01 *LBL "-" Various arithmetic and logical operations: - GTO 01 *LBL "+" + GTO 01 *LBL "*" * GTO 01 *LBL "/" / GTO 01 *LBL "OR " Note the trailing space.
  • Page 17: Device

    Warnings: This program is slow enough that the HP-IL module will time out and give a transmit error. In order to drive this program, a controller program must be written with the development module. This program is given on page 17.
  • Page 18 Send 0 (no SRQ) or 128 (SRQ). GTO "ETO" *LBL "1378" CF 25 --- SDI --- 1213214004 OUTBIN 49 OUTBIN Send “HP-41” and ETO. GTO "ETO" *LBL "13791" CF 25 --- SAI --- 0 OUTBIN Send DAB 0 and ETO.
  • Page 19: Intr

    INTR will not be executed. This program assumes that the con- troller is sending IDY’s around the loop. The next IDY to go around will have the service request bit set, and the controller will ask the HP-41 for status. *LBL "SENDA"...
  • Page 20 Section 2: Example Programs Get rid of FRAV? or FRNS?. *LBL 01 RFRM...
  • Page 21: Reference Section

    Additionally, the HP-IL integrated circuit is reset whenever the HP-41 goes into idle mode unless the AIDY bit in the HP-IL integrated circuit is set. This bit imposes constraints upon the operation of the loop. To avoid these constraints various functions, such as...
  • Page 22: Error Handling

    The development module handles some of its errors differently from the way the HP-41 handles its errors. Flag 25 is still used to trap errors, but the flag is not cleared by an error. Instead, an error code is returned to the X-register.
  • Page 23: Utility Functions

    SCOPE Displays HP-IL messages Description: Displays HP-IL message mnemonics and stores them in the buffer if store mode is selected. Messages can be delayed from 0 to 1.5 seconds. The delay for IDY messages is always zero. Input: When executed from a program, the X-register is the number of messages to be received before ex- iting.
  • Page 24 Sets user flag 33 Description: When user flag 33 is set, the HP 82160A HP-IL module functions will not and can not access the loop. Setting this flag will prevent the HP-IL module from searching the loop for a printer. While flag...
  • Page 25 Section 3: Reference Section Input: X, an integer number from 0 through 255, and user flags 0 through 7. Output: X, an integer from 0 through 255, and user flags 0 through 7. Warnings: Any number from 0 through 999 will be converted to an integer; only the low eight bits will be used.
  • Page 26: Buffer Utility Functions

    1771 bytes. The buffer size will be rounded up to the next larger increment of seven bytes if X is not a multiple of seven. If the HP-41 does not have enough memory for the buffer, it will pack the memory and ask you to try again.
  • Page 27 Description: Prints the bytes in the buffer in hexadecimal format. The bytes are printed starting from the buffer pointer and ending at the end of the buffer. If the HP 82143A printer is plugged in, it will be used for printing.
  • Page 28: Buffer Input

    LA and sends SDA before reading. If CA is not set, then LA is not set and an SDA is not sent. X bytes are input from HP-IL and stored into the buffer starting at the current pointer. The transfer is terminated by one of the following conditions: 1) ETO.
  • Page 29 Section 3: Reference Section 4) Reaching the end of the buffer. The END OF BUF error is generated. 5) Sixty seconds after the most recent message is received; the TIME OUT error is generated. 6) Pressing any key generates the TIME OUT error.
  • Page 30: Buffer Output

    Section 3: Reference Section E. Buffer Output BUF-XA Convert a string to a number in X Description: Converts a string representation of a number into the X-register. Starting at the buffer pointer, X bytes are taken as the ASCII representation of a number, whose value is returned to X. Characters which do not fall into the set of the digits zero through nine, the radix indicator “.”, the exponent indicator “E”, and the Line Feed character are ignored.
  • Page 31 NRD handshake performed. An ETO will be sent after the desired number of bytes has been sent. Input: The X-register contains the count of bytes. Output: The data messages are sent to the active listeners on HP-IL. Warnings: Does not wait for an SDA.
  • Page 32: Buffer Comparisons

    Section 3: Reference Section F. Buffer Comparisons All of these comparison functions act just like the comparison functions in the HP-41. If the question being asked is true, the display will contain , or execution will continue with the next step. If the question is false, the display will contain , or execution will continue after skipping a step.
  • Page 33: Alpha Register Functions

    Section 3: Reference Section G. ALPHA Register Functions ASIZE? X gets the number of characters in ALPHA Description: Returns the number of characters contained in the ALPHA register. Leading nulls are ignored. Input: ALPHA register. Output: The X-register contains the number of characters in the ALPHA register; the stack is lifted. A-XL Removes the leftmost ALPHA character and puts it in X Description: The decimal value of the leftmost character in the ALPHA register is placed in the X-register.
  • Page 34 Section 3: Reference Section A-XX The Xth ALPHA character’s value is placed in X Description: The decimal value of the Xth ASCII character in the ALPHA register is placed in the X- register. The character in the ALPHA register is left untouched. The original position in X is saved in the LASTX-register.
  • Page 35: Stack Input And Output

    ETO is not sent after execution. At least one and no more than seven data bytes will be output by OUTBIN Input: The integer part of X is output. Output: Data bytes to the active listeners on HP-IL. OUTBINY Output bytes from X, using Y as the number of bytes to send Description: Same as except that the number of bytes transmitted is determined by the Y-register.
  • Page 36: Sending Command Messages

    Section 3: Reference Section I. Sending Command Messages These functions use the same output routine as that in section H. All of these functions will set CA before execution, as it is a violation of protocol for a non-controller to send any of these messages. Sends AAU Description: Sends the Auto Address Unconfigure command.
  • Page 37 Section 3: Reference Section Sends LPD message Description: Sends the Loop Power Down command. Sends NRE message Description: Sends the Not Remote Enable command. Sends REN message Description: Sends the Remote Enable command. Sends SDC message Description: Sends the Selected Device Clear command. Sends the TAD message specified in X Description: Sends a Talker Address command.
  • Page 38: Sending Ready Messages

    Section 3: Reference Section J. Sending Ready Messages Sending ready messages is performed in the same manner as sending command messages. In certain cases the time out and error checking are not performed because a message is not returned. Those functions which do not expect a message to return will explicitly state this.
  • Page 39 The HP-41 waits for the NRD message to return. If anything else returns, a FRNS ERR error is gener- ated. The saved data message is sent out on the loop. The HP-41 waits for an ETO to return. If anything else returns, an is generated.
  • Page 40: Sending Identify Messages

    Section 3: Reference Section K. Sending Identify Messages. Sends an IDY message, returns data bits to X Description: Sends out an Identify message with the data bits set to zero. CA is set before execution. When the message returns, the eight data bits are pushed on the stack. If the message does not return within ten seconds, a TIME OUT error is generated and -1 is pushed on the stack.
  • Page 41: Sending Arbitrary Messages

    Reads the already present message into X, Y registers Description: Reads registers one and two of the HP-IL integrated circuit and puts them on the stack where the X-register contains the three control bits and Y-register contains the eight data bits of the message.
  • Page 42: Boolean Functions

    OUT OF RANGE is given. Note that this error does not return an error number, and behaves exactly like an HP-41 error. ANDs the X-register and Y-register and returns to X Description: Performs a boolean AND between the X-register and the Y-register. Returns the result to the X-register with stack lift enabled.
  • Page 43 Tests to see if the Xth bit of Y is set Description: works like all the rest of the HP-41 test instructions. The test is for the Xth bit of the BIT? number in the Y-register to see if it is set. If...
  • Page 44: Non-Decimal Input And Output

    Section 3: Reference Section N. Non-Decimal Input and Output BININ Inputs a number in binary Description: The keyboard is redefined so that the only digit keys which are active are . Any other key terminates numeric entry and is executed. Input: Output: An integer in the X-register.
  • Page 45 Section 3: Reference Section Output: The display shows X in octal. HEXVIEW Shows the value of X in hexadecimal Description: The display shows the value of the X-register in hexadecimal. The distance between the com- mas in the display is given by the current FIX value. The normal display of the X-register is restored using ←...
  • Page 46: Reading And Writing Of The Hp-Il Ic Registers

    Section 3: Reference Section O. Reading and Writing of the HP-IL IC Registers. WREG Writes X to HP-IL register number in Y Description: Writes to a given register. Y-register contains the register number, the X-register contains the new contents of the register.
  • Page 47: Receiving Messages In Idle Mode

    If you do, the first digit in the first digit string in your program will be inserted between every instruction step. The easiest way to exit this mode is to pull the HP-IL module out of the HP-41. To repair the damage,...
  • Page 49: Appendix A: Care, Warranty, And Service Information

    CAUTION Always turn off the HP-41 before connecting or disconnecting any module or pe- ripheral. Failure to do so could result in damage to the HP-41 or disruption of the system’s operation. • Keep the contact area of the module free of obstructions, Should the contacts become dirty, carefully brush or blow the dirt out of the contact area.
  • Page 51: Appendix B: Null Characters

    ALPHA register if the last character (before appending) was a null. If the last character in the ALPHA register is a null, then – while you enter characters to append – the HP- 41 acts as if the register is empty, and displays only the characters that you are appending. (The cursor sign (_) is present in the display while you append characters.) However, the ALPHA register itself properly...
  • Page 52 Appendix B: Error Messages 5) ALPHA Strings in Data or Stack Registers. If you store an ALPHA string containing nulls in a data or stack register, none of the nulls will be displayed when you view (or print) the contents of that register (as with ).
  • Page 53: Appendix C: Hp-41 Hp-Il Integrated Circuit

    SSRQ – Send Service Request Note: SLRDY and CLIFCR are self-resetting bits (resetting occurs 1-2 μsec after end of write pulse.) Reading R0 returns the value of CLIFCR, which will always be a logic zero by the time the HP-41 reads it. Control...
  • Page 54 Appendix C: HP-41 HP-IL Integrated Circuit Data bits Register 2 Read 2 Write DI7-DI0 – Input Data Bit DO1-DO0 – Output Data Bits Parallel Poll Register 3 R/W *OSCDIS *AIDY PPIST PPEN PPOL *OSCDIS – Oscillator Disable *AIDY – Automatic IDY Sourcing in Idle Mode PPIST –...
  • Page 55 Figure 1 – Initialization Transitions. Automatic IDY mode The HP-IL integrated circuit will not be reset in idle mode if the AIDY bit is set, which allows for two pos- sibilities: 1) If CA is true, then IDYs will be automatically generated. No handshaking of the IDYs will be per- formed.
  • Page 57: Appendix D: Error Messages

    FRNS ERR – all – A message was not received as sent. INVALID REG WREG ⎫ ⎪ The HP-IL register specified does not exist. ⎬ ⎪ RREG ⎭ NO BUFFER – all – A buffer has not been created with...
  • Page 58 A message was not received after a time specified by the function specified. TRANSMIT ERR – none – If flag 33 is set, execution of any HP-IL module functions will cause this error. The development module does not generate this error.
  • Page 59: Appendix E: Function Index

    Sends NRE message. Inputs a number in octal. OCTIN Shows the value of X in octal. OCTVIEW Keeps the HP-41 in execution mode. Tests the ORAV bit true. ORAV? ORs the X-register and Y-register and returns to X. Output binary from X.
  • Page 60 Sends UNL message. Sends UNT message. Writes a message using X, Y waiting for ORAV. WFRM Writes X to HP-IL register number in Y. WREG ASCII number in X is put to left of ALPHA. X-AL ASCII number in X is put to right of ALPHA.

Table of Contents