History Panel: “The Arcadians: Exploring the history of homebrew for the Bally Astrocade”

Kevin Bunch posted the following to the Astrogroup subforum on AtariAge:

“For any enthusiasts who are going to Magfest or live on the east coast, Rachel Simone Weil and I will be running a history panel all about the independent developer/enthusiast scene that cropped around the Astrocade! Obviously quite unique for a game console to have vastly more unofficial, “bedroom coder” style software releases than official ones, and having enthusiast-developed and sold hardware is similarly incredible. We’ll be talking about how this scene coalesced, the kind of unique, even artful programs that were created, how it petered out, and if there’s time, even a bit about the current state of homebrew development for the platform.

“I also plan on bringing my Astrocade to the museum area and having it set up to play immediately following the panel with some BASIC games and homebrew/indie stuff on the ultimulti. Magfest is Jan. 2-5 in National Harbor, Maryland, and the panel itself will be recorded and posted on YouTube in the weeks following the event.”

Astrocade_at_MAGfest_2019_01_03

In a private email to me, Kevin gave me a bit more information:

“So about the talk. It’s taking place at MAGfest in National Harbor, Maryland on January 3, and is titled “The Arcadians: Exploring the history of homebrew for the Bally Astrocade.” Rachel and I will be talking about the development of an independent developer scene around the Bally and how the support from fans kept the machine alive and going even when Bally and Astrovision were struggling – something rather unique for a game console. Since this aspect of the platform was unemulated until recently, it’s a perfect opportunity to talk about and showcase some of the interesting art and music programs and games created using the BASIC carts as well, including ones that commentate on then-current events and worries. I also plan on bringing my Bally along to load up some BASIC games for folks to try in the MAGfest Museum after the panel.

“Since last year MAGfest has had a dedicated game history panel track, where they bring in game historians to discuss interesting topics and items of research they’ve been delving into. I would also like to note that another history panel going on that day, presented by Whitney Pow and entitled “The Glitch: Queer and Transgender Video Game History,” will discuss Jamie Fenton’s contributions at length, including her video art projects. I’ll attach an image of the game history panel track schedule below.”

You can read more about the Magfest, here:

https://super.magfest.org/

Good luck to both Kevin and Rachel on their talk!

Uploaded 26 Unedited Astrocade Video Art Videos in Two Days

Since I began uploading the unedited videos of Bally Arcade/Astrocade video art yesterday, I have managed to upload 26 different videos. I added beginning and end titles to each of them to give them just a bit of context. My plan was to have commentary for each video (like I’ve done before), but I realize now that that scheme is WAY to time consuming to follow-through with that plan.

I have 19 more already-recorded video art videos to upload to archive.org. I’m going to take a break from this and get back to it next week.

Stanley Kendall’s “C-8 Line Art” is a Blue Ram BASIC program that compiles 50 (!) of his video art programs (he sure did write a lot of them!). I recorded some of it, but it’s LONG and I’m not sure how I’ll deal with that one.

I still have other video art to record, but most of the rest is rather simple.

Here are a few semi-random choices for some of my favorite videos that I’ve uploaded since yesterday:

“Video:Video” is a video art program that uses four-color graphics on a split screen. When the program is finished it loops and starts again.

https://archive.org/details/VideoVideoFredRodneyUneditedVideoArtAstroBASICBallyArcadeAstrocade1984

“B-14 – 1001 Lines” by Stanley Kendall. This one is for Blue Ram BASIC:

https://archive.org/details/B-14-1001LinesStanleyKendallUneditedVideoArtBallyArcadeAstrocade1983

Here’s one last pick: Stanley Kendall’s “A-7 – Box & Circle Art” from January 17, 1983. This one has circles that look pretty creepy (like eyes):

https://archive.org/details/a-7boxandcircleartstanleykendalluneditedvideoartbluerambasicballyarcadeastrocade1983

You can always see my latest uploads to archive.org (including, of course, the latest 26 uploaded video art videos), here:

https://archive.org/details/@ballyalley

