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
Applesoft BASIC
(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!
==Early evolution== The original Applesoft, stored in RAM as documented in its Reference Manual of November 1977, has smaller interpreter code than the later Applesoft II, occupying 8Β½ KB of memory,<ref>{{cite book |title = Applesoft Extended Precision Floating Point Basic Language Reference Manual |url = https://archive.org/details/Apple_II_Extended_Precision_Floating_Point_BASIC_Language_Reference_Manual/mode/1up |publisher = Apple Computer, Inc. |date = November 1977 }}</ref> instead of the 10 KB used by the later Applesoft II. Consequently, it lacks a number of command features developed for the later, mainstream version: * All commands supporting Apple's "high resolution" graphics (9 total) * Error-trapping with ONERR...GOTO and RESUME * Machine-routine shorthand call "&" * Screen-clearing HOME (a call to a system ROM routine) * Text-output control NORMAL, INVERSE, FLASH and SPEED= * The print-space function SPC() is listed among reserved words in the manual, but is not otherwise documented (the TAB() print-function ''is'' documented) * Cassette tape storage of numerical arrays: STORE and RECALL * Device response: WAIT as well as several the later version would have, that had already been present in Apple's Integer BASIC: * Program-line deletion: DEL * Machine-routine access: CALL * Peripheral device access: IN# and PR# (although IN without "#" is listed among reserved words) * Memory range control: HIMEM: and LOMEM: * Execution tracking for debugging: TRACE and NOTRACE * Screen-positioning: HTAB and VTAB * Subroutine aborting POP * Functions PDL() to read the analog controllers, and SCRN() to read the low-resolution graphics screen (both accessing system ROM routines) In addition, its low-resolution graphics commands have different names from their Integer BASIC/Applesoft II counterparts. All command names are of the form PLTx such that GR, COLOR=, PLOT, HLIN and VLIN are called PLTG, PLTC, PLTP, PLTH, and PLTV, respectively. The command for returning to text mode, known as TEXT in other versions, is simply TEX, and carries the proviso that it has to be the last statement in a program line. Applesoft BASIC 1.x was closer to Microsoft's original 6502 BASIC code than the later Applesoft II; it retained the Memory Size? prompt and displayed a Microsoft copyright notice. To maintain consistency with Integer BASIC, the "Ok" prompt from Microsoft's code was replaced by a ] character. Applesoft 1.x also prompted the user upon loading if they wished to disable the REM statement and the LET keyword in assignment statements in exchange for lores graphics commands. The USR() function is also defined differently, serving as a stand-in for the absent CALL command. Its argument is not for passing a numerical value to the machine-language routine, but is instead the call-address of the routine itself; there is no "hook" to pre-define the address. All of several examples in the manual use the function only to access "system monitor ROM" routines, or short user-routines to manipulate the ROM routines. No mention is made of any code to calculate the value returned by the function itself; the function is always shown being assigned to "dummy" variables, which, without action to set a value by user-code, just receive a meaningless value handed back to them. Even accessed ROM routines that return values (in examples, those that provide the service of PDL() and SCRN() functions) merely have their values stored, by user-routines, in locations that are separately PEEKed in a subsequent statement. Unlike in Integer BASIC and Applesoft II, the Boolean operators AND, OR and NOT perform [[bitwise operation]]s on 16-bit integer values. If they are given values outside that range, an error results. The terms OUT and PLT (and the aforementioned IN) appear in the list of reserved words, but are not explained anywhere in the manual.
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
Applesoft BASIC
(section)
Add topic