• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Mac Portable M5126 doesn't boot after recap

moldy

Well-known member
Hello,
I've managed to return a tiny bit to my 68k Mac hobby and decided to try to clean up an unmolested backlit Portable I had lying in the closet.

What I've done:
  • Didn't try to turn it on, just disassembled it.
  • Desoldered all capacitors. Most of the cap juice seemed fresh and still mostly under the caps. It looked like C205 (the 4.7u one) leaked the most.
  • Washed it thoroughly with water and then IPA.
  • Baked (~70*C) it in the oven as @techknight recommended in multiple posts and then dried it for several days.
  • Soldered new caps of good quality (Polymer Tantalum instead of SMD cans, properly derated). I'm relatively confident about my soldering, I did quite some SMD soldering and rescued several SE/30s and Classics.

Now, after connecting a charged and correct battery I'm getting this:
IMG_5592.jpeg
No chime from the speaker, just a really silent crack (the usual sound of a device turning on) when the power manager is reset. The computer reacts to both the interrupt and the reset button with silent high-pitched sounds of different pitch. Resetting (with both buttons + spacebar) multiple times leads to the same image on the screen.

Nothing gets hot or even particularly warm to touch. The voltages look correct, +5.2V and +11.2V.

The condition of the board was good, waaay better than the SE/30s I worked with. There are a few places where the solder joints got a bit dull, but nothing as tragic as I've seen on other Macs. The suspect places are:
  • U5L (LT1054CS) which I already desoldered, cleaned underneath and resoldered
  • U5K 74AC138 both rows of pins have dull solder
  • U5H 74AC244 one side dull
  • U13C 74AC244 one side dull
  • U13D 74AC257 one side dull
  • U14A ASC one side dull
Any idea if any of those could be related to the booting problem? I don't have experience with Portable, not sure where in the boot process I'm actually stuck. Any advice which area I should focus on?

Thanks a lot and all the best in 2022!
 

moldy

Well-known member
Hello again, I'm coming back with a small (but not so positive) update on the project.

I started by removing the suspect logic chips (listed above) and tracing main connections between VIA, ASC, SWIM, SCC, CPU_GLU, AC244s and the RAM/ROM/PDS connectors. The PCB is really in a very good condition and I found not a single broken trace. Everything checks as it should (and in this part of the board the available M5120 non-backlit schematic was very useful).

Then, I double-checked my capacitor job (all good) + replaced the logic chips mentioned above (AC244 above the CPU, AC244 above the 4.7uF cap, AC157D, AC02, AC10 to the right from the CPU as @techknight suggested in some threads). Next, I also removed SWIM and soldered one from a pretty badly bombed SE/30 motherboard (based on those experiences: https://68kmla.org/bb/index.php?threads/portable-m5126-garbled-screen-no-chime.35591/).

But, still no change :(

No chime, no nothing. After resetting the PMGR I'm getting a faint click in the speaker and an empty screen for a split second:
IMG_5646.jpeg
And then patters which are repeatable in several variants:
IMG_5648.jpeg or IMG_5649.jpeg

When left for a while, I'm getting this:
index.php

Which looks like decay of the pattern above over time (just a wild guess)?

Few question:
1) Is someone of you aware how the init/boot process exactly looks like? Where can I be stuck given no chime and no sad mac? Is RAM/ROM of any interest or am I stuck earlier? Any specific signals to observe while turning it on? SYS_PWR? SYS_RST?

2) I'm not 100% sure that the SWIM I used is functional. What should portable do without SWIM? Chime and grey screen (like described here)? Which chips could I remove to get a minimum chiming setup?

3) How can I tell if I'm even starting the boot process? Maybe the CPU is not even running?

4) Is there a description somewhere how the boot process in 68k Macintoshes looks like step-by-step? I'm starting to feel I'm never even reaching a point when something is written to the screen.

Thanks for help!
 

Attachments

  • IMG_5650.jpeg
    IMG_5650.jpeg
    383.8 KB · Views: 248

Johnnya101

Well-known member
Before techknight the portable master checks in, let's start with the basics.

Is the original hard drive installed? Pretty sure if there is a dead one connected it can cause issues, you need a good one or disconnect it. Also, make sure you have a fresh 9V battery installed, a fresh regular brick battery, and the correct Portable charger. Also make sure your portable charger is good, they too need new caps.

11.2V sounds a little low, but maybe portables are different? Usually you should be looking for around 11.8 ish minimum.

Is there any cap goo hanging around in the ram area, or really anywhere?
 
Last edited:

moldy

Well-known member
Thanks a lot for all your answers, that's very encouraging to have some support here ☺️


Now, to your questions:
Is the original hard drive installed?
No, no HDD, no floppy, no trackpad and I've also tried with no screen.

