Other interfaces

EEA index

Interfaces
BBC micro
BBC B+
Card - early
Card - later
RiscPC NIC
Others

Introduction
FileStore
MDFS
Others
Clocks
Bridges
Misc h/w
Testing
Misc info

The "EcoLink" (PC ISA card)

The PC's interrupt handling system is a piece of crap. It was pretty poor in the days of (E)ISA cards, and these days (with PCI cards and USB bridges) you will probably find a lot of stuff proudly claiming to be "BusMaster" compliant. That's a cutesy term for DMA. In other words, hijacking the PC's data and address buses to poke data directly to where it is required (i.e. DVD interface to video card memory) without involving the processor. Not only is it a lot quicker to do it like that, but if you had to wait on interrupts to be serviced, you'd get old and die long before anything interesting happened. Heck, even the now-obsolete parallel port had a DMA mode, so drivers could pull data from scanners at speeds approaching reasonable. Probably the last vestige of actual interrupt use is that weird ticker that runs at something like 18.2 ticks per second, and the keyboard. Yes, the PC's interrupt system can keep up with a human typing...

Okay, that is really unfair on the lame-ass disaster of an interrupt system implemented in the PC, but it helps to explain why the EcoLink is as complex as it is.
Offering around 64K dual-ported RAM (only 32K visible to the PC), an 128 bit IIC EEPROM for configuration, and a 65C12 processor, plus the familiar ADLC combo for talking to the network.
There is also an option for a 32K EPROM to be fitted to allow the PC to work in a discless mode.

I believe the system works in that the PC only ever sees high level chunks of data, perhaps the EcoLink interrupts once every end-of-transfer or 1Kb, whichever is sooner, while the on-board processor handles all the low-level Econet stuff.
The control software is originally placed into the RAM by the host PC, loaded either from the optional boot ROM, or I presume from some sort of driver. This permits the EcoLink's internal software to be altered if necessary during its lifetime.

The EcoLink is a standard ISA card that works on older PCs running DOS 3. It appears to have problems on anything later, though I'm not quite sure why.
I don't think that many were ever made, and what with the general lack of support for ISA in modern computers, it is probably more an interesting piece of history than anything else.

A possible (but untested?) Econet-to-PC solution for more modern machines could be to use !Samba to share various ShareFS drives?

 

The Interclock

Apparently a version of the standard Econet card produced by XOB. It differed in that an on-board clock was provided. I don't know anything about this, but I would imagine one Interclock, two normal Econet cards, and a Y-piece would be all that is required for a quick'n'dirty connection of three machines without the need for a clock box or physical server (they could use, perhaps, awServer or Level4)?

 

The A4 econet card

This is like a regular Econet card, only modified to fit without the compact confines of the A4's profile - as the A4 is Acorn's (only) laptop.

 

The A4000 econet card

This is like a regular Econet card, only modified to fit without the compact confines of the A4000's profile - as the A4000 is much like a shrunken A5000.

 

Post-Acorn machines

There are no doubt those who have succeeded in fitting Econet to machines not ordinarily designed to support it, but it is a rather DIY affair. In a way it is a shame that Econet-on-a-podule was never produced. The Iyonix maintains podule support, so if there had been an Econet podule... That said, the network card is often seen as a cut-down "podule 8", so perhaps making one won't be that hard? This would be followed up by rejigging the Econet software to search for the podule and communicate in that manner?

Sadly, I feel that the connectivity with Econet may be over, restricted to hardware already considered to be 'old'. This shouldn't concern us too much, as while a modern RISC OS machine may have no concept or support for Econet, we shouldn't forget that new PCs often have no concept or support for a native parallel port - and in this respect the Iyonix is no different - you'd need a USB-to-parallel dongle like everybody else!

 

Generic parallel port interface

Picked up from a Beeb-related mailing list. Reformatted to fit better. Might give you some ideas?
From jgh at arcade.demon.co.uk  Wed Aug  8 00:14:34 2007
From: jgh at arcade.demon.co.uk (Jonathan Graham Harston)
Date: 08 Aug 2007 00:14:34 +0100
Subject: [BBC-Micro] Emulating Econet hardware?
Message-ID: <070808005502@arcade.demon.co.uk>

>Message-ID: <d8834d20708061250y337ef241x892e1f06a9db74ec>
 
"Alex Taylor" <zeem.uk at googlemail.com> wrote:
> I was originally wondering if it was possible to make a simple
> parallel-to-DIN cable and emulate the whole thing in software,
 
In software? Eeek! It's exactly the sort of task existing hardware
is so much more effective in doing.
 
A bidirectional parallel port had 8 data lines, four output
control lines and four input control lines. To interface to the
standard Econet module you need 8 data lines, four output control
lines and an interupt input line. It's physically interfacable:
 
      25-D
    Parallel               Econet
     Port                  Module
    
      D7   ------<->-------  D7
      D6   ------<->-------  D6
      D5   ------<->-------  D5
      D4   ------<->-------  D4
      D3   ------<->-------  D3
      D2   ------<->-------  D2
      D1   ------<->-------  D1
      D0   ------<->-------  D0
    
    STROBE ------>---------  RS0
    AUTOFD ------>---------  RS1
    INIT   ------>---------  RST
    SLCTIN ------>---------  R/W
    
    ACK    ------<---------  IRQ
    BUSY   ------<----
    PE     ------<----
    ERROR  ------<----
 
You would need to find a +5v line. 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. I don't known PC
hardware in enough detail, but on the BBC the ACK line is
connected to the USER VIA CA1, and can trigger IRQs.
 
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. However, PCs are notoriously
crap dealing with background interupt processing.
 
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.
 
It would all depend on
 
- the parallel port being able to be programmed to raise
  interupts
- the parallel port being able to be 'turned around' in less
  than 20us
- the operating system allowing you to access the hardware
  and memory directly
 
-- 
J.G.Harston - jgh at arcade.demon.co.uk - mdfs.net/User/JGH
Taxation is like dairy farming. You have to extract the maximum
amount of milk with the minimum amount of moo.


Copyright © 2008 Rick Murray