• Please review our updated Terms and Rules here

IBM 5151 Jittery Row?

schatzi

Member
Joined
Feb 14, 2021
Messages
24
Location
USA
Hello, first time posting.
I got an IBM 5151 I'm driving with a microcontroller (not an original video card, I don't have one accessible either to compare and test), and I'm mostly sure I have all the signals right, but I do get some jitter in row ~22 to 24 of text. Has anyone seen something this before?

I checked my code over a few more times and confirmed that my Hsync's have negligible variance with an oscilloscope, and other lines are rather stable and clear, except some lesser shake in the top 3 lines. From what I read around here it might be a "mains suppression capacitor" or a "7185 regulator transistor" in the monitor itself, but those examples was a whole screen shake, not just a few lines.

Any advice on what I should look into next? I've not recapped the unit yet and I'm not sure honestly if "recapping" means all capacitors or big ones or if it will fix this but it is another suspicion of mine.

I made an animated gif of it jittering and uploaded it here: https://i.postimg.cc/YSpMmVJf/Flicker.gif
Thank you
 
Hello, first time posting.
Welcome to these forums.

I got an IBM 5151 I'm driving with a microcontroller (not an original video card, I don't have one accessible either to compare and test), ...
A pity. A 'known working' video card would have allowed you to very quickly isolate the problem to either 'microcontroller' or 5151.

... and I'm mostly sure I have all the signals right, but I do get some jitter in row ~22 to 24 of text. Has anyone seen something this before?

I checked my code over a few more times and confirmed that my Hsync's have negligible variance with an oscilloscope, and other lines are rather stable and clear, except some lesser shake in the top 3 lines. From what I read around here it might be a "mains suppression capacitor" or a "7185 regulator transistor" in the monitor itself, but those examples was a whole screen shake, not just a few lines.
Yes, I am finding it hard to see how a fault in the 5151 could cause the shown symptom of: significant horizontal video jitter in (mostly) line #23, and it is not all of the line.

Being horizontal video jitter, what I expect that you should be looking at with test equipment is the jitter between the incoming horizontal sync pulses for character line #23, and the 'problem' part of the incoming video signal for character line #23.
That would be tricky. Can you get your 'microcontroller' to output only characters that have their first horizontal pixel turned on (i.e. all characters are a vertical line of one pixel wide)? Your screen would then be 80 vertical lines, and then with your oscilloscope, trigger on the incoming horizontal sync pulses, expecting to see no (unreasonable) jitter of the 80 'active' pixels in the video line.
 
(Reply function not yet found)
"Your screen would then be 80 vertical lines, and then with your oscilloscope, trigger on the incoming horizontal sync pulses, expecting to see no (unreasonable) jitter of the 80 'active' pixels in the video line. "

Thanks for the quick reply, I'm away from my scope for two weeks for quarantine, but I'll be sure to do that when I can.
I'm worried I may have to actually (learn arm assembly as step 1 then) do some inline asm for the raster part of this code, just to have complete control over the device for that section as relying on the built in digitalWrite() is possibly a source of time-noise(word?).
I'm using a Teensy 4.0 at 816 MHz, getting keys asynchronously via a slave arduino nano to avoid interrupts and the relatively slow PS2 keyboard protocol.

Its a shame the 5151 gives no feedback if I'm doing this right, outside of visual display.
 
Oh so I fixed this issue a little while ago with some very careful timing using the Teensy's cycle counter. Now that jitter is all gone, and the thing works! I've been using it for editing files for work. I got 80 and 132 columns, up to 38 rows, all that's left for a rainy day is to fix highlighting and figure out how to A: Set my linux machine to create serial connections without unicode for line-drawing characters, or B: Write some code to translate those unicode instead. Here's a picture of it in action displaying some of its source code.
 

Attachments

  • IBM_test.jpg
    IBM_test.jpg
    74.9 KB · Views: 1
This is a super cool project. Would you mind sharing your code and schematics?

Sure but I'm out of the country for a month and I don't have either with me, but when I'm back and tinker with it next hopefully I'll remember to upload it and link it here.
 
Back
Top