BASIC/UX Utilities

This chapter describes the utilities provided with HP BASIC/UX.

Before You Use the Utilities

BASIC/UX utilities are found in the following directories:


       /opt/rmb/utils
       /opt/rmb/rmb8_0/utils

Some utilities are complete BASIC programs, such as LIF_UTIL. To use these programs, LOAD them into BASIC/UX and execute:


       RUN

Other utilities are CSUBs (Compiled SUBprograms), and must be called from within a BASIC program. For information on the use of CSUBs, see the book Developing CSUBs for HP BASIC/UX or the keyword descriptions for CALL and LOADSUB in the HP BASIC Language Reference.

Prerequisites

Utilities are for experienced BASIC programmers. You should be able to:

It is helpful to have performed the tasks described in Using HP BASIC/UX, and the HP BASIC Programming Guide.

Utilities Overview

The table in this section provides a brief description of the utilities. A complete description of each utility can be found in the "Utilities Reference" section next in this chapter.

Utility Short Description
BITMAP_S Replaces BASIC/WS GDUMP_C utility: dump a raster image to a file in proper format for Starbase (so you can use Starbase utility pcltrans).
BPLOT Store and load rectangular blocks of raster data from graphics frame buffers.
GDUMP_R CSUB utility to dump graphics raster images to a printer and rotate them 90 degrees.
LEX_AID Create your own lexical order tables.
LIF_UTIL A combination of utilities to:
  • Dump mass storage records.
  • Create non-standard sized LIF directories.
  • Restore files previously purged from a LIF directory.
  • Repack a LIF disk to give you contiguous available space at the end of the disk.
  • Verify if the current MSI device is a LIF disk.
  • Clear the directory of a LIF disk.
PHYREC A CSUB to perform bit-by-bit copies of an integer array in memory to a physical record on a LIF mass storage media (and vice versa).

Utilities Reference

This section contains detailed descriptions of each of the BASIC/UX utilities.

(BITMAP_S) Bitmap Store Raster Dump CSUB Utility

BITMAP_S (found in the /opt/rmb/rmb8_0/utils directory) is a CSUB utility that dumps a screen to a file in the Starbase bitmap format (see the Starbase Reference). Use this utility to print dumps of the screen.

There is no correlation between:

Calling the CSUB

Syntax for BITMAP_S:


      Bitmap_store( |from_ds|,"<var |to_file|") </CODE>

Where:       Represents:
from_ds The device (screen) whose frame buffer you want to dump. You must supply a value (for example in X Windows: the window number). It does not have to be the current PLOTTER IS device.
to_file     is the name of a file or a pathname where the bitmap data is to be stored. It may also be a string beginning with a pipe, for example: "| pcltrans -C | lp -oraw"

To load the CSUB and run it, follow these steps:

  1. Copy the CSUB into the current directory. Execute:
    
         COPY "/opt/rmb/rmb8_0/utils/BITMAP_S" TO "BITMAP_S"
         COPY "/opt/rmb/rmb8_0/utils/bmap_store.sl" TO "bmap_store.sl"
    

  2. Include statements similar to (the following example uses window number 600 as the screen to be dumped, and "save.bits" as the name of the file to store the bitmap data):
    
         400  LOADSUB ALL FROM "BITMAP_S"
         420  Bitmap_store(600,"save.bits")
    

Sending the Bitmap File to the Printer

After dumping to a file, use the HP-UX pcltrans command to dump to a printer from a BASIC/UX process (save.bits is the example file name):


     EXECUTE "pcltrans -C save.bits | lp -oraw"

Refer to the HP-UX man page for pcltrans for options to control things such as background color and image size.

See the PCL Formatter section of Starbase Device Drivers Library for a complete list of supported printers (all that support pcltrans, for example, the HP 3630A PaintJet).

Calling the CSUB Interactively

Outside of a program, load the CSUB with LOADSUB, and call it by executing:


     CALL Bitmap_store(CRT,"/tmp/mypicture")

