home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 109 / EnigmaAmiga109CD.iso / software / manutenzione / smartinfo / sfs / käsittelijät / muut.asm < prev    next >
Assembly Source File  |  1999-11-30  |  4KB  |  193 lines

  1. *-----------------------------------------------*
  2. *    @AktiivinenLaite            *
  3. *-----------------------------------------------*
  4.  
  5. AktiivinenLaite:
  6.     ALOITA
  7.     TEE_METODI    LV_LaiteLista-t(a5),GetActiveEntry
  8.     move.l    (a4),d0
  9.     beq.b    .x
  10.  
  11.     move.l    d0,a3
  12.     move.l    d0,ActiveEntry(a4)
  13.     bsr    HaeLaiteTiedot
  14.     bsr    ResolveVolumeData
  15.     bsr    PäivitäLaiteTekstit
  16.  
  17. .x    LOPETA
  18.     rts
  19.  
  20. *-----------------------------------------------*
  21. *    @PäivitäLaiteTekstit            *
  22. *-----------------------------------------------*
  23.  
  24. PäivitäLaiteTekstit:
  25.     lea    ll_CreationDate(a3),a0
  26.     lea    ll_CreationTime(a3),a1
  27.     move.l    ll_Version(a3),d0
  28.     move.l    a0,(a4)
  29.     move.l    a1,4(a4)
  30.     move.l    d0,8(a4)
  31.     move.l    GeneralInfoFormat2(a4),a0
  32.     tst.l    d0
  33.     beq.b    .ok
  34.     move.l    GeneralInfoFormat3(a4),a0
  35.     cmp.l    #$10050,d0
  36.     beq.b    .ok
  37.     move.l    GeneralInfoFormat(a4),a0
  38. .ok    bsr    .do_format
  39.     move.l    TX_GeneralInfo-t(a5),a0
  40.     bsr    .set_text
  41.  
  42.     move.l    sfs_start_byteh-t(a5),(a4)
  43.     move.l    sfs_start_bytel-t(a5),4(a4)
  44.     move.l    StartEndOffsetText(a4),a0
  45.     bsr    .do_format
  46.     move.l    TX_StartOffset-t(a5),a0
  47.     bsr    .set_text
  48.  
  49.     move.l    sfs_end_byteh-t(a5),(a4)
  50.     move.l    sfs_end_bytel-t(a5),4(a4)
  51.     move.l    StartEndOffsetText(a4),a0
  52.     bsr    .do_format
  53.     move.l    TX_EndOffset-t(a5),a0
  54.     bsr    .set_text
  55.  
  56.     move.l    sfs_block_size-t(a5),(a4)
  57.     bsr    .do_number_format
  58.     move.l    TX_BytesPerBlock-t(a5),a0
  59.     bsr    .set_text
  60.  
  61.     move.l    sfs_total_blocks-t(a5),(a4)
  62.     move.l    sfs_total_blocks-t(a5),ll_TotalBlocks(a3)
  63.     bsr    .do_number_format
  64.     move.l    TX_TotalBlocks-t(a5),a0
  65.     bsr    .set_text
  66.  
  67.     move.l    sfs_cache_accesses-t(a5),(a4)
  68.     bsr    .do_number_format
  69.     move.l    TX_CacheAccesses-t(a5),a0
  70.     bsr    .set_text
  71.  
  72.     move.l    sfs_cache_buffers-t(a5),(a4)
  73.     bsr    .do_number_format
  74.     move.l    TX_DOS_Buffers-t(a5),a0
  75.     bsr    .set_text
  76.  
  77.     ; cache misses
  78.  
  79.     clr.l    4(a4)
  80.     move.l    sfs_cache_misses-t(a5),(a4)
  81.     beq.b    .jatka
  82.     move.l    (a4),d0
  83.     move.l    sfs_cache_accesses-t(a5),d2
  84.     mulu.l    #10000,d0
  85.     divu.l    d2,d0                ; ((misses*10000)/accesses)/100
  86.     divu.w    #100,d0
  87.     swap    d0
  88.     move.l    d0,4(a4)
  89. .jatka    lea    CacheMissesFormat-t(a5),a0
  90.     bsr    .do_format
  91.     move.l    TX_CacheMisses-t(a5),a0
  92.     bsr    .set_text
  93.  
  94.     move.l    sfs_cache_lines-t(a5),(a4)
  95.     move.l    sfs_cache_readaheadsize-t(a5),4(a4)
  96.     move.l    CopyBackText(a4),8(a4)
  97.     tst.l    sfs_cache_mode-t(a5)
  98.     bne.b    .jatka2
  99.     move.l    WriteThroughText(a4),8(a4)
  100. .jatka2    move.l    CacheSizeText(a4),a0
  101.     bsr    .do_format
  102.     move.l    TX_ReadAheadCache-t(a5),a0
  103.     bsr    .set_text
  104.  
  105.     move.l    sfs_device_api-t(a5),d0
  106.     move.l    NSDText(a4),d3
  107.     subq.l    #1,d0
  108.     beq.b    .valmis
  109.     move.l    TD64Text(a4),d3
  110.     subq.l    #1,d0
  111.     beq.b    .valmis
  112.     move.l    SCSIDirectText(a4),d3
  113.     subq.l    #1,d0
  114.     beq.b    .valmis
  115.     move.l    StandardText(a4),d3
  116. .valmis    move.l    TX_DeviceAPI-t(a5),a0
  117.     SET2    #MUIA_Text_Contents,D3
  118.  
  119.     move.l    NoneText(a4),(a4)
  120.     tst.l    sfs_is_casesensitive-t(a5)
  121.     beq.b    .jatka3
  122.     move.l    CaseSensitiveText(a4),(a4)
  123.     tst.l    sfs_has_recycled-t(a5)
  124.     beq.b    .simple_case
  125.     move.l    RecycledText(a4),4(a4)
  126.     lea    DoubleStringFormat-t(a5),a0
  127.     bsr    .do_format
  128.     move.l    TX_SFS_Settings-t(a5),a0
  129.     bra    .set_text
  130.  
  131. .jatka3    tst.l    sfs_has_recycled-t(a5)
  132.     beq.b    .simple_case
  133.     move.l    RecycledText(a4),(a4)
  134. .simple_case:
  135.     move.l    TX_SFS_Settings-t(a5),a0
  136.     SET2    #MUIA_Text_Contents,(A4)
  137.     rts
  138.  
  139. .do_number_format:
  140.     lea    NumberFormat-t(a5),a0
  141. .do_format:
  142.     move.l    a3,-(sp)
  143.     move.l    exec(a4),a6
  144.     move.l    a4,a1
  145.     lea    putchar(pc),a2
  146.     move.l    TextBuffer(a4),a3
  147.     jsr    _LVORawDoFmt(a6)
  148.     move.l    (sp)+,a3
  149.     rts
  150.  
  151. .set_text:
  152.     move.l    intui(a4),a6
  153.     SET2    #MUIA_Text_Contents,TextBuffer(a4)
  154.     rts
  155.  
  156. *-----------------------------------------------*
  157. *    @HaeLaiteTiedot                *
  158. *-----------------------------------------------*
  159.  
  160. HaeLaiteTiedot:
  161.     clr.l    sfs_cache_accesses-t(a5)
  162.     clr.l    sfs_cache_misses-t(a5)
  163.     clr.l    sfs_start_byteh-t(a5)
  164.     clr.l    sfs_start_bytel-t(a5)
  165.     clr.l    sfs_end_byteh-t(a5)
  166.     clr.l    sfs_end_bytel-t(a5)
  167.     clr.l    sfs_device_api-t(a5)
  168.     clr.l    sfs_block_size-t(a5)
  169.     clr.l    sfs_total_blocks-t(a5)
  170.     clr.l    sfs_rootblock-t(a5)
  171.     clr.l    sfs_rootblock_objectnodes-t(a5)
  172.     clr.l    sfs_rootblock_extents-t(a5)
  173.     clr.l    sfs_first_bitmap_block-t(a5)
  174.     clr.l    sfs_first_adminspace-t(a5)
  175.     clr.l    sfs_cache_lines-t(a5)
  176.     clr.l    sfs_cache_readaheadsize-t(a5)
  177.     clr.l    sfs_cache_mode-t(a5)
  178.     clr.l    sfs_cache_buffers-t(a5)
  179.     clr.l    sfs_is_casesensitive-t(a5)
  180.     clr.l    sfs_has_recycled-t(a5)
  181. HaeLaiteTiedot2:
  182.     clr.l    sfs_version-t(a5)
  183.     lea    SFSQueryTags-t(a5),a1
  184.     move.l    dos(a4),a6
  185.     moveq    #0,d4
  186.     move.l    ll_MsgPort(a3),d1
  187.     move.l    #ACTION_SFS_QUERY,d2
  188.     move.l    a1,d3
  189.     move.l    d4,d5        ; ->0
  190.     move.l    d4,d6        ; ->0
  191.     move.l    d4,d7        ; ->0
  192.     jmp    _LVODoPkt(a6)
  193.