22

I found an old Macintosh SE/30 in the basement and fired it up recently, only to find that there's some kind of problem with the built-in CRT. I don't really know how to describe it, though. Can anyone identify the glitch shown in this image? Without knowing what it's called, it's hard to google for fixes.

mac-se30-screen-glitch

It seems like there are horizontal bands on the screen that are duplicates of nearby bands of pixels. For example, you can see in the image that the menu bar at the top doesn't have a top half and a bottom half, it has two bottom-halves stacked on top of each other.

None of this moves. The screen isn't flickering or jumping, and the bands don't move with time. Note that the cursor does show the same effect as it moves into and out of these bands.

If you've seen this behavior before, I'd love to know what causes it, if there's a way to fix it, or even just what it's called. Thanks!

6
  • 2
    I would guess bad video memory. – snips-n-snails Aug 30 '20 at 4:17
  • 9
    @snips-n-snails Sounds right. Heck, from my minimal knowledge of how RAM works, electrically, my guess would be a broken or corroded trace on the address bus, so you get one set of lines when it's pulled low/high, and then those lines get repeated when it fails to pull high/low. (And, if that's the case, the period of the repetition would hint at which trace it is.) As to whether it'd be stuck high or low, I'm not sure whether RAM is wired in pull-up or pull-down configurations. – ssokolow Aug 30 '20 at 6:52
  • 3
    The question would do well to mention what happens as the pointer is moved around. – JdeBP Aug 30 '20 at 7:45
  • 2
    @ssokolow Well, Mac SE video uses a power of 2 for the X axis (like any sane video should do), so any address error greater than that must show up as clean lines in skewed order. In this case it's 512 pixel per line or 64 bytes, which means everything in the range A0..A5 will produce a vertical pattern, while A6..A14 generate a horizontal (as seen). – Raffzahn Aug 30 '20 at 10:12
  • 3
    @JdeBP, good call. I made an edit... as the cursor moves through one of these bands, it gets "doubled" like the rest of the band's contents. – maldata Aug 30 '20 at 13:10
37

As comments on the question already suggest, it looks quite like an address fault when video memory is read. While the picture is not really great, I'd say:

  • Blocks of 8 lines are visible, so it must be about A9 of the video address generator (*1).
  • Since these 8 lines are displayed twice, A9 must be tied to one level.
  • From the content it seems as if the 'second' 8 lines are put over the 'first', A9 must be tied to one (Thanks to tuomas for the correction)
  • As continuation across the screen is otherwise undisturbed, the address generator must work as expected, so the fault must be after.
  • Since the Mac seems to work otherwise, it can't be on the memory side

Conclusion:

Somewhere between the video address generator and the address multiplexer input (joining Video and CPU access) A9 must be tied to ground.

This can be either some faulty trace (have you checked the batteries?), a bad socketed chip, or a 'dead' chip. First step is checking for visible damage and press all chips into their sockets. If still faulty, next step would be to look at the schematics to see if this is still discrete on the SE30 or integrated in a custom chip. If discrete, swapping either the line counter or the multiplexer should solve it, this can be done blind (*2). In case of the later, than you might want to look sad, hold him up, shout "He's dead Jim" and put him over to the spare parts shelf.


Revised story

I had a short peek at board and schematics, and it seems as if the SE30 is the worst combination possible. While counters and muxes are discrete, they are all SMD devices, so changing them needs soldering on expert level.

The whole logic is rather nice made but different than expected by using 41254 type RAM. These are quite nifty Video RAM that can be accessed like standard 64 Ki by 4 RAM (41464), but offer in addition a 1024 bit line access shifted thru a 4 bit port. The SE30 contains two of these, essentially managing the output of the 4 lines of 512 pixel on its own (well, with a little help of a LS166 8 bit shifter). There is some logic hidden in the PALs used, but it seems straightforward.

This breaks the reasons for fault down to:

  • either output of VADR(1) on pin 4 (QC) of the LS393 counter at position UF8 being broken,

  • input C1 (Pin 11) of the F253 mux in position UD8 'broken' (somewhat unlikely)

Both are SMD devices, so not easy to replace.

  • Or someone pulling the line up to one. A good candidate might be the 16R8B PAL at position UG6 (pin 4 - I3).

    This would be great and bad at the same time. Great as it's socketed, bad as I don't know how easy it is to get the image to program a new one (or reprogram if that's possible).

So in either case, you will need to pull out your oscilloscope and start searching in that area.


*1 - SE30 video is 512 by 384 by 1, so 64 byte make a line, 8 lines do 512 byte, so the 10th address line, aka A9, is the one flipping every 8 lines.

*2 - Counter chip first, test again, if still bad, change multiplexer. No test equipment other than the machine needed.

6
  • 7
    Judging from how text is clipped on the menu bar, I would agree with your analysis but assume A9 is 1 instead of 0. Nevertheless, doesn't change any suggestions how to fix it. – tuomas Aug 30 '20 at 11:08
  • 3
    @tuomas yes, that sounds right. – Raffzahn Aug 30 '20 at 11:19
  • +1 But some repeating typo 3 times: "seams" (in German: "säumt") should be "seems" (in German: "scheint"). (I added the German words because I strongly assume that this is @Raffzahn's mother tongue, just as mine.) – rexkogitans Aug 31 '20 at 6:47
  • 1
    @rexkogitans Jup, I'm aware, still, doin it wrong since 50+ years :)) – Raffzahn Aug 31 '20 at 7:18
  • 1
    @AdamEberbach True but not wrong. If you look at the linked specs, it says not only that video is 512x384, but as well that screen size is 512x342. So for software there are only 342 visible lines, but hardware - and that's what this is about - there are 384. This is to keep hardware simple, as 384 needs a single AND gate to 'count'. – Raffzahn Sep 1 '20 at 5:18
12

Although the question is already answered in great detail above, just wanted to share that I fixed almost the same issue some 11 years ago with an SE/30 found in the trash, which was caused by corrosion of PCB traces, and simply fixed by soldering. Not sure if I used wires, or simply put solder on them. (I also replaced all caps I could see as they were clearly getting old.)

So this may be an easy fix! Pictures are just quick snapshots of 2009 iPhone 3G quality (blurry etc), apologies for that, but you can still see what happened:

interesting 4x repeat of every 4 lines

interesting 4x repeat of every 4 lines

in the middle, trace interruptions are clearly visible

in the middle, corrosion and trace interruptions are clearly visible above UD8 and UE8.

fixed

fixed! Too bad I don't speak this language.

2
  • 2
    True, corrosion is a great source of issues with old machines and might fit as well. More often than not it's caused by batteries. But who knows. A good look at the traces is always one of the first steps. especially easy here as the area were the problem must be is rather easy to pin down by logic. – Raffzahn Aug 30 '20 at 20:15
  • 5
    This is Finnish. Google translates it to: "This disc is incorrectly formatted for use with this disc drive. Do you want to Enter [mount?] Disk / Format" – David Schneider-Joseph Aug 31 '20 at 6:01
3

and the most common cause of corrosion and trace shorts is capacitors gone bad. There are a couple of people on the net who specialize in Mac "Re-Capping" specifically because Apple used some known bad caps for a while. Google "Macintosh recapping". Here's but one.

http://www.maccaps.com/MacCaps/Repair_Service.html

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.