where /tmp/mypicture stores the bitmap data.

Deleting the CSUB from Memory

To delete the CSUB, execute:


     DELSUB Bitmap_store

For More Information

For tips on how to use the pcltrans command, see the Starbase Reference manual or the Starbase Device Drivers Library manual.

(BPLOT) Raster Store and Load

BPLOT is a CSUB utility to store (Bstore) and load (Bload) rectangular "blocks" of raster data (using numeric arrays; not supported on terminals). Bstore and Bload are similar to GSTORE and GLOAD, except:

Calling the CSUB

  1. Copy the CSUB into the current directory. Execute:
    
      COPY "/opt/rmb/rmb8_0/utils/BPLOT" TO "BPLOT"
      COPY "/opt/rmb/rmb8_0/utils/bload_bstore.sl" TO "bload_bstore.sl"
    

  2. Include Bstore, Bload in your program as needed. For example:
    
    400  LOADSUB ALL FROM "BPLOT"
    410  !
    420  Bstore(Int_array(*),X_pixels,Y_pixels)
    430  !
    

Using Bstore

Bstore stores a rectangular area of the frame buffer in an INTEGER array. For example:

      Bstore(Int_array(*),X_pixels,Y_pixels,Rplcmt_rule,X_start,Y_start)

where:
X_pixels is an INTEGER for width of the rectangular raster area (in pixels).
Y_pixels is an INTEGER for height of the rectangular raster area (in pixels).
Rplcmt_rule is an optional INTEGER parameter that specifies how the pixels are placed into the array. Default value is 3 (source).
X_start is an optional REAL parameter that specifies the X coordinate of the upper left corner of the area to be stored: in current graphics unit of measure (not pixels). Default is the current graphics pen position.
Y_start is an optional REAL parameter that specifies the Y coordinate of the upper left corner of the area to be stored: in current graphics unit of measure (not pixels). Default is the current graphics pen position.

Bstore Details

X_pixels and Y_pixels values are placed in the INTEGER array Int_array as one byte per pixel for all frame buffers.

If part of the area is outside the current clip limits, then only the portion of the frame buffer within these limits is stored in the array--the remainder of the array remains unchanged.

The optional parameter Rplcmt_rule specifies the replacement rule to use in combining (these rules correspond to the rules provided by CRT CONTROL register 14 for bit-mapped displays):

The following table shows the rule values you can use.

(BPLOT) Raster Store and Load
Parameter\Value Effect on\Destination Bits
0 All bits set to 0
1 Source AND Destination
2 Source AND NOT Destination
3 Source (Default)
4 NOT Source AND Destination
5 Destination
6 Source EXOR Destination
7 Source OR Destination
8 Source NOR Destination
9 Source EXNOR Destination
10 NOT Destination
11 Source OR NOT Destination
12 NOT Source
13 NOT Source OR Destination
14 Source NAND Destination
15 All bits set to 1

If you want the source bits to be placed into the destination without modification, then specify a value of 3 for the replacement rule parameter.

Using Bload

Subroutine Bload loads a rectangular area of the frame buffer from an INTEGER array. For example:       Bload(Int_array(*),X_pixels,Y_pixels,Rplcmt_rule,X_start,Y_start)

The parameters are the same as Bstore, except that the statement loads a rectangular area on the frame buffer with the current contents of the INTEGER array Int_array.

Problems You Might Encounter

The array variables for Bstore (X_pixels, Y_pixels) must be of sufficient size to store the specified pixels, or an error is reported (ERROR 16 Improper or inconsistent dimensions).

(GDUMP_R) Rotated Graphics Dump

This CSUB utility dumps graphics raster images to a printer. It provides the same function as the DUMP GRAPHICS statement, except that it "rotates" the image 90 degrees before sending it to the printer.

