• Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.

Any apps that probe Nubus space?

Ugh, forum ate my reply. Yes, that points at the FPGA as the buffers wouldn't be used for the card identity checking, and I'd expect the ROM access cycle to be based directly off the nubus clock. It should likely issue an acknowledge even if the buffers were completely skunked. And, yes, they are hard to come by - ran into that when building a NuBus development board recently :)

It would be worth checking that 20mhz crystal. Those have failed with some regularity on MacCons, and AFAIK the ST-NIC makes available a buffered version of that clock for arbitrary use on one of its pins. Check the datasheet. It's possible the FPGA has some internal state that depends on that clock.
 
@joevt also encouraged me to inspect memory directly, and indeed that was this thread's original direction.. I got bad accesses but did not trust my use of the memory map. Today I double checked $A and also tested the spaces for the two other cards ($9, $B) in that system. Woe is me: either it's the FPGA, or those hard-to-find bus interface logic chips...
Slot 9 looks correct. fhByteLanes is 0x78 which means only the fourth byte of every 4 bytes is valid. Your output shows the last two bytes (2BC7) of fhTstPat.

Slot B is also correct. fhByteLanes is 0xA5 which means the first and third byte of ever 4 bytes is valid. All the bytes of fhROMRev (01), fhFormat (01), and fhTstPat (5A932BC7) are shown in the output.

Virtual Memory is disabled?
 
I decided to lift the ST-NIC. The only real corrosion on the board was at its lower right corner near C44, and while we seem to all suspect the FPGA first, I thought maybe I would find some damage under it that might explain things. I replaced the can caps including C44 as soon as I got the board.

So, look at the photos.. the sixth pin from the right on the bottom row of the ST-NIC (pin 27, near C44) might look dark. Solder removal on the leads of the chip was going surprisingly well. And I knew I had wicked the last of the solder out from that pin when that lead fell cleanly away from the chip under its own weight.

Pin 27, corroded completely through. May not have been conducting. It left behind a stripe of green crud on the packaging. It cleaved cleanly right even with the package. No hope of reattachment, and it's one of four common Vcc pins. So, maybe it's expendable. No telling if the corrosion penetrates into the package, but the edge of the lead there is almost as black as the plastic.

And maybe some part of the chip that the FPGA needs was unpowered.

I looked around and saw no supplier for scavenged or old inventory DP83902s (ST-NIC).

Lifting the chip may be beyond my skill, too. After much patience, the board looks perfect, not a pad harmed.. but there's still the tiniest solder bridge under most of the leads, and very hard to reach even with my finest wick. I am still interested in lifting it, partly to gain the rework skills to replace a PLCC-84, but also in case something like the oscillator dependency you mention is explained by damage under the chip, or there are other rotten leads remaining.

You can see some corrosion spatter on the case of the crystal, too. Had I a replacement ST-NIC, I would certainly replace the crystal too.

Let me be certain to thank everyone who replied here.. very good advice, a few new tools, and good reading. Thanks all, again.
 
It's not a bus mastering card, no way to do that with the hardware on the card. It does expand all accesses to 32 bit to make the most of relatively expensive nubus cycles. A pretty common design pattern for a nubus or PDS ethernet board. Not immediately obvious what they're using to decode the upper address bits and check ID bits but the FPGA could be doing that as only 8 bits are needed.

In my ongoing self-education about the ST-NIC DP83902 chip, I found this design note describing how one can develop a NIC for the old PC-XT bus with it. In it, they describe using a small PAL for the decode, although for classic PC-XT the I/O addresses were in low memory (.. everything was ..) and so they decode A3-A9. They also describe using a second small PAL to support a boot EEPROM feature on the reference card. For this Nubus card with the ample real estate of the 3042 FPGA available, perhaps decode is being done there?
 
Last edited:
Do they have to be ALS? I might have some 640s, think they are ACTs, but would need to check. LMK

I'm not sure what the timing requirements are.. my gut tells me they went with (pricier) ALS for speed and/or fanout? And being unsure of why, I'm ill equipped to make any swap there. But thanks for the offer!

I think we have a fair amount of reason to think that the problem is elsewhere at this point. Haven't ruled out the bus glue logic, but I'm focusing on the ST-NIC based on @zigzagjoe 's theory that the ST-NIC wasn't delivering the clock to the FPGA. Stay tuned :)
 
In my ongoing self-education about the ST-NIC DP83902 chip, I found this design note describing how one can develop a NIC for the old PC-XT bus with it. In it, they describe using a small PAL for the decode, although for classic PC-XT the I/O addresses were in low memory (.. everything was ..) and so they decode A3-A9. They also describe using a second small PAL to support a boot EEPROM feature on the reference card. For this Nubus card with the ample real estate of the 3042 FPGA available, perhaps decode is being done there?

