Thread View: comp.sys.acorn.tech
4 messages
4 total messages
Started by Paul Gilkerson
Mon, 16 Nov 1992 21:28
Getting 3rd Party Filing Systems To Use Showfree
Author: Paul Gilkerson
Date: Mon, 16 Nov 1992 21:28
Date: Mon, 16 Nov 1992 21:28
36 lines
1885 bytes
1885 bytes
I have a RISC Developments IDE Hard disc, and have been trying to get the filer to use showfree instead of the old-fashioned free command (RISC Developments havn't updated their software to take advantage of RO3 yet). If I type: Showfree -FS idefs 4 I get an error message saying that the filing system cannot be found. I assume this is because the filing system does not take advantage of some RO3 feature. Anyway, I looked through the Free module (which provides Showfree), and found that there were three ADFS SWI's. I changed these to the equivalent IDEFS SWI's, and re-ran the module. If I now type: showfree -FS adfs 4 I get a showfree window telling me how much room I have on my IDE harddisc. However, if I then, say, delete a file the showfree window is not updated, and still shows the previous status of my disc. If I re-type the command, then the showfree window is updated. The only way I can see of getting round this, is to have a task continually executing 'showfree'. However this is far from satisfactory (not least because I cann't close the window, and it keeps jumping to the top). What I want to know is if there is anyone out there who knows anything about showfree and how it works, or if anyone has solved the same problem before. I would appreciate any replies. Thanks, Paul. ************ Paul Gilkerson ***** u91pag@ecs.ox.ac.uk ************
Re: Getting 3rd Party Filing Systems To Use Showfree
Author: Mike
Date: Mon, 16 Nov 1992 21:55
Date: Mon, 16 Nov 1992 21:55
30 lines
1873 bytes
1873 bytes
In article <1992Nov16.212802.8912@black.ox.ac.uk> u91pag@ecs.ox.ac.uk (Paul Gilkerson) writes:
>
>I have a RISC Developments IDE Hard disc, and have been trying to get
>the filer to use showfree instead of the old-fashioned free command
>(RISC Developments havn't updated their software to take advantage of
>RO3 yet).
...
>I would appreciate any replies.
Well, I also have a 20MByte hard-disc from Risc Developments (as regular
readers of comp.sys.acorn will know. Unfortunately )-: ) and I had a little
chat with some of the people at Risc Developments when I went to the BBC
Acorn User Show recently.
As a result of this chat (incidentally the most informative chat from RD
yet) I am now awaiting the arrival of the new firmware for the IDE drives -
it is currently in Alpha-test and I have been promised a Beta-test version
ASAP or sooner. The Alpha-test version does look good - not only has the
*showfree problem been fixed, but the drive may now be partitioned with
read/write protect on each partition and so on. All in all a good package -
if they get all the bugs out of it.
So now you know why I bought lots of discs at the show.... (-:
--
Mike Ellis, Darwin College, The University, Canterbury, Kent, England, CT2 7NY.
********* Views expressed are my own and in no way represent *********
********* the views of any past or present employers. *********
Re: Getting 3rd Party Filing Systems To Use Showfree
Author: Ran Mokady
Date: Tue, 17 Nov 1992 11:17
Date: Tue, 17 Nov 1992 11:17
131 lines
3682 bytes
3682 bytes
In article <1992Nov16.212802.8912@black.ox.ac.uk> u91pag@ecs.ox.ac.uk (Paul Gilkerson) writes:
>
>What I want to know is if there is anyone out there who knows anything
>about showfree and how it works, or if anyone has solved the same
>problem before.
>
>I would appreciate any replies.
The Free module provides two SWIs which enable any filing system to provide
a RISC OS 3 style free space display:
Free_Register (&444c0)
In:
R0 = filing system number.
R1 = address of routine to call to get free space information
R2 = R12 value on entry to above routine
Out:
Registers preserved.
The routine pointed to by R1 will be called in USR mode, with the return
address already pushed on the stack.
Since the routine is executed in USR mode, you should not use the
provided stack, if you need any stack space, you will need to allocate it
yourself. (It is safe to assume that the stack will be deep enough to hold
the entry registers).
The routine will be called with the following reason codes in R0:
NoOp (0)
In:
R0 =0
Out:
-
This should just return to the caller.
GetDeviceName (1)
In:
R0 = 1
R1 = filing system number
R2 = pointer to buffer
R3 = pointer to device name / id.
Out:
R0 = length of name
[R2] name to use in window.
This reason code is used to find the name to use in the window. For example
it is used on ADFS drives to convert the drive number to the disc name.
GetFreeSpace (2)
In:
R0 = 2
R1 = filing system number
R2 = pointer to 3 word buffer
R3 = pointer to device name / id.
Out:
R0-R3 preserved.
[R2] Total size of device (0 if unchanged from last call)
[R2+4] Free space on device
[R2+8] Used space on device
CompareDevice
In:
R0 = 3
R1 = filing system number
R2 = pointer to file name
R3 = pointer to device name / id
R6 = pointer to special field
Out:
R0-R3,R6 preserved.
Z set if R2 & R6 result in a file on the device pointed to by R3.
This call can simply return with Z set if the filing system (e.g.
RAMFS) is a fast one (i.e. if the time to process reason call 2 is less than
that required to process this call).
------------------------------------------------------------------------------
Free_DeRegister (&444c1)
In:
R0 = filing system number
R1 = address of routine
R2 = R12 value on entry to above routine
Out:
Registers preserved.
This is used to remove the support after it has been registered with
Free_Register.
Hope this helps,
>Thanks,
>
>Paul.
>
>
> ************ Paul Gilkerson ***** u91pag@ecs.ox.ac.uk ************
Ran.
-----
RMokady@acorn.co.uk |
Ran Mokady | "We're children, Needing other children
Senior Software Engineer | And yet letting our grown up pride
Technical Support | Hide all the need inside
Acorn Computers | Acting more like children than children"
Cambridge, UK. |
Re: Getting 3rd Party Filing Systems To Use Showfree
Author: Clive Jones
Date: Tue, 17 Nov 1992 17:05
Date: Tue, 17 Nov 1992 17:05
54 lines
2685 bytes
2685 bytes
In article <1992Nov16.212802.8912@black.ox.ac.uk>, u91pag@ecs.ox.ac.uk (Paul Gilkerson) writes:
[ Tried hacking the FreeSpace module to handle his IDEFS ]
> What I want to know is if there is anyone out there who knows anything
> about showfree and how it works, or if anyone has solved the same
> problem before.
The FreeSpace module knows, initially, how to deal with ADFS, RAMFS, NETFS,
NFS and SCSIFS. Other filing systems have to register by calling:
SWI Free_Register
r0 = Filing system number
r1 = Address of handler routine
r2 = r12 on entry to handler routine
...and deregister by calling:
SWI Free_DeRegister
r0 = Filing system number
The handler routine is called with:
r0 = 0 - No-op (just return)
1 - Get device name
r0 <- 1
r1 <- FS number
r2 <- Buffer for result
r3 <- Device name / id
r0 -> length of name
r1 preserved
r2 preserved
r3 preserved
2 - Get free space for device
r0 <- 2
r1 <- FS number
r2 <- Buffer
r3 <- Device name / id
r0-r3 preserved, or r2=0 for free space not changed
[r2] should be set to total device size
[r2,4] " " free space
[r2,8] " " used space
3 - Compare device
r0 <- 3
r1 <- FS number
r2 <- filename
r3 <- Device id
r6 <- Special field
r0-3,r6 preserved
Z is set on exit if r2,r6 indicate a file on device r3, clear
otherwise.
Now - whether or not you can use that to build a free-space monitor for your
IDEFS is a different matter, of course. (-8
--Clive.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads