Click Here
home features news forums classifieds faqs links search
6071 members 
Amiga Q&A /  Free for All /  Emulation /  Gaming / (Latest Posts)
Login

Nickname

Password

Lost Password?

Don't have an account yet?
Register now!

Support Amigaworld.net
Your support is needed and is appreciated as Amigaworld.net is primarily dependent upon the support of its users.
Donate

Menu
Main sections
» Home
» Features
» News
» Forums
» Classifieds
» Links
» Downloads
Extras
» OS4 Zone
» IRC Network
» AmigaWorld Radio
» Newsfeed
» Top Members
» Amiga Dealers
Information
» About Us
» FAQs
» Advertise
» Polls
» Terms of Service
» Search

IRC Channel
Server: irc.amigaworld.net
Ports: 1024,5555, 6665-6669
SSL port: 6697
Channel: #Amigaworld
Channel Policy and Guidelines

Who's Online
7 crawler(s) on-line.
 71 guest(s) on-line.
 0 member(s) on-line.



You are an anonymous user.
Register Now!
 saimon69:  12 mins ago
 outlawal2:  55 mins ago
 pixie:  1 hr 7 mins ago
 Frank:  1 hr 11 mins ago
 amigang:  1 hr 28 mins ago
 Gunnar:  1 hr 32 mins ago
 kolla:  1 hr 45 mins ago
 matthey:  1 hr 48 mins ago
 OlafS25:  1 hr 48 mins ago
 Lou:  2 hrs 4 mins ago

/  Forum Index
   /  Amiga Development
      /  XADFileSystem development thread
Register To Post

Goto page ( 1 | 2 Next Page )
PosterThread
salass00 
XADFileSystem development thread
Posted on 4-Sep-2010 7:30:54
#1 ]
Elite Member
Joined: 31-Oct-2003
Posts: 2707
From: Finland

For the last few days, this is what I've been working on:


When finished XADFileSystem is going to be to file archives what diskimage.device is to disk images. As you can see from the screenshot (click on it to make it bigger) you can already use it to mount and browse archives.

Note: Since xadmaster.library only supports reading from archives this will of course be a read-only filesystem.

Last edited by salass00 on 04-Sep-2010 at 07:33 AM.

 Status: Offline
Profile     Report this post  
kas1e 
Re: XADFileSystem development thread
Posted on 4-Sep-2010 7:36:42
#2 ]
Elite Member
Joined: 11-Jan-2004
Posts: 3550
From: Russia

@salass00

Btw, did we have xadmaster.library sources ? Just in interest, maybe it possible to add writing to archive in that library ?

_________________
Join us to improve dopus5!
zerohero's mirror of os4/os3 crosscompiler suites

 Status: Offline
Profile     Report this post  
salass00 
Re: XADFileSystem development thread
Posted on 4-Sep-2010 7:59:37
#3 ]
Elite Member
Joined: 31-Oct-2003
Posts: 2707
From: Finland

@kas1e

The xadmaster.library sources are here:
http://sourceforge.net/projects/libxad/

I haven't looked at them so I don't know what is possible or not.

There's an alpha version of XADFS you can download here:
http://a500.org/uploads/xad_fs.lha

To mount an archive with it you should do something like:
setenv XADFS_TEMP_DIR RAM:T
setenv XADFS_ARCHIVE Data:Downloads/xadmasterdev.lha
mount XAD0: FROM XADFS.Mountlist

In the finished version this will of course be made much simpler.

Currently I am looking into what my filesystem should do when it receives a path that contains "PROGDIR:". ATM it doesn't understand this at all and returns ERROR_INVALID_COMPONENT_NAME.

Last edited by salass00 on 04-Sep-2010 at 08:01 AM.

 Status: Offline
Profile     Report this post  
Sprocki 
Re: XADFileSystem development thread
Posted on 4-Sep-2010 8:03:24
#4 ]
Regular Member
Joined: 18-Jul-2004
Posts: 212
From: Berlin - Germany

@salass00

