1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Часть I. Делаю загрузочную дискету.

Автор: BolenB · 1 июн 2021 · Обновлено 3 июн 2021 · ·
  1. Часть I
    Захотелось мне сделать предустановку Win98 (установленную и настроенную Windows c необходимым мне софтом, отвязанную от железа, чтобы запускалась на любом ПК, сжатую в архив) с длинными именами в чистом DOS.

    Цель: чтоб все хотелки вместились на стандартную дискету 1.44 (драйвер длинных имен DosLfn, Файловый менеджер, Распаковщик архива).

    Расскажу, на какие грабли наступил в процессе, чтоб вы не повторяли моих ошибок (и самому не забыть).

    За основу взял стандартную загрузочную дискету Win98se.
    ---------------------------------------------------------------------------------------------------------------------------------
    Первым делом нам нужен хороший кэш диска и драйвер CD/DVD с поддержкой SATA.
    Выбор пал на Jack R. Ellis Drivers (современные драйвера, быстрые, занимают мало памяти и места на диске).
    Jack R. Ellis Drivers
    himem.sys, smartdrive.exe, oakcdrom.sys, ramdrive.sys, mscdex.exe
    заменяем на
    xmgr.sys, xhdd.sys, xdvd2.sys, rdisk.com, shsucdx.com
    Стандартный русификатор дисплея и клавиатуры выкидываем и меняем на russian.com (выдрал с дискетки DOS Victoria 3.51).

    Какой менеджер дополнительной памяти (emm386, Jemm386) использовать?
    А никакой, с ними распаковка архива замедляется раза в 1.5
    ---------------------------------------------------------------------------------------------------------------------------------
    Второе, нужен архиватор (распаковщик) с поддержкой длинных имен в DOS (под DosLFN).

    ACE архиватор, прекрасно понимает длинные имена под DOSLFN, есть у него одна проблема, в корень диска C: не может распаковывать файлы (io.sys, msdos.sys и т.д.), но прекрасно распаковывает эти файлы в любую папку на этом диске. Не подходит.

    7-zip портированный под DOS, тоже понимает длинные имена, но при распаковке русские имена превращает в кракозябры. Не подходит.

    Pkunzip 2.50 прекрасно работает под DOSLFN, но есть проблема: при количестве файлов и папок в архиве ~6200, вылетает (не хватает памяти?), до ~4000 файлов работает нормально.
    Не подходит.

    Unzip 5.52 из пакета Info-Zip.
    16-битный unzip.exe не понимает длинных имен файлов, не подходит.
    А вот 32-битный unzip32.exe ещё поживет. Понимает длинные имена файлов, нет ограничений на количество папок и файлов в архиве.
    Недостаток только один: не снимает атрибут "архивный" при распаковке файлов из архива.

    Unrar38b прекрасно поддерживает длинные имена. Снимает атрибут "архивный" при распаковке файлов из архива (опция -ac).

    При упаковке в Rar архив есть нюансы:
    Паковать можно любой версией (3.93 - 6.01).
    В новых версиях выбирать формат архива RAR4, в Дополнительно ->Параметры сжатия ->Сжатие текста (запретить).

    Solid архивы (независимо от размера словаря 64кб-4096кб) для быстрой распаковки требуют ~6Мб свободной XMS памяти.
    Размер архива (словарь 4096кб) получается 229Мб.
    Обычные архивы (независимо от размера словаря 64кб-4096кб) для быстрой распаковки требуют ~6Мб свободной XMS памяти.
    Размер архива (словарь 4096кб) получается 245Мб.

    Если Сжатие текста оставить в Авто, то:

    Solid архивы (независимо от размера словаря 64кб-4096кб) для быстрой распаковки требуют ~30-32Мб свободной XMS памяти.
    Размер архива (словарь 4096кб) получается 229Мб.
    Обычные архивы (независимо от размера словаря 64кб-4096кб) для быстрой распаковки требуют ~16Мб свободной XMS памяти.
    Размер архива (словарь 4096кб) получается 244Мб.

    Выигрыш 0.5 - 1Мб, но будут жесткие тормоза при распаковке текстовых файлов, время распаковки увеличится, памяти жрет в 5раз больше, оно нам надо?
    В последнем WinRar 6.01, кстати, этот режим по умолчанию запрещен.


    Если XMS памяти меньше чем я указал, распаковка замедляется в несколько раз.

    Мой выбор: Архив RAR, обычный (не solid).
    ---------------------------------------------------------------------------------------------------------------------------------
    Третий пункт, выбор файлового менеджера для нашей дискеты:

    VC 4.99.08 уж очень долго файлы копирует с места на место.

    Folder Manager 1.07 всем хорош, но повтор набранных команд там просто ад, ALT-F8 (история команд), редактировать команду, запустить.
    Плюс глючит под VirtualPC.

    Dos Navigator самый удобный, но на дискету не влезает.
    Что ж, скачиваю исходники DN, скачиваю Borland Pascal 7.01 и собираю MICRO версию DN (есть там такая опция).
    Правлю пару багов (подружить xmgr.sys и DN тот ещё квест)
    Отправляю патч в эху ru.shell.dn, почитать можете здесь:
    https://wfido.ru/m/RU.SHELL.DN/2:5023/24.3915+c6225f3e
    В cab архиве DPMI MICRO версия DN занимает ~500кб с Borland-овским DOS экстендером. На дискету утрамбовывается.
    Поддерживает просмотр и распаковку архивов Rar, Zip, Cab.

    ---------------------------------------------------------------------------------------------------------------------------------
    Четвертый пункт, заставить это все вместе функционировать.

    Сколько нужно памяти для распаковки?
    XHDD кэш минималка 5Мб
    Unrar 6мб
    основная память 1Мб
    RAM диск 8мб-10мб
    Итого 20 - 22Мб.
    Для ровного счета, пусть будет 24Мб (8Мб свободной памяти для Unrar и RAM диск 10Мб).

    Все с дискета готова.
    Безымянный333.png
    Метки:
    ki86m, Колючий, The Jackson и 3 другим нравится это.

Комментарии

  1. ki86m
    А не подскажите, где сейчас можно скачать актуальные исходники DN?
    1. BolenB
      ki86m нравится это.
Чтобы оставить комментарий просто зарегистрируйтесь и станьте участником!
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление