.The official Csa2 (comp.sys.apple2) Usenet newsgroup Apple II FAQs
  originate from the II Computing Apple II site,1997-2017.
  Csa2 FAQs text file ref. Csa2KBPADJS.txt  rev225 December 2016

      Input Devices.  ......

 001- How do I do the Shift Key Mod?
 002- What's a "VIDEX" board?
 003- I need a GS ADB keyboard cable! Where can I get one?
 004- How can I make a PC-to-Apple Joystick converter?
 005- How can I do an Apple-to-PC Joystick conversion?
 006- What are the dip-switch settings for the "BITMOUSE" card?
 007- How can I switch my IIe keyboard layout to Dvorak?
 008- What keyboards work as replacements for a GS keyboard?
 009- What is a Koala Pad and how do I test it?
 010- Can I convert a C-64 Koala Pad to work on my Apple II?
 011- How do I make the internal cable for a IIe numeric keypad?
 012- Is there a cable or card which lets you connect two joysticks?
 013- How do I write programs for the Apple Graphics Tablet?
 014- Why does my II+ KB act like the CTRL key is always pressed?
 015- Can I replace my bad IIe keyboard with one from another IIe?
 016- Why does my IIe keyboard keep repeating characters?
 017- How do I read the joystick on a GS in native mode?
 018- Is a Y-adapter available for my GS keyboard?
 019- How do you use the Kensington TurboMouse with a IIgs?
 020- How do I clean my mouse?
 021- What is the best kind of mouse pad?
 022- How do I clean my keyboard?
 023- Is there a fix for a bad trigger on my Flight Stick?
 024- How can I improve the feel of my original (beige-key) IIc KB?
 025- Can I replace my broken GS mouse with one from a Mac?
 026- What is the pinout for the IIe, //c, and similar 9-pin mouses?
 027- How do I write programs which use the mouse?
 028- How can I replace a bad keyboard encoder IC on my IIe?
 029- Can I use an Apple III joystick on my Apple II?
 030- How can I be sure my joystick is properly adjusted?
 031- How can I play joystick games on an emulator?
 032- How do I fix a "stuttering" IIgs? (IIgs keyboard fix)
 033- How can I use a PC mouse on my Apple II?

From: Steve Jensen

001- How do I do the Shift Key Mod?

Here's info from my files on the 'shift key mod':

The one wire shiftkey mod is the oldest and simplest fix that can be made to
the Apple II to get true upper and lower case operations with the shift key.
Most good word processors have input routines that check the PB2 input on the
game I/O port to determine if the shift key is being pressed.  Some programs
that have these routines are Wordstar, Write-on, Apple Pascal 1.1 and many
others. Follow the steps below to install the shift key mod.

1 mini-grabbette clip (Radio Shack PN 270-370)
1 15 in. piece of small guage wire
1 16 pin socket

1) Solder one end of the wire to the mini-grabbette clip.

2) Solder the other end of the wire to pin 4 of the 16 pin socket as close to
the body of the socket as possible.

3) Turn the Apple II off and remove the cover.

4) Remove anything plugged into the game I/O socket.

5) Attach the mini-grabbette clip to pin 24 of the keyboard encoder connector.
This connector is located inside the Apple II directly beneath the RESET key.
Pin 1 is nearest the power supply and pin 25 is nearest the right edge of the
Apple II. Use the grabbette clip to attach to the standoff _pin 24_ (second
from the end).

6) Lead the other end of the wire with socket attached along the right edge of
the motherboard and plug it into the game I/O port. Be careful to plug pin 1 to
pin 1 when putting this socket in. Pin 1 of the game I/O port is towards the
front of the computer.

7) Replace the cover and start using lower case characters.


From: Paul Creager

002- I opened an Apple II+ the other day found that there was a
     board labeled "VIDEX" tacked under the keyboard. What's a
    "VIDEX" board?

     The official name is the Videx Keyboard Enhancer.  It replaces Apple's
keyboard encoder board underneath the keyboard.  Besides providing true U/L
capability (with the Shift Key), it had a small (10-20 character) buffer and
supported programmable macro keys.

     I had one on my ][+.  I remember a couple of wires had to be run to the
motherboard.  One enabled true Shift key usage.  The other I can't remember.
If you don't have a wire running to an IC on the motherboard, that explains why
your Shift key isn't working.  It could very well be the same spot where the
"traditional" Shift key mod is made.


From: Rubywand

003- I got a free IIGS but with no GS ADB keyboard cable!
     Where can I get one?

     Jack Somers and Supertimer report that ADB cables which will work fine are
available at low prices from stores which carry Mac supplies.

     An alternative is to get an SVideo cable from your nearest video/audio
electronics store. Although these cables have no external shield, all four ADB
lines are connected. I tried one on our GS and it worked fine. One thing: the
absence of an external shield may produce extra TV/Radio interference.


Related FAQs Resource: R029PCA2XRF.GIF (gif pic file)
Related FAQs Resource: R030PCA2RF.GIF (gif pic file)

004- How can I make a PC-to-Apple Joystick converter?

     If you are looking for the best stick at the best price for your Apple II,
building a simple PC-to-Apple2 joystick converter is the way to go. Practically
every computer stuff store carries PC sticks and you will have a wide selection
of brands and models from which to choose.

Note: The converter detailed here will not work with "auto-fire" circuits included
in some PC joysticks. If you use an auto-fire stick with this converter, "auto-fire"
should be switched Off.

For a modified design which supports both auto-fire and non auto-fire operation
see FAQs Resource R030PCA2RF.GIF.

     My PC stick is a standard CH Products "FlightStick". A resistance
measurement produced a disconcerting revelation: the X and Y pots top-out
around 100k Ohms-- 50k less than a standard Apple II stick! Fortunately, you
can compensate for the difference just fine by adding a bit of capacitance. The
finished converter is shown below:

  To PC Stick               To Apple II        Or to 16-pin IC plug
  15-pin Dsub               9-pin Dsub         ribbon cable to
  female connector          male connector     internal Game socket

      [1] [4] and [5] ----------[2]  +5V           [ 1]
      [2] ----------------------[7]  Button 0      [ 2]
      [3] ----------------------[5]  X-axis        [ 6]
      [6] ----------------------[8]  Y-axis        [10]
      [7] ----------------------[1]  Button 1      [ 3]
                                [3]  Ground        [ 8]

On the Apple II side ...           9-Pin          16-Pin

  add 680 Ohm resistor between   [7] & [3]      [ 2] & [ 8]

  add 680 Ohm resistor between   [1] & [3]      [ 3] & [ 8]

  add .01 uF cap* between        [5] & [3]      [ 6] & [ 8]
    Optional: for fine-tuning,
    add a 500k trim pot
    in series with the cap.

  add .01 uF cap* between        [8] & [3]      [10] & [ 8]
    Optional: for fine-tuning,
    add a 500k trim pot
    in series with the cap.

*Note: The Capacitors compensate for smaller R range of PC sticks.
 The C values are approximate. There is some variation in the
 built-in capacitance for each Apple II and a ".01 uF" cap may be
 off by 20% or more.

 For standard 100k Ohm PC sticks, picking a ".01 uF" cap pretty
 well guarantees you will be able to cover the full Apple II
 X and Y range (0-255). To make sure and to get a wide active
 swing, it's a good idea to use clips to attach caps and check
 performance using the program below.

 A pictorial 'diagram' of this converter is available. For the
 pictorial, see FAQs Resource R029PCA2XRF.GIF.

     For checking and adjusting stick performance on your Apple II, use a program
which continuously reads and displays X and Y stick values. The program below
does this and displays "B0" when Button 0 is pushed and "B1" when Button 1 is
pushed. Do a CTRL-C to exit.

20 PRINT "X= "; PDL(0); TAB(15); "Y= ";PDL(1); TAB(30);
30 IF PEEK(49249)>127 THEN PRINT "  B0";
40 IF PEEK(49250)>127 THEN PRINT "  B1";

Note: If your Apple II uses an accelerator chip or board, make
 sure that it "slows down" for joystick accesses or just set
 Speed to "Normal" (1MHz).

     Most likely, after X and Y centering is set (around 128) you will find
that the a stick tops-out too early in the X-max and/or Y-max direction. For
best control precision, what you want is for extreme values to occur near the
extremes of stick movement:

X (horizontal)  Left= 0   Right= 255
Y (vertical)      Up= 0    Down= 255

This way, you have lots of active swing which makes graphics
work and playing most games much easier.

     If you included the trim pots in your converter, adjusting for maximum
active swing will be easy so long as you can get to the max 255 values
with the pots at lowest resistance. (Increasing the resistance acts like
lowering the value of the connected capacitor.)  If your converter does not
include the trim pots, experiment with swapping in capacitance values
between .002 uF and .01 uF to get the best control 'spread'.

     The converter I built fit inside heat-shrink tubing. Putting it in a small
plastic box may be better. You could mount the trim pots (and/or switches
with fixed "trim resistors") and select between settings for a 'Fast', short
swing, 'hot' Game Stick and a 'Normal', full swing 'cool' Game/Graphics Stick.


005- I have a great Apple II joystick I'd like to use on my PC.
     How can I do an Apple-to-PC Joystick conversion?

     If you've compared the pinouts and info for Apple II and PC joysticks,
then you know there are some important differences:

The Apple II stick uses a 9-pin plug vs. the PC's 15-pin plug. (Older Apple II
sticks may use a 16-pin plug which fits in an IC socket.)

The Apple II stick's X, Y controller potentiometers are a bit larger.

The buttons are wired differently.

     You can use an Apple-to-PC adapter (such as the one supplied with the Epyx
A2/PC joystick) to handle plug conversion; or, you can replace the entire cable
with one from an old PC stick.

     The PC's joystick interface will work with the Apple2 150k pots; but, in
some applications, you may notice a tendency to max out early in the stick
swing. You can correct this by connecting a 300k resistor across each pot (from
the center to the end with a wire going to it).

     The difference in button wiring is the main reason an Apple-to-PC
conversion involves opening the joystick and making changes. (The Apple stick
has a slightly more complex, less flexible circuit. Apple2-to-PC is not as easy
as PC-to-Apple2.)

     Basically, you need to change the Apple stick's button wiring so that it
looks like the PC stick's button wiring.

     The mods mentioned above are not difficult, especially if you swap in a PC
cable. If you want to be able to use the stick on an Apple II, then some kind
of switching will be required.

         Apple II Joystick
     (9-pin male connector)         (Old 16-pin IC-style plug)

         [2]---------------  +5V            ------- 1
         [7]---------------  Button 0       ------- 2
         [5]---------------  X-axis         ------- 6
         [8]---------------  Y-axis         ------- 10
         [1]---------------  Button 1       ------- 3
         [3]---------------  Ground         ------  8

         PC Joystick
     (15-pin male connector)

         [1]---------------  +5V
         [2] -------------- Button 0
         [3] -------------- X-axis
         [6] -------------- Y-axis
         [7] -------------- Button 1
         [4] and/or [5] --- Ground

     Both sticks tie one end of each X, Y potentiometer to +5 and send the
