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

Transformers for homemade LocalTalk/PhoneNet dongles

Mk.558

Well-known member
If you're making PhoneNET adapters, a solid argument can be made for making a so-called Universal Serial Adapter.

Such an adapter would have a DE-9 connector, Mini-DIN 8 connector, activity light, built-in terminator switch, and be capable of switching over to RS232 interfacing. So like, switch to toggle between PhoneNET (with 2 jacks) and RS232, a switch for terminating the second PhoneNET jack, and then two connectors, which you're supposed to only use one. Bonus points if you include activity lights on the RS232 side for all the pins for diagnostic purposes.

And then -- what if -- you used Pin 1 and 6 of a 6P6C wire to interconnect HSK so you could transfer PhoneNET at 860Kbps...

A bigger argument can be made for the DE-9 as the primary focus, since 512Ks and 512Kes have a harder time finding PhoneNET dongles for them.
 

tashtari

PIC Whisperer
I could draft a direct USB to PhoneNet if anybody is interested!
I'm definitely interested in this, it'd be great to be able to get a modern machine on a LocalTalk network and have it look like just another PhoneNet device complete with dongle...

And then -- what if -- you used Pin 1 and 6 of a 6P6C wire to interconnect HSK so you could transfer PhoneNET at 860Kbps...
Hm, what would be generating the clock in this case?
 

Mk.558

Well-known member
I was thinking of a user-adjustable toggle for the different frequencies.

I reckon the Farallon Etherwave Mac/PB adapter just has some onboard doohickey that looks at error rate and dials up / down as necessary. That requires a driver though, and I don't think we have too many people who can write a driver like that. Still think it's worth it to do it once and for all. But that's easy for me to say...
 

tashtari

PIC Whisperer
That requires a driver though
I think that any use of an external clock for LocalTalk requires a driver, unfortunately. I'd love for someone to write a minimal driver that just switches the port to use a clock on HSKi, but I lack the ability to do so myself. If such a driver existed, I could definitely take advantage of it to make a faster TashTalk, so if anyone looking thinks they could manage it...
 

GRudolf94

Well-known member
is there a point to the 1 MΩ resistor and 100 nF cap if the only 'ground' in the board is the pour?
Sooo... The original idea was running AppleTalk over shielded cable, I changed to phone jacks to be like everyone else and that's a remnant that didn't get removed. It's very much an unfinished thing that never got built.
if you replace the 6P4C with a 6P6C, even if you don't connect the extra two pins, it'll help out people like me who bought a huge bag of 6P6C jacks from a surplus retailer and have no idea how to use them up. =D
Might as well - extra drills are free!
 

ymk

Well-known member
I'm wondering how I might do this. I wouldn't think there would be any passive loading effect, that is, as long as the other side of the transformer is unconnected or high-Z'd, it shouldn't matter how many transformers you have on the line... right?

The math works the same as parallel resistance.

If you measure the impedance of a single transformer at 230.4 and 460.8 KHz, you can divide those figures by the number of adapters connected.

I don't get how feeding TXD- and TXD+ directly into a transformer is safe. Is there never DC across them?
 

tashtari

PIC Whisperer
If you measure the impedance of a single transformer at 230.4 and 460.8 KHz, you can divide those figures by the number of adapters connected.
Well, the max DC resistance is listed on the spec sheet as 0.8 Ω, dunno if the impedance can be derived from that...

I don't get how feeding TXD- and TXD+ directly into a transformer is safe. Is there never DC across them?
You mean because the transformer might be driving the line at the same time the Mac is? Yeah, not sure... this is kind of all magic to me on some level.
 

joevt

Well-known member
I think that any use of an external clock for LocalTalk requires a driver, unfortunately. I'd love for someone to write a minimal driver that just switches the port to use a clock on HSKi, but I lack the ability to do so myself. If such a driver existed, I could definitely take advantage of it to make a faster TashTalk, so if anyone looking thinks they could manage it...
Switching the port to use an external clock isn't difficult. Use control code serdSetMIDI or serdSetMisc or kSERDClockMIDI or kSERDMiscOptions. For the Misc control code, use serdOptionClockExternal or kOptionClockX1CTS. Since you're not doing MIDI, the Misc control code is probably more appropriate. https://developer.apple.com/library/archive/documentation/mac/pdf/Devices/Serial_Driver.pdf

