Li-Chen Wang

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]

Homebrew Computer Club

[edit]
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

[edit]

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".[2] 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.[3] He encouraged others to adapt his source code and publish their adaptions, as with Roger Rauskolb's version published in Interface Age.[6]

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

Tandy Corporation

[edit]

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

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."[10]

Cromemco

[edit]
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.[11] 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.[12]

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

Other contributions

[edit]

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

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.

References

[edit]
  1. ^ Lash, Bob. "Memoir of a Homebrew Computer Club Member". Retrieved May 6, 2013.
  2. ^ a b 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. ^ a b "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. ^ 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")
  7. ^ "People's Computer Company" (PDF). Archived (PDF) from the original on 2018-03-22. Retrieved 25 December 2019.
  8. ^ Turnbull, Pete. "Startrek.asc". Retrieved 25 December 2019.
  9. ^ Welsh, David and Welsh, Theresa Priming the Pump: How TRS-80 Enthusiasts Helped Spark the PC Revolution p. 7, Copyright © 2007
  10. ^ Crenshaw, Jack W. "More on Interpreters". Programmers Toolbox Column. Retrieved 5 April 2011.
  11. ^ Helmers, Carl (June 1976). "About the Cover". BYTE (10): 6–7. Retrieved February 18, 2013.
  12. ^ Veit, Stan (March 1990). "Cromemco - Innovation and Reliability". Computer Shopper. 3. 10 (122): 481–487.
  13. ^ "3K Control Basic Instruction Manual" (PDF). Cromemco. Archived from the original (PDF) on 2013-12-22. Retrieved 2013-02-18.
  14. ^ Wang, Li-Chen, "An Interactive Programming Language for Control of Robots", Dr. Dobb's Journal, vol. 2, no. 10
[edit]