Форматирование дискет на 160 Кб

Поиск, обмен ссылками, вопросы по устаревшему программному обеспечению.
pahan
Advanced Member
Сообщения: 4456
Зарегистрирован: 13.03.2015,14:23
Откуда: Химки, М.О.

Вклад в сообщество

Форматирование дискет на 160 Кб

Сообщение pahan » 24.02.2023,18:21

Я сам максимум смогу проверить привод на 1.2 в 2000й.
Ну если время найдется, то тоже интересно (в плане ключиков).
Попробовал. Это и правда весело, что там микрософт навертела :) Итак, привод и дискета на 1.2 МБ, во всех ОС документированы два варианта: или через ключи /1 /8 или через/f:160.
Dos 6.22
/1 /8 - недопустимые параметры
/f:160 - спокойно форматирует, выдает сообщение что unformat невозможен
Dos 7.1 (98я БЕЗ загрузки gui) - аналогично, только надписи про unformat уже нет.
Кстати при формировании на 160 КБ вообще не предлагает вводить метку тома. Это так, для тех кто считает что fat он и есть fat.
Windows 98 SE
Из проводника предлагает только 360 и 1.2
Из командной строки не работает никак - или несовместимые параметры или утверждает что носитель неисправен или испорчена дорожка 0.
Windows 2000 SP4
Из проводника аналогично.
Из командной строки - прекрасно работают оба варианта.

SilverJohn
Junior Member
Сообщения: 132
Зарегистрирован: 13.09.2013,06:43
Откуда: SPb

Форматирование дискет на 160 Кб

Сообщение SilverJohn » 24.02.2023,22:35

vintik_33 писал(а): 23.02.2023,10:58 А что если их format.com тупо переписать на дискету с "DOS 2.0; 2.1" и попробовать
DOS начинает проверять версию уже с версии 1.1, если не ошибаюсь. На всякий случай проверил - версии несовместимы.
pahan писал(а): 24.02.2023,18:21 Кстати при формировании на 160 КБ вообще не предлагает вводить метку тома. Это так, для тех кто считает что fat он и есть fat.
А метка тома как-то относится к FAT?
Последний раз редактировалось SilverJohn 25.02.2023,03:57, всего редактировалось 1 раз.

Аватара пользователя
uav1606
Advanced Member
Сообщения: 5969
Зарегистрирован: 16.01.2008,22:04
Откуда: Енакиево
Контактная информация:

Вклад в сообщество

Форматирование дискет на 160 Кб

Сообщение uav1606 » 25.02.2023,00:51

Ну, в FAT - метка тома - это просто "файл" в корне с атрибутом 0x08. (Точнее, мне больше попадалось с 0x28.)
Хотя есть такое поле и в boot-секторе. Не знаю, какое где используется. По идее, они должны совпадать.

SilverJohn
Junior Member
Сообщения: 132
Зарегистрирован: 13.09.2013,06:43
Откуда: SPb

Форматирование дискет на 160 Кб

Сообщение SilverJohn » 25.02.2023,10:23

uav1606 писал(а): 25.02.2023,00:51 в FAT - метка тома - это просто "файл" в корне с атрибутом 0x08.
На счёт корня ничего не понял. Это точно про дискеты?

Аватара пользователя
uav1606
Advanced Member
Сообщения: 5969
Зарегистрирован: 16.01.2008,22:04
Откуда: Енакиево
Контактная информация:

Вклад в сообщество

Форматирование дискет на 160 Кб

Сообщение uav1606 » 25.02.2023,11:00

Volume label в FAT хранится как запись корневого каталога с особым атрибутом, благодаря которому она не показывается в содержимом каталога по, например, команде DIR:
vlabel.png
Есть ещё дублирующее поле в boot-секторе.

Насчёт того, что при форматировании на 160 КБ не спрашивает метку тома - не знаю, почему так, но насколько я знаю, она уже была в самых первых реализациях FAT.

pahan
Advanced Member
Сообщения: 4456
Зарегистрирован: 13.03.2015,14:23
Откуда: Химки, М.О.

Вклад в сообщество

Форматирование дискет на 160 Кб

Сообщение pahan » 25.02.2023,12:46

Хотя есть такое поле и в boot-секторе. Не знаю, какое где используется. По идее, они должны совпадать
На совсем древних системах не должны. Смещение 2B в загрузочном секторе - это partition volume label , стала обязательной в os/2 1.2. Сама структура extended bios parameter block в которой она находится - появилась в dos 4 и os/2 1.0. В современных системах используется она.
Смещение 0x0B в корне (который сам по себе отдельная структура до fat32) - это directory volume label родом из dos 2.0 (как и поддиректории).

SilverJohn
Junior Member
Сообщения: 132
Зарегистрирован: 13.09.2013,06:43
Откуда: SPb

Форматирование дискет на 160 Кб

Сообщение SilverJohn » 25.02.2023,13:29

что-то пропустил
uav1606 писал(а): 25.02.2023,11:00 Volume label в FAT хранится как запись корневого каталога с особым атрибутом
Ошибочно считал, что метка тома хранится в бутсекторе. Проверил версии 1-3.3. При форматировании действительно записывается файлом в каталог (в версиях до 3.3 с атрибутом 08). Причём если при форматировании задать метку тома, то эта, казалось бы чистая дискета, не позволит в дальнейшем сделать дискету системной.
В бутсекторе следов метки тома не обнаружил! :(
uav1606 писал(а): 25.02.2023,11:00 не показывается в содержимом каталога по, например, команде DIR
И в NC тоже.
uav1606 писал(а): 25.02.2023,11:00 была в самых первых реализациях FAT
Volume label появилась во второй версии доса, видимо связано с началом использования жёстких дисков. В DOS 2.0 при форматировании с ключами:
/8/1/v -не совместимость параметров
/8/1 -ноу проблем
/v -тоже ноу.
Т.е. на 360 Кб метку позволяет, а на 160 Кб - нет.
Последний раз редактировалось SilverJohn 25.02.2023,14:29, всего редактировалось 2 раза.

Аватара пользователя
uav1606
Advanced Member
Сообщения: 5969
Зарегистрирован: 16.01.2008,22:04
Откуда: Енакиево
Контактная информация:

Вклад в сообщество

Форматирование дискет на 160 Кб

Сообщение uav1606 » 25.02.2023,13:36

pahan писал(а): 25.02.2023,12:46 Смещение 0x0B в корне (который сам по себе отдельная структура до fat32) - это directory volume label родом из dos 2.0 (как и поддиректории).
Только там не смещение, а атрибут 0x08 (как read-only, hidden и т.п.).
А сам "файл" метки тома может быть любым по счёту. Во всяком случае, так в MS-DOS 6.22.

P.S. Вообще, интересно, что FAT в ранних версиях отличалась в этом плане. До этого про такое не читал.

pahan
Advanced Member
Сообщения: 4456
Зарегистрирован: 13.03.2015,14:23
Откуда: Химки, М.О.

Вклад в сообщество

Форматирование дискет на 160 Кб

Сообщение pahan » 25.02.2023,13:49

Атрибут 8 находится по смещению B в описании каждого файла :) скрытый, системный, директория... - это все разные значения его же.
P.S. Вообще, интересно, что FAT в ранних версиях отличалась в этом плане
Ну так MS-DOS вообще в плане кода и своего внутреннего устройства стал стабильным где-то к 5й версии к началу 90х. Чем древнее, тем больший там бардак и по устройству и по функционалу и по номерам версиям и по их индивидуальным вариантам для кучи конкретных машин.

Аватара пользователя
uav1606
Advanced Member
Сообщения: 5969
Зарегистрирован: 16.01.2008,22:04
Откуда: Енакиево
Контактная информация:

Вклад в сообщество

Форматирование дискет на 160 Кб

Сообщение uav1606 » 25.02.2023,13:54

pahan писал(а): 25.02.2023,13:49 Атрибут 8 находится по смещению B в описании каждого файла скрытый, системный, директория... - это все разные значения его же.
А, прошу прощения, я не так понял фразу "Смещение 0x0B в корне" - подумал, что Вы про смещение от начала корневого каталога или что-то подобное.

vintik_33
Advanced Member
Сообщения: 517
Зарегистрирован: 16.11.2019,13:12
Откуда: Чувашия

Форматирование дискет на 160 Кб

Сообщение vintik_33 » 25.02.2023,20:48

SilverJohn писал(а): 24.02.2023,22:35
vintik_33 писал(а): 23.02.2023,10:58 А что если их format.com тупо переписать на дискету с "DOS 2.0; 2.1" и попробовать
DOS начинает проверять версию уже с версии 1.1, если не ошибаюсь. На всякий случай проверил - версии несовместимы.
На всякий случай посмотрел код - и в PC-DOS 2.0, который по Вашей ссылке скачал,
и в MS-DOS 3.30 (ну то что под рукой было), исполнение начинается одинаково -
с проверки версии ОС (int 21, функция 30).
Исправляем 74 по адресу 218 на EB (меняем условный переход на безусловный jmp)
и прога замечательно запускается под ХР :biggrin: :biggrin: :biggrin:
Сорри, но скрипеть дискетой в 10 ночи не буду...

Изображение

Изображение

Ответить