| Click here to select a new forum. |
| MacToTheFuture SE/30 10/100 Ethernet card |
Posted by: techknight on 2018-06-25 14:40:15
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.
|
Posted by: trag on 2018-06-25 16:43:39 So very cool...
|
Posted by: jamesmilne on 2018-06-25 16:52:50 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.
|
Posted by: Trash80toHP_Mini on 2018-06-25 22:12:42
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.
|
Posted by: jamesmilne on 2018-06-26 11:43:00 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.
|
Posted by: techknight on 2018-06-27 15:17:03
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.
|
Posted by: kreats on 2018-06-28 01:02:54
I did not see the part where I had to build hundreds of adapters for everyone This is fair enough. Could you upload the design to OSH park though, so anyone can easily order with a click?
|
Posted by: Trash80toHP_Mini on 2018-06-28 09:59:26 Youve probably thought of this already, but what the heck?

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:
|
Posted by: olePigeon on 2018-06-28 16:38:22 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.
|
Posted by: jamesmilne on 2018-07-03 12:53:10 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?
|
Posted by: Bolle on 2018-07-03 13:47:08 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.
|
Posted by: Trash80toHP_Mini on 2018-07-03 16:11:26 WAG: might there be documentation available for early versions of 68000 series embedded processors that might be helpful?
|
Posted by: jamesmilne on 2018-07-05 07:04:26 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...

|
Posted by: Trash80toHP_Mini on 2018-07-05 08:20:20 Wow.
|
Posted by: jamesmilne on 2018-07-05 10:12:31 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.


|
Posted by: joethezombie on 2018-07-05 11:08:46 Ah ha! Serious awesome sauce watching your progress!
|
Posted by: techknight on 2018-07-05 16:38:24 gotta get your analog board fixed. have some horizontal foldover going on there which isnt normal.
|
Posted by: jamesmilne on 2018-07-05 16:45:53 Yeah that happened recently. I plan on recapping the analog board soon.
|
Posted by: techknight on 2018-07-05 16:54:13 So what do you mean by byte order being backwards?
You mean D0-D7 vs D8-D15? like little-endian/big-endian issue?
|
Posted by: jamesmilne on 2018-07-05 17:07:03
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.
|
| < 2 > |