Jump to content
IGNORED

Keyboard Compatibility?


Chefgon

Recommended Posts

I'm interested in building a keyboard interface for my Bally computer to program with Basic. I've seen a few bits of information on ballyalley.com, but I haven't found anything concrete to work from. Has anybody done this before? Does anyone know where I can find relevant pinout diagrams or can point me towards a compatible keyboard to wire up? I'm just starting up with this project, so I was hoping someone could point me in a promising direction before I spend hours and hours scouring for little scraps of information.

 

Thanks!

Link to comment
Share on other sites

I'm interested in building a keyboard interface for my Bally computer to program with Basic. Has anybody done this before?

First off, this sounds like an interesting modern project for the Bally console. I hope that you are able to find success creating this keyboard.

 

I have a keyboard for the Bally. It is a serial keyboard that plugs into the Blue Ram Interface. It uses a plain ASCII keyboard from the late 1970s/early 1980s. I can talk more about that later in this thread, if you're interested. For now, let's just move ahead with the questions you have.

 

You mentioned that you did see some information about keyboards on ballyalley.com. So, the answer to your first question is that yes, people have looked up keyboards to their Astrocades in the past. I presume your question relates more to has anyone actually hooked-up a keyboard to the Astrocade in modern times, say, maybe, in the last ten years or so. If anyone has created a keyboard for the Bally Arcade, then I have not heard of it. While I don't know everything that goes on the Bally community, I suppose that I probably would have heard of this before now.

 

That leaves possible helpful sources of information about hooking up keyboards to the Astrocade to those projects created in the 1970s/1980s. You have to make a decision on if your keyboard will work with the original Bally BASIC, which uses the 300 baud interface, or if it will work with "AstroBASIC." The reason for that, is that the method to interface a keyboard is quite different for the BASIC that you choose to use.

 

Here are the methods that were used in the past to hook a keyboard up to the Astrocade:

  1. Bally BASIC - If you plan to use Bally BASIC, then you would hack the 300 bahd interface that plugs into the light pen port and hand controller port number 3. The keyboard would act just like a tape interface as far as BASIC is concerned. This was probably the most popular, and easiest, method to hook a keyboard up to the Astrocade.
  2. AstroBASIC - I can't think of any plans for connecting a keyboard to the second release of Bally BASIC, the cartridge with the built in 2000 baud interface. There is a keyboard driver for "AstroBASIC" that has been archived on ballyalley.com that allows the Blue Ram Keyboard to work with "AstroBASIC," but it does require the Blue Ram Interface. However, with only one point 1.8K of RAM available to "AstroBASIC," the driver requires the use of precious bytes of RAM.
  3. Blue RAM BASIC - Blue Ram BASIC has a keyboard driver built into the language for the Blue Ram serial keyboard.
  4. Vipersoft BASIC - This version of BASIC supports a keyboard that plugged into the Viper RAM expansion. I don't know how this one worked.

The most popular BASIC is "AstroBASIC, so it would be to your advantage to somehow build an interface that would work with that version BASIC.

 

Does anyone know where I can find relevant pinout diagrams or can point me towards a compatible keyboard to wire up?

 

For now, I'll leave you with an overview of how to use a keyboard with Bally BASIC (Arcadian 2, no. 8 (Jun. 23, 1980): 69.):

 

http://www.ballyalley.com/newsletters/arcadian/arcadian_vol_2/arcadian_vol_02_issue_08.pdf#page=3

 

If you are more specific about your project, especially which BASIC you want to use your keyboard with, then I will try to point out some links to helpful information.

 

Adam

 

  • Like 1
Link to comment
Share on other sites

I've been using Astro Basic. I don't have any of the original 80s expansions, but I was hoping to move up to one of the expanded versions when I acquire a Lil White Ram later this month. As I don't have the LWR yet, I'm not sure what compatibility is like with Blue Ram Basic or Vipersoft Basic, or exactly what the difference is between the two, but my target would be whatever is the best / easiest to set up running a combination of LWR, an Ultimulti, and an Astro Basic cart.

 

