• Please review our updated Terms and Rules here

Strange video effect on some characters Pet 2001-N board.

dabone

Veteran Member
Joined
Feb 26, 2009
Messages
1,287
Location
Chattanooga, TN - USA
I've got a 2001-n pet board that has a strange artifact in some characters that are displayed.

Here's an example in the new Bright Shining Star demo.

petlines-post.jpg

The thin vertical lines aren't normal. I can see it on a few reversed characters, but unless I have something big like this, my phone camera won't capture it.

I tried replacing the character rom with a modern replacement, with the exact same results.

This pet does have a Kanji keyboard, but bog standard basic 4 roms. Were there any other mods done to the pet for Japanese market?
 
It looks like a very subtle high frequency timing issue on the trailing edge of a graphic that was ON and a tiny delay after its trailing edge turns off, before the next graphic symbol turn the beam on. So you end up with the thin dark vertical line.

This sort of thing could be intrinsic to the design, and / or aggravated by different 74 logic ICs with a spread in the propagation delays of the individual devices, making it more obvious in one PET board than another.

I have seen this sort of thing before, not in PET computers though, but in early video games with TTL IC's from the 1970's like Atari's Pong & Tank.

The source of the "delay error" to coin some name for it, is normally possible to isolate with a good scope (at least 100MHz capable, preferably 400MHz), especially if you have a pcb that doesn't do it, for comparison purposes.

In certain IC's such as non synchronous counters with chains of flip flops or, just a number of gates, even if there s a relatively small increase in the propagation time per flip flop it can add up at the end of the chain and create timing errs that are not insignificant but vary between different specimens of the same IC.

There is the "up side":

the fact you can see these lines in the video signal which are probably only 30nS to 70nS wide at most, means that your CRT is in great order with excellent beam focus and that the video output stage driving the CRT is working very well too.
 
Last edited:
Any suggestions on what part of the circuit to start with? It's not on every character, only some of them, and it also happens on the basic prompt.
 
G9 is a 74LS74 flip-flop that's connected to the D7 output of latch F9 that maintains the state of whether the characters currently being output should be in reverse video or not. Here's a relevant part of the schematic.

Just eyeballing your video output I think what's going on here is the "Load SR" signal that sets this "invert" flag (at the same time it latches the dot information for the next character into the shift register E11) has a slight race condition with the shift register dot clock, so when it transitions it's not perfectly aligned with the pixel boundaries. This results in these sub-pixel fractional lines which would be most likely to happen between an inverted and non-inverted character because of how the flip/flop is employed here. For instance, in your screenshot it seems to be happening regularly between all-white pixel blocks (which is an inverted character) and the |/ triangle, which is non-inverted.

(That said it looks like it does also sometimes happen between characters with the same inversion status? I can't be positive, though. If it were my machine I'd probably try poking some values for inverted/non-inverted box characters into video memory to exercise it.)

If you have a multi-channel oscilloscope you could try comparing the transitions of "LOAD SR" to "CLK8" to see how closely aligned they are, and then move on to comparing the transitions of Q/Q' on G9 to the dot outputs Q/Q' on the shift register, E11. Per Hugo's suggestion I'm going to guess you're going to see a 50ns-ish phase difference in there somewhere, either on the upstream side with LOAD_SR vs. CLK8 or because of different propagation times in the shift register vs. the flip-flop. Either way it doesn't really seem like something worth making a huge deal about.

(If the PET's character ROM were twice as large so it stored both the plain and inverted versions of the characters then this problem wouldn't exist, pixels would be pixels. This is only a problem because the inverse video is applied separately to dot generation.)
 
Last edited:
I have a ds1054z, but it's only 50mhz...

I'll try later to figure out combos that are triggering the issue. Sounds like a plan for this weekend.
 
... FWIW, if you crank the resolution to 1080P and freeze frame on this video of a PET 2001-N running this same demo you can faintly see the same lines in the same places I mentioned. (IE, that transition between a solid block and the upward triangle.) I'm not obsessive-compulsive enough to set up my 4032 just to poke at this right now but I'm going to wager these artifacts are perfectly normal on these machines. If my theory about why they're happening is correct it's inherent to the design of the video system. It might be less noticeable on some units than others, but like I said, the way the reverse attribute is applied makes it pretty inevitable artifacts like this will be visible if your CRT is sharp enough.
 
Or just embrace the 1970's jank for what it is. To me this kind of lo-fi vibe is part of the fun.

When you think about it it actually gets pretty painful to guess how you'd avoid this sort of thing cropping up; perfectly synchronizing pixels with separately generated attributes is a hard job. Even at the PET's chunky 320 pixel wide resolution with an 8mhz pixel clock a full pixel is only 125ns "wide". Those lines in your photo look like they're only about a quarter the width of the single pixels in the checkered character blocks, which suggests if it's in good tune the PET's monitor is perfectly capable of making a 30ns-ish anomaly "visible" if you look hard enough for it... and 20-30ns-ish propagation delays are pretty typical of what you can expect from 70's vintage 74LS logic like the PET is made out of. Any lag at all between that inverse flipping circuit and the output of the shift register is almost bound to produce some kind of artifact.
 
if you look hard enough for it... and 20-30ns-ish propagation delays are pretty typical of what you can expect from 70's vintage 74LS logic like the PET is made out of. Any lag at all between that inverse flipping circuit and the output of the shift register is almost bound to produce some kind of artifact.
That is exactly what I was thinking too.
 
G9 is a 74LS74 flip-flop that's connected to the D7 output of latch F9 that maintains the state of whether the characters currently being output should be in reverse video or not. Here's a relevant part of the schematic.
Maybe it could be worth trying a 74S74 here or a 74F74 instead of the 74LS74, it would be convenient if it happened to be in a socket, if not probably not worth it.
 
Maybe it could be worth trying a 74S74 here or a 74F74 instead of the 74LS74, it would be convenient if it happened to be in a socket, if not probably not worth it.

What makes this devious is there's two moving parts, the flip-flop that chooses whether normal or inverted dots mapping is going to apply, and there's also however much delay you get in both the divide-by-8 that triggers the LOAD_SR signal (that latches both the '74 and the shift register) and any propagation delay there might be in the shift register dot generation. From the close-up photo going by where the black gap appears over one of the checkered characters it almost looks to me like the '74 is already "too fast" and is *leading* the next character, not coming too late. It might be interesting to see if a 74F74 actually made the gap sightly *wider*.
 
What makes this devious is there's two moving parts, the flip-flop that chooses whether normal or inverted dots mapping is going to apply, and there's also however much delay you get in both the divide-by-8 that triggers the LOAD_SR signal (that latches both the '74 and the shift register) and any propagation delay there might be in the shift register dot generation. From the close-up photo going by where the black gap appears over one of the checkered characters it almost looks to me like the '74 is already "too fast" and is *leading* the next character, not coming too late. It might be interesting to see if a 74F74 actually made the gap sightly *wider*.
Yes, without checking with the scope, it could turn out that a faster '74 IC there is worse and makes the defect wider, but at least if that was the case, it is often easier to slow things down than speed them up, by adding a small capacitor in the range of 50pF to 470pF on a clock or other signal to tune the timing. You often see these sorts of things sprinkled around in TTL circuits which generate video.
 
Back
Top