Astrocade Machine Language Source Code

Machine Language Source code for various programs, mostly cartridges are
available here.  Some of the material is scanned, but a good portion of it has
been retyped and is ready to be assembled.  Also, some of it has been dis-
assembled and commented.  If you're a machine language programmer, then there
is a WEALTH of material here:
1) 300 to 2000 BAUD Loader, (Scanned, PDF)

2) 300 to 2000 BAUD Loader, (Ready to Assemble)

300 to 2000 BAUD Loader Utility Program

This program loads audio tapes generated by the old version of BALLY BASIC into the New and Improved version of AstroBASIC. This is the source code for the BASIC program that is included in the AstroBASIC manual. This program will NOT run as a cartridge.
1) Table of contents / Assembly Header File
2) ROM (Subroutines, Character Set, et. all)
3) ROM (Cross-reference)
4) Scribbling (Assembly Listing)
5) Scribbling (Cross-reference)
6) Calculator (Assembly Listing)
7) Calculator (Cross-reference)
8) Checkmate (Assembly Listing)
9) Checkmate (Cross-reference)
10) Gunfight (Assembly Listing)
11) Gunfight (Cross-reference)

12) Bally ROM Source, (Gold Standard)
13) Bally ROM Source, (Archive Version)

Astrocade On-Board ROM

This is the Bally ROM scans from the "Nutting Manual" and the code in ready-to-assemble format. It includes the source for the 4K of System ROM, and the other 4K contain Checkmate, Calculator, Gun Fight and Scribble.

The scans of the manual are not needed anymore now that the source-code has been retyped. It is for archival and reference purposes. The "archive" version of the source code assembles to the 8K Bally On-board ROM. It matches EXACTLY with the 3159 version. This version matches VERY closely with the scanned "Nutting Manual" source code, so it is being kept for reference.

The "gold standard" version, created and updated by Richard Degler, is the updated assembly source code for ALL THREE versions of the Bally System BIOS. It can be used to recreate any version of the on-board ROMs. By changing the EQUate 0,1s in the first block marked with "###"'s you can conditionally generate either the WHITE.bin or ASTRO.bin (a.k.a BIOS3159.BIN) both known as "OVER" ROMs, in addition to version 0 BALLY.bin (BIOS3164.BIN or "GAME OVER") from the same source code.
Balcheck 1.0, (Ready to Assemble)

Balcheck 1.1, (With Comments)

Balcheck

This source code is for use with the BalCheck hardware. There is conditional assembly so that it will assemble for the 3159 or the 3164 ROM. Two versions are available. The regular one, plus one that has a thouroughly commented memory test section by David Turner.
Bally Demo Cartridge, (Ready to Assemble)

Bally Demo Cartridge, (PDF)

Bally Demo Cartridge

This cartridge demos the capabilities of the Bally / Astrocade. This is also known, sometimes, as the Dealer Demo.
1) AstroBASIC, (Scan, Pages 1-32)
2) AstroBASIC (Scan, Pages 33-64)

3) AstroBASIC, (Gold Standard)
4) AstroBASIC, (Archive Purposes)

BASIC, AstroBASIC

This is the version of BASIC that has the tape input / output port included in the cartridge.

"Gold Standard" Version - This source code was updated by Richard Degler for ease of reading and use. He added additional comments where he could. This is the version that you want to download and actually use.

"Archive" Version - This source code was retyped from the PDF version and changed to standard Z-80 mnemonics (it was REALLY different). This version most closely matches the original source-code, though consider this for use for archival purposes only.
Bally BASIC, (Scanned, PDF)
Bally BASIC, (Ready to Assemble)

BASIC, Bally BASIC

The PDF version was supplied by Brett Bilbrey. The version that can be assembled was created from scratch by Richard Degler using the AstroBASIC source-code as a model. He added additional comments where he could.
Color BASIC, (Ready to Assemble)
BASIC, Color BASIC

This version of BASIC was never released for the Astrocade-- it exists as an archived prototype only. This version of the source code was created from scratch by Richard Degler using the AstroBASIC source-code as a model. He added additional comments where he could.
Dogpatch (2008, Complete Disassembly)

Dogpatch (2003, Incomplete Disassembly)

Dog Patch

