User Tag List

Страница 10 из 12 ПерваяПервая ... 6789101112 ПоследняяПоследняя
Показано с 91 по 100 из 119

Тема: ZX Плагины для Total Commander x64

  1. #91

    Регистрация
    16.11.2014
    Адрес
    г. Абакан
    Сообщений
    70
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от JeRrS Посмотреть сообщение
    чем больше 00-ей в файле (ну т.е пустого пространства)
    Вы всё-таки уточните, что хотите посчитать, нули или свободное пространство. Это разные вещи.

    Кол-во свободных секторов или байт покажет плагин inTRD (читаем мануал, раздел "Дополнительная функциональность"). Там и отсортировать можно.

    С количеством нулей сложнее, но решаемо с помощью стороннего софта...

  2. #91
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #92

    Регистрация
    02.02.2005
    Адрес
    г. Екатеринбург
    Сообщений
    1,546
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    155
    Поблагодарили
    106 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Eugene85, посчитать свободное пространство в зависимости от того сколько по итогу записано на дискете. Возможно ли как-то через поиск отсортировать таким образом чтобы можно было по итогу просматривать от наименьшей заполненности?
    Группа в ВК, посвященная кассетным версиям игр для спектрума
    В коллекции:Plazma-128K (YM+TR-DOS), Кворум 128+, Эксперт-006, Квант V3.а, Квант (Didaktik), Компаньон-2 (V2.2), Radon Plus, Урал 8-64К, Byte, Хоббит, Байт, Compact-256, Profi-128K (Kramis V.02), Himac 48K

  4. #93

    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,082
    Записей в дневнике
    11
    Спасибо Благодарностей отдано 
    173
    Спасибо Благодарностей получено 
    493
    Поблагодарили
    343 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от JeRrS Посмотреть сообщение
    Возможно ли как-то через поиск отсортировать таким образом чтобы можно было по итогу просматривать от наименьшей заполненности?
    Встроенного такого функционала нет, но если интересуют костыли, то можно так:



    Как оно работает. В Total Commander есть такая фича, как Custom Columns, дополнительные колонки, которые можно добавить в табличном режиме панели. Добавляются правой кнопкой по заголовку любой колонки, Configure custom columns, жмем New, жмем Add Column, вводим имя от балды, жмем справа плюсик. Вылезет список свойств файла, которые можно отобразить в колонке. В основном эти свойства нам неподконтрольны, но есть есть одно, которое мы можем менять. Это comment.
    Comment - это тот комментарий к файлу, который можно ввести, нажав Ctrl+Z. Он сохраняется в файл descript.ion.

    Нам остается только для каждого файла в каталоге автоматически заполнить этот descript.ion нужными значениями. Для этого кидаем в папку с TRD-файлами вот такой батник и запускаем
    Код:
    @echo off & c:\python\python.exe -x "%~f0" & goto :eof 
    import os
    with open("descript.ion", "w") as of:
        for f in [ f for f in os.listdir() if os.path.isfile(f) ]:
            print(f)
            data = open(f, "rb").read()
            ratio = 0 if len(data) == 0 else int(100 * len([x for x in data if x == 0]) / len(data))
            of.write(f"{f} {ratio:03}%\n")
    На самом деле это не батник, а замаскированная под него (для удобства запускания) программа на питоне. Путь к интерпретатору питона задается в первой строке. Если питон не стоит и захламлять систему установкой из инсталлятора неохота, можно взять портабельный и распаковать куда удобно - https://www.python.org/ftp/python/3....mbed-amd64.zip

    Итого кидаем в папку батник, запускаем, добавляем в TC колонку с комментарием и сортируем по ней. Вуаля.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

  5. #94

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,296
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    203
    Спасибо Благодарностей получено 
    1,461
    Поблагодарили
    950 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от JeRrS Посмотреть сообщение
    чтобы можно было по итогу просматривать от наименьшей заполненности?
    в системном секторе есть байт в котором хранится кол-во файлов на дискете,
    но это справедливо при нормальной файловой системе.
    (так-то может быть один boot и данные на всю дискету)

  6. #95

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от JeRrS Посмотреть сообщение
    посчитать свободное пространство в зависимости от того сколько по итогу записано на дискете. Возможно ли как-то через поиск отсортировать таким образом чтобы можно было по итогу просматривать от наименьшей заполненности?
    Вот bash скрипт, который читает в образе переменную в которой хранится число свободных секторов и сортирует по убыванию. Скрипту указываем параметром папку в которой искать TRD файлы, он начиная с этой папки ищет файлы во всех подпапках и zip архивах:
    Код:
    #!/usr/bin/env bash
    
    # Проверяем, передан ли путь к папке
    if [ -z "$1" ]; then
        echo "Usage: $0 <directory>"
        exit 1
    fi
    
    dir="$1"
    
    declare -a files
    
    # Ищем файлы .TRD в папке и в архивах ZIP
    while IFS= read -r -d '' file; do
        files+=("$file")
    done < <(find "$dir" -type f \( -name "*.TRD" -o -name "*.trd" \) -print0)
    
    while IFS= read -r -d '' zipfile; do
        while IFS= read -r trdfile; do
            tmpfile=$(mktemp)
            unzip -p "$zipfile" "$trdfile" > "$tmpfile"
            files+=("$tmpfile|$zipfile:$trdfile")
        done < <(unzip -l "$zipfile" | awk '{print $4}' | grep -i '\.trd$')
    done < <(find "$dir" -type f -name "*.zip" -print0)
    
    declare -A values
    
    for file in "${files[@]}"; do
        if [[ "$file" == *"|"* ]]; then
            # Файл временный, извлечён из ZIP
            filepath="${file%%|*}"
            displayname="${file#*|}"
        else
            filepath="$file"
            displayname="$file"
        fi
        
        if [[ -f "$filepath" ]]; then
            value=$(xxd -p -s 0x8e5 -l 2 "$filepath" | xxd -r -p | od -An -tu2)
            values["$displayname"]=$((value))
        fi
        
        [[ "$file" == *"|"* ]] && rm -f "$filepath"
    done
    
    # Сортируем и выводим
    for file in "${!values[@]}"; do
        printf "%4d %s\n" "${values[$file]}" "$file"
    done | sort -nr
    Пример вывода:
    Код:
    $ ./trdsort.sh TRD/
    2306 TRD/RANGERS_trd.zip:RANGERS.trd
    2259 TRD/trdn0764b_trd.zip:trdn0764b.trd
    2237 TRD/VTRDOS/Trnt_GST_trd.zip:21_Trantor.trd
    1963 TRD/SuperMarioBros128K.trd.zip:output.trd
     201 TRD/disk048.trd
     127 TRD/Wolfenstein2004.trd.zip:WOLF2OO4.TRD
     127 TRD/WOLF2OO4.TRD
      83 TRD/DIZZY.zip:DIZZY.TRD
    Это то значение которое TR-DOS выдает по команде CAT как Free.
    Но, как писал, бывает много дисков с защитами, которые записаны нестандартно и в них может быть число свободных секторов от балды указано.
    Последний раз редактировалось ZXMAK; 25.02.2025 в 02:00.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  7. #96

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,224
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    709
    Спасибо Благодарностей получено 
    1,661
    Поблагодарили
    577 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Неизвестна конечная цель. А то может быть задача имеет иное решение. Например, можно тупо все нули обрезать с конца файла, а потом после выполнения своих целей, нулями же и дополнить до полного размера. И тут уже не будет важна организация диска, скрытые данные и т.д.
    С уважением, Станислав.

  8. #97

    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,692
    Спасибо Благодарностей отдано 
    302
    Спасибо Благодарностей получено 
    223
    Поблагодарили
    159 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Если мешают нули в конце TRD, оптимальнее всего запаковать стандартным ZIP .... А размер области с нулями хорошо сжимается, так что размер образа будет не хуже обрезанных образов.
    Очень примерный вариант если на диске много например графики, или разреженных таблиц - сожмётся сильно, и результат будет на уровне файлов с нулями

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Также нужно учитывать, что размер TRD задает формат диска. Поэтому обрезая его, можно сделать образ нечитаемым.
    Если подходит, то как вариант - сохранять SCL.
    Heavy on the disasm
    Eric and the disasm
    Mask 3: Venom strikes disasm
    Bard's disasm

  9. #98

    Регистрация
    16.11.2014
    Адрес
    г. Абакан
    Сообщений
    70
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Как я уже сказал, плагин inTRD может показать колонку с количеством занятых/свободных секторов, номером первого незанятого сектора и т.д.

    Если же нужно по количеству нулей, могу предложить решение с программой grepWin. Указываем директорию, где лежат все ваши образы, выбираем опцию Treat files as binary и Regex search. Вводим такую строку поиска: \x00{256} и запускаем поиск. В окне search results появится список образов, причём колонка Matches будет указывать примерное количество нулевых секторов.

  10. #99

    Регистрация
    08.01.2007
    Адрес
    г. Красноярск
    Сообщений
    1,358
    Спасибо Благодарностей отдано 
    352
    Спасибо Благодарностей получено 
    1,509
    Поблагодарили
    308 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Плагины неправильно определяют расширение у кодовых файлов с стартовым адресом 27694. При копировании таких файлов, им присваивается расширение l, к имени дописывается .C

    Эти 2 пользователя(ей) поблагодарили tiboh за это полезное сообщение:

    Eugene85(22.07.2025), Oleg N. Cher(22.07.2025)

  11. #100

    Регистрация
    16.11.2014
    Адрес
    г. Абакан
    Сообщений
    70
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    tiboh,
    Спасибо. Скоро исправим.

Страница 10 из 12 ПерваяПервая ... 6789101112 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. RT-11 DSK Total Commander wcx plugin.
    от Patron в разделе ДВК, УКНЦ
    Ответов: 371
    Последнее: 26.08.2023, 15:15
  2. Плагины/софт для TRD/SCL/HOBETA
    от alx в разделе Эмуляторы
    Ответов: 80
    Последнее: 08.11.2016, 01:30
  3. Плагины для FARа
    от Quest в разделе Софт
    Ответов: 4
    Последнее: 07.03.2013, 20:32
  4. TAP-плагин для Total Commander
    от moroz1999 в разделе Утилиты
    Ответов: 6
    Последнее: 17.11.2010, 19:12
  5. плагины для Winamp
    от Almaz в разделе Музыка
    Ответов: 5
    Последнее: 12.07.2008, 13:55

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •