BallyAlley_r1_c1.gif BallyAlley_r1_c2.gif BallyAlley_r1_c4.gif
BallyAlley_r2_c1.gif BallyAlley_r2_c2.gif BASIC Programming BallyAlley_r2_c4.gif

Tutorials Tutorials by Michael White. Written from "back in the day" to present time (2004)!
3x5 Character Set "3x5 Character Set"
By H.A.R.D. (Craig Anderson).

These 14-page instructions explain how to create a 3x5 character set with Astrocade BASIC. Includes a type-in program BASIC listing.
AstroBASIC Manual (Cover) Astro BASIC Manual - This manual is for the second version of the Bally BASIC cartridge, the one that has the built-in microphone jack (often referred to as AstroBasic, as it is here). Though this is the version released by Astrovision, the cover does say Bally. An alternate version of this manual that says Astrocade on the cover is available here: here.

The differences between these two manuals are list in: BASIC Manual Differences.
AstroBASIC Pocket Guide AstroBASIC Pocket Guide
AstroBASIC Variables, Commands and Functions List
By Richard Degler.
September 9, 2019.

A listing of the AstroBASIC variables, commands and functions now available all in one place.
Astrocade BASIC Screen Layout - 88 x 160 Graph Paper "Astrocade BASIC Screen Layout: 88 x 160 Graph Paper."
By Adam Trionfo.
September 28, 2016.

The resolution of Bally BASIC and "AstroBASIC" bitmap screens is 88x160. BASIC commands (such as BOX and LINE) layout the screen as a graph with the origin in the center of the screen with X ranging from -80 to 79 and Y ranging from -44 to 43. This graph paper was created to help layout this screen. The graph shows the Astrocade's full low-resolution 102x160 screen, including hexadecimal memory address locations. However, the black horizontal and vertical lines on the graph paper were created using the "AstroBASIC" LINE commands and show exactly the BASIC resolution of 88x160. A screenshot was taken using MAME and then superimposed over the graph paper. The black lines are laid-out every ten pixels starting from the origin.

The archive includes three versions of the graph paper: a jpg, a TIFF image (with layers), and a TIFF (with no layers, "flattened"). To make the best use of the TIFF files requires a graphics editor (such as Photoshop or GIMP) that can deal with layered TIFF files. With the layered TIFF image, a user can use Bally Arcade/Astrocade screenshots taken from the Astrocade emulator included with MAME to create screen layouts on "graph paper." These can then be used to help understand how an Astrocade program functions (such as how the screen is built or laid-out). Instructions explain how to combine a screenshot as a separate layer on the "graph paper."

The instructions on how to do this are available here:
  1. "Astrocade Screen Layout: 102 x 160 Graph Paper" - Documentation (Text).
Bally BASIC Hacker's Guide "Bally BASIC Hacker's Guide"
By Jay Fenton.

     This was the supplement written by Jay Fenton that went along with the Bally BASIC manual. It's full of all sorts of goodies, most of which found their way into the AstroBASIC Manual... but not everything.

     An alternate, earlier draft version of "Hacker's Guide" is also available.
  1. Bally BASIC Hacker's Guide - Draft, July 25, 1979
Bally BASIC Hexadecimal/Decimal Conversion Process "Bally BASIC Hexadecimal/Decimal Conversion Process"
By Adam Trionfo.
June 2, 2013.

     This short tutorial explains how to convert from Bally and AstroBASIC hex format to decimal and vice versa. Normally this process can be handled swiftly with a calculator that can simply convert decimal and hex values, but this is not the case with Bally BASIC.

     This conversion process relies on and builds upon methods discussed in 1982's Bally Arcade/Astrocade booklet called "Z-80 Mini Course" by Larry Simioni. For reference, here is the book's location online:
  1. Z-80 Mini Course - By Larry Simioni
Bally BASIC Manual Bally BASIC Manual
By Bally Consumer Products Division.

This 130-page manual is for the first version of the Bally BASIC cartridge, the one that does not have the built-in microphone jack. There are two first editions of this manual available. You can download the alternate version here.
Bally On-Board ROM Subroutines Bally On-Board ROM Subroutines

Useful compilation of routines. This booklet explains what the On-Board ROM routines built into the Bally / Astrocade ROM do. This manual is used as a reference for BASIC programmers so that they can save a few bytes when programming and also take advantage of the faster routines that machine language offers. A Hex dump of the Bally 8K ROM is also included. - 28 Pages.
BASIC Programming Notes BASIC Programming Notes - These notes are provided to introduce the new Arcade owner to techniques and effects that can be generated by the Tiny BASIC cartridge. (These two pages have been lifted from the Arcadian compilation of ten programs.) - 2 Pages (125K).
Cartridge Conversion The Ibach Cartridge Conversion .
(A Method to Swap BASIC Cartridges for Data Exchange).
By Dave Ibach and Bob Fabris.
ARCADIAN 4, no. 5 (Mar. 05, 1982): 46. (Part 1)
ARCADIAN 4, no. 6 (Apr. 09, 1982): 55. (Correction)
ARCADIAN 4, no. 6 (Apr. 09, 1982): 59. (Part 2)
ARCADIAN 4, no. 8 (Jun. 11, 1982): 76. (Part 3)

This document combines the three articles (and one correction) that were originally published in the ARCADIAN newsletter into one place.

This article includes a utility program (and thorough explanation of use) that allows the user to swap the Bally BASIC and "AstroBASIC" cartridges (while the Bally Arcade/Astrocade is still turned on) without losing the BASIC program. For example, a user can load a 300-Baud program into Bally BASIC, swap-out the Bally BASIC cartridge for "AstroBASIC" (which contains the built-in tape interface), and then save the program in memory in 2000-Baud format. The opposite is also true: a user can load an "AstroBASIC" program saved in 2000-baud format, swap-out the "AstroBASIC" cartridge for the Bally BASIC cartridge and then save the program in 300-Baud format.

This is a very useful utility for BASIC program archiving purposes. The routine that is discussed is easy to use, yet the explanation of how the program works (which includes the machine language source code) provides enough detail for even the most curious Astrocade user.

BASICart Code Key BASICart Code Key - When creating a BASICart, use this very useful code key. 1 Page (28K).
By Mike Skala
CHRDIS I. Arcadian 5, no. 1 (Nov. 5, 1982): 14-15.
CHRDIS II. Arcadian 5, no. 2 (Dec. 3, 1982): 37.
CHRDIS III. Arcadian 5, no. 4 (Feb. 18, 1983): 72.

This three-part CHRDIS article describes how to use the Bally Arcade's built-in Character Display routine from within Bally BASIC. I think that the programs included in the article are "AstroBASIC"-only, but the general principles talked about in the article should apply to Bally BASIC too.

"I've seen quite a bit of software lately utilizing the Graphic Character Maker, a machine code routine that Arcadian has published in the past year. This allowed us to use a display routine from the on-board ROM and put complex graphics on the screen instantly, rather than a slow series of BOX and LINE commands. The major drawback here was when moving the graphics, erasing and redrawing: it left us with considerable flashing or blinking. If you have been with us for a while, you know that we are continually evolving and improving; the following tutorial is our new generation of screen animation for the Astrocade!"

Differences Between Bally and AstroBASIC Differences Between Bally and AstroBASIC

This document describes the improvements and differences between the original version of Bally BASIC and AstroBasic (the version with the build-in 2000 BAUD interface).

This document will be useful when converting files from one language to another- especially when reading machine language material in the Arcadian (which primarily is directed toward the older version of BASIC). It also finally answers that question: "what's different between the two BASIC carts?"
GAME OVER Tutorial GAME OVER Tutorial.
By Tom Wood.
January 18, 1979.

This tutorial provides a machine language subroutine usable to BASIC users so that they can print "GAME OVER" in large letters on the screen using a subroutine that is built into the Bally's 8K System ROM. This tutorial was published in a much shorter format. In this expanded version, Mr. Wood provides more information on how the subroutine works and also explains why it won't work the same on all Bally Arcades due to slight differences in the System ROM.
Getting the Most out of 1800 "Getting the Most out of 1800"
By Don Gladden.

This article discusses how to conserve bytes when using the 1,800 bytes of RAM available to "Bally BASIC" and "AstroBASIC."

This article is from the Bob Fabris Collection. It does not appear to have been published in the "Arcadian" newsletter.

Magic Register Tutorial Magic Register Tutorial.
By Brett Bilbrey.
December 1981.

"The Magic System is enabled when data is written to a memory location (X) from 0 to 16K. A modified form of the data is actually written in memory location X+16K. The magic register (output port $0C) determines how the data is modified." - "Nutting Manual," Page 94.

In the included letter to Bob Fabris, Brett notes that this four-page tutorial is a "better tutorial of the MAGIC register. Yes, the old MAGIC tutorial was working ok. It was just a bad example."
  1. Magic Register Tutorial Background - When the "Magic Register Tutorial" was posted, Brett was asked a couple of questions, here is his full response.
Ken's Korner Ken's Korner.
By Ken Lill.
About 1986.

     The purpose of this series of articles is to add some knowledge to readers that may be in the dark about some of the basic no-no's of programming!

     From the article, "One thing that can save an awful lot of space in making programs that have a lot of BOX commands is to make a BOX-making sub-routine." This tutorial explains how to save bytes when using the BOX command.
Music Composer With Ears On And Edit "Music Composer With Ears On And Edit (Compose by Ear)"
By Larry Smith

This program is designed to allow full usage of synthesizer functions at a relatively high speed (18 changes/sec) allowing up to 589 changes or entries, and also allowing the user to set up melody patterns first, and then "squeezing in" timings, or deleting mistakes, later. The notes being entered may be heard and compared against proceeding notes for correctness before being written. With all these functions, however, operations may be difficult at first, requiring a little practice.

This unpublished program is from the Bob Fabris Collection.
The Music Synthesizer Music Synthesizer, The
By Chuck Thomka

"The synthesizer circuit, which is contained wholly within the 40 pin custom I/O chip, is a very versatile circuit which contains counters and amplifiers to give the programmer tremendous control of the three voice output along with a tremolo, vibrato, and even a noise generator. The output frequency range is very accurately adjustable from less than 14 hertz to ultrasonic frequencies. The upper limit may be set by the capacity of your TV sound system."

This tutorial original was made up of two parts:
  1. "The Music Synthesizer [Part 1]," ARCADIAN, 1, no. 8 (July 1979): 62-66.
  2. "The Music Synthesizer, Part 2," ARCADIAN, 1, no. 9 (August 1979): 71-73.
This text version of the tutorial is missing four parts as they appeared in the Arcadian newsletter. The missing parts are:
  1. "Sound Graph" - A Bally BASIC program that allows access to the sound ports and makes a simple graph of the results. ARCADIAN, 1, no. 8 (July 1979): 65.
  2. "Touch Tone Simulate" - A Bally BASIC program that can be used to dial phone numbers. ARCADIAN, 1, no. 8 (July 1979): 65.
  3. "The Sound Synthesizer as Perceived by Chuck Thomka" - A visual overview of the sound ports. Brett Bilbrey has said that this has some errors, but he can't remember what they are. ARCADIAN, 1, no. 8 (July 1979): 66.
  4. "Frequency Table" - A table of all the sound generating keys, their &(17) values, the resultant frequencies, and any special notes about them. ARCADIAN, 1, no. 9 (August 1979): 73.
The two tutorials have been extracted from the two different issues of the Arcadian newsletter and combined into one PDF document. Also, the original tutorial as sent to the "Arcadian" is also available.
  1. The Music Synthesizer - From Arcadian
  2. More Information on the Sound Synthesizer - Original Arcadian "The Music Synthesizer" Submission
Plain_BASIC_Talk_Stack_Woes_by_Ken_Lill Plain BASIC Talk: Stack Woes, When Things are STACKed Against You!
Ken Lill.
July 2021.

If you are newish to BASIC programming with the either the Bally or Astrocade BASIC cartridges, there are a couple of things you will need to know about the STACK. This article gives you an overview of how the stack is affected when using BASIC.
  1. Plain BASIC Talk: Stack Woes (RTF) - Rich Text Format.
Plain_BASIC_Talk_Star_Trek_Remake_by_Ken_Lill Plain BASIC Talk: A Remake of Scott Waldinger's "Startrek."
Ken Lill.
August 2021.

This article gives some tips to Bally/Astro BASIC programmers for speeding up programs and some space saving techniques using Startrek as a programming example.
  1. Scott Scott Waldinger's Original Star Trek
Program Title & Instructions Without Using Memory "Program Title & Instructions Without Using Memory"
By Steven Walters.
Published in ARCADIAN 3, no. 2 (Dec. 05, 1980): 20-21.

     The procedure will allow you to describe a title at the beginning of the tape load, and up to nine lines of title and/or instructions at the end of the tape load, without using memory space.

     An earlier version of this tutorial was found among the Bob Farbis collection. That outdated version is also available-- think of it like a draft version.
  1. Program Title & Instructions Without Using Memory - Outdated submission to Arcadian
