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.
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 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.
A possible (but untested?) Econet-to-PC solution for more modern machines could be to use !Samba to share various ShareFS drives?
The InterclockApparently 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 cardThis 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 cardThis 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 machinesThere 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 interfacePicked 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: <firstname.lastname@example.org> >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.