• Please review our updated Terms and Rules here

Tandy Color Computer 2 Ram upgrade and strange activity

VERAULT

Veteran Member
Joined
Jan 30, 2012
Messages
8,544
Location
Connecticut, USA
So since I was able to fully rebuild my newly squired CoCo 1 from last fall I have been delving more into software and making cartridges for them. I bought a bundle of 8 used games on Ebay for a decent price and found a couple games didnt work. Super pitfall said it needs a Coco3 with 128kb so makes sense it wont work but Tetris and Arkanoid just show garbage or a blank screen.

Problem is the COCO 2 does not have a RAM badge like the COCO 1 so I just assumed the coco 2 had more ram. It wasnt until I made a diagnostics cartridge that I found out both my Coco 1 and Coco 2 had 16KB of RAM. So I had to upgrade the RAM in the coco 2 since Im still on the fence whether or not I want to upgrade my early coco 1.

I found out upgrading the ram on the COCO 2 could not be simpler. From this AtariAge postL https://forums.atariage.com/topic/266819-upgrading-the-16kb-coco2-to-64kb/

Its just swap out the ram chips for 4164 ram chips X 8 and they are already socketed! Then install a jumper on a pad marked for 64KB.
IMG_20230501_164151.jpg
I know the coco 2 is a cost reduced design and feels like it weighs nothing in comparison to the coco 1 but I was surprised how small this board was and how empty the case is.

IMG_20230501_164208.jpg
Here are the 16Kb 8040517 ram chips still in the board. Not sure I can use these in anything else because if the same sockets use 4164 ram that would make these 5v ram chips not 12v... Strange!

IMG_20230501_165310.jpg
Here is the j1 position you need to jumper to let the machine utilize the 4164 RAM
IMG_20230501_170242.jpg
Added 8 TI 4164 RAM chips.. If you spotted the one that doesnt match I only added it to upset the purists!

IMG_20230501_171019.jpg
Jumpered J1 with a piece of leg off a resistor
IMG_20230501_175847.jpg
Diags can see and attest the 64KB of ram is good!
 
  • Like
Reactions: ACK
There is one problem however. Every key on the membrane keyboard works.. however I cannot get the ? Question Mark or ' Apostrophe to work.
IMG_20230501_181744.jpg
Which makes no sense because the shift keys work and the front slash / and 7 key both work. Why do those two not work? I cant type ?MEM to see the ram I took the membrane out and cleaned up from dust but this doesnt make sense to me since the key technically works when pushed.


IMG_20230501_185822.jpg
This is the ROM version I have. Any Ideas on this ?
 
If you look in the service manual the two shift keys are in the same data row, PB7, as the "7" and "/" keys. (Along with the spacebar, W, O, and G.) Just for laughs... does shift+G/O/W work either? (My recollection is that shift + letter should give you an inverted version of that character instead of lowercase on that model CoCo.)

It doesn't make a ton of sense that the not-shifted version of the letter would work but the shifted one wouldn't? I don't think the TRS-80s used diodes to help prevent ghosting across the matrix so maybe it's possible there's a short in there somewhere that's giving a false positive/negation when you have shift held down at the same time as something else in the same input row, maybe? Or maybe there's a problem with the PIA that drives the keyboard.
 
If you look in the service manual the two shift keys are in the same data row, PB7, as the "7" and "/" keys. (Along with the spacebar, W, O, and G.) Just for laughs... does shift+G/O/W work either? (My recollection is that shift + letter should give you an inverted version of that character instead of lowercase on that model CoCo.)

It doesn't make a ton of sense that the not-shifted version of the letter would work but the shifted one wouldn't? I don't think the TRS-80s used diodes to help prevent ghosting across the matrix so maybe it's possible there's a short in there somewhere that's giving a false positive/negation when you have shift held down at the same time as something else in the same input row, maybe? Or maybe there's a problem with the PIA that drives the keyboard.
Right. The shift works as I can get the .. Alternate? Modifier? Whatever you call it, the secondary function on EVERY OTHER key but those two. Could be the PIA I guess with a very, very specific fault. I had to replace it on the coco 1 I fixed. I dunno
 
Supposedly the PIA that drives the keyboard in the CoCo2 is a "special" one that's tuned to have just the perfect amount of pull up or something for driving that keyboard, although people say it's fine to replace it with a standard 6821? It is a very strange problem; I wonder if there could be a crack in the keyboard matrix that's causing those two keys to get "orphaned" when a shift key is held down (or, inversely, shift to get orphaned when either of those two are), or something crazy like that? You've tried both shift keys, right? (And also, when you do "shift-7", do you get a "7" or just "nothing"?)
 
Yep both shift keys work and it behaves the same whichever shift is held down. I get a 7 as if nothing else is being held down.
 
  • Like
Reactions: ACK
Supposedly the PIA that drives the keyboard in the CoCo2 is a "special" one that's tuned to have just the perfect amount of pull up or something for driving that keyboard, although people say it's fine to replace it with a standard 6821? It is a very strange problem; I wonder if there could be a crack in the keyboard matrix that's causing those two keys to get "orphaned" when a shift key is held down (or, inversely, shift to get orphaned when either of those two are), or something crazy like that? You've tried both shift keys, right? (And also, when you do "shift-7", do you get a "7" or just "nothing"?)
Ok so shift+0 puts all the characters inverted. Holding shift plus G, O, And W type NOTHING.. but every other key seems type fine. They all show up as regular Non inverted characters (all uppercase, none show up as lowercase)