Is there any cap goo hanging around in the ram area, or really anywhere?
The board is cleaned thoroughly (IPA + water + IPA) after removing the old caps, no cap goo is present anywhere. Overall, the PCB really seems to be in great condition and I'm yet to find a dead via or an eaten out trace.

The startup sequence is the same as the SE, described here (page 243): [...]
Thanks a ton for all the links, super super useful. I studies all of them and I think the conclusions are more or less clear. The CPU reaches to `$00 000` which just after reset is overlaid by ROM (the overlay is controlled by CPU GLU). The overlay is terminated by the first "true" address of ROM `$9x xxx`.

I agree that 11.2 is low, and definitely should be closer to 12.
I realized just after that the SONY SOUND chips (esp. one of them) are getting rather hot. I desoldered them (they are not relevant for resetting the system as in SE/30) and measured the voltage at the +12V line afterwards. Now it's a stable 12.1V.

Where are you reading the 11.2?
I was reading it on the axial cap (C8) which I realized was a `SONY_+12` line. See above, I can measure stable +12.1V now.


I also did quite some continuity checking on the board (my gf went out with friends so a perfect evening to do a bit of beeping), here's a summary of what I tested:
  • ROM <-> RAM addresses
  • ROM <-> CPU data
  • RAM <-> AC245 (U5E, U5D) data
  • ROM+RAM <-> AC244 (U11C, U12C) addr
  • ROM <-> AC245 (U5E, U5D) data
  • ROM_OE <-> CPU_GLU
  • RAM_OE <-> CPU_GLU
  • VIDEO <-> CPU addr, data
  • SWIM: WR (to MISC_GLU), SWIM_RD (to AC244 U13C)
  • CPU/VIDEO/VIA/ASC R/W
  • ASC: RST, IPL1 (to CPU), addr (to AC244), data
No faults detected, all tested fine 🤯 (it's kind of good, but I wish I could actually find something)


Finally, I connected my small logic analyzer and captured a bit of data (no SWIM and SONY sound chips present):
Screenshot 2022-01-14 at 21.05.55.png
What happens with SYS_RST? It starts to regularly go low for a split second every now and then?
BERR stays high all the time.

So let's zoom in to when SYS_RST goes high the first time:
Screenshot 2022-01-14 at 21.06.37.png
And how should SYS_PWR look like? It seems it goes down for a short just after SYS_RST goes high, why? Could it be at fault? Could PMGR be unstable?

Screenshot 2022-01-14 at 21.08.56.png

Tha machine is powered from a stable lab power supply (+6.6V) at battery terminals, similarly to what @techknight did in his videos on youtube (just recently found them!).

In the end, I have some questions:
  1. Could you confirm that Portable can bong without SWIM present? (like described here)
  2. What do you think about SONY sound chips getting hot? Did anyone experience that before? Could it be that ASC got bad?
  3. It's a pretty trivial question, but could someone help me see how $90 000 looks like on the address bus? On which lines should I read 9 and what's the arrangement of the bits? Am I right it should be ADDR23-20? So (A23, A22, A21, A20)=(1, 0, 0, 1)?
  4. What could I check next? :)
Thanks!
 

desertrout

Well-known member
Could you confirm that Portable can bong without SWIM present?
I can indeed confirm this; with it removed, the machine will chime and show the grey screen (but no further progress) - interrupt will produce two chimes and sad mac.

I can't comment on the rest though - beyond my reach.
 

moldy

Well-known member
I can indeed confirm this; with it removed, the machine will chime and show the grey screen (but no further progress) - interrupt will produce two chimes and sad mac.
Thanks, that's great to have it confirmed.

Regarding SYS_PWR, the dev notes say: "This signal controls whether the CPU is in the active or sleep state.". So I guess it should be low at all time. It actually seems it's not always flaky and sometimes it stays low as prescribed.

But look at this:
Screenshot 2022-01-15 at 00.11.48.png

Observation #1: I've added the logic analyzer to A23-20 and indeed I'm nicely seeing $90 and $00 as expected - the CPU is accessing ROM and RAM!

Observation #2: there are those ugly SYS_RST pulses which reset the system cyclically and make the procedure of happily working with ROM and RAM repeat over and over again. You can see the repeating pattern in the address lines.

The SYS_RST situation seems wrong to me. What can bring SYS_RST low? PMGR? Or maybe an intermittent pullup?
 

moldy

Well-known member
Ok, I was digging a bit more into the SYS_RST problem. As a reminder, I seem to be seeing a very regular SYS_RST trigger every ~370us (~2.7 kHz), which prevents the machine from booting. This seems too regular for a floating pin or a bad connection.
Screenshot 2022-01-16 at 18.34.36.png

So I started with continuity checks between VIA and PMGR:
  • VIA_TEST - ok
  • PMGR ACQ/REQ/INT - ok
  • VIAD data lines - ok
  • SYS_PWR to all recipients - ok

