Jump to content

How to Use BASIC on the Bally Arcade/Astrocade


Recommended Posts

I have received many questions over the past fifteen years on how to use Bally BASIC and "AstroBASIC." In this thread, which I may pin if it becomes popular, I am creating a place where people can ask questions about Bally BASIC, "AstroBASIC," Blue Ram BASIC and Vipersoft BASIC, the four different BASIC languages available for the Bally Arcade/Astrocade game console/computer that was released in 1978.

To get this thread started, I've created a video overview of "AstroBASIC," by far, the most common BASIC available for the Bally Arcade system. This 4KB cartridge, which includes a built-in tape interface, was released by Astrovision Inc in 1981. "AstroBASIC" is part #6004 of the Functional Series.


You can view the video here:

This video includes:

  • An overview of "AstroBASIC" and the over 100-page "AstroBASIC" manual
  • Explains how to type in BASIC commands and keywords using the Bally BASIC overlay for the 24-key keypad
  • Shows examples of loading "AstroBASIC" programs via 2000-baud interface
  • Shows an example of loading and listing a BASIC program (Chicago Loop by Mike Peace) from the BASIC manual

The "Bally/Astrocade Game Cartridge and Hardware FAQ" says this about this "AstroBASIC:"

"This updated version of the Bally BASIC cartridge is notably set apart from the original because it has a built-in 2000 baud interface that connects to a standard cassette recorder; there are also some additional commands added for the programmer. It's visually different from the original release as well. This cartridge was packaged with some Astrocade consoles (these consoles were designated as Arcade Plus). Astrocade, Inc. manufactured the later releases of this. Written by Jay Fenton."

I would appreciate any feedback that you may have about this video. For instance, do you find it helpful? What would you like to see next if I decide to cover one or more of the various Astrocade versions of BASIC in more detail?


I hope that you enjoy the video and find it useful. Please post any questions or comments that you have on this subject here.


  • Like 1
Link to comment
Share on other sites

Given the length of the video, I'd suggest adding a few timecodes in the description - denote when you're talking about various subjects in case someone just wants to reference a specific part of operating it.


The time codes seem like a good idea. I'll try to do that in the next few days. Thanks for the suggestion.



Link to comment
Share on other sites

Maybe it's just that I'm new to this, but you only showed how to load a program, but not how to save one. How might I go about doing that?


I purposely didn't cover how to save a program using "AstroBASIC" in the video. The reason for that is that most people don't use "AstroBASIC" anymore to write their own software. I presume that anyone who does program in Bally BASIC or "AstroBASIC" probably would read the user's manual. The video I made is meant to give an overview of how to use "AstroBASIC." It's meant to get someone up and running without needing to understand how the BASIC programming language works. That being said, I do plan to make another video on how to save to a computer.


In the meantime, I have scanned and OCRed page 15 of the "AstroBASIC" manual. This page explains how to save to tape using the 2000-baud audio cassette interface that is built into the cartridge. Of course, rather than saving to tape, you would now connect the tape interface from the "AstroBASIC" cartridge into the mic-in on a modern computer. I user Windows Vista (on an old laptop) or Windows 7 with Audacity to save my programs from "AstroBASIC." Once you've saved the program, then you'll probably need to amplify it using Audacity so that you can load it back into "AstroBASIC." This works for me. You can also use the Windows utility tools BallyBin and AstroWAV, written by Bob Colbert, to digitally archive any saved BASIC programs.


Here are the directions, from the "AstroBASIC" manual, for saving, loading and verifying programs with a tape recorder (most people used a standard "shoebox" style tape recorder back in the late 1970s and early 1980s). Wherever the directions talk about using a tape recorder, just remember that you should probably use a modern computer now and save using a lossless format (such as WAV or FLAC).


Using "AstroBASIC's" Built-In 2000-Baud Interface

(This text is excerpted from page 15 of the Bally BASIC 6004 User Manual)


The Audio Cassette Interface


The audio socket on the lower-right corner of your Bally BASIC cartridge is your connection port to the interface between your computer and any cassette tape recorder. This will allow you to save any program in the computer's memory on cassette tape and to input the program from tape to memory in less than 20 seconds. The following commands relate to tape storage and retrieval of Bally BASIC programs.




The :PRINT command causes the stored program, the screen image, the values stored in the @( )and *( ) arrays, and the values of all variables to be output to tape. This process will take between 10 and 20 seconds. As only one jack is provided on the BASIC cartridge, it is necessary for the user to manually connect the audio cable to the MIC jack of the cassette recorder. Have your recorder running in the RECORD mode, type in :PRINT and press GO. When the cursor reappears, the computer is done writing your program to tape.

The recording will consist of a 3 second leader tone, then the data block, followed by a 1/2 second trailer tone.




To load programs, use :INPUT. This will retrieve the program, the screen image, the arrays and variables from audio tape. It is necessary to "cue up" the audio tape on the three second leader tone and switch the cable over to the EARPHONE jack on your tape recorder before loading. A light emitting diode (LED) is provided on the lower left corner of your Bally BASIC cartridge to aid in checking the playback level of your cassette recorder. The volume should be set above the level that causes the LED to glow steadily. When the tape is cued, type :INPUT GO and press PLAY on your tape recorder. When the cursor reappears your program is loaded.




The :LIST command has been designed to perform a verify function. It scans a digital recording and checks the sum of the bits in the recorded program against the sum of the bits in the program currently in memory. The :LIST function is to be performed just after writing your program to tape with the :PRINT command, while your program is still in the computer. This allows you to check the integrity of your recording without damaging the program. If :LIST finds an error, a question mark is printed just before the cursor when it returns. If problems arise, check the playback level of your recorder, or rewrite the program to tape if necessary.


Here is a 300-dpi, grayscale jpg of these instructions:




Here is an OCRed pdf of those instructions:


AstroBASIC's 2000-Baud Interface.pdf


In case you're curious, the entire "AstroBASIC" manual has been scanned and is available here:




I hope that helps you save your programs to "tape." It might be awhile before I create a video on how to save programs to tape, as I'm not sure how to record myself using Windows programs.



Link to comment
Share on other sites

Thanks! I got me AstroBASIC cart only, so I hadn't had the chance to read that yet. Now I can finally save the programs instead of writing them down!


With all the information you have here about programming, I'm surprised that there isn't a Programming subforum.

Edited by HawkMines
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   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...