Random Numbers Tutorial Random Numbers Tutorial
By Rich Tietjens.

This six-page, previously unpublished "Arcadian" submission, is a hand-written tutorial that covers the accuracy of using the RND statement to create random numbers in Bally BASIC. Three BASIC type-in programs are provided as examples for readers
Snap and Show in 4K BASIC/ "SNAP and SHOW on the Bally 4K"
By Ed Groebe (with enhancements by Ron Picardi and Bert Holmes).
ARCADIAN 5, no. 3 (Jan. 14, 1983): 48.
ARCADIAN 5, no. 5 (Mar. 14, 1983): 75-76.

Form the article's introduction:

"Two of the new commands on the BALLY expansion units allow you to copy a picture from the screen, store it in memory and then display it again. These two commands are called SNAP ( to save & store) and SHOW (to display).

"Well you can do the same kind of thing with the BALLY. Of course it's not as easy, but the process can be shown with program below. It will copy and display a 20 x 20 pixel picture in the screen's center."

Program Title & Instructions Without Using Memory "Subroutine and FOR Loop Push-Down/Pop-Up Stack Notes"
By A. Winsor.
Unpublished Submission to Arcadian Newsletter. February 14, 1979.

     Notes on Subroutine and FOR Loop Push-Down/Pop-Up Stack. Taken from the article, "Subroutine levels and loop parameters are placed into the stack in a First-In-Last-Out (FILO) basis. Only for FOR loops originated at a particular subroutine level are available in that now level."

     There are handwritten notes on the paper from Bob Fabris such as, "Not clear," "Meaning, not simple-minded enough," and "Define." It's quite clear that Bob wanted this article revised before publication, but I don't think that it ever was updated, nor was it published in the "Arcadian."
Tape Archival Storage and Basic Maintenance "Tape Archival Storage and Basic Maintenance"
By ARD (Craig Anderson).
August 5, 1980.

Craig Anderson wrote this article called "Archival Storage and Basic Maintenance" as a cure-all for most of the problems related to loss of programs after a period of time which was mentioned briefly as "Tape Dropout???" in ARCADIAN 2, no. 9 (Jul. 28, 1980): 84.

In the article Craig notes that "while the article is rather lengthy. It is critical to the owner of a computer with cassette storage, and since nothing has been published on the topic in either of the newsletters, it is certainly worth devoting considerable space to. You may feel free to edit and condense it to suit your space requirements." Parts of this article were probably published in the "Arcadian" to follow-up on the problems that some users were experiencing with tape storage.
TV Output Notes By Marc Calson (1979)
TV Output Notes.
By Marc Calson (possibly a misspelling of Mark Carlson).
Possibly 1979.

This additional information is pertinent to the August 1979 Arcadian.

While searching for letters in the Bob Fabris collection, I came across these four scanned pages that are labeled as "TV Output Notes." When originally scanned, credit for this document was given to someone named "Marc Calson." However, while searching the Fabris Collection, I can find no reason why it is credited to this person. I wonder if the name is misspelled? Perhaps the name should be Mark Carlson (someone who did correspond with the Arcadian-- although I can't find any reference in his letters to this document). The scan is labeled (in the file's name) as being from 1979-- but again, I'm not sure where that information is from originally.

The four pages of this document were created using the output of a short 10-line, BASIC program. Whoever sent this document to Bob methodically noted down four sets of numbers for each ASCII character. I can't say that I understand the listed decimal number information, but it seems to nicely supplement the August 1979 issue of the Arcadian's music coverage from Robert Hood (American Concert Frequencies) and the second part of Chuck Thomka's music tutorial, The Music Synthesizer.

Using Machine Storage in Bally Text Area Without REM Statements: Tutorial "Using Machine Storage in Bally Text Area Without REM Statements: Tutorial."
By Jim Dunson.

     An extensive tutorial that explains how to use memory locations at the back part of the Text Area to hold POKEd data. A program example is given that holds sound and music there.
XY Tutorial XY Tutorial
By Timothy Hays

A tutorial on the Bally BASIC XY command for exceptionally well controlled graphics. - 12 Pages (1.27 MB).
BallyAlley_r4_c1.gif pic BallyAlley_r4_c4.gif