The Better Bally Book

Welcome!

The Better Bally Book (BBB) is a wiki dedicated to organizing, annotating, and improving Software and Hardware for the Bally Arcade, a technical manual for the Bally Home Computer/Arcade/Astrocade originally published in 1978 by Dave Nutting Associates.

This so-called 'Nutting Manual' is an invaluable source for programmers interested in developing new software for the Bally Arcade, but it is also a difficult resource to manage due to its inconsistent organization, lack of clear examples, and numerous omissions.

The purpose of the BBB is to improve the source text by reorganizing its sections, providing code examples to illustrate system routines, editing its content for clarity and spelling, eliminating irrelevant information (e.g., the high-resolution mode) and code errors, adding pictures, elaborating on difficult technical subjects, and updating its language to modern computing conventions (e.g., replacing 'cassettes' with 'cartridges').

In other words, the Nutting Manual serves as the foundation upon which to build a more usable technical manual, one that benefits both from its web platform and from nearly forty years of Bally Arcade programming knowledge. The hope is that these improvements will encourage more developers, researchers, and hobbyists to explore, understand, and create Astrocade software.

References

When applicable, references to the original Nutting manual are provided in brackets following the referenced text. These references use the following format:

[NM:xx–xy]

'NM' stands for Nutting Manual and 'xx–xy' lists the relevant page number range. Keep in mind that sections are edited for organization, spelling, content, errata, etc., so the BBB may not match the Nutting Manual text.

References to outside resources will be listed inline, at the end of the page, and/or linked directly, depending on the context and usage.

Numeric Representation

The following conventions are followed throughout the BBB:

Base Symbol Example
Decimal none 14, 309, 88
Binary % (prefix), B (suffix) %10010001, 11110000B
Hexadecimal $ (prefix), H (suffix) $A8, 2000H

Wiki Syntax Guide

For help with wiki formatting, please consult DokuWiki's Formatting Syntax page.

Code Examples

All code examples will be listed in code blocks so their proper formatting may be maintained, as in the screen clearing example below:

SYSTEM  INTPC          ;BEGIN INTERPRETING
DO      FILL           ;DO FILL ROUTINE
DW      NORMEM         ;START AT TOP OF SCREEN
DW      92*BYTEPL      ;CONTINUE FOR 92 LINES
DB      0              ;FILL WITH ZEROES
EXIT                   ;EXIT INTERPRETER

Resources

Bally Arcade
Bally Alley Maintained by Adam Trionfo for over a decade, Bally Alley is the definitive archive for Bally Arcade history, documentation, photos, programs, advertisements, and more. The BBB wouldn't be possible without Adam's site.
Bally On-Board ROM Subroutines Documentation of all of the Bally Arcade's system routines, with more verbose descriptions than those found in the Nutting Manual. Originally published in the Cursor newsletter in 1980. [PDF]
Bally / Astrocade Vector Animation Tutorial Lance F. Squire's indispensable guide to pattern writing and vector movement. Covers important details that the Nutting Manual omits. [PDF]
Astrocade Machine Language Programming Tutorial A compilation of articles from “The Bit Fiddler's Corner,” written by Andy Guevara and originally published in the Arcadian between 1983–84. A great start for those who are new to both the Bally Arcade and Z80 assembly programming. [PDF]
Bally Arcade Service Manual The Service Manual outlines the Bally Arcade's basic functions, technical specifications, parts, and circuit layout. [PDF]
The Bally / Astrocade FAQ Lance F. Squire's online FAQ outlining the console's history, specifications, cartridges, etc.
Z80
Programming the Z80 (3rd Ed.) Rodney Zaks' 1980 programming manual for the Z80 CPU. A solid resource for programmers new to Z80 assembly, though the learning curve gets steep after the introductory chapters. [PDF]
Z80 Family CPU User Manual Zilog's official documentation for the Z80 CPU. Clear and comprehensive. [PDF]
The Undocumented Z80 Documented Sean Young's deep dive into the Z80's inner workings. [PDF]
Z80 Assembly One of the best Z80 guides online, especially for beginners.

Credits

Software and Hardware for the Bally Arcade: A Technical Description
© 1978 Dave Nutting Associates, Incorporated
© 1978 Bally Manufacturing Corporation

Edits, annotations, and revisions maintained by Nathan Altice (Project started 5/21/2016).

        __|_|_-__---__---___================___---__---__==_____
       |\|____________________________________________________|/|
       |||                                                    |||
       |||                                                    |||
       |||                                                    |||
       |||                                                    |||
       |||____________________________________________________|||
       ||\                             =============         / ||
       || |-------------------------------------------------|  ||
       || |                ___________________________      |  ||
       || |                |.... | _________________ |      |  ||
       || |                |.... | |               | |      |  ||
       || |                |.... | |               | |      |  ||
       || |                |.... | |_______________| |      |  ||
       || |                |.... | __    _____       |      |  ||
       |||                 |.... | R-    Eject       |       | ||
       |||                 ---------------------------       | ||
       |/------------------------------------------------------\|
        --------------------------------------------------------

ASCII illustration by Lance F. Squire