Does anyone have personal favorite from this recent flurry of video art uploads?

Adam

An In-Depth Look At… Series: A Supplement to the “Nutting Manual”

An In-Depth Look At… Series: A Supplement to the “Nutting Manual”
By MCM Design (Michael Matte).

This multi-part programming tutorial series, first “published” online in July 2019, focuses on programming in Z80 assembly language and machine language. Special attention is paid to specifically programming the Bally Arcade/Astrocade, with an in-depth look at the “Nutting Manual” Specific instructions, Z80 programming examples and links to useful Astrocade/Z80 documents are provided. This series is initially set up for a beginner interested in programming in assembly language or machine language.

Here is a link to the main page of the series:

https://ballyalley.com/ml/ml_docs/An_In-Depth_Look_At/An_In-Depth_Look_At.html

Note that most of these tutorials are RTF (Rich Text Format) documents. Many common word processors (such as Microsoft Office) can open these documents, including the freely available Open Office suites.

Michael Matte, the author of the series, would like all comments and questions about the series to be posted to the official AtariAge thread, here:

https://atariage.com/forums/topic/293889-an-in-depth-look-at-series-nutting-manual-supplement/

It is the hope of both Michael and myself that this series provides the information needed for a neophyte Z80 programmer who wants to investigate how to specifically program the astrocade using the many routines built into the system. Perhaps, some individuals will even be spurred to create some homebrew software.

Here is information and links about the first four tutorials (0-3):


An In-Depth Look At… series: A Supplement to the “Nutting Manual”
Part 0: Series Start-Up/Introduction.
By MCM Design (Michael Matte).

Here is a direct link to ballyalley.com with the 15-page introduction to the “In-Depth Look At… series:”

https://ballyalley.com/ml/ml_docs/An_In-Depth_Look_At/An_In-Depth_Look_At.html#AnInDepthLookAtStart-UpIntroduction

Here is a very brief overview of the introduction:

Anyone interested in writing programs for their Bally/Astrocade in machine language or programming in assembly language will eventually learn about what is commonly referred to as the “Nutting Manual:”

https://ballyalley.com/ml/ml_docs/ml_docs.html#NuttingManual

This manual is packed with programming information for the Bally/Astrocade. From a programming viewpoint, the manual does provide details on the ROM’s UPI processing and on-board subroutines, but does not provide examples so the reader can acquire thorough understanding as to how the UPI and subroutines function. The details it does provide, at times, are insufficient and can leave the reader desiring more info.

The intent of this “An In-Depth Look At …” series is to supplement the “Nutting Manual” providing missing information plus stressing ML and assembly language program examples. The series will progress towards the presentation of programs with complex graphics and motion. Programs will also include extensive programming comments.

This series is not intended to teach the reader how to create ML programs or program in assembly language. Rather, the series will show how the on-board ROM subroutines can be used to display graphics, move non-blinking graphic patterns around the screen and perform many other tasks.


An In-Depth Look At… series: A Supplement to the “Nutting Manual”
Part 1: Pixel Color Register.
By MCM Design (Michael Matte).

Here is a direct link to ballyalley.com with the 6-page to the “In-Depth Look At… series” that concentrates on the Pixel Color Register:

https://ballyalley.com/ml/ml_docs/An_In-Depth_Look_At/An_In-Depth_Look_At.html#AnInDepthLookAtPixelColorRegister

Here is a very brief overview of Part 1:

There are 4 screen display parameters that must be initialized when the Bally/Astrocade console is powered on. The motherboard ROM executes a power up routine to initialize these screen parameters prior to displaying the system menu. The parameters are changed or initialized in all ROM cartridges and can be changed any time during execution of a program.

The 4 parameters are the color registers, the horizontal color boundary, the border background color and vertical blanking, all of which will be described in the first 3 lessons of this series.

Enjoy programming the awesome Astrocade!


An In-Depth Look At… series: A Supplement to the “Nutting Manual”
Part 2: Color Map Parameters.
By MCM Design (Michael Matte).