Yes, that was my theory as there's not the discrete logic that normally would do that decode. It's a bit silly to waste FPGA IOs on that, but as they had nothing better to do, I guess...

ACT logic should generally be a drop in replacement for ALS. Faster with superior drive characteristics and less loading as it's CMOS tech. May lead to more line noise/ringing/ground bounce due to the higher drive, but typically not a problem. However I would not replace any of the latches/buffers until you have a symptom that points at them being the problem.
 
I saw @zigzagjoe 's suggestion to replace the ethernet chip's crystal after I had started to remove the ethernet chip, but had not gotten far. I ordered a new 20MHz crystal and tacked down the leads on the chip that I had freed. It did lose one very corroded power pin.

After double-checking continuity on the remaining pins, I powered the card up. Using a Saleae scope on the chip's clock output pin, I saw a flatline. 100MS/s digital or 10MS/s analog, same.

I replaced the crystal. I had not measured the filter caps supporting the crystal; I had just ordered an 18pf load crystal and had my fingers crossed, "close enough". Powering this up, the Saleae still showed nothing on the clock out pin. Especially with one power lead missing on the ethernet chip, I think all bets were off anyway.

While waiting for the crystal to arrive, I had found for cheap an old PC ISA ethernet card with a socketed Winbond pin-for-pin clone of the DP83902. Turns out many out the old NE2000's used the DP83902 ethernet chip or a clone of it. I have no ISA systems left to test such a thing out, so this was a wild card (no pun intended). It looked to be in mint condition. And a socketed PLCC, perfect.

Now it was time to sacrifice the old DP83902 and solder down the clone in its place. While removing the old DP83902, I found two more badly corroded pins that had looked fine from the outside. Both just fell free when the solder was wicked out from under them. So.. this was a no-looking-back move, but probably zero risk (in hindsight). The cleaned pads looked quite good and the new chip went on smoothly.

Powering this up produced a waveform on the new chip's clock output. The Saleae samples digitally at 100MS/s, and it showed what looked like two clocks superimposed - there was a beat frequency in it. A series of cycles at nearly 100MHz, then a few cycles at about 33.33MHz.. nothing like the desired 20MHz. The Saleae might not have been the ideal tool for this.

Thinking that I chose a crystal badly matched to the filters on the board, I replaced the old crystal. Same result: beating clock. Hmmmph.

TattleTech still couldn't locate the card during any of these trials. But I doubt I can expect the FPGA to function with that sort of clock input to it.

So if I continue with this effort.. try to locate a datasheet for the Winbond chip (none found so far). Add a 20MHz resonator (TCXO) to give the FPGA a dedicated clock - but it would probably need to be synchronous with the ethernet chip..
 
While waiting for the crystal to arrive, I had found for cheap an old PC ISA ethernet card with a socketed Winbond pin-for-pin clone of the DP83902. Turns out many out the old NE2000's used the DP83902 ethernet chip or a clone of it.
The original 3Com/Apple Ethernet NuBus board design and its many, many 3rd party clones are in fact a Mac "port" of the NE2000. Same chips, driver software works the same way, just the bus interface is different.
 
Circling back here.. I don't know where my head was at when I decided to drop a "pin compatible" FPGA in for the original without changing the configuration ROM in lockstep. I have a software engineer's POV of an FPGA but, it seems slightly unlikely that the bitfile for any NatSemi FPGA will work on an "equivalent" Winbond FPGA. This may or may not explain the corrupted clock output, but no matter.. if I really want this Ethernet card to come back to life, I need to remove the Winbond FPGA and find a DP83902 to replace it.
 
DP83902s are commonly found in vintage PC ISA NE2000 cards. The struggle is finding an eBay listing for one where you can actually read the chip number in the photo.
 
Do they have to be ALS? I might have some 640s, think they are ACTs, but would need to check. LMK
ACT would probably work as an alternative for ALS, though they have different driver properties.

@Addicted : A supply issue you might have had on the 74ALS640 seem to have been transient, as I see significant stock at MOQ=1 at Mouser. ALS are generally fairly available.
 
@Melkhior - @zigzagjoe concurs that the two should be interchangeable, and I agree with him that I should hold off on replacing the 640s until there's a smoking gun there.. but I will check Mouser stock today and possibly get a few, just in case, especially if I have an order of other things (I never have enough solder braid/wick..) lined up anyway. Thx for the alert!

I saw a DP83902-equipped card on eBay and sent a message to the seller asking to confirm that the one I would receive would be that very card and chip. No reply yet.
 
Scratch my reply about the "Winbond FPGA". Not enough sleep for a while. Confused the DP83902 with the AT&T FPGA on the Nubus NIC. Posted without coffee. Mindlessness ensued.
 
Last edited:
Back
Top