Thursday, October 23, 2014

BASIC Programming


BASIC Programming is an Atari 2600 title with an interesting history.  Although it proudly bears the moniker “Game Program” along with other 2600 releases, it was really more of a teaching tool and, due to its severe limitations, a curious toy.


The “game” was programmed by Warren Robinett, a famous name in gaming as he was the programmer of Adventure, an early 2600 precursor to graphical RPG/Adventure titles to come.  He is also credited with programming the first “Easter Egg” discovered by players by hiding within the game an elaborate method of displaying his name (in the early days Atari did not allow programmers to take any credit for their work, which was somewhat resented).  1979 was the year both Adventure and BASIC Programming were released, and shortly after this Warren left Atari and would go on to help found The Learning Company, leaving BASIC Programming the last of only three projects (the first being Slot Racers) he would create for Atari.


There is an interesting (though unverified) legend surrounding the creation of BASIC Programming which states that it was made in response to pressure Atari was receiving over the 2600 (originally titled the ATARI VCS) being labeled a “Video Computer System” since computers should be programmable and the 2600 clearly was not (well, not unless you were a developer).  The story may or may not be true.  Perhaps Atari was merely trying to branch out into more educational territory, or perhaps it is even telling that after programming this title, Warren went on to help found a company dedicated to educational software.  Whatever the reason though, BASIC Programming landed on the 2600 scene with all the grace of a cinder block.


The Basic programming language existed in many forms over the course of the early home computer wars and, although often modified for a particular platform, existed in one form or another just about everywhere.  Systems like the Commodore 64, which I grew up with, booted straight into a Basic interpretor.  Although modern eyes might assume this to be a command prompt, the effect was that in addition to telling the computer to load programs stored on disks or cassettes, you could beginning writing programs in Basic the moment the system was powered on.


In contrast to a typical home computer, however, the Atari 2600 possessed such limited memory capacity that attempting to program it at the home level was extremely impractical.  As a result, BASIC Programming, despite its name, was quite different than Basic as it was commonly known.  Simplistic in the extreme, the memory constraints of the system meant that only 64 characters could be entered over the space of 9 lines of code (although a glitch discovered in the system could be exploited to expand this to 11 lines, though still with the same 64 characters).  The result was that programs could not expand beyond the most primitive, such as having the screen display a name, play a few notes (from the 2600’s extremely primitive sound chip) or move a colored block across the screen.  Touted as an educational device to help you “write your own programming” (I’m not sure what to think of the grammar there), the extreme limitations combined with the fact that the actual programming language had only a superficial resemblance to true Basic meant that its worth as an educational tool was small.


None of this was at all helped by the lack of a keyboard for the 2600.  To rectify this, BASIC Programming made use of a keypad controller.  Very few titles used this peripheral, which was a set of buttons laid out like a phone keypad.  Two of these controllers could be connected together, and paper overlays would tell what action each button would perform.  In the case of BASIC Programming, each button had multiple different functions that had to be switched between in order to type, since the two keypads did not have nearly enough buttons to act as a full keyboard.  This made entering even simple commands an exercise in tedium.  If you do have the patience to enter a rudimentary program, enjoy it while it lasts, because the 2600 also has no capability to save any work.  This seems like the least of concerns, however, since it is unlikely one would ever produce anything via BASIC Programing that would be worth saving.

No comments:

Post a Comment