Date : Wed, 08 Aug 2007 09:27:32 +0100
From : julesrichardsonuk@... (Jules Richardson)
Subject: Emulating Econet hardware?
Jonathan Graham Harston wrote:
> You would need to find a +5v line.
One of the internal drive power connectors hung out the back of the case would
do the trick in absence of an external supply, I suppose. (I do wish an aux
power connector had been standard on PCs)
> As Econet is a background
> interupt device, you would need to find a way of getting a signal
> from the parallel port to generate an interupt.
Historically, one of the input lines on the PC's port was connected to one of
the interrupt lines (typically INT7 I think).
I believe the plan was for the attached printer (remember that original ports
were uni-directional and just intended for printer use) to signal the CPU when
it was ready for more data. What actually happened though was that the PC's
such a heap of junk, it proved far more efficient to just poll the port's
input lines than it did to go through the whole interrupt process.
> As has been pointed out, interupt latency is the limiting factor,
> but most PCs nowadays run faster than the 2MHz BBC which managed
> to grab incoming data adequately.
Although I think they *still* run the parallel port through the ISA bus
emulation layer, which means it's still stuck at ISA speeds, rather than being
a general purpose I/O port running at close to the CPU's speed.
> With a network clock running at 200KHz, up to 25,000 bytes fly past
> every second. Each byte needs to be removed from the ADLC within 40us.
> The 2MHz 6502 has 80 clock cycles available in that 40us time-slice.
> A 200MHz 80x86 would have 8000 cycles to pull a byte from the ALDC
> before it was trampled by the next byte.
See above - I don't think the PC ever moved past max ISA speed (which was
around 8MHz I think) regardless of CPU clock. Plus I think it takes a few ISA
clock cycles to actually transfer data over the bus...
cheers
Jules