center (wiper)  to the an output.  (Or the wiper may go to +5V and an end to
the output; it doesn't much matter.)  The standard Apple II pot is 150K Ohms;
most PC sticks use 100k Ohm pots.

     The buttons are wired differently.

     On the Apple II stick (see below), each button switch goes to +5V. The
other end goes to GND through a resistor (one resistor for each button).  A
button's Output is from the junction of the switch and its resistor. When the
button switch is not closed, its Output is near 0V (=logic 0).  Pressing a
button sends +5V to the output (= logic 1).

X Button Switch
|_____Button output to Apple (Press => "1")
Z 680 Ohm resistor

     As shown below, a PC stick button Output is normally an unconnected wire.
Most likely, inside the computer, a PC or compatible Game Port has this line
tied to a 1k-3k resistor going to +5V. So, the line will normally be at
something close to +5V (= logic 1).  Pressing the button grounds the line and
pulls it down near to 0V (= logic 0).

_____Button output to PC (Press => "0")
X Button Switch

Apple2-to-PC Joystick Conversion: Step-by-Step


To convert an Apple2 joystick for PC use you will need a cable from an old PC
stick (or a 6-wire cable and 15-pin male connector). You can find junk PC
sticks with good cables at flea markets and lots of other places. You will also
need two 330k resistors.

1. First, open the Apple joystick case and mark each wire going to the cable.
The best way is to use small self-stick labels. Label each wire by function
(e.g. "+5", "X", "GND", etc.).

You can use an Ohm meter to, for example, verify that the wire you think is
Button 0 really goes to pin 7 on the Apple 9-pin connector (or pin 2 on the old
16-pin IC style connector). Pinouts for both kinds of A2 sticks are shown

Apple II Joystick
  (9-pin male)

  [2]---- +5V
  [7]---- Button 0
  [5]---- X-axis
  [8]---- Y-axis
  [1]---- Button 1
  [3]---- Ground

  Apple II Joystick
(16-pin IC-style plug)

  [1]---- +5V
  [2]---- Button 0
  [6]---- X-axis
  [10]--- Y-axis
  [3]---- Button 1
  [8]---- Ground

The +5V wire is easy to find. It will go to each pot and to one side of each
Button switch.

The Apple2 Ground wire goes to the 'bottom' end of each fixed resistor. You do
not need to label it; because it will be removed.

2. Once the wires are labeled, cut each about 1 inch from the point it goes
into the cable. Remove the cable. (Keep the cable; it may come in handy for
some later Apple2 project.)

Now, is the time to rewire the Buttons.

3. Remove (snip or unsolder) the two fixed resistors. If the Button 0 or Button
1 lead becomes disconnected from its switch during removal of a resistor,
reconnect the lead.

Check to see that, now, the Button 0 wire is the only one going to one side of
the Button 0 switch. The same goes for the Button 1 wire.

Snip off or unsolder the +5 leads going to the other side of each button switch
at the non-switch end. If a wire runs from one switch to the other, leave it
alone. If not, connect a wire from switch to switch. This is the "common" side
of the switches.

You want to end up with a single wire going to the common side of the switches
and separate Button 0 and Button 1 wires going to the other side:

____Button 0 wire
X B0 Switch
------- COMMON Wire
X B1 Switch
|____Button 1 wire

Label the COMMON wire as "GROUND"

4. The 330k resistors will help bring the outputs of the Apple2 X and Y 150k
Ohm pots closer to the 0-100k range PC prefers. Connect a 330k resistor
'across' each pot-- i.e. from the center post to the post going to a +5 lead.

5. Label each of the leads coming from the PC cable. If it is still connected
to a joystick, the following pic will help identify each lead:

         PC Joystick
     (15-pin male connector)

         [1]---------------  +5V
         [2] -------------- Button 0
         [3] -------------- X-axis
         [6] -------------- Y-axis
         [7] -------------- Button 1
         [4] and [5] ------ Ground

If the cable is still connected, snip the the leads once they are all labeled.
If both Ground ([4] and [5]) leads are present, twist them together and treat
like a single Ground lead.


6. You have six labeled wires in the Apple2 joystick case: +5, GROUND, B0, B1,
X, and Y. The same six leads are labeled on the PC cable. Splice each Apple2
wire to the corresponding PC cable wire. Use heat-shrinkable tubing to cover
each connection.

7. Seat the new cable in the joystick case, arrange leads to avoid mounting
posts, etc., and close up the case. Viola!


If you have an Ohm meter here are some checks you can do:

X (Horizontal) Check- check R between cable pins 1 and 3. As you move stick
left to right R should go from 0 to about 100k.

Y (Vertical) Check- check R between cable pins 1 and 6. As you move stick up to
down R should go from 0 to about 100k.

Button 0 Check- (Button 0 is the main, "Fire" button.)  cable pins 2 and 4 or
5. It should be very high and go to 0 when Button 0 is pressed.

Button 1 Check- check R between cable pins 7 and 4 or 5. It should be very high
and go to 0 when Button 1 is pressed.


Plug in the stick and try it with a game.

Some games (such as Elite Plus) will claim no joystick is present if the stick
is badly out of adjustment. If this happens, try the stick on a game which is
less picky and includes pre-play stick adjustment.

Once adjusted, your 'new' stick should work fine with all PC wares.


From: Alberto Roffe

006- Can someone tell me the dip-switch settings for the
    "BITMOUSE" card by Sequential Systems?

 The following comes from the BitMouse card manual, which I have installed
in my //e:

Switch 1- This switch controls mouse tracking sensitivity

OFF: Slow
ON:  Fast

Switch 4- CPU speed

OFF: 1 to 4 MHz
ON:  5+ MHz

Switches 2&3 currently have no function.


From: David E A Wilson

007- How can I switch my IIe keyboard layout to Dvorak?

There are a number of ways to set the NTSC //e keyboard to Dvorak.

1)   If you have a Rev A motherboard cut X1 and join X2. This will allow
AN2 to control the keyboard layout (default will be Dvorak).

2)   If you have a Rev B motherboard and want AN2 to control the keyboard
layout cut X2 and solder a short wire between the back half of X2 and the back
half of X3 (do not join X3).

