[Home]Applesoft BASIC programming language

HomePage | Recent Changes | Preferences

Difference (from prior minor revision) (no other diffs)

Changed: 1c1,25
Describe the new page here.
The first BASIC programming language dialect on the Apple II computer was [Integer Basic]?, coded and hand-assembled by Apple Computer employees. It could only handle numbers between -32767 and 32767 and had some limitations with respect to string arrays, but it was fast.

Enter Bill Gates and Microsoft. Apple was looking for a new version of Basic for the [Apple II Plus]? computer with 48 KB of RAM. It seems Microsoft was the Basic vendor of choice at the time; Apple licensed a 10 KB assembly language version of Basic called "Applesoft." It was similar to Basic implementations on other 6502?-based computers: it used line numbers, spaces were not necessary in lines, plus it had some killer features that Integer BASIC lacked:

* atomic strings. A string is no longer an array of characters (like in C); it's now a garbage-collected object (like in Scheme and the Java programming language). This allows for string arrays; DIM A$(10) got you a vector of ten string variables.
* multidimensional arrays.
* single-precision floating point variables with an 8-bit exponent and a 31-bit significand. Along with this came a trigonometry library.
* high-resolution graphics.
* CHR$, ASC, STR$, and VAL functions for converting between string and numeric types
* no more writing LET

Why weren't many action games written in Applesoft Basic?

* Integer variables had to be converted to reals before math could be performed on them; they were then converted back to integers. Slow. Microsoft forgot to [special case]? this.
* So-called [shape table]?s are a poor alternative to bitmaps. No provision for mixing text and graphics. No provision was added in the 128 KB [Apple IIe]? and [Apple IIc]? models' Basic interpreters for the new machines' double-resolution graphics, or for the [Apple IIGS]? computer's 16-color mode. (Beagle Bros offered machine-language workarounds for these problems.)
* The program was stored as a list of lines; a GOTO took O(n) (linear) time.
* No sound support.
* The [closed source movement]? was just beginning; software publishers found it was harder to crack a compiled binary than an interpreted source.

Here's [Hello World]? in Applesoft Basic:

10TEXT:HOME
20?"HELLO WORLD"

Source: http://everything2.com/?node=Applesoft+BASIC

The first BASIC programming language dialect on the Apple II computer was [Integer Basic]?, coded and hand-assembled by Apple Computer employees. It could only handle numbers between -32767 and 32767 and had some limitations with respect to string arrays, but it was fast.

Enter Bill Gates and Microsoft. Apple was looking for a new version of Basic for the [Apple II Plus]? computer with 48 KB of RAM. It seems Microsoft was the Basic vendor of choice at the time; Apple licensed a 10 KB assembly language version of Basic called "Applesoft." It was similar to Basic implementations on other 6502?-based computers: it used line numbers, spaces were not necessary in lines, plus it had some killer features that Integer BASIC lacked:

Why weren't many action games written in Applesoft Basic?

Here's [Hello World]? in Applesoft Basic:

 10TEXT:HOME
 20?"HELLO WORLD"

Source: http://everything2.com/?node=Applesoft+BASIC


HomePage | Recent Changes | Preferences
This page is read-only | View other revisions
Last edited September 30, 2001 12:51 am by Damian Yerrick (diff)
Search: