Date : Fri, 10 Nov 2000 13:16:04 +0000
From : jgh@... (Jonathan Graham Harston)
Subject: Re: Tape FS Questions
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.