New Life for Bally Astrocade: Micro SD Card Solution with BackBit

I received my BackBit with Bally adapter this week and it is excellent, as the first solution that allows loading and managing applications direct from Micro SD. The previous longstanding solution (UltiMulti) had a fixed number of programs and you'd have to toggle a variety of dipswitches to load any given one. There are still benefits to the UltiMulti and Lil White RAM, in particular for BASIC programs. BackBit is for ROM/binary image loading so can't natively load PRG/WAV format files.

image.thumb.jpeg.1b1947aa1bb4609930d0000f549a6da8.jpeg

A Note About +5V Requirements

For the Bally adapter, the important point to keep in mind is that it requires the external +5V feed, done through the light gun port. This is equivalent to the way Lil White RAM gets its power or the original BASIC adapter.

Evie includes a solderless pinout wire where one end has a gripper that can carefully latch onto the +5V pin of the Bally light gun port, and the other feeds into a female header on the Bally Adapter (the PCB is labeled clearly in the corner “Power via LIGHT GUN”).

Regardless of Bally variant, I’d generally recommend adding a hardwired plug connector like Lil White RAM does for stability of the connection if you have the means. This will ensure the wire won’t accidentally come undone from the Bally when running if it gets bumped, and that the connection will remain steady at all times.

Thick 3 Pin Modification (BASIC Adapter Compatibility)

My Bally does not use that smaller 3-pin plug. Instead it uses the thicker and offset internal pins, so the easiest solution is to use the original BASIC adapter to feed into the Bally, and then feed the BackBit (or Lil White RAM or Cassette Adapter) into that.

To get this working properly, I took an 18-20 gauge wire and soldered it directly to the +5V on the BackBit Bally adapter where the pinout header is. On the other end of the wire I added a Molex connector that matches the original BASIC one and added a crimp connector pin, inserted into the +5V hole. To be more precise, the components used to match this arrangement are:

  • Series 2139 - MOLEX 09-50-3031 PLUG & SOCKET HOUSING, RECEPTACLE, 3POS, 3.96MM - 5935-00-148-4250 (I clipped the extruded tabs off so that it would fit within the BASIC adapter plugged into Bally)
  • Series 2478 - NSSP Molex 0008520072 08-52-0072 396 KK Crimp Contact Terminal 2478 18-24 Awg

I completed this same exact procedure for my Lil White RAM so that I was able to use that in the same manner with my Bally, easily swapping between BASIC Cassette Loader and Lil White RAM (and now also BackBit) by just swapping the Molex connector, but without ever having to disturb the BASIC adapter plugged into the Bally light gun port.

SD Card

I have a lot of vanilla 4GB Micro SD cards from stock Android phones back in the day. These have plenty of capacity for everything ever made for Bally (when ROMs are only 2-8KB each) and many other 8-bit systems combined. Easily formatted as FAT32 in Windows (if you exceed a 32GB card you may have to use a third party formatting tool to retain FAT32).

I created a Bally folder on the drive and simply copied the TOSEC ROM set from Adam into it. It gets inserted into the BackBit with the front of the card facing the front of the BackBit. It is not a spring-loaded port so you just push down until it stops, and then pull with slight force to remove.

The font size and Bally resolution only shows around 18-20 characters per line, so it’d be in your best interest to rename the files so they don’t get cut off on screen.

Connection and Operation

Once all of this is done, BackBit connects to the Bally expansion slot and the +5V to the light gun port. The expansion slot is a very snug fight so it is easiest if you connect one side first and then the other, back and forth slowly until secured. When you power it up, if all is working well the LED will flash red briefly. You’ll see the BackBit splash screen and then the directory listing to navigate the SD card.

In this example, I found the “Bally” directory and pressed Trigger to enter it. Up and down traverse the files individually, while left and right scan a page at a time. Pressing trigger on any ROM will load that into memory as if you’ve inserted a cartridge (or set the dip switches on the multicart).

image.thumb.jpeg.b95404b86b47d8402c6a4b2556dba412.jpeg

To return back to the main list, you can simply press the red button the BackBit! This is very convenient, for sure. The ROM images I tested worked fine. There are other commands from the keypad that can get you into BackBit settings and properties. Pressing ‘1’ (Space button in BASIC) will enter the options. You can scroll through those and press Tigger to alter an item, and at the bottom it indicates other buttons to access different screens. Fast Boot will remove the splash screen so it loads right to the listing. The time can be erased by pressing CE on the keypad but I admit I didn’t figure out how to input other values but didn’t investigate too much.

image.thumb.jpeg.5cbced84c88f25776762f03772cb2f5e.jpeg

Powering off the Bally will power off the BackBit. It is always recommended to power the Bally off before adding or removing the SD card or adapter.

BASIC and Machine Language Development

For BASIC applications, there is no cassette load or save ability built in (PRG or WAV format files do not work, only programs converted to ROMs as BIN files are directly runnable). This is where UltiMulti and Lil White RAM are still very useful for the many BASIC programs out there since that combo makes loading AstroBASIC / Blue Basic files easy including those requiring extended RAM. You can of course launch the BASIC flavors from BackBit and use them as normal, it’s just not particularly beneficial compared to UltiMulti if you have that already.

Evie previously noted in discussions that: “Memory from 5000..FFFF is served as RAM. If you create a zero-byte BIN file, you can use the RAM expansion with any physical cassette of your choice.”

For machine language development and testing, this SD capability is exceptionally helpful! Previous tests of custom Z80 programs on a physical machine would require very cumbersome processes often including creating special EPROM adapters, erasing and programming the binaries into EPROMs and all that work. Now, you can compile the assembly into binary using your favorite PC/Mac editor and toolset, and then just copy that binary onto the SD card to test on the real thing.

This greatly motivates me to pursue more Z80 development on this platform, whenever time may permit. In the screenshot you can see a simple “Hello Bally Group” listing made from Z80 and copied to BackBit. Works great!

image.thumb.jpeg.da6fcfa8b2bcb7d71e06facccd7ed187.jpeg

Conclusion

The BackBit is definitely a valuable modern toolset for quickly loading and trying new and existing ROMs. I appreciate that affordable adapters exist for so many platforms, including quite a few that otherwise lack an easy and efficient SD solution.

If you already have an SD/USB flash media solution for the platform, this is probably not an essential tool but still comes with handy enhancements and a very easy interface to navigate. On certain platforms there are other benefits as well, I also got the Aquarius adapter that contains integrated 32K that would previously require a mini expander and cartridge. The concept of nondestructive save/load states on supported platforms is also beneficial (Bally gave the message ‘unsupported’ when attempting this).

Addendum: You also will want to upgrade the firmware when you receive yours. I didn’t realize mine was still on firmware version 1.3.3 and the latest is 1.4.3 release just this week. You can grab the firmware and official documentation (general, not Bally specific) here: http://backbit.io/downloads/ - Extract the firmware update file to the root SD card and the next time BackBit starts it will auto-update. You can then do one more power cycle to make sure all is set.

The latest version of the firmware includes the SetScreen2 diagnostic program, if you hold in the red button when booting Bally it'll load that utility instead of the directory listing. This is especially useful if your Bally has a blank screen issue, as explained in the Bally troubleshooting documentation.