What's Up DOCumentation Robelle Consulting Ltd. Unit 201, 15399-102A Ave. Surrey, B.C. Canada V3R 7K1 Phone: (604) 582-1700 Fax: (604) 582-1799 Date: February 19, 1992 From: Robert M. Green, CEO David J. Greer, President Michael Shumko, Customer Support To: Users of Robelle Software Re: News of the HP 3000, 1992 #1 What You Will Find in This News Memo: News Tidbits Technical Tips LaserJet Lustre Terminal Handshaking Calendar of Events About Robelle Robelle Products: Problems, Solutions, and Suggestions News Tidbits Tape Drive May Damage Tapes. One of our users reports that the high-speed rewind on a 7980 tape drive can damage tapes. He does his stores with the validate option, which rewinds and rereads the tape. He had to rebuild his system from a validated set of backup tapes, but some of the tapes were not readable. He suspects the rewind mechanism. Caveat Emptor. An ad seen in a local computer newspaper, The Computer Paper: Pinhole Readers, opaque glasses with multiple pinholes, "suitable for preventing eyestrain, aging eyes, long-sighted, short-sighted, astigmatism and cataracts." But can it dice and slice? From the Land of Oz. A user sent us an ad that he had seen in Australian Personal Computer. The ad is from a manufacturer of computer monitors, who claims that their monitors are manufactured specifically for use south of the equator, whereas most monitors "are incompatible with the southern hemisphere's magnetic field, resulting in screen distortion, poor image alignment and color impurity." Maybe that also explains wombats, platypuses and emus. 90-meter DATs Not Officially Supported. From HP Computer Update, Dec 91. The original 1.3-Gbyte DAT drive is designed for 60-meter tapes only. The new 90m tapes, which use thinner tape and hold 50% more data, are not supported. What does this mean? They probably will work, but don't go crying to HP if you can't get your data back. However, one of the third-party makers of backup software uses these tapes and has not had any problems. [Mike Millard & Lawrence Gower] Technical Tips Eliminating Tape Requests. In response to a recent What's Up Doc article soliciting ideas for preventing Qedit from issuing tape requests, Kevin Scofield of C.V. Home Furnishing in Manchester, England and Paul Berthelette of Stern-Leach in Attleboro, MA came up with the same solution. They said do a :Listeq into a file, then analyze the output to see if there's a tape file command. We appreciate the feedback, gentlemen. Unfortunately the idea is not too efficient. We think it would take too long to do this every time anybody issues a Qedit command that would refer to a file. But if anybody has any other ideas, we want to hear them. Keep those cards and letters coming. VENVCNTL File. Thanks also to all the people who sent in responses to the question of what all those bits were used for in the Venvcntl.Pub.Sys file. It seems that some of them are documented in the VPLUS manual. We never thought to look there! Stream Bug at End of February. HP called to warn us that there is a bug in the scheduling feature of the Stream command. It seems that if you use the DAY= option of the Stream command during the last week of February (during the period of February 24-29), to run in March, the job will run one day late. Apparently this bug also happened during the last week of January, when the jobs ran one day early. However there are a number of workarounds. Instead of saying, for example, DAY=TUE, you can use any of the following options: DAY=, IN=, or DATE=. If these workarounds are not feasible in your situation, a patch is available from HP. Process Handling Bug. MPE XL 3.0 has a bug in the Kill intrinsic, which causes a random process in your process tree to be re-activated when another process is killed. This can cause unpredictable results on your terminal. You may see this using Qedit, if you answer NO to the question: XYZ.PUB.ACCT is still alive. Okay to HOLD onto it [no]? NO After killing the XYZ process, MPE XL may activate another process in your process tree. Then Qedit and that process are both active at the same time. The resulting mess on your screen is pretty confusing, since both Qedit and the other process will have reads posted to your screen. When you type something you don't know which process will read it. The HP SR# is 1653-005579. LaserJet Lustre Ken Robertson is MIS Manager at Robelle and the local expert on LaserJets. The following is an excerpt from Ken's paper, which is called LaserJet Lustre: Making Your HP 3000 Reports Shine. Ken will be speaking about LaserJets at the NOWRUG meeting in March, and at SCRUG in May. Drawing Boxes Using Graphic Commands In order to draw a box using graphic commands, you have to tell the printer several things: where to start, how wide, how tall, shading, and when to print. Here are the PCL commands we'll be discussing: *p # X where x *p # Y where y *c # A how long *c # B how tall *c # G shading/pattern*c # P print a box! The where, how long, and how tall commands are fairly straight-forward. The print a box command, *c#P, has a parameter to indicate what type of box you wish to print. The parameter value can be: 0 Black Fill 1 White Fill 2 Gray Fill 3 Pattern Fill The shading/pattern command also requires a bit of explanation. The numeric parameter can either mean percentage of gray or HP Pattern Type. The fill type is decoded when the print command is issued. Pattern Fill To print a box with a pattern fill, use the command, *c3P There are six types of pattern fills. Use the *#G command to set the appropriate one from the following table: 1 Horizontal lines 2 Vertical lines 3 Diagonal lines 4 Diagonal lines 5 Square grid 6 Diagonal grid The formatter that I'm using to create this document, Prose, from Robelle Consulting, always positions the cursor at the left margin after a line is printed. To create each box in the above table, I used an escape sequence *p-85y+1100X *c45a45b # g3P The -85y moved the cursor up the page by a 1-1/2 lines (1 line = 1/6" = 50/300"), and the +1100X moved it 3-2/3 inches to the right. I then told the printer that the box should be 45 by 45 dots, 45a (wide) and 45b (high). Note that one line = 1/6 inch, or 50 dots. The fill pattern varied from 1g to 6g, and finally I told it to print a box using a pattern, 3P. The patterned boxes are great for creating histograms, or what are commonly know as bar graphs. Using a different pattern for each bar in the graph helps identify each item. For example, widgets thingies Gray Fill To print a gray fill, you must specify the percentage of gray using the *c#G command. For example, to specify 25% gray and print a gray-fill box, use the PCL commands, *c25g2P Note that I combined the g and P commands. The width and height of the box are the same as the last box that was printed above, as I didn't change those values. There are only 8 gray fills possible: 1-2%, 3-10%, 11-20%, 21-35%, 36-55%, 56-80%, 81-99% and 100%. For example, if you specify 25% or 30%, the same gray fill of 21-35% will be selected for either. The Outline Box The outline box will probably be the type that you will use most often. Unfortunately, creating such a box using the PC-8 Courier font or the line-drawing character set won't work if you are outlining a proportional font, as each character's width in a proportional font is different. Placing the right hand lines of the box so that they line up with each other will be almost impossible. You may also wish to position your boxes on non-character boundaries, give them varying line thicknesses, sport drop-shadows, etc. One way to create an outline box is to draw a black-filled box, then draw a white-filled box inside it 2 dots smaller, with an offset of 1 dot. For example, *c150a100b0P *p+1x+1Y *c148a98b1P In the above example, I drew a white box of 148 by 98 dots inside a black box of 150 by 100 dots. The LaserJet draws the box to the right and down, the cursor returning to the top left-hand corner. Note that you must place the text in the box after it is drawn - the boxes will wipe out any text within their areas. The redefining of white space doesn't work on all LaserJets. For example, it won't work on a LaserJet II, but it will work on a LaserJet IIP. This method of creating boxes is fairly easy to use, so I advise you to test it out on all of the printers that you'd expect your report to run on. Drop Shadows A popular effect today, creating a box with a drop shadow is a relatively easy thing to do. This is similar to the outline box described above. ~*c900a120b15g2P ~*p-20x-20Y ~*c0P ~*p+1x+1Y ~*c898a118b1P Here's some proportional text! Basically, I draw the gray-fill box first, then position the cursor by 20 dots up and to the left. The black box is drawn next, with exactly the same size, and finally a white box is drawn inside the black box. Text is added AFTER. If you try to output the text first, drawing the boxes on top of it will erase what was there. Terminal Handshaking by Bob Green The G and H straps of the HP terminal control datacomm handshaking. If you pull up your Terminal Config screen, you should see them looking something like this: InhHndShk(G) NO Inh DC2(H) NO Since these are "inhibit" straps, NO actual means "yes, do the handshake". G and H control whether the terminal waits for a DC1 and/or DC2 prompt character from the computer before sending input, such as on terminal status requests and upon pressing Enter in block mode. If the straps are configured incorrectly, the symptoms are a hung terminal (i.e. the terminal is waiting for a prompt character that is never going to come, or the terminal has sent the data before the computer was ready because it didn't wait for the prompt). By default, Qedit sets these straps the way that it thinks will work best, based on your CPU and Term Type. The settings differ between line-mode and Visual-mode. Line-Mode Qedit starts execution in line-mode and immediately attempts a status check of your terminal. With a DTC or ATP, this usually requires a handshake, so G and H should be set to NO. If you are using an X.25 network or a LAN, the network provides buffering of data sent by the terminal, so handshaking is usually inhibited. These line-mode rules apply to both MPE V and MPE XL. Serial X.25/LAN Line-Mode: G=NO, H=NO G=YES, H=YES Block-Mode The situation in Visual mode is more complicated. You are in block-mode and when you press Enter, your terminal wants to send a screen of memory. Here is a summary of the recommended G and H values: Block-Mode: Serial X.25/LAN MPE V G=YES, H=NO G=YES, H=YES MPE XL G=YES, H=YES G=YES, H=YES MPE V has a complex system to stop your terminal from sending the data until the ATP is ready and there are enough memory buffers available in the CPU. The terminal sends a DC1 when you press Enter and MPE replies with an Escape code to Home Up and a DC2 to trigger the transfer. This arrangement only works if G=YES and H=NO. MPE XL improves the speed of block transfers by eliminating the Home Up and the DC2 trigger. Instead of sending a Home Up Escape code, MPE XL enables a terminal option to do an automatic Home Up when you press Enter. That is why block-mode will not work on some older terminals. Instead of the DC2, the DTC provides a type-ahead buffer for the entire screen contents when you press Enter in block-mode. Qedit sets G=YES, H=YES to inhibit handshaking on a DTC while in block-mode. However, the DTC does not have unlimited buffer space, so it will use XON/XOFF pacing to control the flow from the terminal. You must enable your terminal's XON/XOFF Transmit Pacing, but it is not enabled by default. Using block-mode over an X.25 network or LAN can be tricky. Theoretically, the network provides full buffering and no handshaking is needed, so G=YES and H=YES on both MPE V and MPE XL. However, the buffers may not be large enough for the transfer that Qedit makes in Visual. MPE XL must work with the network to ensure that the terminal is configured to do an automatic Home Up on Enter, otherwise the terminal will start transferring from the position of the cursor at the time you press Enter. Overriding Qedit If you are using an unusual X.25 network to connect your crt to the HP 3000, you may find that Qedit sets G and H incorrectly. Perhaps the network simulates a direct connection so well that Qedit cannot figure out that you are using X.25. For these situations, Qedit has a JCW that allows you to specify exactly how you want G and H set in line-mode. :setjcw rcrtstrapsgh = n n G H 0 no no (handshaking active) 1 no yes 2 yes no 3 yes yes (no handshaking, X.25) Qedit never changes the value in this JCW, only reads it. To override the setting of G and H in Visual-mode, use the Set Vis Dtc option. Experimentation may be necessary. About Robelle Farewell, Barbara. Our technical writer of the past four years, Barbara Janicki, has left us to follow her dreams. She is moving to Iowa City to pursue a career writing science fiction. Look for her work on the bookshelves under the name B.J. Selby. Good luck, Barbara! She leaves us a legacy of fine manuals and documentation. The documentation task has been taken over by the technical support department. Shameless Plugs. "We evaluated several editors for the HP 3000, and Qedit came out the winner, hands down. It's very user friendly, and we especially like the move and copy and hold file functions." [Kirk Wallbillich @ Oschner Health Plan] Calendar of Events March 1992* Mike Shumko will be speaking at the Carter-Pertaine meeting in Houston on March 4th and 5th. He will be giving free Qedit training. * Look for Bob Green at the BSA users meeting in Boston, March 11-13. Bob will be giving free training on Suprtool, to all those BSA customers who got Suprtool with their BSA software. * Ken Robertson will be at NOWRUG meeting in Seattle on March 16th and 17th. Ken will be presenting his LaserJet Lustre paper, an excerpt of which you will find in this What's Up Doc. May 1992 * David Greer will be at the annual BARUG conference in Santa Cruz, May 7-9. * David and Ken will be at the annual SCRUG conference in beautiful downtown Burbank, May 13-15. David will present a tutorial on designing user interfaces. * Look for David Greer at the International Users Group meeting in Copenhagen, Denmark, on May 20-22. Robelle Products: Problems, Solutions, and Suggestions Qedit Version 4.0 MPEX Hooking on MPE XL Systems. The following information was accidentally dropped from the Qedit 4.0 change notice. This has been the most common question of the past month. If you are a VESoft customer, you may be in the habit of running a hooked Qedit from the Vesoft account. Since you now have a new Qedit program in the Robelle account, you need to re-hook it. :run mpex.pub.vesoft %hook qedit.pub.robelle Running the MPEX-Hooked Qedit. The MPEX hook procedure, which intercepts file system calls made by Qedit, is activated differently based on whether the program to be executed is a native-mode program or a compatibility-mode program. On Classic systems, or on Spectrum systems running compatibility-mode or OCT-mode Qedit, you simply run it in the same way as always: run qedit.pub.vesoft;lib=p For native-mode Qedit/XL, instead of specifying lib=p you specify an xl file: run qedit.pub.vesoft;xl="mpexhknl.pub.vesoft" The following sample udc/command file, which can be used to run the hooked version of Qedit, determines if Qedit is native-mode or compatibility-mode, and invokes it accordingly. parm runparm=0 if finfo("qedit.pub.vesoft",9)="NMPRG" then run qedit.pub.vesoft;xl="mpexhknl.pub.vesoft";parm=!runparm else run qedit.pub.vesoft;lib=p;parm=!runparm endif VESoft advises that you be running MPEX version 23.11115 or later, so that the Keep-across-accounts feature will work properly with Qedit/XL. If Qedit/XL aborts with quit parm -50 or -1041, this indicates that the mpexhook support routines are not correctly installed on your system. You will have to stream the VESoft-supplied job veproc.job.vesoft. If the hooked Qedit/XL still aborts after running this job, you will need to contact VESoft for a software update. Xpress Version 2.8.1 Userlist File. Xpress maintains a list of all users in the Userlist.Maildb.Robelle KSAM file. The job stream Userlist.Mailjob.Robelle creates this file. After a system failure, Xpress cannot open the Userlist file (this is due to limitations of KSAM/V). When this happens, you will see file system error message 192: SYSTEM FAILURE OCCURRED WHILE THE KSAM FILE WAS OPENED In this case, the Userlist file must be rebuilt. Stream the Userlist.Mailjob.Robelle job stream (it only takes a few minutes) and the Userlist file will be rebuilt. Xpress Now Available In French. Our Swiss dealer, SWS, has translated the Xpress message catalog into German and French. If you have a need for Xpress to operate in one of these languages, please contact us. Only the online messages are translated, not the manuals or online help file. Spell Version 1.0 Look It Up! The new spelling checker program that was distributed with Xpress 2.8 and Qedit 4.0 will check a document and tell you where the typos are. But once Spell tells you you've made a mistake, how can you find out the correct spelling? Eugene Volokh at VESoft came up with this MPEX expression program which will search Spell's dictionary looking for matching words. You need MPEX version 2.3 or later for this to work. Keep these commands in a file in your group. Make sure that the file has code 171. Hint: in Qedit, do /set keep code 171 before keeping the file. To invoke the file you just type the filename in MPEX or Qedit. For example, if you have kept the file as Spellf: /%spellf spe@l special spectral spectroscopical speleological spell Here is the expression program: VAR FNUM: INTEGER; VAR PATTERN: STRING[256]; VAR PREFIX: STRING[256]; VAR R: STRING[24]; PATTERN:=DWNS(VEPARMS); PREFIX:=TOKEN(DWNS(VEPARMS),'@?['); IF PREFIX='' THEN ABORT ('Search through entire file will take too long'); FNUM:=VEFOPEN ('MAIN.SPDATA.ROBELLE,OLD'); TRY BEGIN VEFFINDBYKEY (FNUM, PREFIX, 1, '='); WHILE LFT(R:=VEFREAD(FNUM),LEN(PREFIX))=PREFIX DO IF STRRTRIM(R) MATCHES PATTERN THEN WRITELN (STRRTRIM(R)); END CLEANUP VEFCLOSE (FNUM); Fortune Cookie of the Month Overheard at the water cooler: It looks like we're about to take a big step backward: MPE V = 5 MPE XL = 40 MPE/iX = 9