A complete disassembly of the Astrocade cartridge Dogpatch. Originally worked on by Adam Trionfo in 2003 and left in an incomplete state. In 2008 Richard Degler took the source-code and finished the disassembly. Both versions have been left online for comparison purposes.
Football (1-38)
Football (39-76)

Football (Text, 41 pages, NOT complete)

Football

This is the source for the Bally / Astrocade cartridge.
1) Fawn Dungeon, (Scanned PDF)

2) Fawn Dungeon, (Ready to Assemble)

Fawn Dungeon

This is an incomplete machine language game written by Barry McCleave. The player in this D&D-type game can wander around a maze, but there are no monsters. This is an interesting piece of what might have become something interesting. As it stands, it is little more than a programming exercise.

The scanned pdf is an early version of the source code (August 10, 1981) for the Astrocade prototype "Fawn Dungeon." It has some handwritten notes. This 16-page version of the program does not work (the cowboy does not come onto the screen). Using this source-code and the final version of the working prototype, a completed sourcecode was created that assembles EXACTLY as the finished binary version.
1) Goldfish Demo (Scanned)
     PDF

2) Goldfish Demo (Version 1.0)
     Ready to assemble. Will NOT run as a cartridge.

3) Goldfish Demo (Versions 1.1-1.4)
     Zipped archive of three assembly files and one binary file. These WILL run as a cartridge.


Goldfish Demo

Goldfish Demo 1.0 is for the Bally Astrocade game console and the Machine Language Manager cartridge. It won't run unless it is loaded from tape into Machine Language Manager. The program is meant to reside at memory location $4B40.

In January 2008, Lance F. Squire converted the Goldfish Demo to run as a cartridge. The binary for version 1.1 and the source-code for versions 1.2-1.4 are included in one archive. Version 1.4 is the finished product; it runs perfectly.
1) Machine Language Manager, (Scanned PDF)

2) Machine Language Manager, (Ready to Assemble)

Machine Language Manager

This is the source code the for Bally / Astrocade cartridge. It is available in both scanned format and a ready to assemble document.
RAM Test, (Scanned PDF)
RAM Test (Generic Z-80 Source Code)

A five-page scan from Z80 Assembly Language Subroutines by Lance A. Leventhal and Winthrop Saville. This is a generic Z80 routine to perform a RAM test.
Songs, (Ready to Assemble)
Songs

This Bally / Astrocade cartridge has been attributed to Scot Norris. This cartridge has been disassembled by Richard Degler. The source code is about 35 pages.
Star Battle, (PDF)
Star Battle

This source code is for the Bally cartridge. This cartridge has been disassembled by, possibly, Tom Woods, in 1979. As it was included in the Bob Fabris collection without any notes to who actually did it, it is impossible to know for sure. The source code, including cross reference and opcode listings, is 30 pages.
STWEEK, (Disassembly and More)
Stweek (Sound Tweeker)

Stweek was never officially released. Word has it that Scot Norris used this for programming sound for the DNA (BALLY) carts. This is a very commented disassembly by Richard Degler. This 23 page zip includes:

1) STWEEK Manual - Written by Richard Degler
2) STWEEK.asm - A complete disassembly of Stweek
3) Stweek_Discussion.txt - Posting compilation between Richard and Adam Trionfo.
4) Two songs that can be loaded in MESS.
Treasure Cove (Preliminary) - Scanned PDF

Treasure Cove (Preliminary) - Text.

Treasure Cove

This is the 27 pages of source code for Treasure Cove, as supplied by Brett Bilbrey, the programmer of the cartridge. This is not the final version, as that version of the source does not seem to be available.

The source code has been retyped and is available in a text version, but it will NOT run (see the file for details).
Video Storybook (Partial Disassembly)
Video Storybook

Richard Degler finished disassembling the Astrocade unreleased cartridge "Video Storybook" as far as he plans to take it. There are still a lot of Variables and Routines that are left unidentified, but someone filled up an entire 8K ROM with some pretty twisted code, leaving only 132 bytes at the end.
Wizard of Wor
Wizard of Wor (Arcade Game)

This is 373 pages of source code in assembly language for the arcade game Wizard of Wor. This is not the cartridge version of the game for the Bally / Astrocade.