mdj wrote:
On Sep 14, 6:12 pm, "Michael J. Mahon" <mjma...@aol.com> wrote:mdj wrote:On Sep 14, 10:14 am, "Michael J. Mahon" <mjma...@aol.com> wrote:Michael J. Mahon wrote:Ferdinan Meyer-hermann wrote:To: Michael J. Mahon Michael J. Mahon wrote:Cool, Ferdinand! I think this could work, provided that a special driver for PB1 was added (according to IIc docs, you can't drive a IIc PB input with an emitter follower). Of course, all the needed power is available at the disk connector.One could also use the WRITE PROTECT signal for reading from the net to allow for a one-connector solution, as the signal can be easily driven by a '125, which then can also replace the output circuitry above (with the other three units of an AC125 wired in parallel, one would have 75mA guaranteed drive capability). 3x74AC125 in parallel |\ PH0-----| >---|>|-----+--------->NadaNet |/o | | | /EN-----+-+ | | | o/| | WPROT---< |-----------+ \| 74AC125 The signal can be read in the high bit of $C0EE, if the controller is configured for checking write protection (STA $C0ED).With some multiple of 0.5us latency in rise and fall times, no doubt.... I'd have to do some experiments with WRPROT to determine any limits on timely sensing. And the diode should just be an emitter follower to OR onto the net.And the send routine always turns off the output, PH0 in this case. There is one coding issue--today there is no common "exit" for NadaNet, so disabling would require some rework. (This same issue would have to be addressed to deal with IIgs speed control.)I wouldn't think that there are so many exits that you can't just add an STA $C0E8 to all of them (Although thats not a good style)For the IIc, a single instruction in a few places wouldn't be a deal-breaker, but for the IIgs, it's several instructions in a few places. That makes it appropriate to consolidate the exits.A brief status update... I've done some experiments with a IIc+ and have found out a couple of annoying things: 1. When de-selecting the network by turning the "motor" off, there is a 1+ second delay before the /EN line is deasserted. I can disable instantly by switching to the other drive, but that will cause its motor to twitch. 2. On a IIc+, pin 17 is not /EN2, it's /EN1 (since S6,D1 is not the built-in drive). The accumulation of annoyances would make doing this more kludgey than I hoped, and the space required to adapt dynamically would be way out of line.The only way around both of these issues is to use SmartPort style logic - do an AND on PH1 and PH3 for enable, then transmit on PH0 or PH2 (or vice versa). This would get you something that should work on any disk port - even hanging off the back of a 5.25" on a IIe should be fine. You could probably use a 7408 to do all the logic...This sounds like a reasonable way to go. I have no experience with Smartport signaling, so which combinations of phase lines can I twiddle without fear of interference with (or from) Smartport protocols?Host communication with a Smartport device is negotiated by activating PH1 and PH3. Since these are opposing phases, this doesn't occur during disk access so the combination is unique to Smartport. A SmartPort host->device transmission then happens by activating PH0, and the devices ACK on WRPROT, so if you used PH2 for sending, any device on the bus would be sitting "at the ready" but not do anything. The PH0+PH2 combination is used to initiate a SmartPort bus reset. I'd avoid that one.
Matt, where are the SmartPort signalling protocols documented? I'd like to be sure that we are staying out of each other's "coding space". -michael AppleCrate II: An Apple II "blade server"! Home page: http://members.aol.com/MJMahon/ "The wastebasket is our most important design tool--and it's seriously underused."