Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Tiny BASIC
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Palo Alto Tiny BASIC=== {{Infobox programming language | name = Palo Alto Tiny BASIC | logo = <!-- (filename) --> | logo caption = | screenshot = <!-- (filename) --> | screenshot caption = | paradigm = <!-- or: | paradigms = --> | family = | designer = <!-- or: | designers = --> | developer = Li Chen Wang | released = 1976 | latest release version = | latest release date = <!-- {{start date and age|YYYY|MM|DD|df=yes/no}} --> | latest preview version = | latest preview date = <!-- {{start date and age|YYYY|MM|DD|df=yes/no}} --> | typing = | scope = | programming language = | discontinued = | platform = | operating system = | license = Public domain | file ext = | file format = <!-- or: | file formats = --> | website = <!-- {{url|www.example.com}} --> | implementations = | dialects = 3K Control Basic | influenced by = Tiny BASIC Design Note, Tiny BASIC Extended | influenced = [[Bally Astrocade#Astro BASIC|Astro BASIC]], [[Level I BASIC]], [[Sharp PC-1211|Sharp PC-1211 BASIC]] }} One of the most popular of the many versions of Tiny BASIC was Palo Alto Tiny BASIC, or PATB for short, by [[Li-Chen Wang]]. PATB first appeared in the May 1976 edition of ''Dr. Dobbs'', written in a custom [[assembly language]] with non-standard mnemonics. This led to further ports that worked with conventional assemblers on the 8080.<ref name=revisit/> The first version of the interpreter occupied 1.77 [[kilobyte]]s of memory and assumed the use of a [[Teleprinter|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 the word ''copyleft''. In Palo Alto Tiny BASIC's distribution notice, he had written "@COPYLEFT ALL WRONGS RESERVED".<ref>{{Cite journal|last=Wang|first=Li-Chen|author-link=Li-Chen Wang|date=May 1976|title=Palo Alto Tiny BASIC|journal=[[Dr. Dobb's Journal|Dr. Dobb's Journal of Computer Calisthenics & Orthodontia, Running Light Without Overbyte]]|volume=1|issue=5|pages=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.)</ref> 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.<ref name="Tiny BASIC Extended"/> He encouraged others to adapt his source code and publish their adaptions, as with Roger Rauskolb's version of PATB published in ''[[Interface Age]]''.<ref name="issue1976"/> He also published a third version in ''PCC's Reference Book of Personal and Home Computing''.<ref>{{cite book |last1=McCabe |first1=Dwight [editor] |title=PCC's Reference Book of Personal and Home Computing |date=July 1, 1977 |publisher=People's Computer Company |location=Menlo Park, CA |isbn=0-918790-02-6 |pages=248 |edition=1st}}</ref> One of the most notable changes in PATB is the addition of the [[for loop|FOR...NEXT loop]]. In the original TB, loops could only be implemented using {{code|IF}} and {{code|GOTO}}. As in [[Microsoft BASIC]], the upper and lower bounds of the loop were set on loop entry, and did not change during the loop, so if one of the bounds was based on a variable expression; changing the variable did not change the bound. The {{code|STEP}} modifier was optional, as in MS.<ref name=revisit/> Another significant change was the ability to place several statements on a single line. For reasons not explained, PATB used the semicolon {{code|;}} to separate statements, rather than the already common colon {{code|:}}. Other changes include the addition of a single numeric array, with the variable name {{code|@}}, {{code|STOP}} in addition to {{code|END}}, and the use of {{code|#}} for not-equals in comparisons, as opposed to {{code|<>}}.<ref name=revisit />{{efn|Hash was also used for not-equals in [[HP Time-Shared BASIC]].}} PATB used words for error messages instead of numbers. To reduce the amount of memory required, there were only three messages and they consisted of single words. The system would respond with {{code|WHAT?}} for syntax errors, {{code|HOW?}} for run-time errors like GOTOs to a line that didn't exist or numeric overflows, and {{code|SORRY}} for out-of-memory problems.<ref name=revisit/> Wang also wrote a ''[[Star Trek (1971 video game)|STARTREK]]'' program in his Tiny BASIC that appeared in the July 1976 issue of the ''[[People's Computer Company|People's Computer Company Newsletter]]''.<ref>{{cite web|title=People's Computer Company|url=https://archive.computerhistory.org/resources/access/text/2017/09/102661095/102661095-05-v5-n1-acc.pdf |archive-url=https://ghostarchive.org/archive/20221009/https://archive.computerhistory.org/resources/access/text/2017/09/102661095/102661095-05-v5-n1-acc.pdf |archive-date=2022-10-09 |url-status=live|access-date=25 December 2019}}</ref><ref>{{cite web|last=Turnbull|first=Pete|title=Startrek.asc|url=http://www.dunnington.info/public/startrek/startrek.asc|access-date=25 December 2019|archive-date=24 February 2021|archive-url=https://web.archive.org/web/20210224135453/http://www.dunnington.info/public/startrek/startrek.asc|url-status=dead}}</ref> He later adapted the language into 3K Control Basic for [[Cromemco]], adding variable names of the form letter-digit (e.g., <code>A0</code> to <code>Z9</code>), logic functions (<code>AND()</code>, <code>OR()</code>, <code>XOR()</code>), a <code>CALL</code> command to execute machine language routines, more <code>PRINT</code>-formatting options, and others (<code>GET()</code> and <code>PUT()</code> instead of <code>PEEK</code> and <code>POKE</code>; I/O port functions).<ref>{{cite web|title=3K Control Basic Instruction Manual |url=http://www.dunnington.u-net.com/public/Cromemco/Cromemco%203K%20Basic%20Instruction%20Manual.PDF |publisher=Cromemco |access-date=2013-02-18 |url-status=dead |archive-url=https://web.archive.org/web/20131222220843/http://www.dunnington.u-net.com/public/Cromemco/Cromemco%203K%20Basic%20Instruction%20Manual.PDF |archive-date=2013-12-22 }}</ref> Palo Alto Tiny BASIC was adapted for many other implementations, including [[Level I BASIC]] (1977), BASIC for the [[Sharp PC-1211]] [[pocket computer]] (1980), and [[Bally Astrocade#Astro BASIC|Astro BASIC]] (1982, by [[Jamie Fenton]]).<ref name="AstroBASIC">{{cite book |last1=Ainsworth |first1=Dick |title=Astro BASIC |date=1982 |publisher=Astrocade, Inc. |page=3}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)