My hope was that one of these original expansions had keyboard support built into the software, and that I might be able to get some form of serial keyboard linked up to the right pins on the expansion slot.

Link to comment
Share on other sites

I've been using Astro Basic.

 

"AstroBASIC" is, by a long shot, the most common BASIC available for the Astrocade. It is common for a few reasons, but the most reasonable of them all is that it was included with the re-release of the Astrocade in 1981 by Activision, Inc. It is not the most powerful BASIC, but it is usable on un-expanded Astrocade system, and that makes it ubiquitous. If I were you, I would try to get a keyboard hooked up for this version of BASIC.

 

One way to hook up a keyboard that I did not mention my first post in this thread, is to hook it up directly to the keypad matrix of the Astrocade itself. This didn't seem to be done commonly, but it does allow whichever keyboard that is hooked up to work with any of the BASIC languages. It also doesn't require a software driver because BASIC would not notice any difference: to it, the keyboard would be acting exactly as a keypad. As with the other keyboards that were used, BASIC keywords would still have to be input as they shifted key.

 

I don't have the [Lil' White Ram] yet, I'm not sure what compatibility is like with Blue Ram Basic or Vipersoft Basic

The Lil' White Ram is a 32K RAM expansion. It is set up like the Viper RAM expansion. This is done for accessibility to hardware parts. The Blue Ram expansion has a built-in (non-standard) serial and parallel connections. It also has a built-in 2000 baud interface for saving and loading from tape. The Lil' White Ram does not support the I/O available with the Blue Ram expansion because the Intel 8154 I/O chip used in it is not easily available. Thus, you will have to use the Lil' White RAM in a similar manner to the Viper expansion. This means, in order to save or load from "tape" (nowadays, we use WAV files) you will have to use the 300 baud interface. "AstroBASIC," even with a RAM expansion present, is limited to 1.8 K of RAM. There are certain workarounds for this, for instance, I think, expansion RAM can be used to save strings, but usually you want to use an expanded BASIC, like Vipersoft BASIC, with the Lil' white RAM.

 

my target would be whatever is the best / easiest to set up running a combination of LWR, an Ultimulti, and an Astro Basic cart.

These three devices all work together well. There are a number of expansion RAM programs on the UltiMulti multicart the can't be used without RAM expansion. The Lil' White RAM works beautifully for this. In fact, I think it's early development was based on the idea of having an inexpensive RAM expansion for the Astrocade that was compatible with programs on the multicart. As I said, "AstroBASIC" will allow you to use some expansion RAM, but it is clumsy and not documented very well except in the Astrocade newsletters. The last couple of revisions to the UltiMulti allow you to program in machine language using a utility. I have not done this myself, but the program is called our R.W.B. Utility (it is based on the Blue Ram Utility). Also, I think that the Machine Language Manager cartridge (also on the multicart) will work okay with RAM expansion.

 

My hope was that one of these original expansions had keyboard support built into the software, and that I might be able to get some form of serial keyboard linked up to the right pins on the expansion slot.

Blue Ram BASIC has a keyboard driver built into the software. If you know any Z80 machine language, here is a link to a disassembly of the software driver:

 

http://www.ballyalley.com/ml/ml_source/Blue_Ram_Keyboard_Driver.zip

 

The trouble with your idea of hooking up the correct pins for a serial keyboard driver to the expansion slot is that the Lil' White RAM is already plugged into the 50-pin expansion slot. I'm not sure how you would work around that issue.

 

I am going to point people who read the Bally Alley Yahoo message group to this thread. Maybe there will be someone who who can help answer your questions.

 

Adam

Link to comment
Share on other sites

 

... Thus, you will have to use the Lil' White RAM in a similar manner to the Viper expansion. This means, in order to save or load from "tape" (nowadays, we use WAV files) you will have to use the 300 baud interface.

 

Actually,

 

Viper BASIC will save using the 300 baud interface when using :INPUT or :PRINT. However, if you use LOAD or SAVE it uses the AstroBASIC 2000 baud interface.

 

