|
File2DB | Описание | Информация | Утилита преобразует любой исходный файл размером до 9 мегабайт (это ограничение только в оригинальной версии) - в ассемблерный текст вида [пробел]db[пробел]0,1,2,3,.....,255 [пробел]db[пробел]0,1,2,3,.....,255 Строка переносится на 70-м символе, при этом количество числовых данных в ней определяется только длиной строки (строки из односимвольных чисел будут содержать больше данных, чем строки их трехсимвольных чисел). Числа в db - десятичные. Размер результирующего файла формируется по ходу выполнения и может достигать десятков мегабайт. Утилита удобна, когда нужно быстро что-то вставить в ассемблерный исходник, а использовать для этого отладчик - из пушки по воробьям. Управление типовое: file2db.exe c:\w\font0.dat c:\w\bak\font0.asm и выводится в подсказке при запуске без параметров. .
| Раздел: Hack tools
file2db (случайный скриншот) Скриншоты Операционная система: MS-DOS Требования: минимальные для PC/XT Автор: Wlodek (Владимир Булчукей) [WWW] Издатель: -
Добавил: Wlodek (2014.10.08) | Доступные файлы - сортировка по имени и версии, времени добавления Файлов: 3. Файл | Размер | Выпуск | Версия | Язык | Качество | Загрузил | | 1.5 Кб | 2001.07.25 | 1.01 (free) | Английский | | Wlodek 2014.10.08 | Original file2db.exe в архиве file2db.zip Размер входного файла - до 9 Мб. | | 3.4 Кб | 2014.12.02 | 1.01 (fixed) | Английский | | Nika 2014.12.02 | Fixed - any 32-bit input file size. Добавлена возможность работы с файлами любого 32-битного размера (ограничение DOS) | | 4.3 Кб | 2017 | 0.000a | Английский | | Nika 2017.01.06 | WIN32 CMD remake by .SVD. |
|
Комментарии | #1 Автор: Nika (2014.10.08 16:07) | Wlodek, да, у многих есть собственные утилитки для этой цели. Моя вот выводит в stdout байты чётко в 4-символьном виде "0ххH," и по 8 байтов на строку. Файл получается значительно больше, но зато чёткой структуры.
Единственное, что мне непонятно в этой file2db.exe, это - с чем связано 8-мегабайтное ограничение на размер входного файла?
|
#2 Автор: Wlodek (2014.10.09 02:09) | > с чем связано 8-мегабайтное ограничение на размер входного файла Просто так легче считать байты - укладывается в 3 байта. Вы можете заметить, что программа выдаёт размер в байтах. Вряд ли кому придёт в голову переводить в db более 8 мегабайт :-) , имхо. Это утилита подручных средств, не более, на десятки-сотни-тысячи байт. В исходнике вы можете найти алгоритм печати числа из 3 байт в виде десятичного числа. Есля я не приложил исходник :-) . Спасибо за отклик!
|
#3 Автор: Nika (2014.10.09 07:01, изменений: 5, 2014.10.09 07:36) | Хорошо работает, быстро, с блоковым чтением и записью. Добавил только проверку на непревышение размера входного файла 9 мегабайт. С вашего позволенья..
Перенёс в "АНДЕРГРАУНД -> Hack tools" |
#4 Автор: Nika (2014.12.02 00:27, изменений: 5, 2022.01.08 23:20) | Хорошо потестировал эту утилитку на паре десятков файлов размером 5..7 Мб. Отлично отработала, быстро и без ошибок. Thanks.
--Добавлено-- Убрано ограничение на размер входного файла 9 Мб. Размер теперь может быть любым вплоть до 2Гб (Ограничение DOS). Проверено на файлах размером 60..70 Мб.
|
#5 Автор: Nika (2015.06.10 17:16, изменений: 1, 2015.06.10 17:16) | Грустное известие: Москве скончался Владимир Булчукей (Wlodek) 24.10.1963-3.06.2015 http://zx-pk.ru/showthread.php?p=809487#post809487
Вечная память. И спасибо за программку, несколько раз уже выручала сильно.. |
#6 Автор: Nika (2017.01.07 00:27) | Добавил WIN32 CMD ремейк. Это тот случай, когда программа удачная, и в неё ни добавить, ни убавить. |
#7 Автор: SokilOff (2017.01.07 04:13, изменений: 1, 2017.01.07 04:18) | Хорошо бы пару параметров для формата выходного файла.
Первый (к примеру /s) задавал бы тип выходных данных: db, dw, dd, dq Второй (скажем /n) - вид форматирования данных на выходе: 0...h, 0x.... (разные типы записи шестнадцатеричных чисел), .....b (т.е. число в бинарном виде вроде 1010101b). Т.е. чтобы не только десятичные числа были. |
#8 Автор: Nika (2017.01.07 04:59, изменений: 23, 2017.01.07 13:05) | Я когда эту программку впервые увидел, то у меня такие же мысли поначалу возникали. Но идеология этой утилиты как раз в том, что тексты на её выходе предназначены не для использования человеком, а для подсовывания транслятору, и тут важна только синтаксическая правильность и компактность размера текстов. Плюс скорость работы. Самое компактное представление чисел получается именно десятичное. А скорость работы обеспечивается буферизацией чтения/записи.
У меня были и свои подобные примочки, как раз выложил сегодня архив с утилитками db/dw/dd/dq.com и font.com: http://old-dos.ru/index.php?page=files&mode=files&do=show&id=6179 http://old-dos.ru/index.php?page=files&mode=files&do=show&id=6180 - Но то утилиты как раз для удобства визуальной работы с полученными текстами, размер которых на выходе довольно велик и работают те утилиты сравнительно медленно. Зато они как раз и реализовывают предложенное вами (разные форматы вывода).
Когда мне понадобилось переводить в INC двоичные файлы размером в несколько десятков мегабайт (двоичные!), то мои утилитки показали полную нефункциональность, а эта file2db наоборот, только и спасла в той ситуации. (Пришлось, правда, её немного подправить, изначально она файлы, размером большие 9Мб, не принимала).
Теперь вот сделал ремейк под WIN32, только с целью иметь возможность использовать её в 64-битных ОС. Ну и удобно, что LFN поддерживается, как и положено в WIN32. Давно уже эта задача лежала "в стеке", сейчас вот только нашлось время.
С затейливыми форматами вывода то будет отдельная утилита, может быть, со временем. А эта, пожалуй, в таком виде и останется, в память о своём прототипе от Wlodek'а. Хотя это и не порт, строго говоря, а ремейк - полностью сделано с ноля, текст DOS COM-прототипа никак не использовался.
Вообще, это тема для написания универсальной утилиты, почему-то она, эта тема, сравнительно мало разработана, хотя и имеется довольно много подобных утилит. Все они обладают теми или иными недостатками, идеала нет. Во всяком случае, мне не попался.
File2db на общем фоне выглядит чуть ли не лучшей, но она не универсальна, это да. |
| |
|