Here is a direct link to ballyalley.com with the 5-page to the “In-Depth Look At… series” that concentrates on the Color Map Parameters:

https://ballyalley.com/ml/ml_docs/An_In-Depth_Look_At/An_In-Depth_Look_At.html#AnInDepthLookAtColorMapParameters

Here is a very brief overview of Part 2:

The Bally/Astrocade color map parameters include the Horizontal Color Boundary, 8 color registers map and the border background colors. This tutorial covers these topics and includes example programs on how to use them.

Have fun programming the incredible Astrocade!


An In-Depth Look At… series: A Supplement to the “Nutting Manual”
Part 3: The Vertical Blank Register
By MCM Design (Michael Matte).

Here is a direct link to ballyalley.com with the 6-page to the “In-Depth Look At… series” that concentrates on the The Vertical Blank Register:

https://ballyalley.com/ml/ml_docs/An_In-Depth_Look_At/An_In-Depth_Look_At.html#AnInDepthLookAtVerticalBlankRegister

Here is a very brief overview of Part 3:

The only RAM in the Bally/Astrocade console is screen RAM. Unfortunately, with this situation, variables, routine flags, data blocks, the Z80 stack area, etc, must be located in the bottom of the screen RAM area plus the extra 16 bytes of scratchpad RAM at 4FF0 thru 4FFFH. The hardware allows this data to be hidden from view by setting a vertical blanking line to the desired height. The NM system description, page 90, provides some additional info on vertical blanking.

This tutorial explains how to use the Vertical Blank Register using example programs and step-by-step methods to explain how to use the register to work for the programmer.

The best Astrocade ever made is in your head; why not start programming this 1970s console beast?!?

Adam

Notes from a 2019 Interview with Jamie Fenton

I’ve been listening on and off to “They Create Worlds,” a podcast devoted to the history of videogames, for a couple of years now. On April 23, 2019, Kevin Bunch sent me a private message via Atari Age. He said that Alex Smith, one of the two hosts of the podcast, did an interview with Jamie Fenton. Jamie was heavily involved with the creation of the Bally Arcade and programmed Bally BASIC, “Astro BASIC,” and the extended BASICs, as well as various other software for the system.

Kevin sent me an excerpt of the interview. I asked Alex if I could share this information and on May 2 he gave me the okay. I want to make it clear that Alex Smith and Jamie Fenton are the original source of this information. I am passing along the information as it was given to me via Kevin Bunch.

You can listen to the “They Create Worlds” podcast here:

http://podcast.theycreateworlds.com/

Alex is writing a book on the history of videogames. I mentioned to him that I didn’t expect much coverage of the astrocade. His response surprised me. He said, “While you are correct that the Astrocade will not get a great deal of coverage in my book (though more than you might think as I have 600 pages to tell the story of 1971-81 and try to give everything of note at least some attention), preserving and spreading the history of all facets of the industry is a personal passion of mine.” He also said, “I certainly admire your work, which has been invaluable to my own research.” It’s great that perhaps a little bit of the work that has gone into the archiving of the astrocade by me and others is being disseminated to a wider audience.

Kevin told me that Alex spoke to Jamie Fenton specifically about Astrocade software, BASIC, and possibly ZGRASS. I guess he spoke with her a couple of weeks ago, possibly in early April, about the hardware side of things. Kevin went on to say:

“Oh, Alex tells me this is actually for the book they’re working on, not the podcast (though that could happen at some point). Said in total they have 2 hours of conversations about the Astrocade for this. If there’s anything you’d want to share, I suggest reaching out to him at some point – I’m sure he could accommodate to some degree without undermining their manuscript I imagine (or at least give you an idea when the book might come along)! This is just scratching the surface of what they talked about.

“That said, he passed along the following items to me, which you might find interesting:

“The BASIC cartridge actually was originally created due to laziness. Management wanted a demo program for the system, Fenton didn’t want to write one, so she decided to write a BASIC version instead. That was finished so fast that she ended up having to write the demo program anyway. Additionally, the Bally BASIC version that was sold was actually version 2.0 – the first version didn’t have any command shortcuts. The usage of video memory and the ability to send calls to the hardware for specific graphical uses are why she considered it to be a fairly successful project.