Using GDUMP_R

  1. Copy GDUMP_R into the current directory. Execute:
    
       COPY "/opt/rmb/rmb8_0/utils/GDUMP_R" TO "GDUMP_R"
       COPY "/opt/rmb/rmb8_0/utils/dg_rotate.sl" TO "dg_rotate.sl"
    
    
  2. Include the Gdump_r routine in your program, for example (dump the image from the display raster PLOTTER IS CRT,"INTERNAL" to a printer at device selector 701):
    
    400  LOADSUB ALL FROM "GDUMP_R" ! Load the CSUB into memory.
    410  !
    420  Gdump_rotate(CRT,701)      ! Dump raster (select code 1) to
    430                             ! HP-IB printer (select code 7,
    440                             !                address 1).
    

If you specify 0 as the printer select code, the current DUMP DEVICE IS device is used. This allows you to dump to a pipe or file. For example, dump the CRT to the lp spooler:


    DUMP DEVICE IS "|lp -oraw"
    ...
    ...
    Gdump_rotate(CRT,0)

Deleting the CSUB from Memory

To delete the CSUB, execute:


    DELSUB "Gdump_rotate"

(LEX_AID) Creating a Lexical Order Table

The LEX_AID program (found in the /opt/rmb/utils directory) simplifies the creation of user-defined lexical tables. You may wish to make modifications to the program to suit your particular needs.

Steps in Creating a Table

  1. Use the LEXICAL ORDER TABLE WORKSHEET in the "User-defined LEXICAL ORDER" section of the "String Manipulations" chapter of BASIC/UX Programming Techniques. To avoid confusion, always assign sequence numbers in ascending order. Also mark special cases ("1 for 2", "Don't Care", etc).
  2. When you have completed your lexical order table, scan it for blocks of consecutive sequence number assignments. For example, the control characters (codes 0 through 31) generally retain their original sequence number. The LEX_AID program has a "FILL BLOCK" mode that will simplify assigning groups of sequence numbers.
  3. Run the LEX_AID program to create your table. (Be sure to save your table when you are finished.)
  4. Install the table created by this program.

The remainder of this section further expands steps 3 and 4.

(LEX_AID) Creating a Lexical Order Table

Running LEX_AID

LEX_AID uses the softkeys to provide menu selections. One of the following main menus appears on the screen when the program is run:

Key Labels for ITF Keyboards

Seq    Mode    Show    Show    Show    Fill    Get    Quit Save    List

Num    Index    Seq    Mode    Table   Block   Table     Table   Table

The options work as follows:

Seq Num Allows a sequence number to be assigned to a character. The program prompts for the character, and then for the sequence number to be assigned. Whenever the program is prompting for a character, either the character may be typed from the keyboard or its decimal value may be entered.
ModeIndex Displays a sub-menu (shown later) from which the special mode entries can be selected.
Show Seq Prompts for a character then displays the character, its value and its current sequence number.
ShowMode Displays all of the currently defined mode table entries.
ShowTable Displays the current assignments on the CRT. The mode type and mode index are displayed as a single value to save space.
FillBlock Prompts for the beginning sequence number and the first and last characters of the block to be filled. Thus a group of characters can be assigned consecutive sequence numbers quickly.
GetTable Loads a previously defined lexical order table from the disk.
Quit Returns you to normal keyboard mode and terminates the program.
SaveTable Saves the currently defined lexical order table to the disk.
ListTable Prints the currently defined lexical order table to the current PRINTER IS device.

Requesting ModeIndex displays one of the following menus:

Key Labels for ITF Keyboards

Don't   1for2   2for1   Accent   Normal
Care

Note that the keys shown without labels may have previously defined "typing-aid" definitions and labels.

If you are not familiar with these mode types, you may wish to review the aforementioned "User-defined LEXICAL ORDER" section. With either keyboard, the options work as follows:

