home *** CD-ROM | disk | FTP | other *** search
/ ftp.robelle3000.ai 2014 / 2014.06.ftp.robelle3000.ai.tar / ftp.robelle3000.ai / newsletter / 1991 / w1991-01.txt next >
Text File  |  1994-04-12  |  20KB  |  523 lines

  1.  
  2.         What's Up DOCumentation
  3.  
  4.  
  5.  
  6.        Robelle Consulting Ltd.
  7.        Unit 201, 15399-102A Ave.
  8.        Surrey, B.C.  Canada  V3R 7K1
  9.        Phone:  (604) 582-1700
  10.        Fax:  (604) 582-1799
  11.  
  12. Date:  January 21, 1991
  13.  
  14. From:  Robert M. Green, President
  15.        David J. Greer, Research & Development
  16.        Michael Shumko, Customer Support
  17.        Jim Bird, Customer Support
  18.  
  19. To:    Users of Robelle Software
  20.  
  21. Re:    News of the HP 3000, 1991 #1
  22.  
  23.      What You Will Find in This News Memo:
  24.  
  25.        News Tidbits
  26.        Technical Tips
  27.        Calling QeditAccess from Pascal
  28.        About Robelle
  29.        Robelle Products:  Problems, Solutions, and Suggestions
  30.  
  31.  
  32.                                  News Tidbits
  33.  
  34. Goodies.
  35.  
  36. Along  with  this  newsletter  is an index to all of last year's What's Up Doc
  37. newsletters to help you find that tip  or  announcement  that  you  remembered
  38. reading  somewhere.  As an added bonus, we've included a copy of David Greer's
  39. latest paper on the MPE XL system debugger, to help you get to  know  and  use
  40. this powerful but complex tool.
  41.  
  42. 980 News.
  43.  
  44. We  have  heard  from  customers  who  are  benchmarking  the new 980 Spectrum
  45. machine, and they say it is really hot.  But what  about  the  multi-processor
  46. version,  the 980/200? According to the HP Chronicle, HP has "delayed shipment
  47. of its 870S/200 up to six months for lack of multi-processing  Unix  software.
  48. HP  officials  also  said  the company plans to begin initial shipments of the
  49. dual-processor 3000 Series 980/200 to MPE XL 3.0 beta testers by  the  end  of
  50. [December].   However,  at  least  one  Series  980/100  customer, planning to
  51. install the two-processor option as soon as HP will release it, said  he  does
  52. not  expect  multiprocessor  support  under MPE XL to be available until July,
  53. 1991.
  54.  
  55. HP has not set a date for when it plans volume shipments of the  980/200,  but
  56. it  will  be  at least several months after beta testing of XL 3.0 begins this
  57. month.  If the 980/200 shipments materialize [soon], it would mark  the  first
  58. time  HP has delivered major hardware functionality on its HPPA line under MPE
  59. XL before that functionality became available under HP-UX."
  60.  
  61. Broken Break Key.  In response to our litany of problems
  62.  
  63. with Control-Y over NS, Bruce Toback called with his own war  story.   If  you
  64. DSLINE from your MPE XL system (2.1) over to your MPE V system (V-delta-7) and
  65. run an MPE V program, you may find that when you press  Break  you  have  lost
  66. control of your terminal.  If the terminal seems dead, try pressing Control-F:
  67. this will frequently give you back your keyboard.
  68.  
  69. New Spectrums Released.  As announced in the December 1990 edition
  70.  
  71. of HP World magazine, HP has released two new 3000s, the series 948  and  958,
  72. which  use  the chip set from the series 980 in the same box as a 920/922/932.
  73. Migration from the 920 to the 958 is possible with straight board  swaps.   HP
  74. boasts  that "This is a further endorsement of how good precision architecture
  75. is.  We can flatten an [IBM] AS470 and a VAX 6500 with a machine the size of a
  76. suitcase!".   Here  is  a  chart  (also  courtesy  of  HP World) comparing the
  77. relative processing power of the 3000 spectrum processors, using  the  classic
  78. series-70 as a base value of 1:
  79.  
  80.  
  81.  
  82.  
  83.  
  84.                                       980/100 (6.2)
  85.  
  86.               958 (4.5)
  87.                                       960 (3.6)
  88.               948 (3.1)   949 (2.9)   955 (2.8)
  89.  
  90.               932 (1.6)   935 (1.5)   950 (1.8)
  91.    70 (1.0)   922 (0.9)   925 (0.8)
  92.               920 (0.6)
  93.  
  94.  
  95.  
  96. DOS beyond 640K.
  97.  
  98. Here is an excerpt from the article "DOS beyond 640K:  expanded  and  extended
  99. memory" in the December issue of UBC Campus Computing:
  100.  
  101.    Extended  memory  is  available  on  the  80286  chip  and allows direct
  102.    addressing of up to 16 MBytes of memory.
  103.  
  104.    Given that the 80286 chip has been around for a while, and given that it
  105.    has  a  protected  mode  that can access more than 1MB of RAM, a logical
  106.    question is, why didn't programmers develop extensions to DOS that would
  107.    allow DOS programs running on 80286 chips to use extended memory? ...
  108.  
  109.    The  answer  lies partially in a unfortunate design decision made by the
  110.    designers of the 80286.  While  there  is  a  straightforward  means  of
  111.    switching  from real mode to protected mode on an 80286, there is no way
  112.    of switching back!  This serious problem was not resolved for some time,
  113.    and the solution wasn't initially made available as an extension to DOS,
  114.    but as a part of the OS/2 operating system...  The  somewhat  terrifying
  115.    solution  was devised by Microsoft's Chief Architect of Systems Software
  116.    Gordon Letwin: OS/2 shifts back  to  the  real  mode  by  rebooting  the
  117.    system.   More precisely, OS/2 reboots the system, and then very quickly
  118.    tells the 80286 that the reboot was just a false alarm.  Bill  Gates  of
  119.    Microsoft  likens  this  to "turning the car off and on at 60 mph."  The
  120.    80286 is back in real mode, with all the memory that a real reboot would
  121.    have  destroyed  miraculously intact.  Depending on your tastes, you may
  122.    call this trick a brilliant idea or a complete kludge.
  123.  
  124.  
  125.                                 Technical Tips
  126.  
  127. Odd Octcomp Failures.
  128.  
  129. Octcomp  requires  a fair bit of disc space to translate the object code of CM
  130. programs.  If you have put any account or  group  disc  space  limits  on  the
  131. Robelle  account,  you may find that our Octcomp jobs will fail with some very
  132. strange error messages:
  133.  
  134.      ILLEGAL POINTER TRAP (TRAPERR 53)
  135.      Illegal data address (TRAPS 65)
  136.  
  137. These error messages "mean" that the Linkedit phase of Octcomp ran out of disc
  138. space.
  139.  
  140. :SHOWPROC Command.
  141.  
  142. SHOWPROC  is a handy new command in MPE XL 2.1 which helps you to find out the
  143. status of a process (ie., the program name, priority, CPU time  used  and  the
  144. current state).  This is a quick way of finding out what a job is doing:
  145.  
  146.      :SHOWPROC Job=#s70
  147.       QPRI  CPUTIME   STATE  JOBNUM  PIN  (PROGRAM) STEP
  148.  
  149.       C152  0:03.235  WAIT   S70     80   :RUN QEDIT.PUB.ROBELLE;PARM=67
  150.       C152  0:32.458  READY  S70       57   (QEDIT.PUB.ROBELLE)
  151.       C152  0:01.954  WAIT   S70         123  (XPRESS.MAIL.ROBELLE)
  152.       C152  0:26.603  WAIT   S70         114  (SUPRTOOL.PUB.ROBELLE)
  153.  
  154. Another  new command, :ALTPROC, lets users with SM or OP capability change the
  155. priority of a process.
  156.  
  157. Firmware bug on 4x/5x.
  158.  
  159. Eugene Volokh at VESoft has found a subtle bug in the firmware of the  classic
  160. 4x/5x CPUs.  In SPL, the construct
  161.  
  162.     IF A <= B <= C
  163.  
  164. will sometimes return invalid results on these CPUs.  For example,
  165.  
  166.     IF -32767 <= 20 <= -32750      returns TRUE where it should be FALSE
  167.  
  168. SPL  programmers may want to consider changing their code to be safe, since we
  169. can all guess what the chances are of HP releasing  a  firmware  fix  for  the
  170. 4x/5x boxes.
  171.  
  172.  
  173.                        Calling QeditAccess from Pascal
  174.  
  175. QeditAccess is a routine we provide that can be called from a program to  read
  176. and  write  Qedit  workfiles.   For  those of you who want to know how to call
  177. QeditAccess from Pascal, here is an example that was put together by Dave  Lo,
  178. one of our programmers:
  179.  
  180. { This program demonstrates how to call QeditAccess from Pascal.
  181.   It reads a Qedit file called QDATA and displays the contents of
  182.   the file on $stdlist.  }
  183.  
  184. program TestQaccess( input,output );
  185.  
  186. const
  187.   MaxFnameLen = 40;
  188.   MaxLineLen  = 256;
  189.  
  190. type
  191.   shortint = -32768..32767;  { Type declaration required for Pascal/V only }
  192.  
  193.   { This is the general Argument parameter for QeditAccess.
  194.     The different uses are indicated by the variant fields.
  195.     More variant fields can be added.
  196.  
  197.     All of the parameters for Qeditaccess must be passed as 16-bit
  198.     word addressess (eg., the Argument parameter cannot simply be
  199.     declared as a packed array of char).
  200.  
  201.     The case variant shortint MUST NOT be given a field name.  }
  202.  
  203.   ArgRec = record
  204.     case shortint of
  205.       1: (fname: packed array[1..MaxFnameLen] of char);
  206.       2: (line:  packed array[1..MaxLineLen] of char);
  207.     end;
  208.  
  209.   WorkRec = record
  210.     status      : shortint;
  211.     filenum     : shortint;
  212.     filetype    : shortint;
  213.     lang        : shortint;
  214.     length      : shortint;
  215.     size_key    : integer;
  216.     block       : shortint;
  217.     index       : shortint;
  218.     readlen     : shortint;
  219.     left        : shortint;
  220.     keylen      : shortint;
  221.     reserved    : integer;
  222.     buf         : packed array[1..256] of shortint;
  223.   end;
  224.  
  225.   FuncRec = record
  226.     num         : shortint;
  227.     lang        : shortint;
  228.     recsize     : shortint;
  229.     numblocks   : shortint;
  230.     numextents  : shortint;
  231.     initextent  : shortint;
  232.   end;
  233.  
  234. var
  235.   Func      : FuncRec;
  236.   WorkSpace : WorkRec;
  237.   Arg       : ArgRec;
  238.  
  239.   i         : shortint;
  240.   done      : boolean;
  241.  
  242. procedure QeditAccess( var func      : FuncRec;
  243.                        var workspace : WorkRec;
  244.                        var arg       : ArgRec );
  245.   external spl;
  246.  
  247. begin
  248.   arg.fname := 'QDATA ';
  249.   Func.num := 1;
  250.   QeditAccess( Func, WorkSpace, Arg );
  251.   if WorkSpace.status<>0 then begin
  252.     writeln('could not open, error = ', WorkSpace.status );
  253.   end
  254.  
  255.   else begin
  256.     done := false;
  257.  
  258.     repeat
  259.       Func.num:=2;
  260.       QeditAccess( Func, WorkSpace, Arg );
  261.       if WorkSpace.status=0 then begin
  262.         for i:=1 to WorkSpace.length do
  263.           write( Arg.line[i]);
  264.         writeln;
  265.       end
  266.       else if WorkSpace.status=-1 then    { end of file }
  267.         done := true
  268.       else begin
  269.         writeln('could not read, error = ', WorkSpace.status );
  270.         done := true;
  271.       end;
  272.     until done;
  273.  
  274.     Func.num := 3;
  275.     QeditAccess( Func, WorkSpace, Arg );
  276.   end;
  277. end.
  278.  
  279.                                 About Robelle
  280.  
  281. PCQ Project Cancelled.
  282.  
  283. Some of you may  have  heard  of  a  Robelle  project  code-named  "PCQ"  that
  284. attempted  to  dynamically  link Qedit with a PC program.  Our goal was to use
  285. the PC to edit a PC file or HP3000 file of any size without having to copy the
  286. entire  file  to  the  PC.   This turned out to be much more difficult than we
  287. anticipated.  Although PCQ has been cancelled, we are still deeply  interested
  288. in enhancing our products to work with PCs.
  289.  
  290. In July 1989 we hired Dave Lo to work on PCQ.  Dave remains our PC expert, but
  291. at the moment he is busy developing software on the HP3000.   You  may  get  a
  292. chance  to talk to Dave when we corral him into taking technical support calls
  293. now and then.
  294.  
  295. Users Group Meetings.
  296.  
  297. Bob Green will be  presenting  his  award-winning  paper  "Improving  Software
  298. Quality" at Salt Lake City on March 20, Amana, Iowa on March 21 and Chicago on
  299. March 22.  Bob will also be at the SCRUG  conference,  May  8-10,  with  Marie
  300. Froese at the Robelle booth.
  301.  
  302. Mike  Shumko  and Barbara Janicki will be representing Robelle at the European
  303. National Users Group meeting in Hamburg, April 23-26.   Mike  will  be  giving
  304. mini  tutorials  on using Suprtool and Qedit, and Barbara will be presenting a
  305. paper on "Documentation that works for you".  Come by and visit us at the  SWS
  306. booth.
  307.  
  308. Jim  Bird  and  Jennifer Mollan will be in Melbourne for the SPARC conference,
  309. May 13-16, at the Co-Cam booth.  We'll  be  giving  Qedit  and  Suprtool  mini
  310. tutorials, answering questions and generally having a good time.
  311.  
  312. New Robelle Arrival.
  313.  
  314. Vancouver  is  just  2  hours  north  of  Seattle, Washington, and we normally
  315. experience above-freezing temperatures  year-round.   We  get  the  occasional
  316. winter  snowstorm,  but the snow usually melts within a day or so.  A few days
  317. ago, during the worst snowstorm of  the  last  twenty  years,  Ken  Robertson,
  318. Robelle's  system  manager,  and his wife Liette, decided to bring a baby into
  319. the world.  Ken describes their adventure:
  320.  
  321. "Around midnight, with the wind howling  and  the  snow  coming  down,  Liette
  322. confessed  that  she  had felt several contractions that evening, and that now
  323. they "seemed to be coming about 10 minutes apart".  Our first baby was due  in
  324. another week, but babies arrive when they want to.  Given the road conditions,
  325. we decided to head out immediately.
  326.  
  327. We arrived at the hospital 40 minutes later (it usually takes 10), and  Liette
  328. was  admitted  right away.  Her contractions were now 3 minutes apart, and she
  329. was about to deliver.  We rushed up to maternity.  A quick phone call from the
  330. head  nurse located our doctor some 50 miles away! She was snowed in and would
  331. not be making it.  In fact, because  of  the  storm,  there  were  NO  doctors
  332. available  to  help  out  with the delivery!  It was just going to be the head
  333. nurse, Liette and I.
  334.  
  335. Two hours later Liette's water broke and we wheeled into the delivery room.  I
  336. was  in  charge  of holding this or that, turning various machines on and off,
  337. and handing the nurse various odd-looking implements  that  she  wanted.   One
  338. half hour later, at 4:25 AM December 30th, Louis Alexander popped out into the
  339. nurse's arms and started crying.  A healthy 7 pounds 14 ounces, he was  a  joy
  340. to behold.
  341.  
  342. It was a magical moment for all of us."
  343.  
  344.  
  345.            Robelle Products:  Problems, Solutions, and Suggestions
  346.  
  347. Qedit Version 3.9.1
  348.  
  349. We have just finished shipping the  new  Qedit  version  3.9.1  to  all  North
  350. American  customers.   Alas, we discovered a few problems after the tapes were
  351. shipped.  Note to overseas users: the tapes that you will  receive  from  your
  352. local  dealers  will  have  these problems corrected, except for the Q-delta-2
  353. problem.
  354.  
  355. Problem with Qeditj1/Qeditj1a jobs.
  356.  
  357. Some Qedit 3.9.1 update tapes were sent with  an  error  in  two  of  the  job
  358. streams in the Qeditjob.Robelle group.
  359.  
  360.     Qeditj1        Update CM Compiler Interface into System SL
  361.  
  362.     Qeditj1a       Update CM Compiler Interface in Robelle Account
  363.  
  364. Here is how to fix the jobs before streaming them:
  365.  
  366.     :hello mgr.robelle
  367.     /text qeditj1.qeditjob
  368.     /change "pubnew"(u) "pub" all  {upper- and lower-case}
  369.     /keep,yes
  370.     /text qeditj1a.qeditjob
  371.     /do c          {repeat same Change Command}
  372.     /keep,yes
  373.     /exit
  374.  
  375. You  need  to  use  these  job streams if you have MPE/V compilers and you are
  376. re-installing the Qedit CM  Compiler  Interface.   Re-installation  is  needed
  377. after you install an HP MIT update, or if you need one of the changes provided
  378. to the Interface in version 3.9.1.
  379.  
  380. Patch for COBOLX.
  381.  
  382. Qedit 3.9.1 will lose the tags in a COBOLX file if you set the X tag to a null
  383. value with List Off and then keep the file.  For example:
  384.  
  385.     /t coberr.source
  386.     'Language' is now COBX
  387.     703 lines in file
  388.     /set x "" list off
  389.     /keep xyzzy
  390.     Warn: KEEP will not write entire lines, only within margins.
  391.  
  392. Here is a patch to Qedit 3.9.1 to fix this problem (don't forget to re-Octcomp
  393. Qedit on MPE XL after patching it):
  394.     :run patch.pub.sys
  395.     FILE=? Qedit.Pub.Robelle
  396.     ?M,1,10056,3
  397.     041077,0
  398.     022000,0
  399.     141311,0
  400.     ? {return}
  401.  
  402. Q-Delta-2 customers.
  403.  
  404. Qedit 3.9.1 will not load on releases of MPE prior to MPE  V/E.   You  get  an
  405. error  message  about  a  suprdate  failure.   Please contact our office for a
  406. patch.
  407.  
  408. QeditPM doesn't have PM cap.
  409.  
  410. QeditPM is a special copy of Qedit that we distribute for customers on MPE  XL
  411. who  are  experiencing  performance  problems  when  using  Qzmodify.  It uses
  412. Privileged Mode to  switch  you  into  the  BS  processing  subqueue  when  in
  413. Qzmodify,  which  reduces the chance of the system losing characters while you
  414. are modifying a line.  Unfortunately,  we  forgot  to  Prep  QeditPM  with  PM
  415. capability.  You can add PM with any of the following methods:
  416.  
  417. Using MPEX:
  418.  
  419.     %altfile qeditpm.pub.robelle;cap=+pm
  420.  
  421. Using NUGGETS:
  422.  
  423.     :run acap.pub.nuggets;info="qeditpm + pm"
  424.  
  425. If  you  want to try using QeditPM and cannot add PM capability to the program
  426. yourself, contact our office for a new tape.
  427.  
  428. In the Change notice accompanying the 3.9.1 installation tape, it states  that
  429. in  order  for  QeditPM  to  work,  the user running QeditPM must also have PM
  430. capability.   This  is  not  correct:  only  the  program  file  requires   PM
  431. capability.
  432.  
  433. Problems recognizing terminal.
  434.  
  435. Qedit  3.9.1  may not be able to recognize terminals that previous versions of
  436. Qedit identified correctly.  You may get the error message "Visual  mode  only
  437. works  on certain HP crts".  If this happens, check the terminal configuration
  438. values for Inhibit DC2 and Inhibit Handshake (also referred to as the "G"  and
  439. "H"  straps).   In  order  to  identify your terminal, Qedit may require these
  440. straps to be both set to NO.  If you find that  this  is  not  the  case,  try
  441. changing  the  configuration values, and enter Set Vis Stop at the /-prompt to
  442. force Qedit to re-identify your terminal before trying visual mode again.
  443.  
  444. Previous versions of Qedit initialized the terminal straps as part of  Qedit's
  445. terminal  identification  sequence,  which caused problems for customers using
  446. specialized data communications networks.
  447.  
  448. Suprtool Version 3.2
  449.  
  450. Native-Mode KSAM.
  451.  
  452. Customers updating to MPE XL 2.1 or later releases of MPE XL, please  keep  in
  453. mind that Suprtool 3.2 does not work with native-mode KSAM/XL files.  Although
  454. KSAM/XL is still a puzzle, we think we have most of it solved.  We  have  made
  455. extensive  changes  to Suprtool to support this new file type and hope to have
  456. it all working in the 3.3 release of Suprtool scheduled for this spring.
  457.  
  458. Because KSAM/XL is not fully compatible with the old KSAM/V file  type,  there
  459. will  be some significant differences in the way that Suprtool handles KSAM/XL
  460. files:
  461.  
  462. 1. High-speed MR/NOBUF access to KSAM/XL files is not supported by  HP.   This
  463.    means  that the only way Suprtool can read KSAM/XL files is one record at a
  464.    time.  Tests show that Suprtool will be as much as  five  times  slower  at
  465.    reading  a  KSAM/XL  file  than a KSAM/V file.  This may change in a future
  466.    release of KSAM/XL.
  467.  
  468. 2. KSAM/XL files do not permit recovery  of  deleted  records  using  standard
  469.    serial  access  methods.   For  this reason, Suprtool will not allow you to
  470.    read deleted records in a KSAM/XL file with Set Recover On.
  471.  
  472. Printing fields on separate lines.
  473.  
  474. In the Suprtool 3.2 user manual, we show an example of how to use the  Extract
  475. command to produce mailing labels from a customer file, printing each field on
  476. a separate line.  To do this, we Define an integer field named CRLF, set it to
  477. the  value  3338  (%6412, which is a Carriage-Return followed by a Line-Feed),
  478. and extract it between each field:
  479.  
  480.     >define CRLF,1,2,integer
  481.     >extract name,CRLF=3338,addr(1),CRLF=3338,addr(2),&
  482.     >        CRLF=3338,addr(3),CRLF=3338,phone
  483.     >output *
  484.  
  485. Unfortunately, this method won't work if you use the  Output,ASCII  option  to
  486. convert  binary  fields  into  readable  characters (Suprtool will convert the
  487. binary field CRLF to the ASCII characters "3338").  Try  extracting  character
  488. constants  for  the  Carriage-Return  (decimal  13) and Line-Feed (decimal 10)
  489. characters instead:
  490.  
  491.     >extract name,^13,^10,addr(1),^13,^10,addr(2),^13,^10
  492.     >extract addr(3),^13,^10,phone
  493.     >output *,ASCII
  494.  
  495. Xpress Version 2.7
  496.  
  497. Disable break to prevent hang.
  498.  
  499. One of our Xpress customers reported that if a user turns off  their  terminal
  500. when  they  are  in  the  middle  of displaying the list of messages in the In
  501. basket or Out basket, the Xpress database stays locked.   Eventually  everyone
  502. who  accesses  the  mail  system  will hang.  This is because Xpress locks the
  503. dataset while displaying the list  of  messages,  to  prevent  "broken  chain"
  504. messages from IMAGE.  If you leave your terminal powered off while the list of
  505. messages is being displayed, MPE will consider that you are  in  system  break
  506. state.   It  is  as  though  you  had pressed the <break> key while the Xpress
  507. database was locked, and gone home.
  508.  
  509. You can prevent this problem from happening by adding OPTION  NOBREAK  to  the
  510. Xpress  UDC.  MPE will continue printing the list of messages (writing them to
  511. the bit-bucket), ignoring the break, and Xpress will unlock the dataset before
  512. asking  you  to select a message.  This will also stop users from pressing the
  513. <break> key to interrupt Xpress when it has the database locked, causing other
  514. Xpress users to hang.
  515.  
  516.  
  517.  
  518.    Fortune Cookie of the Month
  519.  
  520.      Time flies like an arrow.
  521.  
  522.      Fruit flies like a banana.
  523.