- 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 theirHP 2100 line ofminicomputer s. The system implemented a dialect of theBASIC 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 TSB 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 an ASR-33Teletype connected directly to the I/O processor or through amodem oracoustic coupler . Account names were a combination of one alphabetic character followed by three numbers, eg: B001. Privileged accounts started with the letter "A" and had some additional command and program storage capabilities.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-loadeddisk storage . Privileged users could also store programs on the much-faster drum. Backup was tomagnetic 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, eg: 10 PRINT "HELLO WORLD" and could only contain one statement although multiple variable assignments were allowed eg: 20 LET A=B=C=42
The language supported:
* Unconditional program flow-control viaGOTO statements, andSubroutine s via theGOSUB 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-bytefloating-point numbers.
* String variables of the form "A$" or "An$". Strings could store up to 72 characters
* One- or two-dimensional matrix (array) variables of the form "A [x,y] " or "An [x,y] "
* 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 TeletypeSub-strings within strings were accessed using a substring notation: "A$ [L,R] " 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.
References
*The Hewlett Packard Company (May 1976). " [http://bitsavers.trailing-edge.com/pdf/hp/2000TSB/22687-90009_LearningTSB.pdf Learning Timeshare BASIC"]
External links
* [http://www.bitsavers.org/pdf/hp/2000TSB/ Documentation (scanned into PDF) archive]
* [http://tech.groups.yahoo.com/group/hp2000family/ HP 2000 Users Group]
Wikimedia Foundation. 2010.