THE BALLY/ASTROCADE FAQ Plain Text Format ----------------------- By Adam Trionfo and Lance F. Squire Version 3.41 April 23, 2015 Contents: --------- Prefix i) Heat Warning ii) About This FAQ Astrocade FAQ 1) What is a Bally/Astrocade 2) System Specifications 3) Computer expansion - 64K Memory Expansion - Blue Ram - Z-Grass Computer Expansion - Lil' White Ram Expansion 4) Hardware & add-ons List - Hardware (Confirmed) - Hardware (Not Released or Unconfirmed) 5) Four Built-in Programs 6) Astrocade Cartridges - Overview of the Cartridges - Released Cartridges - Independent Cartridges - Homebrew Cartridges - Cartridge Prototypes - Cartridge Rumors 7) Astrocade Multicarts 8) BASIC Games 9) Connecting to a monitor 10) Joystick Rewiring (Bally/Atari) 11) On BASIC - Overview of the BASIC Cartridges - 1.8K available of 4K RAM - Basic Kaypad Overlay - Astro Basic Memory Map 12) Astrocade Maintenance/Repair - General Astrocade Repair - AC Adapter Repair - Bally Astrocade Repair Procedures #1 - Heatsinks - How to Repair Bent and Broken Legs on Computer Chips - Identifying the Bally/Astrocade On-Board ROM - Notes on removing cartridge labels - Notes regarding cart case repairs - Notes on getting dead carts to work - Restoring the Astrocade's Gold Trimming 13) MESS Emulation 14) Publications of Note 15) Sources of Bally/Astrocade Hardware, Software and Information Appendix A) Astro Basic Command Listing B) Changes/Updates C) What needs to be added or updated D) Appreciation E) Closing --------------------------------------------------------------------------- i) Prefix - Heat Warning --------------------- "IMPORTANT - Do not block vents by operating this unit on a carpeted surface. Heat build up may result in component failure." This warning appears on the cover of the "Bally Professional Arcade Owner's Manual." I am including it here not just because Astrovision thought it was important (they added the warning in 1981), but because it IS important, and the information needs to be heeded. Don't take this warning lightly. Replacing the small cushion feet on the Astrocade with larger cushion feet from RadioShack (Cat. No. 64-2342) will add some extra ventilation as will setting the console on an open box. Alternately the console may be set at an angle or set on blocks. In 1981 the Cursor Group offered a service that added custom built heat sinks to some of the problem prone chips on the Astrocade motherboard. I don't know if that is needed, but certainly, at the very least, avoid blocking the vents. If the console starts acting erratically or the picture suddenly become Black and White, turn the console OFF immediately to allow the console to cool. The parts that are prone to failure from overheating are the voltage regulator, custom IC chip, or the capacitor. The component failure warning was not taken lightly in 1981 and certainly should NOT be taken lightly today. However, don't be afraid to use your Astrocade! Many of the heat build-up problems were lessened or eliminated over the course of the Astrocade's production run. Though all units are somewhat prone to this problem, it is the early units that are much more apt to fail because of it. Finally, instructions for removal of the RF shielding are included in the "Bally Service Manual" (in the "Astrocade Repair" section of this FAQ). The Cursor Group would have liked to recommend to people to remove the RF shielding (that nearly eliminates all potential overheating problems) but they could not say this because it might cause possible RF interference. ii) Prefix - About this FAQ ----------------------- The Bally/Astrocade FAQ is maintained by Adam Trionfo (ballyalley@hotmail.com) and Rob Mitchell (solder_guy@my-deja.com). Version 3.2 of this FAQ updated on June 3, 2003 This text FAQ was originally created by Lance F. Squire on June 3, 1995 and was last updated by him on November 24, 1996. Lance no longer maintains a text version of this FAQ, he has an html version that is quite different from this document. These two FAQs supplement each other- read them both for a full understanding of the Bally Astrocade. The latest version of this FAQ can always be found at one of these two places: http://tinyurl.com/koweq [which redirects to] http://www.ballyalley.com/faqs/bally-astrocade_faq.txt or [missing in action] http://groups.yahoo.com/group/ballyalley/files/. 1) What is a Bally/Astrocade ------------------------- A short history In 1978 Bally/Midway introduced a home video game system called the "Bally Professional Arcade." Due to "stiff competition" they withdrew the system in 1980. A group of users who had enjoyed the system's games and learned its potential through the BASIC Programming Cartridge got together and bought the system from Bally. They re-introduced it in about 1981(?) as the "Bally Computer System". When you purchased this system they gave you a BASIC Programming Cart free. The new company's name was Astrovision. In about 1982 it changed its name to Astrocade and now labeled its system as the Astrocade. The system continued till about 1985(?). 2) System Specifications --------------------- Resolution: True 160x102 / Basic 160x88 / Expanded RAM 320x204 Colors: True 8* / Basic 2 Graphic type: Bitmap, 2 plane bitpacked CPU: Z80 Speed: 1.789 MHz ROM: 8K Ram: 4K Cart ROM: 8K Expansion: 64K total Sound: 3 Voice + Noise & Vibrato Ports: 4 Controller, 1 Expansion, 1 Light pen * The bitmap structure of the Bally actually only allows for 4 color settings. However, through the use of 2 color palettes and a left/right boundary control byte you could have the left section of screen (lets call this the play field) use 1 set of colors while the right side (Info field) used an entirely different set of colors All versions of the system are physically the same except for the name plate. The Astrocade console (not the Bally release) has small changes in the internal BIOS to display the longer name on the built-in menu screen. This causes some third-party games to malfunction. Usually seen in black with wood grain sides & gold trim there is a beige/white version. The case measures 15" wide, 10 3/4" deep and 4 3/4" high. Under a smoke colored lid that covered the back half of the unit is the built-in cart storage bin with slots for 15 carts. The front half features a 24 key calculator pad (where overlays went when used), a reset button and a spring loaded cartridge port, labeled "Insert Cassette", with "Eject" button. Diagram: Top view Power-+ R/F cable+ | 5 1 2 6 4 3 7 __|_|_-__---__---___================___---__---__==_____ |\|____________________________________________________|/| ||| ||| ||| ||| ||| 8 ||| ||| ||| |||____________________________________________________||| ||\ ======9====== / || || |-------------------------------------------------| || || | ___________________________ | || || | |.... | _________________ | | || || | |.... | | | | | || || | |.... | | | | | || || | |.... | |_______________| | | || 3/4 S->|| | |.... | __ _____ | | || ||| |.... | R- Eject | | || ||| --------------------------- | || |/------------------------------------------------------\| -------------------------------------------------------- 1,2,3 & 4. Controller ports 1,2,3 & 4 respectively 5. On/Off switch 6. Expansion port break out panel 7. Light pen port break out panel 8. Smoked storage bay cover 9. Name plate S. Channel select switch R. Reset button The Bally's cartridges (or Videocades) do not protrude from the port. Instead they lay flat. The cartridges are designed like audio cassettes, being the same width, height, and thickness. Where the write-protect tabs for an audio cassette would be are two openings for the Eject button to hold on to. Where the tape in an audio cassette is exposed, there is an opening where the pins in the Bally's "Cassette" port press against the single sided board in the cartridge. To load a cart into the unit, you slide the open end in over a spring loaded guide then press down until the Eject spikes latch into the holes. You then press Reset to see the new selections on the menu. Unlike other systems carts load WITH the power ON! All Bally/Astrocades feature an on-screen menu system that displays the 4 built-in programs (2 games, calculator and doodle program) plus any games on the inserted cartridge. The Bally's Controllers are unique. They consist of a large pistol grip, appropriately contoured and knurled, a trigger (NOT a button), and a badge on both sides with the BALLY label. A brown knob on top functioned as both a paddle and an extremely short throw joystick. On the top of the knob is a gold plate with controller number 1-4. On the Astrocade the Bally logo was removed but the badge spots are still there. The Bally controller does have a major weak spot. The wire to the trigger usually falls off because it's extremely difficult to get the trigger spring contacts hot enough to bond with the solder. 3) Computer expansion ------------------ 3.a) 64K Memory Expansion -------------------- R&L Enterprises. Expansion board sold with NO ram on it, but all the necessary hardware support. Available in late 1981, but was not advertised until November of 1982. It sold for $219.95 (with 4K RAM) and the price declined as time progressed. The final "rock bottom" price appeared in January 1984: $80.00 (with no memory included). Due to lack of sales and support the unit went out of production near the end of 1984 (and R&L folded). Use of Blue Ram Basic or Hot Rod Bally Basic Recommended. Dale, of R&L, has this to say about the memory expansion: "The brief history of our 64K RAM board product began in 1979 while I was employed by Midway Mfg. The company, a division of Bally, offered its employees a discount on the purchase price of the Home Video game system, I couldn't resist. After fiddling with the Bally Basic (Rusty is still a professional Basic developer) for a while we decided this system would probably draw a significant hobbyist following. We felt the need to develop a solution to the 1800 byte RAM limitation. First we lobbied the memory manufactures to produce a device that would share the pin configuration of the 27xx series EPROMs (now the JEDEC standard). In early 1981 we received some samples of the 2016 2Kx8 RAM, and immediately began layout of a board that could be placed under the Bally unit and expand the memory space to 64K. With these new RAMs one could develop a program in the RAM then clone it to EPROM, either device could be plugged into the same board. In 1982 we learned about the fickle nature of the hobbyist market, at our local Bally Users Group, users were more interested in copying the latest games than in purchasing a development aid. When we learned of the Blue Ram we slashed our price and advertised in the Arcadian newsletter. Sales didn't warrant further investment in this project." In addition to the above, I (Adam) sent an email to Dale asking about the memory expansion and a keyboard interface after reading the Bally FAQ. I received a response back in June and August of 1996. Following is a composite of those two emails: "For the Bally/Astrocade we are releasing in 3rd quarter of 1996 an add on board that provides up to 64 k of user configurable RAM, EPROM, and EEPROM, an input for inexpensive readily available keyboard, an output for Centronics type printer and two serial ports for connecting to a modem or another computer. We hope to bundle this with Hot-Rod Bally BASIC. "Hopefully the PS/2 keyboard input will relieve your masochism. We are planning on bundling 32K of RAM installed and perhaps 8K of EEPROM. Although we are well into the 3rd quarter we still haven't set a price. As soon as we do we will notify everyone that has requested info." 3.b) Blue Ram -------- Perkins Engineering. (Kit or assembled) Ram expansion. The Blue Ram plugs into the 50-pin connector on the back of the Astrocade and expands the programming capabilities of the Astrocade. Originally released in June, 1980 as a 4K unit. Over the next couple of years the memory capacity increased, so several different versions exist (4K, 8K, 16K and a small handful of 32K versions). Several confirmed accessories for this unit were released, including: keyboard, printer interface, modem interface, EPROM burner and BSR controller. The Blue Ram could be switched into a mode that simulated a cartridge; several of the third-party game cartridges were programmed using this unit and either the Machine Language Manager cartridge or the Blue Ram Utility. For reference: The Blue Ram RAM expansion unit uses an Atari power supply model 008229. It is rated at 6 VDC and 500 MA. 3.c) Z-Grass Computer Expansion -------------------------- Alternative Engineering Corp., contracted to create the Z-Grass add-under, decided it was in everyone's best interest to release the unit themselves. In August 198?(5) they sent an order form to anyone who had ever shown interest in such a device on the Arcadian mailing list. The units were then to be made on an on order basis. The manual was offered for people to determine if they actually wanted the system. If any units were produced they were surely in extremely limited quantities. Although probably only those who ordered the unit itself know for sure, this hardware was very likely never produced. 3.d) Lil' White Ram Expansion Unit ----------------------------- The Lil' White Ram is a 32K memory expansion unit that plugs into the 50-pin expanstion connector on the back of the Astrocade. It was released in March of 2008. It is one of the largest expansion unit made for the Bally / Astrocade computer system. Like the Blue Ram, this unit could be switched into a mode that simulated a cartridge. 4) Hardware & Add-ons List ----------------------- For more complete information on hardware, see the separate FAQ called, "Bally- Astrocade Game Cartridge and Hardware FAQ." With permission, it has the same information that was published in the DIGITAL PRESS COLLECTOR'S GUIDE (Seventh Edition). 4.a) Hardware (Confirmed) -------------------- Extra Controllers Sold as a pack of two and labeled 3 & 4 on top BallyCheck RGB Electronics 2K 1981. AKA Bally Check, Bally-Check, BalCheck. About two-hundred BallyChecks were sold, but none have surfaced yet. The hardware attached to the 50-pin connector on the back of the Astrocade. A 2K EPROM contained the "Home Video Game Burn-In Tester" software. Two versions of the software exist, one for the Bally Professional Arcade with the "3164" (original) ROM, the other version is for the "3159" (Astrocade) ROM. Bally may have used an earlier device to test assembled units with at the factory (this unit may be the same or similar- it could have the software on a cartridge instead of on the unit). BASIC Audio Cassette Interface Bally Mfg. Corp., part #AC1-0100. Used to connect a cassette recorder to the Bally Arcade for saving and loading programs to cassette tape (it plugs into the light-pen port and joystick port number three). Color Organ / Light Show L&M Software. From ad: "Interface Bally to any stereo amp with audio power 1 watt on up. TV displays in step with your stereo music." Sold for $29.95 with opto isolation and a Demo tape (later sold for $39.95 with tutorial). Computer Ear Released by Hoover Anderson Research and Design (H.A.R.D.). This is a "Speech Recognition System for the Computer Hobbyist." This kit consisted of a microphone, sensitivity controller and cassette with several demo programs. Connects to your Astrocade via control port number four. On April 25, 2002, Craig Anderson (the designer) says, "I built and sold approximately 80 of them over a period of two years. It was rather primitive compared to today's speech- recognition technology but then again, the problems of speech recognition are still with us [goes on to list some examples]. The concept of the "Ear" was simple: A transistor pre-amp drove an LED in a homemade optoisolator whose output was a cadmium sulfide cell. That connected to the rheostat pins on a Bally game port and gave an amplitude-modulated waveform that varied for different spoken words. The program then compared that waveform against others in its memory (2000 bytes!) and picked the best match." Display Cabinet This was the dealers display cabinet, intended for small shops and large department stores. Made by the Santa Cruz Wire and Mfg. Co., this kiosk stood over five feet tall and resembled a coin-op cabinet. It came wired for 110 volts for use with the Astrocade and a TV (not included with the unit). There was a cartridge selector inside for up to ten game cartridges to be demonstrated (with a time limit); a "10 key" switch selected which cartridge was played. I.C.B.M. Attack Controller Spectre Systems. Special analog controller made for use with "I.C.B.M. Attack." The game can not be played without it. Multi-Cart Demo Unit Bally Mfg. Corp. POP-CT0100 Allows input of eight game cartridges and offers the option to switch and play any of them or automatically cycle through them. Used by dealers for demo purposes. Viper System 1 Viper Systems. Released in April, 1981. A memory expansion module for the Astrocade that consisted of a 16K RAM expansion and a custom-written version of BASIC on tape. Also available was a 62 key full-stroke keyboard. Other announced peripherals included an expansion module to add an additional 16K of RAM, an RS-232 Interface and an EPROM Programmer card. 4.b) Hardware (Not Released or Unconfirmed) -------------------------------------- Computer Eye H.A.R.D. The Computer eye is "a light pen peripheral that mounts on the front slope of the pistol grip hand controller... turning it into an amazing light gun." On April 28, 2002, Craig Anderson (the designer) says, "It was never released although a prototype was built and demonstrated at an MBUG exhibition in Michigan in 1980 or '81. I used an optodetector from Honeywell that was about the size of a transistor and had a built-in lens and amplifier circuitry actually contained in the detector. I wasn't great at machine- language programming in those days so my demo software was written in BallyBasic and was fine on the vertical scan (duh) but too laggy on the horizontal and I asked Brett Bilbrey, who was a child prodigy genius teenaged hacker guru then (and who we all figured to be the Bill Gates or Steve Wozniak of the 20th century even though nobody had yet even heard of those guys) for some help. He was besieged from all sides by dozens of others asking for help and the project quietly died." Designed by Craig Anderson (Sourcebook, Spring 83, Pg. G-11) Light Pen Comes with Creative Crayon Cart. Viper 5 Alternative Engineering. 16K or 32K Computer add under. Zgrass-32 Computer Keyboard Bally Mfg. Corp. Part #G7000 Viper Z-Grass System Complete computer add under. Features: 64K Ram, 32K ROM, keyboard, 2 RS-232s 320x204 color graphics, 3 channel Stereo sound, 4 channel DD 5.25 drive controller 8231 Math Processor Z-Grass programming language, C/PM compatible 5) Four Built-in Programs ---------------------- The four built-in programs take up about 4K of the 8K system ROM. Gunfight Accurate translation of two player version of the 1977 Bally arcade game, Boot Hill. Checkmate Two to four player game (similar to Tron Lightcycles). If you type 0 for number of players, it will play a demonstration game. Calculator 5 function, 10 memory, calculator. Stores a video "papertape" of 92 entries Scribbling 1 -4 player Doodle program. Enter 0 players for "kaleidoscope." (No sound) 6) Astrocade Cartridges -------------------- 6.a) Overview of the Cartridges -------------------------- For detailed information on released cartridges, prototypes and rumors, see the separate FAQ called, "Bally-Astrocade Game Cartridge and Hardware FAQ." With permission, it has the same information that was published in the DIGITAL PRESS COLLECTOR'S GUIDE (Seventh Edition). The cartridges were generally broken down into one of five categories: Action/Skill, Educational, Functional, Sports, and Strategy. The following list shows these cartridges in alphabetical order (the previous version of this FAQ broke them down by category). 6.b) Released Cartridges ------------------- 280 Zzzap / Dodgem Action/Skills Series #2001 2K cart 1978 Amazin' Maze/Tic-Tac-Toe Strategy Series. #5001 2K cart 1979 Artillery Duel Action/Skills Series #5005 4K cart 1982 Astro Battle Action/Skills Series #2009 4K cart 1979 Astrocade Pinball Sports Series #3005 4K cart 1981 Bally BASIC Functional Series #6002 4K cart 1978 Bally BASIC (w/ interface) Functional Series #6004 4K cart 1981 Bally BASIC Demo Functional Series 8K cart 1978 Bally Pin Action/Skill Series #2007 4K cart 1979 BioRhythm Educational Series #4004 4K cart 1981 Black Jack/Poker/Acey-Deucey Strategy Series #5002 4K cart 1979 Clowns / Brickyard Action/Skills Series #2004 4K cart 1978 Cosmic Raiders Action/Skills Series #2019 8K cart 1983 Dealer Demo Functional Series #6001 4K cart 1978 Dogpatch Action/Skills Series #2010 2K cart 1980 Elementary Math / Bingo Math Educational Series #4001 2K cart 1978 Football Sports Series #3002 4K cart 1978 Galactic Invasion Action/Skills Series #2011 4K cart 1981 Galaxian Action/Skills Series #2011 4K cart 1981 Grand Prix Action/Skills Series #2014 4K cart 1981 Incredible Wizard, The Action / Skills Series #2017 8K cart 1982 Letter Match/Spell 'n Educational Series #4002 4K cart 1978 Score/Crosswords Panzer Attack/Red Baron Action/Skills Series #2003 4K cart 1978 Pirate's Chase Action/Skills Series #2015 4K cart 1982 Sea Wolf / Missile Action/Skills Series #2002 2K cart 1978 Solar Conqueror Action/Skills Series #2018 8K cart 1983 Space Fortress Action/Skills Series #2012 4K cart 1981 Space Invaders Action/Skills Series #2009 4K cart 1979 Star Battle Action/Skills Series #2005 2K cart 1979 Tornado Baseball/Tennis/ Sports Series #3001 4K cart 1978 Hockey/Handball 6.c) Independent Cartridges ---------------------- Blast Droids Esoterica 4K cart 1983 Blue Ram BASIC 1.1 Perkins Engineering 8K cart 1981 I.C.B.M. Attack Spectre Systems 4K cart 1982 Machine Language Manage Bit Fiddlers 2K cart 1982 Mazeman Self-Published 4K cart 1984 Ms. Candyman L&M Software 4K cart 1983 Muncher Unknown 8K cart 1983 Sea Devil L&M Software 4K cart 1983 Sneaky Snake New Image 4K cart 1983 Treasure Cove Spectre Systems 8K cart 1983 6.d) Homebrew Cartridges ------------------- War Riff Raff Games 8K cart 2010 6.e) Cartridge Prototypes -------------------- Bally Color BASIC Jay Fenton 4K cart BASICarts Self-Published 8K cart 1986 Bowling Sports Series. #3006 4K cart 1985 Checkers New Image Coloring Book #4005 8K cart Conan The Barbarian Strategy Series #5005 8K cart Fawn Dungeon Barry McCleave 2K cart 1981 Life New Image 2K cart 1985 Missile Attack Self-Published #2020 4k cart 1985 Music Maker #4003 8K cart 1985 Soccer/Dribbling Sports Series. #3007 8K Cart 1985 Songs New Image 4K cart 1985 Stweek New Image 2K cart Tests New Image 4K cart 1986 Video Story Book Self-Published 8K cart 1985 Yesterday Self-Published 2K cart 1986 6.f) Cartridge Rumors ---------------- Astrology Bally Mfg. Corp #4003 Basketball Bally Mfg. Corp. #3006 Biorhythm/Calendar Bally Mfg. Corp. #4004 Checkers/Backgammon Bally Mfg. Corp #5003 Chess Bally Mfg. Corp. Creative Crayon Bally Mfg. Corp. #4005 Creative Crayon (w/Light Pen) Astrocade Inc. #4005P Desert Fox/Drag Race Bally Mfg. Corp #3004 Escape Unknown Gorf Unknown Haunted Mansion Astrocade Inc. King Arthur's Adventure Bally Mfg. Corp. #5005 Kong Astrocade Inc. Missile Command Unknown Music Maker 2 Bally Mfg. Corp Omega Race Astrocade Inc. Othello Bally Mfg. Corp. Quest for the Orb Astrocade Inc. #5004 Robby Roto Astrocade Inc. Roman Checkers Bally Mfg. Corp. #5004 Skiing Astrocade Inc. #2016 Solar Fox Astrocade Inc. Space Race Bally Mfg. Corp. Star Trek Astrocade Inc. Zap Unknown 7) Astrocade Multicarts -------------------- [A multi cart is] "a combination of old and new technology. It allows you to see and play more than one game program, which is contained on a single cartridge. A multicart can have a little as two games on it, or many hundreds of games on it." - Ward Shrake Several multicarts for the Astrocade have been released for the Bally / Astrocade over the years. They are: 1. Multicart Containing Beatles Music from Richard Degler - Astrocade Multicart called Beatles Music from Richard Degler by Mike White. Created in 2007. 2. Multicart by CPUWIZ - Released in 2004. 3. GamBits Multicart - The official name for this is UltiMulti Cartridge. Released in June of 2008. This multicart has more ROMs than any other multicart available. 4. Multicart by RetroKidz - Available in two Varieties: 72-in-1 and 128-in-1. Released in 2006. This multicart was available from 8-Bit Domain. 5. Multicart by Ward Shrake - The multicart was released in 2002 and is no longer available. It cost $100, and included everything that was released for the console, plus titles that were not released. 8) BASIC Games ----------- Users of the BASIC cartridge could save and load programs to tape. The "Arcadian" and (later) other newsletters printed BASIC program listings and tutorials. These programs were typed-in (yes, on that little calculator-style keypad) and shared between users on tapes. Several of the programmers that acquired a good working knowledge of the Astrocade set up companies (or what seemed to be companies). Mostly a "company" was just one person programming and selling the tapes from home in his spare time. BASIC placed some severe limits on what the Astrocade could do, so programs that were released on tape were usually no match for the cartridges, but they were far less expensive and so it was a fair trade-off. Since the Astrocade was never showered with a large cartridge library, these tapes were often the only way that new programs were released (months could pass between a single cartridge release). There was a buying public ready to get their hands on anything new for the Astrocade, and it worked out that this software was released on tape instead of cartridge. Some of the companies that released software on tape were: Esoterica, L&M, , H.A.R.D., Tiny Arcade and Wavemakers (there were many others). Although it's true that games written entirely in Bally/Astro BASIC are prone to be slow and somewhat clunky, most of the companies selling programs quickly began to use Machine Language routines from the built-in ROM to power their games. This type of hybrid programming produced good results with the limited space available in the unit. Others took to using all Machine Language coding for their games. By hiding the ML code at the bottom of the screen (or the sides), and by reducing the vertical resolution it was possible to have four to eight color, near cartridge quality, games on cassette tape. A few of the companies that released tapes also created cartridges. Since the summer of 2001 some of the authors of this commercial tape software have placed this software into the public domain. 9) Connecting to a monitor ----------------------- The Bally Astrocade can be connected to a composite monitor, VCR or a TV with composite "line" input. Unfortunately all methods provide only a monochrome (B&W) image. The circuit described in the Arcadian article (v5 #8 p.129) supposedly gives a color picture, but two recent implementations gave only B&W. Listed here is one simple method. Minimal soldering is required. To open the console remove the five screws on the bottom. Then lift off the plastic top. On the left front is the metal Radio Frequency (RF) box. Lift the left edge & pull out to the left. Note a column of 8 large square metal pins coming off the motherboard. For reference, number the pins 1 to 8 from front to back. All solder points should be close enough to the board to allow the RF box to be replaced. Solder a 300 ohm resister between pin 1 and the metal shield. Now get 2 single ended RCA cables. Solder their shield wires to the shielding. Solder the center of the video cable to pin 1. Solder the audio cable to pin 3. You may want to install two RCA jacks on the back of the console. Replace the RF box and reassemble. The complete pinout list for the Radio Frequency (RF) box is as follows: Pin Tech Comment Back: 8 GND Ground 7 B-Y Blue-Luma 6 R-Y Red-Luma 5 Chrom Bias Chroma no sync??? Guessing. 4 Chrom 3.57Mhz Chroma with Sync?? " 3 Audio Audio (sound) 2 +12V Power for RF Front: 1 Video Luma + snyc. Note from Brett : "The 'video' is really just the luma ('Y') portion of the video signal, the chroma is made up of the Red minus the luma, and the Blue minus the luma. With this, you have enough information to reconstruct RGB information. The reason Y, R-Y, B-Y signals are used is they conserve bandwidth. The chroma signals can be half the bandwidth of the luma and still maintain the full signal content. High-end broadcast digital tape machines use this format and it is called 4:2:2 sampling." Hopefully others will develop a better circuit that can work reliably with composite monitors. 10) Joystick Port Information / Controller Adapter. ---------------------------------------------- The following is a corrected pinout list of the Bally Astrocade controller ports. Port pinout information found in the Bally / Astrocade manuals and previous Bally FAQ version 1 does not use standard DB9 pin designation and thus is backwards. Bally/Astrocade Atari Standard Controller port Controller port 1. NC (No Connection) 1. Up 2. Down 2. Down 3. Left 3. Left 4. Right 4. Right 5. Trigger 5. Paddle Potentiometer B 6. Up 6. Fire Button 7. Potentiometer end 7. +5v (Paddle end) 8. Ground 8. Ground 9. 50K Potentiometer (Knob) 9. Paddle Potentiometer A DB9 Male Port: DB9 Female Plug: 1 2 3 4 5 5 4 3 2 1 6 7 8 9 9 8 7 6 Also above is the Atari Standard Controller port pinout list. By wiring a serial adapter, an Atari Bally controller converter may be constructed. The connections are listed here: A1-B6 A2-B2 A3-B3 A4-B4 A5-NC B1-NC A6-B5 A7-B7 A8-B8 A9-B9 ... where (A)tari (B)ally. Thus adapters can be made to connect an Atari compatible controller to the Bally / Astrocade or vice versa. Please note that the Bally/ Atari/ Commodore paddles use different value potentiometers and additional resistors are necessary to make one controller work with another console. Also note that the Bally/ Astrocade port does not provide voltage. Thus autofire circuits will not work when plugged into the port. But the ambitious tinkerer may build an autofire circuit within the console. Also check Jay Tilton's Deathskull Labs website [closed since sometime in 2006, saved at] (http://web.archive.org/web/users.erols.com/tiltonj/games/tech/#BALL) for nice illustrations of the above. Controller Maintenance Opening the controller: 4 screws hold the two black clamshells together. Be careful not to lose the trigger parts or screws when opening. Joystick and trigger contacts may be cleaned with a cotton swab soaked in isopropyl alcohol. Also the potentiometer may be cleaned with two or three drops of alcohol into the casing then twist the knob vigorously about 30 times. A frayed / broken cable may be replaced with a Genesis 9 wire cable. A broken black casing may be glued with plumbing glue. Be careful to put the clear plastic wrapping back in place when reassembling. 11) On BASIC -------- 11.a) Overview of the BASIC Cartridges -------------------------------- Three cartridge versions of BASIC exist for the Astrocade. One is called "Blue Ram BASIC 1.1" and requires more than 4k of RAM to operate (it is for use with the Blue Ram or Viper hardware). The other two versions (with possibly three labels) of the BASIC cartridge will run on a standard Astrocade. Note that other versions of BASIC do exist, but this section does not include languages released on cassette, such as Viper BASIC, even though they can (and have) been burned onto EPROM cartridges. 1. Bally BASIC The original Bally BASIC is a robust and serviceable programming language. The package came with a ring bound manual & Tutorial. The "Basic Expansion Kit" included a tape library pak with some programming demos, and the audio cassette interface. The BASIC cartridge can be used straight from the box, but in order to save programs, an additional purchase of an audio cassette interface was required. The interface saves data at 300 baud and plugs into the Light Pen Interface jack and a joystick port. 2. Astrocade BASIC The second release of Bally BASIC, later referred to as Astrocade Basic, has the tape interface built-in the cartridge itself. The speed of the interface is also increased to 2000 baud. This allows more data to be stored on a cassette tape and shorter load times (a complete program dumps in about thirty seconds as compared to four minutes). Music Processor Commands are introduced in this version. These commands allow direct control of the sound chip without using the memory consuming port access array. 3. Blue Ram BASIC 1.1 Originally released on cassette for use with the Blue Ram expansion unit. Blue Ram BASIC does not have a built-in audiocassette interface; its interface is on the Blue Ram hardware. It is compatible with Astro BASIC, but offers additional features, such as the use of more RAM (the other two BASIC cartridges are unable to use additional RAM as programming space). Blue Ram BASIC also has additional programming features, as well as a smaller font set. This cartridge will not function without additional RAM present. Note that for ease of identification, the newsletters and cassette manufactures refer to any BASIC cartridge with the built-in audio cassette interface as AstroBasic (AB for short). 11.b) 1.8K available of 4K RAM ------------------------ Although the Astrocade has 4K (4096 bytes) of RAM, only 1.8K of RAM is available for Astro BASIC programming. This is because there is no separate memory area allocated for the BASIC program, variables or stack; the program shares space with the screen RAM (bit-mapped graphics area). This does mean the program is displayed on the screen, but it is not visible. This can be compared to a modern computer only using the memory on the graphics card. This cost-cutting technique is often called into question (viewed against today's computer standards) and it seems to fall short of a quality explanation in many people's eyes. Don't be fooled. The Astrocade uses 4-color bit-mapped graphics, one of the earliest such examples. The bit-map method of graphic data manipulation (now standard) allows for easier programming, with the overhead requiring more memory. The Astrocade's bit-mapped, 4-color, 160x102 pixel screen display requires 4080 out of 4096 bytes (see below), leaving no memory for storage or operating space. Machine language cartridges use slightly reduced screen resolutions (for stack space and arrays), but BASIC really trims this resolution; a 2-color, 160x88 pixel display is used so that there is operating space and room for a program. To calculate that 4080 bytes are required for the Astrocade's screen storage follow this. A four colored pixel requires 2 bits of storage (2^2, for colors 0, 1, 2 and 3). A byte therefore holds four pixels. The X resolution of 160 pixels requires 40 bytes (160 pixels divided by 4 pixels per byte). The Y resolution of 102 pixels then needs 40 bytes for each line, or 4080 total bytes (102 horizontal lines * 40 bytes needed to store 160 pixels). Sixteen bytes are free for program use after every screen display pixel is accounted for. This is not enough room for the stack or variables. Even the Bally game cartridges need more space. They gain this space by reducing the vertical resolution. Each line that is taken away from the display gives the programmer another 40 bytes to work with. A cartridge that needs to gain 160 bytes for program use would then need to use a screen resolution of 160x98. This isn't noticeable because the games don't usually require the whole screen. Reducing the screen display by a few lines works great for cartridges because the program code is stored on the cartridge itself; the additional RAM that is needed is minimal. This is not the case with BASIC. The BASIC cartridge doesn't reside in memory, but the user's program does. Bally BASIC reduces the screen resolution by 14 lines (102 to 88). That's quite a reduction, but it still doesn't leave room for a program written in BASIC (that added space is used by the BASIC program for the scratchpad, stack, variables, and line input buffer). To gain another 1800 bytes of storage for the user's program would require the elimination of another 45 lines, thus giving a final resolution of 160x43. That would not have been a very workable BASIC. Instead, the number of colors is cut in half from four to two. Each byte now holds part of the screen AND part of the program; odd bits hold the screen image and even bits hold the program. Of course, the even bits can't be shown on the screen or else it would look like garbage. The explanation for how the program data is hidden can best be described by an article in the Arcadian newsletter (Perkins, John "Tutorial (1) Screen Operations," ARCADIAN, 1, no. 6 (May 1979): 40.). If you're curious, but are willing to forgo the above mentioned article, here's a small part of it. Using Bally or AstroBASIC, press reset, now type this: &(0)=30;&(1)=85;&(2)=153;&(3)=125;&(9)=0 You'll see a line in the top-left corner; that's your program. Now type this: &(9)=135 Using the above POKE statements, you've moved some BASIC screen boundaries, so you're able to see the data. Now, believe it or not, if you have a program in memory, you could actually destroy it just by scrolling the screen. You see, it requires some juggling, but that's how BASIC shares memory with the screen. If this explanation doesn't make sense to you, then read the above-mentioned article. If you still don't follow the explanation, then don't worry, there's no reason that you should-- just use BASIC and be happy that you have two colors to work with at all! 11.c) Basic Keypad Overlay -------------------- Keypad (without overlay): C Up Down % MR MS CH / Note: Up = UP-ARROW 7 8 9 x Down = DOWN-ARROW 4 5 6 - 1 2 3 + CE 0 . = Keypad (with overlay): The BASIC cartridge uses twenty of the keypad keys to generate up to five different keys (through the use of four keys). This is a text format representation (the underscore means the shifted-key does nothing). +------------------+------------------+------------------+--------------------+ | GO,_,_,_,+10 | PAUSE,_,/,\,_ | HALT,_,_,_,RUN | DIVIDE,_,[,],LIST | +------------------+------------------+------------------+--------------------+ | 7,A,B,C,FOR | 8,D,E,F,TO | 9,G,H,I,STEP | x,J,K,L,NEXT | +------------------+------------------+------------------+--------------------+ | 4,M,N,O,GOSB | 5,P,Q,R,RETN | 6,S,T,U,RND | -,V,W,X,IF | +------------------+------------------+------------------+--------------------+ | 1,Y,Z,!,CLEAR | 2,<-,',->,LINE | 3,^,.,V,BOX | +,&,@,*,GOTO | +------------------+------------------+------------------+--------------------+ | SPACE,$,",",?,_ | 0,<,",>,INPUT | ERASE,(,;,),_ | =,#,%,:,PRINT | +------------------+------------------+------------------+--------------------+ | | | | | +------------------+------------------+------------------+--------------------+ Important Notes on the BASIC overlay: The first character or word in the above table is what appears on-screen (or occurs) when the keypad is pressed with NO shift key. The shift keys, in order of appearance (Green, Red, Blue, Word), will produce the second, third, fourth or fifth character or word in the above text representation. For instance: RED-SHIFT + 1 is a comma (notice only the comma is quoted above). Also, since there is no ASCII equivalent of an UP-ARROW or DOWN-ARROW I use a "^" and "V" characters to represent them. The LEFT-ARROW and RIGHT_ARROW are represented with the "<-" and "->". 11.d) Astro Basic Memory Map ---------------------- Following are three memory maps of Astrobasic (and some explanations), each containing some information that the other is lacking. MEMORY MAP 1 ------------ Here is a memory map of Astrobasic (NOT Bally BASIC) taken from Vol. 3, Page 77 of the Arcadian: Decimal Hexadecimal ------------ ----------- On Board ROM Area 0 - 8191 0 - 1FFF BASIC ROM Area 8192 - 12287 2000 - 2FFF Screen Memory Area 16384 - 20479 4000 - 4FFF Graphics Program Area 16384 - 19983 4000 - 4E10 Scratchpad Area 20000 - 20463 4E20 - 4FEF Variables Start at 20002 4E22 Line Input Buffer 20154 - 20257 4EBA - 4F21 Stack Area 20258 - 20415 4F22 - 4FBF Text Array Area -24576 to -22777 A000 - A70C Lance Squire adds this about the text array area (the * and @ arrays): The end of the BASIC program, pointed to by TXTUNF (4E20h 20000d) is the start of the @(x) array. @(x) array continues until it runs into A70C (-22777d). Now this means you can't store anything in an @(x) array till AFTER your program is finished, as it will overrun the current @(x) array position. To solve this, and to allow dual array programming AstroBasic (The Basic with the audio jack) added the *(x) array. This one starts at A70C and works back towards TXTUNF, wherever that may be pointing at the time. "What happens where the 2 arrays cross?," Lance wonders. He's not sure. Additional information about arrays can be found in the Arcadian, Volume 5, page 113 in a tutorial by Don Gladden called, "How to Use 'String' Arrays." MEMORY MAP 2 ------------ To the above memory map, Don Gladden adds this from his similar memory map found in Volume 5 on page 175 of the Arcadian: 20000 End of program marker. Print it to find out the last address your BASIC program uses.) "SZ" is calculated using this location. 20002-20089 One and two-letter variables. (two bytes each. 20090-20153 Odds and ends that BASIC uses. MEMORY MAP 3 ------------ George Moses breaks down the memory map even more by giving exact memory locations for each variable in volume 5, page 59 of the Arcadian: Single Letter Variables Color Variables Scroll Mode Variable 20002 A 20054 BC 20090 SM 20004 B 20056 FC 20006 C 20008 D Note Timer 20010 E 20058 NT 20012 F 20014 G Screen Formatting Variables 20016 H 20060 CX 20018 I 20062 CY 20020 J 20064 XY 20022 K 20024 L Music Processor Variables 20026 M 20066 MO 20028 N 20068 TA 20030 O 20070 TB 20032 P 20072 TC 20034 Q 20074 VR 20036 R 20076 VF 20038 S 20078 VC 20040 T 20080 NM 20042 U 20082 VA 20044 V 20084 VB 20046 W 20086 NV 20048 X 20050 Y Remainder of Last Division 20052 Z 20088 RM 12) Astrocade Maintenance/Repair ---------------------------- 12.a) General Astrocade Repair ------------------------ Astrocade - The "Bally Service Manual" is comprehensive and gives instructions on how to disassemble and make some repairs. The manual can be found here: http://www.ballyalley.com/misc_docs/misc_docs.html as http://www.ballyalley.com/misc_docs/bally_service_manual.pdf 12.b) AC Adapter Repair ----------------- AC Adapter - The hardwired AC adapter may fail over time and spares are difficult to find. Unplug the AC adapter when not in use, or use it with a switched power strip (notice how the AC adapter is warm even when the Astrocade is switched off? That is because it IS still working). The wires at the plug may become broken over time due to chaffing (heavy transformer weight on a wire). If this happens, you can break the glued sealed case by wrapping the transformer cube in a rag and "tapping" with a hammer. Then clip the broken wires and splice/solder the intact wires. Then re-glue the case. NOTE: If you have to remove/replace the AC adapter, it does not matter which way the plug is connected inside the console. If you have electronics knowledge, then you might consider building a substitution. Michael C. Matte wrote an article in Arcadian (vol.7 pg.91-93) called, "Experimenting with your Astrocade: A Power Transformer Substitution. I've not heard from anyone that has tried this. I'd like some feedback on this; how well does it work? 12.c) Bally Astrocade Repair Procedures #1 - William J. Culver ------------------------------------ Bally Astrocade Repair Procedures #1 - Astrocade unit displays screen for 1 second then turns black or does not power up at all. Typically whenever a Astrocade does not power up, more than likely there is a problem in the power circuit on the Motherboard (Refer to the Bally Repair Manual at www.ballyalley.com). One of the first repairs I will discuss that I have done to many Astrocades concerns the capacitors that buffer the RAM (U24 thru U31 - MK4096N-15RAM) in the Astrocade. If any of the capacitors (C65 thru C106 - .1MFD 50V) short, then damage to the Q1 (TIP31) Transistor and the VR3 (UA78GUIC-5V) will occur. Also note that if you use the Astrocade on a carpet, it is typically the Q1 transistor that shorts out as well (I have modified Astrocades to have a small CPU fan installed to help cooling). Typically when the Q1 transistor shorts out, you will find R2 (240ohm 1/2 watt) resistor burnt on the motherboard. By using the wiring diagrams, trace the voltage through the circuit until you find the offending component. Check each capacitor for a short (C65 thru C106). When I approach a problem like this, I unsolder each Capacitor first, then replace the Q1, R2 and VR3 and power the unit up. Typically if a capacitor is shorted and it is removed, the Astrocade will power up (but do not leave it on long, just do this for a check). Connect each Capacitor one at a time by using a small jumper wire until the Astrocade does not power up, this will be the offending capacitor to replace (do not leave the Astrocade on very long when doing this!, just briefly turn it on with you multimeter on the +5v rail, If your multimeter does not indicate +5v when you hit the power switch, turn off the Astrocade immediately). NTE part numbers for components mentioned. (www.nteinc.com) VR3 - NTE 953 Q1 - NTE 196 12.d) Heatsinks - Raymond Carlsen --------- [NOTE: The information below is from Raymond Carlsen who released it on the Usenet Newsgroup "comp.sys.cbm" for all to read. The author talks about saving C64 computers, but the basic principles Mr. Carlsen discusses are applicable to just about any type of electronic equipment that uses microchips. Any old computer could benefit from the methods described. When I first saw this text I thought it was well written and worth saving, so I kept a copy of it for myself. I am now re-releasing it, hoping that [a] Mr. Carlsen won't mind my doing so (he did publicly release it once before), and that [b] some of you out there with an older computer / electronic device will find the info useful, so that [c] more cool old stuff will stay alive! I have included the complete and unmodified article, just as it was released. - Ward Shrake, July 1997] Someone asked for information regarding adding heat sinks to the chips inside a Commodore 64 to extend the life of the computer. Here is a reprint of my article: Solid state devices such as Integrated Circuits (ICs) fail for two basic reasons, assuming they were not defective from the factory: overvoltage and excessive heat. The causes of overvoltage by way of the power supply are predictable. The Commodore "black brick" has a history of catastrophic failure, sometimes taking the computer with it. After-market repairable supplies are much more reliable. Voltage "spikes" and static electricity can destroy ICs in the computer through any of the accessory ports. Both of these hazards are preventable to a degree... the use of a higher quality supply and simple precautions such as never plugging anything in (cartridges, mouse, etc.) when the computer is turned on just make good sense. Static damage can be kept to a minimum by grounding everything that will be used with the computer before connecting it. A less predictable but nonetheless important concern is the fact that repeated heating and cooling of semiconductor devices (especially ICs and power transistors/diodes) with normal use, even within their normal temperature range, will eventually cause them to fail. It is usually the devices that generate the most heat in normal operation that fail first. It's a bit like bending a piece of metal back and forth until it fatigues and breaks. Repeated heating and cooling does the same thing to the structure of the microscopic components inside an IC or transistor. You could leave the computer turned on 24 hours a day... some systems run that way. A BBS is a good example. I know of one system that has run without a breakdown for years (except for the hard drive power supplies). For most of us, however, the computer doesn't get enough use to justify the expense of a system running all the time. An alternate solution is to reduce the extremes of temperature inside the ICs by the use of heat "sinks", and thereby reduce the thermal stress on the devices. Microprocessors in new IBM type computers are running so fast nowadays (100MHz and up) that heat sinking and direct fan cooling is an absolute necessity! Those chips would overheat and fail in minutes without some method to dissipate that heat. Some of the Commodore 64 ICs run too hot to touch in normal operation. There are two simple modifications you can do to improve the reliability of your C-64, namely, increasing the airflow inside the case, and heat-sinking the ICs. The physical design of the C-64 limits the airflow over the chips. Tiny air vents in several places in the upper and lower half-shells offer minimal convection cooling. That cardboard and tinfoil shield, although of questionable usefulness as an interference filter, is very good at blocking the airflow and holding all the heat inside the case. I have run tests to see how effective that shield is in reducing radio and TV interference. I found little difference after removing the shield. In fact, a stock 1541 (with all shields in place) generates more "noise" than the C-64 with or without its' shield. Four of the large ICs tend to run hot normally: the PLA, the SID, the VIC and the MPU. These are the ones that fail most often, and in about that order. They would benefit most from "heat sinking"... drawing away the normally produced waste heat from the device by means of a metal "fin" attached to the case of the device. The C-64C and the C-128 have a metal shield with "fingers" that touch each of the larger ICs. Although the C-128D (metal box) has no shield, it does have a small internal fan near the power supply. NOTE: If your 128D was shipped without one, they are available from Radio Shack (part #273- 244 @ $18) and Jameco Electronics (part #18770 or 75344... about $9). The SX- 64 has individual heat sinks glued to the larger chips. C-64s had no such sinking, but you can easily make and install them yourself. Remove the screws from the bottom of the computer, but leave the keyboard in place. Run the computer for 15 minutes or so, lift the keyboard and feel the tops of all the chips... some will be quite warm. Those are the ones that most need the help! You can purchase commercial heat sinks that fasten to the top of the chips with clamps, adhesive strips or glue. Radio Shack and other parts houses can supply them in a variety of sizes. If you want to make your own, any thin metal stock will do. The only consideration is that it be flexible enough to bend without breaking, and stiff enough to hold its' shape when bent. It must be flat on the bottom for intimate contact when glued to the chip. I use strips of "tin" cut from large juice cans. With tin snips, cut a piece of metal about 4" long and about 1.5" wide from the "un-ribbed" part of the can, and bend it (use a block of wood as a "form") to fit the top of the IC. Careful! Those cut ends are razor sharp! The top of a 28 pin chip such as the PLA is approximately 1.5" long and 5/8" wide. The heat sink is fashioned into a "U" shape with "ears" that extend out to either side (see diagram). The sink ears are made high enough to clear all components on the PC board, but not touching the keyboard when it is reattached: bend the ears over about 1/2" from the top of the IC so it clears all of the smaller components next to the chip. The large "surface area" is necessary since the airflow inside the case is poor. SIDE VIEW OF HEAT SINK ATTACHED TO IC |<-------------- APPROX 3" --------------------->| ~~~~~~~~~~~~~~~~~| |~~~~~~~~~~~~~~~~~~ .5" /\ |<---5/8"---->|<----- HEAT SINK \/ |_____________| ---- =============== <------ ADHESIVE |~~~~~~~~~~~~~| |______|______|<----IC ___________________!________!______________<----CIRCUIT ! ! BOARD Use fast-set epoxy to attach the sink to the IC. If you have several sinks prepared ahead of time, you can mix one batch and glue them all before the epoxy starts to set. Print the name or number on the top of the sink with a felt tip pen ahead of time so you can still identify the chips when you're done. Be careful not to use too much glue (one small pea-sized drop is plenty), or it will ooze out the sides and down into the socket. (Note: not all chips are socketed.) Spread the epoxy over the sink (or on top of the chip) and gently press it into place. I don't recommend super glue as the surface of the metal will not be flat enough for a good bond. Heat sink compound (white silicon "goo")is sticky enough if the computer will never be moved, but I don't recommend it either. If the metal sink falls into the computer, it will most certainly short something out. Epoxy forms a good bond even with irregular surfaces as it fills the "voids" and provides sufficient heat transfer to the sink. Just make sure the metal is free of dirt, oil, fingerprints, etc. before you apply the glue. As I stated, the chips that benefit most from sinking are the large heat producing ones, like the PLA (CBM #906114-XX, 82S100PLA, or 93459), the SID (CBM #906112-XX or 6581), and the VIC (CBM #906109 or 6567). The VIC chip is already sinked in later C-64s. It's inside a metal box... the cover has a tab that touches the VIC chip. If yours doesn't have one, sink it. You can use the "finger" test to see if any other chips in your computer run hot enough to need sinking (too hot to touch after 1/2 an hour with the case closed). The only other chip I would sink would be the MPU (6510), although I have only seen a few bad ones. Make sure the heat sink fins don't touch any circuit components and cause a short! The two VIA (6526) chips run cool to the touch and don't really need sinking. Since they connect to the external ports, they are more sensitive to static "zaps". The ROMs run warm. The eight RAM chips (4164) normally run cool, at least until the power supply regulator fails. When RAM chips get hot to the touch, they're gone! Heat sinking can be added to the chips in the 1541 disk drive as well. Its' power supply is internal, making IC heat buildup even worse. The problem with modifications to the drive is the space limitations inside the case. It's pretty crowded in there, but it can be done. Find the chips that get the hottest as described with the C-64 and add sinking as necessary. The heat sinks you make will have to be cut to fit the space allowed. The 1571 has an internal switch-mode power supply that all but eliminates heat problems. The 1541-II and 1581 both use external supplies and consequently run cooler. No matter what equipment you have, it's important to keep the vents clear on the computer and accessories. Don't put papers, books or disks over the vent holes on the computer, drives or monitor. Don't stack 1541s. Replace your original C-64 supply with one of the repairable "heavy duty" types. IC chips and other parts for Commodore computers and peripherals are in short supply. With the simple suggestions and modifications described here, you can help to extend the life of the ICs and keep your Commodore system humming along for many more years. - Ray Carlsen CET 12e) How to Repair Bent and Broken Legs on Computer Chips - By Ward Shrake ---------------------------------------------------- [The Astrocade has three socketed chips on the motherboard: Address Chip (U17 - Bally Part # 0066-115XX-XXYX), Data Chip (U18 - Bally Part # 0066-116XX-XXYX), and the I/O Chip (U19 - Bally Part # 0066-117XX-XXYX). These chips (especially, the Data Chip) are a common failure in Astrocades that are dead or acting weird (B&W, wrong colors). If you are replacing a chip by, likely, cannibalizing another Astrocade (for the chips are no longer available) and you break or disconfigure one of the chips, then this generalized FAQ by Ward Shrake will give you the information that you need to get yourself out of this kind of jam. - Adam] Old computers and other electronic devices are usually full of the DIP (Dual Inline Package) style of chips, or Integrated Circuits. Sooner or later you'll run across some with their little legs or pins bent in ways they should not be. Here are some tips on safely straightening them back out. First off, do what you can to prevent damage done by static electricity. Buy an anti-static wrist-strap and learn how to use it, if you're going to be doing much work around CMOS chips. (They are very sensitive to even very low levels of static electricity.) If you are brave, you can just try to hold the chips on the plastic or ceramic body parts, instead of by the legs. It can't hurt to do both. A small hand tool exists, usually called an "IC pin straightener" or something close to that. I only use them once in a long while now, but I used them more often years ago. (Radio Shack used to carry them in their stores, but now only sells them as a "special order" item, I'm told under part number: RSU 10524502. Other places likely have something similar, but you'll have to shop around on your own to find them.) These tools may or may not have a screw built in, that is meant to connect to an anti-static ground point. Basically, these tools are just a few simple blocks of plastic. You insert a chip loosely into the middle portion, then squeeze two spring-loaded walls inward, towards the chip's legs. The two rows of legs get crushed flat, between the various parts. Problem is, this tool is made for newly-produced chips, more than ones that have been accidentally bent while working on them. Most DIP-style chips come from the factory with their little legs pushed slightly outward, like an awkward calf. Good luck, if you don't know this and you try to fit the IC into a board or a socket "as is"? Until you straighten the legs out, so that they are at a ninety degree angle to the body, you'll likely be frustrated and may end up with a real need to know how to straighten badly bent legs. However, if the legs are bent too badly, the chip won't fit into the center section of this type of tool. And it only fixes legs that are bent outwards; you have to straighten them by hand, if they are bent along the long axis of the chip, which sort of defeats the purpose of even having such a device. I would say that they can be handy to have, mostly if you are afraid you'll damage the chip by straightening it by hand. Once you've gained some confidence in using other tools, you'll probably find less and less use for it? What I use most often nowadays to straighten out bent chip legs, is a standard pair of needle-nosed pliers. As long as the tip is small enough to -- gently! -- grab one leg, while staying out of the way of the ones nearby, it should work fine. (You may also find that a favorite pair of tweezers works for you?) Take your pliers, and carefully bend the most badly bent pins into a ballpark or approximate position, as your first step. Move slowly and very gently. Keep in mind that any thin piece of metal, bent back and forth enough times, will snap off. It's called metal fatigue. You want to avoid it as much as possible. Once most of the pins are somewhat close to being straight, I usually pick one direction, and fix that first, then go back a second time and fix them in the other direction. Doing this gives me a fairly good view of what straight actually is, from one pin to the next. In other words, I'll hold a chip flat horizontally, looking at its side, with one row of pins facing me from left to right. I'll get those pins fixed first, so that they are straight up-and-down when compared to one another and the body of the chip itself. I will then look at the either end of the chip to see if any pins are sticking inwards, badly. If they are, I bent them back outwards, slightly. If I have a row of legs that wanders all over the place, in both directions, what I'll do is to bend the inward ones all outward, to match the bow- legged ones. For now, this just keeps them even with one another, not necessarily at a ninety- degree angle to the body. As a final step, I'll place one row of legs on a flat table or other solid surface, so that the body of the chip is sticking up vertically. (Think of a truck lying on its side, if that helps?) Gently roll the chip's body away from you, so that the legs are bent flat and even with one another. It is better to do it a few times, a few degrees at a time, then to keep over- bending and unbending them, making them brittle in the process. Practice these steps a few times with some spare parts, if it sounds difficult. It isn't, once you've done it. REPAIRING BROKEN LEGS If you've gone and snapped a leg off, repairing it may be harder but still do- able, with some practice and the right tools. Take a close look at any random chip you have laying around. You'll see that the part of the leg that goes into a socket, is thin and wire-like. The upper portion of the leg is approximately three times as thick, when looking at it from the side. If both the upper and lower leg halves are gone, sorry, you need to buy yourself a new chip. If you snapped just the lower part of a leg off, try this to fix it. (You may even want to intentionally snap some legs off of a cheap but working socketed chip, just to practice?) Carefully clean the upper part of the leg. Remove any obvious solder or other debris, then use grade "0000" steel wool to get a bright, shiny surface. (A rubber pencil eraser works, too, but not as well.) You can find this steel wool in better hardware stores, most likely for polishing expensive woods, believe it or not. One five dollar pack should last for years, and is great for cleaning card edge connectors, too. Anyway, you should now have a clean, upper leg half. Get a short section of wire; an inch will do fine. A section of the wire leads from a cheap resistor, capacitor or other small spare part works great. Soldering is beyond the scope of this article, but what you want to do is to "tin" both of these parts. What that means is that using a low-wattage (15 watts is fine, 30 is maximum) soldering iron, you heat one part up at a time, then add a tiny bit of solder to it. It helps if you use the smallest diameter wire solder you can find; you'll have much better control over how much solder gets applied, and where it gets applied. Never use acid cord solders! Radio Shack (and many other places) sells all you'll need for simple soldering. I really like their small 1.5 ounce spools of "silver bearing solder," and know they sell a decent 15 watt iron. They also have a very good desoldering iron (40 watts?) at a good price (around $10) with its own little red bulb and a hollow heating tip, but that's another story altogether. As long as I'm rambling, for most small electronics work, a "third hand" type holder will probably save your sanity to some degree, too. Now that you have two clean surfaces, with just a tiny bit of solder on each of them, you can touch them together, hold them steady that way, and gently heat both parts. The solder on both of them should run together, and make the two parts stick together. Don't move the parts around; let it cool without any movement at all, or the joint will be extremely weak, or even electrically unworkable. And for this use, it helps if you leave the wire extra long in both directions, so you can hang onto it. Solder it on, hold it still, let it cool, then trim the new leg to its final size. When I'm doing it, I hold the length of wire in one hand with a pair of needle-nosed pliers, I hold the soldering iron with my other hand, and the chip itself is laying on its side, clipped into one of those nifty "third-hand" holders. SOME OTHER THOUGHTS One other, sort of related tip... once in a long while you may find a situation where you're putting a chip into a socket or set of holes that it wasn't really made for. (Replacement EPROM's, for example. Trust me on this, for now.) Maybe most of the pins are correct, but one or two aren't. What you can do is to bend the offending pins so that they are straight out from the body of the chip; like wings on an airplane, more or less. That particular pin won't go into its socket hole, but the other pins will. Attach a small length of wire to that bent-on-purpose pin, and then attach the other end of the wire to where it should really end up. I find that a wire-wrapping tool set helps out, in situations like this. But again, that's another story. This is an even stranger, admittedly much less common situation: if you ever have a chip that you're inserting into a circuit, from scratch, it may help to bend certain pins straight out, then tie those bent pins all together with one long length of wire. ("Huh?," you probably said.) I'm thinking of one situation where an inverter (7404 chip) is being put into something like the Atari 2600 console, to make an "active high" chip select signal from the machine activate an "active low" enable line on a modern EPROM. Most guys just run four wires; power, ground, signal input and signal output. But on most gate chips -- especially on CMOS chips -- any unused inputs are supposed to always be tied either to power or ground, so that the lines aren't "floating". If they are left floating, the circuits act erratically or sometimes just don't work at all. And they may use more power than they should, as well. In the situation mentioned, all the inverter's input lines could be bent upwards, ground could be bent upwards also, and they could all be tied together with one wire and a minimum of fuss. And here you probably thought that the only time it was necessary to straighten IC legs out, was when you bought large quantities of cheap, used-and-abused EPROM chips in bulk? Shame on you! :-) I hope this info helps some of you keep these older machines up and running!? Good luck.... - Ward Shrake 12.f) Identifying the Bally/Astrocade On-Board ROM -------------------------------------------- There are at least three different versions of the Bally/Astrocade On-Board ROM. Two models are nick-named after a memory location that yields certain results that make it easy to ascertain which On-Board ROM is being used, while the other is known by the color of the Astrocade itself. These three different versions are: * 3164 - CALL(3164) yields "Game Over" - Date "1977" * 3159 - CALL(3164) yields "Over" - Date "1978" * White Astrocade - Acts like 3159 but says 1977 The reason this matters at all is because of some possible compatibility problems. I know of no cartridges that will not work because of this, but some tape games do have problems because of this. I have not run into any compatibility problems myself, but it is possible that some problems may arise today; knowing which ROM you are using may become important (especially when you are using an actual Astrocade). Using the following program from the ARCADIAN newsletter (Vol. 5, No. 3, Pg. 49, Jan. 14, 1983) I have been able to identify which version the Astrocade emulator is using: CLEAR;%(19904)=-43;%(19906)=12341;%(19908)=27651;%(19910)=3164;%(19912)=- 13871;CALL19904 The Astrocade emulator prints "OVER". This means that the emulator is using the 3159 On-board ROM, which is the most widely distributed ROM. For those that are interested, I have taken a screen shot of the Astrocade with the BASIC program on the screen and one after the program is run (showing "OVER"). The pictures are: [both astrocade_on-board_prog.gif and 3159_configuration.gif] http://www.ballyalley.com/pics/misc/on-board_prog_and%20_result.gif I'd like to thank Michael White for informing me of the ROM differences with the White Astrocade. 12.g) Notes on Removing cartridge labels - By Ward Shrake ---------------------------------- If you're trying to remove a cartridge label from an original Bally cart -- say to make a homebrew game cart of your own -- you'll run across a number of problems. Since I've already solved many of them during my own homebrew (multicart) project, I'll pass on some tips. To get most of the original label off as cleanly as possibly, use a heat gun or a high-wattage hair dryer. I use a 1500 watt Conair handheld hair dryer. It is nothing special, in fact I paid $3 for it at a thrift store. I rest it on its side, on the bathroom countertop. I put it on a folded towel, so that vibration won't allow it to move around. (Mine has rear and front vents; don't block any side vents.) I stand a cartridge up on its edge about four or five inches away, and put something like a shampoo bottle behind it, to hold it there. Set on high, in a minute or so my hair dryer heats the label up enough to make the glue sticky again. I stick a hobby knife blade gently under part of the label, to test if it is ready to peel up. It will peel pretty cleanly, once you get the right timing figured out. One thing to watch for is case warpage. The Bally cart cases are so thin, that if you overheat the cart you can actually bend the case itself. If you apply too much heat, then use too much force to pull the label out, you'll actually bow the case upwards ever so slightly. (Needless to say, this is not a good thing.) Practice is best to avoid this, but one trick is to first bend the label almost straight back upon itself, then peel it backwards, almost flat. This changes the direction of the pull from side-to-side instead of outwards. Set the cart aside to let it cool down. Discard the old label, or try to stick it onto a sheet of wax paper if you want to try to save it. The next problem is relatively easy to solve if you know how to, but is a (heavily censored) pain to figure out. In short, there will be a lot of left- over glue residue. Your new label may not stick to it very well, as this adds unwanted texture to the smooth case surface. The solution is to coat the label area with Elmer's rubber cement, let it dry somewhat, and then wipe most of it off. (There must be some kind of a solvent in the rubber cement that is similar to the glue that was originally used on these carts.) This will take off some but not all of the glue residue. The rest will come off if you let the remaining glue dry, then rub it all off with your fingers. Before I figured that out, I went through just about every chemical but napalm and gasoline, with little or no success. "Goof-off" and lacquer thinner were far too strong; they actually made the problem worse instead of better, by melting and marring the case's plastic. I also tried "Goo-gone" and "Windex" and other household cleaners to no avail, acetone to nearly the same result, soldering flux remover (in desperation), and anything else that I had handy. Nothing got rid of that stupid glue residue, even when scrubbed in with abrasive pads. I even broke out some steel wool and then very fine grain sandpaper, and tried it. Even that was a waste of time, and did nearly nothing. The Elmer's rubber cement trick gets a cart cleaned up a minute or two, as opposed to the forty-five minutes per cart it was taking at one point, just to see something of a slight improvement (maybe). I am offering this info to save the rest of you the same frustration. 12.h) Notes regarding cart case repairs - By Ward Shrake --------------------------------- Observations regarding the plastic cases that Bally Astrocade carts come in. There are a number of non-obvious problems with the four small screws that hold the two halves of a plastic Bally cartridge case together. It generally does not become apparent until you've had reason to open the case up, so most game players would never know about it. You may think that means you are not affected by this, but as soon as you have to open a case up to clean an edge connector, you're in trouble. In short, once you have removed the screws even once, from then on they often strip out, fall out or are torn out over time. The more often these screws are actually used, the worse your odds become at avoiding this problem. Even brand new, shrink-wrapped carts have this problem. The screws that were used by the factory cause the problem. The solution is simple; replace the original screws. The replacement screws you want are #2 screws, 3/8ths of an inch long. The panhead style is probably your best bet. Phillips or standard; either way. I prefer the woodscrew type myself, rather than a self-tapping style. One additional trick to use is to put a little bit of bar soap on the threads of the new screw, before you insert it. Just roll the screw across the surface, and let a little bit of soap stay on the threads. This lubricates the new screw and makes that first insertion go much smoother. This makes it easier to feel when the screw has bottomed out, so you can stop applying pressure at that point. It also makes it easier to remove and replace the screw whenever you need to do so. Doing these two things will fix the problem, most likely "forever". If you insist on leaving the original screws in the cart, make sure that you VERY carefully inspect and clean each thread on each screw before you reinsert it. Make sure that no plastic chips are caught in the threads. Use the bar soap trick, to lubricate the original screw. A couple of other screw-related tricks: before you try to remove the screws from any case, you may want to turn each one a quarter or a half of a turn, back-and-forth, a few times. With luck, this may dislodge some of the plastic clogging the self-tapping screws. You may also want to turn the cart upside- down and gently tap the case a few times to knock out any loose debris that may remain in each hole. To make sure you are inserting the screws properly, "back-thread" them gently before you start turning them. Put the screw into the hole, very, very gently. Apply almost no pressure at all, and pay close attention to the feel of the two parts. Very slowly, rotate the screw in a backwards direction. The thread sticking out will ride the top wall of the hole, backwards, for a little while, without being able to find its way in. As soon as the matching groove is under the thread that is sticking out, the screw will suddenly drop into it. At this point, slowly start turning the screw in the proper direction. It takes practice to get the right feel for this -- try it with much larger nuts and bolts until you easily recognize how it feels -- but it is very useful to know about if you deal with many threaded holes. A bit more of a detailed explanation of the problem... The original screws are self-tapping, which means they cut their own threads into the plastic they are going into, the first time they are inserted. This is one quarter of the problem. The ridiculously fine threads are the next problem; they don't cut deeply enough into the surrounding plastic walls to really grab and hold well. The next quarter of the problem involves the very thin-walled tube that it is actually screwed into, and the fact that it is also an enclosed hole. This all adds up to a situation where the small plastic chips cut by the tapping section of the may end up jamming the fine threads at the bottom end of the screw. If the hole went all the way through, these chips might just fall out the other end, but as is they have no place to go. When you take the screw back out for the first time, these clogged lower threads essentially try to tap a new hole coming back out, widening the original grooves or destroying them completely. (I recently had a brand new case that wouldn't come apart even with great force. One screw had a huge ring of plastic at the bottom; more or less as if it were a nut on the end of a bolt. The screw just spun in its hole. I finally had just tear the screw out, with great force.) And now, here's why I take this all so seriously... If you look at the way that Bally carts go into the cartridge slot and are held there, you'll see that there is upwards pressure being applied all of the time; the "end of play" cart rejection spring is actually pretty strong, all things considered. The only thing holding the cart down are two little fingers that fit into notches in the end of the cart itself. If the screws that hold the case together are not holding it securely, this pressure can literally tear a cart apart. This last problem is potentially very serious. If one of the screws is essentially torn out of its hole by this constant tension, gravity will cause the tiny screw to fall out completely. (The sudden upwards snap of the cart rejection device makes this problem more likely.) It is unlikely you will notice the screw, laying there on the floor of the cartridge well. Sooner or later, it will roll into the open areas of the machine, where the metal body of the screw is just waiting to roll onto the wrong things, and short something out internally. At the very least, you've now lost one of the screws holding your cart together. Even if it just sits there on the floor of the cartridge insertion well, the lost screw can make new cart insertion difficult. To sum up; I hate the original screws used by Bally and Astrocade. They are not at all the best design for their situation. If you have any reason to be opening cases, or you just want to insure your carts will last a long time, buy a small box of 100 replacement screws (for about $3) and replace all of the problematic original cart screws. 12.i) Notes on getting dead carts to work - By Ward Shrake ----------------------------------- This isn't going to be an exhaustive step-by-step text on cart repairs -- just a few notes I have not seen elsewhere, to add to what's already known by people familiar with other game systems. It should be enough to tell an electronics hobbyist what to look for. Cleaning cartridge edge connectors is the first thing to try. Open the cart's plastic case up, take the PC board out, and rub the edge connectors gently with the finest grade of carpenter's wool you can find. The "0000" grade works great. Avoid anything much heavier duty than that, or you'll risk heavily abrading the surface, making the cart harder to resurrect. You'll end up with a mirror finish or be close to it, if the cart is dirty but in otherwise good shape. If that fails, and you're comfortable with a soldering iron, you may want to try tinning the edge connectors with solder. Don't use very much; just enough to give them an even coating. I add some 0.022" diameter solder, very lightly, and spread it around with my iron. Using solder wick, I pull most of that right back off. Push any small blobs backwards. Once I'm done coating them all, I take a Q-tip dipped in a good quality soldering flux cleaning chemical, and rub off the gunk. (I first squirt some into an aerosol-paint type cap, from a spray bottle.) It make take a few repetitions to get it nicely flux- free. You can then reclean the connectors using carpenter's wool. It is a lot of work, but I've brought back some dead rarities. If even that does not get your cart working, you *may* be having some problems with PC board / cart slot interference issues. (In other words, your PC board may not be perfectly shaped to fit into the slot, so that the little pins or fingers are not making a very good, reliable contact with their mating connectors.) It does happen; Adam once handed me a non-working third-party cart like this. The left and right sides of the board stuck out so far that they wouldn't allow the board to sit down flush in the slot. As a consequence, none of the pins were actually making contact. Cutting the sides fixed it. (It wasn't very hard to do in this case, because the offending parts were relatively small "snap-off" sections left over from the board manufacturing process. I just used wire snippers, then a small file to remove those unintended wings.) The cart worked fine after that. One other interference problem you may want to check on is at the very front lip of the PC board. Because of the way these carts are designed, the front lip is supposed to sit flush with the inner edge of the hole in the front edge of the cartridge. (Look at a cart to see what I mean.) If the front edge of the PC board sticks up just a fraction too high, it may only make the cart hard to insert. (I suppose it might cause problems with reliability, too, but I've never actually seen this?) In any case, it is easy enough to fix... just sand the top front edge of the PC board down at a slight angle, so that when you insert a cart, there is a bevel or "ramp" that hits first. Just enough to feel it; you don't have to see it much. The cart will ride up and over, causing you no further insertion problems. I don't imagine this would cause problems with existing carts, but to be extra paranoid when I made my multicarts, I also rounded the two side corners off. That way, even if a cart tries to go into the cart slot in some way that it shouldn't, it self-corrects as it goes in. If all of this does not fix your cart, there are only a few other things that could be wrong with it... One or more of the solder joints are "cold" or bad; if this is the problem, simply "reflowing" the solder joints should fix this. (Heat each one, and apply a very tiny bit of new solder to each one.) There may be two solder joints that should not be touching, but are. If this is the problem, use solder wick to take the solder off of both joints, and carefully resolder each joint separately. It is unlikely, but perhaps the PC board itself is bad in some way. If you have the expertise to do so, you can visually check it over, to be sure that all the traces are intact and are unbroken, and that none are peeled away from the board's surface. The most likely issue on a factory-made board might be a small scratch, cutting a trace. The small decoupling capacitor located between power and ground may be shorted out. (If it did, your Bally system probably would not work at all, so this problem is possible but rather unlikely.) The chip itself may just be dead. Not much you can do about that other than to remove the old one, and to find a replacement chip. 12.j) Restoring the Astrocade's Gold Trimming - Marty Goldberg --------------------------------------- With the Professional Arcade unit I just picked up there were some nicks, scratches, etc. on the gold trimming on the console that caused the coloring to be removed in those spots. Same condition with the hand controllers: the gold on parts of the Bally logo was worn off completely in much of the logo. I found a perfect match (gold and metallic sheen) to restore those: Krylon 18kt Gold Leafing Pen It's made for creating gold leafing effects for walls, and is an actual paint in a pen format. The tip is chiseled, making precise spot application possible. I put it on and couldn't tell the difference between the original and the touched up section; it has the same color and metallic look. It made the controllers look like new as well. It was really easy to apply because of the handy pen format. I picked it up at "Michael's, The Arts & crafts Store," but you should be able to find it at any place that would carry wall leafing supplies. 13) MESS Emulation -------------- Many classic systems can be emulated on modern hardware, and the Astrocade is no exception. Astrocade emulation is included as part of MESS (Multi Emulator Super System). The emulator can be downloaded from: http://mess.emuverse.com/ which redirects to http://www.mess.org/ MESS emulation works well and I encourage even the passively interested to try it out. The effort to dump ROMs for emulation on your PC, especially from those cartridges that are rare or unreleased has really gone well. The ROMs, however, are not easy to come by yet. Don't get discouraged; try the games released to public domain that are available (the Bally Alley website has them). Please do not send email asking for ROM images; there is no further advice other than what is included in this section. If you want to try the games and you have an actual Astrocade, then I recommend that you purchase the Astrocade Multicart- it has more games and programs than you could ever find or expect to exist on the Astrocade. 14) Publications of note -------------------- Most of the material listed here can be found at the Bally Alley website. Arcadian Newsletters From which a wealth of information can be obtained. Astrocade Underground A newsletter by ABC Hobby Craft. Contents unknown. Basic Express (AKA Cursor) Another newsletter with information and programs. Handbook of Hardware + Software (AKA 'Nutting Manual') Source of most of the programming support for most of the arcade quality games made for the Bally/Astrocade systems. On-Board Rom Subroutines Helpful for improving your BASIC and Machine Language programs. Peek N Poke Manual Useful information for the BASIC Programmer. Service Manual PA-1 Parts lists, Schematic Diagrams, etc. 15) Sources of Bally/Astrocade Hardware, Software and Information ------------------------------------------------------------- The Astrocade never was as popular as the Atari systems, and thus Astrocade hardware, software and information has never been easy to obtain. Here you will find some places to start your search. HARDWARE - There is no easy, one-stop, source for the Bally Astrocade console itself, or for console add-ons. A run to local thrift stores will probably turn up nothing. This doesn't mean you can't find an Astrocade in the "wild" though, as good finds have been known to occur from time to time. But if all the local thrifting proves fruitless you will need to turn to the Internet to find an Astrocade. If you want a console now, this very instant, then an Ebay auction is probably your best bet. There is almost always at least one available on Ebay. These systems are perceived as rare (true or not), and the price usually is a good reflection of that. SOFTWARE - There are two kinds of software for the Astrocade: cassette and cartridge. Cassette software is very difficult to find. There is no source that I can recommend for it except for Ebay (and even that is pretty dry). Cartridge software can be obtained from private collector's trade and for sale lists. Check the "links" page of the Bally Alley website (below) for more information on this. INFORMATION - Astrocade newsletters, pictures, links, manuals, and other documentation can be found at: http://www.ballyalley.com or [no longer valid] http://www.classicgaming.com/ballyalley There is an active Astrocade discussion group at Yahoo! Groups. You must be a member to view or post messages (joining is free), though downloading files does not require membership. Current topics include hardware add-ons, an Astrocade software CD, and more. http://groups.yahoo.com/group/ballyalley A) Appendix - Astro Basic Command Listing -------------------------------------- Included here is a summary of every Astro BASIC statement as listed in Appendix H (pages 108-114) of the Astro BASIC manual. The entire BASIC manual, in PDF format, can be downloaded from http://www.ballyalley.com/basic/basic.html. This was typed by Lance Squire. BOX X,Y,A,B,1 Draw a box in foreground color (mode 1) that is centered at the point X,Y. The box is A pixels wide and B pixels high. You can draw boxes in four modes: 1 - Foreground Color 2 - Background Color 3 - Reverse box (XOR) 4 - Invisible CLEAR Clear the screen. Any program stored in memory remains unchanged. FOR/TO/STEP/NEXT These commands form a loop. Example: 10FOR A=1TO 16STEP 3 20PRINT A 30 NEXT A GOTO A Goto line number A GOSUB 100 Gosub line 100 IF Test the value of an expression. If it is not zero (if it is true) the rest of the statement will be executed. IF A=5GOTO 20 means if the number stored in A is 5 the expression is true and has a value of 1. If it is not 5, the expression equals zero, is false and the rest of the statement will be skipped. Execution will continue at the next numbered statement. INPUT A Wait for numeric keypad input. INPUT "HOW MANY?"A Prints message and waits for input. LINE X,Y,1 Draw a line to the point X,Y, in foreground color (mode 1). Use XY=A or mode 4 to start line from new location. LIST Print program instructions in numerical order beginning with the lowest line number. LIST ,5 Start at the beginning and print only the first five numbered statements. LIST 100 Start with line 100 and list to end. LIST 100,5 Start at line 100 list only five numbered statements (inclusive). PRINT "A" Print Character A. PRINT A Print Value of A. PRINT #A,B Print A spaces then B value. Omitting the #A, Bally BASIC will normally print numbers right-justified in an 8 space field. RETURN Return to instructions following the most recent GOSUB. RND(A) Generate number between 1 and the value of A. If A=0 the range is -32768 to 32767. If A is between 1 and 32767, RND(A) will generate a number between 1 and A, inclusive. RUN Execute program from beginning. To start elsewhere, use a GOTO followed by the start line number. General Functions ABS(A) Absolute Value of A. CALL(A) Goto assembly routine at A. RM Contains the remainder of last division. SM=A Sets scroll mode by: Mode are: 0 - Normal 1 - No Scroll 2 - Clear screen, Cursor at bottom 3 - Clear screen, Cursor at top 4 - Auto Pause, release by pressing any key. STOP Stop execution of program. SZ Size of available programming space XY Stores the XY position specified in the latest LINE command. The Y value occupies the high order byte of this word, X the lower byte. PX(X,Y) Is Pixel on or off? Input-Output Functions JX(1) This function returns the position of the number one joystick's horizontal position. A return of -1=Left, 0=Center, and 1=Right. JY(1) This function returns the position of the number one joystick's vertical position. A return of 1=Forward, 0=Center, and 1=Back. TR(1) This function returns the status of the number 1 trigger. A return of 1=Pulled and a 0=Not Pulled. KN(1) This function returns the status of the number 1 knob. The range is from -128 counterclockwise to 127 clockwise. A=KP Wait for key press, store ASCII in A. TV=A Display ASCII character A to TV. MU=A Play musical note value A. MU="A" Play same note as character A (All characters in Bally Basic Produce a tone when displayed unless NT=0) FC Foreground Color BC Background Color NT Note Time, Duration of note play CX Places the cursor left or right on the screen. The range is from -80 to 79 CY Places the cursor up or down on the screen. The range is from 43 to -44 Tape Commands :PRINT Save RAM (Program/Variables/Screen) to tape. :INPUT Load program from tape to memory. :LIST Provides a checksum of program stored on tape without affecting program in memory. Prints a question mark to left of cursor if an error is found. :RUN The :RUN command is provided for loading machine language programs. The load will begin at the top of the screen (4000H or 16484D). When the load is completed control will be transferred to this first address. The block loaded is limited in size only by the need to avoid interference with the stack area. :PRINT @(0),100 To write out blocks of data, a second form of :PRINT is provided. This will write a data block of indicated length beginning at the specified address. For example, to write out the first 100 words of the @() array, :PRINT @(0),100 will save array addresses @(0) thru @(99) on tape. :INPUT @(0),100 As with :PRINT there is a form of :INPUT for loading data blocks. :INPUT @(0),100 will specify that the load is to begin at array address zero and continue loading a total of 100 addresses. Error Messages WHAT? Syntax error SORRY Out of Memory HOW? Generic error code. Examples: GOTO 50 No line 50 HOW? GOSUB A A=10 NO line 10 HOW? NEXT Y NO FOR Y HOW? Punctuation and Operators +,-,Multiply and Divide symbols Standard math functions ; - Separate multiple statements on same line , - Continue printing on same line. . - REM statement > - Greater than < - Less than = - Equal to # - Not equal to B=%(A) - PEEK A,B %(A)=B - POKE A,B @(n) - Array (Bally Basic and Astro BASIC) *(n) - Array symbol (Astro Basic Only) &(n) - Read/write port n Down Arrow - Stop ALL sounds (turns off AB sound ports) Music Processor Commands (Astro Basic ONLY) MO - Master Oscillator Freq. NM - Noise Mode NV - Noise Volume NM must be 1 VR - Vibrato Range NM must be 0 VF - Vibrato Frequency TA TB TC - Tone A,B or C VA VB VC - Volume A,B or C B) Appendix - Changes/Updates -------------------------- Version 3.41 (April 23, 2015) - Added "Sea Wolf / Missile" to "Released Cartridges." Version 3.4 (December 13, 2010) - Created new section, "Homebrew Cartridges." - Added "War" cart to "Homebrew Cartridges." - Added "Fawn Dungeon" by Barry McCleave to "Cartridge Prototypes." - Now that "Color BASIC" has been dumped, added author (Jay Fenton) and size of ROM (4K). - Added "Lil' White Ram" to "Computer Expansion." - Added four Multicarts to the "Astrocade Multicart" section: 1. Multicart Containing Beatles Music from Richard Degler. 2. Multicart by CPUWIZ. 3. GamBits Multicart - The official name for this is UltiMulti Cartridge. 4. RetroKidz Multicart Version 3.31 (October 4, 2010) - All updates made by Richard Degler - Fixed lots of dead links - classicgaming.com no longer carries the obsolete files from /ballyalley/ since it was removed from their front page years ago. - The FAQ isn't at Yahoo! group files anymore as it said, nor are - astrocade_on_board_prog.gif and 3159_configuration.gif {separately}. - Deathskull Laboratories! has been closed - but I found an archived copy of it. - The "Keypad (with overlay):" box was fragged since it was 80 characters wide. - Six instances of "represent" were used in two paragraphs, so I changed the two of them that needed it. - Re-flowed Appendixes "Astro Basic Command Listing" and "Changes/Updates" so that indented blocks stayed indented, then took out trailing spaces. Version 3.3 (May 14, 2008) - Added Section: "Restoring the Astrocade's Gold Trimming" by Marty Goldberg Version 3.24 (May 3, 2007) - Fixed the Z80 clock speed. It was listed as 3.579 MHz. It is now set to the proper speed: 1.789 MHz. For more information about how this fix came about, see the Astrocade Message board thread titled "Z80 clock speed." More specifically, read Frank Palazzolo's reply in message number 3912 and Tony Miller's reply in message number 3913. Version 3.23 (March 21, 2006) - Added carriage returns after 79 characters Version 3.22 (June 10, 2003) - Added 280 Zzzap cartridge- woops... Version 3.21 (June 8, 2003) - Added Blue Ram PS reference Version 3.2 (June 3, 2003) - Revamped BASIC memory map - Completely redid the BASIC Games section - 'Notes on getting dead carts to work' by Ward Shrake - Completely revamped the 'BASIC Cartridges' section - Reintroduced the 'Astro Basic Command Listing' that was included in the original and early version of the text FAQ. - Added mention of "Power Transformer Substitution" to "AC Adapter Repair" section - Completely rewrote "1.8K available of 4K RAM" section - Added "Astro Basic Memory Map" section - Added sub-sections to "Astrocade Maintenance/Repair" section: - "Writing Bally Astrocade Repair Procedures #1" - "Identifying the Bally/Astrocade On-Board ROM" - "Heatsinks" - "How to Repair Bent and Broken Legs on Computer Chips" - Added thanks to: William J. Culver, Version 3.1 (Dec. 17, 2001) - Broke Contents into prefix, body and appendix sections - Added 'Changes/Updates' section - Integrated 'People of Note' in new 'Appreciation' section - Updated and added notes to 'Appreciation' section - 'MESS Emulation' section updated - 'About this FAQ' section added Version 3.0 (Aug. 5, 2001) - Released by Adam Trionfo and Rob Mitchell - Released with Lance's consent (thanks!) - Public release of updated FAQ - First revision since November 24, 1996 Version 2.5 (Feb. 3, 2001) - Non-public release - Distributed only for review/proofreading/suggestions Version 2.0h (Nov 24, 1996) - HTML Version of the FAQ by Lance F. Squire - Pictures added - Links added Version 1.8 (Jun. 22, 1996) - Last text version by Lance F. Squire Version 1.0 (Jun. 3, 1995) - First text version of FAQ by Lance F. Squire C) Appendix - What needs to be added or updated -------------------------------------------- As of June 2, 2003: -- Update and expand "What is a Bally/Astrocade." Re-check information. -- Add an "Astrocade Newsletters" section. List all programs released in each newsletter. -- About WAV format information? -- Who owns the Bally trademark and software rights? -- Find an AC adapter replacement solution. -- Mention public domain release of some cartridges and cassette tapes. -- Finish Software FAQ of cassette software. -- Add specific Astrocade information to the "Heatsink" section. D) Appendix - Appreciation ----------------------- Thanks to: Astrocade - All feedback and for making this interesting Discussion Group Bob Colbert - For working on the design of 'ASTROWAV' Brett Bilbrey/ - Donating 'ICBM Attack' and 'Treasure Cove' cartridges Spectre Systems into the public domain Glenn Saunders - Keeping his eyes open in the Bally and VCS community - Typing for the 'Nutting Manual Project' Lance Squire - Writing the original version of the Astrocade FAQ - Typing for the 'Nutting Manual Project' - Continued support with Astrocade projects Michael White - Astrocade documents - Astrocade ROMs - History and perspectives of Astrocade and Bally from hard-core fan/user/programmer perspective - Phone conversations - Inspiration (those talks on the phone can be like a mini-course) - Writing cartridge lists, hardware compilations, and more Raymond Carlsen - Creating the "Heatsink" article. His C-64 FAQ is directly applicable to the Astrocade. Robert Fabris - Editor of the Arcadian newsletter - Permission to post all back issues to Bally Alley Rob Mitchell - Co-editing FAQ (2.x - 3.0) - Sending all issues of Cursor (and more) for archival - Typing for the 'Nutting Manual Project' - Lending cart for archival Tom Defanti - Sending four envelopes of Z-Grass Information Ward Shrake - Creating the Bally Astrocade Multicart http://www.ballyalley.com/documentation/multicarts/... multicart_(shrake)/multicart_(shrake).html - Multicart FAQ: http://www.ballyalley.com/documentation/multicarts/... multicart_(shrake)/docs_html/multifaq.htm - Astrocade ROM Archival - Writing 'Notes on Removing Cartridge Labels' - Writing 'Notes Regarding Cart Case Repairs' - Writing 'Notes on Getting Dead Carts to Work' - Writing "How to Repair Bent and Broken Legs on Computer Chips" - Countless other reasons, among which are rides to two SC3 meetings that are hard to forget (with good reason) - Finding and posting relevant hardware information that, though not Astrocade specific, is very useful to Astrocade owners. William J. Culver- Writing Bally Astrocade Repair Procedures #1 People of Note: Bob Ogdon - Programmed 'Bally Pin,' 'Brickyard/Clowns,' 'Incredible Wizard,' and 'Football.' Brett Bilbrey - For writing the three voice music routine, the only 256 color game. Dave Nutting - Dave Nutting Associates (designed the Astrocade for Bally) - Wrote 'Handbook of Hardware & Software, also known as the 'Nutting manual.' George Moses - For continuously poking around with the Bally's sound chip - Writing various music makers & other programs for the Basic enthusiasts. Jay Fenton - Creator of the Bally BASIC cartridge. - http://www.fentonia.com/bio/ Scot Norris - Credited with most of the music & sound effects on various cartridges. E) Appendix - Closing ------------------ All of the information in this FAQ is as accurate as possible. If there are any errors, omissions or anything else of note that belongs here, then please let us know so we can expand and enhance this FAQ.