Home
HP 12792B 8-Channel Asynchronous Multiplexer Subsystem User's
Contents
1. 12792B 8 Channel Asynchronous Multiplexer Subsystem User s Manual For HP 1000 M E F Series Computers HP 12792B 8 Channel Asynchronous Multiplexer Subsystem User s Manual packann HEWLETT PACKARD COMPANY Data Systems Division MANUAL PART NO 5955 8867 11000 Wolfe Road Printed in U S A January 1983 Cupertino California 95014 E0183 PRINTING HISTORY The Printing History below identifies the Edition of this Manual and any Updates that are included Periodically Update packages are distributed which contain replacement pages to be merged into the manual including an updated copy of this Printing History page Also the update may contain write in instructions Each reprinting of this manual will incorporate all past Updates however no new information will be added Thus the reprinted copy will be identical in content to prior printings of the same edition with its user inserted update information New editions of this manual will contain new information as well as all Updates To determine what software manual edition and update is compatible with your current software revision code refer to the appropriate Software Numbering Catalog Software Product Catalog or Diagnostic Configurator Manual First Editions ease ista ee ee Jan 1983 NOTICE The information contained in this document is subject to change without notice HEWLETT PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS M
2. 00334 060440 ASC 3 a 037C 00335 030063 00336 033503 00337 015446 RMPA1 OCT 15446 00340 060440 ASC 3 a 079C 00341 030067 00342 034503 00343 000333R RMPAD DEF RMPAO 00344 000337R DEF RMPA1 00345 000343R RMPA DEF RMPAD 00346 015465 RMST OCT 15465 00347 000346R RMSTA DEF RMST 00350 015446 CPBUF OCT 15446 00351 060440 ASC 1 a 00352 000000 CPVAL BSS 4 00356 000005R CPADD DEF DEXO5 00357 000011R DEF DEXO9 00360 100356R CPAD DEF CPADD I 00361 000352R CPVAD DEF CPVAL 00362 000350R CPBFA DEF CPBUF 00363 000364R SENCA DEF SENCC 00364 015541 SENCC OCT 15541 00365 010400 OCT 10400 00270 SENSL EQU DM3 RETURN AREA FOR CURSOR SENSE 00366 000367R CRDBA DEF CRDBF 00367 000000 CRDBF NOP 00370 000000 NOP 00371 000000 NOP 00372 000000 NOP 00373 000000 NOP 00374 000000 NOP 00375 000761R CUBYT DBR CRDBF 1 END SET L MARGIN COMMAND ESCH AND ADDRESS ESC amp POSITION CURSOR FOR R MARGIN SET SUB O ESC amp POSITION CURSOR FOR R MARGIN SET SUB 1 ADDRESS OF R MARGIN SUB O ADDRESS OF R MARGIN SUB 1 ADDRESS OF ADDRESSES SET R MARGIN COMMAND ESC5 AND ADDRESS ESC amp POSITION CURSOR FOR A SUB CHANNEL FOR OPERATION AREA TO PUT CURSOR COORD ADDR OF CURSOR COORD SUB O ADDR OF CURSOR COORD SUB 1 ADDRESS OF ADDRESSES ADDRESS OF COORDINATE STORAGE ADDRESS OF BUFFER ADDR OF SENSE CURSOR COMMAND ESCa SENSE CURSOR COMMAND DC1 SEND DATA CHAR COUNT FOR SENSE COMMAND CURSOR READ BUFFER ADD
3. Bits 15 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Undefined 0 1 1 0 1 connected to systems modem panel hardwired no systems modem panel no response from systems modem modem not present being called analogue loopback remote digital loopback not in loopback mode loopback completed low speed high speed line disconnected line connected Note On power up the B register status equals 200B and it will remain so if an HP 37214A modem panel is not connected to the MUX The dynamic status request is a call to the driver therefore it will wait until any outstanding requests to that LU have completed 2 15 Function Code 10B Loop Test Function Code 10B performs a local analog or a remote digital loop test when using the HP 37213 Modem Card and only applies to this card in the HP 37214A Systems Modem Card Cage Refer to the manuals for the external modems for loopback test instructions on them For these tests the ENQ ACK handshake and ECHO must be off After initiating a loop test wait for approximately three seconds and then confirm that the modem being tested has looped the data lines by reading the port status refer to Dynamic Status Function Code 6B After confirming the loopback the user can put the port in type ahead mode and then perform the integrity check of the modem line by comparing the received data against the transmitted data After the test the user can disable the
4. Chart Set Up Device Driver EQT Extent Pointers On each entry to the device driver the device driver EQT extent addresses are stored into a table in the device driver each entry the A register contains the first device driver EQT extent address and bit 15 indicates new or continuation entry Bit 15 is saved for later testing and stripped from the address before the addresses of the device driver extent are saved DDSOO NOP DEVICE DRIVER ENTRY POINT STB TEMP SAVE B TEMPORARILY CLE SAVE A 15 ELA RAR AND CLEAR IT LDB DEXAD ADDRESS OF TABLE LDX DM15 DECIMAL MINUS 15 CREATE TABLE OF DD EXTENT ADDRESSES DEXLP STA B I A CONTAINS ADDRESS OF DD EXTENT WORD INA B CONTAINS ADDRESS IN TABLE INB X CONTAINS COUNT DOWN ISX JMP DEXLP DEXAD DEF DEXO ADDRESS OF TABLE DEXO1 NOP ADDRESS OF FIRST DD EXTENT WORD DEXO2 NOP DEX15 NOP ADDRESS OF DD EXTENT WORD 15 After the initial setup is done on each entry the device driver then tests the bit that indicates a new request entry that was saved in the E register Continuation entries go the next routine to be executed whose address is always saved the device driver EQT extent word 13 If it is not a continuation entry the device driver tests to see if it is the first ever entry for the EQT Device driver EQT extension word 15 contains an ASCII SO if this is not the first ever entry EQT Setup On First Entry On the first entry for any EQT the starting cursor positions for the left an
5. 9 bits Bit 0 212 mode 1 V 22 mode Bit O guard tone off 1 guard tone on Bit 2 0 originate 1 answer Bit 1 0 manual 1 auto dial Bit 0 0 1 low speed 300 baud high speed 1200 baud the HP 37213A modem card HP 37215A modem interface card cards are contained in the HP 37214A modem card cage driver will complete the request i e return only after line has been connected driver will not wait for the line to be connected before These The modem If the user wants to auto dial the number to be dialed is specified before the Connect Line request by making a write request with function code 35B as follows CALL EXEC 2 Where LU BUFR BUFLN Funetion eode 35B tells the driver that this is a special write buffer 3500B LU BUF R BUFLN LU of the modem buffer that contains the phone number AUTO DIAL BUFR length of BUFR The AUTO DIAL BUFR should start with a T or lt P gt for DTMF tone or pulse dialing followed by a st T n n n n n n or Pennen nenen where is a del SP ring of numbers The format of the BUFR is imiter Other valid delimiters are 2 25 A delimiter need not be sent Consistency of the choice of delimiters is not needed and any number of delimiters may be sent n is a digit O to 9 or An will cause an access pause of two seconds during dialing Up to two access pauses may be included The total number of digits includin
6. Alfa Apartado 4929 PANAMA 5 Tel 63 6613 63 6748 Telex 3483 ELECTRON PG C a Electro M dica S A Los Flamencos 145 San Isidro Casilla 1030 LIMA 1 Tel 41 4325 41 3703 Telex Pub Booth 25306 CMEMP PHILIPPINES The Online Advanced Systems Corporation Rico House Amorsolo Cor Herrera Street Legaspi Village Makati P 0 Box 1510 Metro MANILA Tel 85 35 81 85 34 91 85 32 21 Telex 3274 ONLINE A CH CS E M Electronic Specialists and Proponents Inc 690 B Epifanio de los Santos Avenue Cubao QUEZON CITY P O Box 2649 Manila Tel 98 96 81 98 96 82 98 96 83 Telex 40018 42000 ITT GLOBE MACKAY BOOTH P PORTUGAL Mundinter Intercambio Mundial de Com rcio SARL P O Box 2761 Av Antonio Augusto de Aguiar 138 P LISBON Tel 19 53 21 31 53 21 37 Telex 16691 munter p M Soquimica Av da Liberdade 220 2 1298 LISBOA Codex Tel 56 21 81 2 3 Telex 13316 SABASA P Telectra Empresa T cnica de Equipmentos El ctricos S A R L Rua Rodrigo da Fonseca 103 P O Box 2531 P LISBON 1 Tel 19 68 60 72 Telex 12598 CH CS E P B t PUERTO RICO Hewlett Packard Puerto Rico Ave Mu oz Rivera 101 Esq Calle Ochoa HATO REY Puerto Rico 00918 Tel 809 754 7800 Hewlett Packard Puerto Rico Calle 272 Edificio 203 Urb Country Club RIO PIEDRAS Puerto Rico P 0 Box 4407 CAROLINA Puerto Rico 00628 Tel 809 762 7255 A CH CS QATAR Computearbia P O
7. Box 2750 DOHA Tel 883555 Telex 4806 CHPARB P Eastern Technical Services P 0 Box 4747 DOHA Tel 329 993 Telex 4156 EASTEC DH Nasser Trading amp Contracting P 0 Box 1563 DOHA Tel 22170 23539 Telex 4439 NASSER DH M SAUDI ARABIA Modern Electronic Establishment Hewlett Packard Division P 0 Box 22015 Thuobah AL KHOBAR Tel 895 1760 895 1764 Telex 671 106 HPMEEK SJ Cable ELECTA AL KHOBAR CH CS E M Modern Electronic Establishment Hewlett Packard Division P O Box 1228 Redec Plaza 6th Floor JEDDAH Tel 644 38 48 Telex 4027 12 FARNAS SJ Cable ELECTA JEDDAH CH CS E M Modern Electronic Establishment Hewlett Packard Division P O Box 22015 RIYADH Tel 491 97 15 491 63 87 Telex 202049 MEERYD SJ CH CS E M Abdul Ghani El Ajou P O Box 78 RIYADH Tel 4041 717 Telex 200 932 EL AJOU P SCOTLAND See United Kingdom SINGAPORE Hewlett Packard Singapore Sales Pte Ltd 08 00 Inchcape House 450 2 Alexandra Road P 0 Box 58 Alexandra Rd Post 0ffice SINGAPORE 9115 Tel 631788 Telex HPSGS0 RS 34209 Cable HEWPACK Singapore A CH CS E MS P D a SALES 8 SUPPORT OFFICES Arranged alphabetically by country SINGAPORE Cont d Dynamar Intemational Ltd Unit 05 11 Block 6 Kolam Ayer Industrial Estate SINGAPORE 1334 Tel 747 6188 Telex RS 26283 CM SOUTH AFRICA Hewlett Packard So Africa Pty Ltd P O Box 120 Howard Place CAPE PROVINCE 7450 Pine Park
8. Hewlett Packard Australia Ltd 10 Payne Road THE GAP Queensland 4061 Tel 30 4133 Telex 42133 Cable HEWPARD Brisbane A CH CM E M P Canberra Australia Capital Territory Office Hewlett Packard Australia Ltd 121 Wollongong Street FYSHWICK A C T 2609 Tel 80 4244 Telex 62650 Cable HEWPARD Canberra CH CM E P Melbourne Victoria Office Hewlett Packard Australia Ltd 31 41 Joseph Street BLACKBURN Victoria 3130 Tel 895 2895 Telex 31 024 Cable HEWPARD Melbourne A CH CM CS E MS P Perth Western Australia Office Hewlett Packard Australia Ltd 261 Stirling Highway CLAREMONT W A 6010 Tel 383 2188 Telex 93859 Cable HEWPARD Perth A CH CM E MS P Sydney New South Wales Office Hewlett Packard Australia Ltd 17 23 Talavera Road P 0 Box 308 NORTH RYDE N S W 2113 Tel 887 1611 Telex 21561 Cable HEWPARD Sydney A CH CM CS E MS P AUSTRIA Hewlett Packard Ges m b h Grottenhofstrasse 94 A 8052 GRAZ Tel 0316 291 5 66 Telex 32375 CH E Hewlett Packard Ges m b h Lieblgasse 1 P O Box 72 A 1222 VIENNA Tel O222 23 65 11 0 Telex 134425 HEPA A A CH CM CS E MS P BAHRAIN Green Salon P O Box 557 Manama BAHRAIN Tel 255503 255950 Telex 84419 P Wael Pharmacy P 0 Box 648 BAHRAIN Tel 256123 Telex 8550 WAEL BN ECM BELGIUM Hewlett Packard Belgium S A N V Blvd de la Woluwe 100 Woluwedal B 1200 BRUSSELS Tel 02 762 32 00 Telex 23 494 paloben
9. bits read related fields 9 Write modifier interface driver 4 8 Write request 2 6 Write request processing normal mode B 5 transparent mode B 5 Index 12 MULTIPLEXER READER COMMENT SHEET Update No If Applicable We welcome your evaluation of this manual Your comments and suggestions help us improve our publications Please use additional pages if necessary FROM Name Company Address Phone NO A NO POSTAGE NECESSARY IF MAILED IN THE UNITED STATES BUSINESS REPLY MAIL FIRST CLASS PERMIT NO 141 CUPERTINO CA POSTAGE WILL BE PAID BY Hewlett Packard Company Data Systems Division 11000 Wolfe Road Cupertino California 95014 ATTN Technical Publications Product Line Sales Support Key Key Product Line A Analytical CM Components C Computer Systems Sales only CH Computer Systems Hardware Sales and Services CS Computer Systems Software Sales and Services E Electronic Instruments amp Measurement Systems M Medical Products MP Medical Products Primary SRO MS Medical Products Secondary SRO P Personal Computation Products Sales only for specific product line Support only for specific product line IMPORTANT These symbols designate general product line capability They do not insure sales or support availability for all products within a line at all locations Contact your local sales office for information regarding locations where HP support is
10. loopback by making another control request with function code 10B and with 1 set to 0 Note that if a port s modem line status is down the driver DVMOO will pass only the write request with function code 35B to the card Therefore if the loopback port is down the user should use the write request with function code 35B to send the loopback data to the card The port s config uration should be set to don t down the EQT on line failure to prevent the EQT from going down An example from file manager is CN LU 10B IPARM1 where IPARM1 is Bit 2 O low speed 300 baud 1 high speed 1200 baud Bit 1 analog 1 remote digital Bit 0 disable loop test enable loop test The following is an example of a loopback test ENABLE TYPE AHEAD amp DO NOT CHANGE READ CONFIGURATION EVERY TIME MODE CN LU 33B 20200B SPECIFY ECHO EDIT OFF END TRANSFER ON CARRAGE RETURN CN LU 37B 100000B INITIATE THE LOCAL ANALOG LOOPBACK MODE AT HIGH SPEED 2 16 CN LU 10B 5 cee WRITE DATA TO THE LU USE 35B AS THE WRITE FUNCTION CODE CALL EXEC 2 3500B LU TBUFF BUFLEN C READ BACK THE DATA CALL EXEC 1 3500B LU RBUFF BUFLEN NOW COMPARE TBUFF WITH RBUFF THEY SHOULD BE IDENTICAL DISABLE THE MODEM LOOPBACK TEST CN LU 10B 0 CONFIGURE THE PORT BACK TO ITS NORMAL MODE OF OPERATION CN LU 33B 10100B Function Code 12B Terminate Receive Buffer F
11. 1 VI E E 4 4 22 4 22 4 23 4 23 4 24 5 1 5 2 5 2 5 3 5 3 5 4 Appendix A Device Equipment Table Appendix B Device Driver Interfaces HP 26XX Sereen Mode Device Driver el ete aou set r n ven s Bel DDVO5 User Interface For HP 26XX Terminals B 1 HP 7310 Line Printer Device Driver Bal Appendix C Glossary Index vii viii Chapter 1 Overview The Hewlett Packard 12792B Eight Channel Multiplexer Subsystem for HP 1000 M E and F Series computers provides multiple communications channels through a single microprocessor based interface The multiplexer signifi cantly off loads routine communication management overhead from the computer for higher speed operation compared to the speed achieved when a separate I O card is used for each channel The HP 12792B is referred to as the multiplexer or MUX in this manual unless its complete name is more appropriate The multiplexer is used to route data from one of eight I O devices to a common destination in direct wired installations It may also by used with the Systems Modem consisting of the HP 37214A Systems Modem Card Cage and one or more modem cards to provide up to seven high quality modem ports one MUX port is used for systems modem controller card Modem operation is asynchronous full duplex at rates up to 1200 baud It also supports auto answer for all seven ports The subsystem includes local analog loop back capability to ch
12. 15 12 should be zero If end on count bit 11 is set the physical record length in device driver EQT extent word 1 should be set to a positive number of characters If bits 15 3 are all zero the read configuration will be determined from the control word bits 10 6 in the device driver EQT extent word 2 These bits are defined as in EQT word 6 and the ICNWD described in the EXEC read section of this manual Bit 9 of the EXEC request EQT extent word 2 is always used and must be valid If bit 3 is set bits 15 4 should be zero 4 9 Return To Interface Driver B Register On return to the interface driver the device driver should set the B register to be either the transmission log or the device time out value If the initial user request is complete the B register should contain the transmission log to be returned to the user program Transmission logs for each device driver operation are returned to the device driver in the B register by the interface driver on each continuation entry The device driver may save one or more of these to return or the device driver may return any meaningful number Convention requires that the transmission log be a positive number either a number of words if the initial user request specified words EQT word 8 is positive or a number of characters if characters were initially specified EQT word 8 is negative If a new device driver request is to be initiated exit command 5 on continuation or 5 or
13. ASCII ESC amp ASC 3 000C COLUMN POSITION FOR LEFT SIDE LEFT MARGIN LMPA1 OCT 15446 ASCII ESC amp ASC 3 O42C COLUMN POSITION FOR RIGHT SIDE LEFT MARGIN 4 CMLNG DEC MODX1 OCT 102005 WRITE MODIFIER EXIT COMMAND DO REQUEST IN DEXO2 4 END NEXT READ ON CR DO NOT MODIFY WRITE IN DEX02 The common return routine is used by all of the device driver routines that initiate their own requests to the interface driver The return routine expects the address of the next routine to be in the B Register and the modifier exit command to already be in the A Register The return routine saves the next address in the device driver EQT extent word 13 and picks up the time out value used for all setup requests CRTN STB DEX13 I SAVE NEXT ROUTINE ADDRESS IN DD EXT WORD 13 LDB TO GET TIME OUT FOR SETUP REQUESTS JMP DDSOO I RETURN TO INTERFACE DRIVER Stepping from one routine to the next is made simple by always saving the next routine address in device driver EQT extent word 13 On any continuation entry the device driver only has to jump through the contents of extent word 13 indirect 4 21 DDSOO NOP DEVICE DRIVER ENTRY POINT STB TEMP SAVE B TEMPORARILY CLE ELA RAR SAVE A 15 FOR CONTINUATION TEST SET UP DD EXTENT ADDRESSES LDB TEMP RESTORE B SEZ RSS TEST FOR CONTINUATION JMP 500 IF E WAS A 15 IS SET GO TO CONTINUATION 500 LDA DEX13 I GET NEXT ROUTINE ADDRESS JMP A I GO DO IT Perform The Original User Request Since
14. CAUTION If XON XOFF transmit pacing is enabled all Cntrl S characters received by the MUX are treated as handshake characters and therefore can t be used as data characters Similarly each Cntrl Q preceded by a Cntrl S is treated as a handshake character A Cntri Q received without Cntrl S is treated as a data character Some of the HP Software Programs screen mode EDIT and BASIC use XON and or XOFF characters to perform line and or page editing It is advised that these characters are not used for editing and handshaking at the same time Cntrl Q can be used for editing as long as it is not preceded by a cCntri s Similarly it is recommended that the XON XOFF transmit handshake is disabled while sending binary data For example from a data cartridge to the MUX 2 29 Function Code 36B Set Binary Length Function 36B sets the physical buffer Length for binary type read requests This information is normally Pprovided by the driver from a user read EXEC 1 request but it may be overridden Function Code 37B Set Read Type Function code 37B sends configuration information to the interface card for use in read EXEC 1 operations Under normal operation this information is provided by the interface driver as directed by the function field bits 10 6 of the EXEC request This call provides the user with a mechanism to override the interface driver defined values or to configure a read operation the card without executi
15. Code 26B Function Code 27B Function Code 30B Set Port ID Function Code 31B Connect Line Funetion Code 32B Disconnect Line Function Code 33B Function Code 34B Function Code 36B Funetion Code 37B Set Read Type Chapter 3 Normal Mode W n us Type Ahead Using The MUX e e e 9 9 e Program Scheduling Common Type Ahead Modes Da a og No Type Ahead Mode oeo Full Type Ahead Type Ahead With Type Ahead With Error Recovery ay O I O Status Failure Analysis A Read Errors Schedul ing Mode Flush On Break Mode eo e e e e o e e e e Flush Input Buffer Set Program Address e e 9 Terminate Receive Buffer Enable Scheduling Di sable Schedule of Contents Configure Driver Responses Set Port Configuration Set Binary Length D 2 2 vi Chapter 4 Device Driver Writing Device Driver Interface Driver Concept Reasons For Device Driver Interface Driver Use Device Driver Writing Interface Tasks 2 rude f n Kan Se Interface Driver Tasks Interface control Wi S lec t Operating System Interface e e e n Device Driver Tasks PANO dni t GQ HP Implementations Of Device Drivers Lineprinter Device Driver DDV12 Block Mode Terminal Device Driver DDVO5 Device Driver Interface E Device Drivers For HP 12792B Multiplexer Restrictions And Requirements d ea aa System Abort Requests e e a a a e a n
16. DEX13 NOP NEXT ROUTINE ADDRESS 00016 000000 DEX14 NOP CURRENT LAST SUBCHANNEL 00017 000000 DEX15 NOP FIRST ACCESS FLAG ASCII SO SETUP ON EACH ENTRY 00020 000000 DDSOO NOP 00021 000313R STB TEMP SAVE B TEMPORARILY 0013 00414 0045 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 0094 00022 000040 CLE 00023 001623 ELA RAR 00024 000000R LDB DEXAD 00025 105745 LDX DM15 00026 000267R 00027 000001 DEXLP STA B I 00030 002004 INA 00031 006004 INB 00032 105760 ISX 00033 000027R JMP DEXLP 00034 000313R LDB TEMP 00035 002041 SEZ RSS 00036 000254R JMP 500 SAVE A 15 FOR CONTINUE TEST SAVE EXTENT ADDRESSES A ADDRESS OF DD EQT EXT 1 ADDRESS OF DEXO1 DO FOR DEX01 15 ADDRESSES OF DEVICE DD EXT WORDS 1 15 RESTORE B TEST FOR CONTINUATION GO DO CONTINUATION SPECIAL PROCESSING TO SETUP EQT ON FIRST ACCESS 00037 000017R LDA DEX15 I 00040 000277R CPA ASO 00041 000250R JMP SUBCK 00042 000277R LDA ASO 00043 000017R STA DEX15 I 00044 000001X JSB CFER 00045 100005R DEF DEXO5 I 00046 000300R DEF SORC 00047 000001X JSB CFER 00050 100011R DEF DEXOO I 00051 00030 R DEF SIRC 00052 0016614 LDA EQT5 I 00053 000276R AND TMASK 00054 001664 STA EQT5 I GET THE SUBCH AND DECIDE
17. ICODE DEF ICNWD DEF IPR1 DEF IPR2 RTN ak ICODE DEC 1 ICNWD OCT CNWD D D IPR1 OCT 1 IPR2 OCT pre Declare EXEC as an external Transfer control to RTE Return address Request code Control word Parameter 1 optional Parameter 2 optional Return Point A register contains I 0 status B register contains the length of the transmission log Request code word READ Control word Control Function plus LU number assigned to the port Use depends on type of call The return point labeled RTN must follow the DEF of the last parameter used EXEC uses this address to calculate the number of parameters passed for those calls that have optional parameters 2 7 EXEC Calls From FORTRAN To call EXEC as a subroutine from RTE FORTRAN IV use the following calling sequence OOB LU CALL EXEC ICODE ICNWD IPARM1 IPARM2 CALL ABREG IA IB EXEC can also be called as a function from RTE FORTRAN IV using the following calling sequence DIMENSION IREG 2 EQUIVALENCE REG IREG IA IREG IB IREG 2 REG EXEC ICODE ICNWD IPARM1 IPARM2 The two different methods of calling EXEC from FORTRAN illustrate the two ways of obtaining the A and B Register values from the EXEC call 2 8 In the following sections the examples used to illustrate the calls are written using the CALL EXEC method with an example showing how to make the control request from the File Manager using the CN command EXEC Calls F
18. O on initial entry the B register should contain the request time out value This value will be a negative number of time base ticks 10s of milliseconds If the device driver needs to use the system defined time out for the device EQT word 14 should be copied into the B Register Return To Interface Driver EQT Entries As a general rule it is not advisable for the device driver to modify the EQT except for the area defined as the device driver EQT extent However some EQT areas are routinely modified by device drivers In EQT word 5 the equipment type bits 13 8 should be modified on the first entry to a device driver to reflect the device type the device driver is emulating On each completion exit new request exit command equals 4 or continuation entry exit command equals O the status field in EQT word 5 bits 7 0 should be updated to return status to the user This field should be the same as is defined for the device type the device driver is emulating After the user s request has been processed if further interaction with the interface driver is required EQT words 7 and 8 are available as convenient temporary storage areas It is common to store the transmission log in EQT word 8 in these cases Words 9 and 10 are used by the interface driver for temporary storage and should not be modified by the device driver Selected EQT Definitions And Uses EQT Word 4 Subchannel EQT word 4 bits 10 6 contain the currently address
19. Packard Co 1771 W Big Beaver Road TROY MI 48084 Tel 313 643 6474 CH CS Minnesota Hewlett Packard Co 2025 W Larpenteur Ave ST PAUL MN 55113 Tel 612 644 1100 A CH CM CS E MP Missouri Hewlett Packard Co 11131 Colorado Avenue KANSAS CITY MO 64137 Tel 816 763 8000 A CH CM CS E MS Hewlett Packard Co 13001 Hollenberg Drive BRIDGETON MO 63044 Tel 314 344 5100 A CH CS E MP D SALES amp SUPPORT OFFICES Arranged alphabetically by country UNITED STATES Cont d Nebraska Hewlett Packard 10824 Old Mill Rd Suite 3 OMAHA NE 68154 Tel 402 334 1813 CM MS New Jersey Hewlett Packard Co 120 W Century Road PARAMUS NJ 07652 Tel 201 265 5000 A CH CM CS E MP Hewlett Packard Co 60 New England Av West PISCATAWAY NJ 08854 Tel 201 981 1199 A CH CM CS E New Mexico Hewlett Packard Co 11300 Lomas Blvd N E P 0 Box 11634 ALBUQUERQUE NM 87 112 Tel 505 292 1330 CH CS E MS New York Hewlett Packard Co 5 Computer Drive South ALBANY NY 12205 Tel 518 458 1550 A CH E MS Hewlett Packard Co 9600 Main Street P O Box AC CLARENCE NY 14031 Tel 716 759 8621 CH Hewlett Packard Co 200 Cross Keys Office Park FAIRPORT NY 14450 Tel 716 223 9950 CH CM CS E MS Hewlett Packard Co 7641 Henry Clay Blvd LIVERPOOL NY 13088 Tel 315 451 1820 A CH CM E MS Hewlett Packard Co No 1 Pennsylvania Plaza 55th Floor 34th Street amp 8th Avenue MANHATTAN NY 10119
20. Packard France Carolor ZAC de Bois Briand F 57640 VIGY Metz Tel 16 8 771 20 22 CH Hewlett Packard France Immeuble P ricentre F 59658 VILLENEUVE D ASCQ Cedex Tel 16 20 91 41 25 Telex 160124F CH E MS P GERMAN FEDERAL REPUBLIC Hewlett Packard GmbH Geschiftsstelle Keithstrasse 2 4 D 1000 BERLIN 30 Tel 030 24 90 86 Telex 018 3405 hpbin d A CH E M P Hewlett Packard GmbH Gesch ftsstelle Herrenberger Strasse 130 D 7030 BOBLINGEN Tel 7031 14 0 Telex A CH CM CS E MP P Hewlett Packard GmbH Geschiftsstelle Emanuel Leutze Strasse 1 D 4000 DUSSELDORF Tel 0211 5971 1 Telex 085 86 533 hpdd d A CH CS E MS P Hewlett Packard GmbH Gesch ftsstelle Schleefstr 28a D 4600 DORTMUND Aplerbeck Tel 0231 45001 Hewlett Packard GmbH Vertriebszentrale Frankfurt Berner Strasse 117 Postfach 560 140 D 6000 FRANKFURT 56 Tel 0611 50 04 1 Telex 04 13249 hpffm d A CH CM CS E MP P Hewlett Packard GmbH Geschiftsstelle Aussenstelle Bad Homburg Louisenstrasse 115 D 6380 BAD HOMBURG Tel 06172 109 0 Hewlett Packard GmbH Geschiftsstelle Kapstadtring 5 D 2000 HAMBURG 60 Tel 040 63804 1 Telex 021 63 032 hphh d A CH CS E MS P Hewlett Packard GmbH Gesch ftsstelle Heidering 37 39 D 3000 HANNOVER 61 Tel 0511 5706 0 Telex 092 3259 A CH CM E MS P Hewlett Packard GmbH Gesch ftsstelle Rosslauer Weg 2 4 D 6800 MANNHEIM Tel 0621 70050 Telex 0462105 A C E Hewlett Packard GmbH Gesc
21. Peripheral devices CTUs etc are NOT supported by this device driver The layout of the user I O and Control calls are designed to be roughly compatible with DVRO5 Since this subsystem is be able to support a far wider range of terminal capabilities differences are inevitable For generation and initialization information please refer to the configuration guide DDVO5 User Interface For HP 26XX Terminals The device driver DDVO5 utilizes the block mode read capabilities of an HP264X 262X terminal At boot up time the device driver reads the terminal straps The strappings may vary between character block line or block page mode The character mode is a normal read operation with a carriage return or CNTL D indicating an end of record A carriage return denotes an end of record in the block line mode while a record separator denotes an end of record in the block page mode Prior to every read request the device driver instructs the interface driver to write a DC1 allowing the softkeys to be read Subchannel Assignment No support for peripheral devices is given therefore EQT subchannels are ignored However for compatibility with existing and future products the subchannel field should be set to zero Control Request Definition The control requests accepted by this driver perform various functions Some requests require additional data which is passed to the driver through the optional EXEC parameter IPARM Any control r
22. S p A Via Principe Nicola 43G C 1 95126 CATANIA Tel 095 37 10 87 Telex 970291 CP Hewlett Packard Italiana S p A Via G Di Vittorio 9 1 200063 CERNUSCO SUL NAVIGLIO Milano Tel 02 923691 Telex 334632 A CH CM CS E MP P Hewlett Packard Italiana S p A Via C Colombo 49 1 20090 TREZZANO SUL NAVIGLIO Milano Tel 02 4459041 Telex 322116 CN Hewlett Packard ltaliana S p A Via Nuova San Rocco a Capodimonte 62 A 1 80131 NAPOLI Tel 081 7413544 Telex 710698 A CH E Hewlett Packard Italiana S p A Viale G Modugno 33 1 16156 GENOVA PEGLI Tel 010 68 37 07 Telex 215238 E C Hewlett Packard Italiana S p A Via Pelizzo 15 1 35128 PADOVA Tel 049 664888 Telex 430315 A CH E MS Hewlett Packard Italiana S p A Viale C Pavese 340 1 00144 ROMA EUR Tel 06 54831 Telex 610514 A CH CM CS E MS P Hewlett Packard Italiana S p A Via di Casellina 57 C 1 50018 SCANDICCI FIRENZE Tel 055 753863 Hewlett Packard Italiana S p A Corso Svizzera 185 1 10144 TORINO Tel 011 74 4044 Telex 221079 CH E JAPAN Yokogawa Hewlett Packard Ltd 152 1 Onna ATSUGI Kanagawa 243 Tel 0462 28 0451 CM C E Yokogawa Helwett Packard Ltd Meiji Seimei Bldg 6F 3 1 Hon Chiba Cho CHIBA 280 Tel 472 25 7701 E CH CS Yokogawa Hewlett Packard Ltd Yasuda Seimei Hiroshima Bldg 6 11 Hon dori Naka ku HIROSHIMA 730 Tel 82 241 0611 Yokogawa Hewlett Packard Ltd Towa Buildi
23. a read without executing a read request 2 30 example 2 30 general 2 30 Set timeout example 2 20 general description 2 20 Set device up EQT extent pointers 4 19 EQT extent pointers sample code 4 19 Special considerations binary transfers B 3 character format B 3 Index 10 MULTIPLEXER escape and unit separator treatment B 3 screen reads B 3 zero length reads B 3 Standard RTE mode no type ahead 3 5 Status definitions 4 11 definitions EQT word 5 11 for user interface driver 4 7 word 4 3 7 word 4 1 0 status 3 7 Subchannel determination new request entry 4 20 sample code 4 20 System abort request continuation entry 4 5 EQT word 2 4 5 EQT word 6 4 5 general description 4 5 System defined timeout EQT word 14 4 13 System or subsystem crashes 4 5 T Table area area I DVTB 4 14 Task definitions definition case study 4 15 Terminal driver driver DDVO5 5 2 Throughput 1 3 Timeout clock clock EQT word 15 4 13 Timeouts 3 T Timeouts error recovery 3 T Transmission log log B Register 4 10 Transparent mode selection B 5 Type ahead with flush on break mode control function 27 3 6 example 3 6 general 3 6 Ty pe ahead control function 27 3 6 cancel type ahead data 2 27 description 3 1 enable 2 27 example 3 2 sehedule 2 27 INDEX Index 11 INDEX U User transmission log interface driver 4 7 User written device driver considerations 4 4 W Write function modifier bits
24. and the portion of the EQT extent defined as the Device Driver EQT Extent Restrictions And Requirements When a device driver issues read or write requests the data buffer must be either within the device driver or in the same map as the user request buffer If the user request is unbuffered the user request buffer is in the user map If the user request is buffered class I O REIO re entrant 1 0 or XSIO system I O the user request buffer is in the system map All requests are passed to the device driver prior to checking by the interface driver Device drivers should check only for control requests that are defined for the device driver Any unrecognized control requests should be passed on to the interface driver with a command to execute the request System Abort Requests A system abort request may be issued to the interface driver at any time if the user progran currently doing I O is aborted for any reason The device driver may be entered with the system abort either as a new user request or as a continuation request If the device driver is entered as a new user request with the system abort request the device driver should treat it as any unknown control request and pass it back to the interface driver However if the device driver is entered as a continuation with the system abort two problems may occur If the device driver does not check for the System abort on a continuation entry and subsequently issues a read or write
25. bits 6 and 10 are set to zero If a delete key rub out key is struck the contents of the user s receiving buffer is erased The backspace key deletes only the last character entered if any If editing is disabled the delete and backspace keys would enter a 177B or 10B into the user s on board buffer If a user is inputting data with editing enabled the interface card will accept the data into the first of the channel s two 254 byte input buffers The multiplexer handles all the edits User input and editing can continue until the card s buffers are full or a valid terminator is detected At this point the on board buffer is off loaded to the CPU Once the buffer contents have been moved it cannot be edited If the first buffer is filled so that the input overflows into the second buffer the user cannot backspace or delete past its lower boundary into the last byte of the first buffer In general information is supplied to the multiplexer card in a character mode format and echoed back to the user for visual inspection of the buffer This is not always desirable the echo feature may be suppressed for passwords and special requests The multiplexer card must be able to detect an end of record or valid terminator when it is encountered Figure 2 2 lists the valid terminators used to signal the card to interrupt the CPU and transfer data to the user s program buffer Figure 2 3 describes the control word bit combinations used to determin
26. bru A CH CM CS E MP P BRAZIL Hewlett Packard do Brasil l e C Ltda Alameda Rio Negro 750 Alphaville 06400 BARUERI SP Tel 011 421 1311 Telex 011 33872 HPBR BR Cable HEWPACK Sao Paulo A CH CM CS E M P Hewlett Packard do Brasil Let Ltda Avenida Epitacio Pessoa 4664 22471 RIO DE JANEIRO RJ Tel 021 286 0237 Telex 021 21905 HPBR BR Cable HEWPACK Rio de Janeiro A CH CM E MS P ANAMED 1 C E 1 Ltda Rua Bage 103 04012 SAO PAULO Tel 011 570 5726 Telex 021 21905 HPBR BR M A a SALES 8 SUPPORT OFFICES Arranged alphabetically by country CANADA Alberta Hewlett Packard Canada Ltd 3030 3rd Avenue N E CALGARY Alberta T2A 6T7 Tel 403 235 3100 A CH CM E MS P Hewlett Packard Canada Ltd 11120A 178ih Street EDMONTON Alberta T5S 1P2 Tel 403 486 6666 A CH CM CS E MS P British Columbia Hewlett Packard Canada Ltd 10691 Shellbridge Way RICHMOND British Columbia V6X 2W7 Tel 604 270 2277 Telex 610 922 5059 A CH CM CS E MS P Manitoba Hewlett Packard Canada Ltd 380 550 Century Street WINNIPEG Manitoba R3H OY 1 Tel 204 786 6701 A CH CM E MS P Nova Scotia Hewlett Packard Canada Ltd P 0 Box 931 900 Windmill Road DARTMOUTH Nova Scotia B2Y 376 Tel 902 469 7820 CH CM CS E MS P Ontario Hewlett Packard Canada Ltd 3325 N Service Rd Unit 6 BURLINGTON Ontario P3A 2A3 Tel 416 335 8644 CS M Hewlett Packard Canada Ltd 552 Newbol
27. driver examines the value of the function code to determine the action taken by the interface driver in the processing of I O or device control The requests will vary depending on the function codes described below These function codes are used whenever an EXEC 1 Read EXEC 2 Write or EXEC 3 Control call is made although the bit meanings differ between read and write requests Refer to Figure 2 1 for ICNWD bit names Logical Unit Number The logical unit LU number is the system address for the I O device to which the user is directing a request The user s system generation listing enumerates the LU numbers of all I O devices generated into the system For example if the LU number is decimal 10 and the function is octal 6 the value of ICNWD can be computed ICNWD 10 600B 612B The B suffix is used to identify an octal number Transparent Mode Bit DISABLED 1 ENABLED Special buffer control bit 0 DISABLED 1 ENABLED Echo Bit 0 DISABLE 1 ENABLE Honesty Bit 0 DISABLE 1 ENABLE Binary Mode Bit 0 DISABLE 1 ENABLE Figure 2 1 ICNWD Function Code Bits I O Requests I O requests are handled in a variety of ways These requests are processed differently depending on the value of the function code of the control word Three basic input functions are controlled by the value of ICNWD editing echoing terminators 2 3 When editing is enabled the control word
28. is in the same map as the primary user buffer If the Z bit is clear EQT word 9 contains the optional parameter or zero if no parameter was passed EQT word 10 is an optional parameter If the Z bit is set EQT word 10 is the length of the secondary user buffer It is a positive number of words or a negative number of characters If the Z bit is clear EQT word 10 contains the second optional parameter or zero if a second optional parameter was not passed Both EQT words 9 and 10 are only available to the device driver on a new request entry These words must be saved in the device driver EQT extent if they are required later by the device driver EQT word 14 contains the system defined time out reset value for the device a negative number of time base ticks at multiples of 10 milliseconds This value is set by the system at generation or by the system TO command or by the interface driver by a control request of 22B This word may also be set directly by the device driver if desired EQT word 15 contains the time out clock count down counter This word is setup by the interface driver prior to returning fo the system This word should not be modified by the device driver On any device driver request to the interface driver the time out count for EQT 15 should be passed in the B Register The value should be a negative number in multiples of 10 milliseconds If the system defined time out is to be used the device driver must pass the cont
29. request to the user buffer the buffer area may have been re allocated for other uses Program corruption and system or subsystem crashes may occur It is also possible to leave the device in an unknown state if an expected user buffer is not written to the device If this is problem with a device the device driver should check for system abort requests and reset the device to a known state In all cases the device driver should check for a system abort request prior to issuing an I O request to the user buffer area To test for a device driver system abort request check the contents of EQT word 6 or word 2 of the extent for a 100003 octal XSIO control zero request The above tests are necessary if the device driver issues its own read or write to or from the user buffer area on a continuation entry If the device driver is simply trying to execute the user s original request by leaving it in the device driver EQT extent word 2 the test for system abort request is not necessary In this case the contents of device driver EQT extent word 2 are changed to a control zero at the same time as EQT word 6 Interface Definitions Entry to the Device Driver On entry to the device driver the following parameter locations are defined A Register Bit 15 1 initial entry on a new user request 0 continuation entry signifying a previous device driver request is complete Bits 14 0 address of device driver EQT extent defined below B Regis
30. side of the sereen Upon determination of the subchannel for each new user request the device driver sends the escape sequence to set the left and right margin at predetermined columns on the terminal screen Due to terminal idiosyncrasies the left margin must be set first for subchannel 0 left side and the right margin must be set first for subchannel 1 right side Cursor Position The second major task is to position the cursor so that the subsequent read or write operations will appear at the correct place on the screen The escape sequence to position the cursor is formatted with the correct cursor position for the left or right side of the screen The device driver keeps track of the current cursor position for each side in the device driver EQT extent Once the request buffer is formatted with the correct cursor position the device driver passes it to the interface driver as a device driver request Cursor Tracking The third major task for the device driver is to find out where the user s request has left the cursor for the side of the screen that was just addressed do this the device driver writes request for a cursor position sense to the terminal and then reads back the result The resulting cursor position is separated from the escape sequence that precedes it and stored away the device driver EQT extent for the subchannel that is addressed Minor Tasks Additionally in an effort to reduce overhead the device dr
31. specification 2 22 Specification 2 23 Binary data reads device driver EQT extent 4 7 Black box compatibility 5 3 driver considerations 5 3 handshaking 5 3 HP support 5 3 Break key action 2 27 Index Index 1 INDEX MULTIPLEXER C Case study cursor position 4 15 cursor tracking 4 16 device driver writing example 4 15 Margin set up 4 15 minor tasks 4 16 task definition 4 15 Channel transmission 1 3 Clear extraneous commands control 26B 3 2 Common type ahead modes 3 4 Configure driver responses break key action 2 27 defining a device driver to this port 2 28 example 2 28 function code 2 26 general description 2 26 scheduling 2 27 sending read configuration into the card 2 28 specifying unique read request type 2 28 type ahead action 2 27 type ahead feature specification 2 27 Continuation entry device driver 4 19 system abort request 4 5 test 4 19 Control request configure driver responses 2 26 device initialization 2 14 disable schedule 2 19 dynamic status 2 14 enable scheduling 2 18 file manager format 2 12 flush input buffer 2 21 function codes 2 13 general format 2 12 required parameters 2 13 set port s ID 2 22 set program address 2 21 set read type 2 30 set timeout 2 20 Control request to the MUX B 5 full type ahead 3 5 no type ahead 3 5 write request B 5 Control word general 2 1 read request 2 5 write request 2 6 Index 2 MULTIPLEXER Control Functi
32. the original user request is restored to the device driver EQT extent words 2 4 on each entry to the device driver processing the original request is quite simple Before returning to the interface driver the device driver only puts the system defined time out value in the B Register and an exit command equals 5 in the A Register In this device driver the next routine address is also saved in the device driver EQT extent word 13 to keep the flow of requests going DORQ DEF 41 ADDRESS OF ROUTINE LDB EQT14 I THE SYSTEM TIME OUT WORD LDA SENCU GET THE NEXT ROUTINE ADDRESS STA DEX13 I SAVE IT FOR RETURN LDA MODX2 GET THE MODIFIER EXIT COMMAND JMP DDSOO I RETURN DIRECTLY TO THE INTERFACE DRIVER e MODX2 OCT 000005 UNIVERSAL DON T MODIFY ANYTHING DO REQUEST IN THE DD EXT MODIFIER EXIT COMMAND EQT14 EQU 1773B Since further requests to the interface driver are required after completion of the original user request the device driver must save the transmission log from the user request This is accomplished by storing the contents of the B Register in EQT word 8 which was the original user request length in characters Read Cursor Position SENCU senses where the cursor was left at the end of the user request An escape lower case a DC1 binary write is sent to the terminal requesting the terminal to send back the cursor position The card is pre configured for the next read by setting the high order bits in MODX1 This dem
33. to configure the driver to cancel all card data upon receiving a BREAK interrupt refer to control function 33B This preserves the multi line type ahead feature and reduces the chance of data being read by the wrong process If an analogous situation could occur for user written programs another possible solution is for the user to issue a Flush Card Buffer request control request 26B 1 prior to any sensitive read request This will clear the extra commands before they can be misread Note that type ahead is also useful in non terminal device communication The buffering on the card eliminates the need for stacking two or three class read requests on an LU to prevent data loss thus reducing program Size and complexity and the need for a large SAM System Available Memory Type ahead scheduling can be used to invoke a data processing program 3 2 When data is available on the multiplexer card and there is no pending request to accept it a bit is set in the status word and program scheduling will be attempted Should the user program decide it doesn t want the data it can issue an input flush control 26B to remove the data Program Scheduling Program scheduling is a mechanism whereby certain external events will cause the interface driver to schedule a program in the system This program is given the address of EQT Equipment Table word 4 which provides adequate information to determine at which port the event occurred Prog
34. valid terminator The terminator merely signals the interface driver that a complete record has been encountered and the interface card will interrupt the CPU In this mode the only way to schedule the designated program is to strike the break key Data resident on the card if any is not disturbed Type Ahead With Scheduling Mode Type Ahead with Scheduling Mode CN 0G 33B 024400B Control Parameters Control Request User s Terminal This mode configures the interface driver responses to utilize the type ahead mode Scheduling will occur when an end of record is encountered Depressing the Break Key will always schedule the designated progranm Program specification is accomplished with control function 27 or more commonly it is specified at generation time Type Ahead With Flush On Break Mode Type Ahead with Flush on Break Mode CN 0G 33B 0233000B Control Parameters Control Request User s Terminal In this mode when the break key is struck the interface driver will flush the contents of the input buffers and then the program designated by control function 27 is scheduled This mode of operation is the preferred type ahead mode because it reduces the possibility of having data misread The user has the option of erasing the contents of the buffers just entered by hitting the break key or leaving the buffers alone allowing them to execute when the next read request reads them NOTE Flush on break may be used in con
35. 0 if the device or line goes down don t down the device but abort the request then return EOT and go into a hard flush mode i e ignore all subsequent I O requests Function code 6B will return additional information regarding the failure These bits define the type ahead feature of the MUX card 00 no change 01 default value no type ahead Striking any key when there is not a read request pending will gain the system s attention if enabled 10 Type ahead data can be received without a pending read request The information on the card is saved until a read request is made At this point the data is retrieved Only the break key will gain the system s attention unless type ahead with scheduling is enabled These bits define the action to be taken when type ahead data becomes available Type ahead data is defined as available when an End of Record is read by the card Valid terminators are defined by the previous read or through control request 37 00 no change 01 default value bit 2 is set in the EQT status word 10 Bit 2 is set and scheduling is attempted These bits define the action to be taken when the BREAK key is struck 00 no change 01 default value if scheduling has been enabled via control 20 scheduling is attempted 10 cancels any type ahead data and then attempts to schedule the designated program 2 27 Bits 7 6 Bits 5 4 Bits 3 0 For example LU 41 These bits contr
36. 0 4550211 Telex 121563 hewpa sf CH CM CS P Hewlett Packard Oy Olarinluoma 7 PL 24 02101 ESPOO 10 Tel 90 4521022 A E MS Hewlett Packard Aatoksenkatv 10 C SF 40720 72 JYVASKYLA Tel 941 216318 CH Hewlett Packard Oy Kainvuntie 1 C SF 90140 14 OULU Tel 981 338785 CH FRANCE Hewlett Packard France Z I Mercure B Rue Berthelot F 13763 Les Milles Cedex AIX EN PROVENCE Tel 16 42 59 41 02 Telex 410770F A CH E MS P Hewlett Packard France 64 rue Marchand Saillant F 61000 ALENCON Tel 16 33 29 04 42 Hewlett Packard France Boite Postale 503 F 25026 BESANCON 28 rue de la Republique F 25000 BESANCON Tel 16 81 83 16 22 CH M Hewlett Packard France 13 Place Napoleon Ill F 29000 BREST Tel 16 98 03 38 35 Hewlett Packard France Chemin des Mouilles Boite Postale 162 F 69130 ECULLY Cedex Lyon Tel 16 78 833 81 25 Telex 310617F A CH CS E MP Hewlett Packard France Tour Lorraine Boulevard de France F 91035 EVRY Cedex Tel 16 6 077 96 60 Telex 692315F E Hewlett Packard France Parc d Activite du Bois Briard Ave du Lac F 91040 EVRY Cedex Tel 16 6 077 8383 Telex 692315F E Hewlett Packard France 5 avenue Raymond Chanas F 38320 EYBENS Grenoble Tel 16 76 25 81 41 Telex 980124 HP GRENOB EYBE CH Hewlett Packard France Centre d Affaire Paris Nord B timent Amp re 5 tage Rue de la Commune de Paris Boite Postale 300 F 93153 LE BLANC MESNIL Tel 16 1 865 44 5
37. 0 Apartado Aereo 51283 BOGOTA 1 D E Tel 256 1686 Telex 45403 CCAL CO A COSTA RICA Cientifica Costarricense S A Avenida 2 Calle 5 San Pedro de Montes de Apartado 10159 SAN JOSE Tel 24 38 20 24 08 19 Telex 2367 GALGUR CR CHEM CYPRUS Telerexa Ltd P 0 Box 4809 14C Stassinos Avenue NICOSIA Tel 62698 Telex 2894 LEVIDO CY EMP DENMARK Hewlett Packard A S Datavej 52 DK 3460 BIRKEROD Tel 02 81 66 40 Telex 37409 hpas dk A CH CM CS E MS P Hewlett Packard A S Rolighedsvej 32 DK 8240 RISSKOV Aarhus Tel 06 17 60 00 Telex 37409 hpas dk CH E DOMINICAN REPUBLIC Microprog S A Juan Tom s Mej a y Cotes No 60 Arroyo Hondo SANTO DOMINGO Tel 565 6268 Telex 4510 ARENTA DR RCA P ECUADOR CYEDE Cia Ltda Avenida Eloy Alfaro 1749 Casilla 6423 CCI QUITO Tel 450 975 243 052 Telex 2548 CYEDE ED CMEP Hospitalar S A Robles 625 Casilla 3590 QUITO Tel 545 250 545 122 Telex 2485 HOSPTL ED Cable HOSPITALAR Quito M EGYPT International Engineering Associates 24 Hussein Hegazi Street Kasr el Aini CAIRO Tel 23829 21641 Telex IEA UN 93830 CH CS E M EGYPOR P O Box 2558 42 El Zahraa Street CAIRO Egypt Tel 65 00 21 Telex 93 337 P EL SALVADOR IPESA de El Salvador S A 29 Avenida Norte 1216 SAN SALVADOR Tel 26 6858 26 6868 Telex 20539 IPESASAL A CH CM CS E P FINLAND Hewlett Packard Oy Revontulentie 7 PL 24 SF 02101 ESPOO 10 Tel 9
38. 10 OBY Tel 0232 625 566 Telex 747626 CH CS SCOTLAND Hewlett Packard Ltd SOUTH QUEENSFERRY West Lothian EH30 9TG Tel 031 331 1188 Telex 72682 CH CM CS E M P UNITED STATES Alabama Hewlett Packard Co 700 Century Park South Suite 128 BIRMINGHAM AL 35226 Tel 205 822 6802 A CH M Hewlett Packard Co 420 Wynn Drive HUNTSVILLE AL 35805 P O Box 7700 HUNTSVILLE AL 35807 Tel 205 830 2000 CH CM CS E M Arizona Hewlett Packard Co 8080 Pointe Parkway West PHOENIX AZ 85044 Tel 602 273 8000 A CH CM CS E MS Hewlett Packard Co 2424 East Aragon Road TUCSON AZ 85706 Tel 602 889 4631 CH E MS California Hewlett Packard Co 99 South Hill Dr BRISBANE CA 94005 Tel 415 330 2500 CH CS Hewlett Packard Co P O Box 7830 93747 5060 E Clinton Avenue Suite 102 FRESNO CA 93727 Tel 209 252 9652 CH CS MS Hewlett Packard Co P O Box 4230 1430 East Orangethorpe FULLERTON CA 92631 Tel 714 870 1000 CH CM CS E MP Hewlett Packard Co 320 S Kellogg Suite B GOLETA CA 93117 Tel 805 967 3405 CH Hewlett Packard Co 5400 W Rosecrans Boulevard LAWNDALE CA 90260 P O Box 92105 LOS ANGELES CA 90009 Tel 213 970 7500 Telex 910 325 6608 CH CM CS MP Hewlett Packard Co 3155 Porter Oaks Drive PALO ALTO CA 94304 Tel 415 857 8000 CH CS E Hewlett Packard Co 4244 So Market Court Suite A P O Box 15976 SACRAMENTO CA 95852 Tel 916 929 7222 A CH CS E MS Hewlett
39. 13 ICNWD 41 CALL EXEC ICODE ICNWD ISTA1 ISTA2 ISTA3 When the call completes the variables ISTA1 ISTA2 and ISTA3 contain the I O status as shown in Table 3 1 ISTA1 is the status word EQT5 and ISTA2 is also a status word EQTH Failure Analysis For failure analysis it is important to note that all errors appear as time outs parity or overflow errors Current HP supplied device drivers will not produce the following error message User written device drivers may use the EXIT command described in Chapter to have the following error message displayed at the system console I O XX L x E Y S z XX NR TO PE etc as specified by device driver In the above example x y and z are the Logical Unit number EQT number and subchannel number respectively If a device is down any I O control request will wait for the operator to UP the EQT number For time outs it may be that a simple time out has occurred indicating the operator was too slow in responding to a read request In this case retry the request If the device is not downed control will return to the user program on error and the user program should be structured to check for errors and process accordingly The I O Status request can be used to obtain the status to test for various conditions Read Errors If the last command issued was a read a parity error or data overrun may have occurred Data Overrun indicates the multiplexer maximum throughput r
40. 2 Telex 211032F CH CS E MS Hewlett Packard France Parc d Activit s Cadera Quartier Jean Mermoz Avenue du Pr sident JF Kennedy F 33700 MERIGNAC Bordeaux Tel 16 56 34 00 84 Telex 550105F CH E MS Hewlett Packard France Immueble Les 3 B Nouveau Chemin de la Garde ZAC de Bois Briand F 44085 NANTES Cedex Tel 16 40 50 32 22 CH FRANCE Cont d Hewlett Packard France 125 rue du Faubourg Bannier F 45000 ORLEANS Tel 16 38 68 01 63 Hewlett Packard France Zone Industrielle de Courtaboeuf Avenue des Tropiques F 91947 Les Ulis Cedex ORSAY Tel 6 907 78 25 Telex 600048F A CH CM CS E MP P Hewlett Packard France Paris Porte Maillot 15 Avenue de L Amiral Bruix F 75782 PARIS CEDEX 16 Tel 16 1 502 12 20 Telex 613663F CH MS P Hewlett Packard France 124 Boulevard Tourasse F 64000 PAU Tel 16 59 80 38 02 Hewlett Packard France 2 All e de la Bourgonnette F 35100 RENNES Tel 16 99 51 42 44 Telex 740912F CH CM E MS P Hewlett Packard France 98 Avenue de Bretagne F 76100 ROUEN Tel 16 35 63 57 66 CS Hewlett Packard France 4 Rue Thomas Mann Boite Postale 56 F 67033 STRASBOURG Cedex Tel 16 88 28 56 46 Telex 890141F CH E MS P Hewlett Packard France Le P ripole 20 Chemin du Pigeonnier de la C pi re F 31083 TOULOUSE Cedex Tel 16 61 40 11 12 Telex 531639F A CH CS E P Hewlett Packard France 9 rue Baudin F 26000 VALENCE Tel 16 75 42 76 16 Hewlett
41. 3 3600B LU 254 CALL EXEC 3 3700B LU 4000B C C THE FOLLOWING LOOP WILL TERMINATE amp READ THE INCOMING DATA BUFFER C 10 CALL EXEC 3 1200B LU 0 CALL EXEC 1 LU BUFF 254 CALL ABREG ISTAT LEN C C LEN HAS THE LENGTH OF THE DATA RECEIVED C C C PROCESS THE RECEIVED DATA C C C READ SOME MORE DATA C GO TO 10 Instead of doing a read after the terminate request a user may choose to schedule a program when type ahead data is available This can be done by setting bits 11 10 to 10 in a control request with function code 33B The program to be scheduled is specified by function code 27B After the terminate request is issued the program will be scheduled as soon as the type ahead data is sent to the driver by the interface card The scheduled program will then read the data and if desired issue another terminate request to read more data Function Code 20B Enable Scheduling Function code 20B enables the driver to schedule a program on interrupt The program to be scheduled is specified at generation or the driver can interactively be informed of the address of the program s ID segment through function code 27B Scheduling will commence if the following conditions are met 1 Scheduling is enabled 2 The program to be scheduled is dormant state 0 3 A read operation is not in progress 4 The port is not in type ahead mode and any key is hit or The port is in type ahead mode and the break key is hit see control
42. 33B regarding type ahead and the break key The port is in the type ahead mode with seheduling on data available and a valid terminator or count is received To enable scheduling and schedule a program on an unsolicited interrupt the following request is issued ICODE 3 ICNWD 2000B LU CALL EXEC ICODE ICNWD or to enable scheduling on an unsolicited interrupt at LU 41 CN 41 20B Function Code 21B Disable Schedule Function code 21B resets the flag set by function code 20B enable scheduling When terminal is disabled striking a key on the keyboard will not schedule the program specified at generation or by Control Request 27B Once port is disabled programs will not be scheduled At boot up time the default value of the schedule enable flag is disabled For exemple to disable LU 41 ICODE 3 ICNWD 2100B H1 CALL EXEC ICODE ICNWD OR CN 41 21B To re enable the terminal an Enable Schedule request must be issued CN 411 20B Function Code 22B Set Timeout To alter the RTE device time out value that was established at system generation use function code 22B The time out value can be set in 10 millisecond intervals by the integer provided as an additional parameter Time out values can also be set by using the system TO command The RTE Programmer s Reference Manual describes how to use the TO command When using a control request or the File Manager CN command be sure to specify the channel
43. 4 0205 0206 0207 0208 0209 0210 0211 0212 0213 021 0215 0216 0217 0218 0219 0220 0221 0222 0223 0224 0225 0226 0227 0228 0229 0230 0231 0232 0233 0234 0235 0236 0237 0238 0239 0240 0241 0242 0243 0244 0245 0246 0247 0248 0249 4 28 READ THE SENSED CURSOR POSITION 00220 000221R RDCUS DEF 1 ADDRESS OF ROUTINE 00221 000311R LDA RDWCR CONTROL WORD FOR READ W CR 00222 000002R STA DEXO2 I PASS TO I F DRIVER 00223 000366R LDA CRDBA ADDRESS OF BUFFER 0022 000003R STA DEXO3 I 00225 000273R LDA CPLNG LENGTH 00226 000001R STA DEXOU I 00227 000232R LDB COMPL ADDRESS OF NEXT ROUTINE 00230 000315R LDA MODX2 GET THE EXIT COMMAND 00231 000256R JMP CRTN RETURN TO INTERFACE DRIVER COMPLETION ROUTINE SAVES RETURNED CURSOR POSITION AND EXITS 00232 000233R COMPL DEF 1 ROUTINE ADDRESS 00233 000016R LDA DEX14 I CURRENT SUBCHANNEL 00234 000360R LDB CPAD GET CURSOR STORAGE POINTER 00235 000010 SLA ODD SUBCHANNEL 00236 006004 INB YES USE THE OTHER ONE 00237 000001 LDB B I GET THE ADDRESS 00240 005200 RBL MAKE IT A BYTE ADDRESS 00241 000375R LDA CUBYT GET BYTE ADDRESS 00242 105765 MBT D8 MOVE BYTES 00243 000274R 00244 000000 00245 001667 LDB EQT8 I RETRIEVE THE TRANSMISSION LOG 00246 002400 CLA SET EXIT COMPLETION COMMAND 00247 000020R JMP DDSOO I TEST FOR SUBCHANNEL ALREADY EQUAL SKIP MOST OF SETUP 00250 000261R SUBCK JSB GTSCH GET REQUEST SUBCHANNEL 00251 000016R CPA
44. 79 Telex 854 17886 via Spanga office CH Hewlett Packard Sverige AB Ostra Tullgatan 3 S 21128 MALMO Tel 040 70270 Telex 854 17886 via Spanga office Hewlett Packard Sverige AB Vastra Vintergatan 9 S 70344 OREBRO Tel 19 10 48 80 Telex 854 17886 via Sp nga office CH Hewlett Packard Sverige AB Skalholtsgatan 9 Kista Box 19 S 16393 SP NGA Tel 08 750 2000 Telex 854 17886 Telefax 08 7527781 A CH CM CS E MS P Hewlett Packard Sverige AB Fr talisgatan 30 S 42 132 VASTRA FROLUNDA Tel 031 49 09 50 Telex 854 17886 via Spanga office CH E P SWITZERLAND Hewlett Packard Schweiz AG Clarastrasse 12 CH 4058 BASEL Tel 61 33 59 20 A Hewlett Packard Schweiz AG 7 rue du Bois du Lan Case Postale 365 CH 1217 MEYRIN 2 Tel 0041 22 83 11 11 Telex 27333 HPAG CH CH CM CS Hewlett Packard Schweiz AG Allmend 2 CH 8967 WIDEN Tel 0041 57 31 21 11 Telex 53933 hpag ch Cable HPAG CH A CH CM CS E MS P SYRIA General Electronic Inc Nuri Basha Ahnaf Ebn Kays Street P O Box 5781 DAMASCUS Tel 33 24 87 Telex 411 215 Cable ELECTROBOR DAMASCUS E Middle East Electronics P O Box 2308 Abu Rumnaneh DAMASCUS Tel 33 4 5 92 Telex 411 304 M TAIWAN Hewlett Packard Far East Ltd Kaohsiung Office 2 F 68 2 Chung Cheng 3rd Road KAOHSIUNG Tel 07 241 2318 CH CS E Hewlett Packard Far East Ltd Taiwan Branch 8th Floor 337 Fu Hsing North R
45. 800 baud baud rate parameter of zero will not change any of the port s parameters baud rate parity stop bits etc 2 The MUX card has two on board baud rate generators providing baud rates to the eight ports These eight ports can be divided into two groups and connected to either of the two generators However all ports on a given baud rate generator must be initialized to the same baud rate with the exception that 75 and 150 or 300 and 1200 or 2400 800 and 9600 can be simultaneously selected For example assume that ports 0 3 are connected to baud rate generator O and ports 4 6 are connected to baud rate generator 1 and that a modem card is plugged into port 5 If port O is set to 9600 baud then ports 1 3 must be set to either 2400 or 4800 or 9600 since they are on the same baud rate generator Also if the modem is initialized to auto answer the modem must be set to 1200 baud and if the modem port is set to 1200 baud then the other ports on baud rate generator 1 ports 4 and 6 must be set to either 300 or 1200 baud When the MUX is connected to the HP 37214A Systems Modem the firmware uses port 7 to communicate to the systems modem controller at 1200 baud Hence port 7 should be grouped with the modem ports which will be run at 300 or 1200 baud 2 23 3 The baud rate should be set to 300 or 1200 baud as required while originating a call If you are in auto answer mode the baud rate should be initially set t
46. ANNEL GET R MARGIN ADDRESS POINTER ODD SUBCH USE THE OTHER ONE GET THE ADDRESS PUT IT IN THE DD EXTENT GET CURSOR MOVE LENGTH WORD PUT IT IN THE DD EXTENT GET R MARGIN SET ADDR GET WRITE MODIFIER EXIT RETURN TO INTERFACE DRIVER ADDRESS OF ROUTINE SET UP BINARY WRITE IN DEVICE DRIVER EQT EXT GET ADDRESS OF R MARGIN SET FOR DD EQT EXT GET LENGTH FOR MARGIN SET PUT IT IN THE DD EQT EXT GET THE SUBCHANNEL 0148 0149 0150 0151 0152 0153 0154 01558 0156 0157 0158 0159 0160 0161 0162 0163 0164 0165 0166 0167 0168 0169 0170 0171 0172 0173 0174 0175 0176 0177 0178 0179 0180 0181 0182 0183 0184 0185 0186 0187 0188 0189 0190 0191 0192 0193 0194 0195 0196 0197 0198 00145 000010 SLA 00146 000151R JMP 3 00147 000154R LDB CUPOS 00150 002001 RSS 00151 000062R LDB LMPOS 00152 000314R LDA MODX1 00153 000256R JMP CRIN POSITION CURSOR FOR 00154 000155R CUPOS DEF 1 00155 000310R LDA BNWT 00156 000002R STA DEXO2 I 00157 000016R LDB DEX1 I 00160 000360R LDA CPAD 00161 004010 SLB 00162 002004 INA 00163 000000 LDA A I 00164 000361R LDB CPVAD 00165 105777 MVW Dh 00166 000272R 00167 000000 00170 000362R LDA CPBFA 00171 000003R STA DEXO3 I 00172 000273R LDA CPLNG 00173 OOOOOUR STA DEXOU I 00174 000177R LDB DORQ 00175 000314R LDA MODX1 00176 000256R JMP CRIN DO THE ORIGINAL USER REQUEST 00177 000200R DORQ DEF 1 00200 001773 LDB EQT14 I 00201 000205R LDA SE
47. ATERIAL INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANT ABILITY AND FITNESS FOR A PARTICULAR PURPOSE Hewlett Packard shall not be liable for errors contained herein or for incidental or consequential damages in connection with the furnishing performance or use of this material Hewlett Packard assumes no responsibility for the use or reliability of its software on equipment that is not furnished by Hewlett Packard This document contains proprietary information which is protected by copyright All rights are reserved No part of this document may be photocopied reproduced or translated to another program language without the prior written consent of Hewlett Packard Company H Copyright 1983 by HEWLETT PACKARD COMPANY ii Preface This manual is designed as a technical reference for the Hewlett Packard 12792B Eight Channel Asynchronous Multiplexer Subsystem for M E F Series HP 1000 Computers The Multiplexer interface is an efficient high performance interface for multiplexed terminal device applications It enhances terminal communications by offering a low cost per channel high speed high performance alternative to other point to point interface offerings This manual is intended for users knowledgeable in FORTRAN and the RTE IVB or RTE 6 VM operating system The following is a brief description of the content of each chapter The Overview provides general information concerning the multiplexer subsystem and
48. CODE 3 ICNWD 3300B 41 IPARM 022400B CALL EXEC ICODE ICNWD IPARM OR CN 41 33B 022400B NOTE If any port is configured for a type ahead mode the break key must be struck to schedule the LOGON prompt 2 28 Function Code 34B Set Port Configuration Function code 34B uses the IPARAM parameter to specify port configuration additional to function code 30B The bit fields in IPARAM are defined as follows Bits 15 1 Reserved for future use and should be set to zero Bit O Transmit pacing with XON XOFF 0 Disable XON XOFF handshake 1 Enable XON XOFF handshake Transmit pacing is a mechanism by which the remote device can control stop and resume the transmission of data from the multiplexer If enabled transmit pacing is performed using and XOFF control codes When the multiplexer receives an XOFF code ASCII DC3 it stops transmitting data When the multiplexer subsequently receives an XON code ASCII DC1 it resumes transmitting data For example CN LU 34B 1 Enable XON XOFF DL CRN Causes a long output to the terminal CTRL S XOFF will cause the output to stop e g if the user wants to stop to look at something CTRL Q XON resumes the output to the terminal Note XON and XOFF codes can be issued through the keyboards to pace the data transmitted to the terminal The CNTL and Q keys when pressed simultaneously generate an XON code and the CNTL and S keys generate XOFF
49. Center Forest Drive Pinelands CAPE PROVINCE 7405 Tel 53 7954 Telex 57 20006 A CH CM E MS P Hewlett Packard So Africa Pty Ltd P O Box 37099 92 Overport Drive DURBAN 4067 Tel 28 4178 28 4179 28 4110 Telex 6 22954 CH CM Hewlett Packard So Africa Pty Ltd 6 Linton Arcade 511 Cape Road Linton Grange PORT ELIZABETH 6000 Tel 041 302148 CH Hewlett Packard So Africa Pty Ltd P O Box 33345 Glenstantia 0010 TRANSVAAL 1st Floor East Constantia Park Ridge Shopping Centre Constantia Park PRETORIA Tel 982043 Telex 32163 CH E Hewlett Packard So Africa Pty Ltd Private Bag Wendywood SANDTON 2144 Tel 802 5111 802 5125 Telex 4 20877 Cable HEWPACK Johannesburg A CH CM CS E MS P SPAIN Hewlett Packard Espa ola S A Calle Entenza 321 E BARCELONA 29 Tel 322 24 51 321 73 54 Telex 52603 hpbee A CH CS E MS P Hewlett Packard Espafiola S A Calle San Vicente S No Edificio Albia II E BILBAO 1 Tel 423 83 06 A CH E MS Hewlett Packard Espafiola S A Crta de la Corufla Km 16 400 Las Rozas E MADRID Tel 1 637 00 11 CH CS M Hewlett Packard Espa ola S A Avda S Francisco Javier S no Planta 10 Edificio Sevilla 2 E SEVILLA 5 Tel 64 44 54 Telex 72933 A CS MS P Hewlett Packard Espafiola S A Calle Ramon Gordillo 1 Entlo 3 E VALENCIA 10 Tel 361 1354 CH P SWEDEN Hewlett Packard Sverige AB Sunnanvagen 14K S 22226 LUND Tel 046 13 69
50. DEX14 I COMPARE TO LAST ONE ADDRESSED 00252 000177R JMP DORQ I SAME GO DO USER REQUEST 00253 000056R JMP SVSCH DIFFERENT GO SET UP TERMINAL CONTINUATION PROCESS SELECTION 00254 000015R CS00 LDA DEX13 I ADDRESS OF NEXT ROUTINE 00255 000000 JMP A I GO DO IT RETURN TO INTERFACE DRIVER ROUTINE A MODIFIER EXIT CMD BzNEXT ROUTINE ADDRESS 00256 000015R CRIN STB DEX13 I SAVE NEXT ROUTINE ADDRESS 00257 000312R LDB TO GET THE SETUP TIME OUT 00260 000020R JMP DDS00 I SUBROUTINE TO RETURN THE SUBCH IN THE A REGISTER 00261 000000 GTSCH NOP 00262 001663 LDA EQT4 I GET SUBCHANNEL WORD 0250 0251 0252 0253 0254 0255 0256 0257 0258 0259 0260 0261 0262 0263 0264 0265 0266 0267 0268 0269 0270 0271 0272 0273 0274 0275 0276 0277 0278 0279 0280 0281 0282 0283 0284 0285 0286 0287 0288 0289 0290 0291 0292 00263 000275R AND B3 TK 00264 001727 ALF ALF 00265 001222 RAL RAL 00266 000261R JMP GTSCH I CONSTANTS AND VARIABLES DEC DEC DEC 1 DEC 4 DEC 6 DEC 8 OCT 3700 OCT 14037 ASC 1 50 ASC 00267 00270 00271 00272 00273 00274 00275 00276 00277 00300 00301 00302 00303 00304 00305 00306 00307 00310 00311 00312 00313 00314 177761 177775 000001 000004 000006 000010 003700 014037 051460 030060 030162 030060 030103 030060 030162 030064 031103 000102 000001 177160 000000 102005 DM15 DM3 D1 D4 D6 D8 B3 7K TMASK ASO SORC S1RC A
51. Equipment type code 4 11 code EQT word 5 4 11 Error checking dynamic status 3 7 failure analysis 3 8 I O status 3 7 1 0 status request returns 3 9 Error recovery 3 7 EXEC call control word 2 1 function code 2 2 request codes 2 1 from Assembly language 2 7 from FORTRAN 2 8 from PASCAL 2 9 Exit commands device driver 4 8 error types 4 8 new device driver request 4 10 F Failure analysis 3 8 Final completion return to the interface driver sample code 4 23 Flush input buffer example 2 21 Index 6 MULTIPLEXER MULTIPLEXER INDEX flush active 2 21 flush all input buffers on that port 2 21 Full type ahead example 3 5 general description 3 5 program scheduling 3 5 Function code EXEC call 2 2 H Handshaking DC1 DC2 5 1 enable disable port for ENQ ACK 2 23 ENQ ACK 5 1 terminal 5 2 HP supplied device driver 26XX screen mode device driver B 1 device driver 7310 line printer device driver B drivers 4 3 drivers DDVO5 4 4 drivers DDV12 4 3 Hung up terminals B 2 I I O request echoing 2 4 editing 2 4 general B 2 terminators 2 4 I O status example 3 7 general 3 7 parameters 3 7 request returns 3 9 status word 4 3 7 Interface definitions A register 4 6 B Register 4 6 base page location 4 6 device driver 4 6 EQT word 10 4 6 EQT word 14 4 6 EQT word 9 4 6 EQT words 2 4 4 6 EQT words 4 10 4 6 EQT words 6 8 4 6 general description 4 6 Interface dr
52. F 0124 00120 000310R LDA 0125 00121 000002R STA 0126 00122 000016R LDB 0127 00123 000345R LDA 0128 00124 004010 SLB 0129 00125 002004 INA 0130 00126 000000 LDA 0131 00127 000003R STA 0132 00130 000272R LDA 0133 00131 0000048 0134 00132 0001358 LDB 0135 00133 000314R LDA 0136 00134 000256R JMP 0137 0138 SET THE RIGHT MARGIN 0139 0140 00135 000136R RMSET DEF 0141 00136 000310R LDA 0142 00137 000002R STA 0143 00140 000347R LDA 0144 00141 000003R STA 0145 00142 000271R LDA 0146 00143 000004R STA 0147 00144 000016R LDA 4 26 AST DEX03 I CMLNG DEXO4 I LMSET MODX1 CRTN 41 BNWT DEXO2 I LMSTA DEX03 I MSLNG DEXO4 I DEX 14 1 43 RMPOS CUPOS MODX1 CRTN 41 BNWT DEX0O2 I DEX14 I RMPA A I DEX03 I CMLNG DEXOU4 I RMSET MODX 1 CRTN 41 BNWT DEXO2 I RMSTA DEX03 I MSLNG DEXOU I DEX14 1 GET THE ADDRESS PUT IT IN THE DD EXTENT GET CURSOR MOVE LENGTH WORD PUT IT IN THE DD EXTENT GET L MARGIN SET ADDRESS WRITE MODIFIER EXIT COMMAND RETURN TO INTERFACE DRIVER ADDRESS OF ROUTINE SET UP BINARY WRITE IN DEVICE DRIVER EQT EXT GET ADDRESS OF L MARGIN SET FOR DD EQT EXT GET LENGTH FOR MARGIN SET PUT IT IN THE DD EQT EXT GET SUBCHANNEL ODD YES GO POSITION CURSOR NO GET RIGHT MARGIN ADDRESS GET CURSOR POSITION ADDRESS WRITE MODIFIER EXIT COMMAND RETURN TO INTERFACE DRIVER RIGHT MARGIN SET ADDRESS OF ROUTINE SET UP BINARY WRITE TO POSITION THE CURSOR GET SUBCH
53. Interface Definitions e e w au au e a ng Return To The Interface Driver Return To Interface Driver Device Driver Return To Interface Driver A Register Exit Command AN le o Function Modifier e n Return To Interface Driver B Register Return To Interface Driver EQT Entries Selected EQT Definitions And Uses Device Driver Address Table I I Loeation And Size Of Device Drivers Case Study Device Driver Writing Example Task Definition a a a a a a n Margin Set UP s s s so Cursor Position e lt lt e vo Cursor Tracking e e s a oo n Minor Tasks W wee A Device Driver Operation ER Operation Flow aw ca Sw S se D Set Up Device Driver EQT Extent Pointers EQT Setup On First Entry e e e a n Subchannel Determination WO s n e k Output a Setup String to the Terminal Perform The Original User Request Read Cursor Position X Final Completion Return to the Interface Device Driver Address Table s qu e Sample Device Driver Listing Chapter 5 Device Specific Considerations Handshaking e e a au a a o l DDV12 Lineprinter Driver DDVO5 Terminal Driver e n a Black Box Considerations Dumb Devices Modems s w lt lt e e on Device Specific Considerations Driver H e e o l MMM 1 LA TE A TO E FAN I
54. L D input editing off echo off end transfer on buffer full editing off echo on end transfer on buffer full editing off echo off end transfer on lt CR gt editing off echo on end transfer on lt CR gt 109876 Action taken for WRITE request end transfer on end of buffer add CR LF if last char in buffer is NOT is not printed if present as the last char in buffer end transfer on end of buffer nothing is added to the user s buffer end transfer on end of buffer nothing is added to the user s buffer For all I O requests note the following Zero length keyboard entries will not be ignored by the interface driver I O transfers use a character format set up by control fuction 30B and the terminal must be strapped accordingly Escape and Unit Separator characters are NOT stripped from the user s buffer as is done under DVRO5 Binary type transfers from the display may not be used when the terminal is in a block mode B 3 Read function code 3000B program enabled block read is not required when doing ESC d screen reads However the driver is not as forgiving as DVRO5 when terminal straps are changed without informing the driver Control function 25B must be issued in order to prevent the terminal from being hung up HP 7310 Line Printer Device Driver Functional Overview This section describes the HP 2631 2635 7310 Line Printer device driver DDV12 for use under the Multiplexer driver DV
55. MOO The driver supports both normal column 1 as carriage control and transparent column 1 printed print modes Carriage control includes Top of Form single double and triple spacing For Generation and Initialization information consult the HP 12792B Multiplexer Subsystem Configuration Guide Write Request Processing Write requests to the driver can be made either in a normal or transparent mode The device driver DDV12 is used to make HP 2631 2635 7310 printers look like typical line printers to user programs These devices use escape sequences for carriage control while standard line printers interpret the first character of each line as a carriage control character The DDV12 device driver examines the user s first character and sends the proper escape sequence to the printer In normal mode the first character of the line is used to direct the driver to perform carriage control The remainder of the line is transferred to the printer Carriage control characters recognized by the driver are 1 Go to Top of Form Space extra line before printing double space Space two extra lines triple space all others Single space Transparent mode is selected by setting bit 7 of the EXEC function code In this mode all data is shipped to the printer regardless of the data in column 1 It should be noted that no processing of the user data is performed other than that described above Since the printer always reacts to es
56. NCU 00202 000015R STA DEX13 I 00203 000315R LDA MODX2 00204 000020R JMP DDSOO I ODD YES GO SET LEFT MARGIN NO GET CURSOR POS ADDRESS GET L MARGIN POS ADDRESS WRITE MODIFIER EXIT COMMAND RETURN TO INTERFACE DRIVER OPERATION ON A SUBCHANNEL ADDRESS OF ROUTINE SET UP BINARY WRITE TO POSITION THE CURSOR GET SUBCHANNEL GET CURSOR ADDRESS POINTER ODD SUBCH USE THE OTHER ONE GET THE ADDRESS OF LAST AND THE BUFFER FILL ADDRESS MOVE THE LAST POSITION GET THE WHOLE BUFFER ADDRESS PUT IT IN THE DD EXTENT GET CURSOR MOVE LENGTH WORD PUT IT IN THE DD EXTENT GET DORQ ROUTINE ADDRESS WRITE MODIFIER EXIT COMMAND RETRURN TO INTERFACE DRIVER ADDRESS OF THE ROUTINE GET THE TIME OUTWORD GET THE SENCU ROUTINE ADDRESS SAVE IT FOR RETURN GET THE EXIT COMMAND RETURN DIRECTLY USER REQUEST DONE SENSE WHERE THE CURSOR WAS LEFT 00205 000206R SENCU DEF 1 00206 001667 STB EQT8 I 00207 000310R LDA BNWT 00210 000002R STA DEX02 I 00211 000363R LDA SENCA 00212 000003R STA DEXO3 I 00213 000270R LDA SENSL 00214 0000048 STA DEXOH I 00215 000314R LDA MODX1 00216 000220R LDB RDCUS 00217 000256R JMP CRIN ADDRESS OF THE ROUTINE SAVE TRANSMISSION LOG IN EQT8 SET UP BINARY WRITE IN DEVICE DRIVER EQT EXT GET ADDRESS OF CURSOR SENSE FOR DD EQT EXT GET LENGTH FOR SENSE COMMAND PUT IT IN THE DD EQT EXT WRITE MODIFIER EXIT COMMAND GET THE ADDRESS OF NEXT RETURN TO INTERFACE DRIVER 4 27 0199 0200 0201 0202 0203 020
57. NWD IPARM Request code ICODE has a value of 3 for all control requests Each control request has a different function code specified in ICNWD and the value of the IPARM parameter depends on the function code Table 2 1 contains a summary of the function codes and their meanings Equipment Table word five EQT5 contains the status word If a control request is made to an unbuffered EQT Equipment Table the A register will contain the device s status If the EQT is buffered the A Register is meaningless In either case the B Register is meaningless except for function code 6B This status request will return the length of the type ahead data in the B register When issuing a function code command from the File Manager the following format is used 2 12 CN lu fn pr lu LU number fn function code pr optional control parameter Table 2 1 Control Request Function Codes CODE DESCRIPTION PARAMETERS REQUIRED DYNAMIC STATUS OF PORT INITIATE MODEM LOOP TEST TERMINATE RECEIVE BUFFER ENABLING SCHEDULING DISABLE SCHEDULING SET TIMEOUT FLUSH INPUT BUFFER SET PROGRAM ADDRESS SET PORT S ID CONNECT MODEM LINE DISCONNECT MODEM LINE CONFIGURE DRIVER RESPONSES SET PORT CONFIGURATION SET READ BINARY LENGTH SET READ TYPE For example to place LU 19 in type ahead mode with cancel on break the following control command is issued CN 19 33B 23000B 2 13 Device Initialization Device initialization is acc
58. Packard Co 9606 Aero Drive P O Box 23333 SAN DIEGO CA 92139 Tel 619 279 3200 CH CM CS E MP Hewlett Packard Co 2305 Camino Ramon C SAN RAMON CA 94583 Tel 415 838 5900 CH CS Hewlett Packard Co 3005 Scott Boulevard SANTA CLARA CA 95050 Tel 408 988 7000 Telex 910 338 0586 A CH CM CS E MP Hewlett Packard Co 5703 Corsa Avenue WESTLAKE VILLAGE CA 91362 Tel 213 706 6800 E CH CS Colorado Hewlett Packard Co 24 Inverness Place East ENGLEWOOD CO 80112 Tel 303 649 5000 A CH CM CS E MS SALES amp SUPPORT OFFICES Arranged alphabetically by country UJ Connecticut Hewlett Packard Co 47 Barnes Industrial Road South P O Box 5007 WALLINGFORD CT 06492 Tel 203 265 7801 A CH CM CS E MS Florida Hewlett Packard Co 2901 N W 62nd Street P 0 Box 24210 FORT LAUDERDALE FL 33307 Tel 305 973 2600 CH CS E MP Hewlett Packard Co 6177 Lake Ellenor Drive P 0 Box 13910 ORLANDO FL 32859 Tel 305 859 2900 A CH CM CS E MS Hewlett Packard Co 5750B N Hoover Blvd Suite 123 P O Box 15200 TAMPA FL 33614 Tel 813 884 3282 A CH CM CS E M Georgia Hewlett Packard Co 2000 South Park Place P O Box 105005 ATLANTA GA 30348 Tel 404 955 1500 Telex 810 766 4890 A CH CM CS E MP Hawaii Hewlett Packard Co Kawaiahao Plaza Suite 190 567 South King Street HONOLULU HI 96813 Tel 808 526 1555 A CH E MS Illinois Hewlett Packard Co 304 Eldorado Road P 0 Bo
59. RESS SPACE FOR ESC amp SPACE FOR aY SPACE FOR YY SPACE FOR rX SPACE FOR XX SPACE FOR C BYTE ADDRESS OF RIGHT BYTE NO ERRORS TOTAL RTE ASMB 92067 16011 4 30 Chapter 5 Device Specific Considerations The Multiplexer subsystem supports the following HP terminals 2621A P 2626A 2631A B 2635 2675A and 264X as well as printer support for the 263X and the 7310A Other HP or non HP devices may be used in conjunction with the 12792B multiplexer subsystem A prerequisite for HP support is the device must be either point to point hardwired or modem linked using the HP 37214A systems modem subsystem in an asynchronous bit serial environment However for these devices it may be necessary for the user to write simple device drivers to supplement line protocol and specific control characters Handshaking Transmission and reception of data or instructions are coordinated by firmware controlled handshaking Handshaking can be approached from one of two aspects either from the multiplexer firmware or from the device acting as the transmitter Some line printers and other devices use hardware handshaking between the computer and the terminal device these devices are not supported The HP 12792B interface card uses firmware on the interface card rather than a software driver to accomplish ENQ ACK handshaking to provide and other line protocol necessary to communicate between the MUX card and a terminal device If the car
60. Read Request Function Codes 2 5 ICNWD BITS ACTION TAKEN FOR WRITE REQUESTS An ASCII write request will have CR LF appended to the buffer if the last character in the buffer is not If the underscore 00137B is appended to the user s buffer it will not be printed the entire buffer is transmitted as is no characters are appended to the user s buffer X don t care condition Figure 2 4 Write Request Function Codes There are some areas of I O request handling that require special mention a Zero length keyboard entries will not be ignored by the interface driver A carriage return without data is a zero length record b Function code 30B configures the multiplexer card to conduct 1 0 transfers in a specified character format The terminal must be configured accordingly for successful I O processing to occur c Read or write function codes of 35B bypass any modem connection checks Refer to the section on modems Standard I O EXEC Calling Sequences The following sections show the general formats used for making EXEC calls from RTE Assembly RTE FORTRAN IV and PASCAL 1000 programs In the following examples the only names that must be used as given are EXEC and ABREG Other parameters used such as ICODE ICNWD and IPARM are simply mnemonics used in this manual EXEC Calls From Assembly Language The Assembly language calling sequence for EXEC calls is as follows EXT EXEC JSB EXEC DEF RTN DEF
61. SC BNWT RDWCR TO TEMP MODX1 OCT 000102 OCT 000001 DEC 400 BSS 1 OCT 102005 00315 000005 MODX2 OCT 000005 TERMINAL COMMAND STRINGS D6 D4 D1 CPLNG CMLNG MSLNG 00273 00272 00271 EQU EQU EQU 00316 00317 00320 00321 00322 00323 00324 00325 00326 00327 00330 015446 060440 030060 030103 015446 060440 030064 031103 000316R LMPAD DEF 000322R DEF 000326R LMPA DEF LMPAO OCT ASC 15446 3 a 000C LMPA1 OCT ASC 15446 3 a 042C LMPAO LMPA1 LMPAD 4 000r000C 4 000r042C ONLY LOOK AT SUBCHANNEL BITS POSITION TO RIGHT CNWD FOR BINARY WRITE CNWD FOR READ TO CR NO ECHO 4 SEC TIME OUT ON SETUP WRITE MODIFIER EXIT COMMAND DO REQ IN DEXO2 END READS ON CR DON T MODIFY WRITE UNIV MODIFIER EXIT COMMAND DON T MODIFY ANYTHING JUST START REQUEST IN EXTENT LENGTH OF CURSOR POSITION RQ LENGTH OF MARGIN REQUESTS LENGTH OF MARGIN SET REQUESTS ESC amp POS MARGIN SET CURSOR FOR LEFT SUB 0 ESC amp POS MARGIN SET CURSOR FOR LEFT SUB 1 ADDRESS OF LEFT MARGIN SUB O ADDRESS OF LEFT MARGIN SUB 1 ADDRESS OF ADDRESSES 4 29 0293 0294 0295 0296 0297 0298 0299 0300 0301 0302 0303 0304 0305 0306 0307 0308 0309 0310 0311 0312 0313 0314 0315 0316 0317 0318 0319 0320 0321 0322 0323 0324 0325 0326 0327 0328 0329 0330 0331 00331 015464 LMST OCT 15464 00332 000331R LMSTA DEF LMST 00333 015446 RMPAO OCT 15446
62. THE PATH SUB 1 SET RIGHT MARGIN FIRST 00055 000261R JSB GTSCH 00056 000016R SVSCH STA DEX14 I 00057 000010 SLA 00060 000117R JMP RMPOS I 00061 000062R JMP LMPOS I POSITION FOR LEFT MARGIN SET 00062 000063R LMPOS DEF 1 00063 000310R LDA BNWT 00064 000002R STA DEX02 I 00065 000016R LDB DEX14 1 00066 000330R LDA LMPA 00067 004010 SLB 00070 002004 INA GET FIRST ACCESS FLAG CONTAINS ASCII 50 NOT FIRST ACCESS CHECK SUBCH FIRST ACCESS SET UP FLAG SET UP SUB CH O ROW AND COL SET UP SUB CH 1 ROW AND COL SET UP DRIVER TYPE SUB O SET LEFT MARGIN FIRST GO GET SUBCHANNEL AND SAVE ODD SUBCHANNEL YES DO RIGHT MARGIN FIRST NO DO LEFT MARGIN FIRST ADDRESS OF ROUTINE SET UP BINARY WRITE TO POSITION THE CURSOR GET SUBCHANNEL GET LEFT MARGIN POINTER ODD SUBCH USE THE OTHER ONE 4 25 0095 00071 000000 LDA 0096 00072 000003R STA 0097 00073 000272R LDA 0098 00074 000001R STA 0099 00075 000100R LDB 0100 00076 000314R LDA 0101 00077 000256R JMP 0102 0103 SET THE LEFT MARGIN 0104 0105 00100 000101R LMSET DEF 0106 00101 000310R LDA 0107 00102 000002R STA 0108 00103 000332R LDA 0109 00101 000003R STA 0110 00105 000271R LDA 0111 00106 000001R STA 0112 00107 000016R LDA 0113 00110 000010 SLA 0114 00111 000114R JMP 0115 00112 000117R LDB 0116 00113 002001 RSS 0117 00114 000154R LDB 0118 00115 000314R LDA 0119 00116 000256R JMP 0120 0121 POSITION CURSOR FOR 0122 0123 00117 000120R RMPOS DE
63. Tel 212 971 0800 CH CS E M Hewlett Packard Co 250 Westchester Avenue WHITE PLAINS NY 10604 Tel 914 684 6100 CM CH CS E Hewlett Packard Co 3 Crossways Park West WOODBURY NY 11797 Tel 516 921 0300 A CH CM CS E MS North Carolina Hewlett Packard Co 5605 Roanne Way P O Box 26500 GREENSBORO NC 27420 Tel 919 852 1800 A CH CM CS E MS Ohio Hewlett Packard Co 9920 Carver Road CINCINNATI OH 45242 Tel 513 891 9870 CH CS MS Hewlett Packard Co 16500 Sprague Road CLEVELAND OH 44130 Tel 216 243 7300 A CH CM CS E MS Hewlett Packard Co 962 Crupper Ave COLUMBUS OH 43229 Tel 614 436 1041 Eff Nov 25 1983 675 Brooksedge Bivd WESTERVILLE OH 43081 CH CM CS E Hewlett Packard Co 330 Progress Rd DAYTON OH 45449 Tel 513 859 8202 A CH CM E MS Oklahoma Hewlett Packard Co 304 N Meridian Suite A P O Box 75609 OKLAHOMA CITY OK 73147 Tel 405 946 9499 A CH E MS Hewlett Packard Co 3840 S 103rd E Avenue 100 P O Box 35747 TULSA OK 74153 Tel 918 665 3300 A CH CS M Oregon Hewlett Packard Co 9255 S W Pioneer Court P O Box 328 WILSONVILLE OR 97070 Tel 503 682 8000 A CH CS E MS Pennsylvania Hewlett Packard Co 111 Zeta Drive PITTSBURGH PA 15238 Tel 412 782 0400 A CH CS E MP Hewlett Packard Co 2750 Monroe Boulevard P 0 Box 713 VALLEY FORGE PA 19482 Tel 215 666 9000 A CH CM E M South Carolina Hewlett Packard Co Brookside Park Suit
64. abled Bit Reserved for future use should be set to zero O N Q FUN co ou oo On initiation entry this is an optional user parameter to the device driver Thereafter it is the starting address for transfers Word 10 Word 12 Word 13 Word 11 On initiation entry this is an optional user parameter to the device driver Thereafter it is the character length of the data transfer Port Status Word 1 Bit 15 Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit ee ee 9 8 T 6 5 ye 3 2 1 0 Bit 15 Bits 14 0 Card is busy processing a command Deferred abort in process system clear request Waiting for or using DCPC channel Reserved for future use Using DCPC channel 1 select code 6 I O transfer in process Unsolicited interrupt in progress Defer abort flag End on End on End on End on End on End on Character Edit enable Echo enable This EQT is suspended on itself The address of first EQT suspended waiting for access to the backplane Address of EQT extension Standard usage EQT time out value reset Standard usage EQT running timer EQT extension words extension word 1 EQT word 16 Word 16 Address of the program to schedule 1 if none 0 if the driver has not been entered Level 1 subroutine return address Level 2 subroutine return address Level 3 subroutine return address Port ID from control 30B option
65. al parameter used in power fail recovery Driver configuration word from control 33B Reserved for future use Length of typed ahead data in characters Temporary usually contains the character length of the data remaining to be transferred Temporary usually the second word of the card command Word 26 Word 27 Word 28 Word 29 Word 30 Word 31 Word 32 Temporary usually the length of the character space left in the user buffer Port Status Word 2 Bit 15 Terminating character has not yet been found Bit 14 13 00 01 control D terminating character CR 10 lt DC2 gt 11 RS Bit 12 Reserved for future use Bit 11 Card reset in progress Bits 10 9 Reserved for future use Bit 8 Port has key Bits 7 0 default status for word 5 bits 7 0 Device driver command to the interface driver A Register Device driver timeout 10 s ms Device driver EXEC request Device driver I O buffer address or control requests optional parameter Device driver buffer length words chars Any further storage used is defined by the device driver in use Appendix B Device Driver Interfaces HP 26XX Screen Mode Device Driver This section describes the HP supplied 26 Screen Mode device driver DDVO5 used with the Multiplexer interface driver DVMOO The driver supports HP terminals in both character and block mode All sereen mode functions the ENTER key soft keys etc are supported
66. ate has been exceeded and data on the LU with the overflow bit set was lost These errors are only detectable on a read operation Table 3 1 I O Status Request Returns I O controller availability indicator 00 Available for use 01 EQT disabled down 10 Device busy Equipment Type code Status 1 Last request timed out Break Key hit Control D entered on the last request EOT Modem line down Parity error or overflow detected on the last request Type ahead data available control function 6B will return the length of type ahead data in the B Register Program schedule enabled Reserved for future use always zero Reserved for future use always zero Automatic output buffering enabled Driver to process power fail always 1 Driver to process time out always 1 System communication flag Last subchannel addressed Select code of the Multiplexer Card Logical Unit Status 1 LU down 0 LU up Reserved for future use should always be zero EQT subchannel associated with the LU number 3 9 3 10 Chapter 4 Device Driver Writing This chapter explains the writing and use of device drivers that can be called by the 12792B Multiplexer Interface Driver DVMOO The basic philosophy of using device drivers is explained to give the user a better understanding of the steps involved Device Driver Interface Driver Concept An interface driver is a standard RTE driver that converts user EXEC requests for inp
67. available for specific products HP distributors are printed in italics HEADQUARTERS OFFICES If there is no sales office listed for your area contact one of these headquarters offices NORTH CENTRAL AFRICA Hewlett Packard S A 7 Rue du Bois du Lan CH 1217 MEYRIN 2 Switzerland Tel 022 83 12 12 Telex 27835 hpse Cable HEWPACKSA Geneve ASIA Hewlett Packard Asia Ltd 6th Floor Sun Hung Kai Centre 30 Harbour Rd G P O Box 795 HONG KONG Tel 5 832 3211 After Jan 1 1984 47th Floor China Resources Bidg 26 Harbour Rd Wanchai HONG KONG Telex 66678 HEWPA HX Cable HEWPACK HONG KONG CANADA Hewlett Packard Canada Ltd 6877 Goreway Drive MISSISSAUGA Ontario L4V 1M8 Tel 416 678 9430 Telex 610 492 4246 EASTERN EUROPE Hewlett Packard Ges m b h Lieblgasse 1 P O Box 72 A 1222 VIENNA Austria Tel 222 2365110 Telex 1 3 4425 HEPA A NORTHERN EUROPE Hewlett Packard S A Uilenstede 475 P O Box 999 NL 1180 AZ AMSTELVEEN The Netherlands Tel 20 437771 SOUTH EAST EUROPE Hewlett Packard S A 7 Rue du Bois du Lan CH 1217 MEYRIN 2 Switzerland Tel 022 83 12 12 Telex 27835 hpse Cable HEWPACKSA Geneve OTHER EUROPE Hewlett Packard S A P O Box 150 Rte du Nant D Avril CH 1217 MEYRIN 2 Switzerland Tel 022 83 8111 Telex 22486 hpsa Cable HEWPACKSA Geneve MEDITERRANEAN AND MIDDLE EAST Hewlett Packard S A Mediterranean and Middle East Operations Atrina Ce
68. cape sequences and protocol characters e g ENQ the user should be careful not to place these in the user buffer Control Request Processing The only control request processed by this device driver is control function 11B This is used to either move the paper up line spacing or move the paper to top of form depending on the value of the optional parameter IPARM gt O move the paper up IPARM lines IPARM O move the paper up one line IPARM lt O go to top of form The maximum number of lines that can be spaced in one request is 63 If a request is made to send more than 63 lines the value will be truncated modulo 64 i e 66 will send 2 lines 11 other control requests are passed directly to the interface driver for processing Refer to Chapter 2 for descriptions B 5 B 6 ACK Acknowledge ASCII ASYNCHRONOUS TRANSMISSION BAUD BS CONTROL CHARACTER CR DC1 Device control DC2 Device control Appendix C Glossary A transmission control character transmitted by a receiver as an affirmative response to the sender s block mode information American Standard Code for Information Interchange Transmission in which time intervals between transmitted characters may be of unequal length Transmission is controlled by start and stop elements at the beginning and end of each character A unit of signaling speed equal to the number of discrete conditions or signal events per second In asynchronou
69. ce driver 4 16 Operation Flow Figure 4 1 shows the complete device driver flowchart ENTER 00500 SET UP EQT POINTERS FIRST EVER ACCESS YES NO AS LAST ACCESS NO GET NEXT ROUTINE ADDRESS SET UP EQT FROM DEX13 AND JUMP SUBCHANNEL 9 POSITION CURSOR SET LEFT FOR LEFT MARGIN MARGIN SET NEXT ROUTINE TO SUBCHANNEL 0 ROUTINE ROUTINE EXIT TO CRTN EXIT TO CRTN Q a D o 2 e 7700 569 Figure 4 1 Device Driver Flow Chart POSITION CURSOR FOR RIGHT MARGIN SET NEXT ROUTINE TO EXIT TO CRTN 4 18 SET RIGHT MARGIN SUBCHANNEL 0 SET NEXT ROUTINE TO SEND CURSOR SENSE REQUEST SAVE XMIT LOG SET NEXT ROUTINE TO EXIT TO CRTN 7700 570 EXIT TO SET NEXT ROUTINE e SET UP CURSOR POSITION READ SET NEXT ROUTINE WO EXIT TO CRTN Figure 4 1 cont d POSITION CURSOR PER SUBCHANNEL SET NEXT ROUTINE EXIT TO CRTN SAVE CURSOR POSITION PER SUBCHANNEL GET XMIT LOG AND SET A COMPLETION EXIT TO DDS 09 1 Device Driver Flow SET NEXT ROUTINE GET TIME OUT AND PASS USER REQUEST EXIT TO 00500 1 SAVE NEXT ROUTINE ADDR GET TIMEOUT EXIT TO 005001
70. d 4 12 Cruickshank Street Kilbirnie WELLINGTON 3 P O Box 9443 Courtenay Place WELLINGTON 3 Tel 877 199 Cable HEWPACK Wellington CH CM E P Northrop Instruments 8 Systems Ltd 369 Khyber Pass Road P 0 Box 8602 AUCKLAND Tel 794 091 Telex 60605 AM Northrop Instruments amp Systems Ltd 110 Mandeville St P 0 Box 8388 CHRISTCHURCH Tel 486 928 Telex 4203 AM Northrop Instruments amp Systems Ltd Sturdee House 85 87 Ghuznee Street P 0 Box 2406 WELLINGTON Tel 850 091 Telex NZ 3380 AM NORTHERN IRELAND See United Kingdom NORWAY Hewlett Packard Norge A S Folke Bernadottes vei 50 P 0 Box 3558 N 5033 FYLLINGSDALEN Bergen Tel 0047 5 16 55 40 Telex 16621 hpnas n CH CS E MS Hewlett Packard Norge A S Osterndalen 16 18 P O Box 34 N 1345 OSTERAS Tel 0047 2 17 11 80 Telex 16621 hpnas n A CH CM CS E M P OMAN Khimjil Ramdas P O Box 19 MUSCAT Tel 722225 745601 Telex 3289 BROKER MB MUSCAT P Suhail amp Saud Bahwan P 0 Box 169 MUSCAT Tel 734 201 3 Telex 3274 BAHWAN MB SALES 8 SUPPORT OFFICES Arranged alphabetically by country PAKISTAN Mushko 8 Company Ltd 1 B Street 43 Sector F 8 1 ISLAMABAD Tel 51071 Cable FEMUS Rawalpindi AEM Mushko amp Company Ltd Oosman Chambers Abdullah Haroon Road KARACHI 0302 Tel 524131 524132 Telex 2894 MUSKO PK Cable COOPERATOR Karachi A E MP PANAMA Electr nico Balboa S A Calle Samuel Lewis Ed
71. d Street LONDON Ontario N6E 255 Tet 519 686 9181 A CH CM E MS P Hewlett Packard Canada Ltd 6877 Goreway Drive MISSISSAUGA Ontario LAN 1M8 Tel 416 678 9430 A CH CM CS E MP P Hewlett Packard Canada Ltd 2670 Queensview Dr OTTAWA Ontario K2B 8K1 Tel 613 820 6483 A CH CM CS E MS P Hewlett Packard Canada Ltd 220 Yorkland Blvd Unit 11 WILLOWDALE Ontario M2J 1R5 Tel 416 499 9333 CH Quebec Hewlett Packard Canada Ltd 17500 South Service Road Trans Canada Highway KIRKLAND Quebec H9J 2M5 Tel 514 697 4232 A CH CM CS E MP P Hewlett Packard Canada Ltd Les Galeries du Vallon 2323 Du Versont Nord STE FOY Quebec G1N 4C2 Tel 418 687 4570 CH CHILE Jorge Calcagni y Cia Ltda Av Italia 634 Santiago Casilla 16475 SANTIAGO 9 Tel 222 0222 Telex Public Booth 440001 A CM E M Olympia Chile Ltda Av Rodrigo de Araya 1045 Casilla 256 V SANTIAGO 21 Tel 02 22 55 044 Telex 240 565 OLYMP CL Cable Olympiachile Santiagochile CH CS P CHINA People s Republic of China Hewlett Packard Rep Office P O Box 418 1A Lane 2 Luchang St Beiwei Rd Xuanwu District BEIJING Tel 33 1947 33 7426 Telex 22601 CTSHP CN Cable 1920 A CH CM CS E P COLOMBIA Instrumentaci6n H A Langebaek amp Kier S A Carrera 4A No 52A 26 Apartado Aereo 6287 BOGOTA 1 D E Tel 212 1466 Telex 44400 INST CO Cable AARIS Bogota Casa Humboldt Ltda Carrera 14 No 98 6
72. d configuration has ENQ ACK handshaking enabled data is transferred to the terminal device in the following manner The card sends data to the terminal device in blocks of 80 characters Between blocks an ENQ is sent and the firmware waits up to five seconds for an ACK If one block is received the next block is sent If no response is given another ENQ is sent If the handshaking is disabled information is transmitted serially character by character to the terminal device The other type of handshaking is from the terminal device to the Multiplexer card and this is accomplished using DC1 and DC2 handshaking DC1 and DC2 are used for CPU reception in block mode This type of handshaking is controlled by the terminal driver DDVO5 The XON XOFF handshake for pacing the data sent to a terminal is also supported on the multiplexer Control function 34B is used to enable and disable XON XOFF handshaking refer to Chapter 2 under function 34B for details The device control signals XON and XOFF that allow the user to control or pace transmission from the terminal are treated by the multiplexer as handshake characters starts transmission when Control Q is received by the multiplexer and transmission stops when Control S is received Use of XON and XOFF are enabled in the Port Configuration control request refer to function 34B in Chapter 2 DDVI2 Lineprinter Driver HP supplies a line printer driver DDV12 similiar to DVR12 alth
73. d either to send data to the card or receive data from the card When the device driver informs the interface driver that the user request is complete the interface driver returns to RTE with Che correct device status and transmission log or error code in the A and B Registers Device Driver Tasks The device driver is entered on each new user request and on completion of each device driver request The device driver may do further checking on request legality If the device requires a special sequence of characters prior to receiving or sending the user data the device driver should format the characters into a buffer and send them to the device via a device driver request to the interface driver When the user request is to be processed the device driver tells the interface driver to start the request currently in the EQT When the entire request has completed the device driver places the correct status in the EQT and the transmission log in the B Register and then informs the interface driver that the request is complete HP Implementations Of Device Drivers There are two examples of device driver applications that Hewlett Packard has implemented as part of the HP 12792B Multiplexer subsystem Lineprinter Device Driver DDV12 Device driver DDV12 makes HP 2631 2635 7310 printers look like typical line printers to user programs These devices use escape sequences and control characters for carriage control while standard line printers inter
74. d right sides of the screen are established The cursor positions are stored in ASCII format in the device driver EQT extent words 5 12 The starting positions upper left corner of each screen are hard coded in ASCII in the driver LDA ASO GET THE ASCII SO STA DEX15 I SAVE IT TO INDICATE NOT FIRST ACCESS JSB CFER MOVE FOUR WORDS OF CURSOR POSITION DEF DEXO5 I THE DD EXTENT DEF SORC FROM THE DEFINITION LOCATION JSB CFER MOVE FOUR WORDS FOR THE OTHER CURSOR DEF DEXO9 I THE DD EXTENT DEF S1RC FROM THE DEFINITION LOCATION LDA EQT5 I GET THE EQT ENTRY WITH EQUIP TYPE AND TMASK 14037B MAKE THE TYPE 00 STA EQT5 I SAVE IT EQT5 EQU 1644B SORC ASC 4 000r000C STARTING ROW amp COLUMN SUBCHANNEL 0 SIRC ASC 4 000r042C STARTING ROW amp COLUMN SUBCHANNEL 1 Subchannel Determination On a new request entry the device driver determines what subchannel the request is addressed to The subchannel is in the EQT word 4 bits 10 6 The subroutine GTSCH gets the subchannel and returns it in the A register GTSCH NOP LDA EQT4 I GET FROM EQT WORD 4 AND B3 7K 3700B ONLY LOOK AT THE SUBCHANNEL BITS ALF ALF RAL RAL POSITION TO RIGHT JMP GTSCH I RETURN EQT4 EQU 1663B Once the subchannel has been determined the device driver must save it in the device driver EQT extent and then go set the left or right margin Note that although the driver specifies subchannel O or 1 it will use any even subchannel as the left side or any odd s
75. description in the EXEC write section of this manual The read related fields in the write function modifier bits 15 8 will configure the card for any subsequent read operations This eliminates the window between writing and reading so that if the write triggers a response from the device no data will be lost If enable end on character bit 10 is set one or more of bits 15 12 must be set Reads will complete on reception of any one of the specified characters If bit 10 is clear bits 15 12 should be zero If end on count bit 11 is set the physical record length in device driver EQT extent word 1 should be set to a positive number of characters If bit 11 is set the end on character bits 15 12 and 10 are ignored Only one of bits 10 11 Should be set For read functions the modifier bit fields are defined as follows A Register bits 15 8 3 Bit 15 end transfer on carriage return CR 14 end transfer on record separator RS 13 end transfer on end of tape EOT control D 12 end transfer on DC2 11 end transfer on specified character count 10 enable end on character specified in bits 15 12 9 enable character editing backspace delete etc 8 echo received characters 7 4 reserved for future use should be zero 3 use current card configuration If enable end on character bit 10 is set one or more of bits 15 12 must be set Reads will complete on reception of any one of the specified characters If bit 10 is clear bits
76. driver will set up a read pending on the terminal so that it will be informed when any key is struck The appropriate action system attention program schedule etc will then be taken Type Ahead Type ahead is the ability of a system to accept data from the user s terminal or device before it is requested by the CPU The MUX eard isa buffered device and for each channel it is capable of holding up to two 254 byte buffers of text in on board memory An advantage of type ahead is that applications programs can make the system appear more responsive to the user increasing total system plus human throughput This is done by having the application program prompt the user to respond while processing the previous input By the time the user has finished typing the system will have processed the last request and can begin on the next As long as the processing takes less time than the typing the user perceives instant response time While in type ahead mode the driver leaves read request pending on the card not the EQT at all times This read allows the user to enter data into the card even though the system does not have a read pending Upon receiving a record the card will interrupt the CPU telling it that a buffer of data is available If no request has been posted to that port a flag is set in the status word and the driver returns to the system and waits When a request is issued the driver reads the data from the card and comple
77. e 122 1 Harbison Way P O Box 21708 COLUMBIA SC 29221 Tel 803 732 0400 CH E MS Hewlett Packard Co Koger Executive Center Chesterfield Bldg Suite 124 GREENVILLE SC 29615 Tel 803 297 4120 Tennessee Hewlett Packard Co 224 Peters Road Suite 102 P O Box 22490 KNOXVILLE TN 37922 Tel 615 691 2371 A CH MS Hewlett Packard Co 3070 Directors Row MEMPHIS TN 38131 Tel 901 346 8370 A CH MS Texas Hewlett Packard Co 4171 North Mesa Suite C 110 EL PASO TX 79902 Tel 915 533 3555 CHE MS Hewlett Packard Co 10535 Harwin Drive P O Box 42816 HOUSTON TX 77042 Tel 713 776 6400 A CH CM CS E MP Hewlett Packard Co 930 E Campbell Rd P 0 Box 1270 RICHARDSON TX 75080 Tel 214 231 6101 A CH CM CS E MP Hewlett Packard Co 1020 Central Parkway South P O Box 32993 SAN ANTONIO TX 78216 Tel 512 494 9336 CH CS E MS Utah Hewlett Packard Co 3530 W 2100 South SALT LAKE CITY UT 84119 Tel 801 974 1700 A CH CS E MS Virginia Hewlett Packard Co 4305 Cox Road GLEN ALLEN VA 23060 P O Box 9669 RICHMOND VA 23228 Tel 804 747 7750 A CH CS E MS Washington Hewlett Packard Co 15815 S E 37th Street BELLEVUE WA 98006 Tel 206 643 4000 A CH CM CS E MP Hewlett Packard Co Suite A 708 North Argonne Road SPOKANE WA 99212 Tel 509 922 7000 CH CS West Virginia Hewlett Packard Co 4604 MacCorkle Ave P O Box 4297 CHARLESTON WV 25304 Tel 304 925 0492 A MS W
78. e as for any standard driver For exit commands that initiate another device driver request new request exit command equals 0 or 5 continuation entry exit command 5 a function modifier may be placed in the A Register bits 15 3 to override and expand the normal request function code contained in the device driver EQT extent word 2 bits 10 6 Function modifiers are defined for read and write operations Write function modifiers contain read modification fields and can be used to define the function modification for the next read or series of read operations The write function modifier bit fields are defined as follows A Register bits 15 3 Bit 15 end transfer on carriage return CR 14 end transfer on record separator RS 13 end transfer on end of tape EOT control D 12 end transfer on DC2 11 end transfer on specified character count 10 enable end on character specified in bits 15 12 4 8 enable character editing backspace delete etc echo received characters not defined should be 0 not defined should be 0 disable ENQ ACK handshake this transfer only add CR LF to buffer if last character is not an underline 137 octal 3 use write overrides in bits 7 4 if bit 3 is 0 bits 7 4 should be 0 Q Ov wo ee n If bits 7 3 are zero do not override the write is configured by bits 10 6 in the device driver EQT extent word 2 These bits are defined as bits 10 6 in EQT word 6 and the ICNWD
79. e the interface driver s action on a read request It is here that valid terminators as well as input editing and echoing are specified Figure 2 4 describes the valid buffer transfer terminators OCTAL VALUE OF COMMON NAME RIGHT BYTE carriage return 000015 device control 2 000022 record separator 000036 end of transmission 000004 Figure 2 2 Valid Terminators 2 4 ICNWD BITS ACTION TAKEN FOR READ REQUEST editing enabled echo disabled CR is a valid buffer transfer terminator CNTRL D results in an EOT status condition and a zero length transmission log zero length buffer input editing enabled echo enabled CR is a valid transfer terminator CNTRL D results in an EOT status condition and a zero length transmission log zero length buffer input editing disabled echo disabled data transfer terminates only when the user buffer is full input editing disabled echo enabled data transfer terminates only when the user buffer is full input editing disabled echo disabled CR is a valid transfer terminator input editing disabled echo enabled CR is a valid transfer terminator special buffer transfer same as the transfer with bit 9 special function bit set to zero but data resident in the card s buffer that exceeds the end of the user buffer i not destroyed It may be accessed i subsequent buffer transfers echo edit etc are defined by bits and 10 above X don t care condition Figure 2 3
80. eck the integrity of the modem links An example MUX configuration is shown in Figure 1 1 1 1 INTERFACE DRIVER 37214A DRIVER 1 SYSTEM MODEM DEVICE DRIVER n 2635A PRINTING TERMINAL BLACK 2635A PRINTING TERMINAL 2645 2648A TERMINAL mu 3 2631A PRINTER 8200 174 Figure 1 1 Example Multiplexer Configuration The HP 12792B can be used with Hewlett Packard devices that communicate with the CPU with I O specifications that meet RS 232 C or RS 423 A Electronic Industries Association standards and that are compatible with the available software drivers in the HP 1000 computers The commonly used devices are terminals and printers Furthermore users may write their own device drivers to handle any special control required by the device or where an HP driver is not available 1 2 Device drivers are simply subroutines of the interface driver which are used to modify user requests and make them compatible with a specific device The interface driver on the other nand is basically responsible for the transfer of information between the user programs the appropriate device driver and the interface card Each channel of the multiplexer has a device driver associated with it The device driver performs the device specific formatting of data which includes control characters for device requirements When an EXEC call is issued from the user program the interface driver passes it
81. ed subchannel This information is required by device drivers that perform different tasks for different sub channels EQT Word 5 Equipment Type Code and Status 00 to 07 00 01 02 05 07 10 to 17 10 10 11 12 13 15 20 to 35 23 24 30 31 32 33 36 37 47 EQT word 5 bits 13 8 contain the equipment type code as spec ified by the driver name at generation The 12792B multiplexer interface driver is DVMOO and so the type code is 00 Device drivers that emulate devices should use a type code correspond ing to the device they are emulating On first entry the device driver should change the type code in the EQT table The type codes and devices they represent are given below terminals or paper tape devices teleprinter or keyboard control device photoreader paper tape punch intelligent terminal devices generally having block mode capability HP 264x and 262x terminals multipoint devices other unit record devices plotters Calcomp or HP 7210 plotters Calcomp or HP 7210 card readers line printers TV monitor mark sense card readers mag tape or mass storage devices 9 track mag tape T track mag tape fixed head disc 7900 moving head dise 1905 6 20 25 moving head disc flexible disc drives writable control store microcode execution space HPIB Interface Multidrop FDL interface EQT word 5 bits 7 0 contain the device status of the 12792B Multiplexer on each entry to the device driver This status
82. ent for most user applications If a specific application is desired the user can design a mode by manipulating the control request word bit fields using function code 33B The common operating modes are Normal Non Type Ahead Mode Full Type Ahead Mode Type Ahead with Flush on Break Mode Type Ahead with Scheduling Mode Each mode is summarized below along with the run string necessary to configure the user s terminal Control requests and bit manipulation are covered in the Interface Driver section No Type Ahead Mode No Type Ahead Mode CN 0G 33B 012400B Control Parameters Control Request User s Terminal This will return the port to a standard RTE mode This mode is commonly used in the WELCOM file so that the individual may later configure the port to a specific application If a key is struck while executing in this mode and no request is pending on the terminal the designated program will be Scheduled 3 3 2 Full Type Ahead Mode Full Type Ahead Mode CN 0G 33B 022400B Control Parameters Control Request User s Terminal The type ahead is a mode of operation enabling the interface to accept strings of data from terminal devices even though the system did not request any information This information is stored in one of the two 254 byte receiving buffers for that port and remains buffered until a program reads the contents of the buffer While in type ahead the driver leaves a read pending on the interface looking for a
83. ents of EQT word 14 to the interface driver in the B Register Device Driver Address Table The interface driver uses a device driver address table to find the correct device driver when the device driver is selected with a control request of 33B The device drivers are selected by numbers which are determined by their positions in the device driver address table Each device driver to be used with the interface driver must have an entry in the device driver address table To add device drivers to the device driver address table the user must create his own table The device driver address table should have the following format NAM DVTB 8 DEVICE DRIVER ADDRESS TABLE ENT DVTB EXT DVNM1 DVNMn DEVICE DRIVER ADDRESS TABLE DVTB DEC n NUMBER OF ENTRIES IN TABLE DEF DVNM1 0 ADDRESS OF DEVICE DRIVER 2 DEF ee 0 e e e e H H H e 3 DEF DVNMn O ADDRESS OF DEVICE DRIVER nai END The names of the device drivers may be any valid label as long as they do not conflict with any other symbol in the system Note that the first device driver in the table is selected by a control request of 33B to use device driver number two This is because the value zero is reserved for no change and one is used for the default device driver Since the device driver number field is four bits wide the user is able to include the default and up to 14 other device drivers in the system Location And Size Of Device Drivers Since the dev
84. equest not listed here is passed on to the interface driver for execution The various requests are described as follows Control Function 11B Line Spacing Control function 11B sends a number of CR LF s to the terminal s display as determined by the value of the optional parameter A maximum of 63 lines can be spaced in one request Any value greater than 63 will be truncated modulo 64 zero or negative line count results in CR LF sent Control Function 25B Update Terminal Configuration Control function 25B causes the driver to read the strap settings on HP terminals This information is used by the driver to assure correct terminal handshake when doing block reads etc HP terminals A control function 25B is automatically performed when the driver receives its first read request If the terminal straps are subsequently changed manually or by escape sequences the user must issue another control function 25B to keep the driver posted of any changes Failure to do so may result in the terminal getting hung up Input Output Requests The action taken by the driver in the processing of I O requests depends on the function code specified in the EXEC call from the user Bits 10 through 6 of the EXEC ICNWD define the function code for the request as follows Action taken for READ request input editing enabled echo off end transfer on CR or CTRL D input editing enabled echo on end transfer on lt CR gt or CTR
85. for a response Control E End of Transmission Control D A circuit designed for transmission in either direction but not both directions simultaneously When enabled the backspace and delete key are enabled and will affect the user s buffer When disabled the keys are not executed but are placed in the user s buffer The multiplexer card making possible interoperation between the terminal device and the CPU A device that modulates and demodulates signals transmitted over communications circuits Addition of non information bits to data making the number of ones in each grouping of bits either always odd for odd parity or always even for even parity This permits single error detection in each group PROTOCOL TRANSMISSION LOG VALID TERMINATOR A formal set of conventions governing the format and relative timing of message exchange between two communicating processes Length of buffer contents to or from the MUX card End of data transfer end of record for example a carriage return C 3 C 4 DVTB device driver address table 4 13 4 14 DVTB SAM 4 14 DVTB sample code 4 23 DVTB table area I 4 14 26XX screen mode device driver DDVO5 4 4 B 1 7310 line printer device driver DDV12 4 3 B 4 A A register interface driver 4 7 driver returns 4 6 B B Register device driver 4 10 interface driver returns 4 7 return to interface driver 4 10 Baud rate generators 2 22 generators port
86. g pauses cannot exceed 125 Examples a P 031 331 1000 Pulse dial the number 031 331 1000 b T9 0101 916 786 2001 Tone dial 9 0101 916 786 2001 with an acess pause after the first digit Function Code 32B Disconnect Line Function code 32B disconnects a line from being used as a modem line Once a Disconnect Line request is done an incoming call cannot establish a connection until a Connect Line request is executed unless the local modem is programmed to auto answer a call This request can be done from file manager as well as an EXEC call For example from file manager CN LU 32B IPARM1 where IPARM1 is as follows Bit 15 No Wait bit 0 driver will complete the request i e return only after line has been disconnected driver will not wait for the line to be disconnected before completing the request Bit O 1 disable auto answer Function Code 33B Configure Driver Responses Function code 33B uses the IPARM parameter to specify port parameters The value of IPARM will configure the driver without sending the parameters to the card The bit fields are defined as follows all fields default to the 01 state at system boot time 2 26 Bits 15 14 Bits 13 12 Bits 11 10 Bits 9 8 These bits are used to control responses to device or line failures such as the modem line going down 00 no change 01 if the device or line goes down set the device down e q IO NR 1
87. h ftsstelle Messerschmitistrasse 7 D 7910 NEU ULM Tel 0731 70241 Telex 0712816 HP ULM D A C E Hewlett Packard GmbH Gesch ftsstelle Ehhericherstr 13 D 8500 NURNBERG 10 Tel 0911 5205 0 Telex 0623 860 CH CM E MS P Hewlett Packard GmbH Geschiftsstelle Eschenstrasse 5 D 8028 TAUFKIRCHEN Tel 089 6117 1 Telex 0524985 A CH CM E MS P SALES amp SUPPORT OFFICES 5 Arranged alphabetically by country a GREAT BRITAIN See United Kingdom GREECE Kostas Karaynnis S A 8 Omirou Street ATHENS 133 Tel 32 30 303 32 37 371 Telex 215962 RKAR GR A CH CM CS E M P PLAISIO S A G Gerardos 24 Stoumara Street ATHENS Tel 36 11 160 Telex 221871 P GUATEMALA IPESA Avenida Reforma 3 48 Zona 9 GUATEMALA CITY Tel 316627 314786 Telex 4192 TELTRO GU A CH CM CS E M P HONG KONG Hewlett Packard Hong Kong Ltd G P 0 Box 795 5th Floor Sun Hung Kai Centre 30 Harbour Road HONG KONG Tel 5 8323211 Telex 66678 HEWPA HX Cable HEWPACK HONG KONG E CH CS P CET Ltd 1402 Tung Wah Mansion 199 203 Hennessy Rd Wanchia HONG KONG Tel 5 729376 Telex 85148 CET HX CM Schmidt amp Co Hong Kong Ltd Wing On Centre 28th Floor Connaught Road C HONG KONG Tel 5 455644 Telex 74766 SCHMX HX AM ICELAND Elding Trading Company Inc Hafnarnvoli Tryggvagotu P 0 Box 895 IS REYKJAVIK Tel 1 58 20 1 63 03 M INDIA Computer products are sold through Blue Star Ltd All comp
88. habetically by country INDONESIA BERCA Indonesia P T P O Box 496 Jkt JI Abdul Muis 62 JAKARTA Tel 21 373009 Telex 46748 BERSAL Cable BERSAL JAKARTA P BERCA Indonesia P 0 Box 2497 Jkt Antara Bldg 17th Floor JI Medan Merdeka Selatan 17 JAKARTA PUSAT Tel 21 344 181 Telex BERSAL BERCA Indonesia P 0 Box 174 SBY JI Kutei No 11 SURABAYA Tel 68172 Telex 31146 BERSAL SB Cable BERSAL SURABAYA A EMP IRAQ Hewlett Packard Trading S A Service Operation Al Mansoor City 9B 3 7 BAGHDAD Tel 551 49 73 Telex 212 455 HEPAIRAQ IK CH CS IRELAND Hewlett Packard Ireland Ltd 82 83 Lower Leeson Street DUBLIN 2 Tel 0001 608800 Telex 30439 A CH CM CS E M P Cardiac Services Ltd Kilmore Road Arlane DUBLIN 5 Tel 01 351820 Telex 30439 M ISRAEL Eldan Electronic Instrument Ltd P O Box 1270 JERUSALEM 91000 16 Ohaliav St JERUSALEM 94467 Tel 533 221 553 242 Telex 25231 AB PAKRD IL A Electronics Engineering Division Motorola Israel Ltd 16 Kremenetski Street P 0 Box 25016 TEL AVIV 67899 Tel 3 88 388 Telex 33569 Motil IL Cable BASTEL Tel Aviv CH CM CS E M P ITALY Hewlett Packard ltaliana S p A Traversa 99C Via Giulio Petroni 19 1 70124 BARI Tel 080 41 07 44 M Hewlett Packard Italiana S p A Via Martin Luther King 38 111 1 40132 BOLOGNA Tel 051 402394 Telex 511630 CH E MS Hewlett Packard Italiana
89. ice driver address table and device drivers themselves are called directly by the interface driver they must be resident within the Same map This poses a few restrictions on the number and location of these modules The interface driver requires approximately 1400 words of memory so up to 600 words are left in a standard two page driver partition for the device driver address table and the device drivers If this is not enough room either the driver partition can be changed to three or more pages or one or more device drivers and the table may be relocated into Table Area I If DVTB is relocated into Table Area I all device drivers will be forced to Table Area I The disadvantages are that the user available space in the System is reduced If the driver partition size is increased the size of the largest available user partition is reduced by an equal amount and the Size change must be an incremental number of pages If the modules are relocated in Table Area I the actual space used may not take away from user Space unless a page boundary is crossed in which case a page will be taken away from the largest available user partition Device drivers relocated in Table Area I will take space otherwise used as System Available Memory In the RTE IVB operating system only these two methods of gaining space for device drivers will guarantee that the device driver and interface driver will be in the same map and be mapped properly to handle all user re
90. ices may be made transparent to user programs Applications programmers need only concern themselves with reading or writing data to a standard device while the device driver takes care of the control needed for the exotic device the program is actually communicating with Some devices may be customized by using different device drivers for different tasks Printing terminals may be made to look like line printers to the user program by writing a device driver to translate column one carriage control into the proper escape sequences for the terminal A different device driver may then be used when an interactive terminal is desired These various device drivers may be dynamically switched in and out by the user program or by the system manager when required A single driver written to control a large number of different devices through a common type of interface would be very large Requiring the use of this driver would penalize users who only need a few of these devices By using device drivers a system manager need only include the driver code needed for the devices on the system thus saving space for other uses Interface Tasks To write efficient device drivers it helps to have an understanding of the responsibilities of the other components in the I O interfacing subsystem In the HP 12792B Multiplexer Subsystem the HP 12792B MUX interface card is primarily responsible for sending and receiving characters on the RS 232 C line and for ha
91. in the modem panel and the multiplexer and its driver need only to take care of the passive functions For example when using modems if the modem line is disconnected the condition is detected by the modem panel not the multiplexer Be aware that if a user logs on under an RTE session and the line is disconnected before the user logs off anyone dialing into that port will be re connected to the session in progress at the time of the previous disconnect Appendix Device Equipment Table The HP 12792B Multiplexer Subsystem requires a Device Equipment Table EQT entry for each port on the multiplexer The entry consists of 15 words plus an extension of 17 words or a total of 32 words The EQT entry is configured into the RTE Operating System at system generation time During svstem operation the device and interface drivers receive channel configuration instructions and passes information to each other through the EQT entry for that channel Table A 1 provides the function at each word in the Equipment Table Entry in RTE IVB and RTE 6 VM operating systems Table A 1 Equipment Table Entry EQT Words 1 8 standard in the RTE operating environment the status word bits 7 0 describe the channel s status unless it is altered by a device driver Bit 7 Last request timed out Bit BREAK key hit Bit EOT control D entered Bit Modem line down Bit Parity error or overflow Bit Type ahead data available Bit Program scheduling en
92. is defined as follows Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Time out if the driver was entered on a time out this bit will be set on entry to the device driver Break if the 12792B Multiplexer card received a break character from the terminal during the last operation this bit will be set EOT The End Of Tape bit will be set if an EOT 004 octal was received during the last read Modem line is down PE OV the Parity Error Overflow bit will be set if either one of these conditions occurred on the last read 4 11 Bit 2 Type ahead data this bit will be set if type ahead data is available on the card Bit 1 Schedule this bit indicates that program scheduling on unsolicited interrupt has been enabled interface driver control function 20B Bit 0 Bit O is not currently used The above definitions apply whenever the device driver is entered from the interface driver The device driver is free to change any of the status bits if emulation of other driver types is desired On a user request complete exit from the device driver the status bits EQT word 5 will be passed to the user program in the A Register EQT word 6 and device driver EQT extent word 2 contain the current request word which is defined as follows Bits 15 14 Request type 00 standard user request 01 automatic buffered user request request buffer is in system available memory 10 a system request XSIO 11 user Class I O request reque
93. is not a supported involved in interfacing to It is intended as an functioning product 0001 0002 0003 0001 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 4 24 ASMB Q MULTIPLEXER DEVICE DRIVER FOR SPLIT SCREEN OPERATION OF A 264X TERMINAL LEFT HALF OF SCREEN IS SUBCHANNEL 0 RIGHT HALF IS SUBCHANNEL 1 FUNCTION IS OTHERWISE DVMOO THIS DEVICE DRIVER WILL SET THE MARGINS FOR LEFT OR RIGHT HALF OPERATION AND POSITION THE CURSOR TO IT S LAST KNOWN POSITION IN THE APPROPRIATE HALF OF THE SCREEN ACCORDING TO THE SUBCHANNEL ADDRESSED ON EACH OPERATION 00000 NAM DDS00 8 SPLIT SCREEN DEVICE DRIVER ENT DDSOO EXT CFER 00000 A EQU 0 00001 B EQU 1 01663 EQTH EQU 1663B 01664 EQT5 EQU 1664B 01667 EQT8 EQU 1667B 01773 EQT14 EQU 1773B 00000 000001R DEXAD DEF DEX01 00001 000000 DEX01 NOP PHYSICAL RECORD LENGTH 00002 000000 DEX02 NOP EQT6 COPY 00003 000000 DEX03 NOP EQT7 COPY 00004 000000 DEXO4 NOP EQT8 COPY 00005 000000 DEX05 NOP CURRENT SUB CH O ROW WORD 1 00006 000000 DEX06 NOP WORD 2 00007 000000 DEX07 NOP CURRENT SUB CH O COL WORD 1 00010 000000 DEXO8 NOP WORD 2 00011 000000 DEX09 NOP CURRENT SUB CH 1 ROW WORD 1 00012 000000 DEX10 NOP i WORD 2 00013 000000 DEX11 NOP CURRENT SUB CH 1 COL WORD 1 00014 000000 DEX12 NOP WORD 2 00015 000000
94. isconsin Hewlett Packard Co 150 S Sunny Slope Road BROOKFIELD Wi 53005 Tel 414 784 8800 A CH CS E MP URUGUAY Pablo Ferrando S A C e l Avenida Italia 2877 Casilla de Correo 370 MONTEVIDEO Tel 80 2586 Telex Public Booth 901 A CM E M VENEZUELA Hewlett Packard de Venezuela C A 3RA Transversal Los Ruices Norte Edificio Segre 1 2 amp 3 Apartado 50933 CARACAS 1071 Tel 239 4133 Telex 251046 HEWPACK A CH CS E MS P Hewlett Packard de Venezuela C A Calle 72 Entre 3H y 3Y No 3H 40 Edificio Ada Evelyn Local B Apartado 2646 4001 MARACAIBO Estado Zulia Tel 061 80 304 GE Hewlett Packard de Venezuela C A Calle Vargas Rondon Edificio Seguros Carabobo Piso 10 VALENCIA Tel 041 51 385 CH CS P Bioelectronica Medica C A Calle Buen Pastor Edif Cota Mil Piso 2 y Semi Sotano 1 Boleita Norte Apartado 507 10 CARACAS 1050A Tel 239 84 41 Telex 26518 ZIMBABWE Field Technical Sales 45 Kelvin Road North P B 3458 SALISBURY Tel 705 231 Telex 4 122 RH CEMP July 1983 Indicates main office HP distributors are printed in italics 5952 6900 LA Baccano HEWLETT PACKARD COMPANY MANUAL PART NO 5955 8867 Data Systems Division Printed in U S A January 1983 11000 Wolfe Road E0183 Cupertino California 95014
95. its interrelationships with HP 1000 products The User Interface outlines the control functions used to perform data transfers to and from external devices in addition to the control functions necessary to accomplish I O control Examples are provided for each control request Using the features of the multiplexer and error handling recovery is covered in Chapter 3 Using The Multiplexer The Device Driver chapter is directed at the advanced programmer who is experienced with Assembly language It provides the user with a tutorial on device driver writing The Device Specific Considerations chapter explains the interfacing requirements for using a non HP device in the multiplexer subsystem iii iv Table Chapter 1 Overview Chapter 2 User Interface General Considerations e gt Request Code Control Word Funetion Code e e e e e e e e e e e e e Logical Unit Number a a n I O Requests Standard I O EXEC Calling Sequences EXEC Calls From Assembly Language EXEC Calls From FORTRAN EXEC Calls From PASC EXEC Call Parameters Control Requests To Device Initializatio Interface Driver Con Function Code 6B AL e e e e e e e e e e aa a The MUX oes Yet ne n ra Aer LO one val 22 trol Requests Dynamic Status Function Code 10B Loop Test Function Code 12B Function Code 20B Function Code 21B Function Code 22B Set Timeout Function
96. iver 3 3 A register 4 3 A register return 4 6 B Register 4 3 B Register return 4 7 Index 7 INDEX MULTIPLEXER concept 4 1 concept device driver 4 1 device address table 4 13 device driver 4 14 device driver EQT word 1 return 4 7 device driver EQT word 2 return 4 7 device driver EQT word 3 return 4 7 device driver EQT word 1 return 4 7 DMA 4 3 DVMOO 4 2 EQT word 5 4 7 EXEC call handling 4 3 exit command 4 8 memory requirements 4 14 program scheduling 3 3 read function modifiers 4 8 request timer return 4 7 return to the interface driver 4 6 RTE 4 3 status for user 4 7 system abort requests 4 5 tasks general description 4 2 tasks interface control 4 2 tasks operating system interface 4 3 transmission log 4 3 use 4 1 user request and continuation entries 4 6 user transmission log return 4 7 write function modifier bits 4 8 write function modifiers 4 8 L Line printer device carriage control 4 3 driver 5 2 driver DDV12 5 2 M Margin setup case study 4 15 Memory requirements requirements interface driver 4 14 Minor tasks case study 4 16 Modems 1 4 limitations 5 4 session environment 5 4 support 5 4 Modes normal mode 3 1 Modes type ahead 3 1 Multiplexer interface responsibilities 4 2 Index 8 MULTIPLEXER N No type ahead mode example 3 5 general 3 5 standard RTE mode 3 5 Normal mode general description 3 1 0 Operation flo
97. iver from the device driver the A Register bits 2 0 must be set up with the exit command The exit command definition is similar to the RTE definition for the A Register for a standard driver on return to RTE The exit command definition is as follows Exit command if entered with a new user request A Register bit 15 1 on entry 0 start request in device driver extent words 2 4 B Register time out value 10s ms user I O request is illegal give IOOT error user control request is illegal ignore it I O device not ready down it and print IONR message user request completed immediate completion B Register transmission log start request same as 0 Q N uuu E T 5 Exit command if entered after completion of a device driver request A Register bit 15 equals 0 on entry 0 user request is complete B Register transmission log I O device not ready down it and give IONR message 2 end of transmission EOT reached down device and give IOET message 3 parity error down device and give IOPE message 4 device time out down device and give IOTO message 5 new request in device driver EQT extent words 2 4 B Register time out value 10s ms Function Modifier Error type exit commands new request 1 2 and 3 or continuation entry 1 2 3 and 4 are simply passed to RTE in the A Register by the interface driver Action taken program abort print error message etc is determined by RTE the sam
98. iver is written to not set the margins or position the cursor when the subchannel addressed is the same as the previous subchannel It is assumed that the cursor and margins will remain in position between sequential requests to the subchannel In order to implement this step the device driver saves the last addressed subchannel in the device driver EQT extent Finally the device driver patches the equipment type code into EQT word 5 This patch will take place only the first time the device driver is accessed for any particular EQT Since either subchannel most closely resembled type 00 devices to the user the equipment type used is 00 This step is included for illustration only When any Select New Device Driver request is made CN LU 33B XXXXXn where bits 3 0 0 the driver is reset to 00 Device Driver Operation Functionally the device driver makes a series of tests on each entry to determine the action required Processing a user request is a sequence of actions that generally fall in the following order Position left or right margin Set margin Position other margin Set margin Position cursor Perform user request Request cursor position Read cursor position Save cursor position Each action is handled by a separate routine that saves the address of the next routine in the device driver EQT extent so that execution moves in a step by step fashion on each continuation entry to the devi
99. junction with either full type ahead or type ahead with scheduling 3 6 Error Recovery Dynamic status checking I O status checking allow the user to check on the status of a multiplexer port for normal processing and error checking I O status can provide the user with two of the device status words EQT5 and EQTH and an LU status word Dynamic status checking provides the user with the port s status and the length of any type ahead data if present Function code 6B is described in Chapter 2 User Interface All errors associated with the Mux will appear as time outs parity error or overflow Parity and overflow errors are indistinguishable As soon as an error is encountered the user s buffer is flushed However if a pending read or a time out occurs the status returned will indicate a parity overflow error I O Status I O Status The I O status request using a request code ICODE of 13 calls the RTE operating system to provide information contained in system tables This EXEC call is not a call to the interface driver and therefore may not return the current status of the port The LU number of the port must be specified in the control word ICNWD additional parameter is required and two more are optional One two or three words are returned to the user s progran in the parameters passed Table 3 1 lists the I O status request returns A sample calling sequence for LU 41 is shown below ICODE
100. l 01 207 5000 Telex 89527 16 E CH CS P Hewlett Packard Ltd Oakfield House Oakfield Grove Clifton BRISTOL Avon BS8 2BN Tel 0272 736806 Telex 444302 CH CS E P Hewlett Packard Ltd Bridewell House Bridewell Place LONDON EC4V 6BS Tel 01 583 6565 Telex 298163 CH CS P Hewlett Packard Ltd Fourier House 257 263 High Street LONDON COLNEY Herts AL2 1HA St Albans Tel 0727 24400 Telex 1 8952716 CH CS Hewlett Packard Ltd Pontefract Road NORMANTON West Yorkshire WF6 1RN Tel 0924 895566 Telex 557355 CH CS P Hewlett Packard Ltd The Quadrangle 106 118 Station Road REDHILL Surrey RH1 1PS Tel 0737 68655 Telex 947234 CH CS E P GREAT BRITAIN Cont d Hewlett Packard Ltd Avon House 435 Stratford Road Shirley SOLIHULL West Midlands B90 4BL Tel 021 745 8800 Telex 339105 CH CS E P Hewlett Packard Ltd West End House 41 High Street West End SOUTHAMPTON Hampshire S03 3DQ Tel 04218 6767 Telex 477138 CH CS P Hewlett Packard Ltd Eskdale Rd Winnersh WOKINGHAM Berkshire RG11 5DZ Tel 0734 696622 Telex 848884 E Hewlett Packard Ltd King Street Lane Winnersh WOKINGHAM Berkshire RG11 5AR Tel 0734 784774 Telex 847178 A CH CS E M MP P Hewlett Packard Ltd Nine Mile Ride Easthampstead WOKINGHAM Berkshire 3RG11 3LL Tel 0344 773100 Telex 848805 CH CS E P IRELAND NORTHERN IRELAND Hewlett Packard Ltd Cardiac Services Building 95A Finaghy Road South BELFAST BT
101. ndling line protocol When enabled to do so it handles the ENQ ACK line protocol to prevent terminal buffer overruns it transmits and receives the characters to and from the terminal at the baud rate for which it has been set by the driver and it automatically packs the eight bit characters into 16 bit data words for efficient DMA transfer to the computer unpacks the 16 bit words into eight bit bytes for the terminal The card treats the parity bit as described in the Interface Support statement in the Multiplexer Configuration Guide and notifies the driver when incorrect parity has been received Interface Driver Tasks Interface Control The interface driver DWMOO for the 12792B multiplexer subsystem responsible for controlling the MUX interface card via assembly level I O instructions to the computer 1 0 backplane The driver interprets user requests to properly initialize the card for baud rate parity character length number of stop bits etc Also it initializes and starts DMA transfers between the computer memory and the card Operating System Interface The interface driver receives EXEC level user requests from the RTE operating system and passes them to the device driver for further processing The interface driver processes requests from the device driver returning to the device driver on each request completion The interface driver requests a DMA channel from the RTE operating system when a data transfer is require
102. ng 2 3 Kaigan dori Chome Chuo ku KOBE 650 Tel 078 392 4791 Yokogawa Hewlett Packard Ltd Kumagaya Asahi 82 Bldg 3 4 Tsukuba KUMAGAYA Saitama 360 Tel 0485 24 6563 CH CM E Yokogawa Hewlett Packard Ltd Asahi Shinbun Daiichi Seimei Bldg 4 7 Hanabata cho KUMAMOTO 860 Tel 0963 54 7311 CH E Yokogawa Hewlett Packard Ltd Shin Kyoto Center Bidg 614 Higashi Shiokoji cho Karasuma Nishiiru Shiokoji dori Shimogyo ku KYOTO 600 Tel 075 343 0921 CH E Yokogawa Hewlett Packard Ltd Mito Mitsui Bidg 4 73 Sanno maru 1 Chome MITO Ibaraki 310 Tel 0292 25 7470 CH CM E Yokogawa Hewlett Packard Ltd Sumitomo Seimei 14 9 Bldg Meieki Minami 2 Chome Nakamura ku NAGOYA 450 Tel 052 571 5171 CH CM CS E MS Yokogawa Hewlett Packard Ltd Chuo Bldg 4 20 Nishinakajima 5 Chome Yodogawa ku OSAKA 532 Tel 06 304 6021 Telex YHPOSA 523 3624 A CH CM CS E MP P Yokogawa Hewlett Packard Ltd 27 15 Yabe 1 Chome SAGAMIHARA Kanagawa 229 Tel 0427 59 1311 Yokogawa Hewlett Packard Ltd Daiichi Seimei Bldg 7 1 Nishi Shinjuku 2 Chome Shinjuku ku TOKYO 160 Tel 03 348 4611 CH E Yokogawa Hewlett Packard Ltd 29 21 Takaido Higashi 3 Chome Suginami ku TOKYO 168 Tel 03 331 611 Telex 232 2024 YHPTOK A CH CM CS E MP P Yokogawa Hewlett Packard Ltd Daiichi Asano Building 2 8 Odori 5 Chome UTSUNOMIYA Tochigi 320 Tel 0286 25 7155 CH CS E Yokogawa Hewlett Packard Ltd Yas
103. ng a read request This is useful in type ahead initialization If bit 7 in the driver configuration word control 33B is not set the next read operation will reset the read type See Table 2 2 for a description of the Set Read Type parameter For example to establish a read type with a buffer transfer on a carriage return for LU 41 ICODE 3 ICNWD 3700B 41 ITYPE 100000B CALL EXEC ICODE ICNWD ITYPE OR CN 41 37B 100000B 2 30 Table 2 2 Set Read Type Function 37B Parameter Description Bit Read Type end transfer on a carriage return CR end transfer on a record separator RS end transfer on control D end transfer on DC2 End transfer based on bits 15 12 End transfer based on bits 15 12 End transfer on count using control function 36B Reserved enables input data editing backspace and delete enables input data echoing reserved for future use should be set to zero If Bit 11 is set a control 36B should also be issued to set the length 2 31 2 32 Chapter 3 Using the MUX This chapter describes the features of the HP 12792B Multiplexer Type ahead is explained and the most commonly used type ahead modes are covered Error handling and failure analysis in user written programs are also addressed Normal Mode In the normal non type ahead mode of operation the subsystem will appear identical to other non multiplexed RTE terminal drivers When a port is inactive the
104. ntre 32 Kifissias Ave Paradissos Amarousion ATHENS Greece Tel 682 88 11 Telex 21 6588 HPAT GR Cable HEWPACKSA Athens EASTERN USA Hewlett Packard Co 4 Choke Cherry Road ROCKVILLE MD 20850 Tel 301 258 2000 MIDWESTERN USA Hewlett Packard Co 5201 Tollview Drive ROLLING MEADOWS IL 60008 Tel 312 255 9800 SOUTHERN USA Hewlett Packard Co 2000 South Park Place P O Box 105005 ATLANTA GA 30348 Tel 404 955 1500 WESTERN USA Hewlett Packard Co 3939 Lankershim Blvd P O Box 3919 LOS ANGELES CA 91604 Tel 213 506 3700 OTHER INTERNATIONAL AREAS Hewlett Packard Co Intercontinental Headquarters 3495 Deer Creek Road PALO ALTO CA 94304 Tel 415 857 1501 Telex 034 8300 Cable HEWPACK SALES 8 SUPPORT OFFICES Arranged alphabetically by country ANGOLA Telectra Empresa T cnica de Equipamentos R Barbosa Rodrigues 41 I DT Caixa Postal 6487 LUANDA Tel 35515 35516 EP ARGENTINA Hewlett Packard Argentina S A Avenida Santa Fe 2035 Martinez 1640 BUENOS AIRES Tel 798 5735 792 1293 Telex 17595 BIONAR Cable HEWPACKARG A E CH CS P Biotron S A C I M l Av Paseo Colon 221 Piso 9 1399 BUENOS AIRES Tel 30 4846 30 1851 Telex 17595 BIONAR M AUSTRALIA Adelaide South Australia Office Hewlett Packard Australia Ltd 153 Greenhill Road PARKSIDE S A 5063 Tel 272 5911 Telex 82536 Cable HEWPARD Adelaide A CH CM E MS P Brisbane Queensland Office
105. o 1200 baud The firmware will automatically change it to 300 baud if the systems modem detects that the remote modem is calling in at low speed 300 This is referred to as speed sensing Bits 2 0 Port number of this terminal 0 7 For example to set the port ID of an HP 2621 terminal on channel 0 as LU 41 with a baud rate of 9600 ENQ ACK handshaking enabled and no parity the following control request is issued CN 41 30B 142330B Function Code 31B Connect Line Function code 31B connects amodem line when the systems modem panel is being used Once a Connect Line request has been executed on a given port the user need not do it again unless a power fail occurs or a Disconnect Line request is executed Even if the modem gets disconnected accidently the user will be able to call back and establish the connection However in the case of an auto dialed call the user will have to make a Connect Line request again to perform the auto dialing When the line gets disconnected the action taken by the driver is selected according to the user specification of bits 15 and 14 in function code 33B Connect Line requests can be done from file manager or by EXEC request For example CH LU 31B IPARM1 where IPARM1 is as follows 2 24 Bit 15 No 0 Wait bit completing the request Bits 5 3 Configuration straps for straps will not affect the configuration of the external modem connected to the Bit 0 10 bits 1
106. oad TAIPEI Tel 02 712 0404 Telex 24439 HEWPACK Cable HEWPACK Taipei A CH CM CS E M P Ing Lih Trading Co 3rd Floor 7 Jen Ai Road Sec 2 TAIPEI 100 Tel 02 3948191 Cable INGLIH TAIPEI A THAILAND Unimesa 30 Patpong Ave Suriwong BANGKOK 5 Tel 235 5727 Telex 84439 Simonco TH Cable UNIMESA Bangkok A CH CS E M Bangkok Business Equipment Ltd 5 5 6 Dejo Road BANGKOK Tel 234 8670 234 8671 Telex 87669 BEQUIPT TH Cable BUSIQUIPT Bangkok P TRINIDAD amp TOBAGO Caribbean Telecoms Ltd 50 A Jerningham Avenue P 0 Box 732 PORT OF SPAIN Tel 62 44213 62 44214 Telex 235 272 HUGCO WG CMEMP TUNISIA Tunisie Electronique 31 Avenue de la Liberte TUNIS Tel 280 144 EP Corema 1 ter Av de Carthage TUNIS Tel 253 821 Telex 12319 CABAM TN M TURKEY Teknim Company Ltd lran Caddesi No 7 Kavaklidere ANKARA Tel 275800 Telex 42155 TKNM TR E E M A Medina Eldem Sokak No 4 1 6 Yuksel Caddesi ANKARA Tel 175 622 Telex 42 591 M UNITED ARAB EMIRATES Emitac Ltd P O Box 2711 ABU DHABI Tel 82 04 19 20 Cable EMITAC ABUDHABI Emitac Ltd P O Box 1641 SHARJAH Tel 591 181 Telex 68136 Emitac Sh CH CS E M P UNITED KINGDOM GREAT BRITAIN Hewlett Packard Ltd Trafalgar House Navigation Road ALTRINCHAM Cheshire WA 14 1NU Tel 061 928 6422 Telex 668068 A CH CS E M MS P Hewlett Packard Ltd Elstree House Elstree Way BOREHAMWOOD Herts WD6 156 Te
107. of IPARM as the address of the ID segment of a program to be scheduled on an unsolicited interrupt If the value of IPARM is zero or negative program scheduling is disabled regardless of function code 20B This call will override for this particular port the value set at system generation time This function code is intended for programmatic rather than interactive use A program s ID segment address be found using the system utility subroutine IDGET Care should be exercised that the address supplied is correct and points to an ID segment of a permanently loaded program On return the B register is set to the address of the old ID segment For example if IADDR contains the address of a program s ID segment this program will be scheduled on an unsolicited interrupt IADDX will be set to the previous program ID segment address if the EQT is unbuffered 2 21 ICODE 3 ICNWD 2700B LU CALL EXEC ICODE ICNWD IADDR CALL ABREG TA IADDX OR CN LU 27B TADDR Function Code 30B Set Port ID Function code 30B establishes a logical connection between the logical unit and the physical terminal connected to the interface This function is normally executed from the WELCOM file to initialize and configure ports 0 through 7 but can be done interactively Function code 30B must be given before any other request is given to that port If other commands are sent prior to this function call they may be ignored The value of IPARM fo
108. ol the sending of read configuration information to the card Also see control 37B 00 no change 01 This is a normal read operation The driver examines bits 10 6 of the control word in the user s EXEC request which specifies a unique read request type to the MUX card 10 This will not reconfigure the read operation When bit 7 is set the driver overlooks bits 10 6 and only the device driver or a control 37 can modify the read configuration type Reserved for future use should be set to zero These bits define the device driver attached to this port Device driver number one is the default device driver that is included as part of the interface driver Driver number one passes all of the user s request directly to interface driver Device drivers number two through n n lt 16 are defined at system generation time The device driver address table DVTB is established at generation time and defines the association relation between a device driver number two through n and its device driver refer to Device Driver Address Table in Chapter H For the HP 12792B Multiplexer Subsystem device driver number two defaults to the HP supplied driver DDV12 and device driver number three defaults to HP supplied driver DDVO5 These drivers can be overrridden by the user Exactly one device driver is attached to each port at any time If zero is entered no change is made to configure the driver response for a full type ahead mode on I
109. ommunication to exist The user must understand how requests are mapped in as control requests The user must specify whether the terminal device uses character or block mode handshaking The last consideration requires the user to determine if the terminal device can function using the HP supplied drivers or if it will require a user written device driver Any specialized control which is required by the device not included in the user buffer indicates the need for a user written device driver When functioning with user written device drivers support is also limited to correct passage of EQT extent information to and from the user s device driver and the correct execution of the device drivers requests Dumb Devices If the device requires no additional information beyond what is contained in the user s buffer and does not use DC1 handshaking the device can be considered a dumb device and will be able to operate using DVMOO and the default device driver device driver number one Some devices that are normally considered dumb devices actually require CR LF delays and will require a user written device driver for proper operation One example of these devices is the common Teletype Modems The HP 12792B Multiplexer has no modem control lines but it may be connected to an HP 37214A systems modem subsystem and modem control and 1 0 cards for full duplex asynchoronous modem operation The active control functions of the modem are contained
110. omplicated device driver interface driver interface is provided making it easy for systems programmers to write their own device drivers All that is required beyond the information given in this chapter is a basic familiarity with the flow of I O requests in RTE and a thorough knowledge of the particular device that is being communicated with Device Drivers For HP 12792B Multiplexer The following points should be kept in mind when writing device drivers for the HP 12792B Multiplexer subsystem First all read write and control requests are passed to the device driver by the interface driver for modification before they are sent to the interface card The device driver only has to make read write or control requests to the interface driver the device driver does not issue I O instructions to the interface card The device driver requests are at the EXEC level that is a request word control word as defined for EQT word 6 buffer address and length or optional control request parameters are passed to the interface driver A device driver will typically make several of these requests for each user EXEC request After each device driver request completes the interface driver will return to the device driver for the next request It is up to the device driver to tell the interface driver when the original user request is complete The device driver and interface driver pass parameters back and forth between each other using the and Registers
111. omplished by executing the following three control requests Typically this is done for each terminal from your WELCOM file but can be executed interactively set port ID required function code 30B configure driver responses optional function code 33B enable scheduling optional function code 20B Interface Driver Control Requests Function Code 6B Dynamic Status Dynamic Status can be used to find out the status of the previous request and to determine the length of the type ahead data in the input buffers An example of a dynamic status request to LU 42 is coded as follows ICODE 3 ICNWD 600B 42 CALL EXEC ICODE ICNWD IPARM1 CALL ABREG IA IB If IPARM1 is set to zero the B register will contain the character count of any type ahead data If IPARMI is not set to zero modem related port status will be returned in the B register providing that a modem is being used through the system s modem panel The status bits returned in the A register are defined as follows Bits 15 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit O Undefined Last request timed out Break key hit EOT control D entered on last request Device failure e g modem line down Parity error or overflow detected on last request Type ahead data available length in B register Program schedule enabled Undefined The modem related status returned in the B register if IPARM1 not zero is defined as follows
112. on 11B line spacing B 2 25B update terminal configuration B 2 Cursor position 4 15 position case study 4 15 tracking 4 16 tracking case study 4 16 Data overrun error 3 8 overrun error read error 3 8 transfers packing 4 2 transfers parity 4 2 DC1 DC2 5 2 DC1 DC2 handshaking 5 2 DDVO5 vs DVRO5 comparison B 1 DDVO5 block line mode B 1 block mode terminal device driver 4 4 block page mode B 1 block read 4 4 character mode 4 4 B 1 control request definition B 2 data transfers 5 2 DC1 DC2 4 4 editing 4 4 handshaking requirements 5 2 I O requests B 2 line spacing B 2 read requests B 3 special I O considerations B 3 status checking 4 4 subchannel assignment B 2 terminal driver 5 2 update terminal configuration B 2 user interface for 26XX terminals B 1 write requests B 3 carriage control 4 3 4 changing device type 4 3 control request processing 5 functional overview B l limitations 5 2 DDV12 line printer driver 5 2 line spacing B 5 normal print mode B 4 paper advance B 5 transparent mode selection B 5 print mode 4 write request processing 4 INDEX Index 3 INDEX MULTIPLEXER Device driver 26XX sereen mode device driver B 1 7310 line printer device driver 4 A register 4 6 adding device drivers 4 13 address table DVTB 4 13 address table format 4 14 address table general description 4 13 address table valid device driver labels 4 14 B Regis
113. onstrates the read modifier on a write request 4 22 SENCU DEF 1 ADDRESS OF THE ROUTINE STB EQT8 I SAVE TRANSMISSION LOG IN EQT 8 LDA BNWT SET UP BINARY WRITE STA DEXO2 I DEVICE DRIVER EQT EXT LDA SENCA GET ADDRESS OF CURSOR SENSE STA DEXO3 I FOR DD EQT EXT LDA SENSL GET LENGTH FOR SENSE COMMAND STA DEXOH I PUT IT IN THE DD EQT EXT LDA MODX1 WRITE MODIFIER EXIT COMMAND LDB RDCUS GET THE ADDRESS OF NEXT JMP CRTN RETURN TO INTERFACE DRIVER Final Completion Return to the Interface Driver Completion is signified on return to the interface driver by a zero in the A Register and the user request transmission log in the B Register LDB EQT8 I RETRIEVE TRANSMISSION LOG CLA SET COMPLETION EXIT COMMAND JMP DDSOO I RETURN TO INTERFACE DRIVER EQT8 EQU 1667B Device Driver Address Table The following device driver address table is required to include the device driver with the interface driver at generation time ASMB Q NAM DVTB 8 DEVICE DRIVER ADDRESS TABLE ENT DVTB EXT DD300 DEVICE DRIVER ADDRESS TABLE DVTB DEC 1 NUMBER OF ENTRIES IN TABLE DEF DDSOO 0 ADDRESS OF DEVICE DRIVER 2 END The device driver is then selected via a control function 33B 000002 request to the interface on either the subchannel O or 1 LU 4 23 Sample Device Driver Listing The following sample device driver is given procedures Driver DVM00 to illustrate the various the 12792B Multiplexer Interface example only and
114. or device by LU number when you use the TO command specify the channel by the EQT number The TO command checks for a lower limit of 500 milliseconds but function code 22B does not The timer specifies the number of tens of milliseconds to wait for keyboard input If this time is exceeded before a user keyboard input completes the driver sets bit 7 in the terminal s status byte and returns to the caller with a zero length transmission log For example to set the timeout of LU 41 to 25 seconds ICODE 3 ICNWD 2200B 41 ITO 100 25 REG EXEC ICODE ICNWD ITO OR CN 41 22B 2500 2 20 Function Code 26B Flush Input Buffer Function code 26B instructs the interface card to clear any data from the channel s input buffer which might have accumulated in the type ahead mode The value of IPARM indicates whether only the active buffer IPARM 0 or all of that port s receiving buffers IPARM 1 should be cleared Function code 26B ensures the user that the information requested is what is obtained eliminating the possibility of processing any outstanding data previously entered To flush only this channel s active buffer use IPARM O Setting IPARM 1 will flush the two 25 byte input buffers on this port For example to flush the two input buffers on LU 41 ICODE 3 ICNWD 2600B 41 IPARM 1 CALL EXEC ICODE ICNWD IPARM OR CN 41 26B 1 Function Code 27B Set Program Address Function code 27B saves the value
115. ough some limitations are no vertical form feed except top of form no over print carriage control in col 1 no status requests DDVO5 Terminal Driver When using the HP 264X terminal in the Multiplexer subsystem the device expects to see 8 bits per character data transfers Users wanting to communicate with 264X or 262X terminal with parity checking should configure the interface card for a 7 bits per character data transfer or without parity use 8 bits per character The 264X terminals require handshaking with the ENQ ACK protocol in order to preserve data integrity These terminals use a block mode handshaking scheme with the CPU receiving DC1 DC2 protocol A DC1 must be detected before the information can be sent across the line 5 2 Black Box Considerations In order to connect a black box RS 232 C or RS 423 A device to the HP 12792B Multiplexer Interface the following three criteria must be examined RS 232 C and RS 423 A Capability Handshaking Driver Considerations HP offers support to most RS 232 C and RS 423 A compatible devices HP support is limited to correct passage of user s data to and from the user s buffer and from and to the specified multiplexer channel data links with insertion and deletion of specifying characters and parity information The user should be aware of the line protocol control sequences and handshaking used by the device The line protocol must match in order for two way c
116. ous I O control operations Input output and control requests to the multiplexer are generally in the form of RTE EXEC calls while control requests can be initiated either from EXEC calls or by using the file manager CN command EXEC calls can be made from Assembly Language programs or from higher level languages such as FORTRAN and PASCAL Request Code Parameter ICODE identifies the type of EXEC call request There are eight types of EXEC calls described in this manual four normal I O EXEC calls and four Class I O EXEC calls STANDARD EXEC CODE PARAMETERS ICODE 1 READ REQUEST ICODE 2 WRITE REQUEST ICODE 3 CONTROL REQUEST ICODE 13 I O STATUS REQUEST CLASS I O EXEC CODE PARAMETERS ICODE 17 READ REQUEST ICODE 18 WRITE REQUEST ICODE 20 WRITE READ REQUEST ICODE 19 CONTROL REQUEST Control Word Control word ICNWD contains a five bit function code and the logical unit LU number of the device to which the user request is directed It is Structured as follows 15 10 6 5 0 0 0 00 OFX A K V MIL L L L L L kcsr nsttonse unit code number Function Code The octal value of the required function code is provided for each of the request descriptions in the following sections The user may choose any of the methods described in this chapter to set the value of bits 10 through 6 of control word ICNWD For example if the function code value is octal 6 add 600B to the value of the LU number The MUX
117. pret the first character of each line carriage control character The DDV12 device driver examines the user s first character and sends the proper control character sequence to the printer The first character is then stripped from the data and the data is sent to the printer The device driver also changes the driver type in the EQT to type 12 for lineprinters Block Mode Terminal Device Driver DDV05 The device driver DDVO5 allows utilization of the block mode read capabilities of an HP 264X or 262X terminal The first time a read request is made to the terminal its status is read to determine whether it is in block or character mode When a user read request is made the device driver first issues a write to the interface driver to send a DC1 to the terminal If the terminal is in block mode the device driver issues a read to the interface driver and examines the first returned character If the character is a DC2 the device driver knows that the terminal is in block mode and trying to send data to the interface read is then issued for the user buffer length with echo and character editing turned off If the returned character is not DC2 the user program had probably issued a program enabled block read escape lower case d and the program s data is in the buffer just read If the terminal is in character mode the user s request is executed as is after the DC1 is sent to enable the softkeys Device Driver Interface An unc
118. quests The interface driver and device drivers and table could be all relocated into the system driver area SDA More space is available to users but large background programs will not be able to make unbuffered requests to the driver 4 18 Case Study A Device Driver Writing Example The following is an example of device driver writing that illustrates some of the problems solutions and steps involved in writing a Lypical device driver The device driver in this example is written to make a terminal look like two separate terminals sharing the keyboard and splitting the screen into two separate areas Task Definition The tasks involved in interfacing with a device using a device driver should be clearly defined and broken down into a sequence of logical steps In this example the object is to make an HP 26XX terminal appear as two terminals for read and write requests Requests made to an LU defined as an EQT subchannel O will go to the left half of the terminal display and requests to subchannel 1 will go to the right half of the display Three major tasks are defined for the device driver while the interface driver handles the user s actual read or write request The three tasks all involve sending specific character sequences to the terminal for initialization in a classic device driver application Margin Set Up The first task is to set the left and right margins on the terminal to keep the following text on the respective
119. r function code 30B is defined as follows Bits 15 14 bits per character for transmission and reception This does not include parity 0 5 bits char 2 6 bits char 1 7 bits char 3 8 bits char Bit 13 1 Enable this port as a modem LU 0 Do not enable this port as a modem LU CAUTION Do not set bit 13 if you are not using a modem in the port since setting this bit causes port 7 to be assigned to the 37214A Systems Modem Card Cage prohibiting its port 7 use as a hardwired port Conversely if you want to use a modem with the Systems Modem do not configure port 7 with a function code 30B Bit 12 Baud rate generator for this port 0 1 baud rate generator 0 baud rate generator 1 Bits 11 10 stop bits 11 data transfers to and from the interface card require a delay between each character For all asynchronous transfers there is always at least one stop bit 0 1 1 1 2 bits 2 bits reserved 2 1 bit 3 2 22 Bits 9 8 Bit 7 Bits 6 3 Parity select 0 none 2 none 1 odd 3 even 1 ENQ ACK handshake enabled 0 ENQ ACK handshaking disabled Baud rate 0 no change 8 1800 1 50 9 2100 2 75 10 4800 110 11 9600 134 5 12 19200 5 150 13 reserved 6 300 14 reserved 7 1200 15 reserved NOTES for Bits 6 3 1 The 19200 baud rate is not supported on eight channels simultaneously since it would exceed the maximum throughput of the card 76
120. ram scheduling is an optional feature which must be enabled to operate via a control request Function code 20B enables the driver to schedule a program on interuupt and function code 21B disables it The program to be scheduled can be specified at generation or through function code 27B Function code 27B allows programmatic scheduling of MUX port programs where the address of the program s ID segment is stored as a parameter value in the call statement This program will override any program for the port that was designated when the system was generated There are several events that can cause an interrupt which will schedule the progranm for the MUX port as described below refer to function code 33B bits 13 12 a When the port has been set to normal mode it requires that either any character key or the BREAK key on a terminal keyboard is struck the character struck will be ignored or a character or BREAK is received from a device b When the port has been set to type ahead mode it requires the receipt of a BREAK to schedule the program because any characters received will be saved in the port s data buffers c The port ean also be configured to schedule the program on receipt of a buffer of data from the device This type ahead with scheduling mode will also recognize the BREAK key A program scheduled by one of the above events is run with the CPU s B register pointing to word of the EQT entry that corresponds to the port
121. rd data type CASE int of 1 bits bit def this double definition 2 word int allows the user to access the information bit by bit end or as a word control word int sub function word def a reg word def b reg word def S1 text procedure rte exec call alias EXEC request code int var control request int var subfunction word def external procedure get the a b registers alias ABREG var a word def var b word def external procedure initialize sub function begin initialize optional parameters sub function bits bit 15 sub function bits bit 14 sub function bits bit 13 sub function bits bit 12 sub function bits bit 11 sub function bits bit 10 sub function bits bit 9 sub function bits bit 8 sub function bits bit 7 sub function bits bit 6 sub function bits bit 5 sub function bits bit 4 sub function bits bit 3 sub function bits bit 2 sub function bits bit 1 sub function bits bit 0 ee oo n vu W ow Hu SG 0E MON H MOU MON df H NU H wo we 99 GO we Vo we we we we we WO we we we end begin ini sub_function bits bit 1 sub_function bits bit 3 sub function bits bit 5 sub function bits bit 7 sub function bits bit 9 con con pla beginning of main program tialize sub function set the appropiate bits in the optional parm uu
122. rom PASCAL An EXEC call may be coded in PASCAL 1000 either as a procedure or asa function If it is coded as a function the return value type must be a two word type to return the values of both the A and B Registers The PASCAL 1000 compiler does not treat an EXEC call in any special manner Therefore it is possible to call EXEC directly if an external declaration has been made with a set of formal parameters If the HEAP 2 compiler option is used then the HEAPPARMS option must be OFF for EXEC external declarations with VAR parameters An example of EXEC call in PASCAL is as follows program muxex const EXEC 3 a control request lu control request code 3 is placed on LU 19 The 16 bit control word is stripped shift left six bits 64 of bits 15 11 so that the function eode bits 10 6 lu number 19 can be examined In this ease the function code 6 function code 26 is placing a status request to LU 19 1 type int 32768 32767 single word integer type bit 0 1 single bit type bit def packed record bit data type bit 15 0 1 This allows the user to bit 14 O 1 access each bit field bit 13 0 1 individually bit 12 0 1 bit 11 0 1 bit 10 0 1 bit 9 0 1 bit 8 O 1 bit 0 51 bit 6 0 1 bit 5 0 1 bit 4 0 1 bit 3 0 1 2 9 bit_2 s bit 1 0 1 bit 0 0 1 end word def record wo
123. s a a sch c3 2 o v struct the control word trol word lu number function code shift left six bits ce the RTE EXEC call rte exec call lu control request code control word sub function get the a b registers a reg b reg beg in examine the A register for the status of this channel reset S1 1 t if a reg bits bit 15 0 then if a reg bits bit 14 0 then writeln S1 unit available for use else writeln Sl unit disabled else if a reg bits bit 14 0 then writeln S1 unit currently in operation else writeln S1 unit waiting for DMA channel end 2 11 end end of PASCAL example It may be necessary or desirable to use aliases for each EXEC service used in a program for the following reasons The name EXEC represents an entire class of services A program using EXEC calls will be more readable if a descriptive PASCAL 1000 name is given to each service Each EXEC service requires a different set of parameters Some services e g EXEC 11 have optional parameters Each PASCAL 1000 routine must have a specific set of parameters EXEC Call Parameters Request code ICODE and control word ICNWD in that order are the first Lwo parameters of an EXEC call Other parameters when needed are described for each request in the following sections Control Requests To The MUX Control requests have the following general format CALL EXEC ICODE IC
124. s in the system but one EQT should be reserved for the system console and one for the disc multiplexer does not offer system console support To increase the throughput of the MUX card direct memory access DMA is used The MUX requires that DCPC is installed in the system CPU and in any I O extender box that contains a MUX card If all DMA channels are busy and none can be allocated to the terminal device channel within a 160 millisecond timeout period the interface driver performs the read write function on a word by word basis The word by word transfers are broken into 64 character blocks The HP 128284 Multiplexer Panel contains eight RS 232 C ports This standard accessory panel is hardwired connecting port Oto one baud rate generator and ports one through seven to the other baud rate generator The multiplexer panel is connected to the MUX card and can be at the CPU with the standard cable or up to 91 metres 300 feet away from the CPU with custom cabling RS 232 C compatible devices can then be connected to the multiplexer panel by cables less than 39 7 metres 50 feet in length The MUX will support asynchronous full duplex modems through Lhe systems modem HP 37214A Card Cage and modem cards 1 4 Chapter 2 User Interface General Considerations This section describes the driver as seen by the user Standard I O EXEC calls are used to transfer data to and from external I O devices in addition to performing vari
125. s transmission the unit of signaling Speed corresponding to one unit interval per second that is if the duration of the unit interval is 20 milliseconds the signaling speed is 50 baud Baud is the same as bits per second only if each signal event represents exactly one bit Backspace Control H In the ASCII eode any of the 32 characters in the first two columns of the standard code table Carriage return Control M A device control character which is primarily intended for turning on or starting a peripheral device The host is receiving information Control Q A device control character which is primarily intended for turning on or starting a peripheral device Control R DIRECT MEMORY ACCESS DMA A facility that permits I O transfers directly DUMB DEVICE DUPLEX ECHO ENQ Enquiry EOT HALF DUPLEX INPUT EDITING INTERFACE MODEM PARITY CHECK C 2 into or out of memory independent of the processor Device that processes one unit of information at a time It does not contain its own local processing capability In a smart device this is typieally accomplished with a microprocessor Simultaneous two way independent transmission in both directions Also referred to as full duplex A method of checking the accuracy of transmission of data in which the received data are returned to the sending end for comparison with the original data A transmission control character used as a request
126. st buffer is in system available memory Bits 15 14 are only defined in EQT word 6 They are undefined in the device driver EQT extent word 2 and should be set to zero if the device driver modifies this word Bit 12 Z bit indicates a second buffer is available on a read or write If set EQT word 9 contains the address of the buffer and EQT word 10 contains the length If the Z bit is clear EQT words 9 and 10 contain 1 word optional parameters In the 12792B Multiplexer subsystem the interface driver does not use the double buffering feature it is therefore available to the device driver for use Bits 10 6 Subfunction as defined in the EXEC request section of this manual for the EXEC control word Bits 1 0 Function 01 read request 10 write request 11 control request Bits 13 11 These bits are undefined and should be set to and zero if the device driver modifies the request 5 2 in the device driver EQT extent word 2 4 12 EQT word 7 and device driver EQT extent word 3 is the user buffer address The interface device driver is always entered in the same map as the user buffer so the user buffer address is in the current map EQT word 8 and device driver EQT extent word H is the user buffer length The length is either a positive number of words or negative number of characters EQT word 9 is an optional parameter If the Z bit EQT word 6 bit 12 is set EQT word 9 is the address of a secondary user buffer which
127. status definitions 4 11 subchannel determination 4 20 system abort request 4 5 tasks 4 3 transmission log 4 3 unrecognized control request 4 5 use 4 1 user request 4 3 user written device driver considerations 4 4 valid labels 4 14 writing example 4 15 Device initialization configure driver responses 2 14 enable scheduling 2 14 2 18 set port ID 2 14 Disable schedule example 2 20 general description 2 19 DMA 4 3 DMA interface driver 4 3 Dumb device 5 3 D VM00 interface driver 4 2 Dynamic status character length of any TA data 2 14 general 2 14 port s status 2 14 E Enable scheduling conditions 2 18 example 2 19 general description 2 18 EQT set up on first entry 4 19 word 10 device driver 4 13 word 10 length of secondary buffer 4 13 word 14 device driver 4 13 word 15 device driver 4 13 word 4 subchannel 4 10 Index 5 INDEX word 5 equipment type code and status 4 11 word 5 interface driver 4 7 word 5 status definitions 4 11 word 6 double buffering 4 12 word 6 request types 4 12 word 7 4 12 word 7 device driver 4 12 word 8 4 13 word 8 device driver 4 13 word 9 address of secondary buffer 4 13 word 9 device driver 4 13 EQT modify 4 10 set up on first entry 4 19 word word 1 4 7 word 10 4 6 4 13 word 14 4 6 4 13 word 15 4 13 word 2 4 7 word 3 4 7 word 4 4 7 word 5 4 11 word 7 4 12 word 8 4 13 word 9 4 6 4 13 words 2 4 4 6 4 7 4 10 4 6 6 8 4 6
128. td Notabile Rd MRIEHEL Tel 447 47 455 66 Telex Media MW 649 EP MEXICO Hewlett Packard Mexicana S A de C V Av Periferico Sur No 6501 Tepepan Xochimilco 16020 MEXICO D F Tel 6 76 46 00 Telex 17 74 507 HEWPACK MEX A CH CS E MS P Hewlett Packard Mexicana S A de C V Ave Colonia del Valle 409 Col del Valle Municipio de Garza Garcia MONTERREY Nuevo Leon Tel 78 42 41 Telex 038 410 CH ECISA Jos Vasconcelos No 218 Col Condesa Deleg Cuauht moc MEXICO D F 06140 Tel 553 1206 Telex 17 72755 ECE ME M MOROCCO Dolbeau 81 rue Karatchi CASABLANCA Tel 3041 82 3068 38 Telex 23051 22822 E Gerep 2 rue d Agadir Boite Postale 156 CASABLANCA Tel 272093 272095 Telex 23 739 P NETHERLANDS Hewlett Packard Nederland B V Van Heuven Goedhartlaan 121 NL 1181KK AMSTELVEEN P 0 Box 667 NL 1180 AR AMSTELVEEN Tel 020 47 20 21 Telex 13 216 HEPA NL A CH CM CS E MP P Hewlett Packard Nederland B V Bongerd 2 NL 2906VK CAPELLE A D IJSSEL P O Box 41 NL 2900AA CAPELLE A D IJSSEL Tel 10 51 64 44 Telex 21261 HEPAC NL A CH CS E Hewlett Packard Nederland B V Pastoor Petersstraat 134 136 NL 5612 LV EINDHOVEN P O Box 2342 NL 5600 CH EINDHOVEN Tel 040 326911 Telex 51484 hepae nl A CH E M NEW ZEALAND Hewlett Packard N Z Ltd 5 Owens Road P O Box 26 189 Epsom AUCKLAND Tel 687 159 Cable HEWPACK Auckland CH CM E P Hewlett Packard N Z Lt
129. ter 4 6 base page locations 4 6 case study 4 15 changing device type 4 3 character mode 4 4 concept 4 1 continuation entry 4 19 correct status 4 3 customizing 4 1 DDVO5 4 4 DDV12 4 3 device address table 4 13 device driver address table 4 23 device driver writing example 4 15 double buffering 4 12 dynamic switching 4 1 EQT 4 3 EQT extent binary data reads 4 7 EQT extent general description 4 7 EQT extent pointers set up 4 19 EQT word 1 4 7 EQT word 10 4 6 4 13 EQT word 14 4 6 4 13 EQT word 15 4 13 EQT word 2 4 7 EQT word 3 4 7 EQT word 4 4 7 EQT word 5 4 11 EQT word 7 4 12 EQT word 8 4 13 EQT word 9 4 6 4 13 EQT words 2 4 4 6 4 7 EQT words 4 10 4 6 EQT words 6 8 4 6 equipment type code 4 11 exit commands 4 8 final completion return to the interface driver 4 23 I O considerations 4 4 interface 4 4 interface driver concept 4 1 interface general definition 4 4 location and size of device drivers 4 14 modify EQT 4 10 operation 4 16 operation flow 4 18 output a set up string to terminal 4 20 perform the original user request 4 22 Index 4 MULTIPLEXER INDEX read cursor position 4 22 Read Write control request considerations 4 4 request legality 4 3 request types 4 12 restrictions and requirements 4 5 return routine 4 21 sample listing 4 24 sequence of actions 4 16 set up device driver EQT extent pointer 4 19 set up on first entry 19 Special sequences 4 3
130. ter Previous device driver request transmission log if any The device driver EQT extent words 2 4 are set to the current user request definition These three words are copied from EQT words 6 8 on each new or continuation entry to the device driver See the expanded definitions of the EQT words below Base page locations 1660 through 1672 are the addresses of the current EQT words 1 though 11 and base page locations 1771 through 1774 are the addresses of EQT words 12 through 15 On each entry EQT words 10 and 14 are defined per the RTE definitions expanded below EQT words 9 and 10 READ WRITE optional arameters are defined per RTE on new request entries only A Register bit 15 1 However they are not defined on the subsequent continuation entries If their contents are required by the device driver on subsequent entries they should be saved in the device driver EQT extent on the new request entry Return To The Interface Driver On return to the interface driver the device driver must insure that the proper parameters are passed back to the interface driver The device driver must differentiate between new user request entries and continuation entries as the parameters returned to the interface driver are different for each ease Also the device driver must tell the interface driver when the original user request is complete and set up the correct transmission log and status indications for the calling program On return to
131. tes the user request 3 1 Since keyboard characters are buffered on the card system attention in type ahead mode cannot be gained by striking a terminal key The BREAK key however is not buffered and can be used to obtain system attention Since multi line type ahead is possible two different type ahead modes are available Full type ahead as described above would cause successive read requests to fetch successive lines of text from the multiplexer card This mode is useful for such tasks as text editing and using DBUGR Typing can be done as far ahead of the data processing as allowed by available multiplexer buffer memory up to and not exceeding two records In situations where system response could radically alter a user s next command FMGR error messages for example full multi line type ahead may cause problems The following will illustrate this problem User types ST FILE 8 while tape is moving the user types PU FILE the tape runs out the system downs the device The user hits the BREAK key the system issues a prompt and a read the system rather than FMGR reads the PU command from card buffer and tries to execute the FMGR command In the above example the user merely gets back an OP CODE ERR from the system the first time the request for system attention is made It is possible however for the commands stored on the card to have a disastrous effect on the system The solution to the above problem is
132. the interface driver the following parameter locations are defined A Register Bits 15 3 Function modifier Bits 2 0 Exit command B Register Request timer or user transmission log EQT 5 Bits 7 0 Status for user Device driver EQT extent word 1 Physical record length in characters for read requests if different from user buffer length word 2 Request word as defined for EQT word 6 except that bits 15 11 are not defined and should be zero word 3 Request buffer address word 4 Request buffer length positive number of words or negative number of characters Return To Interface Driver Device Driver EQT Extent The physical record length device driver EQT extent word 1 is used to prepare the 12792B interface card for binary data read requests where the device does not terminate the record with a special character such as carriage return The physical record length must be a positive number of characters If this parameter is not set it defaults to the user buffer length Words 2 4 of the device driver FQT extent may be changed by the device driver to cause the interface driver to execute some other request or they may remain unmodified causing the interface driver to perform the initial user request Remember that on each entry words 2 4 of the device driver EQT extent are restored to the original user request copied from EQT words Return To Interface Driver A Register Exit Command On return to the interface dr
133. to the device driver At this point the device driver can break up the user request into a series of interface requests For example the device driver can instruct the interface driver to wait for a buffer and inform the interface driver of the buffer s destination The information is taken from the appropriate channel buffer and sent to the destination indicated by the device driver Up to 14 device drivers may be used each of which can be associated with one or more devices attached to one of the MUX cards in the system HP supplies two device drivers with the 12792B product DDVO5 26XX terminal screen mode device driver and DDV12 2631 2635 7310 line printer device driver Each MUX interface card contains 16k bytes of random access memory RAM of which 8k bytes are allocated for channel buffers This 8k byte portion of memory is divided so that each channel contains four 254 byte buffers two for transmission and two for reception Each MUX eard provides two on board programmable baud rate generators which control channel transmission speeds ranging from 50 to 19 2k baud The total aggregate throughput must not exceed 78 6k baud This card may be inserted anywhere in the backplane of the CPU unless there is a privileged interrupt fence In this the interface card should be inserted above the fence The maximum number of physical devices which will be supported in the multiplexer subsystem is 61 There are 63 available EQT
134. ubchannel as the right side JSB GTSCH GO GET THE SUBCHANNEL FROM THE EQT STA DEX14 I SAVE IT IN DD EXTENT WORD 14 SLA ODD OR EVEN JMP RMPOS I ODD DO RIGHT FIRST JMP LMPOS I EVEN DO LEFT FIRST Output a Setup String to the Terminal The device driver routines to output various strings of characters that set up the terminal are basically the same They place the request in device driver EQT extent words 2 and exit through a common return routine 4 20 Device driver extent word 2 is set up with a read or write request code word 3 with a buffer address inside the device driver and word H is set up with the buffer length POSITION CURSOR FOR LEFT MARGIN SET LMPOS DEF 41 ADDRESS OF ROUTINE LDA BNWT GET THE CONTROL WORD FOR WRITE W O CRLF STA DEX02 I PUT INTO DD EXTENT LDB DEX14 I GET THE SUBCHANNEL NUMBER LDA LMPA GET THE LEFT MARGIN POSITION ADDRESS POINTER SLB TEST ON SUBCHANNEL INA ODD USE THE OTHER ONE LDA A I GET THE ADDRESS OF THE CHARACTER STRING STA DEXO3 I PUT INTO DD EXTENT LDA CMLNG GET THE CURSOR MOVE LENGTH WORD STA DEXOU I PUT INTO DD EXTENT LDB LMSET GET THE ADDRESS OF THE NEXT ROUTINE LDA MODX1 GET THE WRITE MODIFIER EXIT COMMAND JMP CRTN GO TO THE COMMON RETURN ROUTINE BNWT OCT 000102 CONTROL WORD FOR WRITE W O CRLF LMPA DEF LMPAD ADDRESS OF LEFT MARGIN POSITION TABLE LMPAD DEF LMPAO EVEN SUBCHANNEL POSITION ADDRESS DEF LMPA1 ODD SUBCHANNEL POSITION ADDRESS LMPAO OCT 15446
135. uda Seimei Nishiguchi Bldg 30 4 Tsuruya cho 3 Chome YOKOHAMA 221 Tel 045 312 1252 CH CM E JORDAN Mouasher Cousins Company P O Box 1387 AMMAN Tel 24907 39907 Telex 21456 SABCO JO CH E M P KENYA ADCOM Ltd Inc Kenya P O Box 30070 NAIROBI Tel 331955 Telex 22639 EM KOREA Samsung Electronics HP Division 12 FI Kinam Blag San 75 31 Yeoksam Dong Kangnam Ku Yeongdong P O Box 72 SEOUL Tel 555 7555 555 5447 Telex K27364 SAMSAN A CH CM CS E M P KUWAIT Al Khaldiya Trading amp Contracting P 0 Box 830 Safat KUWAIT Tel 42 4910 41 1726 Telex 22481 Areeg kt CHEM Photo amp Cine Equipment P 0 Box 270 Safal KUWAIT Tel 42 2846 42 3801 Telex 22247 Matin kt P LEBANON G M Dolmadjian Achrafieh P 0 Box 165 167 BEIRUT Tel 290293 MP Computer Information Systems P 0 Box 11 6274 BEIRUT Tel 89 40 73 Telex 22259 C LUXEMBOURG Hewlett Packard Belgium S A N V Blvd de la Woluwe 100 Woluwedal B 1200 BRUSSELS Tel 02 762 32 00 Telex 23 494 paloben bru A CH CM CS E MP P MALAYSIA Hewlett Packard Sales Malaysia Sdn Bhd 1st Floor Bangunan British American Jalan Semantan Damansara Heights KUALA LUMPUR 23 03 Tel 943022 Telex MA31011 A CH E M P MAYLAYSIA Cont d Protel Engineering P 0 Box 1917 Lot 6624 Section 64 23 4 Pending Road Kuching SARAWAK Tel 36299 Telex MA 70904 PROMAL Cable PROTELENG AEM MALTA Philip Toledo L
136. unction code 12B instructs the interface card to immediately terminate its active receive buffer A subsequent read request will read the terminated buffer with the length of the received data returned in the B register i e transmission log If the active receive buffer on the interface card is empty when function code 12B is issued the buffer will be terminated and the driver will be informed as soon as the first character is received The subsequent read request issued will be completed with a transmission log of one byte This control request is useful to read incoming data which is not in a format known to the multiplexer e g ending on lt CR gt lt DC2 gt lt RS gt CNTL D or count In other words if a user does not know how many characters to expect and if the data does not have a record terminator that is recognized by the MUX function code 12B can be used to read the data The following example shows how to read data from a device connected to the multiplexer The length of the incoming data is not known ahead of time and or the record terminator is not recognized by the multiplexer Also the port must be configured to type ahead mode and the character count is set to 254 PROGRAM THE MUX PORT IN TYPE AHEAD MODE amp SPECIFY NOT TO RECONFIGURE THE READ OPERATION ON A READ REQUEST CALL EXEC 3 3300B LU 22200B C C SET THE READ CONFIGURATION TO END ON A COUNT OF 254 ECHO amp EDIT OFF C CALL EXEC
137. upon which the event took place Library functions EQLU or TRMLU can be used by the program to recover the Logical Unit LU of that port This LU can be used later to make I O function code and status calls to that port The library subroutine RMPAR can be used to recover EQT words through 8 Note that both these routines require that the B register set by the driver remain intact 3 3 The programs PRMPT and R PN are used for terminal break mode command processing and are supplied with most RTE systems These programs an example of the use of program scheduling In operation PRMPT is the program which gets scheduled on interrupt from the terminal When invoked it finds the LU of the interrupting port and writes the break mode prompt to that LU It then posts a class read against that port and schedules the program R PN R PN waiting on a class GET receives a command from the user and executes it returning to suspend on the GET call for the next command User supplied programs may be written to process other schedule driven applications These programs may either be included as the program to be scheduled when the system is generated or assigned on line by a control request Common Type Ahead Modes Function code 33B allows the user to provide control requests for the driver responses by manipulating four fields to specify Sixteen different type ahead combinations However the four following combinations are suffici
138. ut output and control into a sequence of assembly level instructions which control and pass data to an interface card through the I O backplane of an HP 1000 computer The interface driver need know nothing about the device that is the eventual source or destination for the data the interface driver only communicates with the interface The device driver modifies user requests to make them compatible with the device The device driver isa subroutine that is called by the interface driver to examine and modify user requests Reasons For Device Driver Interface Driver Use The device driver interface driver concept offers several advantages over the conventional monolithic driver The use of device drivers allows flexibility for system designers and users Many different types of equipment may be controlled by a single type of interface as long as they are electrically compatible and use the same basic line protocol For example any RS 232 C electrical specification asynchronous basic line protocol device may be controlled by the 12792B MUX interface Individual device drivers for each of these devices may be easily written without knowledge of the I O card backplane interface New devices may be added to a system without undertaking the monumental task of writing an entirely new driver The system programmer need only write a subroutine to add the required character sequences to the user data to control the new device Differences between dev
139. uter repairs and maintenance service is done through Computer Maintenance Corp Blue Star Ltd Sabri Complex Il Floor 24 Residency Rd BANGALORE 560 025 Tel 55660 Telex 0845 430 Cable BLUESTAR A CH CM CS E Blue Star Ltd Band Box House Prabhadevi BOMBAY 400 025 Tel 422 3101 Telex 011 3751 Cable BLUESTAR AM Blue Star Ltd Sahas 414 2 Vir Savarkar Marg Prabhadevi BOMBAY 400 025 Tel 422 6155 Telex 011 4093 Cable FROSTBLUE A CH CM CS E M Blue Star Ltd Kalyan 19 Vishwas Colony Alkapuri BORODA 390 005 Tel 65235 Cable BLUE STAR A Blue Star Ltd 7 Hare Street CALCUTTA 700 001 Tel 12 01 31 Telex 021 7655 Cable BLUESTAR AM Blue Star Ltd 133 Kodambakkam High Road MADRAS 600 034 Tel 82057 Telex 041 379 Cable BLUESTAR AM Blue Star Ltd Bhandari House 7th 8th Floors 91 Nehru Place NEW DELHI 110 024 Tel 682547 Telex 031 2463 Cable BLUESTAR A CH CM CS E M Blue Star Ltd 15 16 C Wellesley Rd PUNE 411 011 Tel 22775 Cable BLUE STAR A Blue Star Ltd 2 2 47 1108 Bolarum Rd SECUNDERABAD 500 003 Tel 72057 Telex 0155 459 Cable BLUEFROST AE Blue Star Ltd T C 7 803 Poornima Maruthankuzhi TRIVANDRUM 695 013 Tel 65799 Telex 0884 259 Cable BLUESTAR E Computer Maintenance Corporation Ltd 115 Sarojini Devi Road SECUNDERABAD 500 003 Tel 310 184 345 774 Telex 031 2960 H a SALES 8 SUPPORT OFFICES Arranged alp
140. w device driver 4 18 Output a set up string fo terminal sample code 4 21 Outstanding data 2 21 Overflow error 3 7 error error recovery 3 7 Parity error 3 7 error error recovery 3 7 PASCAL 2 9 PASCAL example 2 9 PRMPT 3 4 PRMPT program scheduling 3 4 Program scheduling B Register 3 3 break key 3 3 EQLU 3 3 EQT word 4 3 3 explanation 3 3 normal break mode 3 3 PRMPT 3 4 programmatic setting 3 3 R PN 3 4 TRMLU 3 3 R R PN 3 4 R PN program scheduling 3 4 Re enable schedule exanple 2 20 INDEX Index 9 INDEX MULTIPLEXER Read cursor position device driver 4 22 cursor position sample code 4 23 errors 3 8 function modifier interface driver 4 8 function modifiers bit field definitions 4 9 function modifiers read configurations 4 9 request 2 5 Request timer interface driver 4 7 types EQT word 6 4 12 Return routine 4 21 routine device driver 4 21 to interface driver A register 4 7 to interface driver B Register 4 10 RTE interface driver 4 3 SAM 4 14 SAM DVTB 4 14 Selected EQT definitions equipment type code and status 4 11 subchannels 4 10 Set port ID baud rate 2 22 2 23 ID ENQ ACK handshaking 2 23 ID example 2 24 ID function code 2 22 ID general description 2 22 ID number of bits char 2 22 ID port number 2 24 ID stop bits 2 22 Set program address example 2 21 general description 2 21 scheduling an unsolicited interrupt 2 21 Set read type configure
141. x 1607 BLOOMINGTON IL 61701 Tel 309 662 9411 CH MS Hewlett Packard Co 1100 31st Street Suite 100 DOWNERS GROVE IL 60515 Tel 312 960 5760 CH CS Hewlett Packard Co 5201 Tollview Drive ROLLING MEADOWS IL 60008 Tel 312 255 9800 Telex 910 687 1066 A CH CM CS E MP Indiana Hewlett Packard Co 7301 No Shadeland Avenue P 0 Box 50807 INDIANAPOLIS IN 46250 Tel 317 842 1000 A CH CM CS E MS lowa Hewlett Packard Co 1776 22nd Street Suite 1 WEST DES MOINES IA 50265 Tel 515 224 1435 CH MS Kansas Hewlett Packard Co 7804 East Funston Road 203 WICHITA KS 67207 Tel 316 684 8491 CH Kentucky Hewlett Packard Co 10300 Linn Station Road 100 LOUISVILLE KY 40223 Tel 502 426 0100 A CH CS MS Louisiana Hewlett Packard Co 160 James Drive East ST ROSE LA 70087 P 0 Box 1449 KENNER LA 70063 Tel 504 467 4100 A CH CS E MS Maryland Hewlett Packard Co 3701 Koppers Street BALTIMORE MD 21227 Tel 301 644 5800 Telex 710 862 1943 A CH CM CS E MS Hewlett Packard Co 2 Choke Cherry Road ROCKVILLE MD 20850 Tel 301 948 6370 A CH CM CS E MP Massachusetts Hewlett Packard Co 1775 Minuteman Road ANDOVER MA 01810 Tel 617 682 1500 A C CH CS CM E MP P Hewlett Packard Co 32 Hartwell Avenue LEXINGTON MA 02173 Tel 617 861 8960 CH CS E Michigan Hewlett Packard Co 4326 Cascade Road S E GRAND RAPIDS Mi 49506 Tel 616 957 1970 CH CS MS Hewlett
Download Pdf Manuals
Related Search
Related Contents
Interactive document summarization Use and Installation Manual For Cassette type fan coil M-Audio ProjectMix I/O User's Manual CDA EVCK4BL cooker hood Coby CX-CD250 Samsung NX500 aparat SMART NX Instrukcja obsługi Manual de montaje Sunchaser - II User Guide - Livin`Lite Recreational Vehicles Copyright © All rights reserved.
Failed to retrieve file