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