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

MacToTheFuture SE/30 10/100 Ethernet card

techknight

Well-known member
I'm not against open-sourcing the PCB designs, but I'll talk to my buddy Mark who designed the boards about that.

I will definitely open source the driver code.

However, no point in open-sourcing anything until we get it to work.

We've managed to squeeze the current design into a 2 layer board, which makes the PCBs super-cheap, but going to 4 layers wouldn't be prohibitive. The boards are very small.

I don't want the product to wither & die either, but as Bolle points out making real stuff can be an expensive & time consuming business. Mark and I do this stuff for a living so we're well aware of what's involved. Maybe once we've got it working we can talk to someone else who has an interest in building them commercially.


Once it is working, I hope you do open-source it because I want to port it to the Macintosh Portable after you get it all done. Its 24-bit addressing, but it shouldnt matter. 

 

jamesmilne

Active member
I’d like to make a version for the Mac SE too, which should be pretty close to the Mac Portable. The CPLD gives us a lot of flexibilty with the address decoding.

 

Trash80toHP_Mini

NIGHT STALKER
In case you decide to make the schematics public I could imagine the ethernet part would fit very well onto a board with PDS passthrough and cache slot.

By looking at the parts on the ethernet card I would say I could easily get the routing to fit into 4 layers with passthrough and cache slot in the form factor of the bigger Artmix style PowerCache adapter.
That's exactly where I was thinking it should go. :wink:

Other than pinout, IIRC SE PDS and Portable PDS  are almost exactly the same. Maybe some different buffering requirements? Signals are all the same. and the connector fits on a 10cm board.

 

jamesmilne

Active member
Mark says he’s happy for us to open-source the schematics & layouts.

We’ve got the CPLD going.

Next to try talking to it from userspace, then getting the Ethernet driver going. The documentation is a little sketchy on writing your own Ethernet driver, but I think I’ve got the jist of it. The BasiliskII source was helpful here.

 

techknight

Well-known member
I’d like to make a version for the Mac SE too, which should be pretty close to the Mac Portable. The CPLD gives us a lot of flexibilty with the address decoding.


Exactly. thats why I used one on my RAM card for the portable I used to make. 

 

Trash80toHP_Mini

NIGHT STALKER
Youve probably thought of this already, but what the heck?

cutouts-reverse-mount.jpg

Mounting your breakout board backwards allows an RJ connection to Vonets with mounting point for antenna and a little something extra. Empty holes are for bolting up a soldertail VGA or other connector, nothing but empty holes required for an in cable converted Radius Color Pivot II/IIsi breakout.

LOVE your project!

edit: oopsie, delete the GA and substitute "onets" :blink:

 
Last edited by a moderator:

olePigeon

Well-known member
On a tangent note, and not meant to derail, but has anyone explored A/ROSE development?  Theoretically it's no longer too expensive compared to when it first came out.

 

jamesmilne

Active member
Mark's card has arrived and I've plugged it in to my SE/30. Nothing has exploded, which is a good start.

Unfortunately, it won't talk to me.

Our CPLD is looking for the function code bits to be 0b001, "User Data Space", which I'm guessing may not be set as AFAIK classic macOS always runs in Supervisor mode?

Should we be looking for function code 0b101 instead? Or just ignore the function code bits?

 
Last edited by a moderator:

Bolle

Well-known member
Why not try both? Look for 0b101 and if it still won‘t work go for the bare minimum and only look at the correct address bits.

 

jamesmilne

Active member
Success!

We reprogrammed the CPLD to ignore the FC lines, and now I can read/write registers on the card.

I've also discovered that we did not in fact have to swap the byte order of the data bus in order to talk to the LAN9218. Now all my data is round the wrong way :-D  No matter, I can bodge around that in software until we make more boards.

Now to fire up MPW and write some code to test reading/writing packets...

IMG_3923.jpg

 
Last edited by a moderator:

jamesmilne

Active member
Getting some progress now.

Auto-negotiation and MDI-X (to automatically handle cross-over) is working.

I've got link/speed lights showing up too.

Green is Link.

Orange is 100Mbit.

IMG_3924.jpg

IMG_3925.jpg

 

techknight

Well-known member
gotta get your analog board fixed. have some horizontal foldover going on there which isnt normal. 

 

techknight

Well-known member
So what do you mean by byte order being backwards? 

You mean D0-D7 vs D8-D15? like little-endian/big-endian issue? 

 

jamesmilne

Active member
So what do you mean by byte order being backwards? 

You mean D0-D7 vs D8-D15? like little-endian/big-endian issue? 
Yeah, endian issue. The chip is designed to work with little endian CPUs. If you want to use it with a big endian CPU, the data sheet says the hardware designer will need to accomodate this (swap the bytes).

I’m thinking that our board is not actually wrong. I need to swap the bytes on the CPU when accessing the registers in the 9218 chip.

However when I actually write data into the buffers, which has to be done 32bits at a time, I think the byte-swapping is actually required.

 
Last edited by a moderator:
Top