Something like http://aminet.net/search?query=archandler which I use on OS3 since 1994 for that purpose? It only supports lha archives (so no full XAD support), but this it does very well. Besides wrong size information on the Workbench icon for free space on drives it should work on OS4, too.

@kas1e

http://sourceforge.net/projects/libxad/

 Status: Offline
Profile     Report this post  
cha05e90 
Re: XADFileSystem development thread
Posted on 4-Sep-2010 8:20:47
#5 ]
Super Member
Joined: 18-Apr-2009
Posts: 1275
From: Germany

@Sprocki

Hm - and I used the "XFH-Handler" a rather long time on my OS3.x setup - was really nice, but due to technical reasons (had only my 030 system) it was very slow sometimes...

_________________
X1000|II/G4|440ep|2000/060|2000/040|1000

 Status: Offline
Profile     Report this post  
salass00 
Re: XADFileSystem development thread
Posted on 4-Sep-2010 8:47:10
#6 ]
Elite Member
Joined: 31-Oct-2003
Posts: 2707
From: Finland

@cha05e90

I ported XFH-Handler to OS4 in 2006.

@Sprocki

Quote:
Something like http://aminet.net/search?query=archandler which I use on OS3 since 1994 for that purpose? It only supports lha archives (so no full XAD support), but this it does very well. Besides wrong size information on the Workbench icon for free space on drives it should work on OS4, too.


