support of more FS in modules

kas1e
2014-03-12
2014-03-18
1 2 > >> (Page 1 of 2)
  • kas1e
    kas1e
    2014-03-12

    I give a go for feature request #5 (which mean initially adding of SFS, but i go futher and add more). There is what i have for now: http://kas1e.mikendezign.com/temp/more_fs.jpg

    Types which i add are (those ones will go to the libraries/dopus5.h, where other defines of such kind present , like ID_PFS_HARD, ID_PFS_FLOPPY and co):

    #define ID_FFS7_HARD    0x444f5307
    #define ID_SFS0_HARD    0x53465300
    #define ID_SFS2_HARD    0x53465302
    #define ID_JXFS_HARD    0x4a584604
    #define ID_SWAP_HARD    0x53574150
    

    I only update icon.module, without touching an diskinfo.module, but as you can see, even without touching of diskinfo.module, disk information will show new TYPE correctly.

    Question is: are identificators the same on all oses, i.e. SFS0 are the same 0x53465300 everywhere (and on os3, and on os4, and on mos and on aros?). Also, do we need "Floppy" identification for all those new FS , or we can just keep HARD ones ?

     
    Last edit: kas1e 2014-03-12
  • BSzili
    BSzili
    2014-03-12

    @kas1e
    I'd say the identifier IDs are the same on all platform, otherwise you couldn't detect the type of the filesystems. I don't think theres any reason to remove the floppy types as long as classic is a supported platform.

     
  • kas1e
    kas1e
    2014-03-12

    @BSZili

    I don't think theres any reason to remove the floppy types as long as classic is a supported platform.

    I am mostly not about removing, but about needs for adding new floppy identification for sfs/jxfs/etc. But yep, more the better anyway.

     
  • kas1e
    kas1e
    2014-03-12

    @All
    diskinfo.module also done, here is:
    http://kas1e.mikendezign.com/temp/more_fs2.jpg

    So new ones for both icon and diskinfo modules now are : sfs0, sfs2, jxfs, ffs7 and aos4's swap

    edit: fixed link on second image

     
    Last edit: kas1e 2014-03-12
  • kas1e
    kas1e
    2014-03-12

    Commit r931. Once anything new will known (like identificators for anything else), we can add it easy.

     
  • tomsmart1
    tomsmart1
    2014-03-13

    @kas1e
    Can you please check the OS3 icon.module because it shows F.Sys: "OFS" for my SFS0 and SFS1 format Harddrives. PFS formated drives are shown correctly. I select it over right mousebotton menu "information" over the harddriveicon.

    The diskinfo.module and the Lister shows the correct type for my harddrives.

     
  • kas1e
    kas1e
    2014-03-13

    @Tom

    SFS0 and SFS1 format Harddrives

    Is there SFS1 also on os3 ? I currently add for SFS those identificator:

    #define ID_SFS0_HARD    0x53465300
    #define ID_SFS2_HARD    0x53465302
    

    Check plz via mediatoolbox if you have indeed SFS1 and its indeficator (probably 0x53465301 will be if SFS1 indeed have place there). And check also plz if SFS0 indeed 0x53465300 for you.

    The diskinfo.module and the Lister shows the correct type for my harddrives.

    Do you have for RMB on icon/disk information in the Type "Smart File System", or just SFS0 ?

     
    Last edit: kas1e 2014-03-13
  • tomsmart1
    tomsmart1
    2014-03-13

    @kas1e

    Is there SFS1 also on os3 ?

    Yes i use it because for some years i have two different Version of SFS for testing in the time Joerg works on SFS for OS3.

    Check plz via mediatoolbox if you have indeed SFS1 and its indeficator (probably 0x53465301 will be if SFS1 indeed have place there). And check also plz if SFS0 indeed 0x53465300 for you.

    Yes i use 0x53465300 for SFS0 and 0x53465301 for SFS1.

    Do you have for RMB on icon/disk information in the Type "Smart File System", or just SFS0 ?

    It shows "Smart file System" for SFS0 and "SFS1" for SFS1.

     
    Last edit: tomsmart1 2014-03-13
  • kas1e
    kas1e
    2014-03-13

    @Tom
    Try those ones:

    http://kas1e.mikendezign.com/temp/icon.module
    http://kas1e.mikendezign.com/temp/diskinfo.module

    I added SFS1 as well. Also diskinfo in type will show now "Smart File System 0" , "Smart File System 1" and "Smart File System 2".

    Through dunno why icon.module fail to show sfs0 for you in F.Sys (at least on os4 it show it). But check those 2 and write back if still something wrong

     
    Last edit: kas1e 2014-03-13
  • tomsmart1
    tomsmart1
    2014-03-13

    @kas1e

    I tested both result is diskinfo shows now "Smart File System 0" for SFS0 and "Smart File System 1" for SFS1 drives.
    But icon.module still shows OFS for SFS0 and SFS1 drives. I see that the strings are in the icon.module.
    So if it works on OS4 maybe there is a "#ifndef amigaos4" problem?

     
  • kas1e
    kas1e
    2014-03-13

    @Tom

    So if it works on OS4 maybe there is a "#ifndef amigaos4" problem?

    Imho nope, icon.module didn't have currently aos4 ifdefs. As diskinfo.module works fine (so identificators are correct, and its ok for os3/os4) it just icon.module by some reasons didn't on os3. Strange..

    Even more, os3 version on os4 also show it all correctly. Check this out (that is os3 version on os4): http://kas1e.mikendezign.com/temp/more_fs3.jpg

     
    Last edit: kas1e 2014-03-13
  • kas1e
    kas1e
    2014-03-13

    But need to add, that when i add fat32, ntfs and exFat identificators, and then format my usb disk as any of them, then, NTSF and exFAT are showups correctly in both icon and diskinfo modules, but fat32 always show that OFS (DOS0) everywhere.

    What is strange, because identificator of OFS is ID_DOS_DISK 0x444F5300L , for both os3 and os4, while identificator of FAT32 are 0x46415432.

    But that not relate to your problem, as i also have DOS0 for fat32 in the Lister's device list too.

     
    Last edit: kas1e 2014-03-13
  • kas1e
    kas1e
    2014-03-13

    @Tom
    I do some cleanup + added bunch of other FS, re-download plz those 2 modules from the same links

     
  • tomsmart1
    tomsmart1
    2014-03-13

    @kas1e
    I re-download and test the modules icon.module no change, but diskinfo.module showns now for SFS0 and SFS1 "Old File System" and for PFS1 "Fast File System".

    Here is the debuglog of the new diskinfo.module:
    [diskinfo.c:297] disktype from info: 444F5300
    [diskinfo.c:298] disktype from DOS list: 53465301
    [diskinfo.c:457] disktype : 444F5300 (44 4F 53 0)
    [diskinfo.c:297] disktype from info: 444F5300
    [diskinfo.c:298] disktype from DOS list: 53465300
    [diskinfo.c:457] disktype : 444F5300 (44 4F 53 0)
    [diskinfo.c:297] disktype from info: 444F5303
    [diskinfo.c:298] disktype from DOS list: 50465301
    [diskinfo.c:457] disktype : 444F5303 (44 4F 53 3)
    [diskinfo.c:297] disktype from info: 444F5300
    [diskinfo.c:298] disktype from DOS list: 444F5300
    [diskinfo.c:457] disktype : 444F5300 (44 4F 53 0)
    [diskinfo.c:297] disktype from info: 444F5300
    [diskinfo.c:298] disktype from DOS list: 53465301
    [diskinfo.c:457] disktype : 444F5300 (44 4F 53 0)
    [diskinfo.c:297] disktype from info: 444F5300
    [diskinfo.c:298] disktype from DOS list: 53465301
    [diskinfo.c:457] disktype : 444F5300 (44 4F 53 0)
    [diskinfo.c:297] disktype from info: 444F5300
    [diskinfo.c:298] disktype from DOS list: 53465300
    [diskinfo.c:457] disktype : 444F5300 (44 4F 53 0)
    [diskinfo.c:297] disktype from info: 444F5303
    [diskinfo.c:298] disktype from DOS list: 50465301
    [diskinfo.c:457] disktype : 444F5303 (44 4F 53 3)

    do_diskinfo.png

     
    Attachments
  • kas1e
    kas1e
    2014-03-14

    @Tom
    Damn, there was silly typo in diskinfo.module, check plz new version:
    http://kas1e.mikendezign.com/temp/diskinfo.module

    And post debug log as well.

    If all will be ok, i will add some debug to icon.module and we can track what wrong with

     
    Last edit: kas1e 2014-03-14
  • tomsmart1
    tomsmart1
    2014-03-14

    @kas1e
    OK downloaded and tested with nightly builds 2014-03-13 and 2014-03-14:

    Diskinfo.module shows correct type for both nighty builds, log:

    [diskinfo.c:297] disktype from info: 444F5300
    [diskinfo.c:298] disktype from DOS list: 444F5300
    [diskinfo.c:457] disktype : 444F5300 (44 4F 53 0)
    [diskinfo.c:297] disktype from info: 444F5303
    [diskinfo.c:298] disktype from DOS list: 50465301
    [diskinfo.c:457] disktype : 50465301 (50 46 53 1)
    [diskinfo.c:297] disktype from info: 444F5300
    [diskinfo.c:298] disktype from DOS list: 53465300
    [diskinfo.c:457] disktype : 53465300 (53 46 53 0)
    [diskinfo.c:297] disktype from info: 444F5300
    [diskinfo.c:298] disktype from DOS list: 53465300
    [diskinfo.c:457] disktype : 53465300 (53 46 53 0)
    [diskinfo.c:297] disktype from info: 444F5300
    [diskinfo.c:298] disktype from DOS list: 53465301
    [diskinfo.c:457] disktype : 53465301 (53 46 53 1)
    [diskinfo.c:297] disktype from info: 444F5303
    [diskinfo.c:298] disktype from DOS list: 50465301
    [diskinfo.c:457] disktype : 50465301 (50 46 53 1)

    I test the diskinfo.module form the nightly build 2014-03-14 too and it shows the correct type, and its log:

    [diskinfo.c:450] disktype : 444F5300 (44 4F 53 0)
    [diskinfo.c:450] disktype : 50465301 (50 46 53 1)
    [diskinfo.c:450] disktype : 53465300 (53 46 53 0)
    [diskinfo.c:450] disktype : 53465301 (53 46 53 1)
    [diskinfo.c:450] disktype : 50465301 (50 46 53 1)
    [diskinfo.c:450] disktype : 53465300 (53 46 53 0)

     
  • kas1e
    kas1e
    2014-03-14

    @Tom
    Ok, diskmodule fine then (typo was in the debug build i upload before, in SVN its ok already).

    Code of iconmodule in terms of fs detection almost the same, so problem somewhere else imho, check plz that one, i added there some debug: http://kas1e.mikendezign.com/temp/icon.module

     
    Last edit: kas1e 2014-03-14
  • kas1e
    kas1e
    2014-03-14

    @BSZili

    Did diskinfo and icon modules from latest revision show information correctly on aros ?

     
  • tomsmart1
    tomsmart1
    2014-03-14

    @kas1e
    Here the debug log of the icon.module, i always open via RMB first "Information" than "Disk Information of that drive:

    RAM DISK: OFS
    [icon.c:560] disktype from DOS list: 444F5300
    [diskinfo.c:297] disktype from info: 444F5300
    [diskinfo.c:298] disktype from DOS list: 444F5300
    [diskinfo.c:457] disktype : 444F5300 (44 4F 53 0)

    Drive with PFS1:
    [icon.c:560] disktype from DOS list: 50465301
    [diskinfo.c:297] disktype from info: 444F5303
    [diskinfo.c:298] disktype from DOS list: 50465301
    [diskinfo.c:457] disktype : 50465301 (50 46 53 1)

    Drive with SFS0:
    [icon.c:560] disktype from DOS list: 53465300
    [diskinfo.c:297] disktype from info: 444F5300
    [diskinfo.c:298] disktype from DOS list: 53465300
    [diskinfo.c:457] disktype : 53465300 (53 46 53 0)

    Drive with SFS1:
    [icon.c:560] disktype from DOS list: 53465301
    [diskinfo.c:297] disktype from info: 444F5300
    [diskinfo.c:298] disktype from DOS list: 53465301
    [diskinfo.c:457] disktype : 53465301 (53 46 53 1)

    It looks for me that for OFS and PFS drives the icon.module use the type from the "DOS list" and for SFS0 and SFS1 the type form "info" because the "DOS list" debug log shows for all drive the correct ID.

     
    Last edit: tomsmart1 2014-03-14
  • kas1e
    kas1e
    2014-03-14

    @Tom

    current Icon.module:

        // Get volume node pointer
        doslist=(struct DosList *)BADDR(data->info.id_VolumeNode);
    
        // Get disk type from DOS list if it's set, otherwise get it from Info
        data->disktype=doslist->dol_misc.dol_volume.dol_DiskType;
    
        D(bug("disktype from DOS list: %lx\n",data->disktype));
    

    current Diskinfo.module:

        // Get volume node pointer
        doslist=(struct DosList *)BADDR(data->info.id_VolumeNode);
    
        // Get disk type from DOS list if it's set, otherwise get it from Info
        if (!(disktype=doslist->dol_misc.dol_volume.dol_DiskType))
         {
            D(bug("can't get it from DOS list, so do it from Info\n"));
            disktype=data->info.id_DiskType;
         }
    
         D(bug("disktype from info: %lx\n",data->info.id_DiskType));
         D(bug("disktype from DOS list: %lx\n",doslist->dol_misc.dol_volume.dol_DiskType));
    

    I.e. for both uses doslist->dol_misc.dol_volume.dol_DiskType

    And there is my output of os3 binaries running on os4:

    from SFS2:

    [icon.c:560] disktype from DOS list: 53465302
    [diskinfo.c:297] disktype from info: 53465302
    [diskinfo.c:298] disktype from DOS list: 53465302
    [diskinfo.c:457] disktype : 53465302 (53 46 53 2)
    

    from SFS0:

    [icon.c:560] disktype from DOS list: 53465300
    [diskinfo.c:297] disktype from info: 53465300
    [diskinfo.c:298] disktype from DOS list: 53465300
    [diskinfo.c:457] disktype : 53465300 (53 46 53 0)
    

    I.e. always the same for me as it should be.

     
    Last edit: kas1e 2014-03-14
  • tomsmart1
    tomsmart1
    2014-03-14

    The "DOS List" type/ID for the drives in the log is correct for icon.module but not the "F.Sys:" the it shows in die window it is still OFS for SFS0 and SFS1.

    If you compare the Logs form you and me you can see that in the logs of the diskinfo.module that my "disktype from info:" not match like yours.

     
  • kas1e
    kas1e
    2014-03-14

    @Tom
    Gm.. Strange ! Icon.module show correct info! It is diskingo's info field a bit borks , but that not so important there.

    So icon.module detect type correctly, but show it wrong.

    If you compare the Logs form you and me you can see that in the logs of the diskinfo.module that my "disktype from info:" not match like yours.

    But that doesn't matter, as diskinfo.module works for you fine, and you have problems with icon.module (that F.SYS thing) , which are in icon.module, which, by debug log show that detection of FS going fine, its after that something weird happens.

    I.e. both modules get info from DOS list, and both do it right (that debug output in diskinfo about info are my own, which in no use, but through strange why it different on os3/os4, but not so matter for now). It's clear that icon.module detect all fine, just show that F.SYS thing wrong by some reason.

     
    Last edit: kas1e 2014-03-14
  • kas1e
    kas1e
    2014-03-14

    @Tom
    Now i almost sure that my last icon.module will works on your setup.

    Problem is that on your setup (or on os3 ? that to be checked) doslist->dol_misc.dol_volume.dol_DiskType works, while info.id_DiskType (which are struct infoData) don't.

    Diskinfo.module works for you because they firstly to check disk type from dos list, and only if it fail then they check it from info.id_DiskType, and later prinf stuff from value they got from first check. So for diskinfo.module it never was info.id_DiskType , so it works correctly. While, as we see from your logs, info.id_Disktype on your setup always show OFS for you (but it works fine from os3 binary on os4).

    But in icon.module there is another kind of check:

    for (a = 0; filesystem_table[a]; a+=2)
    {
    if (data->info.id_DiskType == filesystem_table[a] ||
        data->disktype == filesystem_table[a])
        break;
    }
    

    So, they icon.module code breaks when info.id_DiskType found in table (which for you OFS always), and so second check fail.

    I reorganize check as it done in diskinfo.module, so that last icon.module which i upload few hours ago should work).

    But question is: why on your setup (struct InfoData *)info.id_DiskType always OFS.

     
  • tomsmart1
    tomsmart1
    2014-03-14

    @kas1e

    The last uploaded Version work ist shows "SFS (0)" for SFS0 Drives and "SFS (1)" for SFS1 format drives, thank you.

    But question is: why on your setup (struct InfoData *)info.id_DiskType always OFS.

    Yes this is the question that i have since i see your diskinfo.module log.

     
1 2 > >> (Page 1 of 2)