• 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.

030 PDS -> LCIII PDS Adapter?

Trash80toHP_Mini

NIGHT STALKER
68040
Title says it all. Dunno if it's possible, but both SE/30 and IIsi slots speak IIci Cache Slot with a little help from adapters made by various companies.

Got a new drill press FINALLY!!!!!! :D Put it together yesterday morning, so I just had to take a shot at coming up with a PCB to drill. I've got a Passive LCIII to PowerCache adapter and lots of folks have been interested in using LC NICs in the 030 PDS. So why not try to get the LCIII PowerCache adapter running in my SE/30 with its Video ROM pulled to disable the Video Subsystem at PseudoSlot $E?

Easier thought of and said than done. It appears that while excising six pins from the LCIII interface for backward compatibility, they also dropped all RESERVED pins along a load of the Power & Ground lines. There are several /CPU-xxxxxx signals mirroring the /PDS-xxxxxx connections it has in common with the 030 PDS.

View attachment 12606

RosettaCache-LCIII-030-003.PDF

Oops! Hit post too soon. Anyway, looks like the /IRQ lines on 030 mirror the /SlotIRQ on LCIII, but probably for offset slots. That's bold black.

Red signals on LCIII PDS socket appear to have no parallel on the 030 slot.connector below.

Bold Purple would be the three clock signals, just gott a figure out which goes where.

Black Control Signals on the left end of the 030 PDS connector appear to have no parallel on the LCIII socket above.

Dunno, I'm shot for the night, whatcha think?

 

Attachments

Last edited by a moderator:
I Would love to have LC PDS Ethernet in my SE/30. Only problem is making sure that a second card (ie vidcard) will still work.

 
Last edited by a moderator:
Whoa! You're jumping way too far ahead there!

This is a proof of concept kind of deal. The LCIII slot IS Slot $E so there are all kinds of nasty kinks to work out and hurdles to jump before getting an LC NIC to work in the SE/30. The IIsi ought to be a whole lot easier because it doesn't need its PseudoSlot $E Vampire Video, the /30's a different sort of animal.

 
Oh yeah I know I was getting ahead. :lol: I just one day want to be able to use those dirty cheap LC PDS NICs with my SE/30, as the 030 PDS NIC is expensive

 
Well, you got me to take look at the subset of signals necessary to run an LC NIC off the 030 PDS and you're in luck. The NICs I've got on hand are LC compatible, so they don't use the extended section of the LCIII PDS. That leaves just a few signals unaccounted for in the spec. for both sides of the equation in this unholy union:

Extraneous signals:

/SNDOUT = SND - Input to a card's amplifier for driving speaker w/o CPU overhead.

/FANSPEED - Whatever :p

Probable extraneous signals, unnecessary holdovers from 68020 signalling:

/16MASTER = AIICLOCK - Pin that requires 17.234MHz timing for 560x384 video mode.

/CH.GND = GND - Maybe it's a special ground line in the LCIII scheme of things, dunno?

/FPUSELECT - My LC NICs don't have 'em, 030 PDS cards don't have this signal.

Easy fix:

/FC3 - Held high for 32bit Addressing Mode.

__________ No clue as to why it might be needed at this point, but just do it?

Probable easy fix:

/SLOTIRQ.E = /SLOTIRQ - Signal expansion card uses to generate interrupt request.

__________ Map to most convenient 030 /IRQ line: maintain driver compatibility?

Looks doable in hardware, dunno about driver flexibility. Methinks Asante LC Card/Asante 030 Driver combo would "just work." Anyway, that's my WAG and I'm sticking to it.

Ratline layout:

Ratline-LCIII-030-003.jpg

Ratline-LCIII-030-003.PDF

Wanted to see if I could do a two sided board with a reasonable number of patch wires. LOL!

Decided to experiment with a single sided layout to see if I could break all the signals out from the connectors to pads for soldering wire jumpers with single tweener-traces and have a look at the shortest - longest paths. Can figure out lengths of patch wires to maintain "trace length integrity," but hoping it won't be necessary for experimental purposes at the SE/30's 16MHz clock rate. IIsi's 25MHz clock is likely a different story.  It's a tossup whether doing all that measuring on top of etching and drilling a PCB would be faster or slower than going with the (equal length) wire wrap prototyping approach. Not likely, but making the board would be more fun. Wire wrap = PITA Besides, I could fit it inside either case by avoiding the use of wire wrap connectors. Graphical representation also developed as a guide for entangling that horrid wire wrapping mess. ::)

Dunno, whatchthink? Driver/IRQ/Trade Length Differential input needed at about this point. ;)

edit: forgot to ask for general help. I haven't found the equivalent of Designing Cards and Drivers for the LCIII, a little help finding that would go a long way. I'm wondering if it's on a Developer CD?

 

Attachments

Last edited by a moderator:
Software:

I think most of the big manufacturer's drivers are the same for Nubus / LC PDS. That would imply that the drivers can look for their ethernet card in any slot, not just LC PDS pseudo slot $E. Designing cards and Drivers for the Macintosh Family states pretty clearly that using pseudo slots would allow manufacturers to use the same driver for NuBus and PDS slots. So, I think the drivers will find the card regardless of what slot it is in and will not need to be modified. That is, if the driver would run on an SE/30 at all.




Hardware:

Assuming that the LC PDS card is hard-wired to decode addresses on pseudo slot $E, I think that by modifying the address signal from the 030 slot to the LC card, you could move the addressing of the card from pseudo slot $E to another slot. In 32 bit address mode, you could just invert A26 between the slot and the card to enable the card when the computer is addressing pseudo slot $A. This would avoid the conflict with SE/30 video RAM/ROM. You would then connect /IRQ2 with /SLOTIRQ.E so that a interrupt from the LC card would correspond with pseudo slot $A interrupt.

I am not sure what addressing mode (24 or 32 bit) an LC PDS Ethernet card uses, or how it would affect all of this though. The modifications to the addresses probably would be more complicated then. I just don't know how that works.

It is a nice coincidence that the LC bus is 16Mhz, like the SE/30 which should make timing a non-issue. 



 
Oh, if everything is in 24 bit mode, you would invert A22 instead, I think. I need to check my LC PDS NIC to see what address lines are decoded.

 
Your thinking is along the same lines as mine.

Sounds like a good plan of attack to me in terms of swapping the Slot ID/Interrupt setup. The DeclROM should report the card to the Slot Manager as being from whatever you hook up to the NIC's  /SLOTIRQ.E Pin A2. You can do that right on your adapter.

Are you designing an adapter PCB to send to a fab? If so, you might want to add a jumper block so the NIC could be addressed at any of the three available IDs on the 030 PDS if it wouldn't be too complicated to implement.

 
I will test it out with a bunch of short jumper wires first, then look at designing it.

Regarding the jumper block - yes, I was thinking a dip switch could work well for that.

 
Sounds good, those M-F jumpers for breadboards are fabulous. Now that 10x10 PCBs are so unbelievably inexpensive, setting up a general purpose adapter board for Address/Data, control line constants and jumpering anything in question would be a great hack in its own right for 96 pin interfaces. But developing that a/o a wider board suitable to 120 pin PDS prototyping would better done in your own hacks thread. [;)]

Working SE/30 boards are relatively rare and much more expensive than IIsi boards. The IIsi bus' higher clock makes it a better testbed, the open case is more convenient and there are no High Voltage warning labels in there!

Timing and bus width aren't issues at all, LC NICs easily run in the LCIII slots of overclocked LC475/Q605 boards. CLK16M/C16M is the 16MHz baseline Apple implemented for any spec. compliant PDS cards to remain compatible as faster Macs were introduced.

As for DIP switches, they're great, but opting for the classic jumper block interface would be a wise move. It's easy to mess up in setting and then fixing switch configs on a VGA adapter, but an incorrect jumper config makes a boo-boo easily spotted on a PCB.

Very happy to see you taking up this nearly thirty year old challenge! Can't wait to see your results!

 
Last edited by a moderator:
Address decoder GALs on my Asante LC NIC seem to decode only address lines A26 and A31 (so the FE00 0000 32bit 16MB standard space for slot E) as well as A16 and A17 (not sure why they are doing that)

The register address pins of the DP83902AV ST-NIC controller are hanging on A[2..4] through some buffers. Data is shifted in from D[16..31].

As the address decoders are not watching A[21..23] the card seems to always be addressed in 32bit mode as the decoders would not pick up the 24bit slot space at $E0 0000

BACK is not hooked up on the ST so it seems the card is never running as bus master. That way just inverting A26 on the way to the NIC while routing IRQ to slot A on the SE/30 PDS should work.

 
I dont think I have seen a bus mastering card yet, except for an accelerator. I am hoping jamesmilne person finishes the LAN adapter using modern parts because I want to take some of that work if he publishes it, and make an ARM expansion card. 

Mainly for a bunch of different little projects. Such as MP3/FLAC acceleration and decoding, etc... Imagine having a mac portable kicking around as an MP3 player. Even one that goes online and plays internet streams. Webkit acceleration comes later. Create some sort of driver that binds the chrome which runs on the mac side, to the webkit engine that runs on the ARM side. 

now THAT would be cool. 

Heck even pop it in my SE/30 and listen to music while writing a paper or something, I dunno. Other cool thing about having an ARM expansion board attached is branching out the USB for mass storage, etc. 

 
Last edited by a moderator:
Back
Top