Then checked the A/D line of the PMGR: ~2.95V
(that seems to be ok looking at vague information in the other threads)

Then checked some clocks with my logic analyzer when SYS_PWR is low:
PMGR CLK - ok (8M?)
CPU 16M - ok

Then, I started looking into the PMGR-VIA interface live:
  • VIA_TEST - high (I think that's good)
  • VIAD3-7 some bits flowing
  • VIAD0, VIAD1, VIAD2, PM(ACQ/REQ/INT) completely silent and high state (or floating) - suspicious?
Is VIA supposed to speak with PMGR even before the CPU finishes to read ROM? Could it be that some internal PMGR "watchdog" starts to reset the system given a failed exchange with VIA? I would appreciate any feedback before I pull PMGR off the board hoping there's still some cap goo underneath ;)
 

techknight

Well-known member
SYS_RESET should never toggle. You have something throwing an error on the bus, and the ROM is providing that reset signal because of a fatal error occurring too early in the boot sequence for any handlers to spit a code at you.

What you need to do is decode the entire address range to figure out what the addresses are on the bus before the reset occurs, also watch the BERR line during these events too, monitor your E/VPA/VMA state here as well. I bet there is a broken line to an IC or a bad IC and the CPU cannot properly read/write to that IC and its causing a fatal error and the ROM is going into reset.

the 68K CPU i dont think can be self reset. You can drive the RESET line, but not itself. So what happens is the ROM routines write the "please reset me" signal to the VIA, and the VIA has to do that. in the portable? the VIA and PMGR communicate over an 8-bit port. PMGR has direct control of the SYS_RESET line, so its being told by the VIA to reset the system. Or... the PMGR itself is bad.
 

moldy

Well-known member
Thanks a lot for suggestions @techknight, they helped me a lot!

what the addresses are on the bus before the reset occurs
From what I could see, they are always either $00 or $90 so RAM and ROM (including the ROM overlay). Nothing else.

also watch the BERR line
BERR stays high no matter what so no bus error.

I bet there is a broken line to an IC or a bad IC and the CPU cannot properly read/write to that IC and its causing a fatal error and the ROM is going into reset.
That's spot on! :cool: I started poking at various lines using a logic analyzer when the board was cyclically resetting. ADDR(10) (behind the R69 47ohm resistor) was completely silent, nada. And it turns out it's shorted to ground. I'm not sure where exactly yet, will look into that in the next few days.

Does this sound common?

There are plenty of chips that could short this line: ASC, VIA, SWIM (but it's desoldered and pads are clean), ROM and RAM. I'm wondering if the only way is pulling them one-by-one.
 

mdeverhart

Well-known member
Before you start messing with IC’s I’d look REALLY carefully for any areas where ADDR(10) is close to one of the caps you replaced. Latent cap goo or a solder bridge from a cap pad to a via could easily bridge a signal to GND.

How shorted are we talking? 100 Ohm? 10? 0?
 

moldy

Well-known member
So this story reached a happy end :)

@mdeverhart was spot on:
where ADDR(10) is close to one of the caps you replaced
Thanks a lot for this comment that made me just unsolder a few of them and solder back in one by one. Indeed one of the caps (C11) was shorting to the nearby tracks which lost their soldermask which was eaten away or crumbling because of the cap goo. Oh yeah! :cool:

After soldering a smaller-sized cap (same value though) and SWIM back I'm getting a happy Mac:
IMG_5706.jpeg
Here a complaint in Polish that it's missing RAM to boot System 7.0. It got better after plugging the original RAM card back :)


Lessons learned for me:

1) Logic analyzer

The funny little logic analyzer connected to a USB was a major help in debugging a non-booting system and finding the offending address line. I enjoyed using it a lot and I find it very convenient to see the digital states on a large computer screen vs my 2-channel Tek2232 analog/digital scope.

2) Be triple careful about the tantalum cap sizes

I looked at the cap list at https://recapamac.com.au/macintosh-portable-backlight/ and assumed based the D-case size will fit nicely. But it didn't. It was a pain to solder caps, especially next to IDC connectors.

Below, you can see C11 (B-size, 47uf, 20v) vs C9-10 (D-size, 47uf, 16v), both polymer-tantalum. Oh, how much more convenient it is to solder the B-sized ones compared to D-size which barely leaves any pad accessible "on the ends".

So that's it - the computer boots normally and happily from the original HDD (the seal is fine, but I'll replace it one day). Another Portable saved!

Thanks everyone for help!


IMG_5716.jpeg
 

mdeverhart

Well-known member
Glad you got it going!

Logic analyzers are awesome for this type of troubleshooting, and you did a great job of using it to isolate the problem.
 
Top