Lance F. Squrie

Link to comment
Share on other sites

 

Viper BASIC will save using the 300 baud interface when using :INPUT or :PRINT. However, if you use LOAD or SAVE it uses the AstroBASIC 2000 baud interface.

 

Lance is right, you can use the "AstroBASIC" 2000-baud tape interface with Vipersoft BASIC. I completely forgot about that, as I've not done it myself. Lance even wrote some brief documentation in 2009 called "Using the AstroBASIC 2000-BAUD Interface with Vipersoft BASIC." Here is a link to these instructions:

 

http://www.ballyalley.com/documentation/viper/Vipersoft_with_2000-BAUD_Interface.txt

 

In these instructions, Lance says that you load Vipersoft BASIC from "tape" using Vipersoft BASIC and then swap-in the "AstroBASIC" out cartridge.

 

I'm pretty sure that the ViperSoft BASIC "tape" that you need is this one:

 

http://www.ballyalley.com/program_downloads/ram_expansion_required/alternative_engineering/VIPERsoft%20BASIC%20(1982)(Alternative%20Engineering)(2000%20baud).zip

 

I think you can load ViperSoft BASIC with "AstroBASIC" using:

 

:INPUT %(24576)

 

I'm rather rusty at this-- as I very rarely use ViperSoft BASIC.

 

Lance, can you clear this up for me? Can you load Vipersoft BASIC from "tape" using just the above :INPUT command and then switching the 2K/6K switch?

 

For additional details on this loading method, see John Perkins' instructions for his early version of Artillery Duel:

 

http://www.ballyalley.com/perkins/Perkins%20Engineering%20(Artillery%20Duel)(Prototype%20on%20Tape)(Letter).pdf

 

Here are some additional link for the Viper RAM expansion:

 

1) This is documentation area for the Viper RAM Expansion by Alternative Engineering Corporation.

 

http://www.ballyalley.com/documentation/viper/viper.html

 

2) RAM Expansion Required, Software by Alternative Engineering:

 

http://www.ballyalley.com/program_downloads/ram_expansion_required/alternative_engineering/alternative_engineering.html

 

3) Viper Hardware Picture - If you're curious about what the Viper expansion system looks like, then here are many pictures of it, including prototype versions that were never released:

 

http://www.ballyalley.com/pics/hardware_pics/viper/viper.html

Getting back to adding a keyboard. Would the 300-baud interface/keyboard hack work with ViperSoft BASIC if the "AstroBASIC" was plugged in?

 

Adam

Link to comment
Share on other sites

I think you can load ViperSoft BASIC with "AstroBASIC" using:

 

:INPUT %(24576)

 

I'm rather rusty at this-- as I very rarely use ViperSoft BASIC.

 

Lance, can you clear this up for me? Can you load Vipersoft BASIC from "tape" using just the above :INPUT command and then switching the 2K/6K switch?

 

 

That is correct.

 

 

Getting back to adding a keyboard. Would the 300-baud interface/keyboard hack work with ViperSoft BASIC if the "AstroBASIC" was plugged in?

 

I can easily have both the AstroBASIC cart and 300 baud interfaces plugged in while using ViperBASIC and save out to either.

 

As to using the 300 BAUD interface for keyboard or ASCII terminal input on ViperBASIC. Maybe...

 

I never checked if the data stream is the same as BallyBASIC. Paul Thacker might know. If so. could be doable.

 

Lance

Link to comment
Share on other sites

Getting back to adding a keyboard. Would the 300-baud interface/keyboard hack work with ViperSoft BASIC if the "AstroBASIC" was plugged in?

 

I'll answer my own question here: the 300-baud interface/keyboard hack will not work with ViperSoft BASIC when used with the Lil' White Ram expansion.

 