“As for the add-under, Fenton told Smith that she was interested in ZGRASS because it reminded her of BASIC – simple to use but with better graphical abilities. But towards the end of the process she soured on the language, feeling it was too slow. The final version of the add-under actually used Forth, not ZGRASS, which was later adapted to Terse for writing arcade games. Which makes me wonder if the unit that the NVM [National Videogame Museum] may have bought actually has ZGRASS, or if it has Forth.”

My response to this information from Kevin was that “I am glad that Alex is able to do an interview, or a couple of them, with Jamie. When I spoke to her in 2001, she would not allow me to record conversation.

“I can’t think of anything in particular that I can add to Alex’s book for the astrocade. I presume, since he will be covering so much in the book, that the astrocade will be all but a footnote. I do hope, at least, that he brings up that the astrocade was the least expensive computer upon its release to be able to run BASIC. I guess that is debatable, depending on what you consider a ‘computer.’ […]

“I have heard that the BASIC cartridge was created as a stop-gap measure while Z-GRASS was in development hell. It was a quickie conversion from Tiny BASIC. Although the language has Tiny BASIC at its roots, at the time, Jay added many of the graphical features which allow programmers to create games in less than 2K of RAM.

“I’m not sure what you mean by Bally BASIC was the second version of language. What are the ‘command shortcuts’ that you mention? Do you mean the graphic commands like LINE? Certainly, the CALL command is what eventually allowed programmers to access the onboard ROM subroutines. That was a hidden command that was only let out of the bag by Jay himself via the Hacker’s Manual that was available to/through the newsletters.

“I consider Jay’s hack of allowing screen RAM to store a program to be extremely clever. Many people seem to misunderstand how this ‘trick’ works.

“I can understand why J soured on Z-GRASS, but I would consider it a success, as many of the students at the University of Chicago seem to have loved the language. In the examples of its usage on YouTube, the language does seem slow. However, in comparison to BASIC, it seems about the same speed. Plus, it has access to much more memory and many more commands.

“I do seem to have a faint memory that the add-under was going to use Forth in some way. The add-under, as designed by Bally, seems to have been pretty much scrapped in favor of the version that Alternative Engineering was creating and was sold to the National Videogame Museum a few years back. That version of the Z-GRASS add-under certainly was supposed to have Z-GRASS in the ROM. Now, whether or not the NVM has even tried to boot the system is something I do not know right now. Have you ever been able to get in touch with them about this hardware?”

Kevin responded:

“I’m actually not familiar enough with using the BASIC cart to know what Fenton means by command shortcuts; my initial thought is the keypad shortcuts. I did note the uploads you made to archive.org when you made them, so he should be aware of them (I also sent him my raw notes of the Defanti interview I did).

“You know it’s funny, I spoke with John Hardie at the NVM the other day about a couple other research questions I had and completely forgot to ask about the ZGRASS add-under! Supposedly he wants to try and make VCF East in a couple weeks – if he does, I’ll check in with him there. Otherwise I’ll just call back about it. I maintain that if the add-under works and does have ZGRASS in its rom, it would absolutely be worth dumping and trying to build an emulator for.”

These few tidbits of information are enough to whet my appetite for more and I hope that at some point the interview with Jamie that was conducted by Alex is made public. Perhaps after Alex Smith’s book is published that will be a possibility.

I’m glad that Kevin told me about this interview with Jamie Fenton that was conducted by Alex Smith. Special thanks to the three of them for their work with the astrocade and videogames in general. Fenton’s work, in particular, is still used by me on a weekly basis whenever I use my astrocade.

Long live the astrocade; long live Bally BASIC!

Adam Trionfo

BallyAlley Website History / Past Feb. 7 Updates

