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.
To mount an archive with it one 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 the 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.
First thing that comes to mind of course is an DirOpus module? As it stands now you can double click on archives and copy from it etc but you can't view pictures from within an archive etc...
I see intergration written all over this in some form or another
I mean of course you can have you GUI from WB etc... this is just a handy limited application we are talking about!
~Yes I am a Kiwi, No, I did not appear as an extra in 'Lord of the Rings'~ 1x AmigaOne X5000 2.0GHz 2gM RadeonR9280X AOS4.x 3x AmigaOne X1000 1.8GHz 2gM RadeonHD7970 AOS4.x
And have mounted my xad_fs.lha archive as partitin, i can see my files, can do anything like it plain file and not inside the archive (cool). Only have few debug errors (dunno will it make sense or not):
But i think that because you support only 2 packet types for now ..
If we will add support to XADMaster.library, to allow not only read, but also pack archive back , then it will be pretty awesome with your work. Right now i tryed to make a little script for Filer , which will grab the current archive name, do right SetEnvs, and jump at it.
@salas00 Btw, how can i "umount" current xad0: ? I remember that back in the times, i use command "umount" on aos3.9, but looks like my C: not have that by some reassons ..
Wherever you got that "umount" command from, it was for sure not part of AmigaOS but some 3rd party tool - especially on OS3. AmigaOS never had a "umount" command.
OS4 has C:Dismount for that purpose.
(Don't confuse this with the DISMOUNT switch of C:Assign.. that switch is NOT dismounting a filesystem... check "help dismount" and "help assign" for more info)
AmigaOS 4 core developer www.os4welt.de - Die deutsche AmigaOS 4 Gemeinschaft
"In the beginning was CAOS.." -- Andy Finkel, 1988 (ViewPort article, Oct. 1993)
I never understood why this is part of ASSIGN.... btw, umount is Linux
edit, oh I'm wrong, dire warnings about ASSIGN DISMOUNT in the docs, don't recall having problems with it and didn't know there was a DISMOUNT command.
Just ignore the debug output. Most of it is harmless. The unknown packet stuff is mostly because of new OS4 packets that aren't yet supported. The dos.library is able to detect this and just falls back onto the old packet types in these cases.
As for unmount, as Chris said the command in AmigaOS is: assign XAD0: dismount
I wouldn't recommend it though as XADFS still doesn't support the ACTION_SHUTDOWN packet so the filesystem will still be running and the volume will still be registered in the doslist (only the devicenode will be removed).
Comments made in any post are personal opinion, and are in no-way representative of any commercial entity unless specifically stated as such. ---- http://codebench.co.uk
I don't know what I'm doing wrong but I can't mount XAD0:. It pops up a DOS requster to ask to assign XAD0: to some directory. ??? (I've downloaded only the latest xad_fs.lha. I copied XADFileSystem to L: and XADFS.MountList to devs:. Using your command lines from your first post.)
Rock lobster bit me - so I'm here forever X1000 + AmigaOS 4.1 FE "Anyone can build a fast CPU. The trick is to build a fast system." - Seymour Cray
It's only i am do mount XAD0:, because i copy XADFS.MountList to devs: XAD0 (i.e. rename a XADFS.MountList to XAD0 and put it to devs with new name). And because of it i can do mount xad0:
You should do:
mount XAD0: FROM XADFS.Mountlist
Anyway for now its not very usable for end users, we should wait a bit for more simply and easy-integrated way.
Currently I am looking into what the 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. Python does it like this: import amiga Progdir=Amiga.getcwd() #get current working directory
I fixed that problem already. Also unless amiga.getcwd is completely different from getcwd in clib the return value of that function is the current directory and not PROGDIR. BTW the problem was that I needed the packet sender's PROGDIR and not the filesystem's.
@salas00 That awesome should to say :) Right now i dowload new demo from Xeron (Called Taiwan) from os4depot (in upload query for now), then:
mountxad ram:taiwan_os4.lha
have new partition, go to it, then press on exe and have fun :)
Only what i noticed, that showing of icon of partition not so fast. I think it take about 3-4 seconds. But in shell i can check that it mounts already immediately. Maybe there is any way, to have possibility to mount archive without showing an icon ?