Level I BASIC

Last updated
Level I BASIC
Designed by Steve Leininger
First appeared1977
Influenced by
Tiny BASIC, Palo Alto Tiny BASIC
Influenced
TRS-80 Level II BASIC

Level I BASIC is a dialect of the BASIC programming language that shipped with the first TRS-80, the TRS-80 Model I.

Contents

Background

Tandy employee Steve Leininger had written the first draft of the NIBL (National Industrial Basic Language) BASIC interpreter for the SC/MP while employed at National Semiconductor . [1] Unable to take that source code with him, he initially hired a consultant to write an interpreter. When that contractor failed to deliver, [2] he adapted Li-Chen Wang's public domain version of Tiny BASIC for the original prototype of the TRS-80 Model I. This required only 2 KB of memory for the interpreter, leaving an average of another 2 KB free for user programs in common 4 KB memory layouts of early machines.

During a demonstration to executives, Tandy Corporation's then-President Charles Tandy tried to enter his salary but was unable to do so. This was because Tiny BASIC used 2-byte signed integers with a maximum value of 32,767. The result was a request for floating-point math for the production version. [3]

This led to the replacement of the existing 16-bit integer code with a version using 32-bit single-precision floating-point numbers. Leininger further extended the language to support input/output routines (keyboard, CRT, and reading and writing from cassettes). The language fit within 4 KB of ROM. [4]

In a presentation announcing the TRS-80, Leininger said, "What we did, we went back through the Wang Basic and completely tore out about 60 per cent of it, the integer overhead and all that kind of stuff." [5]

Further Development

When the TRS-80 was introduced, three versions of BASIC were announced:

The Level I language was not available for the TRS-80 Model II but briefly re-surfaced as the baseline package for the TRS-80 Model III in 1981, selling for $699 compared to the $999 system with Model III BASIC (another Microsoft product). The language was identical to the Model I version but with the addition of two commands, the LLIST and the LPRINT, to output to a printer. [7]

Language features

Level I BASIC supported the following keywords: [8]

Like Palo Alto Tiny BASIC on which it was based, Level I BASIC did not tokenize keywords like Microsoft BASIC but used abbreviations to reduce the amount of memory used by keywords, such as F. for FOR, G. for GOTO, P. for PRINT, and T. for THEN.

The language supported 26 single-precision variables A to Z, two strings A$ and B$ (limited to 16 characters each), and one pre-defined array A(). The language lacked a DIM statement for dimensioning the array, the size of which was determined by available memory not used by the program listing (4 bytes per item). [9] As the language lacked many common math functions, the manual provided subroutine listings for square root, exponentiation, exponentials, logarithms, arithmetic sign, and trigonometry functions. [10]

Graphics support was as minimal a set as possible: CLS, for CLear Screen; SET(X,Y), which lighted a location on the display; RESET(X,Y), which turned it off; and POINT(X,Y), which returned 1 if a location was lit, 0 if it was not. The coordinates could be any expression and ranged from 0 to 127 for the X-axis and 0 to 47 for the Y-axis. Only black-and-white display was supported. [11]

Related Research Articles

Applesoft BASIC is a dialect of Microsoft BASIC, developed by Marc McDonald and Ric Weiland, supplied with the Apple II series of computers. It supersedes Integer BASIC and is the BASIC in ROM in all Apple II series computers after the original Apple II model. It is also referred to as FP BASIC because of the Apple DOS command used to invoke it, instead of INT for Integer BASIC.

<span class="mw-page-title-main">BASIC</span> Family of programming languages

BASIC is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College in 1963. They wanted to enable students in non-scientific fields to use computers. At the time, nearly all computers required writing custom software, which only scientists and mathematicians tended to learn.

<span class="mw-page-title-main">TRS-80</span> 1977 microcomputer by Tandy Corporation

The TRS-80 Micro Computer System is a desktop microcomputer launched in 1977 and sold by Tandy Corporation through their Radio Shack stores. The name is an abbreviation of Tandy Radio Shack, Z80 [microprocessor]. It is one of the earliest mass-produced and mass-marketed retail home computers.

Tiny BASIC is a family of dialects of the BASIC programming language that can fit into 4 or fewer KBs of memory. Tiny BASIC was designed in response to the open letter published by Bill Gates complaining about users pirating Altair BASIC, which sold for $150. Tiny BASIC was intended to be a completely free version of BASIC that would run on the same early microcomputers.

<span class="mw-page-title-main">Atari BASIC</span> Dialect of the BASIC programming language

Atari BASIC is an interpreter for the BASIC programming language that shipped with the Atari 8-bit family of 6502-based home computers. Unlike most American BASICs of the home computer era, Atari BASIC is not a derivative of Microsoft BASIC and differs in significant ways. It includes keywords for Atari-specific features and lacks support for string arrays, for example.

Microsoft BASIC is the foundation software product of the Microsoft company and evolved into a line of BASIC interpreters and compiler(s) adapted for many different microcomputers. It first appeared in 1975 as Altair BASIC, which was the first version of BASIC published by Microsoft as well as the first high-level programming language available for the Altair 8800 microcomputer.

