|
shedevr.org.ru Группа перевода приставочных игр "ШЕДЕВР"
|
Предыдущая тема :: Следующая тема |
Ваше мнение о программе? |
Отличная программа. |
|
42% |
[ 3 ] |
Неплохо, но меня не устраивает то и то... (описать что именно) |
|
0% |
[ 0 ] |
Ужасная программа! (напишите почему) |
|
57% |
[ 4 ] |
|
Всего проголосовало : 7 |
|
Автор |
Сообщение |
Dr. MefistO
Зарегистрирован: 28.03.2006 Сообщения: 189 Откуда: Беларусь
|
Добавлено: Ср Авг 24, 2011 3:54 pm Заголовок сообщения: [Lab 313] TimView Plus |
|
|
TimView Plus - универсальный вьювер TIM-файлов от Lab 313, обладающий следующим функционалом:
- Просмотр TIM-файлов;
- Отображение и изменение CLUT;
- Полная поддержка прозрачности/полупрозрачности;
- Сканер-рипер TIM-файлов;
- Правильный конвертер из BMP в TIM-файлы любой битности;
- Экспорт TIM в BMP, а также CLUT;
- Просмотр TIM-файлов в битностях, отличных от оригинальной;
- Поддержка параметров командной строки. О параметрах читайте ниже.
Отличия от других подобных программ:
- Корректный просмотр ВСЕХ ВОЗМОЖНЫХ TIM-файлов;
- Поддержка некоторых "особенных" TIM-файлов;
- Правильное преобразование BMP в TIM. Входной Bitmap не ограничивается цветами палитры;
- Небольшой размер программы, и высокая скорость работы;
- Быстрый сканер-рипер;
- Возможность установки программы как основного просмотрщика TIM-файлов;
- Отзывчивая техподдержка.
<- Ссылка на скачивание ->
Ссылка на сайт проекта: http://lab313.ru/ _________________ Metal is my life...
Последний раз редактировалось: Dr. MefistO (Вс Окт 23, 2011 1:05 pm), всего редактировалось 15 раз(а) |
|
Вернуться к началу |
|
|
Dr. MefistO
Зарегистрирован: 28.03.2006 Сообщения: 189 Откуда: Беларусь
|
Добавлено: Пт Авг 26, 2011 7:52 pm Заголовок сообщения: |
|
|
Обновлена версия программы до v0.3.1 test (26.08.2011). Изменения такие:
Возможность поиска плохих TIM-файлов вынесена в отдельный пункт меню. Для командной строки это ключ -sb (вместо -s);
Исправлено отображение информации в таблице;
Исправлено поведение дефолтной палитры;
Мелкие багфиксы. _________________ Metal is my life... |
|
Вернуться к началу |
|
|
Dr. MefistO
Зарегистрирован: 28.03.2006 Сообщения: 189 Откуда: Беларусь
|
Добавлено: Вт Авг 30, 2011 12:08 pm Заголовок сообщения: |
|
|
Обновлена программа TimView Plus до версии 0.4 test. Вот список изменений:
- Добавлена возможность смотреть файлы в разных битностях, в том числе и VRAM;
- Теперь вы можете отобразить прозрачный черный, если таковой имеется в TIM-файле;
- Ускорена работа программы;
- Теперь список файлов не очищается при открытии нового файла, а происходит добавление открытого файла в этот список;
- Результаты сканирования отображаются в том же списке. Это намного удобнее;
- Каждый открытый двойным щелчком мыши TIM (при включеной ассоциации файлов) теперь открывается в существующем окне программы;
- Добавлено масштабирование при просмотре;
- Упрощен дизайн программы, все основные опции можно найти в главном меню;
- Исправлена ошибка, которая появлялась при частом переключении между двумя результами сканирования;
- Мелкие багфиксы.
Ссылка доступна в шапке темы. _________________ Metal is my life... |
|
Вернуться к началу |
|
|
JurasskPark
Зарегистрирован: 15.03.2008 Сообщения: 155
|
Добавлено: Вт Авг 30, 2011 7:27 pm Заголовок сообщения: |
|
|
Пока readme не прочитал, что
Цитата: |
Авторы программы:
- Dr. MefistO, AID_X, Squall$.
|
никак не мог понять, почему ты её рекламируешь. _________________ Вот такой я интересный зверёк! |
|
Вернуться к началу |
|
|
Dr. MefistO
Зарегистрирован: 28.03.2006 Сообщения: 189 Откуда: Беларусь
|
Добавлено: Вт Авг 30, 2011 7:44 pm Заголовок сообщения: |
|
|
Да, я занимаюсь кодингом этой программы, AID - исследованиями.
В инфо о программе тоже есть информация об авторах. _________________ Metal is my life... |
|
Вернуться к началу |
|
|
Dr. MefistO
Зарегистрирован: 28.03.2006 Сообщения: 189 Откуда: Беларусь
|
Добавлено: Ср Авг 31, 2011 4:22 pm Заголовок сообщения: |
|
|
Обновил версию программы до 0.4.2 test:
- Исправлен просмотр результатов сканирования в разных битностях;
- Добавлено предупреждение о возможном наличии в открытом файле более одного тима;
- Сохранение и загрузка настроек программы;
- Сохранение битмапа изображения происходит сразу для всех палитр (как и при ключе -i);
- Кнопка генерирования палитры теперь доступна в режимах другой битности;
- Проверка ассоциации программы с TIM-файлами;
- Изменения в горячих клавишах пунктов меню.
- Мелкие исправления.
Ссылка доступна в шапке темы. _________________ Metal is my life... |
|
Вернуться к началу |
|
|
Dr. MefistO
Зарегистрирован: 28.03.2006 Сообщения: 189 Откуда: Беларусь
|
Добавлено: Чт Сен 01, 2011 9:39 pm Заголовок сообщения: |
|
|
Выпущена новая версия программы TimView Plus v0.4.3 test. Изменения следующие:
- Добавлена экспериментальная поддержка импорта BMP файлов в 16 и 24-битный TIMы. О том, как это происходит, читайте в ридми;
- Исправлен баг, когда не отображались результаты сканирования не BIN(TIM)-файлов;
- Другие незначительные исправления.
Новая ссылка в шапке темы. _________________ Metal is my life... |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Чт Сен 01, 2011 11:55 pm Заголовок сообщения: |
|
|
Можно я покритикую? На правах своей дурной славы буду жесток и беспощаден, ибо считаю слишком ничтожным соотношение полезность/работа. Как к этому относиться - дело ваше, я не обижусь.
И так, что мы имеем? Очередной клон бесполезной в плане перевода (если браться с умом) утилиты, которая может пригодиться только на этапе реверса. Это не конкретно про вашу тулзу, это про вьюверы/риперы в целом.
Заявленные «отличия от других подобных программ» считаю высосанными из пальца. В целом, конечно, молодцы - опыт как-никак, но зачем же так серьёзно изобретать велосипед вне пределов гаража? У меня таких начинаний с полсотни наберётся, но благо кроме меня их никто не видел.
А теперь перебор заявленного функционала:
Цитата: | - Просмотр TIM-файлов (*.tim), а также VRAM (в формате *.bin); |
*.bin - это расширение. Если быть точнее - маска имени файла. Я так понимаю, имеется ввиду дамп VRAM? Всегда считал одной из основных проблем дилетантства отсутствие адекватной терминологии, ибо даже гуру зачастую далеки от профессионального лексикона и бросаются сленгом направо и налево. Более того - плюются, когда называешь вещи своими именами. Видимо, сила привычки, а точнее - «синдром утёнка».
Также ещё одной проблемой считаю вредную привычку связывать файлы с их именами. Те же расширения по-хорошему нужны лишь для простоты работы с файлами, и в целом имя должно лишь помогать найти нужный файл, а как его открывать - должен решать сам пользователь. Конечно, за исключением случаев, когда имя действительно заведомо гарантированно несёт определённую семантику, и именно по нему ориентируется программа.
Итого, что мы имеем... Вьювер тимов? Было. Вьювер видеопамяти? Было. Преимущества перед аналогами? Не вижу.
К слову, вот RAW-данные - по сути сырые данные любого типа, почему же они представлены маской *.bin, если у них даже принятого расширения нет? Ну да, часто .bin, но ведь не реже и .raw, .dat, etc.
Цитата: | - Сканер файлов. Ищет все вхождения TIM-файлов. Имеется возможность сохранения выбранного tim-файла, либо автоматический рип всех вхождений; |
Сканер? Было. Рипер? Было. Преимущество? Сомневаюсь.
Цитата: | - Экспорт TIM в BMP (в выбраной палитре), а также CLUT (собственно палитра); |
Да было, было. Добавили бы PNG, что ли, для приличия. BMP как основной формат можно простить разве что из-за палитр, и то это технический аспект.
Цитата: | - Извлечение данных из BIN-образов данных, а также обратная сборка данных в BIN; |
Вот тут можно понадеяться на явное преимущество, если речь идёт действительно о правильной обработке CD-образов.
Отсюда вытекает вопрос: при «сборке» (если быть точнее - при банальном реплейсе) корректируются EDC/ECC-данные? Если да - ставлю плюсик, если же нет и имеется ввиду простая поддержка больших файлов - то подобный вандализм образу на пользу не пойдёт.
Цитата: | - Возможность установки программы как основного просмотрщика TIM-файлов; |
Дойдя до этого пункта, понимаешь всю суть программы и огорчаешься. Напихать всяких свистелок и перделок в тулзу можно всегда, а когда всё это делается ещё в тестовой версии - возникает сомнение, есть ли вообще в планах развитие основного функционала.
Господа, любую программу с поддержкой открытия файлов из командной строки в венде можно привязать к расширению, не стоит делать из этого «достоинство» инструмента.
Цитата: | - Поддержка командной строки. |
Тогда уж добавьте: «- Запускается и работает». Как выражается один мой знакомый, «кошерная тулза» должна начинаться с командной строки.
Цитата: | - Проверка ассоциации программы с TIM-файлами; |
Так обычно делают, когда на основной функционал уже не хватает фантазии. И лично меня это жутко бесит. Всё-таки если я захочу повазюкать мышкой в венде, я найду кучу других способов. Спасает одно - это не навязчиво и включается опционально, поэтому можно не обращать внимания.
Вот фишки, которые, как лично я считаю, смогли бы действительно сотворить неоспоримое преимущество:
Квантование с учётом альфы, работа с текстурными атласами, безграничные возможности по созданию TIM-файлов на низком уровне (особенно поддержка командной строкой), поддержка форматов PNG и PSD.
Вообще, жёстко не хватает инструмента для организации работы с текстурами. Например, имеется куча тимов (или файл с кучей тимов), которые являются текстурными атласами. Создаём проект, разбиваем атласы на отдельные текстурки, нужные экспортируем куда-нибудь в PNG. Вся мета-информация при этом хранится в проекте, т.е. под ногами ничего не путается. Когда всё перерисовано, тупо запускаем сборку (тем и хороша поддержка PSD, что не придётся делать лишние движение по конвертации), всё это дело квантуется (не будем же мы сковывать возможности локализации фиксированной палитрой, как длину строки указателями), собираются по данным из проекта текстурные атласы, если надо - вставляется обратно и все счастливы. _________________ Работаю за деньги
KILL ALL HUMANS!!!!!111 |
|
Вернуться к началу |
|
|
Dr. MefistO
Зарегистрирован: 28.03.2006 Сообщения: 189 Откуда: Беларусь
|
Добавлено: Пт Сен 02, 2011 8:39 am Заголовок сообщения: |
|
|
HoRRoR как всегда зол и беспощаден!) но, действительно, обижаться не на что.
Попробую все же отстоять свою позицию как разработчика утилиты.
Цитата: | *.bin - это расширение. Если быть точнее - маска имени файла. Я так понимаю, имеется ввиду дамп VRAM? Всегда считал одной из основных проблем дилетантства отсутствие адекватной терминологии, ибо даже гуру зачастую далеки от профессионального лексикона и бросаются сленгом направо и налево. Более того - плюются, когда называешь вещи своими именами. Видимо, сила привычки, а точнее - «синдром утёнка».
Также ещё одной проблемой считаю вредную привычку связывать файлы с их именами. Те же расширения по-хорошему нужны лишь для простоты работы с файлами, и в целом имя должно лишь помогать найти нужный файл, а как его открывать - должен решать сам пользователь. Конечно, за исключением случаев, когда имя действительно заведомо гарантированно несёт определённую семантику, и именно по нему ориентируется программа.
Итого, что мы имеем... Вьювер тимов? Было. Вьювер видеопамяти? Было. Преимущества перед аналогами? Не вижу.
К слову, вот RAW-данные - по сути сырые данные любого типа, почему же они представлены маской *.bin, если у них даже принятого расширения нет? Ну да, часто .bin, но ведь не реже и .raw, .dat, etc. |
Назовите мне эмуляторы, которые сейвят VRAM не в формате BIN? Да, конечно, можно засейвить с любым другим расширением, но это ведь не главное! С таким же успехом можно придраться к эмуляторам Сеги, которые не понимают расширения файла *.seg, а берут только SMD (BIN). А так: всегда можно включить All Files (*.*) в фильтрах. Сделаю позже анализатор не по расширению, а по содержимому.
Цитата: | Сканер? Было. Рипер? Было. Преимущество? Сомневаюсь. |
Скорость работы, ищет и плохие Тимы, которые пропускают другие риперы.
Цитата: | Да было, было. Добавили бы PNG, что ли, для приличия. BMP как основной формат можно простить разве что из-за палитр, и то это технический аспект. |
Позже будет и PNG. Поэтому и test в названии версии. Да и в битмап программа палитры не сохраняет. Палитры сохраняются в отдельный битмап.
Это еще одно планируемое введение в проге: правильный конвертер из BMP в TIM, в котором не будет как в других конвертерах - если одинаковый цвет, то ссылаются на одну и ту же ячейку клата, при этом клат портится.
Цитата: | Вот тут можно понадеяться на явное преимущество, если речь идёт действительно о правильной обработке CD-образов.
Отсюда вытекает вопрос: при «сборке» (если быть точнее - при банальном реплейсе) корректируются EDC/ECC-данные? Если да - ставлю плюсик, если же нет и имеется ввиду простая поддержка больших файлов - то подобный вандализм образу на пользу не пойдёт. |
Это сделано только для таких случаев, когда в смонтированном образе видны только пару файлов, не содержащих ни графики, ни других данных. Эта функция работает так: из каждого сектора берет только Data. И опять же: это только как доп. функционал.
Цитата: | Дойдя до этого пункта, понимаешь всю суть программы и огорчаешься. Напихать всяких свистелок и перделок в тулзу можно всегда, а когда всё это делается ещё в тестовой версии - возникает сомнение, есть ли вообще в планах развитие основного функционала.
Господа, любую программу с поддержкой открытия файлов из командной строки в венде можно привязать к расширению, не стоит делать из этого «достоинство» инструмента. |
Это сделано опять же для удобства. Это не является основным "достоинством" программы. И... нашли к чему придраться.
Цитата: | Тогда уж добавьте: «- Запускается и работает». Как выражается один мой знакомый, «кошерная тулза» должна начинаться с командной строки. |
Здесь имелось ввиду параметры командной строки, без запуска основной программы. Получается что-то типа GUI-Console в одном флаконе.
Цитата: | Так обычно делают, когда на основной функционал уже не хватает фантазии. И лично меня это жутко бесит. Всё-таки если я захочу повазюкать мышкой в венде, я найду кучу других способов. Спасает одно - это не навязчиво и включается опционально, поэтому можно не обращать внимания. |
Вот и не обращаем. Это как дополнение.
Цитата: | Квантование с учётом альфы |
Альфа в *.tim очень плохо реализована первоначально.
А вообще, спасибо вам за критику, дорой Хоррор. Учтем ваши пожелания и претензии.
Не хочется хвалиться, но мы не старались делать похожий на что-то проект. И, уже на данном этапе, TimView Plus обскакивает по функционалу и TimViewer, и прочие консольные аналоги-риперы. Ну а мы шагаем дальше. Функционал расширяется, изменяется согласно того, как этого желают юзеры, и разработчики (исходя из своих возможностей, навыков). _________________ Metal is my life... |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Пт Сен 02, 2011 9:18 am Заголовок сообщения: |
|
|
Цитата: | Назовите мне эмуляторы, которые сейвят VRAM не в формате BIN? Да, конечно, можно засейвить с любым другим расширением, но это ведь не главное! С таким же успехом можно придраться к эмуляторам Сеги, которые не понимают расширения файла *.seg, а берут только SMD (BIN). А так: всегда можно включить All Files (*.*) в фильтрах. Сделаю позже анализатор не по расширению, а по содержимому. |
BIN - не формат, это лишь часть имени файла. Какой может быть формат у дампа памяти? Дамп - он и в Африке дамп. А вот насчёт сеги тут не надо, smd и gen - принятые расширения для ромов.
Цитата: | Скорость работы, ищет и плохие Тимы, которые пропускают другие риперы. |
Хорошо, допустим. Правда я не припомню, чтобы приходилось испытывать проблемы со скоростью.
Цитата: | Позже будет и PNG. Поэтому и test в названии версии. Да и в битмап программа палитры не сохраняет. Палитры сохраняются в отдельный битмап.
Это еще одно планируемое введение в проге: правильный конвертер из BMP в TIM, в котором не будет как в других конвертерах - если одинаковый цвет, то ссылаются на одну и ту же ячейку клата, при этом клат портится. |
Не совсем понял о чём речь, особенно про портящийся клат.
Цитата: | Это сделано только для таких случаев, когда в смонтированном образе видны только пару файлов, не содержащих ни графики, ни других данных. Эта функция работает так: из каждого сектора берет только Data. И опять же: это только как доп. функционал. |
С извлечением всё ясно. А как же со вставкой? Тоже обрабатывается только data? Вот это уже банально портит образ. Поправить коды коррекции ошибок не так уж и сложно, исходников куча.
Цитата: | Альфа в *.tim очень плохо реализована первоначально. |
Не важно как, главное реализована. Хотя бы просто квантование прикрутите. Хотя без должной обработки текстурных атласов это бесполезно, подойдёт только для изображений с одной палитрой. _________________ Работаю за деньги
KILL ALL HUMANS!!!!!111 |
|
Вернуться к началу |
|
|
Dr. MefistO
Зарегистрирован: 28.03.2006 Сообщения: 189 Откуда: Беларусь
|
Добавлено: Пт Сен 02, 2011 12:23 pm Заголовок сообщения: |
|
|
Цитата: | BIN - не формат, это лишь часть имени файла. Какой может быть формат у дампа памяти? Дамп - он и в Африке дамп. А вот насчёт сеги тут не надо, smd и gen - принятые расширения для ромов. |
Это ведь не проблема сменить на любое другое расширение. А описание функций писал на скорую руку - это опять же не главное. Хоть FCK расширение сделать, хоть JPG.
Цитата: | Не совсем понял о чём речь, особенно про портящийся клат. |
Допустим есть два одинаковых цвета в одном из индексов клата на разных позициях. В тиме каждый байт имэйдж даты ссылается туда, куда ему указали при создании. Все известные мне конвертеры составляют блок имэйдж-даты так: берут пиксел БМП, ищут такой цвет в клате, заносят байты в файл. Но если два цвета одинаковых, то при конвертировании получится следующее:
на одной палитре картинка будет нормальной, а на других - уже бяка.
Возьму конкретный пример: клат - в нем две строки, в каждой по три цвета (1: черный, белый, черный; 2: белый, зеленый, черный).
Конвертер берет первый пиксел битмапа, и заносит данные (индексы) в имэйдж блок: получится, к примеру: 00 01 00 (последний будет 00, т.к. возьмется опять же первый черный) для первого. И тогда вторая картинка уже будет искажена, т.к. будет не (белый, зеленый, черный), а (белый, зеленый, белый). Такая вот получается проблема. И мне много раз приходилось с ней сталкиваться.
Цитата: | С извлечением всё ясно. А как же со вставкой? Тоже обрабатывается только data? Вот это уже банально портит образ. Поправить коды коррекции ошибок не так уж и сложно, исходников куча. |
При извлечении создается три файла: с датой, остальной инфой из секторов, и файл с "контрольной суммой", чтобы при обратной сборке не собирались файлы, не подходящие друг к другу.
При сборке читается 24 байта инфы, потом даты 2048 байт, потом снова инфо 280 байт. Вот такая вот функция.
Цитата: | Не важно как, главное реализована. Хотя бы просто квантование прикрутите. Хотя без должной обработки текстурных атласов это бесполезно, подойдёт только для изображений с одной палитрой. |
Возможно, оно будет реализовано в будущих версиях. _________________ Metal is my life... |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Пт Сен 02, 2011 12:41 pm Заголовок сообщения: |
|
|
С клатом понял, на то и надо обрабатывать текстурные атласы как множество отдельных изображений, чтобы с палитрами не путаться. Хотя, если там палитровая анимация или просто несколько палитр принадлежат одному изображению, то тут уже косяк.
Цитата: | При сборке читается 24 байта инфы, потом даты 2048 байт, потом снова инфо 280 байт. Вот такая вот функция. |
Сборка ведь подразумевает запись, а не чтение, не? _________________ Работаю за деньги
KILL ALL HUMANS!!!!!111 |
|
Вернуться к началу |
|
|
Dr. MefistO
Зарегистрирован: 28.03.2006 Сообщения: 189 Откуда: Беларусь
|
Добавлено: Пт Сен 02, 2011 12:42 pm Заголовок сообщения: |
|
|
Цитата: | Сборка ведь подразумевает запись, а не чтение, не? |
Имеется ввиду чтение из полученных файлов и запись их в целый файл-образ. _________________ Metal is my life... |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Пт Сен 02, 2011 12:48 pm Заголовок сообщения: |
|
|
Ничего не понял. Хочешь сказать, что извлекается сектор целиком, включая служебную информацию, в три разных файла? _________________ Работаю за деньги
KILL ALL HUMANS!!!!!111 |
|
Вернуться к началу |
|
|
Dr. MefistO
Зарегистрирован: 28.03.2006 Сообщения: 189 Откуда: Беларусь
|
Добавлено: Пт Сен 02, 2011 12:56 pm Заголовок сообщения: |
|
|
Цитата: | Ничего не понял. Хочешь сказать, что извлекается сектор целиком, включая служебную информацию, в три разных файла? |
Нет, читает сектор из оригинала целиком, но пишет так: 24 байта из сектора в файл инфы, потом 2048 байт в файл даты, и 280 снова в файл инфы. Пока два файла. И в третий файл - "контрольная сумма" в виде размеров этих двух файлов.
При сборке:
читается 24 байта из инфы, записывается в файл образа, потом читается 2048 байт из даты, пишется в файл образа, и 280 байт из инфы, и записывает их файл образа. И так мы получаем новый образ. _________________ Metal is my life... |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Пт Сен 02, 2011 1:21 pm Заголовок сообщения: |
|
|
Ужас какой. Первые 24 байта вообще трогать не следует, а вот последние 280 как раз-таки своего рода контрольная сумма, и при любом изменении блока data эти данные будут уже не верны, что вызовет ошибку при чтении. Поэтому их надо просчитывать на этапе записи в образ, и уж никак не сохранять в файл. _________________ Работаю за деньги
KILL ALL HUMANS!!!!!111 |
|
Вернуться к началу |
|
|
Dr. MefistO
Зарегистрирован: 28.03.2006 Сообщения: 189 Откуда: Беларусь
|
Добавлено: Пт Сен 02, 2011 1:59 pm Заголовок сообщения: |
|
|
Цитата: | Ужас какой. Первые 24 байта вообще трогать не следует, а вот последние 280 как раз-таки своего рода контрольная сумма, и при любом изменении блока data эти данные будут уже не верны, что вызовет ошибку при чтении. Поэтому их надо просчитывать на этапе записи в образ, и уж никак не сохранять в файл. |
Честно, я этого не знал(
Подскажите, как высчитывать данные для этих 280 байт? _________________ Metal is my life... |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Пт Сен 02, 2011 2:26 pm Заголовок сообщения: |
|
|
На каком языке пишете? Где-то валялись исходники для C и Delphi. В гугле такие вещи почему-то с трудом находятся. _________________ Работаю за деньги
KILL ALL HUMANS!!!!!111 |
|
Вернуться к началу |
|
|
Dr. MefistO
Зарегистрирован: 28.03.2006 Сообщения: 189 Откуда: Беларусь
|
Добавлено: Пт Сен 02, 2011 5:40 pm Заголовок сообщения: |
|
|
Пишу на Делфи+KOL-MCK. Да, в гугле такие вещи не находил.
Буду рад исходникам на Delphi.
Подсчет ECC здесь по Хеммингу? _________________ Metal is my life... |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Пт Сен 02, 2011 6:55 pm Заголовок сообщения: |
|
|
Тогда вот тебе мой частичный порт libedc, ещё со времён, когда я кодил на дельфях.
Вот моя функция, формирующая сектор. Тут ещё заполняется заголовок сектора, тебе этот шаг не нужен.
Код: |
Type
TMode2Sector = Array[0..2352-1] of Byte;
...
procedure ConvertSector(Data: Pointer; LBA: Integer; ModeData: Integer = $80000);
var Sector: ^TMode2Sector; edc: Integer;
begin
Sector := Data;
Move(cSectorHeader, Sector^[0], 12);
FillChar(Sector^[12], 4, 0);
Move(ModeData, Sector^[16], 4);
Move(ModeData, Sector^[20], 4);
edc := build_edc(@Sector^[16], 2048 + 8);
Move(edc, Sector^[2072], 4);
encode_L2_P(@Sector^[12]);
encode_L2_Q(@Sector^[12]);
BuildAdress(LBA, Sector^[12]);
end;
|
_________________ Работаю за деньги
KILL ALL HUMANS!!!!!111 |
|
Вернуться к началу |
|
|
Dr. MefistO
Зарегистрирован: 28.03.2006 Сообщения: 189 Откуда: Беларусь
|
Добавлено: Пт Сен 02, 2011 7:07 pm Заголовок сообщения: |
|
|
Спасибо за помощь!
Цитата: | BuildAdress(LBA, Sector^[12]); |
Что это за функция и что она делает? Ее нет в исходниках.
Так вроде бы понял суть происходящего, но...
Код: | Type
TMode2Sector = Array[0..2352-1] of Byte;
...
procedure ConvertSector(Data: Pointer; LBA: Integer; ModeData: Integer = $80000);
var Sector: ^TMode2Sector; edc: Integer;
begin
Sector := Data;
Move(cSectorHeader, Sector^[0], 12);
FillChar(Sector^[12], 4, 0);
Move(ModeData, Sector^[16], 4);
Move(ModeData, Sector^[20], 4);
edc := build_edc(@Sector^[16], 2048 + 8);
Move(edc, Sector^[2072], 4);
encode_L2_P(@Sector^[12]);
encode_L2_Q(@Sector^[12]);
BuildAdress(LBA, Sector^[12]);
end; |
З.Ы. Можете пояснить подробнее эту процедуру? _________________ Metal is my life... |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Пт Сен 02, 2011 7:26 pm Заголовок сообщения: |
|
|
Цитата: | Что это за функция и что она делает? Ее нет в исходниках. |
Функция записывает в заголовок сектора время, исходя из номера сектора. Я думаю, вместо этой функции тебе надо просто временно заменить эти 4 байта на нули, а в конце вернуть обратно. Хотя, возможно, этого делать не придётся. Я уже не помню, как и что считается.
На всякий случай:
Код: |
Function bin2bcd(P: Integer): Byte;
begin
Result := ((p div 10) SHL 4) or (p mod 10);
end;
Procedure BuildAdress(LBA: Integer; var Dest);
var P: PByte; Sec: Integer;
begin
Inc(LBA, 75 * 2); // 2 seconds
P := @Dest;
P^ := bin2bcd(LBA div (60*75)); Inc(P);
P^ := bin2bcd((LBA div 75) mod 60); Inc(P);
P^ := bin2bcd(LBA mod 75); Inc(P);
P^ := 2;
end;
|
Цитата: | З.Ы. Можете пояснить подробнее эту процедуру? |
Сперва мы формируем заголовок. Тебе можно этот шаг пропустить, он у тебя уже есть. Но всё равно распишу.
Записываем сигнатуру (или маркер, не знаю как правильней) сектора:
Код: |
cSectorHeader: array[0..11] of byte = (
$00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00
);
...
Move(cSectorHeader, Sector^[0], 12);
|
Забиваем нулями место, куда будет записано время сектора:
Код: |
FillChar(Sector^[12], 4, 0);
|
Записываем информацию о режимах сектора (например, XA-сектора записаны в другом режиме, и вместо кодов коррекции ошибок всё оставшееся место уходит под данные):
Код: |
Move(ModeData, Sector^[16], 4);
Move(ModeData, Sector^[20], 4);
|
А вот теперь, собственно, что тебе надо.
Высчитываем EDC (контрольная сумма) и пишем её с 2072-го байта:
Код: |
edc := build_edc(@Sector^[16], 2048 + 8);
Move(edc, Sector^[2072], 4);
|
Считаем ECC (коды коррекции ошибок), функции сами записывают их куда надо:
Код: |
encode_L2_P(@Sector^[12]);
encode_L2_Q(@Sector^[12]);
|
И наконец, вычисляем и записываем время сектора (тебе вместо этого шага надо просто скопировать 4 байта начиная с 12-го, затереть это место нулями, а в конце вернуть обратно):
Код: |
BuildAdress(LBA, Sector^[12]);
|
_________________ Работаю за деньги
KILL ALL HUMANS!!!!!111 |
|
Вернуться к началу |
|
|
Dr. MefistO
Зарегистрирован: 28.03.2006 Сообщения: 189 Откуда: Беларусь
|
Добавлено: Пт Сен 02, 2011 7:38 pm Заголовок сообщения: |
|
|
Код: | ModeData: Integer = $80000 |
ModeData по умолчанию равна $80000 или ее откуда-то надо брать?
Код: | encode_L2_P(@Sector^[12]);
encode_L2_Q(@Sector^[12]); |
В какие именно позиции сектора записывают данные эти функции? На всякий случай. _________________ Metal is my life... |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Пт Сен 02, 2011 7:54 pm Заголовок сообщения: |
|
|
Dr. MefistO писал(а): | ModeData по умолчанию равна $80000 или ее откуда-то надо брать? |
Ещё раз говорю, ты работаешь только с data. Ну и временно затираешь 4 байта начиная с 12 до конца вычислений.
Цитата: | В какие именно позиции сектора записывают данные эти функции? На всякий случай. |
См. CD-ROM (mode 1) _________________ Работаю за деньги
KILL ALL HUMANS!!!!!111 |
|
Вернуться к началу |
|
|
Dr. MefistO
Зарегистрирован: 28.03.2006 Сообщения: 189 Откуда: Беларусь
|
Добавлено: Пт Сен 02, 2011 8:02 pm Заголовок сообщения: |
|
|
Код: | Move(ModeData, Sector^[16], 4);
...
edc := build_edc(@Sector^[16], 2048 + 8); |
Ну мне же надо считать EDC. Что тогда будет в секторе с 16 по 2048+8 позицию? _________________ Metal is my life... |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|