3)   Obtain a 24 pin IC socket. Solder 3 fine wires to pins 12, 19 and 24.
Solder the other ends to a SPDT switch (pin 19 to the centre/common terminal).
Remove the keyboard ROM, insert the switch+socket and then insert the keyboard
ROM. Cut X1 (if Rev A) or X2 (if Rev B) to isolate pin 19. Mount the switch
somewhere convenient.

All the above was taken from "Understanding the Apple IIe" by Jim Sather.
I recommend it to you.


From: Bradley P. Von Haden, Supertimer, Chippy

008- My stock GS keyboard has been acting flaky; and, now
     I'm looking for a GS keyboard replacement.
     What's available?

Work with an Apple IIgs

Apple ADB Keyboards I and II
AppleDesign Keyboard (approx. price: $85)
Apple Extended Keyboard (original)
Apple Extended Keyboard II (approx. price: $155)
Adesso 105 Extended Keyboard (approx. price: $80)
Adesso 102 Extended Keyboard w/ Trackball [Trackball does NOT work]
     (approx. price: $100)
AlphaSmart Pro ADB keyboard  (approx. price: $270 )
AlphaSmart 2000-3000 (approx. price: $200-$230)
Arriva Extended (approx. price: $40)
Datadesk Lil'BigBoard (approx. price: $60)
Interex Mac-105A Extended (approx. price: $55)
Key Tronic MacPro Plus (approx. price: $130)
OptiMac Extended Keyboard
PowerUser 105E Extended Keyboard (approx. price: $60)
SIIG, Inc MacTouch Model 1905 (approx. price: $100.00)
SIIG, TrueTouch [ROM 03 only]
Sun OmniMac Ultra [extended, ADB type]
Suntouch ADB Extended Keyboard (approx. price: $75)
VividKey Extended Keyboard (approx. price: $60)

Do not work with an Apple IIgs

Apple Adjustable Keyboard
MacALLY Peripherals Extended Keyboard
MicroSpeed Keyboard Deluxe MAC


From: Rubywand

009- What is a Koala Pad and how do I test it?

     The Koala Pad is drawing pad peripheral. It 'looks like' a two-button
joystick to your Apple II. So, any software which accepts joystick input can
use the pad. This includes the paint program originally included with the pad
(the "Koala Micro-Illustrator"), "Blazing Paddles", "Dazzle Draw", "816 Paint",
and many other programs.

     The Koala Pad has the old 16-pin game plug. It is supposed to be plugged
into the Old Game Port socket. This is an 'IC socket' near the back right side
of the Apple II (II+, IIe, IIgs) motherboard.  The cable end should be facing
toward the back.

     It's a good idea to get a 9-pin plug -to- 16-pin socket converter cable so
that the pad can be plugged into the newer, external, 9-pin Game Port. This
makes it much easier to unplug the pad when you want to swap-in a joystick for
games. The converter cable is not hard to build; or, you may find one at a swap

     You can test your KoalaPad using software which checks joysticks. For
example, touching the stylus to the upper left corner outputs X,Y readings
close to 0,0; touching the stylus to the lower right corner outputs X,Y
readings of 255,255. Near the center of the pad, the output is about 130,130.

     Some indication of shrinkage or stretching on the pad seems to be normal.
