Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
TRS-80
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
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!
=== BASIC === Three versions of the [[BASIC]] programming language were produced for the Model I. ''[[Level I BASIC]]'' fits in 4 KB of [[read-only memory|ROM]], and ''Level II BASIC'' fits into 12 KB of ROM. Level I is single precision only and had a smaller set of commands. Level II introduced double precision floating point support and has a much wider set of commands. Level II was further enhanced when a disk system was added, allowing for the loading of ''Disk BASIC''.{{r|thomas1977}} Level I BASIC is based on [[Li-Chen Wang]]'s free [[Tiny BASIC]] with more functions added by Radio Shack.{{r|leininger19770917}} The accompanying ''User's Manual for Level 1'' by David A. Lien presents lessons on programming with text and cartoons. Lien wrote that it was "written specifically for people who don't know anything about computers ... I want you to have fun with your computer! I don't want you to be afraid of it, because there is nothing to fear".<ref name="lien1977">{{Cite book |url=https://archive.org/stream/Level_1_Users_Manual_1977_David_Lien#page/n0/mode/2up |title=User's Manual for Level 1 |last=Lien |first=David A. |date=1978 |page=1}}</ref>{{r|fylstra197804}} Reviewers praised the manual's quality.{{r|thomas1977}}{{r|yeager197908}}{{r|archer198310}} Level I BASIC has only two [[string (computer science)|string]] variables (<code>A$</code> and <code>B$</code>), 26 numeric variables (<code>A</code> β <code>Z</code>), and one array, <code>A()</code>. Code for functions like SIN(), COS() and TAN() is not included in ROM but printed at the end of the book. The only error messages are "<code>WHAT?</code>" for syntax errors, "<code>HOW?</code>" for arithmetic errors such as [[division by zero]], and "<code>SORRY</code>" for [[out of memory]] errors. Level I BASIC is not [[tokenized]]; reserved words are stored literally. In order to maximize the code that fits into 4 KB of memory, users can enter abbreviations for reserved words. For example, writing "<code>P.</code>" instead of "<code>PRINT</code>" saves 3 bytes. Level II BASIC, introduced in mid-1978, was licensed from [[Microsoft]] and is required to use the expansion bus and disk drives. Radio Shack always intended for Level I BASIC to be a stopgap until Level II was ready, and the first brochure for the Model I in January 1978 mentioned that Level II BASIC was "coming soon". It is an abridged version of the 16K [[Microsoft BASIC|Extended BASIC]], since the Model I has 12 KB of ROM space. According to [[Bill Gates]], "It was a sort of intermediate between 8K BASIC and Extended BASIC. Some features from Extended BASIC such as descriptive errors and user-defined functions were not included, but there were double precision variables and the PRINT USING statement that we wanted to get in. The entire development of Level II BASIC took about four weeks from start to finish." The accompanying manual is more terse and technical than the Level I manual. Original Level I BASIC-equipped machines could be retrofitted to Level II through a ROM replacement performed by Radio Shack for a fee (originally $199). Users with Level I BASIC programs stored on cassette have to convert these to the tokenized Level II BASIC before use. A utility for this was provided with the Level II ROMS. Disk BASIC allows disk I/O, and in some cases ([[NewDos/80]], MultiDOS, DosPlus, LDOS) adds powerful sorting, searching, full-screen editing, and other features. Level II BASIC reserves some of these keywords and issues a "<code>?L3 ERROR</code>", suggesting a behind-the-scenes change of direction intervened between the creation of the Level II ROMs and the introduction of Disk BASIC. Microsoft also marketed an enhanced BASIC called [[Microsoft Level III BASIC programming language|Level III BASIC]] written by Bill Gates,<ref>{{cite book |title=Program Instructions for Level III BASIC |date=1979 |publisher=Microsoft Consumer Products |page=1}}</ref> on cassette tape. The cassette contains a "Cassette File" version on one side and a "disk file" version on the second side for disk system users (which was to be saved to disk).<ref>{{cite book |title=Program Instructions for Level III BASIC |date=1979 |publisher=Microsoft Consumer Products |page=11}}</ref> Level III BASIC adds most of the functions in the full 16 KB version of BASIC plus many other TRS-80 specific enhancements. Many of Level III BASIC's features are included in the TRS-80 Model III's Level II BASIC and disk BASIC. Level I BASIC was still offered on the Model I in either 4K or 16K configurations after the introduction of Level II BASIC.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
TRS-80
(section)
Add topic