Don't know, never used it. XADFS is going to support all the formats that xadmaster.library supports through it's clients (f.e. I've already used it with 7-zip archives), also it should eventually support most, if not all of the new OS4 filesystem packets.

 Status: Offline
Profile     Report this post  
salass00 
Re: XADFileSystem development thread
Posted on 4-Sep-2010 9:41:01
#7 ]
Elite Member
Joined: 31-Oct-2003
Posts: 2707
From: Finland

Small update and new alpha version:

PROGDIR: is now working and protection bits should now be supported too.

http://a500.org/uploads/xad_fs.lha

 Status: Offline
Profile     Report this post  
Sprocki 
Re: XADFileSystem development thread
Posted on 4-Sep-2010 9:46:44
#8 ]
Regular Member
Joined: 18-Jul-2004
Posts: 212
From: Berlin - Germany

@salass00

Just download it and try. You will see how it works. Maybe it gives you some input for your project.
Will it be possible to list the content of an archive directly by typing "dir xadmasterdev.lha"? Will there be tab completion/decompression on the fly?

Yes, it is sad that XAD still does not allow write access.

 Status: Offline
Profile     Report this post  
kas1e 
Re: XADFileSystem development thread
Posted on 4-Sep-2010 10:00:38
#9 ]
Elite Member
Joined: 11-Jan-2004
Posts: 3550
From: Russia

@Sprocki
Quote:

Just download it and try. You will see how it works. Maybe it gives you some input for your project.
Will it be possible to list the content of an archive directly by typing "dir xadmasterdev.lha"? Will there be tab completion/decompression on the fly?


In end, you can just setup your WB like this: you press on archive in WB, and it not spawn unarc for you, but spawn a window where is files from archive. Or for example you can use in end Filer, in which you will just press by mouse on archive, and it will jump you on files inside of archive with which you can operate (i trying right now to make little-shiti script to make it works with filler).

_________________
Join us to improve dopus5!
zerohero's mirror of os4/os3 crosscompiler suites

 Status: Offline
Profile     Report this post  
Sprocki 
Re: XADFileSystem development thread
Posted on 4-Sep-2010 10:38:13
#10 ]
Regular Member
Joined: 18-Jul-2004
Posts: 212
From: Berlin - Germany

@kas1e

Yes, you can setup your own context menus everywhere but that is a lot of work. Most of archive handling I do on MorphOS where Ambient brings some useful context menu entries with it. On OS3 I mostly use ClassAct, UnArc or MiraWizARC while on AROS I use DOpus for browsing archives. But sometimes I also need to step inside from Shell, so an easy Shell handling is wanted, too.

 Status: Offline
Profile     Report this post  
salass00 
Re: XADFileSystem development thread
Posted on 4-Sep-2010 11:35:50
#11 ]
Elite Member
Joined: 31-Oct-2003
Posts: 2707
From: Finland

@Sprocki

Quote:

Will it be possible to list the content of an archive directly by typing "dir xadmasterdev.lha"?


When it is finished I am thinking of making it possible to do something like:
MountXAD xadmasterdev.lha
Dir xadmasterdev.lha:

Quote:

Will there be tab completion/decompression on the fly?


Filename completion in Shell works same as with any other filesystem (this feature only requires working Lock()/UnLock() and Examine()/ExNext() implementation).

Files will be decompressed as needed into a temp directory that can be set with XADFS_TEMP_DIR variable (defaults to T:). Each instance of the filesystem has it's own subdirectory, with the same name as the device node, that is kept with an exclusive lock while the filesystem is running so that no other program can tamper with it.

 Status: Offline
Profile     Report this post  
ChrisH 
Re: XADFileSystem development thread
Posted on 4-Sep-2010 13:24:21
#12 ]
Elite Member
Joined: 30-Jan-2005
Posts: 6679
From: Unknown

@salass00
This sounds awesome! And will effectively add a DOpus5-like ability to Filer (and WB), rather like FtpMount already does for FTP. Sad there is no write access, but I can't remember if DOpus5 supported that either (probably not since it was all done using some clever scripts).

_________________
Author of the PortablE programming language.
It is pitch black. You are likely to be eaten by a grue...

 Status: Offline
Profile     Report this post  
Fab 
Re: XADFileSystem development thread
Posted on 4-Sep-2010 14:40:12
#13 ]
Super Member
Joined: 17-Mar-2004
Posts: 1178
From: Unknown

@Sprocki

You can also mount it normally from morphos with a mountlist, obviously. Or see how ambient code mounts it if you want a more practical way.

 Status: Offline
Profile     Report this post  
Hypex 
Re: XADFileSystem development thread
Posted on 4-Sep-2010 15:02:24
#14 ]
Elite Member
Joined: 6-May-2007
Posts: 11230
From: Greensborough, Australia

I'm seeing all this talk of write access but to me this doesn't make sense. Yes it would be nice but we are talking about archives, not a disk filing system!

How far do we mean by write access? For adding a file yes that should be simple but how would it know one is being added?

For writing more files makes it worse as you are talking about modifying a linear formatted file archive and trying to insert/replace data inside it. This would require the file to be split up and rewritten. In the end the whole file would have to be recreated.

Even if it did this, how would it know when to commit the changes to disk, and remaking it? Cache changes and commit every 5 seconds? Or 5 seconds after no activity? Then if you add another file, oops, recreation again!

I don't think write access to archives it viable. Having a feature would be too free. And without understanding what's involved easily abused by software or the user that treats it like a normal drive.

 Status: Offline
Profile     Report this post  
salass00 
Re: XADFileSystem development thread
Posted on 4-Sep-2010 17:59:05
#15 ]
Elite Member
Joined: 31-Oct-2003
Posts: 2707
From: Finland

Another update and new alpha:

ACTION_SHUTDOWN is now supported so that Dismount command can be used to unmount the filesystem.

http://www.a500.org/uploads/xad_fs.lha

 Status: Offline
Profile     Report this post  
Fab 
Re: XADFileSystem development thread
Posted on 4-Sep-2010 18:36:10
#16 ]
Super Member
Joined: 17-Mar-2004
Posts: 1178
From: Unknown

@kas1e

To reply your question from the other thread, by using temporary files, it should be reasonably fast (once unpacked, it won't have to be extracted again and again and again), but at expense of memory, obviously.

 Status: Offline
Profile     Report this post  
salass00 
Re: XADFileSystem development thread
Posted on 5-Sep-2010 8:46:45
#17 ]
Elite Member
Joined: 31-Oct-2003
Posts: 2707
From: Finland

XADFileSystem 52.1 is now available on OS4Depot.

This includes MountXAD command for easy mounting of archives.

 Status: Offline
Profile     Report this post  
kas1e 
Re: XADFileSystem development thread
Posted on 5-Sep-2010 8:55:56
#18 ]
Elite Member
Joined: 11-Jan-2004
Posts: 3550
From: Russia

@fab
1gb of memory will be imho enough for many archives. When they (archives) will be bigger (like 4gb of game or kind), then we can change path to extract to the filesystem.

Btw, how xadfs are used in the ambient ? I mean ambient also do "mount archive_name" and on ambient desktop you can see mounted archive as partition ?
And how ambient detect when you need to dismount partition (and how its done, also by dismount xad0: ? )

@salas00
Cool !

I just trying to understand for now, how integrate it to Filer. I.e. when you press on archive, it can do : MounXAD {f} , but how detect action, when you exit from archive and dismount it ? Or how detect that XAD0: are mounted, and need to mount XAD1: and so on (if new archive are need it). Looks like need some clever scripts for

@Hypex
Quote:

I'm seeing all this talk of write access but to me this doesn't make sense. Yes it would be nice but we are talking about archives, not a disk filing system!

Are you still use os4 at all ?:) Looks like not. Because having archives like disk file systems its cool and awesome. And if it will support writing, then it will be not only "ok", but very cool, easy for usage, easy for works, speed up all the work related to archive. I have very offten use total comander on winxp, and its awesome when you go to archive, and can write to it from another partition without problem, without running any scripts and so on. If XAD will support writing, i even will pay for it.

Last edited by kas1e on 05-Sep-2010 at 09:00 AM.

_________________
Join us to improve dopus5!
zerohero's mirror of os4/os3 crosscompiler suites

 Status: Offline
Profile     Report this post  
salass00 
Re: XADFileSystem development thread
Posted on 5-Sep-2010 9:59:43
#19 ]
Elite Member
Joined: 31-Oct-2003
Posts: 2707
From: Finland

@kas1e

Quote:

I just trying to understand for now, how integrate it to Filer. I.e. when you press on archive, it can do : MounXAD {f} , but how detect action, when you exit from archive and dismount it ? Or how detect that XAD0: are mounted, and need to mount XAD1: and so on (if new archive are need it). Looks like need some clever scripts for


I've not used any of the newer Filer versions so I don't know what functions it has but would it make your job easier if I added a dismount switch to MountXAD command?

Think something like this:
mountxad blah.lha
and then when you're done:
mountxad blah.lha dismount

 Status: Offline
Profile     Report this post  
kas1e 
Re: XADFileSystem development thread
Posted on 5-Sep-2010 10:05:41
#20 ]
Elite Member
Joined: 11-Jan-2004
Posts: 3550
From: Russia

@salass00

Dunno how detect the moment "when you're done". I mean when you press on archive name, then you can do what you want (xadmount {f}) and then, say to filer to go at the XAD0: partition. But how detect when you "exit" from archive ?

Interesting how its done in ambient .. But anyway, "dismount" argument for xadmount will be good too.

EDIT: btw, i think that we can make a script, which will check "if xad0: are mounted, then unmount it". I.e. for user side it will mean: user press on archive, do whatewer he want, and forget about. Then , when he press on second archive, first one auto-unmounts, and new one are mounts. But that of course will not allow to mount more than one archive at time (can be bad sometime).

Last edited by kas1e on 05-Sep-2010 at 10:59 AM.
Last edited by kas1e on 05-Sep-2010 at 10:06 AM.

_________________
Join us to improve dopus5!
zerohero's mirror of os4/os3 crosscompiler suites

 Status: Offline
Profile     Report this post  
Goto page ( 1 | 2 Next Page )

[ home ][ about us ][ privacy ] [ forums ][ classifieds ] [ links ][ news archive ] [ link to us ][ user account ]
Copyright (C) 2000 - 2019 Amigaworld.net.
Amigaworld.net was originally founded by David Doyle