Li-Chen Wang

Last updated
The use of Copyleft; All Wrongs Reserved in 1976 Copyleft All Wrongs Reserved.png
The use of Copyleft; All Wrongs Reserved in 1976

Li-Chen Wang (born 1935) is an American computer engineer, best known for his Palo Alto Tiny BASIC for Intel 8080-based microcomputers. He was a member of the Homebrew Computer Club and made significant contributions to the software for early microcomputer systems from Tandy Corporation and Cromemco. [1] He made early use of the word copyleft , in Palo Alto Tiny BASIC's distribution notice "@COPYLEFT ALL WRONGS RESERVED" in June 1976. [2]

Contents

Homebrew Computer Club

From left to right: Li-Chen Wang, Len Shustek, John Draper, Gordon French, Marty Spergel, Bob Lash, Ralph Campbell. Homebrew Computer Club reunion 2001.jpg
From left to right: Li-Chen Wang, Len Shustek, John Draper, Gordon French, Marty Spergel, Bob Lash, Ralph Campbell.

The Homebrew Computer Club was a hotbed of BASIC development, with members excited by Altair BASIC. Fellow members Steve Wozniak and Tom Pittman would develop their own BASICs (Integer BASIC and 6800 Tiny BASIC respectively). Wang analyzed the Altair BASIC code and contributed edits to Tiny BASIC Extended. [3] Wang published in the newsletter a loader for the 8080, commenting on the Open Letter to Hobbyists: [4]