Don'tCare Requests the character to be ignored for collating purposes.
1for2 Asks if a suitable entry already exists. If the current character can use a previously defined "1 for 2" entry, the same mode table entry can be used. Answering "Yes" to the question prompts for the new character and then prompts for the character which already has the proper entry. Answering "No" to the question prompts for the character and then asks for the number of secondary characters. Each character and its sequence number is then entered.
2for1 Asks if a suitable entry already exists. If several characters use the same secondary character (as in the GERMAN lexical order), the same mode table entry can be used for more than one character. Answering "Yes" to the question prompts for the new character and then prompts for the character which already has the proper entry. Answering "No" to the question prompts for the sequence number of the second character (both upper and lower case).

(LEX_AID) Creating a Lexical Order Table

Accent Requests the priority (0 through 63) and then the character to be assigned the accent priority.
Normal Allows you to cancel a special mode entry that was mistakenly assigned to a character. No provision is implemented in the LEX_AID program to actually delete the mode table entry.

With practice, you can create your own lexical order tables with LEX_AID. Be sure to save the table when you are finished.

Installing Your Lexical Order Table

Having created a table and stored it on disk, you can install it with the following BASIC program.


10    INTEGER Table(0:320)
20    ASSIGN @File TO "MYTABLE"  ! Open file
30    ENTER @File;Table(*)       ! Read file
40    ASSIGN @File TO *          ! Close file
50    LEXICAL ORDER IS Table(*)
60    !
70    END

You may need to replace the name "MYTABLE" with the name of the file in which you have stored the table you have created with LEX_AID.

The lexical order remains in effect until a SCRATCH A or another LEXICAL ORDER IS statement is executed, or BASIC/UX is restarted.

LEX_AID Example

This example uses LEX_AID to create a case-independent lexical order. Both upper- and lower-case characters collate together.

  1. Load and run the LEX_AID program.
  2. Type the FillBlock softkey. Enter 0 for the initial sequence number, 000 for the value of the first character, and 255 for the value of the last character. As each character is assigned a sequence number, the character will be flashed on the screen.
  3. Type FillBlock again. Enter 65 for the starting sequence number, 097 for the value of the first character, and 122 for the value of the last character.
  4. Type SaveTable and save the table under the name "NOCASE." The newly created table will be saved on the disk as a BDAT file.
  5. Execute SCRATCH, then enter and run the following program:
    
    10    INTEGER Table (320)
    20    ASSIGN @File to "NOCASE"
    30    ENTER @File;Table(*)
    40    LEXICAL ORDER IS Table(*)
    50    IF "Hello" = "hElLO" THEN
    60      PRINT "NO DIFFERENCE"
    70    ELSE
    80      PRINT "LEX DOESN'T WORK"
    90    END IF
    100   END
    

The message NO DIFFERENCE is printed. Similar results could have been achieved by using the UPC$ and LWC$ functions.

LEX_AID Details

Applications needing specialized collating sequences can be simplified by the use of the LEXICAL ORDER IS statement.

It is often easier to separate lexical tables into two arrays, one for the sequence number and a second for the mode entry. This simplifies the calculations of the mode entry. The two arrays are then merged into a single INTEGER array. You can list the LEX_AID program to see the operation.

(LIF_UTIL) LIF Utility

LIF_UTIL is a utility that contains elements of previous BASIC Workstation utilities:

DUMP Dump mass storage records in a variety of formats.
INITIALIZE Create non-standard sized LIF directories.
REPACK Repack a LIF disk for contiguous available space at the end of the disk.
UNPURGE Restore files previously purged from a LIF directory.
VERIFY_LIF Verify if the current MSI device is a LIF disk.
ZAP Clear (destroy files and data) the directory of a LIF disk.

Loading and Running the Utility

  1. Execute:
    
    LOAD "/opt/rmb/utils/LIF_UTIL"
    
    
  2. Execute:
        RUN
    

    or press the {{RUN}} key ([f3] in the System menu).

Choosing Options in the Utility

  1. Move the => cursor to point to the desired option by pressing the [down;] or [up;] cursor arrow keys.
  2. Press [Return] to select the option.

You can also use the {{Next}} or {{Previous}} softkeys to move the cursor, followed by the {{Select}} softkey to choose an option.

