HP Time-Shared BASIC

HP Time-Shared BASIC (HP TSB) was a computer system sold by the Hewlett-Packard Corporation in the late 1960s and 1970s based on their HP 2100 line of minicomputers. The system implemented a dialect of the BASIC programming language and a rudimentary user account and program library system. The software run on the system was also known by its versioned name such as HP 2000C Time-Shared BASIC and the operating system came in different varieties — 2000A, 2000B, 2000C, High-Speed 2000C, 2000E, 2000F, and 2000/Access.

Except for the 2000A and 2000E systems, the system was implemented using a dual-processor architecture. One fully configured HP 2100 processor was used for execution of most of the system code and all of the user code and a second, smaller HP 2100 processor was used to handle the RS-232 serial lines through which the time-sharing users connected. Depending on the hardware configuration, the system supported between 16 and 32 simultaneous remote users with the possibility of hundreds of user accounts. The usual terminal for a TSB system was a Teletype Model 33 ASR and connected directly to the I/O processor or through a modem or acoustic coupler. Account names were a combination of one alphabetic character followed by three decimal digits, e.g., B001. Privileged accounts started with the letter "A" and had some additional command and program storage capabilities. The Superuser account was A000. (In the off-shoot system created by BTI Computer Systems accounts beginning with "@" were superuser accounts.)

During execution, user programs were swapped to fixed-head magnetic drum storage. When not executing, user programs were stored on moving-head cartridge- or pack-loaded disk storage. Privileged users could also store programs on the much-faster drum. Backup was to magnetic tape.

The language was a fairly standard implementation of BASIC, providing an integrated editing and runtime environment. Statements were analyzed for correct syntax as they were entered and then stored in semi-compiled form. Each BASIC statement had to be on a uniquely numbered line, e.g.: 10 PRINT "HELLO WORLD" and could only contain one statement, although multiple variable assignments were allowed, e.g., 20 LET A=B=C=42

The language supported:

  • Unconditional program flow-control via GOTO statements, and Subroutines via the GOSUB and RETURN statements
  • Conditional flow-control via IF/THEN statement and simple variable-based block loop FOR and NEXT statements
  • Calculated flow-control via the GOTO/OF statement
  • Numeric variables of the form "A" or "An" (where A is a single letter and n a single, optional digit) stored as 4-byte floating-point numbers.
  • String variables of the form "A$" or "A0$" or "A1$". Strings could store up to 255 characters
  • One- or two-dimensional matrix (array) variables of the form "A" or "An"
  • Matrix operations
  • Logical operators
  • Simple built-in mathematical functions including trigonometric (SIN,COS,TAN), logarithms (LOG, EXP), square root (SQR), and random number generator (RND)
  • File operations
  • Punched tape operations using a Teletype

Substrings within strings were accessed using a substring notation: "A$" where L specified the leftmost byte to be accessed and R specified the rightmost byte to be accessed. This is in sharp contrast to some other BASICs that use functions such as LEFT$, MID$, and RIGHT$ to access substrings, although ANSI BASIC continues to use a similar substring syntax to that introduced by Hewlett-Packard.

Famous quotes containing the word basic:

    The basic Female body comes with the following accessories: garter belt, panti-girdle, crinoline, camisole, bustle, brassiere, stomacher, chemise, virgin zone, spike heels, nose ring, veil, kid gloves, fishnet stockings, fichu, bandeau, Merry Widow, weepers, chokers, barrettes, bangles, beads, lorgnette, feather boa, basic black, compact, Lycra stretch one-piece with modesty panel, designer peignoir, flannel nightie, lace teddy, bed, head.
    Margaret Atwood (b. 1939)