Jump to content
  • entries
  • comments
  • views

Basic Programming (Atari VCS, 1979)



Rather than a lengthy compare/contrast of Computer Intro and Basic Programming, like I had intended, I decided to look at each individually. Initially, my first attempts to write about the two displayed a tendancy to bash Atari's offering for merely being unlike Odyssey^2's offering. I decided it didn't make for a fair comparison, nor was it very fun to write, so, I'm doing it this way instead.


Basic Programming (Atari VCS, 1979)


Machine Gun KittyKats was the name of the game I was going to write using Basic Programming for the Atari VCS. My friend, George, had come up with the idea when I told him about the Basic Programming cart one could get for the Atari VCS. We envisioned two "combat-sized" cats, running around a "combat-like" playfield, shooting at each other using missiles and sound effects like those found in the air-combat portion of the Combat cartridge. We didn't consider these aspirations to be too ambitious.


When I finally got a copy of Basic Programming (Xmas of '82?) and I got to "play" with it, I was crushed. There would be no Machine Gun KittyKats using this cart. :( The $60 I seem to remember my parents having spent for this cart was completely wasted. The program and manual seemed to contain a lot of information, but it was obvious to me that all the information couldn't change the fact that I couldn't make a game with this cart. The included keyboard controllers were also pretty much useless as I didn't own any other carts that used them. Back in the day, Basic Programming was a cart I put in once or twice, only to feel disappointment and even betrayal.


Of course, I was missing the whole point. Neither a game nor a programming tool, Basic Programming was an attempt by Atari to live up to the literal name of its console: the Atari Video Computer System. Atari wanted people to think they could learn to program using what most perceived to be a television toy. However, learning to program with this cart is like what learning to play the game of Chess would be on a seven-by-seven square board; one could learn to understand the concepts of Chess, but not be able to actually play the game until access to a full-sized board was acquired. Basic Programming might have taught a really bright and motivated person the barest basics of programming, which they probably already knew, but the rest of us just got pissed-off because we quickly discovered we weren't going to be making much of anything with it.


Now, let's focus more on the positives, shall we?


One of the cool things about the cart is the way it uses the keyboard controllers. Two keyboard controllers, when locked together, make a handy, 24-key keyboard. Basic Programming turns that 24-key keyboard into an 80-or-so-key keyboard by implementing a mode-switching cursor. Change the color of the cursor on-screen and you change the layout of the keyboard. The keyboard overlays are a nice way to keep track of these different layouts. By labeling each key with its color-coded functions, it isn't hard to get around in the interface. The different layouts also save people from having to type in every character by implementing a keyword token system. Instead of having to type out the word "print" one need only change the cursor to the appropriate color and hit the key for "print". This couldn't have been a "resource cheap" feature to implement, but not knowing much about the Atari innards, I'll leave it at that.


The system provides all the concepts of a program; variables, branching, a grid system for barely-minimal graphics, music functionality, collision detection and even a memory stack. As a programming "environment", surprisingly, it utilizes a "windowing" system allowing a user to open and close the display of different data sections. If you want to see the status of your variables while running your program, you can do so. If you want only the graphics display to cover the screen, you can do that too. In fact, I would describe this aspect of the system as "slightly prophetic" and maybe even "ahead of its time".


With the memories I had of this cartridge as a teen, I thought I would have some rather acerbic commentary to make about Basic Programming. After learning a little bit more about the limitations of the VCS and after messing around with this cart again, I'm much more impressed. That being said, however, overall, I would criticize it as only being interesting to the people who already know something about programming in the first place! For a true novice, I do not see this cartridge as being beneficial.


If the intent of Basic Programming is to be cool, I think it succeeds. If its intent is to teach or to inspire a beginner to learn, I think that 90% of the time, it would fail.


Next entry, I'll do Computer Intro for the Odyssey^2.



Recommended Comments

I think Basic Programming was probably slightly ahead of its time; Atari would very soon develop a chip that could double the ROM capacity of the 2600, and some time later also add 128 bytes of RAM. Had Basic Programming been constructed to use 7.5K of ROM and an extra 128 bytes of RAM, it would still have been limited but something like "machine gun kittycats" might have been barely possible.


The one-touch keywords are interesting. Although they required special characters to represent them on screen (the Basic Programming cartridge uses 80 different characters in all, so its character set takes up 640 bytes out of 4,096 total) they reduced RAM requirements since each keyword only uses one byte of RAM. Further, they simplified parsing since the interpreter would know when it saw the letter "P" at the start of a statement that it would be used for a variable assignment; there was no need to see if it was followed by "RINT". While it would have been possible to expand tokens on-screen using only the built-in character set, that would have made things confusing. The only way to get "Print" on screen is to use the one-touch keyword. "PRINT" is not the same thing.


I do think Basic Programming deserves a lot more credit than it gets. I believe it was the first program to provide a CodeView-style environment on a home computer; I don't know whether such things existed earlier on other platforms, but I am unaware of any. David Crane's text kernel was used to great advantage; when I first plugged in a Basic Programming cartridge in 1994, even though I couldn't do anything with it until I got the manual from AtariAge, I was immediately impressed by the fact that the 2600's display looked like that of a REAL COMPUTER. Plus, being able to actually type silly messages on the screen was a cool feature of the O2; this cart gave the 2600 that ability as well.

  • Like 1
Link to comment

I would love to see a Machine Gun KittyKats game for sale in the AtariAge store.If it ever gets made it should have a "Mini-Game"in it that uses the Basic Programming keypads.Oh,well this is just a fun thought :) .

  • Like 1
Link to comment

Given the limitations of the 2600, being able to squeeze any kind of programming language (no matter how rudimentary) into a 4K cartridge & base RAM is impressive. But although getting the elephant to dance is amazing, how well it dances is considerably less impressive.


I suppose Atari could have made a a BASIC-like language which would have been more usable for creating games. The big limitation would have been the 128 bytes of RAM. But maybe something which would allow control over the 5 motion sprites.

  • Like 1
Link to comment
If you want to see the status of your variables while running your program, you can do so.


Whoa, my respect for this cart just drastically increased (and it was already high!). Being a programmer at heart, I totally admire what this cart achieved in that era, even though it was very limited.

  • Like 1
Link to comment
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...