This Astrocade blog is really giving me an opportunity that I have not taken before now. I have been going through BallyAlley.com’s “What’s New” area looking for updates that I have made in the past. This is a fun experience. It gives me a chance to remember that this website, devoted to a long-forgotten videogame console, has been around for almost 20 years! In the next few weeks, I plan to write a blog post about this with a title like, “What’s so great about the Bally Arcade / Astrocade, anyway?” I’m not sure that I have an answer, so exploring this area of my mind, and understanding why I have been a fan of the astrocade since I was introduced to it in the early-to-mid-1990s, will be a rich and rewarding topic for me to write about at length. I’m sure that I will learn a little bit about the gaming hobby, and about myself too.

Let’s get into the meat of this post. What content did I add to BallyAlley.com on this day of any year? To answer that question, I have to go all the back to February 7, 2001. On that day I added an early article that I wrote called “Discovering and Exploiting the Bally Astrocade Cassette Format.” At that time, there was little known about the AstroBASIC 2000-baud tape format. Now there are tools to work with WAV files that allow BASIC programs written for the Bally Arcade to be manipulated and digitally archived. Back in 2001, this wasn’t yet possible. The tape format was a popular topic on the Bally Alley Yahoo group.

Take a look at the way the article looks now:

bally_cassette_format_Screenshot

Bally Alley.com remains primitive-looking compared to modern websites. Parts of the website, such as this article on tape formats, are even more primitive. This article harks back to the very beginning of the site, before there was a theme. As you can see, the picture is just plain HTML. To this day, the website remains completely written in HTML and CSS. Here is a link to the article about BASIC tapes:

Discovering and Exploiting the Bally Astrocade Cassette Format, by Adam Trionfo

Be warned, this article and all of the old areas of the modern Bally Alley website, probably don’t look very good on widescreen monitors. Sorry about that, but changing the website now would require rewriting hundreds of HTML pages. That’s the problem with hard-coding how a website is set up. I guess I didn’t know better at the time… and now it’s too late to change it. Besides, even if I did, then in just a few years the look of the site would fall out of fashion again.  I’ve never been fashionable, so why start now?

Also on this day in 2001, I linked to the Astrocade Discussion Group at Yahoo Groups, here:

https://groups.yahoo.com/neo/groups/ballyalley/info

I made the first posting to the Yahoo group the next day. It said:

Today, February 8, 2001, marks the beginning of the Astrocade discussion group. This is the day when the Astrocade community begins to have a place to meet and call our own.

Anyone want to start off discussing who we are, what we do, and how we use our Astrocades?

The astrocade yahoo group is still active and it has 363 members. As of today, there have been 16,237 posts made there. You don’t have to be a member to read the posts, but you do have to be a member to post to a thread. According to the group’s statistics, I have made about 6,200 postings to the group since 2001. Wow!— that’s a lot of typing! My most recent post there was only yesterday.

Over the years I have written some fairly lengthy posts to that group. I’m not sure which is my most favorite post that I’ve written, but one of them is called “Astro Battle ‘Lives’ Cheat/Hack.” You can read it here:

Astro Battle “Lives” Cheat/Hack, by Adam Trionfo

If you find cheating at Astro Battle (a Space Invaders clone) interesting, then read the follow-up threads to the post.

Back when the Bally Alley website was first started, I hosted in on my own. I don’t remember where it was exactly. Before long, William Cassidy, of The Odyssey2 Homepage! asked if I wanted the site hosted on classicgaming.com. I took him up on that offer right away. Under William’s guadance, ClassicGaming.com was an excellent website. Eventually the site sold out to GameSpy. Things changed and I moved BallyAlley.com away from there. The ClassicGaming.com URL now brings you to IGN.com. That’s too bad, as it was nice to have a centralized hub for nearly all of the classic console systems.

The last update I made to BallyAlley on February 7, 2001 was that I added the “Classic Gaming” ads to the top of all pages (this was required by the host). Did banner ads really work to bring in money for any of these hosting services? I don’t know, but I certainly don’t have any advertising now on my website now. If you’d like to see how BallyAlley.com looked back in 2001, then you can view it on Archive.org, here:

www.classicgaming.com/ballyalley

