[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NadaNet for the //c - just an idea



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

> I've made some progress on creating common nodes for doing the net
> "setup" and "takedown" code.  It would be implicit for high-level
> NadaNet requests, but M/L programmers who wish to do lower-level
> operations would need to call "setup" and "takedown" explicitly
> to bracket network activity.

That seems a reasonable tradeoff to me ...

Matt