General Handle Description The reason the SPECTRE Handle was created was to provide the Bally Arcade with a true joystick input device. Since this required the use of two handle ports, we also had available 5 switch contacts per port. So we used the 10 switches to add a keypad. As an extra, we added the pinball buttons, (which duplicate the #5 and #0 keys). To get the joystick to correspond to a left to right movement from the KN(X) function in your programs you will need to used a negative sign. This was done so that the handle will work with the absolute machine addressing. The accuracy of the joystick is +/- 2 pixels. This is because of the way the Bally decodes analog to digital signals and must be dealt with using software debouncing. We have found that some cartridges can use the SPECTRE Handle. For example it was designed to work with Bally Pin by using the two pinball buttons for the flipper, and the #7 key of the keypad to launch the ball. You can just pass the handle to the next player when it is their turn. By experimentation you can see if the SPECTRE Handle will work with the other cartridges you have. Page 1 ------------------------------------------------------------ The SPECTRE Handle is a new, versatile control handle to be used with the Bally or Astro Arcade. It provides an X-Y analog joystick, an 11-key keypad, and two pinball style flipper buttons. All these functions are accessible from BASIC or machine language programs, as well as the cartridge programs. The SPECTRE Handle uses two standard handle cords, which plug into two handle inputs on the Arcade. The handle inputs you use depends on the program you are running, and should be specified in that program's documentation. For the enclosed examples, use input one for the right cord, and input two for the left cord (looking at the Handle from the back). A maximum of two SPECTRE handles may be plugged into the arcade at one time. In order to utilize the Handle in your basic programs, the following inputs are provided if the Handle is plugged in as above. SPECTRE Handle Values BASIC Value X Joystick Value KN(1)= -128 to 127 Y Joystick Value KN(2)= -128 to 127 Left Button Value TR(1)= 1 Right Button Value TR(2)= 1 Keypad - 0 TR(2)= 1 Keypad - 1 JX(2)= -1 Keypad - 2 JY(1)= -1 keypad - 3 JY(2)= -1 Keypad - 4 JX(1)= -1 Keypad - 5 TR(1)= 1 Keypad - 6 JX(1)= 1 Keypad - 7 JY(2)= 1 Keypad - 8 JY(1)= 1 Keypad - 9 JX(2)= 1 Keypad - S Future Expansion Port access Value &(28)= 0 to 255 &(29)= 0 to 255 All functions with a (1) [handle port #1] after them are mapped to port &(16) All functions with a (2) [handle port #2] after them are mapped to port &(17) Byte - 128 64 32 16 8 4 2 1 T R L D U [T = Trigger, R = Joystick pushed right, L = Joystick pushed left, D = Joystick pulled backwards, U = Joystick pushed forward] The value for the port depends on which bits are set in the byte. The switch banks return a one-byte value which can be stored directly in a variable. The bits set by the switches determine the value returned. When using port values to determine switch settings you must look at the bits that are set in the byte returned. EXAMPLE 1 - [A = &(16)]: if &(16) equals 18 this would mean the trigger is pulled and the joystick is pulled back for handle port #1. i.e. Trigger(T) = 16 and the joystick is pulled back. (D) = 2 : 16 + 2 = 18 and therefore the variable A will equal 18. EXAMPLE 2 - If you let variable B= &(17) and &(17) equals 10, then this would mean that handle port #2 would give this value if handle #2 had the Joystick pushed to the right(R) and pulled backward(D) at the same time, i.e. 8+2=10. Keys 8, 2, 4, 6, 5, are the up, down, left, right, and trigger functions of the Bally handle #1. Keys 7, 3, 1, 9, 6, are the up, down, left, right, and trigger functions of the Bally handle #2. Page 2 ------------------------------------------------------------ Maintenance Maintenance - The SPECTRE Handle was designed to require a minimum of user maintenance. It may be required that with time the pinball button contacts will need to be cleaned. When you need to clean the contacts, remove the four corner screws, and carefully lift the lid, (DO NOT PULL ON THE WIRES). On both sides you will see the pinball housings holding the leaf contact switches. Where the leaf switches make contact you will see small copper rivets. By using fine sandpaper or a fingernail emery board, gently clean the oxidation off these contacts. Be careful not to bend the leaf contacts. If you do bend a leaf contact, use a pair of needle nose pliers to carefully straighten it. It may also be necessary to clean the joystick potentiometers. This may be done by spraying contact cleaner into the potentiometers. Make sure that the contact cleaner you use is safe for cleaning potentiometers, and that you follow the directions to prevent damage to the joystick The keypad should not require any maintenance. If you have questions or problems please contact. Brett Bilbrey 14430 Barclay Dearborn, MI 48126 (313) 582-6721 Please write. If you must call, this is my home phone and I can't guarantee that you will reach me if you call. Page 3 ------------------------------------------------------------ Program Documentation We have provided some simple programs with the handle to help show its operations. 'Animated Box' - This simple short program shows how the joystick can be used with the Bally Basic graphic commands to produce effects not achievable with the normal Ball handle. Move the joystick around to see a box vary in size on the screen. 'Get the Box' - This program is to help you to adapt to using the joystick. You will be asked for a difficulty level; 1 is the hardest with larger numbers being easier (use values less than 15). Use the Arcade keypad to enter values. The object will be to move the blinkinq dot (representing where the joystick is) to hit the solid box. The faster you can hit the boxes, the lower and better your score. You will see your score after you have hit 20 boxes. To start, press the left button and be ready to move the blinking box with the joystick. After you have seen your score, press any key on the Arcade keypad to start again. 'Keypad Game' - This is a simple program to show you how to use the port values to access the SPECTRE keypad. It compares what key is pressed to what square is selected. Press the left button to start and be ready to press the key that corresponds to the square with a box in it. The scoring is similar to 'Get the Box.' The lower the score the better. These are simple programs to help you understand how to use the handle for your own programs. Page 4 ------------------------------------------------------------ [The three programs listed on this page have been typed in from the original documentation, but there may be errors. It is recommended that these programs be typed in from the original scanned pdf documentation that is available on Ballyalley.com] Animated Box ------------ 1 CLEAR 10 A=ABS(KN(1)/2);B=ABS(KN(2)/3) 20 BOX 0,0,C,D,2; BOX 0,0,A,B,1 30 C=A;D=B 40 GOTO 10 Get the Box ----------- 10 CLEAR;INPUT "DIFFICULTY"D;CLEAR; S=0 15 IF TR(1)=0 GOTO 15 20 FOR I= 1 TO 20;CX=-80;CY=40;PRINT #0,I;X=RND(120)-60; Y=RND(70)-35;BOX X,Y,0,0,1 30 A= -KN(1)/2;B= KN(2)/3 10 BOX P,Q,1,1,2;BOX A,B,1,1,1;S=S+1 50 P=A;Q=B 60 IF ABS(A-X)