Content deleted Content added
ClueBot NG (talk | contribs) m Reverting possible vandalism by 195.188.51.20 to version by Bumm13. False positive? Report it. Thanks, ClueBot NG. (1727311) (Bot) |
|||
(77 intermediate revisions by 45 users not shown) | |||
Line 1:
{{
{{more citations needed|date=October 2017}}
{{
{{Infobox video game
|title =
|image =
|developer = [[
|publisher = Atari, Inc.
|designer = [[Warren Robinett]]<ref>[https://dadgum.com/halcyon/BOOK/ROBINETT.HTM Interview:Warren Robinett], By James Hague, ''Halcyon Days'', "How long did it take to write?...I had ''Adventure'' sort of done in the fall of 1978, but I wasn't satisfied. I sort of put it on the shelf for the next six months while I did the ''BASIC Programming'' cartridge, and finished them both simultaneously, in June 1979."</ref>
|released = {{vgrelease|NA|April 1980<ref>{{cite web |title=Atari VCS game release dates |url=https://www.atariarchive.org/atari-vcs-game-release-dates/ |website=Atari Archive}}</ref>}}
|platforms = [[Atari 2600]]
}}
'''''BASIC Programming'''''
==Details==
The BASIC Programming display was divided into six regions:▼
[[File:Basicprogramming.png|thumb|upright=2|Main display]]
* '''Program''' where instructions are written (maximum of nine lines of code).▼
* [[Call stack|Stack]] shows temporary results of what your program does. ▼
* [[Variable (programming)|Variables]] displays the values of any variables your program is using. ▼
* '''Output''' displays any output values your program is creating. ▼
* '''Status''' displays the amount of available memory remaining▼
* '''Graphics''' contains two colored squares that can be manipulated by your program.▼
▲* '''Program''' is where instructions are
▲* '''[[Variable (
Input is given through two Atari keypad controllers, which came with special overlays to show how to type the different commands and letters.<ref>[https://atariage.com/controller_page.html?ControllerID=4&SystemID=2600 Controllers - Atari Keypad], {{Webarchive|url=https://web.archive.org/web/20150615042830/https://atariage.com/controller_page.html?ControllerID=4&SystemID=2600 |date=15 June 2015 }} Atari KeypadSystem: Atari 2600, Model Number: CX50, ''Sold in pairs, functionally identical to the Kid's Controller and the Video Touch Pad. Included overlays with commands, meant to be used with Basic Programming.''</ref> Programs are restricted to 64 characters in size and normally 9 lines of code, limiting the programs that can be written (users can disable all windows except Program and keep selecting "New Line" until 11 lines of code are present).
==External links==▼
===Language features===
VCS BASIC supports the following keywords:<ref>{{cite book|title=BASIC Programming: Atari Game Program Instructions|date=1979|publisher=Atari, Inc.|___location=Sunnyvale, CA}}</ref>
* Statements: <code>Print</code>
* Structure: <code>Goto</code>, <code>If-Then-Else</code>
* Graphics: <code>Clear</code>
* Functions: <code>Hit</code>, <code>Key</code>
* Math: <code>+ - × ÷ Mod</code>
* Relational operators: <code>< > =</code>
Unlike most BASIC implementations of the time:
* VCS BASIC uses ← instead of = for assignment; e.g., <code>A←A+1</code>.
* Statements can be strung together on a line without a delimiter; e.g., <code>Note←APrintA</code>.
* An <code>If</code> statement can be used as a function, returning a value: <code>{{codett|2=cbmbas|Ver1←Ver1+IfVer1}}[[Modulo operation|Mod]]2{{codett|2=cbmbas|Then8}}{{codett|2=monkey|Else}}92</code>
* <code>If</code> statements can take an <code>Else</code> clause.
Special variable names:
* <code>Note</code> sounds a musical note, assigned numbers from 0 to 7
** Numbers assigned to <code>Note</code> are implicitly assigned modulus 8, thus 8 becomes 0, 9 becomes 1, etc.
* <code>Hor1</code>, <code>Hor2</code> - the horizontal coordinate of one of two squares
* <code>Ver1</code>, <code>Ver2</code> - the vertical coordinate of one of two squares
The language supports 26 unsigned integer variables A to Z. VCS BASIC supports integers from 0 to 99. Math operations wrap, so 99+1 becomes 0, 99+2 becomes 1, etc.
====Sample code====
The following example of a ''[[Pong]]'' game is provided.
{{pre|
1 Hor2←2+Key
2 {{codett|2=cbmbas|IfVer1>90ThenVer1←88}}
3 {{codett|2=cbmbas|IfHit}}{{codett|2=cbmbas|ThenVer1←9}}
4 {{codett|2=cbmbas|Ver1←Ver1+IfVer1}}[[Modulo operation|Mod]]2{{codett|2=cbmbas|Then8}}{{codett|2=monkey|Else}}92
5 Hor1←Hor1+7
6 {{codett|2=cbmbas|Goto1}}
}}
==See also==
{{Portal|Video games}}
*[[List of Atari 2600 games]]
* [[CompuMate|Spectravideo CompuMate]]
* [[Family BASIC]]
==References==
{{reflist}}
▲==External links==
* {{webarchive |url=https://web.archive.org/web/20040123023347/http://www.mindspring.com/~sidartha/Basic%20and%20Compumate%20Programming.htm |date=23 January 2004 |title=Compumate FAQ:BASIC PROGRAMME EXAMPLES FOR ATARI 2600 (BASIC PROGRAMMING & CompuMate)}}
{{BASIC}}
[[Category:
[[Category:Atari
[[Category:
[[Category:
[[Category:Discontinued BASICs]]
[[Category:Video game development software]]
|