Integer BASIC is a BASIC interpreter written by Steve Wozniak for the Apple I and Apple II computers. Originally available on cassette for the Apple I in 1976, then included in ROM on the Apple II from its release in 1977, it was the first version of BASIC used by many early home computer owners.

Sinclair BASIC is a dialect of the programming language BASIC used in the 8-bit home computers from Sinclair Research and Timex Sinclair. The Sinclair BASIC interpreter was made by Nine Tiles Networks Ltd.

<span class="mw-page-title-main">TRS-80 MC-10</span>

The TRS-80 MC-10 microcomputer is a lesser-known member of the TRS-80 line of home computers, produced by Tandy Corporation in the early 1980s and sold through their RadioShack chain of electronics stores. It was a low-cost alternative to Tandy's own TRS-80 Color Computer to compete with entry-level machines such as the VIC-20 and Sinclair ZX81.

<span class="mw-page-title-main">Tandy Pocket Computer</span>

The Tandy Pocket Computer or TRS-80 Pocket Computer is one of a line of 1980s small pocket computers—calculator-sized programmable computing devices—sold by Tandy Corporation under the "Tandy" or "RadioShack TRS-80" brands.

MBASIC is the Microsoft BASIC implementation of BASIC for the CP/M operating system. MBASIC is a descendant of the original Altair BASIC interpreters that were among Microsoft's first products. MBASIC was one of the two versions of BASIC bundled with the Osborne 1 computer. The name "MBASIC" is derived from the disk file name MBASIC.COM of the BASIC interpreter.

<span class="mw-page-title-main">TRS-80 Model 100</span> Portable computer introduced in 1983

The TRS-80 Model 100 is a portable computer introduced in April 1983. It is one of the first notebook-style computers, featuring a keyboard and liquid-crystal display, in a battery-powered package roughly the size and shape of a notepad or large book.

Color BASIC is the implementation of Microsoft BASIC that is included in the ROM of the Tandy/Radio Shack TRS-80 Color Computers manufactured between 1980 and 1991. BASIC is a high level language with simple syntax that makes it easy to write simple programs. Color BASIC is interpreted, that is, decoded as it is run.

Galaksija BASIC was the BASIC interpreter of the Galaksija build-it-yourself home computer from Yugoslavia. While being partially based on code taken from TRS-80 Level 1 BASIC, which the creator believed to have been a Microsoft BASIC, the extensive modifications of Galaksija BASIC—such as to include rudimentary array support, video generation code and generally improvements to the programming language—is said to have left not much more than flow-control and floating point code remaining from the original.

<span class="mw-page-title-main">TRS-80 Model II</span>

The TRS-80 Model II is a computer system launched by Tandy in October 1979, and targeted at the small-business market. It is not an upgrade of the original TRS-80 Model I, but a new system.

North Star BASIC was a dialect of the BASIC programming language for the Intel 8080 microprocessor used on the North Star Horizon and available for purchase on other S-100 bus machines of the late 1970s.

BASIC 1.0 is the standard BASIC language for Thomson computers, which is the reference for the entire range. This is an implementation of Microsoft BASIC (BASIC-69). It was used to introduce children from France to programming in the 1980s. Three languages were mainly taught: LSE, BASIC and LOGO. School textbooks programs were given in BASIC 1.0 for Thomson and sometimes in ExelBasic for the Exelvision EXL 100.

<span class="mw-page-title-main">BASIC interpreter</span> Interpreter that enables users to enter and run programs in the BASIC language

A BASIC interpreter is an interpreter that enables users to enter and run programs in the BASIC language and was, for the first part of the microcomputer era, the default application that computers would launch. Users were expected to use the BASIC interpreter to type in programs or to load programs from storage.

References

  1. "NIBL". Dr. Dobb's Journal of Computer Calisthenics & Orthodontia, Running Light Without Overbyte . 1 (10). November 1976.
  2. Lorenzo, Mark (2017). Endless Loop: The History of the BASIC Programming Language. Philadelphia: SE Books. p. 80. ISBN   978-1974-27707-0.
  3. Welsh, David; Welsh, Theresa (2007). Priming the Pump: How TRS-80 Enthusiasts Helped Spark the PC Revolution. p. 7.
  4. Reed, Matthew. "Level I BASIC". TRS-80.org. Retrieved 27 August 2017.
  5. "Interview with Steven W. Leininger". TRS-80.com. Retrieved 28 August 2017.
  6. Thomas, Wes (Sep–Oct 1977). "Radio Shack's $600 Home Computer". Creative Computing. 3 (5): 94–95.
  7. Reed, Matthew. "Was there a Level I Model III?". TRS-80.org. Retrieved 27 August 2017.
  8. Lien, David (1977). User's Manual for Level I (First ed.). Fort Worth, TX: Tandy Corporation. pp. 232–233. Retrieved 2 November 2017.
  9. Lien, David (1977). User's Manual for Level I (First ed.). Fort Worth, TX: Tandy Corporation. pp. 123–132. Retrieved 2 November 2017.
  10. Lien, David (1977). User's Manual for Level I (First ed.). Fort Worth, TX: Tandy Corporation. pp. 216–220. Retrieved 2 November 2017.
  11. Lien, David (1977). User's Manual for Level I (First ed.). Fort Worth, TX: Tandy Corporation. pp. 105–108, 137. Retrieved 9 August 2020.