Date : Fri, 10 Aug 2007 00:56:42 +0100
From : jgh@... (Jonathan Graham Harston)
Subject: Emulating Econet hardware?
>Message-ID: <46B796E9.1070700@...>
Jules Richardson <julesrichardsonuk@...> wrote:
> > * Several configurations for special control fields at the start
> > of a frame/packet, which can be set to one or two bytes.
> > Econet only uses a single 8 bits 'Address' field (station number)
Econet uses a 16-bit 'address' - net.stn - but as to the ALDC,
everything after the opening flag is just 'data', it's irrelevant
what that data is. It's only the Z80 SIO that has the capability
of treating the first byte as an address and doing a destination
match on it. With the 6854 it's all in software.
> Hmm - didn't TorchNET make use of non-standard control fields? I'm sure
there
> was something which made it incompatible with Econet at a pretty low level,
Interesting. I'll have to have a dig around in the code. I
wouldn't be surprised if it uses 8-bit addresses and no control or
port byte.
> Didn't something change between early Econet (System and Atom era) versus
Haven't I posted this before? Some typos corrected:
>> Subject: Re: Econet hardware / software differences
>> Date : Thu, 12 Jan 2006 00:22:21 +0000
>> From : jgh at ... (Jonathan Graham Harston)
>> Subject: Re: Econet hardware / software differences
"Ian Wolstenholme" <BBCMailingList@...> wrote:
> As for logging on, Level 1 Econet does have the *I AM command but
Level 1 *File Server*, not Level 1 Econet.
ECONET
Econet is the wire protocol for communicating over a bus network
with 6854 ACIAs and went through *issue* 1, 2, 3, 4. The NFS
supplied for computers has the issue as the major version number:
version 1.xx, 2.xx, 3.xx, 4.xx.
Issue 1 Econet had 8-bit station ID, 16-bit addressing, no
collision arbitration but had frame acknowledgement. It was
originally designed to be a ring - on the Cambridge Ring model -
but upon hearing about the success of the bus-based Ethernet
system Acorn decided to make Econet a bus network.
Issue 2 Econet got rid of the frame acknowledgement, halving the
number of frame on the network. Upon testing it was found to be
very unreliable outside carefully set up test rigs.
Issue 3 Econet reinstated the acknowledge frame, used 16-bit
station IDs and 32-bit addressing. Frames always start:
<dest stnlo><dest stnhi><src stnlo><src stnhi>
Scout frames are always:
<dest stnlo><dest stnhi><src stnlo><src stnhi><ctrl><port>
Acknowledgement frames are always:
<dest stnlo><dest stnhi><src stnlo><src stnhi>
Data frames are always:
<dest stnlo><dest stnhi><src stnlo><src stnhi><data....>
Issue 4 Econet is a misnomer as it was actually a development in
the NFS, not the Econet system. It implemented local file
buffering on the client station, with PAGE rising by &500 on a
BBC, or buffering in Hazel on the Master.
NetComm
There is an unnamed and often unacknowledged layer between Econet
and NFS - Network Communication, what Osword &14 etc all call.
All Acorn-supplied 8-bit NFSs' Network Communication used Econet
as their hardware layer, but NetComm can use any hardware. On RISC
OS it can use Ethernet. I have uncompleted code to use the serial
port.
NFS
---
NFS is a file system that accesses files on a server accessed over a
network. NFS has always been supplied with Econet network drivers.
Systems 3,4,5 typically used NFS 3.10
The Atom typically used NFS 3.1A
BBCs used NFS 3.30 and later
Masters used (A)NFS 4.20 and later
NFS 4.0x and 4.1x are ANFS for the BBC.
The filing system changed minimally between NFS issues. The
changes were in the Econet system. Any change in functionality
seen by the user/application is a function of the file server, not
the filing system.
NFS prior to 3.20 had 16-bit address fields in the blocks passed
to the network communication routines (OSWORD &14 et al on BBCs).
FILE SERVERS
Level 1,2,3,4 File Server is both a product and specification
for a server that serves files over a network.
Level 1 fileserver specifies:
Requires LOAD and SAVE and RUN support
Requires library directory support to RUN programs from
Minimum of 7-character filenames
No requirement to specifiy a user on logon
No requirement for random access, access control, accounting
No requirement for concurrent serving
No requirement for more than a single file space - ie no
requirement for sub- or sideways- directories.
Level 2 fileserver specifies:
All normal file operations
File access control
Hierarchial directory structure
File random access
Logon user verification
File date stamping
Full pathnames
Minimum of ten-character leafnames (actually, maximum of ten due
to hardwired '10's within the NFS routines).
Multiple reading of files
Level 3 fileserver specifies:
All the above, plus:
Time stamping
User space accounting
Concurrent serving
User Root Directory not tied to being '$.username'
Ability to print serve from the file server
Level 4 appears to be level 3 running on RISC OS.
Several implementation of fileserver met specifications for one
level, and implemented bits of the next level. For instance, SJ
Research's FDFS is Level 2 plus time stamping. The MDFS is level 3
plus file space accounting not user space accounting, creation
date as well as modification date/time.
> Later the command took the form *I AM (<file server number>) <user id>
> <password> from Level 2 onwards.
The *I AM command has /always/ been:
*I AM [<file server>] [<parameters send to file server>]
The file server specified in [<file server>] receives everything
after the "I AM ". It's up to the file server to do whatever it
wants to with the tail of the command.
Don't confuse what the NFS implements (very little) with what the
file server implements (almost everything).
References:
The Econet System User Guide, Acorn, November 1982, Acorn
The Econet Micro Guide, Christopher Dawkins, 1985, Longman
--
J.G.Harston - jgh@... - mdfs.net/User/JGH
The most perfect world is an imperfect world as the imperfections
give people a reason to strive to change it.