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
Microsoft 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!
==={{anchor|6502 BASIC}}6502 BASIC=== Microsoft ported BASIC-80 to the 6502 during the summer of 1976; it was mostly a straight port of the 8K version of BASIC-80 and included the same prompts asking for memory size and if the user wanted floating point functions enabled or not (having them active used an extra 135 bytes of memory). The earliest machines to use 6502 BASIC were the [[Ohio Scientific]] Model 500 and [[KIM-1]] in 1977.<ref name=pagetable1>{{cite web |last1=Steil |first1=Michael |title=Bill Gates' Personal Easter Eggs in 8 Bit BASIC |url=http://www.pagetable.com/?p=43 |website=pagetable.com |access-date=4 February 2015 |ref=bgates-eggs |date=30 September 2008}}</ref> 6502 BASIC included certain features from Extended BASIC such as user-defined functions and descriptive error messages, but omitted other features like double precision variables and the <code>PRINT</code> <code>USING</code> statement. As compensation for not having double precision variables, Microsoft included 40-bit floating point support instead of BASIC-80's 32-bit floating point and string allocation was dynamic (thus the user did not have to reserve string space like in BASIC-80). However, vendors could still request BASIC with 32-bit floating point for a slightly smaller [[memory footprint]]; as one example, Disk BASIC for the Atari 8-bits used 32-bit floating point rather than 40-bit.{{Citation needed|date=April 2022}} Standard features of the 9K version of Microsoft 6502 BASIC included: * <code>GET</code> statement to detect a key press. * Line crunching{{snd}} program lines do not require any spaces except between the line number and statement. * Only supported variable types are character string, single precision floating point, and 16-bit signed integer (saves space in arrays, otherwise useless and slower than floating point, as all calculations are done in floating point anyway). * Long variable names can be used, but only the first two characters are significant. * Dynamic string allocation. 6502 BASIC lacked a standardized set of commands for disk and printer output; these were up to the vendor to add and varied widely with each implementation. Later implementations of 6502 Basic (1983β) had many vendor specific improvements; for example later versions of Commodore BASIC had the following: * Disk commands (<code>DIRECTORY</code>, <code>DSAVE</code>, <code>DLOAD</code>, <code>BACKUP</code>, <code>HEADER</code>, <code>SCRATCH</code>, <code>COLLECT</code>, <code>DVERIFY</code>, <code>COPY</code>, <code>DELETE</code>, <code>RENAME</code>, etc.) * Graphics commands (<code>CIRCLE</code>, <code>DRAW</code>, <code>BOX</code>, <code>COLOR</code> (of background, border, etc.), <code>PAINT</code>, <code>SCALE</code>) * Graphics block copy and logical operation with the existing graphical screen (<code>SSHAPE</code> and <code>GSHAPE</code> with <code>OR</code>, <code>AND</code>, <code>XOR</code>, etc.) * Sprite definition, displaying and animation commands on C128, even saving sprites to binaries * Sound commands (<code>VOL</code>, <code>SOUND</code>), later on at C=128 Music commands (ADSR and SID filter programming (<code>ENVELOPE</code> and <code>FILTER</code>), <code>PLAY</code>, <code>TEMPO</code> commands) * Signs of more structured programming: <code>IF</code>β<code>THEN</code>β<code>ELSE</code>, <code>DO</code>β<code>LOOP</code>β<code>WHILE</code>/<code>UNTIL</code>β<code>EXIT</code>. * Extended I/O commands for special features: <code>JOY</code>, function keys * Debugging commands: <code>STOP</code>, <code>CONT</code>, <code>TRON</code>, <code>TROFF</code>, <code>RESUME</code> * Extended handling of character screen: <code>WINDOW</code> * Support easier program development: <code>RENUMBER</code>, <code>NEW</code>, <code>MONITOR</code>, <code>RREG</code>
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
Microsoft BASIC
(section)
Add topic