Also Spacebar plus shift does nothing.
 
Ok so shift+0 puts all the characters inverted. Holding shift plus G, O, And W type NOTHING.. but every other key seems type fine. They all show up as regular Non inverted characters (all uppercase, none show up as lowercase)

I just checked on an emulator to refresh my memory how this worked so... yeah. If you're in "normal" mode shift+letter just gives you the letter with no modifications; hitting shift+0 (caps lock) gives you an inverted character (which is what lowercase looks like on the CoCo prior to the CoCo3) and shift+letter gives you the normal non-inverted "uppercase" character...

So what you're saying is shift G/O/W gives you nothing, but shift 7 and / *do* give you the non-shifted character? That's strange, I would expect this to be consistent since the thing all those keys have in common is they share the same data line as the shift keys.
 
I just checked on an emulator to refresh my memory how this worked so... yeah. If you're in "normal" mode shift+letter just gives you the letter with no modifications; hitting shift+0 (caps lock) gives you an inverted character (which is what lowercase looks like on the CoCo prior to the CoCo3) and shift+letter gives you the normal non-inverted "uppercase" character...

So what you're saying is shift G/O/W gives you nothing, but shift 7 and / *do* give you the non-shifted character? That's strange, I would expect this to be consistent since the thing all those keys have in common is they share the same data line as the shift keys.
So are you asking that once I hit Shift + 0 to get the inverted (lowecase) keys what happens when I do Shift and 7 or / ? Now I dont know if I tried that off the top of my head. I assume I did but better try again.
 
So are you asking that once I hit Shift + 0 to get the inverted (lowecase) keys what happens when I do Shift and 7 or / ? Now I dont know if I tried that off the top of my head. I assume I did but better try again.

They should produce the same characters as they do without caps lock enabled, but yes, I guess it would be a data point. What I was trying to get clarity on is if you were saying you got *nothing* with shift+G, shift+0, and shift+W *always* or only with shift+0 enabled. (IE, if you *don't* have caps-lock on do you get an uppercase G/0/W regardless of whether you have shift held down and are only getting nothing if capslock is enabled, or are you always getting nothing from those keys when you hold down shift?)

To reiterate why I think it would be weird if you're getting a plain "7" or "/" when you have shift held down but *nothing* if you hold down shift+G, O, or W, here's the keyboard matrix:
Screen Shot 2023-05-04 at 11.15.20 AM.png

According to the theory of operations the PAx lines, IE, the "rows", are inputs, and the PBx lines are outputs; to read the keyboard they write a bit mask into the PB port that has a zero (pull own) in bit corresponding to the column you want to read and ones in the other lines. So, for instance, to see if any of the keys "GOW[space]7?[shift] are alive you would write "7F" (01111111) to FF02 and then read FF00. For example, If "G" is pressed down then you'd expect to read "x1111110" (I'm not sure about the "x" because the high bit of PA7 goes to the joystick circuitry and I'm not sure what its normal state is), and if shift is pressed down you'd expect "x01111110".

If the problem you're seeing is, say, the PB7 line is failing to "pull down hard enough" to negate the pull-up you're getting from the other column lines if more than one key on it is pressed down I'd think it'd be consistent for all the keys in that row, not only some of them... but maybe it's possible that, say, the actual matrix puts "/" and "7" physically closer to PB7 than shift (IE, the PA* lines aren't literally in order as shown in this diagram) and a "weak" pull-down is making only the closest key to driver appear. If it were something like that then what's happening is the computer is *only* seeing "/" and "7" and not "shift" when you're holding those down, and only seeing the "shift" when you're holding down any other combination.
 
Before you replace the keyboard driver - trying using some contact cleaner in the chip socket and then reseat it. If that doesn't work - then you could replace it with the other one.
 
So are you asking that once I hit Shift + 0 to get the inverted (lowecase) keys what happens when I do Shift and 7 or / ? Now I dont know if I tried that off the top of my head. I assume I did but better try again.
Fired it back up and Shift + 7 or shift + / gives me nothing. nothing is typed. When in lowercase mode or regular mode. Shift + space, G, O, W, 7, and / type nothing at all on screen.
 
@Eudimorphodon That was the only check left in question right?

I guess this removes the confusion about different keys in that row behaving differently; it sounds like it's consistent about shift plus any other key on that row not returning any other output but shift plus a key on a different row does.

Per the comment about contact cleaner, I would try cleaning on the ribbon cable and otherwise seeing if that connection is solid. This *could* be a crack in the matrix somewhere or a bad PIA chip, but it could well be as simple as an iffy high-resistance connection.
 
I will clean the legs on the pia and check for continuity to the kb connector and I will use a fiberglass pen to lightly clean the connector on the membrane.
 
I wonder if there's a good diagnostic program for the CoCo that has a keyboard test that displays the keyboard as an onscreen matrix and dynamically display if you have one or more key held down. The operative theory here is basically there's an iffy connection or weak PIA that's preventing the machine from being able to register more than one key being held down at once uniquely on that column, seems like it should be easy enough to check; if this was a black-and-white TRS-80 you could do it with a BASIC program, but because of the involvement of the PIA I think you'd need to use a machine language program that disables the ROM keyboard scanner.
 
I spent alot of time desoldering the pia and socketing it because I found I DID have a spare PIA from that lot of chips I bought when repairing my coco 1 last fall.
Long story short the new PIA behaves exactly as the one that was soldered in. The same keys dont work. It must be the membrane. This sucks
 
Back
Top