Altair Basic has a bootstrap loader of twenty or twenty one bytes long. In principle, you can use this bootstrap to load in your own loader which will then load in your program. However, since Mr. Bill Gates claims that he did not get payed [sic] enough and is in the mood of calling people thieves. (See HBCC newsletter '12-1.) I decided to code one myself. What comes out is a bootstrap of sixteen bytes long. This is still too long, maybe our professional experts can make it shorter. For the time being you are welcome to copy mine and I will not call you a thief (this includes Mr. Gates).

Palo Alto Tiny BASIC

Palo Alto Tiny BASIC was the fourth version of a Tiny BASIC interpreter that appeared in Dr. Dobb's Journal of Computer Calisthenics & Orthodontia , but probably the most influential. It appeared in the May 1976 Vol 1, No. 5 issue, [5] and distinguished itself from other versions of Tiny BASIC through a novel means of abbreviating commands to save memory, and the inclusion of an array variable ("@"). The interpreter occupied 1.77 kilobytes of memory and assumed the use of a Teletype Machine (TTY) for user input/output. An erratum to the original article appeared in the June/July issue of Dr. Dobb's (Vol. 1, No 6). This article also included information on adding additional I/O devices, using code for the VDM video display by Processor Technology as an example.

Wang was one of the first to use word copyleft , in June 1976. In Palo Alto Tiny BASIC's distribution notice, he had written "@COPYLEFT ALL WRONGS RESERVED". [6] Tiny BASIC was not distributed under any formal form of copyleft distribution terms but was presented in a context where source code was being shared and modified. In fact, Wang had earlier contributed edits to Tiny BASIC Extended before writing his own interpreter. [7] He encouraged others to adapt his source code and publish their adaptions, as with Roger Rauskolb's version published in Interface Age . [8]

Wang also wrote a STARTREK program in his Tiny BASIC that appeared in the July 1976 issue of the People's Computer Company Newsletter . [9] [10]

Tandy Corporation

The original prototype TRS-80 Model I that was demonstrated for Charles Tandy to sell the idea ran Li-Chen's BASIC. [11]

Note the "LICHEN" (Li-Chen) marked on this Exatron ROM produced for the TRS-80 Model 1 Exatron Stringy Floppy drive Li-Chen Wang Exatron TRS-80 Model 1 ROM.jpg
Note the "LICHEN" (Li-Chen) marked on this Exatron ROM produced for the TRS-80 Model 1 Exatron Stringy Floppy drive

Wang's mark also shows up in and on the Exatron Stringy Floppy ROM for the TRS-80 Model I. Embedded Systems columnist Jack Crenshaw calls Wang's Manchester encoding code, achieving 14K read/write speeds, a "work of art." [12]

Cromemco

Kaleidoscope was written by Li-Chen Wang for the Cromemco Dazzler. It was only 127 bytes long, but it stopped traffic in New York City. Kaleidoscope for Cromemco Dazzler.jpg
Kaleidoscope was written by Li-Chen Wang for the Cromemco Dazzler. It was only 127 bytes long, but it stopped traffic in New York City.

The first color graphics interface for microcomputers, developed by Cromemco and called the Dazzler, was introduced in 1976 with a demonstration program called "Kaleidoscope" written by Wang. According to BYTE Magazine the program, written in 8080 assembly code, was only 127 bytes long. [13] But this short program stopped traffic on 5th Avenue in New York City.

Stan Veit was the owner of The Computer Mart in New York City. He placed a color television in his store window displaying the colorful, ever-changing kaleidoscopic patterns generated by the Dazzler and Wang's software. According to Veit: “People driving by began to stop and look – they had never seen anything like it before. In a short time the Dazzler had caused a traffic jam on 5th Avenue!” The police had to contact the building landlord and make him disconnect the television. [14]

Wang also developed "3K Control Basic" for Cromemco. [15]

Other contributions

Wang also created WSFN ("Which Stands for Nothing"), a programming language for controlling robots and published by Dr. Dobb's Journal in September 1977. [16]

In 2001 Wang was re-elected for a second term as chair of the Infrared Data Association's Technical and Test committee. In 2004 Wang was employed as Chief Technical Officer at ACTiSYS in Fremont, California, focused on IR/mobile products.

Related Research Articles

<span class="mw-page-title-main">CP/M</span> Discontinued family of computer operating systems

CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/85-based microcomputers by Gary Kildall of Digital Research, Inc. Initially confined to single-tasking on 8-bit processors and no more than 64 kilobytes of memory, later versions of CP/M added multi-user variations and were migrated to 16-bit processors.

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.

Small-C is both a subset of the C programming language, suitable for resource-limited microcomputers and embedded systems, and an implementation of that subset. Originally valuable as an early compiler for microcomputer systems available during the late 1970s and early 1980s, the implementation has also been useful as an example simple enough for teaching purposes.

<span class="mw-page-title-main">Homebrew Computer Club</span> Computer hobbyist users group in California

The Homebrew Computer Club was an early computer hobbyist group in Menlo Park, California, which met from March 1975 to December 1986. The club had an influential role in the development of the microcomputer revolution and the rise of that aspect of the Silicon Valley information technology industrial complex.

<i>Dr. Dobbs Journal</i> American computer magazine

Dr. Dobb's Journal (DDJ) was a monthly magazine published in the United States by UBM Technology Group, part of UBM. It covered topics aimed at computer programmers. When launched in 1976, DDJ was the first regular periodical focused on microcomputer software, rather than hardware. In its last years of publication, it was distributed as a PDF monthly, although the principal delivery of Dr. Dobb's content was through the magazine's website. Publication ceased at the end of 2014, with the archived website continuing to be available online.

"An Open Letter to Hobbyists" is a 1976 open letter written by Bill Gates, the co-founder of Microsoft, to early personal computer hobbyists, in which Gates expresses dismay at the rampant software piracy taking place in the hobbyist community, particularly with regard to his company's software.

Micro Instrumentation and Telemetry Systems (MITS) was an American electronics company founded in Albuquerque, New Mexico that began manufacturing electronic calculators in 1971 and personal computers in 1975.

65535 is the integer after 65534 and before 65536.

IMDOS was a modified version of the CP/M operating system for Intel 8080 processors, used by IMS Associates, Inc. (IMS) for their IMSAI 8080 personal computer. Since MITS would not license their operating system to other manufacturers, IMS approached Gary Kildall and paid a fixed fee of $25,000 for a non-exclusive CP/M license.

People's Computer Company (PCC) was an organization, a newsletter and, later, a quasiperiodical called the Dragonsmoke. PCC was founded and produced by Dennis Allison, Bob Albrecht and George Firedrake in Menlo Park, California in the early 1970s.

WSFN is an interpreted programming language for controlling robots created by Li-Chen Wang. It was designed to be as small as possible, a "tiny" language, similar to Wang's earlier effort, Palo Alto Tiny BASIC. WSFN was first published in Dr. Dobb's Journal in September 1977.

Cromemco was a Mountain View, California microcomputer company known for its high-end Z80-based S-100 bus computers and peripherals in the early days of the personal computer revolution.

<span class="mw-page-title-main">Cromemco Dazzler</span>

The Cromemco Dazzler was a graphics card for S-100 bus computers introduced in a Popular Electronics cover story in 1976. It was the first color graphics card available for microcomputers. The Dazzler was the first of a succession of increasingly capable graphics products from Cromemco which, by 1984, were in use at 80% of all television stations in the U.S. for the display of weather, news, and sports graphics.

<span class="mw-page-title-main">Altair BASIC</span> Programming language interpreter software, first product developed by Microsoft

Altair BASIC is a discontinued interpreter for the BASIC programming language that ran on the MITS Altair 8800 and subsequent S-100 bus computers. It was Microsoft's first product, distributed by MITS under a contract. Altair BASIC was the start of the Microsoft BASIC product range.

<span class="mw-page-title-main">Cromemco Bytesaver</span>

The Bytesaver, introduced by Cromemco in 1976, was the first programmable memory board for the MITS Altair and S-100 bus microcomputer systems. The Bytesaver had sockets for 8 UV-erasable EPROMs providing up to 8 Kbytes of storage. The EPROMs could be programmed by the Bytesaver, or read as computer memory. In the history of microcomputer systems, the Bytesaver was the first viable alternative to the use of punched paper tape for storing programs, and has been called “a great advance in microcomputer technology”.

Dennis Allison is a lecturer at Stanford University, a position he has held since 1976.

Bob Albrecht is a key figure in the early history of microcomputers. He was one of the founders of the People's Computer Company and its associated newsletters which turned into Dr. Dobb's Journal. He also brought the first Altair 8800 to the Homebrew Computer Club and was one of the main supporters of the effort to make Tiny BASIC a standard on many early machines. Albrecht has authored a number of books on BASIC and other computer topics. He is mentioned as one of the "who's who" in Steven Levy's Hackers: Heroes of the Computer Revolution.

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

SCELBAL, short for SCientific ELementary BAsic Language, is a version of the BASIC programming language released in 1976 for the SCELBI and other early Intel 8008 and 8080-based microcomputers like the Mark-8. Later add-ons to the language included an extended math package and string handling. The original version required 8 kB of RAM, while the additions demanded at least 12 kB.

<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. Lash, Bob. "Memoir of a Homebrew Computer Club Member" . Retrieved May 6, 2013.
  2. Wang, Li-Chen (May 1976). "Palo Alto Tiny BASIC". Dr. Dobb's Journal of Computer Calisthenics & Orthodontia, Running Light Without Overbyte . 1 (5): 12–25. (NB. Source code begins with the following six lines. "TINY BASIC FOR INTEL 8080; VERSION 1.0; BY LI-CHEN WANG; 10 JUNE, 1976; @COPYLEFT; ALL WRONGS RESERVED". The June date in the May issue is correct. The magazine was behind schedule, the June and July issues were combined to catch up.)
  3. "Tiny BASIC Extended". Dr. Dobb's Journal of Computer Calisthenics & Orthodontia, Running Light Without Overbyte . 1 (2). February 1976.
  4. Wang, Lichen (April 30, 1976). "BOOTSTRAP THE 8080" (PDF). Homebrew Computer Club Newsletter. 2 (4): 9. Archived (PDF) from the original on 2015-04-07. Retrieved 10 October 2020.
  5. Wang, Li-Chen (May 1976). "Palo Alto Tiny BASIC". Dr. Dobb's Journal of Computer Calisthenics & Orthodontia, Running Light Without Overbyte. 1 (5): 12–25. Source code begins with the following six lines. TINY BASIC FOR INTEL 8080; VERSION 1.0; BY LI-CHEN WANG; 10 JUNE, 1976; @COPYLEFT; ALL WRONGS RESERVED
  6. Wang, Li-Chen (May 1976). "Palo Alto Tiny BASIC". Dr. Dobb's Journal of Computer Calisthenics & Orthodontia, Running Light Without Overbyte . 1 (5): 12–25. (NB. Source code begins with the following six lines. "TINY BASIC FOR INTEL 8080; VERSION 1.0; BY LI-CHEN WANG; 10 JUNE, 1976; @COPYLEFT; ALL WRONGS RESERVED". The June date in the May issue is correct. The magazine was behind schedule, the June and July issues were combined to catch up.)
  7. "Tiny BASIC Extended". Dr. Dobb's Journal of Computer Calisthenics & Orthodontia, Running Light Without Overbyte . 1 (2). February 1976.
  8. Rauskolb, Roger (December 1976). "Dr. Wang's Palo Alto Tiny BASIC". Interface Age. 2 (1): 92–108. (NB. The source code begins with the following nine lines: "TINY BASIC FOR INTEL 8080; VERSION 2.0; BY LI-CHEN WANG; MODIFIED AND TRANSLATED TO INTEL MNEMONICS; BY ROGER RAUSKOLB; 10 OCTOBER, 1976 ; @COPYLEFT; ALL WRONGS RESERVED")
  9. "People's Computer Company" (PDF). Archived (PDF) from the original on 2018-03-22. Retrieved 25 December 2019.
  10. Turnbull, Pete. "Startrek.asc" . Retrieved 25 December 2019.
  11. Welsh, David and Welsh, Theresa Priming the Pump: How TRS-80 Enthusiasts Helped Spark the PC Revolution p. 7, Copyright © 2007
  12. Crenshaw, Jack W. "More on Interpreters". Programmers Toolbox Column. Retrieved 5 April 2011.
  13. Helmers, Carl (June 1976). "About the Cover". BYTE (10): 6–7. Retrieved February 18, 2013.
  14. Veit, Stan (March 1990). "Cromemco - Innovation and Reliability". Computer Shopper . 3. 10 (122): 481–487.
  15. "3K Control Basic Instruction Manual" (PDF). Cromemco. Archived from the original (PDF) on 2013-12-22. Retrieved 2013-02-18.
  16. Wang, Li-Chen, "An Interactive Programming Language for Control of Robots", Dr. Dobb's Journal, vol. 2, no. 10