Patch Name: PHSS_0575 Patch Description: Some Starbase functions fail after gescape(R_LOCK_DISPLAY). The Starbase functions block_read() and block_move(), and the FA/FM function faroll() destroy the screen contents on any of the hpgcrx graphics devices, when executed after a gescape(R_LOCK_DISPLAY). For example, the following Starbase sequence fails: gescape(gfd, R_LOCK_DEVICE, &arg1, &arg2); faroll(gfd, 'u', 1, &rp); After this sequence the screen or the window will contain junk. Files Fixed: /usr/lib/libddgcrx.a /usr/lib/libddgcrx.sl The problem was that the R_LOCK_DEVICE gescape sets up the hardware to do byte-per-pixel reads from the frame buffer, so that the user can access the frame buffer directly by the use of the R_GET_FRAME_BUFFER gescape. But the above starbase functions were expecting the hardware to be set up for word-per-pixel read access. The fix is to make the above Starbase functions that read the frame buffer set up the read format register for word-per-pixel access. Note that byte-per-pixel direct frame buffer access will not be possible after the Starbase functions are called, until another R_LOCK_DEVICE gescape is performed. Direct frame buffer access is only allowed after a R_LOCK_DEVICE gescape and before any Starbase function is called (See the Starbase Device Drivers manual, hpgcrx chapter, section titled To Access the Frame Buffer Directly). Path Name: /hp-ux_patches/s700/8.X/PHSS_0575 Effective Date: 911029 Patch Files: /usr/lib/libddgcrx.a /usr/lib/libddgcrx.sl SR/APR#: None. "what" string/timestamp: libddgcrx.a: 8.05 IF1-IC1 910503 libddgcrx.a $Revision: 401.1.1.37 $ PATCH_8.05: elk_raster.c 401.1.1.6 91/10/29 libddgcrx.sl: 8.05 IF1-IC1 910503 libddgcrx.a $Revision: 401.1.1.37 $ PATCH_8.05: elk_raster.c 401.1.1.6 91/10/29 "sum" output: 51786 424 libddgcrx.a 2377 544 libddgcrx.sl Dependencies: This patch should be applied to HP-UX 8.05. Supersedes: None. Patch Package Size: 525 Kbytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. Note: Please back up your system before you patch. --------------------------------------------------------------------------- After getting the patch onto your machine, unshar the patch (sh PHSS_0575). To install this patch do the following: 1) Run the update program (Note: you must be logged in as root to update a system). 2) Once in the update "Main Menu" move the highlighted line to "Change Source or Destination ->" and press "Return" or "Select Item". 3) Make sure the highlighted item in the "Change Source or Destination" window is "From Tape Device to Local System ...", then press "Return" or "Select Item". 4) You should now be in the "From Tape Device to Local System" window. Change the "Source: /dev/rmt/0m" to "Source: /tmp/PHSS_0575.updt" (this assumes that you are in the /tmp directory where PHSS_0575.updt has been placed). Note: You must enter the complete path name. 5) Press "Done". 6) From here on follow the standard directions for update. The customize script that update runs will move the original software to /system/PHSS_0575/orig. HP recommends keeping this software there in order to recover from any potential problems. It is also recommended that you move the PHSS_0575.text file to /system/PHSS_0575 to be retained for future reference. If you wish to put this patch on a magnetic tape and update from the tape drive, dd a copy of the patch to the tape drive. As an example the following will create a copy of the patch that update can read: dd if=PHSS_0575.updt of=/dev/rmt/0m bs=2048