The Lil' White Ram plugs into the 50-pin expansion connector on the back of the Astrocade, just like the Viper and the Blue Ram expansion units. Unlike those two units (which each have their own external power supplies), the Lil' White RAM gets its power from the light pen jack on the Astrocade, just like the 300-baud interface. Since both the 300-baud interface and the Lil' White RAM can't be plugged into the Astrocade at the same time, "Chefgon" will have to use an alternate method to plug in a keyboard.

 

Or, maybe the Lil' White Ram can be powered externally?

 

Adam

Link to comment
Share on other sites

I just asked Ken Lill if "an external power supply somehow be used with the Lil' White Ram. The reason is that I'd like to use the 300-baud tape adapter at the same time?" Ken replied within minutes. He said:

"My latest version [of the Lil' White Ram] has that capability. Allan is waiting for parts. As soon as he has one built, I will let you know. It uses any standard phone charger that is NOT iPhone. It has a mini C type USB connection. It could also connect to your computer with the right cord."

 

Heck, I might have to order me another one of these RAM expansions!

 

Adam

Link to comment
Share on other sites

I just confirmed that Vipersoft BASIC will load fine using the "AstroBASIC" cartridge, but it doesn't work as I described above. Here is how I did it just a few minutes ago.

 

Loading ViperSoft BASIC from "Tape"

 

1) Plug in the Lil' White Ram into the Astrocade's 50-pin expansion port. Make sure that the RAM expansion unit is plugged into the light pen port for power.

2) Insert "AstroBASIC" cartridge into the Astrocade.

3) Turned on the Astrocade. "AstroBASIC" comes up.

4) Type :INPUT %(24576) and press GO. Press play to load the ViperSoft BASIC program using the 2000-baud built-in tape interface. I used my phone to play the file. Here is a link to the ViperSoft BASIC WAV file:

 

http://www.ballyalley.com/program_downloads/ram_expansion_required/alternative_engineering/VIPERsoft%20BASIC%20(1982)(Alternative%20Engineering)(2000%20baud).zip

5) ViperSoft BASIC will come up with a little garbage at the top of the screen when it is done loading. This is normal.

 

6) At this point I thought that the switches on the RAM expansion needed to be moved, but they do not need to be touched at all. If you change either the 2k/6K or the RAM/ROM switch, then this loading method will not work.

 

7) Once ViperSoft BASIC loads into "AstroBASIC," then it can be started with CALL 24576. Unlike most BASIC commands, there is no BASIC keyword for CALL, so each letter must be typed individually.

 

8 ) Once you have entered the CALL command, ViperSoft BASIC starts up just fine.

 

Testing the 2000-baud AstroBASIC I/O with ViperSoft BASIC

 

1) I loaded the Viper Test Pattern to check if 2000-baud programs could be loaded. The program is here:

 

http://www.ballyalley.com/program_downloads/ram_expansion_required/alternative_engineering/viper_test_pattern_[alternative_engineering].zip

 

2) In ViperSoft BASIC, type LOAD and then press GO.

 

3) The test pattern is now in memory. Type LIST and you'll see the program in memory. Type RUN and you can watch the test pattern create video art; it randomly draws circles and other colorful patterns on the screen.

 

For more information about loading 300-baud and 2000-baud programs, see Lance's article called "Loading and Saving in Vipersoft BASIC:"

 

http://www.ballyalley.com/documentation/viper/Loading_and_Saving_in_Vipersoft_BASIC.txt

 

(Note, that this is not the same article that I linked to in a previous posting.)

 

This method of running ViperSoft BASIC won't allow you to use the 300-baud hack for a keyboard with the Lil' White RAM, but at least you'll be able to load and run some programs that use an expanded BASIC. Also, you can program and save your work...you'll just have to type using the 24-key keypad, which isn't really that bad at all. However, admittedly, it does take some getting used to at first.

 

Adam

Link to comment
Share on other sites

Thanks for all the info, guys! Looks like the keyboard thing isn't as straightforward as I had hoped, but this gives me a lot of context to start with.

 

I am, in fact, waiting on Allan to build a new batch of LWRs, so when I get one it should be the newest version. Not sure how much that'll help, but at least it keeps the options open.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...