[net.micro.6809] COCO II Upgrade + ROM 1.2 Problem.

leo@ihuxl.UUCP (L. H. Ringwald) (12/10/83)

Finally upgraded a CoCo II to 64 K.  The deed was actually done at
Thanksgiving, but I am finally posting results.
The procedure is to replace the current memory chips with 4164 chips,
and to install a single jumper at W1.  W1 is a pair of solder eyes
which are about 1/10 inch apart and right next to one of the PIA's.

You will need to solder in the jumper, as there are no stake pins provided.
That's it.

I was somewhat in error when I stated that software written for the COCO
would run on the new ROMS.  The one problem that has been found so far
if with TOM MIX's "The Frog".  This routine calls $A1C1 directly to read
the keyboard, and will see only one letter if the same key is pushed
over and over.  If you don't care why, skip to the next paragraph.
What happens is that the keyboard scan routine does a quick check to see
if any keys are pressed.  If none are, it exits without resetting the
last look bytes.  If a key is pressed the first time, the routine
sets the last look and returns the character.  Then as long as the key
is held, the routine sees that the last look is set and ignores the key.
This is normal.  What normally resets the last look is the first scan
that is done after the key is released.  However, if the routine is entered
at $A1C1 in the new ROMs, the bit is not reset.  Then when the same
key is hit again, the routine sees that the last look is still set
and ignores the char.  This doesn't bother BASIC or users of $A000,
because they use bypass the quick check for everything except the
scan at the end of each BASIC statement.

There is a way around this.  Solution number 1: put a pet rock on any
key that is never used by the program prior to starting the program.
Solution number 2: Find every reference to $a1c1 and change it to whatever
is in $A000.  In the tape version, the only reference is at $1c06.

				Have Fun.
-- 
					Leo Ringwald
					ihnp4!ihuxl!leo