1. Обрезаем io.sys
В io.sys есть полезная часть (в начале) и практически бесполезная (в конце).
Бесполезная - это Logo (графическая картинка, выводится при загрузке) и менеджер конфигураций.
Размер io.sys можно уменьшить отрезав бесполезную часть.
io.sys от win95osr2 (последняя версия лежит в обновлении Q185301) обрезается от 214918 -> до размера 121520 байт.
io.sys от win98se (версия для win98 и win98se одинаковы, брать в Q311561) обрезается от 222670 -> до размера 122896 байт.
2. Исправляем размер io.sys после обрезания.
Загрузчик io.sys одинаков для всех трех систем (первые 4 сектора, 2048 байт, MSLOAD).
Мои наблюдения:
В MZ хеадере важны только «MZ» ( шестнадцатеричное : 4D 5A) в начале файла (« магическое число ») и длина файла в параграфах по смещению 08h, остальные параметры можно занулить, как в загрузчике от WinMe.
Для загрузки io.sys надо прописать количество параграфов по смещению 08h, и не абы сколько, а вместится в определёный диапазон.
Пропишем меньше - io.sys загрузится не полностью, пропишем больше - зависнем.
Как считать: Сектор = 512 байт, параграф = 16 байт, 2048 = 4 сектора, 1536 = 3 сектора.
Берем наш обрезаный io.sys размером 122896 байт.
122896 / 512 = 240.03
Округляем в большую сторону, до 241 сектора.
241 * 512 = 123392 байт (сколько файл занимает секторов).
123392 - 2048 = 121344 (1DA00h) / 16 (10h) = 1DA0h + 1 = 1DA1h
123392 - 1536 = 121856 (1DC00h) / 16 (10h) = 1DC0h
Вот в этих пределах (1DA1h - 1DC0h) надо прописывать количество параграфов.
Если пропишем < 1DA1h то io.sys загрузится не весь. Если пропишем 1DA0h не загрузится последний сектор (потеряется 16 байт в конце io.sys)
Если пропишем > 1DC0h то зависнем (из-за бага, загрузчик не может найти в FAT 0FFFFFFF8 end of cluster mark (EOC),пугается и зависает.
В WindowsMe этот баг (или особенность) пофиксили и можно указывать размер > 1DC0h, загрузчик сам считает сколько надо байт, лишнего не загрузит.
Перенес fix из ME в Win95osr2 - Win98se загрузчик.
HDR_new.rar
Для размера файла 121520 байт, размер в параграфах будет (1D41h - 1D60h).
3. Состояние опций по умолчанию.
io.sys Win98SE (Q311561)
состояние опций по умолчанию хранится в слове (2 байта):
00009523: 80h (с 7 по 0 бит)
00009524: 00h (с 9 по 8 бит)
Если бит сброшен то это эквивалентно опция = 1 в msdos.sys
Если бит установлен то это эквивалентно опция = 0 в msdos.sys
------------------------------------------------
98 76543210
------------------------------------------------
00 0000000x - Logo (0 или 1h)
00 000000x0 - DBLSPACE (0 или 2h)
00 00000x00 - DRVSPACE (0 или 4h)
00 0000x000 - BOOTKEYS (0 или 8h)
00 000x0000 - BOOTWIN (0 или 10h)
00 00x00000 - BOOTGUI (0 или 20h)
00 0x000000 - LOADTOP (0 или 40h)
00 x0000000 - BOOTMULTI (0 или 80h)
0x 00000000 - BOOTWARN (0 или 1h)
x0 00000000 - SYSTEMREG (0 или 2h)
-------------------------------------------------
При "пустом" msdos.sys мы имеем
00009523: 8000 (бит 7 в 1-ом байте установлен), что эквивалентно BOOTMULTI=0, все остальные
опции соответственно =1 (так как биты сброшены).
Захотели мы, например, чтоб в io.sys по умолчанию было Logo=0. Нужно установить бит 0 по адресу
00009523:
80h + 01h = 81h
---------------------------------------
00009523: 81h теперь по умолчанию BOOTMULTI=0;Logo=0
---------------------------------------
Надеюсь смысл понятен.
--------------------------------------------------------------------------------------------------------
Если хочется подробностей, то можно прочитать здесь: Windows 98 SE (оптимизация и улучшение) — десятая часть - [16] :: Microsoft Windows :: Компьютерный форум Ru.Board
---------------------------------------------------------------------------------------------------------
Управление опцией DisableLog хранится отдельно:
0000503D: 02 DisableLog=0
0000503D: 01 DisableLog=1
----------------------------------------------------------------
Для io.sys от Win95osr2 (Q185301):
состояние опций по умолчанию хранится в слове (2 байта):
000093E9: 80h (с 7 по 0 бит)
000093EA: 00h (с 9 по 8 бит)
00004FCD: 02 DisableLog=0
00004FCD: 01 DisableLog=1
4. Сжатие io.sys
Чтобы уменьшить размер io.sys, его можно сжать. Для этого хорошо подходит aPACK.
Ibsen Software [ products - aPACK ]
-----------------------------------------------------------------------------------------------------------------
Если хочется подробностей, то можно прочитать здесь:
Windows 98 SE (оптимизация и улучшение) — десятая часть - [160] :: Microsoft Windows :: Компьютерный форум Ru.Board
Windows 98 SE (оптимизация и улучшение) — десятая часть - [161] :: Microsoft Windows :: Компьютерный форум Ru.Board
------------------------------------------------------------------------------------------------------------------
Сделал тулчейн для упаковки IOPAK.710 (Немножко переделал IOPAK.8 от MERCURY127).
Не универсален, не поддерживает addon-ы.
Корректно пакует только MSDOS 7.10 (Win95osr2 - Win98se).
Но на побаловаться с упаковкой io.sys его возможностей хватит.
-
Скрыть объявление
Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.
-
Скрыть объявлениеЕсли Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.
Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
- Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
- Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
- Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
- Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
С уважением, администрация форума Old-Games.RU
Комментарии
Сортировать комментарии по