The website looked pretty ugly, but the important matter was, and remains to be, that the content of the site was, and will continue to be, strong and directly related to the Astrocade game console and its arcade cousins.

This blog is bringing back plenty of memories. I’ve been part of the classic gaming hobby since 1989/90, when “classic games” were just called “games.” By the mid-1990s, “classic games” were referred to as “old games” and people wondered why anyone would still play that old junk anymore. This was a time when you could buy an Atari 2600 for a buck or an astrocade for fifty cents (like I did).  Eventually, I really jumped into the hobby by creating a paper newsletter.  I’ve been part of the classic gaming community since 1994. I guess that after all this time I’m here to stay!

Space Gauntlet by The Tiny Arcade

There has only been one addition to BallyAlley.com on February 6 in years past. That was in 2017, when I added two different BASIC listings of Tiny Arcade’s 1982 game Space Gauntlet, which looks like this:

Space_Gauntlet_(The_Tiny_Arcade)_03

In Space Gauntlet “You control a star cruiser patrolling a remote sector of the galaxy when you encounter the local inhabitants. These denizens of deep-space don’t “cotton” to strangers and they arrange themselves into two columns, firing missiles and challenging you to fly between them and survive the deadly gauntlet.”

Complete Space Gauntlet Instructions

Here is a video of Space Gauntlet in action:

Here is a printed listing for the game:

Space Gauntlet (Printed BASIC Listing)

Most (nearly all) Astrocade programmers didn’t have access to a printer for their system. Who can blame them; this was primarily a game console.  Therefore, BASIC programmers had to keep track of their programs by carefully writing them down like this:

Space Gauntlet (Hand-Written BASIC Listing)

Writing down a BASIC program by hand and keeping track of it is one thing, but check out this example of a hand-written machine language program:

Machine Music Demo – Brett Bilbrey (Hand-Written Machine Language Program)

In February of 2017, the first round of the second season of the Astrocade High Score Club featured the cartridge game Solar Conqueror and the BASIC game Space Gauntlet. There is plenty of extra information about both games in that thread on AtariAge.com, which you can read here:

HSC02, Round 1: Solar Conqueror / Space Gauntlet

In that round, the final scores for Space Gauntlet were:

1st – ranger_lennier – 410 pts
2nd – BallyAlley – 260 pts
3rd – nd2003grad – 130 pts

Do you think that you can top those scores? Then download the 300-Baud, Bally BASIC version of Space Gauntlet from BallyAlley.com, here:

Space Gauntlet (Bally BASIC, 300-Baud version)

Give this game a try! If an “AstroBASIC” version of this game exists, then it has not been archived. This means that you’re going to be using the 300-Baud interface to transfer the program to your Astrocade– which isn’t really a bad thing; it’s a neat hardware item to play around with from time to time.

Enjoy!

Cosmic Raiders Z80 Disassembly

I added a new version of the Z80 machine language disassembly for the game Cosmic Raiders to BallyAlley.com.  I started this in September 2016 and Richard Degler sent me this version on December 25, 2018. This is the third release of this code.  It is now commented and most everything has been disassembled.

Cosmic Raiders is one of my favorite Astrocade games.  Here is a video review of the game by “niceandgames” that he published on Aug 26, 2011 to YouTube:

Richard has these few comments about this Z80 disassembly:

Here’s “COSMIC RAIDERS 2019.zip” (early VideoCADE #2019 New Year’s present) anyway. […] Check the names of the different fighter patterns – Type-2 and Type-4 might be switched. And notice that the BOMB-Explosion is NOT used for the Bomb! […] Contains the infamous “LD A,$F0 / OUT ($CC),A” (BASIC equivalant “&(204)=240”) which fooled [some few] into believing there was a MYSTIC register hidden in their machine’s hardware. Probably just a command to turn off a Printer, UART or Electronic Module in the test bed instead.

The disassembly can be downloaded here:

http://www.ballyalley.com/ml/ml_source/ml_source.html#CosmicRaidersDisassembly

Thank, Richard. As always, it’s always fun to read your excellent comments.