<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Mon, 03 Jul 2000 08:55:21 -0700 (PDT)
From   : Angus Duggan <angus@...>
Subject: Re BBC serial filing system

Wayne Allen writes:
>Hi All,
>
>I noticed a comment a few messages regarding the writing of a serial filing
>system for the bbc (possibly using xfer) I am going to make some attempt at
>this, so if anyone has any ideas as to what they want it to be able to do
>then please drop me a line. In short the idea is to utilise the current file
>i/o vector set and then to write the drivers to run the link. The proggie
>will have to be in assembler, and possibly be blown into ROM.
> The inital design will be via BBC and a linux machine, mainly because I
>find the serial link programing slightly easier.
>
>Progress will probably be slow at first, as I haven't programmed a BBC in
>years, but I learnt assembler on a BBC all those many years ago.


Write it as an FS ROM. You need a service entry point, suitable commands and
shift-break sequence for enabling/disabling it, workspace claims and the
like. If you are interested, I can probably supply you with boilerplate code
for these parts, taken from my own hierarchical disc filing system. They will
be in text assembler format, suitable for my own assembler/disassembler ROM,
and will need a large amount of massaging for an SFS. I don't think you'll
need to claim NMI and you may get away with very little absolute workspace (I
expect some for command parsing will be needed). The filing system zero-page
workspace should be sufficient.

I'd leave all of the smarts to the other end, and make the protocol as simple
as possible (maybe even transmitting commands to the PC end with minimal or
no parsing, and doing it all at the remote end). It would be a good idea to
add error-detection and recovery to the wire protocol; something as simple as
block-by-block checksums and re-transmission of failed blocks should work,
but you'll have to be careful about interaction with OSBGET, you can't
necessarily read a whole block before passing any bytes on.

a.


<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>