Formatted Record Dump

This part of LIF_UTIL dumps mass storage records in a variety of formats. To understand this section you may need to have a knowledge of LIF (Logical Interchange Format) disks.

Steps to Dump the Contents of a LIF Volume Record

  1. Select the Dump contents of a LIF volume record option in the main menu.
  2. Insert the disk which contains a record to be dumped into the disk drive.
  3. Type CONT or press the {{Continue}} softkey on the System menu. If your disk is not in the drive designated by the current msvs, enter an appropriate msvs before you continue.
  4. Select an alternative (see description below).

Several alternatives for dumping a record are selected via softkeys. On an ITF keyboard, toggle between softkey menus to see all options. The default dump is hexadecimal.

RECORD# This lets you select the record you wish to dump.
Hex Dumps a record in hexadecimal format.
Hex/ascii Dumps a record in hexadecimal/ASCII format, where control characters are masked out and replaced by periods.
LIF sys Dumps the LIF volume label in the correct format.
LIF dir Causes subsequent dumps to have a LIF directory format.
CAT Displays a catalog of the disk.
N=1, N-1 Allows you to increment or decrement the current record number and dumps a record according to the current format.
Integer Dumps a record in an integer format.
Oct/ascii Dumps a record in an octal/ASCII format. Control characters are masked out and replaced by periods.
Main Menu Returns you to the main menu.

If the program pauses after the fourth entry, type CONT or press the {{Continue}} softkey on the System menu to print the rest of the record.

(LIF_UTIL) LIF Utility

Extended Mass Storage Media Initialize

When you select Initialize a LIF disk, you should only be creating non-standard-sized LIF volumes. Standard LIF directories should be created using the INITIALIZE keyword (see the HP BASIC Language Reference).

  1. On the prompt, enter the msvs for the device which contains the disk you wish to initialize, or press [Return] to accept the current msvs.

  2. Insert the disk to be initialized and type CONT or press the {{Continue}} softkey on the System menu.

  3. Select the action with a softkey: {{YES}}, {{NO}}, or {{EXIT}}.

  4. Wait while the initialization actions take place. Do not interrupt the process. If you inserted a previously initialized disk, some additional options are provided:

  5. After initialization, enter a volume name (six alphanumeric characters, uppercase, alpha first character). The default is six blanks.

  6. You then enter a directory length and press [Return] or the {{Continue}} softkey on the System menu. The default is 14 physical records.

The program selects the optimum interleave factor for the given msvs.

Repack a LIF Disk

When you select Repack a LIF disk from the main menu, the currently MSI'd disk is repacked to give you contiguous available space at the end of the disk.

Pay attention to available softkey options.

  1. You are prompted for the msvs. Press [Return] only for the current msvs.
  2. When prompted, insert the disk to be repacked.
  3. Type CONT or the press the {{Continue}} softkey on the System menu. Note the options via softkeys (User 1 menu) and proceed. Arrows in the extended directory catalog point to purged files that are lost during repacking.

Restore Purged Files

When you select Restore purged files from the main menu, an extended CAT is displayed.

  1. Follow the prompts.
  2. Choose the correct type of file (ASCII of BDAT).
  3. Note what has and has not been purged during the extended CAT display. Arrows point to files previously purged.

Check Logical Interchange Format

  1. Select: Determine if current msvs is a LIF disk
  2. You are prompted to insert the disk to be checked.
  3. Type CONT or press the {{Continue}} softkey on the System menu.
  4. Wait a moment. Then, the status of your disk is displayed. It either meets the LIF standard or it does not.

(LIF_UTIL) LIF Utility

Clear the Directory of a Disk

Clear the directory of a disk by placing a -1 in the file type field of the first directory entry to denote the logical end of the directory (similar to INITIALIZE).

  1. Select Remove all files and data from a LIF disk option in the main menu.
  2. When prompted, enter the msvs (CONTINUE accepts default).
  3. Insert the correct disk, and type the {{YES}} softkey to erase the disk. This will destroy all files and data on the disk. (You can also type the {{NO}} softkey to terminate this function.)