Our pad does not present a 'slate flat' look either; but, it works fine. Before
deciding that your pad is defective, try it out on a joystick checker program.
If you are using some kind of accelerator on your Apple ][, be sure to set
speed to 1MHz.

     Similarly, you can check your software by substituting a joystick for the


010- I have a Koala Pad with a 9-pin DIN female plug. I guess it's
     a C-64 model. Can I convert a C-64 Koala Pad to work on my
     Apple II?

     Since the standard Commodore-64 9-pin DIN port is male, it looks like your
Koala Pad (with a female plug) is, indeed, intended to work on a C-64, VIC-20,
etc. machine.

     As to whether or not the C-64 Koala Pad can be used on an Apple II, it
looks like, probably, it can, if you can find or build an adapter. This is,
really, a guess. It is based upon the capabilities of the C-64 Game port, time
constant capacitor values used in the C-64, and the probability that Koala
Pad's makers would not wish to make major design changes between Apple and C-64

     Although C-64 joysticks are of the simple "switcher" type which connect to
Game port switch inputs, the C-64 Game port also includes X and Y analog
"paddle" inputs. These are at pin 9 (X) and pin 5 (Y).

     The C-64 manual does not ever seem to specify an optimal max R value for
the pots connected to these inputs; but, the capacitor part of the expected R/C
circuit is 1000 pF in each case and the caps go to ground just as they do in
the Apple II.

     In short, the C-64 "paddle" inputs look very much like the Apple II
joystick inputs. A _try_ at an adapter would look something like the following

To C-64 Koala Pad    To Apple II Game Port
 (9-pin male DIN)      (9-pin male DIN)

        1 ?
        2 ?   2nd Button -> 1
        3 ?
        4 ?
        5 <-  PDL1 (Y)   -> 8
        6 <- main button -> 7
        7 <-  +5V line   -> 2
        8 <-    GND      -> 3
        9 <-  PDL0 (X)   -> 5

     The above assumes that the C-64 Koala Pad will use C-64's "Fire Button"
input for its main button. The second button would, then, connect to one of the
four joystick switch inputs. (Actually, since all of the switch inputs,
including the Fire Button, are just inputs to a port IC, any two may be the
ones used to handle Koala Pad's buttons.)

     It should be possible to detect the button lines on the Koala Pad
connector using an Ohm meter (on R x 100 range) with one lead connected to the
GND pin (pin 8) and using the other lead to check pins 1, 2, 3, 4, and 6. A
button lead similar to one on an Apple II should show up as a 500-700 Ohm

     Again, we are dealing with guesses. If you decide to try making a
converter, be sure to post what you discover. Good luck!


From: Mark Wade

011- Does anyone have the pin-to-pin mapping that would allow me
     to construct a suitable internal cable for a IIe numeric

You need a female Dsub-15 to 11 pin female header.  If the female Dsub-15 is
numbered like this:

\                                        /
 \  8   7    6    5    4    3    2   1  /
  \  15   14   13   12   11   10   9   /

And the 11 pin header is numbered like this:

|                                     |
|  11  10  9  8  7  6  5  4  3  2  1  |


DB-15     |     Header

 12               11
 11               10
 10                9
  9                8
 NC                7
  7                6
  6                5
  5                4
  3                3
  2                2
  1                1

The header is as viewed on the motherboard.  The DB-15 is the female connector
that you would plug the keypad into.


From: Rubywand

012- Is there some cable or card which lets a II user connect
     two joysticks?

     Yes. One is Paddle-Adapple from Southern California Research Group. It is
a small external card  with sockets for the joysticks. A ribbon cable runs into
the Apple II and plugs into the 16-pin Game socket.

     As noted in the "for Apple II, //e, & Franklin" model's data sheet,
Paddle-Adapple lets you switch between two sticks; or, with the switch set to
"A" plus proper jumper settings, you can access two two-button sticks. The
jumpers also allow programming the card for different X-Y and button


From: Oliver Schmidt and Guillaume Tello

013- How do I write programs for the Apple Graphics Tablet?

     The Apple Graphics Tablet I know of is rather large and heavy; its pen is
attached to it with a (too short) cable; it makes funny sounds that change when
the pen is moved in/out the reach of of the tablet.

     A long time ago I patched a few programs to make use of this tablet. To make
it clear in the first place - I don't have these patched versions available
anymore :-(. But I found a listing from which I can tell you this:

     To detect the interface card, I looped over all slots to check in its firmware

$B0 at location $Cx01 and

$20 at location $Cx09

x being the slot number. I never found this 'signature' in any other firmware.

     To check for the pen position one has to poll the tablet (again x being the
slot number):

LDA $CFFF ; switch off all extension ROMS

LDA $Cx00 ; switch on the extension ROM of the tablet

LDA #$Cx

STA $07F8 ; initialize some hidden text screen data area for the
            tablet firmware

JSR $CBB9 ; call well known location ;-) in tablet firmware

     When the pen is in reach of the tablet (up or down) this routine will return
immediately. Else it will block - fortunately, the routine checks the keyboard
strobe ($C010) too and will also return if a key is pressed, even if the pen
remains out of tablet's reach.

     After the routine has returned one can get the information:

$0280 pen state:

    bit 0 = 0 Pen down, bit 0 = 1 Pen up
    bit 1 = Previous pen state
    bit 4 = 0 Pen has been localized, its state and positions are valid.
    bit 4 = 1 Pen out of reach but key pressed and then X=Y=0

$0281 Low byte of X pen position
$0282 High byte of X pen position

$0283 Low byte of Y pen position
$0284 High byte of Y pen position

     X and Y have 13 bits resolution from 0 to 8191. Using my Apple Tablet, I
get values from 300 to 6350 and the bounds are not reached.


From: Rubywand

014- My ][+ keyboard acts like the CTRL key is always pressed
     when it isn't. (Press 'G' get beep....press 'M' get CR, etc..)
     Is there a way to fix this problem?

     Are you sure that your CTRL key is not stuck? Try diddling the key. You
can, also, pull the keytop and shaft and see whether (carefully) lifting out
the small crossbar wire makes any difference. (If it does, a squirt of Radio
Shack Control Cleaner into the switch and a wipe with a cotton swab may de-gunk
things and help restore normal functioning.)

     Another possible source of the problem is a KB Controller IC pin making
poor contact with the line coming from the CTRL key circuit. (Try removing and
re-socketing the KB IC.)

     U1, a 7400 quad nand gate IC, could have gone bad or be making poor
contact at some pins. This could result in an 'always-pressed CTRL key' signal
at pin 11.

     When the CTRL key is not pressed, pins 12 and 13 of U1 (connected to the
CTRL key switch) should be at nearly 5V and pin 11 (which goes to pin 19 of the
KB Controller IC) should be at logic "0" (roughly 0V - 0.25V).

     If U1 pins 12 and 13 are at 0V (or very close) when the CTRL key is not
pressed, your CTRL key switch is, probably, stuck.

     If U1 pins 12 and 13 are at/near 5V and pin 11 is not near 0V, U1 is
probably bad or making poor contact at some pins.

     If U1 pin 11 is near 0V and pin 19 of the KB Controller IC is not, then,
there is either a break in the line connecting the pins or one or both IC's are
making poor socket contact.

     If pin 19 of the KB Controller IC is near 0V when the CTRL key is not
pressed and near 4-5V when the CTRL key is pressed, then, if you still have
'stuck CTRL key' symptoms, there is a good chance that the KB Controller IC is
messed up.

Note: all of this assumes that your KB is like the one diagrammed in the Apple
][ Reference Manual on page 101.


From: Owen Aaland

015- Can I replace my bombed IIe keyboard with one from another IIe?

     All four styles of the early keyboards are interchangeable. The first
production machines have the keyboard mounted to the base pan while later ones
are mounted to the underside of the top of the case. The mounting holes for all
the keyboards except the platinum models are located the same.


From: Bruce R. Baker

016- At my school we have a IIe that has some problem with its
     keyboard. When you push a key it keeps on repeating until
     you push another, which also repeats. Is there a cheap easy
     way to fix this?

     My experience is that this is more simple than it looks. You have one
stuck key. It is stuck down. Have you opened the machine and moved the
keyboard? If so you may have replaced it wrong, it is rubbing on one of the
edges. The key that is stuck is next to the edge.

     If this does not apply to you, often pressing all of the keys until it
stops (because by pressing on the right key, it comes unstuck) will work.


From: Dave Althoff

     My first suspicion is a stuck key, and if this is a beige ][e, the first
place I'd look is the [`/~] key, adjacent to the power light.


From: Owen Aaland

     The escape is a likely key for this as it is located where it can easily
contact the case but does not exhibit any problems until another key is pressed
and then that key will repeat.


 From: Rubywand

     If the KB Encoder IC or the IOU IC is loose or has pins making poor
contact, you could get the symptoms described.

     Open the case and locate the KB Encoder (a big, 40-pin IC on the right
side of the motherboard just to the right of three ROMs). Use a small,
thin-blade screwdriver to scootch up the IC. (You want to get some lifting for
all pins, even if you end up just removing the IC.) Press the IC back into the

     Do the same with the IOU (a big, 40-pin IC just to the left of the three

     The idea of lifting up and re-socketing each IC is to let the socket
contacts scrape a fresh connection with each pin on the IC.


From: tgeer@pro-gumbo.cts.com (System Administrator)

017- A while ago someone posted about how to read the joystick on
     a GS in native mode. They said that it was possible to read
     both paddles at once and therefore get much more accurate

Only the high bit of these locations is valid.  When the high bit of either
location becomes 0 then the corresponding analog input has timed out.

You will actually get more accurate results by reading them one after the other
with the accumulator set to 8 bits wide and the index registers used to hold
the counts (16 bits wide).  This allows for a much faster loop, giving better
resolution.  Assuming that this routine is called from full native mode, the
following code will do the trick:

strobe   equ   $C070       ; analog input timing reset
pdl0     equ   $C064       ; analog input 0
pdl1     equ   $C065       ; analog input 1

start    php               ; save processor status register
         phb               ; and data bank register
         sep   #%100000    ; make accumulator 8 bits wide
         lda   #0          ; make data bank = 0
         ldx   #0          ; initialize the counters
         lda   strobe      ; strobe the timing reset
loop1    inx               ; increment pdl0 count
         lda   pdl0        ; is high bit = 0?
         bmi   loop1       ; no, keep checking
         lda   strobe      ; yes, strobe the timing reset again
loop2    iny               ; increment pdl1 counter
         lda   pdl1        ; is high bit = 0?
         bmi   loop2       ; no, keep checking
         plb               ; yes, restore data bank
         plp               ; and processor status register
         rts               ; return to caller (could be RTL)

Notice that the actual counting loops are only 9 cycles long.  This gives the
best possible resolution.  You will need your counters to be 16 bits wide as
the results will easily overflow the capacity of an 8 bit counter.

Using memory locations as counters will only serve to slow the counting loop
down. If X and Y contain valid data before entry, you will need to save them
off to the stack and pull them back in after interpreting the joystick results.
I have used this exact method to read the analog inputs on my Science Toolkit
box which connects to the joystick port.

The results have been extremely accurate (much more than would be needed for a
game which reads the joystick).


From: Dan DeMaggio

018- Is a Y-adapter available for my GS keyboard?

     Yes. Redmond Cable has an ADB Y-connector cable for separating your mouse
from the side of your keyboard.


From: Mark Wade

019- How do you use the Kensington TurboMouse with a IIgs?

The Version 3.0 Kensington TurboMouse ADB works fine on a later model IIgs
(such as a mid-late 1987 true ROM-01 IIgs).  It will not work correctly on a
ROM-00 IIgs even after the standard ROM upgrade to ROM-01. The Version 4.x
TM will not work on any IIgs.

Dip switches:

Right handed use: (L but click, R but click lock) SW1 Up
Left handed use:  (R but click, L but click lock) SW1 Down

The other switches are for what they call "chording" and
are listed as:

            SW2  SW3  SW6
Command N   Dn   Dn   Up
Command O   Dn   Up   Dn
Command W   Dn   Up   Up
Command S   Up   Dn   Dn
Command P   Up   Dn   Up
Command Q   Up   Up   Dn
Command Z   Up   Up   Up


From: Rubywand

020- My mouse feels very bumpy. Everyone says it needs cleaning but
     when I look inside there is just a little dust and the rubber
     treads on the rollers look okay. So, how am I supposed to get
     my mouse any cleaner?

     It does sound like you have a gunked-up mouse. Rollers are whitish
plastic, black plastic, or metal-- they do not have treads. The "tread" is

     It is best to clean a mouse with the computer OFF. The main reason is
that, otherwise, it's hard to avoid unintended clicking on stuff that could
cause problems. There is no need to disconnect the mouse unless you want to
move to a better work area for the cleaning.

     First, get together a few supplies and tools:

A wooden desoldering stylus or flat-tipped plastic TV technician's tool is
handy for dislodging gunk. (Probably, a small jeweler's screwdriver is okay.
However, you do not want to scratch a roller.)

Small skinny long-nosed pliers are good for picking out globs of gunk
and dust.

Windex or some relatively safe spray cleaner.

Paper towels and a cotton swab.

     To open the mouse use fingernails to rotate the panel insert around the
ball opening on the bottom. The panel and ball should come out. Spritz the ball
and panel with cleaner (or put them in a glass with soap and water). Wipe dry.

     Dampen a paper towel with cleaner and wipe the outside case. With a
cleaner-dampened paper towel, clean the cord for at least a foot or so near the

     Look inside the mouse. You may see globs of dust and gunk. Remove these--
pick them out-- as best you can.

     Inside, there should be 3-4 rollers. If it's been a month or more since
the last cleaning each will probably look like it has a dark gray rubber tread.
Use the desoldering stylus, etc. or a fingernail to dislodge gunk on each

The best way to dislodge gunk is to push the 'tread' sidewise (kind of like
removing a tire) as you work your way around the roller. Use the skinny
long-nosed pliers to pick out strips of the 'tread' as it unpeels.

     Use a cleaner-dampened swab to finish cleaning each roller.

     Use the swap to wipe around and pick out any remaining dust or gunk,
replace the mouse ball, and rotate the plastic panel into place.

     One way to simplify mouse cleaning is regular timely use of an Ergotron
"Mouse Cleaner 360" or similar kit. The Ergotron kit includes a couple velcro
balls, cleaner, wipe cloth or shammy, and a mouse cleaner track pad. You squirt
cleaner on the proper size ball, stick it in your mouse, run it around in a
circular motion on the track pad, and finish up with a wipe using the cloth or

     Such kits do not seem to be much help in removing established gunk
'treads'. (Actually, the Ergotron might get the job done; but, it would take a
_lot_ of revolutions. It is easier to dislodge 'treads' by hand and use the
Ergotron to get rid of residue.)  Cleaning kits can avoid tread build-up if
used every week or so.


021- What is the best kind of mouse pad?

     The best mouse pads are cloth-covered 1/8" - 1/4" rubber foam. The cloth
should have a slightly prickly feel when brushed by your finger tips. Such pads
offer some resistance to mouse movement. This makes positioning easier and
helps reduce fatigue.

     The worst mouse pads are plastic or plastic coated. These usually offer
little resistance to movement and transfer hand oils, dust, and other gunk into
the mouse so rapidly that cleaning becomes a nearly daily chore.

     Cloth-covered pads do get dirty. It's a good idea to wash your mouse pad
every couple of months. (Use warm soapy water, rinse, blot with towel, and let


022- Does anyone know what is the best way to clean a keyboard
     after several months of using it without affecting the
     imprinted letters or numbers on the keys?

     First, if you do not have a picture of the keyboard, it's a good idea to
make a diagram of key locations.

     If the keyboard is a separate unit, remove the keyboard cover-- i.e. the
'shell' that surrounds the keys. Spritz it with a cleaner (like Windex,
Fantastik, etc.), wipe, and let soak in warm soapy water.

     What you need to do next is pull the key tops. A puller tool which lets
you get around and under a key on two sides is very helpful; or, you can use
fingers and a small screwdriver or leter opener to pop off the key tops. For
SPACE and other large keys, take care to unhook stabilizer bars and pay
attention to how the bar for each is connected.

     Spritz each key top with Windex, Fantastik, etc., wipe, and let soak in
warm soapy water. The letters, numbers, etc. on key tops are, usually, solid
plastic and should not be in any danger of getting wiped off. For sure, you
would not want to use any petroleum distillate or other solvent which attacks
plastic for cleaning.

     Everything is rinsed, blotted with paper towels, and allowed a couple
hours to dry.

     Once the KB interior is de-dusted you can blot away remaining moisture
from key tops, etc. and put everything together. Install the large key tops
with stabilizer bars first, then press on the others. If the keyboard is a
separate unit, wipe/clean the cable.

     A different approach suggested by some is to remove the keboard
and wash it in a dishwasher. Using a dishwasher might be okay if you use
liquid detergent. (Grandular stuff shreds glass-- not good for plastic or
circuits-- and may leave deposits.)

     Main things would be make sure any gunk gets washed away so that
it doesn't get stuck inside a switch, etc. and that everything thoroughly

     It's probably best to remove the KB after the rinse cycle. Do not go
through a heat dry cycle; that could lead to streaks and blotching, even
partial melting, of the plastic.

     Afterwards, dunk the KB in a sink of warm water. Submerge and lift
out several times to suck out any glop. Shake the KB and dry what you
can with paper towels to avoid streaking and blotching of plastic. Remove
any globs of gunk you find; and, put the KB someplace to dry for a few
days. (Avoid direct sun light; it's not good for the plastic.)


023- Is there a fix for a bad trigger on a CH Products Flight Stick?

     If the trigger on your "Flight Stick" doesn't always fire when squeezed,
the problem is likely to be too much space between the trigger and the PB0
microswitch. A simple fix is to apply two or three layers of self-stick label
bits to the back of the trigger piece (easily accessed once the handle is
opened). To check your work, use an ohmmeter connected across the button output
or plug in the stick and RUN a two-liner to display PB0 status:

     10 IF PEEK(49249)>127 THEN PRINT "X";
     20 GOTO 10

     Pressing the trigger should spit out X's. Once you know your stick is
fixed, just slap it together and you've got the hair-trigger snap-action
response "Flight Stick" is supposed to deliver.


From: Mitchell Spector

024- How can I improve the feel of my original (beige-key)
     IIc keyboard?

     You can improve the feel by removing the black rubber mat. This is a
spill-guard; but, people complained it hindered their typing so it was removed
in next generation IIc's. You can safely remove yours by just lifting it up;
it's attached by a few drops of glue.

     Some people claim typing is even further improved if you remove the small
metal clips in between each key stem (these produce a click sound when you
type). You can reverse all this if you do it carefully, I did myself.


From: Supertimer

025- Can I replace my broken GS mouse with one from a Mac?

     Yes, if it is a Macintosh ADB mouse. The "teardrop" ADB Mouse II that
comes on newer Macs works great on the IIGS and can be found for a few bucks in
Mac for-sale groups. Third party ADB mice should work too.

Note: Mice for Mac Plus and before are not ADB so won't work. Mice for the new
iMac won't work because they are for the USB interface.


From: David Empson and David Wilson

026- What is the pinout for the IIe, //c, Laser and similar
     9-pin mouses?

The IIe/IIc/Mac Plus mouses can plug into the //c or IIc+ Game/Mouse Port or,
on a IIe, into the 9-pin socket of a Mouse Card. When plugged into the //c or
IIc+, several Game Port pins are redefined for use with a mouse.

 Dsub-9 Female Socket on Computer    Dsub-9 Male Plug on Mouse
     ,---------------------.          ,---------------------.
     \  5   4   3   2   1  /          \  1   2   3   4   5  /
      \   9   8   7   6   /            \   6   7   8   9   /
       `-----------------'              `-----------------'

   Mouse         Usual //c, IIc+ Game Port Function

1  MOUSE ID      Pushbutton 1
2  +5V           +5V
3  GND           GND
4  XDIR          no Game Port function on //c, IIc+;
                 this TTL-compatible input can be read at $C066
5  XMOVE         Game Control 0 or PDL0 (Joystick X-axis)
6  n.c.          (no Game Port function on //c, IIc+)
7  MOUSE BUTTON  Pushbutton 0
8  YDIR          Game Control 1 or PDL1 (Joystick Y-axis)
9  YMOVE         no Game Port function on //c, IIc+;
                 this TTL-compatible input can be read at $C067


From: David Empson

Related FAQs Resource: R034MOUSEPRG.TXT (Text file)

027- How do I write programs which use the mouse?

     The assembly language interface to the mouse firmware is documented in the
reference material that was supplied with the IIe AppleMouse card, the
IIc Technical Reference Manual, and the IIgs Firmware Reference Manual.

     For a 'how to' discussion, see FAQs Resource file R034MOUSEPRG.TXT.


From: Alberto Cavalcoli

028- My IIe has a bad keyboard encoder IC. How can I get a

The AY-5-3600 PRO keyboard encoder is not easy to find; but, it can be
replaced by the KR-9600-PRO keyboard encoder. The 9600 IC has more
features, such as the bounce fix. I have installed one in my IIe and it works


From: David Empson

029- Can I use an Apple III joystick on my Apple II?

     No. The Apple III joystick port has very little in common with the Apple II
one. The Apple III joystick's internal circuit arrangement and plug pinout are
very different from that for an Apple II joystick.

     Do not attempt to connect an Apple II joystick to an Apple III, or vice versa.
At the very least, it will not work. At worst, you could damage the computer.
Here are the joystick port pinouts, for comparison:

   II    III

1  SW1   GND
2  +5V   +5V
3  GND   GND
4  PDL2  Joy-X
5  PDL0  SW0
6  SW2   +12V
7  SW0   GND
8  PDL1  Joy-Y
9  PLD3  SW1


From: Rubywand

030- How can I be sure my joystick is properly adjusted?

     To check and fine-tune your joystick, run an Apple II joystick adjustment
program such as the one on the TNILUTIL disk available from Ground or
GSWV (see Q&A 007 in File Utilities). If you get a range of 0-255 for
Horizontal and Vertical with centers around 128 and both buttons work, the
stick is properly adjusted and ready for use.

     If you can not reach extreme values (0 or 255), the stick will not work for
some applications. For example, you will not be able to guide your worm in
the game "Serpentine".


From: Delfs and Rubywand

Related FAQs Resource: R033EMUJSMOD.GIF (gif pic file)

031- Many games with a joystick option do not work with joystick
     on the Apple II emulator I'm running on a PC. Is there some
     way to use my PC stick with these games?

     The problem is that PC sticks do not have the required resistance range. (They
top out around 100k Ohms; whereas, A2 sticks top out at 150k.)  As a result, the
emulator will not detect a value indicating extreme Down or Right.

     One fix is to go to the PC Control Panel, select "Gaming Options" (or whatever
it's called), and re-calibrate your joystick. The trick is to under-calibrate. So, when,
told to move the stick in a circle, do not go out as far as you can. Instead, move it
in a small circle.

     A different fix is to modify your PC joystick to increase its range. Adding a
0.01uF capacitor from each pot's non-ground tab to ground will do this. Running the
leads through a small DPST switch mounted in the joystick lets you switch out the
caps for regular PC use. (For details see R033EMUJSMOD.GIF.)  Since the
joystick's range is extended by flipping the switch to connect the caps, there is never
any need to under-calibrate when in the PC Control Panel.

     Either way, to check and fine-tune your stick for emulator use, run an Apple II
joystick adjustment program on the emulator. (See Q&A 030 above.)

     If you do the joystick modification, set the switch OFF, to the PC position, when
doing any PC Control Panel calibration.  (Doing a calibration with the caps
switched ON would defeat the range-extending function of the modification.)  Set
the switch ON, to the Apple II position, when checking and fine-tuning joystick
adjustments on your Apple II emulator and for playing Apple II games on the


From: George Rentovich

032- Today my IIgs started "stuttering"-- i.e. working for a bit then
     freezing for a bit then working again. Anyone have a fix?

     I have seen this before. The cause was a bad connection to the keyboard's
mini-DIN-8 connector. One of the leads from the connector to the keyboard circuit
board had broken its solder connection; and, the line was intermittantly connecting.

     When one or more lines is broken or loose, information is not getting back to the
computer or is interrupted. Seems like the computer is waiting for it; and, you get

     The solution was to resolder the mini-DIN connection(s) on the keyboard. I did
it and all is fine.

     The keyboard's min-DIN connectors are fairly well known weak spots on the
IIgs; and, I have repaired more than one keyboard for bad connections. In one a
copper trace going to a connector was broken-- repaired that by soldering in a
jumper made from a bit of solid copper wire.


From: Roger Johnstone

033- How can I use a PC mouse on my Apple II?

     I have developed a small adapter which lets you plug a PS/2 mouse (mechanical,
optical, cordless, etc. as used with IBM PC-compatibles) into an Apple mouse port.
It works with the mouse port on the AppleMouse card and the built-in mouse ports
of the Apple IIc, IIc+, and Laser 128. (It should also work with older Macintosh
models (128K, 512K, Plus); but, I don't have one to test it on.)

     The adapter, which was demonstrated at KFest 2003, has a pair of
microcontrollers which translate the PS/2 protocol into the Apple mouse format. No
software changes or drivers are needed on the Apple side.

     I've set up a web site with pics and info for selling the adapter via PayPal at ...

http://vintageware.orcon.net.nz/ .