🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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
#526
Author: Paul Gilkerson
Date: Mon, 16 Nov 1992 21:28
36 lines
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
#525
Author: Mike
Date: Mon, 16 Nov 1992 21:55
30 lines
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
#550
Author: Ran Mokady
Date: Tue, 17 Nov 1992 11:17
131 lines
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
#532
Author: Clive Jones
Date: Tue, 17 Nov 1992 17:05
54 lines
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