(PHYREC) Physical Record CSUB

PHYREC copies a bit-by-bit memory integer array to a sector on a LIF mass storage media, and vice versa. PHYREC contains two CSUBs:

Phyread Copies data from the current msvs into an integer array.
Phywrite Copies data from the integer array to the specified msvs.

Caution
Indiscriminate use of Phywrite can cause loss of valuable data. Considerable programming and computer experience are required to effectively use PHYREC.

Using PHYREC

  1. Copy the CSUB into the current directory. Execute:
    
        COPY "/opt/rmb/rmb8_0/utils/PHYREC" TO "PHYREC"
        COPY "/opt/rmb/rmb8_0/utils/phyrec.sl" TO "phyrec.sl"
    
    
  2. Include Phyread, Phywrite in your program as needed. For example:
    
    400  LOADSUB ALL FROM "PHYREC"
    410  !
    420  Phyread(Sector,INTEGER Int_array(*))
    430  !
    

Details of Phyread

Phyread copies data from the current msvs into an integer array of one to six dimensions. For the example,


    Phyread(Sector,INTEGER Int_array(*))

Sector Replace Sector with a numeric expression. It is evaluated to a real, and rounded to specify the sector (address) on the disk where the copy begins. See "How LIF Disk is Sructured" for more information on sectors. A sector is assumed to contain 256 bytes. For example, a disk with 1024-byte physical sectors is accessed by four 256-byte logical sectors for each 1024-byte physical sector.
Int_array(*) The disk is read, beginning with the starting sector, and data is copied into an integer array (Int_array) in a row-major order. Data is copied until each array element is occupied or until an attempt is made to read beyond the end of data on the media (in this case, an error is reported).

When using arrays, be sure to use 0 or 1 OPTION BASE as required by the nature of your data. See HP BASIC Programming Guide.

Details of Phywrite

The Phywrite CSUB works similar to Phyread, except data is copied from the array to the media (an error is reported on an attempt to write beyond the end of the media).


     Phywrite(Sector,Int_array(*))

How LIF Disk is Structured

The following tables contain information about the contents of LIF disks. Use them to conceptualize how information is stored.

Structure of a LIF Disk
Sector\Number Description
0 Volume label
1 Empty (set to 0)
2-15 Directory. 14 sectors is the default, with 112 file entries (each sector is 256 bytes, 128 words, long).
16-xx Actual space for files.

How a LIF Volume Label is Structured

In sector number 0, the volume label contains the following words:

Structure of a LIF Volume Label
Word Number\(2 bytes) Contents
0 LIF disk identifier (100000 Octal)
1, 2, 3 Volume label: 6 characters long
4, 5 Directory start address (default is 2)
6 Reserved (10000 Octal)
7 0
8, 9 Length of directory (default is 14 sectors)
10 Reserved
11 0
12-20 Information on disk hardware (level 1 extensions)
21-126 Reserved (0)
127 Reserved

How a LIF Directory is Structured

The following table shows how sectors relate to file entries on a LIF directory (each sector is 128 words and each file entry is 16 words):

Structure of a LIF Directory
Sector\Number Contents
2 File entries 1-8
3 File entries 9-16
4 File entries 17-24
... ...
15 File entries 105-112

How File Entries are Structured

The following table shows the structure of an individual entry in a LIF directory.

Structure of a LIF File Entry
Word\Number Contents
0-4 File name. Each byte is one character; 10 characters are allowed.
5 File type. Codes for each file type are found here. Those supported by BASIC include (type follows code):
1 ASCII
0 (empty)
-1 Logical end of directory
-5775 BIN
-5791 BDAT
-5808 PROG
-12976 PROG2
-5822 SYSTM
-5813 HP-UX

File type codes are also used to indicate end of directory and an empty file entry.

6-7 File address. Numeric entry (two words) specifies the file's contents and start on the disk.
8-9 File length. Numeric entry (two words) specifies the file's size.
10-12 Creation time. Used to store the time when the file was made (three words: 12 BCD digits in the form YYMMDDHHMMSS).
13 Volume number. Used for operating systems that support multiple volumes mapped logically (not used by BASIC).
14 Protect code. A two-character password used for the file (0 for ASCII; default is 2 blanks for other file types).
15 Defined record size:
  • 0 implies BDAT file with 1 byte record size
  • ignored for ASCII but set to 0 for other system compatibility
  • ignored for PROG and PROG2 but set to 128 for future compatibility (it may appear on the display as 256).

Comparing LIF Directory Values to a CAT List

The following table shows how LIF directory entries compare to those done in a CAT list.

Differences Between LIF Directory and CAT Values
Field Value File Type Directory\Value CAT
file type ASCII

Empty entry

Logical end of directory

BDAT

BIN

PROG

PROG21

SYSTEM

HP-UX

1

0

-1

-5791

-5775

-5808

-12976

-5822

-5813

ASCII

BDAT

BIN

PROG

PROG2

SYSTEM

HP-UX

file address BDAT

All others

n

n

n + 1

n

file length BDAT Number of sectors Number of sectors users sets at creation. Read words 4 and 5 of system sector. Stores as first sector of file.
protect code ASCII

SYSTEM

HP-UX

Others

0

Upperword start address

Upper word eof byte

2 character code

defined record size ASCII

BIN

PROG

PROG2

HP-UX

BDAT

   

   

SYSTM

0

128

128

128

Lower word eof byte

If n=0

If n>0

(length in words)

Lower word start address

256

256

256

256

           

1

2n

(length in bytes)

256

1  Only on HP BASIC/UX 700.

Unsupported BASIC/WS Utilities

The following table lists some of the BASIC/WS utilities that are not supported on BASIC/UX. In many cases, the functionality of the utility is covered by BASIC/UX in another capacity.

Unsupported Utilities
BASIC/WS \Utility Description

BACKUP/RESTORE Use HP-UX back-up. See "Backing Up the System" in Chapter 4.
CAT Use CAT TO statement. See HP BASIC Language Reference.
CBACKUP Not supported.
CONFIGUR Not supported.
CPR Supported on BASIC/UX 300/400. Not supported on BASIC/UX 700.
CREATE See HP BASIC Language Reference for statement usage.
DISK_UTIL Not supported. See separate entries for MKHFS, HFSCK, and BACKUP/RESTORE.
FBACKUP Not supported.
FONT_ED Not supported.
GPIO_STAT Supported on BASIC/UX 300/400. Not supported on BASIC/UX 700.
HFSCK Use fsck. See the section Checking File System Consistency Running the fsck Command in the chapter Managing the File System in the HP-UX System Administration Tasks manual.
HPIB_STAT Supported on BASIC/UX 300/400. Not supported on BASIC/UX 700.
INFO Not supported.
INITIALIZE See LIF_UTIL and HP BASIC Language Reference entry for INITIALIZE.
LISTER Functionality supported by:

  • Load file into BASIC/UX.
  • Set PRINTER IS |pr |lp (see HP-UX Reference).
  • Use the LIST statement (see HP BASIC Language Reference).
Loader Utility Not supported.
MASS_STOR FILE SIZER, PURGE, Change MSVS, Extended CAT, Change Volume Label are not supported. UNPURGE, REPACK and ZAP are a part of LIF_UTIL.
MEM_UTILS Not supported.
MKHFS See the section Creating a File System in the chapter Managing the File System in the HP-UX System Administration Tasks manual.
RS232_STAT Supported on BASIC/UX 300/400. Not supported on BASIC/UX 700.
TAPEBACKUP Not supported.
82905DUMP Not supported.
VERIFY Supported on BASIC/UX 300/400. Not supported on BASIC/UX 700.
VME Driver Not supported.