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

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



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.

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.

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