<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Fri, 10 Nov 2000 13:16:04 +0000
From   : jgh@... (Jonathan Graham Harston)
Subject: Re: Tape FS Questions

> Message-ID: <13651570.973595420235.JavaMail.imail@...>
 
Thomas Harte <t.harte@...> wrote:
> >  Check out the AUG. i can't quote chapter and verse as I'm at work
> >  but the memory map section gives a good description. It is only
> >  valid for BBC OS 1.20, however.
 
Valid for other OSs too.
 
> Perhaps I am missing a section, but this seems to only document memory
> locations such as the ones around &3b0, leaving the zero page locations
> documented only as general FS ones rather than as whatever they are used for
> by the tape FS specifically. But I can confirm that the &3b0 spaces hold for
> the Electron OS 1.0 however.
>
> So does anyone know anything about the tape FS zero page usage (on a BBC or
> Electron)?
 
Is this detailed enough for you?
 
----8<----
&00E2-&E3 CFS/RFS workspace
[snip]
CFS/RFS Workspace at &00E2-&E3
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
&00E2 Cassette/RFS filing system status
    Bit 0 - Input file open
        1 - Output file open
        2 - Unused
        3 - Set if cataloguing
        4 - Unused
        5 - Unused
        6 - At end of file?
        7 - End of file warning given?
&00E3 Cassette/RFS filing system options
[snip]
&00EB       CFS/RFS 'critical' flag
[snip]
&00F5       Current (PH)ROM or RFS ROM number
&00F6-&F7 (PH)ROM pointer
[snip]
&0247 fx183 &B7 CFS/RFS ROM/Cassette switch
[snip]
CFS/RFS Opened input file info
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
OS=0,1,2 (Electron, BBC, BBC B+)       OS=3,4,5 (Master series)
&02EA-B Block size                     &02E9-A Block size
&02EC   Block flag                     &02EB   Block flag 
&02ED   Last input character           &02EC   Last input character
[snip]                                 &02ED   Unused
&0380-&03DF CFS/RFS workspace
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
&0380-&038B BPUT header, filename
&038C-&038F BPUT header, load address
&0390-&0393 BPUT header, exec address
&0394-&0395 BPUT header, block number
&0396-&0397 BPUT header, block length
&0398       BPUT header, block flag
&0399-&039C BPUT header, spare
&039D       BPUT offset byte
&039E       BGET offset byte
&039F-&03A6 Unused
&03A7-&03B1 BGET filename
&03B2-&03BD Last block header, filename
&03BE-&02C1 Last block header, load address
&03C2-&03C5 Last block header, exec address
&03C6-&03C7 Last block header, block number
&03C8-&03C9 Last block header, block length
&03CA       Last block header, block flag
&03CB-&03CE Last block header, spare
&03CF-&03D0 Last block header, checksum
&03D1       Sequential block gap (set by *OPT 3)
            Always set to &19 on a hard reset
&03D2-&03DC Filename being searched
&03DD-&03DE Next BGET block number
&03DF       Copy of last block flags
[snip]
&0900-&09BF CFS BPUT output buffer
[snip]
&0A00-&0AFF CFS BGET input buffer
----8<----
 
-- 
J.G.Harston (JGH BBC PD Library) 70 Camm Street, Walkley, SHEFFIELD S6 3TR
jgh@...                - Running on BBCs & Masters with SJ MDFS FileServer
Z80+6502/CoPro+Tubes/Econet+SJ - - - http://www.mdfsnet.f9.co.uk/User/JGH/
A super computer is a machine that runs an endless loop in just 2 minutes.


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