Page 1 of 1

What the hell? (IBM 5556?)

Posted: 03 Aug 2019, 01:52
by snacksthecat
Ladies and gentlemen, the letter "d":

Image

Re: What the hell?

Posted: 03 Aug 2019, 01:56
by Myoth
not sure that's what they meant when they said "show us your d"

Re: What the hell?

Posted: 03 Aug 2019, 10:50
by Findecanor
Because channel 2 changes when channel 3 is low, it seems that a reading from channel 2 is valid only whilst channel 3 is high.
Therefore, I would guess that ch3 is the Clock signal and ch2 is the Data signal.
Channel 0 looks like a filtered data signal. (ch3 logic-AND ch2)

A message seems to start with ch3 first going low before the first bit. Hard to tell what the first and last bit is for: either could be a data bit or for synchronisation or parity. I would sample 9 bits per message for now and figure that out later.

What kind of keyboard is this?

Re: What the hell?

Posted: 03 Aug 2019, 20:01
by snacksthecat
Findecanor wrote:
03 Aug 2019, 10:50
Because channel 2 changes when channel 3 is low, it seems that a reading from channel 2 is valid only whilst channel 3 is high.
Therefore, I would guess that ch3 is the Clock signal and ch2 is the Data signal.
Channel 0 looks like a filtered data signal. (ch3 logic-AND ch2)

A message seems to start with ch3 first going low before the first bit. Hard to tell what the first and last bit is for: either could be a data bit or for synchronisation or parity. I would sample 9 bits per message for now and figure that out later.

What kind of keyboard is this?
Thanks for the interpretation. I was confused by channel 0 but your explanation makes sense.

This is from Delirious's keyboard which is suspected to be an IBM 5556. But apparently it could be something slightly different.

I snapped a few pictures while I was taking it apart. Not my best work but I was in a hurry to get to the fun stuff. I hope to post a better set later.

Image

Image

Image

Image

Image

Image

In the last picture you can see the foam layer that was installed between the PCB and plate. I've never seen this done before. It feels really really nice like this and I think I've got to give this a try next time I mod a board.

Re: What the hell? (IBM 5556?)

Posted: 04 Aug 2019, 19:27
by snacksthecat
Well we've decided to take this in a totally different direction. The keyboard as-is doesn't send 'break' codes. It only sends 'make' codes (and repeats the code if a key is held). This unfortunately makes it impossible to convert the protocol without making some big typing compromises.

So for that reason, we're going to be doing a controller replacement.

I started out by tracing the matrix with a multimeter and marking the matrixed pins with a sharpie

Image

Then I planned out the wiring. Since the footprint of the teensy matched up with the footprint of the main IC on the board, I soldered some header pins in those positions. For the remaining teensy pins I need, I soldered wires.

Image

Here's what it looks like seated in place, before any soldering has been done.

Image

Then finally I clipped the wires to length and soldered everything up.

Image

Re: What the hell? (IBM 5556?)

Posted: 04 Aug 2019, 20:37
by Muirium
Neatly done. Always better to pull out the old controller when it’s as daft as that. A Teensy++ usually has the same footprint and is a joy to use.

Think you could explain the process of working out the matrix? I’ve often been asked.

Re: What the hell? (IBM 5556?)

Posted: 05 Aug 2019, 01:59
by snacksthecat
Muirium wrote:
04 Aug 2019, 20:37
Neatly done. Always better to pull out the old controller when it’s as daft as that. A Teensy++ usually has the same footprint and is a joy to use.

Think you could explain the process of working out the matrix? I’ve often been asked.
I know you said you're video averse but it seemed like the easiest way.

Re: What the hell? (IBM 5556?)

Posted: 05 Aug 2019, 03:54
by Delirious
Amazing job, that was quicker than I thought it would take you.

Re: What the hell? (IBM 5556?)

Posted: 05 Aug 2019, 16:49
by listofoptions
nice wiring! could have saved yourself some extra wires by not removing that 74159 4-to-16 decoder though

Re: What the hell? (IBM 5556?)

Posted: 05 Aug 2019, 22:49
by Muirium
Thanks for the vid. But that’s only step one. Those pens never even left the table!

I find the hard bit, which varies from board to board, happens when you try to plot them in a grid. That’s what you ultimately want, after all, for your controller. Here’s a particularly gnarly example: an Access IS ortholinear board with columns running down diagonals!

viewtopic.php?p=422407#p422407

So many boards have hidden connections and hidden diodes. And so any have a bizarre logical matrix which doesn’t really follow their physical layout. We, including myself for sure, could really use a worked example of a hard one, and maybe even a flowchart! It gets complicated.

Re: What the hell? (IBM 5556?)

Posted: 05 Aug 2019, 23:05
by snacksthecat
Muirium wrote:
05 Aug 2019, 22:49
We, including myself for sure, could really use a worked example of a hard one, and maybe even a flowchart! It gets complicated.
E-Z, P-Z, fuck-all impossible!

Really, as you know, you have to have a bit of understanding of how different matrixes are laid out, or at least the ability to recognize patterns.

If I could put together a simple guide, I totally would. The fact of the matter is there’s just too much variability between boards.

What I can recommend is to abstract yourself from the complexity as much as possible. I know that sounds like a bullshit thing a yoga instructor might say but it’s true! I like to think I have a few tricks up my sleeve which enable that.

I’ll try to make this more meaningful later but for now I just gotta say: grab a beer, grab a multimeter, and go where the traces lead you.

Image

Re: What the hell? (IBM 5556?)

Posted: 10 Aug 2019, 21:23
by snacksthecat
Feeling cute. Might post more later

Image

Re: What the hell? (IBM 5556?)

Posted: 10 Aug 2019, 22:17
by Redmaus
snacksthecat wrote:
10 Aug 2019, 21:23
Feeling cute. Might post more later

Image
I'm so happy with what's happening to this board. Was the plate red like that stock?

Re: What the hell? (IBM 5556?)

Posted: 13 Aug 2019, 03:11
by snacksthecat
Redmaus wrote:
10 Aug 2019, 22:17
I'm so happy with what's happening to this board. Was the plate red like that stock?
Nah, Delirious painted it. Looks great, right?

I had a little bit of fun seeing what the board looks like with these SantiGo cables

Image

Image

Image

Image

Image

Image

Image

Re: What the hell? (IBM 5556?)

Posted: 25 Aug 2019, 04:08
by snacksthecat
Another day another buzzer.

One thing I guess I didn't show in any of the photos is that this thing came with a buzzer/speaker doodad. I think it would be really cool to get that functioning again! You know, preserve another little piece of the original keyboard.

I explained in another thread the headaches I had, caused by not knowing the differences between active and passive buzzers. In that case I was working with an active buzzer; where you simply provide 5V to the thing to make noise. Here with the multistation it's a passive buzzer; where we need to send it a square wave signal in order to make any noise.

To test this buzzer out I used this simple arduino sketch:

Code: Select all

int buzzer = 27;

void setup() {
  pinMode(buzzer,OUTPUT);
}

void loop() {
  unsigned char i,j;
  while(1) {
    for(i=0;i<80;i++) {
      digitalWrite(buzzer,HIGH);
      delay(1);//wait for 1ms
      digitalWrite(buzzer,LOW);
      delay(1);//wait for 1ms
    }
    for(i=0;i<100;i++) {
      digitalWrite(buzzer,HIGH);
      delay(2);//wait for 2ms
      digitalWrite(buzzer,LOW);
      delay(2);//wait for 2ms
    }
  }
}
Here's what that sounds like:
Not bad. Kind of gives you an idea of what's possible. So I know it's going to be a buzz rather than a beep or a click. And we have some control over the range.

I did some googling and found out that QMK actually has an audio feature! This only works on certain pins which have PWM capabilities. I checked these pins against the ones I used for the matrix and found one that would work perfectly for me.

I wired the whole thing up and here's the result:
Yeah, that's still pretty annoying. Luckily QMK has some settings that you can tweak to get different sounds. Though, I'm sure I'm expecting too much out of this little speaker.

Image

So next steps for me are:
  1. Play around with the audio settings, see if the sound can be improved
  2. Work the volume knob into the equation