- Распаковщик МК ДОС дисков
-
? S_V_B - 24.01.2018 21:01
очередной велосипед готов:
https://yadi.sk/d/vAZIJJMI3RkbPt
¤
кому нужно погоняйте.. сырой еще писал всего два часа и только для того чтобы выдрать с диска знакогенератор сохраненный из ПЗУ.
-
? S_V_B - 24.01.2018 21:15
Создается каталог с именем IMG файла, туда все записывается.
¤
Только что заметил, что нечепятки в начале или конце некоторых имен файлов проскакивают. (завтра разберусь, спать пора)
-
? Terra - 24.01.2018 21:40
поздравляю вы изобрели велосипед :) http://bk0010.org/files/terra/mk2ms.zip
-
? Feika - 25.01.2018 02:29
Не фига не велосипед, Терра то что вы дали на линуксе и на 64 битной системе даже не открылось, а вот ыкрсия S_V_B вполне работала и там и там, если поддержку не только МКДоса будет то цены ей не будет.
-
? S_V_B - 25.01.2018 05:14
/* Terra поздравляю вы изобрели велосипед */
Я же говорю что по необходимости.. разве вы не в курсе, что com файлы под виндой не работают?
-
? BD - 25.01.2018 13:50
так дойдем что img2bkd и bkd2img можно будет из виндов запускать! еще раз охреневаю, чем S_V_B занимается в рабочее время ))
-
? BD - 25.01.2018 13:58
особенно hdd_bk, конечно ))
-
? S_V_B - 25.01.2018 14:00
/* чем S_V_B занимается в рабочее время */
я это писал вчера с 21-00 по 24-00 по нашему сремени GMT+6
-
? TheGWBV - 25.01.2018 14:44
S_V_B, спасибо за кроссплатформенность :)
-
? S_V_B - 25.01.2018 14:46
Длинна имени файла в МК-ДОС 14 символов?
-
? S_V_B - 25.01.2018 14:58
Не могу понять откуда иногда мусор в именах попадается
-
? Дмитрий - 25.01.2018 15:29
Длина имени 14 символов. Мб вы не распознаете файл и каталог? Каталог в МКДОС имеет первый символ с кодом 127(10).
-
? BD - 25.01.2018 15:37
записи о лог. дисках hdd первом байте имени тоже. в адресе, если не 0, - привод. это надо игнопировать.
-
? S_V_B - 25.01.2018 15:56
уже допер.. съехал малость
-
? TheGWBV@ - 25.01.2018 16:58
Если попытаться открыть образ с АНДОС - вылетает с ошибкой и закрывается (пробовала под wine)...
-
? S_V_B - 25.01.2018 17:12
Только МК дос.. щас доделаю
-
? S_V_B - 25.01.2018 17:42
Все исправил, не заметил что атрибут каталога 0x7F смещен на 2 байта.
¤
Теперь все работает.
При открытии файла не МК ДОС должно выскочить сообщение что не мк дос.
-
? BD - 25.01.2018 19:29
а всего-то оставалось разабраться с кластерами fat12 и файловую систему fat16 на БК с реальными подкаталогами сделать. издеваюсь, увы ((
-
? Voland@ - 25.01.2018 21:07
S_V_B, добавьте потом окончательную версию, если не сложно, сюда: http://forum.pk-fpga.ru/viewtopic.php?f=46&t=5498
-
? Terra - 25.01.2018 22:47
Готов забрать свои слова про велосипед обратно. Глянул исходники а они ещё на асме. Работу с образами (сборка/разборка) переписывал на Си, а это как-то не помню для чего делал, тоже наверное для развития :) Я не занимаюсь программированием, профессионально, чисто хобби , на которое всё меньше остаётся времени. Есть же андос 3.0 beta, а fat16 прощё fat12 не надо с переносами мудрить
-
? TheGWBV@ - 26.01.2018 00:04
>> Есть же андос 3.0 beta
Что имелось в виду? И где скачать? :)
-
? S_V_B - 26.01.2018 09:02
нужно ли добавлять в бинарник адрес и длину?
я так понимаю при обратном добавлении в образ программы с автозапуском не будут работать.
-
? TheGWBV@ - 26.01.2018 09:56
Лучше сделать флаг, от которого это будет зависеть (делаться или нет).
Не все файлы bin имеют в начале два служебных слова с адресом загрузки и длиной.
Вроде как, даже в Бейсике из Вильнюса bin-ы это просто дамп памяти...
-
? gid - 26.01.2018 10:31
А ещё лучше сделать автоопределение:
если второе слово равно (длина файла - 4) или (длина файла - 22), то это файл с заголовком бин, а не просто так расширение.
Так можно отлавливать бин файлы даже без расширения бин.
Соответственно, дальше обрабатывать нужным образом.
-
? S_V_B - 26.01.2018 10:51
Сначала тоже по выбору хотел сделать, но авто определение интересней.. попробуем
-
? S_V_B - 26.01.2018 13:59
Добавил заголовки, распаковывал - обратно записывал с помощью BKDE. Все вроде работает. У кого время будет погоняйте может косяки вылезут.
Для себя сделал чекбокс чтобы просто дампами скидывал.
-
? S_V_B - 26.01.2018 15:15
https://yadi.sk/d/8zP4lRnQ3Rorfc
-
? Terra - 28.01.2018 19:35
а чего расширение IMG так жёстко прописано? BKD тоже распространённое, ну и *.* тоже не помешало бы.
-
? S_V_B - 29.01.2018 05:57
ок, добавлю
-
? S_V_B - 29.01.2018 17:17
Добавил сохранение структуры каталогов
¤
https://yadi.sk/d/yLc4YmmG3RtJvw
-
? S_V_B - 29.01.2018 18:22
https://yadi.sk/d/zQGLOMiR3RtSu4
-
? S_V_B - 04.02.2018 18:49
У кого будет время проверьте плз.
Сделал что бы сохранял в каталоги как на исходном диске, дома все работает, попробовал на работе - на некоторых каталогах в конце названия вылазит какая-то "Ять" типа твердого знака. В МК ДОС длинна имени каталога же 13 символов, а файлов 14?
¤
¤
https://yadi.sk/d/VyM_QjT43S5iff
-
? BD - 04.02.2018 20:40
не переживай, все работает. только вопрос зачем? )) в андос (fat12), например, адрес загрузки указывается вместо "времени". а шрифты ты и так мог скачать .BKF или .FNT с любого образа. их можно опознать по адресу загрузки 112276(8), длина 3600(8) ))
-
? TheGWBV@ - 05.02.2018 01:49
S_V_B, а у меня те же файлы, что в каталоге, оказываются и в корне с припиской в конце букв "Бкь" :)
-
? S_V_B - 05.02.2018 05:45
да все было написано спонтанно и то что я хотел выдернуть уже выдернул.. но если народу нужно надо доделать.
я грешу на оптимизацию в компиляторе, когда ее отключаешь все работает.
все равно в дальнейшем хочу сделать работу с образами HDD и там уже сделаю по другому.
Второпях сделал статическое выделение памяти, а когда оптимизатор такое видит начинает бесноваться. :)
¤
TheGWBV@ - вы поди еще в Wine запускали?
-
? S_V_B - 05.02.2018 06:12
/* Дмитрий - 04.02.2018 20:38
>> ? S_V_B - 04.02.2018 14:14
>> значит у тебя есть свободное время чтобы отвлекаться на все подряд особенно если это не особо кому нужно.
Проверять написанное нужно в любом случае, а то сделаешь тяп-ляп, а потом кто-то спросит - а нет ли такой проги? Есть, а она не отлажена, работает кое-как. И ты кинешься отлаживать и вылизывать прогу, которую написал полгода назад?*/
¤
Вот как раз про это я и говорю.. как бы мне уже и не нужно, и у меня все прекрасно работает но доделывать нужно, а времени нет.
-
? Дмитрий - 05.02.2018 11:30
Кстати, а что мешает не копировать буквы в другое место, а при разборе структуры сразу перекодировать имена (прямо в каталоге) из КОИ8 и брать имена для имени файла оттуда же, без каких-либо перебрасываний строк по буферам?
-
? Дмитрий - 05.02.2018 11:32
Что-то мне подсказывает, что мусор образуется от длинных имен, помещенных в буфер для перекодировки без предварительной очистки этого буфера перед каждым новым именем.
-
? gid - 05.02.2018 12:44
Жаль, нету исходников, но очень похоже на классическую ошибку, когда забывают про нулевой байт - ограничитель строки. Т.е. строка длиной 14 символов, в памяти занимает 15 символов (последний - это 0).
В отладочной сборке используемая память обнуляется, поэтому прога работает. А в релизной, тем более с оптимизациями память никто не чистит, поэтому там может быть всякое постороннее, вылезающее на экран.
-
? S_V_B - 05.02.2018 12:58
Да я вроде Trim делал. Копировать приходилось чтобы правильно собрать вложенность каталогов.
В следующий раз в TreeView сразу собирать буду туда уже оптимизатор не залезет.
-
? Alexander Tishin@ - 05.02.2018 22:16
В случае БК никакого символа-ограничителя нет. Длина имени файла всегда 16 байт, если пользователь ввёл меньше -- добивается пробелами (040/0x20/32.)
¤
В этом источник всех ваших бед.
-
? S_V_B - 06.02.2018 07:16
/* Длина имени файла всегда 16 байт */
Для МК-ДОС 14 байт для подкаталога 13.. и источник всех моих бед не в этом, точнее это даже не беда .. переписывать лень.
Эх если бы беды были такие простые .. жизнь была бы сказкой.. :)
-
? S_V_B - 06.02.2018 07:35
самое смешное что на моем компе даже с максимальной оптимизацией все прекрасно работает, значит у меня самый правильный комп :)))
У BD тоже правильный комп у него работает..а у кого не работает у тех неправильные.. хе-хе
если бы я на работе на развалюхе не запустил то и не узнал бы о проблеме, никто же не написал.
-
? S_V_B - 25.02.2018 16:59
Сегодня хотел распаковать диск от TheGWBV, выяснилось бывает родительские каталоги находятся после дочерних..
пришлось сделать два прохода, теперь все работает (и без мусора)
¤
ссылка:
¤
https://yadi.sk/d/VyM_QjT43S5iff
- << Форум