The issue is doing it while the LocalTalk driver is using the port. Can you open the serial port while the LocalTalk driver is using it? If not, then maybe you could grab the driver refNum without opening it. That could work, as long as the control code doesn't alter anything else that the LocalTalk driver depends on. https://developer.apple.com/library/archive/technotes/tn/tn1119.html
Will the serial driver perform control calls for the serial port while LocalTalk is using it? If not, then you would have to poke the serial controller registers manually or patch the LocalTalk driver or serial driver.

You can find some documentation at https://developer.apple.com/library/archive/navigation/#section=Platforms&topic=macOS
Search for "serial".

There's some notes and source code in the thread at https://68kmla.org/bb/index.php?threads/localtalk-but-faster.45615
Also some notes at https://68kmla.org/bb/index.php?threads/localtalk-hsko-hski-and-gbi.45050/
 

Attachments

  • SerialDriverStuff.png
    SerialDriverStuff.png
    1.1 MB · Views: 13

tashtari

PIC Whisperer
Switching the port to use an external clock isn't difficult.
Not in terms of the SCC itself, no, it's doing it at the right time in the right way so that it has the desired effect and doesn't get overridden that's difficult... this is where I wind up giving up and hope that the challenge of figuring this out interests someone else. =)
 

olePigeon

Well-known member
What if pins 1 & 6 were connected anyway, but separated with a jumper. That way if someone does manage to write a driver, then people who have an adapter would just need to jumper the last two pins to upgrade the speed.
 

NJRoadfan

Well-known member
Farallon's docs do state that PhoneNet is lower resistance and has a floating ground compared to Apple's connector system. Despite that, you can connect the two together, but distance become limited to what Apple's cabling supports.
 

tashtari

PIC Whisperer
I set up a breadboard with all the rest of the transformers (eight of them) that I had in a line to roughly simulate a more populated PhoneNet network, and it still works great - two systems at the far ends of the line can still communicate with no issues.

1712484473634.png
 

tashtari

PIC Whisperer
I've sent a couple PhoneNet board designs off to JLCPCB. One is designed to have a DIN pigtail soldered to it - these can be obtained in the form of S-video cables with the keying plastic bit pulled off since only the RxD and TxD pins are used and these are coincident with the positions used by S-video - the other is designed to have a standard DE-9 ribbon cable plugged into it for use with the 128k/512k/512ke. Will put kits for these in my store when they come in.

1712834848566.png1712834872449.png
 

cheesestraws

Well-known member
Farallon's docs do state that PhoneNet is lower resistance and has a floating ground compared to Apple's connector system. Despite that, you can connect the two together, but distance become limited to what Apple's cabling supports.

The megnetising impedance that Apple specifies is very high. Wondering if one could munge this a bit and get better distance by adding series inductors? Though this, again, is probably overthinking things.
 

tashtari

PIC Whisperer
Boards are here and working!

photo_2024-04-16_14-04-35.jpg

I've got some IDC connectors coming in for the DE-9 version. The pigtail pictured is one I just had lying around, though, I need to figure out a source for them...
 

trag

Well-known member
I have a Focus Turbonet Phonenet connector here, and on the back it says it was manufactured under license from Farallon. This is one of Focus's early ones. Later they switched to a box without the sloped front and added a termination switch, so the little plugs with resistor could be dispensed with.

Anyway, the back lists the patent number and since patents are available on line these days, there might be some interesting information there. I'm too lazy to look it up myself. Once I read the patents for the X500 family Bandit and Hammerhead chips and my head still hurts.

Farallon patent: 5,003,579

IMG_1682[1].JPG
 

tashtari

PIC Whisperer
The important bit of the patent appears to be:
The transformer is typically a Coilcraft™ P104—i.e., a 1.0:1.0 turns ratio transformer with 100-1000 turns in each of windings of 20-30 gauge wire about an E-form closed loop former of cross-section about equal to a winding loop cross-section, affording a high electromagnetic inertial mass and reducing conductive line interference. The interwinding capacitance of the transformer is very low, typically 7 pF, and the voltage isolation between windings is well over 350 volts, typically 3500 V-RMS, further isolating static charges on the network. The DC resistance of each of windings is under an Ohm, preferably 0.2 Ohms maximum.

The transformer I'm using has a max interwinding capacitance of 20 pF, and a max DC resistance of 0.8 ohms, no word on the voltage isolation or the number of turns or the wire gauge. As @cheesestraws pointed out before, though, the fact that they're pointing to a specific transformer and listing off its characteristics has an air of "this is what we're using and it seems to work"...
 
Top