"Bally Professional Arcade" Plug-In BASIC for a Home Video Game By Karl L. Zinn "Creative Computing," 4, no. 5 (Sept-Oct 1978): 56-59. You can now plug a resident Basic into a home video game. The package, including ROM cartridge and a good, printed introduction to Basic, sells for about $50. For $50 more you can get a tape cassette interface for saving programs. The initial purchase (processor, built-in arcade games, keypad and four joysticks) is about $300. I don't get excited about arcade games, especially at $300 purchase price for home use. However, I am very pleased to see a convenient $50 option for a family having a video game to now move into programming the microprocessor themselves. Music, color, and 1800 bytes of program storage make the programming quite interesting. In this review I won't try to analyze the Bally Arcade as a games product, or compare it with Atari or Fairchild or RCA. I will provide some commentary on Bally Basic as a significant extension of the Bally machine and an interesting enhancement of Palo Alto Tiny Basic. Also I will include a comment on advertising and availability of such products in general. I appreciated the help of John Johnson of NCE/Compumart in Ann Arbor, not only for the loan of the only Bally Basic cartridge in the area but for advice and assistance in exploring the language. The Arcade as a Basis for Educational Use Bally Basic, written by Jay Fenton, is a version of Palo Alto Tiny Basic expanded for control of graphics, color, sound, and joystick input. An instruction booklet by Dick Ainsworth provides an easy introduction in about 36 small-format pages. The 24-key numeric pad is converted by an overlay which designates control keys, alphabetics and Basic statements. Four prefix keys across the bottom are used to make the 20 other keys suffice: one for "words" to indicate RUN, LIST, FOR, GOTO, and so on; and three for indicating which character on each key is desired (A, B, C or &, @, *). Color codes help with this arrangement. Numbers, operators, space and some control characters (GO, PAUSE, HALT, ERASE) are boldly presented in white; they require no prefix. Words are printed in gold on the overlay, and when the WORD prefix key is pressed the screen background turns gold as confirmation. The screen color changes back after any key with a word on it is pressed, and that full word (e.g., PRINT) appears at the next position in the program listing. Alphabetics are in green, red, and blue with corresponding colors on the overlay and screen background. In addition to color aids, the location of characters is reasonable, left and right parenthesis, brackets, slashes, arrows, and the like are on the left and right respectively of each cluster of three characters on a key. The effect is one of soon changing the user's "hunt and peck" to simple "peck." The non- typist will go just as fast as a typist and perhaps with less frustration; a small, function-oriented keyboard is somewhat of an "equalizer." I didn't achieve true touch typing. For one thing the key pressure required is a distraction just as on some calculators the feel of the keys is not suitable to working blind. Nevertheless, after a few hours of use I was moving immediately without distraction to all common commands, characters and letters of the alphabet. The audio and color confirmation provides unobtrusive support. The instruction book begins with very simple programs and does not assume any computer experience. I have not had occasion yet to use Bally Basic with complete novices for anything more than a demonstration. I expect we will find, as with other beginner packages, that having an experienced user at hand is very helpful to answer questions and provide encouragement. The booklet includes pictures of program steps, results and diagnostics as they appear on the screen. This confirmation of what things should look like is very helpful for beginners. Also the reader is led through the operation of a variety of programs step by step. This detail helps clear up confusions which could not be anticipated. Bally Basic has no confusing diagnostic messages; indeed it has almost no diagnostics at all. When it can't parse (recognize) what is entered it responds "WHAT?" And when it recognizes but can't execute a statement the response is "HOW?" When it runs out of memory it says "SORRY!" Extensions for Use of Games Capabilities Foreground and background color are controlled by placing a number in reserved variables FC and BC respectively. One common way of controlling these is through the knobs on the joysticks, as in doodling or graphic art. Music is fun and easy to do. The sound in the speaker is controlled by placing characters in a reserved variable (mu) as for color. These sound codes can be assigned literally or computed. Advice on semi-random music generation is included. The tempo is controlled by the reserved variable NT (note time). A program listed in the introductory booklet sets up the Bally as a "player piano." The "player roll" is entered from the keyboard and saved for repeated plays. LINE and BOX commands provide important extensions for graphics. The addressable resolution is 159 dots wide by 87 dots high. The graphics pointer begins in the center (0,0) and will on execution of LINE 24,15,1 draw a line from the origin to the point (24,15) in Cartesian coordinates, leaving a black line (1) connecting the points. (Other kinds of connections are white, reverse and none.) Random and semi-random line drawings are fun; line graphs are easy. Similarly one can put boxes on the screen with additional parameters specifying the width and height of each box. The user soon is putting semi random visuals on the screen with "music" coming over the audio. Those who have used the Bally for arcade games know the joystick (hand control) has a knob for "analogue" input (actually it is read as integers from 1 -128 at about 7 o'clock around to +127 at 5 o'clock) and a trigger for marking events. Bally Basic makes these inputs available to the programmer so user programs can include doodling, controlling the position of a space ship, and firing rockets. A single string array is addressed by @(n) where n can have values from 1 to 874 (by my test). One can store a character or a (signed) number in each location of the string and retrieve them as connected strings through iteration involving the subscripted "@" variable. Since these characters are stored in a separate memory, essentially all of the 1800 bytes of user storage can be used by program statements (key words each take one byte; line numbers and linkage require three bytes). Revision of programs is accomplished by adding, deleting or replacing entire lines. Bally Basic does have limitations, of course; it is helpful not to expect too much. I have already mentioned lack of storage, speed of animation, and access to machine functions. Also it needs an editor, although that is not a problem with short lines. Nevertheless Bally has provided a significant step, for only $50, beyond arcade games. The manual provides an easy beginning and suggests interesting things to do. Indeed, a library of the programs in the manual is sufficient for now to impress neighbors with one's control of the machine. The programs and annotations have been written in a way to encourage doing more. The capacity of the language and machine go way beyond what is demonstrated by programs in the manual, i.e., longer programs and more complex control. I tried the machine with two preteens (already programming in Basic) who put some interesting games into the Bally. Both of them still prefer the Commodore PET for programming, but thoroughly enjoyed access to sound and color and joystick control. Implications for Marketing and Education I hope (as I suppose Bally does) that many purchasers of the arcade games will want to go beyond them. But is it reasonable to expect purchasers of the $100 tiny Basic to want the add-on full keyboard and the much more capable (8k) Basic to be offered by Bally (for about $500?). The problem is, one needs more access to the machine to do the kinds of programs included on the games cartridges: speed of animation, control of color, and so on. For some the experience with Bally Basic could backfire. That is, beginning with the more capable machine would have been a better route to learning Basic and the enjoyment of programming. Nevertheless, the $50 entry is a lot easier to take than $500 for full keyboard and more memory, and many more will at least try their hands and minds at programming. If a majority develops a sense of being able to master the machine, some important educational purposes have been served. Bally Basic, as now delivered is interesting enough for schools working with video production and even small TV stations or community cable systems. Even those who already have a character generator (typically costing $2000) will find greatly expanded capability for making up titles with the $400 Bally Arcade with Basic and tape interface. This home entertainment equipment offers more for less in generating video displays. It is practical to use in real time, as in walking some text across the bottom of the screen, or in production of a video tape, as in progressive assembly of graphics incorporating a title or credits for a program. The quality of the picture suffers from going to radio frequency in the Bally (for connecting to common television sets via antenna leads) and back to video signal in the monitor or interface box. Bally should provide a video connector for use with video tape machines and monitors. The improved picture quality will be appreciated by home users as well now that new TV sets accommodate direct video input. The video game manufacturers (see Exidy's Sorcerer as well as Bally Arcade) have led the way with pluggable software, an extremely important concept for educational use of personal computers. This is not surprising since they are accustomed to producing pluggable games. Probably by the publication date for this product review, TI will have announced its entry in this area. Keep in mind the long experience of TI in Solid State Software for the TI 58 and 59 and the impressive 256 kilo byte plug-in memory (actually two chips) for the Speak & Spell. I am hopeful that Bally Basic will lead purchasers of arcade games to try out programming and find some enjoyment in creating their own games or other simple routines. Their disappointment at not being able to match the complexity and pace of the professionally prepared games will be compensated by a sense of control through their own programming. Bally Basic does provide access to color, motion and line drawing, joystick input, and musical tones. Users should be advised that the programs will not execute as fast as those in machine language, and of course they can not be as complex or detailed due to storage limitations. Incidentally, the demonstration program is rather impressive, filling available storage to within one byte and showing off the full range of features. Advertising and Product Availability Perhaps many of you have seen the same JS&A ad I read in the Scientific American (September 1977) and many airline magazines for the Bally Home Library Computer. It offered a professional computer for under $300 with the fun of arcade games too. Actually it described a games computer which with some additions would become a professional machine. Riding along on the advantages of large volume production for home games, the same basic unit was to be adapted and extended for professional uses. And JS&A claimed to have "a small console unit manufactured exclusively for JS&A." A colleague ordered the machine at once and kept me informed during a long succession of conversations with JS&A. Delivery slipped from the four weeks stated in the ad to Thanksgiving, then Christmas, then early in the year. Finally in mid-March, about three weeks after I obtained a plain Bally Arcade machine at a local store, my friend received delivery from JS&A. Then began a series of conversations with JS&A about how the Home Library Computer differed from the one I obtained through the Bally distribution network. One proposed advantage was in the design, another in quality control, another in price or schedule of deliveries. On each occasion the effort to confirm the difference came up empty. That is, the item sold in the arcade box appears identical but for label and advertising to the one sold through the mail by JS&A, except for minor changes attributable to different production runs. And the performance of our two early machines, one from JS&A and one from Bally, was poor. Both of us had problems with overheating, poor signal strength for the RF input to TV antenna leads, and erratic connections for the peripheral devices (joysticks). A later unit from Bally does not show any of these problems. And JS&A was very prompt in crediting my friend's account when he returned his equipment. I won't try to place blame for misleading advertising. Whether Bally did not deliver to JS&A as soon as promised or JS&A promised more things and sooner than Bally had committed to do is not important. Something does need to be said about such delays and problems that are characteristic of hobbyist and personal computers. Equipment promised by many different companies has not been made available on anything near the stated schedule. Some may never become available. And yet various companies have taken money in advance payment for products that have not yet been demonstrated to work, or for which development has not yet been completed. Good finances and a sound design are more important to product success than advance payments by over anxious purchasers. I hope the buying habits of hobbyists and others interested in being in on early deliveries will adjust to reward sound practices and will help the burgeoning industry for personal computing to mature. [Main Article ends and is followed by an interview] An Interview with Dave Martin, Bally Manufacturing Ahl: I notice your little keypad has only 24 keys and a selector at the bottom that lets each key equal up to five different things. How easy is that to learn? Martin: It's easy to learn. And if you don't know a typewriter keyboard, it's actually easier to learn than a typewriter keyboard. You can do it faster. Also the fact that some of the keys allow you to print a whole word without having to type it out letter by letter. Ahl: Okay, that's certainly handy. Martin: Right, and it only uses one piece of information in memory, one bit rather than five bits, for example, in the word print. It uses one bit instead of five. [of course, Martin means five bytes] Ahl: Extremely handy as far as conservation of memory space. JS&A, a mail order vendor, have pictured it with a standard keyboard. Is that one of your products? Martin: It will be one of our products some time in the first quarter of next year. We don't have an exact date yet as to when it's going to be available. We hope to be selling it at the January CES, or have it available and functioning. Dave kindly explained the many other attributes of the Bally, however these are discussed in greater depth in Karl Zinn's review. [This article also includes a commented version of "Guess the Number" for Bally BASIC.]