Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Активные темы » Windows 98 SE (оптимизация и улучшение) — десятая часть

Модерирует : KLASS, IFkO

IFkO (04-01-2024 19:57):  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198

   

MERCURY127



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ПРЕДЫДУЩИЕ ЧАСТИ ТЕМЫ: _1_ · _2_ · _3_ · _4_ · _5_ · _6_ · _7_ · _8_ · _9_

Windows 98 Second Edition  
ДЕCЯТАЯ ЧАСТЬ


Особенности работы с Windows 9X/ME с учётом прогресса и деградации в программно-аппаратном обеспечении на 2022+ год. Основное в теме - это обновления для Windows 98SE, а так же готовая высокоинтегрированная сборка "всё включено" - Windows 98IF. Добрые люди собрали "неофициальные паки обновлений" - сборники заплаток, фиксов (преимущественно от M$), а также делают собственные патчи, призванные улучшить работу этой древней операционной системы.
Ранее в теме принимали участие: maxud, Simplestas.
Актуальные патчи, паки и сборки выкладывают: IFkO, Sweetlow, BolenB и другие неофициальные лица.


Заплатки и драйверы от Rudolph R. Loew (Web Archive)
Памятный сайт (rloewelectronics.com) и ещё одна страничка
без его великолепных патчей, утилит и драйверов эта тема давно бы кончилась...


Практические аппаратные и программные
пределы работоспособности Win98

(с учетом представленных в этой теме решений по состоянию на 2023 год)


Последние доступные обновления, паки, сборки, патчи, утилиты и драйверы:

  • Windows 98IF от IFkO - неофициальная модульная сборка Windows 98SE с предустановленными обновлениями, заплатками, улучшениями и дополнительными компонентами, или готовые варианты сборки.
     
  • Драйверы и компоненты для Windows 98SE или 98IF от IFkO, предназначенные для установки в систему и интеграции в дистрибутив.
  • Краткая и полная инструкции по сборке дистрибутива Windows 98IF.
     
  • Наборы от BolenB для интеграции обновлений в дистрибутивы Win95osr2, Win98, Win98se, WinMe - чтобы при установке сразу ставились все обновления. Сделано с помощью SLIPSTRM - Slipstreaming Updates into a Windows 9x Installation CD от Rudolph R. Loew.
     
    Обновления от Maximus Decim
  • Инструкция по правильной установке Windows 98SE от maxud (версия от 21.02.2009) со ссылками на недостающие компоненты. Альтернативные списки ссылок - здесь и здесь.
     
  • UnSP for Windows 98 Standard/First/Gold/RTM Edition (English by Petr & erpdude8): 2.58 RC Lite и 2.58 Final Full
  • UnSP for Windows 98 Second Edition: 3.61, 3.64 by Problemchyld
     
  • Revolutions Pack 9.7 by Simplestas (aka Tihiy) - замечательная адаптация скинов от Windows XP и Vista под Windows 98/ME (улучшенное оформление окон, новые иконки и эффекты, новая панель снятия задач, сглаживание шрифтов ClearType и многое другое)
  • Tihiy's Tools - коллекция бесплатных утилит для Windows 98/ME от Simplestas (aka Tihiy), включающая индикатор сетевых подключений в трее, удобную панель снятия задач, панель завершения работы от XP и другие инструменты.
  • KernelEx 4.5 Final Multilingual by Xeno86 - проект по модифицированию библиотеки kernel32.dll для обеспечения возможности запуска под Windows 98/ME программ и игр для XP. KernelEx4.5.2 - последняя версия  (он же, адаптированный HNKTO для дистрибутива Windows 98IF).
  • SH95UPD (Shell 95 Update Project) 0.0.8 by sp193 - проект по модифицированию библиотеки shell32.dll от Windows 95, используемой в урезанных версиях Windows 98/ME, для обеспечения лучшей совместимости с этими ОС, основан на исходниках от KernelEx.
     
  • Tweaked Unofficial NVIDIA Display Driver 82.69 for Windows 98/ME by MDGx - последние неофициальные драйвера для всей линейки видеокарт GeForce, 82.69 "fixed", (или модульный драйвер видеокарт nVidia от IFkO, включающий и 82.69)  
  • VBEMP x86 by bearwindows - универсальный (для любых видеокарт) VESA/VBE видеодрайвер для архитектуры Windows 9x.
  • ReadDVD! - драйвер для чтения дисков в формате UDF 1.5-2.x в Windows 95-ME (он же, пересобранный  IFkO).
  • Panasonic DVD-RAM Driver - универсальная поддержка записи DVD-RAM дисков, оригинал и обновление от BHA
     
  • RASPPPoE - сетевой протокол PPP over Ethernet для Windows 95-2003 (RFC 2516 для подключения ADSL/GPON без роутера), скачать тут, (он же, в одном пакете с сетевыми драйверами от IFkO)
  • Active Directory Client Extensions (dsclient.exe) 5.0.2920.5 Russian (Q323466) - клиентское ПО для получения доступа из Windows 95-ME к службам Active Directory и DFS операционной системы Windows 2000 Server.
  • Microsoft Windows 95, Windows 98, MS-DOS и другие Resource Kits - комплекты утилит, не входящих в основную поставку вышеуказанных систем.
     
  • VirNETas Regional Settings Changer 3.04.0246 - мощная программа для изменения региональных настроек в английских версиях Windows 95/98, оптимизирована для работы с Windows 98SE (спасибо Grigorijg), подробное описание внутри архива.
  • Microsoft Plus! for Windows 98 - пакет дополнительных программ и тем оформления рабочего стола.

    Навигация по топику и ссылки на интересные статьи по теме:

    Для просмотра всех сообщений темы в одном окне пользуйтесь "версией для печати" (одноименная ссылка над нумерацией страниц)

  • Windows 9x + RAM > 512 Мб - обзор всех существующих способов решения проблемы + исчерпывающая статья с сайта iXBT (aka матчасть) + версия Microsoft (статьи KB184447, KB253912, KB304943 в вольном переводе от maxud)
  • Сбрось память на диск - статья о работе Windows 9x с виртуальной памятью, дисковым кэшем и файлом подкачки + авторская версия.  
    Самая свежая версия LIMEM с исходниками
  • Как изменить "GENERIC IDE DISK TYPE 47" в списке устройств на реальное имя диска на чипсетах Intel, VIA и SiS + DMRP (Drive Model Reading Patch) от MERCURY127 - патч ядра для любых чипсетов, версий и языков Windows 98/SE/ME (не для 95!).
  • Как установить "Intel Ultra ATA Storage Driver" и "Intel Application Accelerator" на чипсеты Intel 430/440. (подробнее)
  • Все, что нужно знать о доступе к локальным томам NTFS из под систем 9х
  • Большая коллекция разнообразных обновлений и патчей для Windows 95-ME (и не только)
  • Последние Microsoft Windows Hardware Compatibility Lists (HCLs) для NT/95/98/SE/ME/2K/XP
  • Обсуждение Windows 95-ME на форуме MSFN
  • Сайты с программами и играми, совместимыми с Windows 98: Old-DOS.ru, Old-Games.ru, OldVersion.com, MIRRORS.PDP-11.RU

  • Сайт с описанием всевозможных опций основных BIOS, в т.ч. с подсказками по правильному выбору опций для 9х

    "ЛИЧНЫЕ КОЛЛЕКЦИИ ПОЛЕЗНОСТЕЙ" УЧАСТНИКОВ ТОПИКА

  • Неочевидные инструкции для редких ситуаций
     
  • Коллекция MERCURY127 - разное добро, на которое он иногда ссылается. пароль на архивы 1 (единица), если другое не указано явно.
  • Коллекция SweetLow, на которую он иногда ссылается

    НЕАКТУАЛЬНОЕ И УТЕРЯННОЕ

    В этом разделе будет то, что уже никому не нужно или нигде не найти...

  • UnSP (Unofficial Service Pack) for Windows 98SE by Alper Coskun (aka Gape). Список отличий MDCU от UnSP.
  • SciTech SNAP Graphics - универсальные кроссплатформенные драйверы для широкого спектра видеокарт. жадное, глючное, мертвое.
  • Несколько советов по использованию Windows Update

    Схожие темы по Windows 95 и Windows ME :: Тема в Варезнике

    Рекомендуемый Хостинг картинок

  • Всего записей: 11564 | Зарегистр. 03-08-2008 | Отправлено: 23:36 31-12-2021 | Исправлено: IFkO, 21:35 04-12-2023
    IFkO



    Moderator
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Пользователи сборки!
    По моим прикидкам, "маскировочный комплект" для последней сборки остаётся прежним, ничего в ней не менялось так, чтобы новые дыры появились.
    Если кто-то всё же увидит, как через него просвечивают мои украшения - сообщите, буду зашивать прореху.

    Всего записей: 6886 | Зарегистр. 22-09-2005 | Отправлено: 20:02 20-12-2023 | Исправлено: IFkO, 20:03 20-12-2023
    SweetLow

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нашлось при другом исследовании:
    http://sweetlow.orgfree.com/download/a20alwon.zip
    Обработчик Line A20 "Always On" для HIMEM.SYS
    Оказывается HIMEM.SYS поддерживает внешние обработчики линии A20, соответственно удалось этим воспользоваться.
    Достоинства:
    1. Быстрый (всегда).
    2. Соответствует новому железу по поведению.
    Недостаток:
    - 48 лишних байт по сравнению с встроенным PS2 обработчиком.
    Использование:
    CONFIG.SYS:
    device=A20ALWON.SYS
    device=HIMEM.SYS /machine
    именно в ТАКОМ порядке и БЕЗ ключа /machine
     
    Если хочется убедиться, что всё работает:
    device=HIMEM.SYS /v
    должно написать "Installed external A20 handler."
     
    Если хочется проверить [быстродействие] на старой машине (которая может управлять линией A20 и по умолчанию она отключена) есть драйвер включения линии A20 через порт 92h, использование:
    device=PS2A20E.SYS
    device=A20ALWON.SYS
    device=HIMEM.SYS /machine
    именно в ТАКОМ порядке.

    Всего записей: 1013 | Зарегистр. 08-03-2005 | Отправлено: 20:23 20-12-2023
    fly_indiz



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SweetLow

    Цитата:
    http://sweetlow.orgfree.com/download/a20alwon.zip

    ссылка дохлая...

    Всего записей: 2620 | Зарегистр. 28-04-2006 | Отправлено: 11:10 21-12-2023
    BolenB



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    fly_indiz

    Цитата:
    ссылка дохлая...

    Ничего не дохлая, может у вас VPN? Отключить нахрен.

    Всего записей: 671 | Зарегистр. 22-12-2003 | Отправлено: 11:16 21-12-2023
    MERCURY127



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    наверняка всё еще насилует труп призрака оперы...

    Всего записей: 11564 | Зарегистр. 03-08-2008 | Отправлено: 11:45 21-12-2023
    HNKTO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    ссылка дохлая...

    Не дохлая. Но у Свита сервер имеет высокую избирательность к браузерам и IP клиентов. Перезалил так: http://sendfile.su/1678749

    Цитата:
    Нашлось при другом исследовании:

    Как всегдашний вопрос: почему в архиве вообще никаких описаний к предлагаемым утилитам?

    Цитата:
    LAV Filters

    Мне эта штука знакома. И ещё более знакома тем что способна вызывать глюки по всей операционке, не то что в местах связанных с воспроизведением видео, а вообще с использованием DirectX, COM, OLE. Что перебивает все её плюсы и сводит использование, вот, в составе а-ля встроенного фильтра KMPlаyer или консольной утилиты "standalone" транскодера.
    Глючное ибо очень.

    Цитата:
    Haali Media Splitter

    Его ключевая проблема - он тяжёлый и тормозной. И по факту перед MatroskaSplitter.ax mpc-hc за старостью времени уже не имеет никаких преимуществ. Его разработка прекратилась давно.

    Цитата:
    Точно ли, что в последнюю версию WebM Project не входит Opus-декодер (DirectShow)? По идее, должен быть.

    Не входит. И как я сказал егойный сплиттер Matroska даже не понимает звуковую дорогу с таким кодеком.

    Всего записей: 2093 | Зарегистр. 30-01-2010 | Отправлено: 17:12 21-12-2023
    Lagris

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    HNKTO

    Цитата:
    Глючное ибо очень.

    Насколько эта вещь глючная на 98 проверить не получается. Я попытался некоторые версии воткнуть в систему: установилась и зарегистрировалась через установшик только одна старая 0.49 (KernelEx обязателен). Но она умеет только VP8 и Vorbis, поэтому смысла в ней нет никакого. Из версий LAV Filters поновее ни в какую не регистрируются LAVSplitter.ax, LAVAudio.ax и LAVVideo.ax. Проверил 0.59, 0.66, 0.68 - везде облом. На MSFN писали, что подключали LAVFiltersXP-0.74.1.9 (правда для стриминга), но как у них это получилось - я не понял. Здесь обсуждалось:
    https://msfn.org/board/topic/181784-streaming-downloading-youtube-videos-in-2020/
    Я опыты с Webm на 98 заканчиваю, с Webm Project имеем полноценный VP8 + Vorbis, VP9 + Vorbis и VP9 + Opus без звука. Уже неплохо. И как бонус - показ эскизов webm в TotalCommander, правда у меня только с виртуального сидюка. С диска или общей папки эскизы не отображаются. Как будет на реальном железе, естественно не знаю...

    Всего записей: 1209 | Зарегистр. 26-08-2007 | Отправлено: 20:11 21-12-2023
    SweetLow

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    В развитие вчерашней темы A20 Line "Always On":
    http://sweetlow.orgfree.com/download/a20alwon.zip
    +Патч HIMEM.SYS
    Обработчик bullmicral(16) заменён на always_on(19)
     
    Использование:
    CONFIG.SYS:
    device=HIMEM.SYS /machine:always_on
    или
    device=HIMEM.SYS /machine:19
     
    Достоинства по сравнению с кошерным решением через внешний обработчик:
    1. Память наоборот экономится (32 байтa)
    2. Ещё чуть-чуть быстрее
     
    Недостатки:
    1. Bull Micral 60 пал смертью храбрых в борьбе за светлое будущее. Почтим память погибшего героя минутой молчания.
    2. Свидетели священного микрософтовского кода (ау, volkovysk) опять будут недовольно бухтеть
     
     
    Добавлено:
    HNKTO

    Цитата:
    Как всегдашний вопрос: почему в архиве вообще никаких описаний к предлагаемым утилитам?

    Традиционный ответ - это ТЕСТОВАЯ версия (выложенная в тайной надежде что кто-то скажет что оно работает ), релизы я на гитхаб выкладываю с ридми. Но в данном случае описание по моему ВПОЛНЕ достаточное.

    Всего записей: 1013 | Зарегистр. 08-03-2005 | Отправлено: 23:12 21-12-2023
    BolenB



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SweetLow
    "Сгорел сарай, гори и хата".
    Предложение, может поставить always_on первым обработчиком, с проверкой, переключается ли A20?
    Если нет используем его. Если переключается ищем следующий (PS2, AT). Остальные обработчики ИМХО нафиг не нужны для железа поддерживающего win95 и выше (проц Pentium и выше). Места чтоб встроить проверку будет предостаточно.

    Всего записей: 671 | Зарегистр. 22-12-2003 | Отправлено: 17:35 22-12-2023
    HNKTO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    "Сгорел сарай, гори и хата".

    Ну ладно. Допустим. А чем XMGR плох? Чтоб танцевать эти танцы с бубнами (не ради самих танцев). А оный ещё умеет отрезать "лишнюю" ОЗУ, причём как показывает практика на современных платформах этот момент является не менее важным чем и обработка A20.

    Всего записей: 2093 | Зарегистр. 30-01-2010 | Отправлено: 18:29 22-12-2023
    IFkO



    Moderator
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    SweetLow

    Цитата:
    ау, volkovysk
    С полгода уже, как он не с нами...

    Всего записей: 6886 | Зарегистр. 22-09-2005 | Отправлено: 20:26 22-12-2023
    SweetLow

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BolenB

    Цитата:
    Предложение, может поставить always_on первым обработчиком, с проверкой, переключается ли A20?

    Кстати, была похожая идея. Реально там можно реализовать алгоритм: проверяем, что линия УЖЕ включена -> автоматом включаем обработчик "always_on". Но пока я решил всё же такое не делать для патча, всё же это было бы достаточно радикальное изменение. А вот A20ALWON.SYS именно так и работает - он остаётся резидентом только если линия уже включена в момент его загрузки.
     
    IFkO

    Цитата:
    С полгода уже, как он не с нами

    А его то за что?

    Всего записей: 1013 | Зарегистр. 08-03-2005 | Отправлено: 00:24 23-12-2023
    BolenB



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SweetLow

    Цитата:
    Дошли руки и до этой проверки. Имею сообщить следующее:
    1. /A20CONTROL:OFF разломан патологически и ничем не лечится (во всяком случае в версии HIMEM.SYS 3.95). Т.е. индусокод наблюдался уже в Win95...  

    Глянул в исходники msdos 6.00 и что-то мне не нравится это место:

    Цитата:
     
    Int15Handler
     
            .....
        jz    I15HExit        ; A20 was off, don't mess with it
     
        cli                ; A20 handlers called with ints off
        pusha                ; Preserve previous handler's return
        mov     ax,1
        call    A20Handler        ; turn A20 back on
        popa                ; Restore the previous handler's return
     
    I15HExit:
        add    sp,2            ; 'pop' A20 state flag
        iret                ; Uses flags from lower level handler
     

    При /A20CONTROL:OFF обработчики (A20Handler) не установлены и всё улетает в никуда.
    Здесь скорее всего должно быть:

    Цитата:
            .....
        call    LocalEnableA20        ; turn A20 back on
            ....
     

    Или GlobalEnableA20? По моему всётаки LocalEnableA20 достаточно.
    В LocalEnableA20 и GlobalEnableA20 хоть предусмотрена проверка на /A20CONTROL:OFF и ничего не должно ломаться.
    В Win98se himem это место то-же самое, /A20CONTROL:OFF по моему никогда не работал и не проверялся.
     
    Попробую проверить.
    Проверил, не то. Виснет где-то в другом месте.

    Всего записей: 671 | Зарегистр. 22-12-2003 | Отправлено: 05:59 23-12-2023 | Исправлено: BolenB, 09:12 23-12-2023
    MERCURY127



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    лучше бы вы, такие умные, драйвер HDA запилили. а то ведь все эти Аудиги все равно не вечные.  
    а еще лучше блютуз звук запустить. там всего-то нужно заставить blueletaudio.sys или blueletscoaudio.sys создать виртуальную звуковушку под 98.

    Всего записей: 11564 | Зарегистр. 03-08-2008 | Отправлено: 10:54 23-12-2023
    IFkO



    Moderator
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    SweetLow

    Цитата:
    А его то за что?
    Просто сам не ходит сюда. Или ходит, но не пишет...
     
     
    MERCURY127

    Цитата:
    лучше бы вы, такие умные, драйвер HDA запилили.
    Можно латать колдобины здесь, а можно широким шагом идти вперёд!
    Те, кто пошёл вперёд, давным-давно 98-ю бросили.

    Всего записей: 6886 | Зарегистр. 22-09-2005 | Отправлено: 10:59 23-12-2023 | Исправлено: IFkO, 11:07 23-12-2023
    SweetLow

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BolenB

    Цитата:
    Виснет где-то в другом месте.

    Я ж там несколькими постами ниже писал, что значит "патологически" - виснет при вызове обработчика int 2f 4300, т.е. при определении наличия драйвера XMM. И да, писал, что и досовский himem.sys 3.16 тоже виснет, т.е. баг древний и в доступном коде он должен отслеживаться. Но сам код именно в этой части я не изучал.
     
    Добавлено:
    MERCURY127

    Цитата:
    драйвер HDA запилили

    Я ведь уже писал - не повезло с исходниками, в экспе SP1 его ещё не было.
     
    IFkO

    Цитата:
    Или ходит, но не пишет

    А, ну он и раньше с перерывами появлялся.

    Всего записей: 1013 | Зарегистр. 08-03-2005 | Отправлено: 11:07 23-12-2023
    SweetLow

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    http://sweetlow.orgfree.com/download/usb20_win9x.zip
    Реализация "тихой" установки для устройств обрабатываемых EHCI контроллером, повторение (с одновременным исправлением) функционала USBHUB.SYS из 98SE (ТОЛЬКО из неё).
    SilentClasses.reg - это стандартные записи из 98SE (1-3) плюс записи (4-6) для тихой установки некомпозитных USB HID клавиатур и мышей и USB Storage Block Bulk Only устройств.
    Кстати, записи 2 и 3 в USBHUB.SYS в реальности не обрабатываются...
    Список пополняемый, последовательность нумерации и даже использование нумерации не является необходимым - перебирает все записи в SilentClasses.
     
    Принцип кодирования первого байта:
     
    #define Control_Byte_InSingleInterfaceMask 0x80 (т.е. для обычного устройства)
    #define Control_Byte_InMultipleInterfacesMask 0x40 (для композитного устройства)
    #define Control_Byte_UseSubClass 0x01 (использовать подкласс для сравнения)
    #define Control_Byte_UseProtocol 0x02 (использовать протокол для сравнения)
     
    второй байт - класс
    третий байт - подкласс
    четвёртый байт - протокол
     
    Для примера:
    c3,08,06,50 - USB Storage Block Bulk Only устройства, в составе как единичных, так и композитных устройств
    c1,08,06,00 - USB Storage Block устройства
    c0,08,00,00 - USB Storage устройства
     
    В тестировании поведения USBHUB.SYS c SilentClasses добрался даже до FullSpeed (USB 1.1) MultiConfiguration Storage устройства и композитных HID (и прочих) устройств.
    Далее проверяя всё тоже самое на EHCI тут же поймал две проблемы (собственно основной код уже неделю назад был готов):
     
    1. Несовместимость старого USBHUB.SYS как драйвера композитного устройства со сборкой USBHUB20.SYS экспы. Источник вроде стал понятен - там требуется специальная бинарная совместимость обеих сборок (USBHUB.SYS и USBHUB20.SYS). Так вот - сборки USBHUB20.SYS из 2000 и VIA совместимы со сборками USBHUB.SYS из линейки 98 - 98SE - 2000 - ME, а вот XP - уже нет. Похожие (но не 100% такие) проблемы в ветке кстати отмечались.
    Решение - использовать USBCCGP.SYS который бинарной зависимости не имеет.
    Есть два варианта:
    а. Лайт - на старом (1.1) стеке по прежнему использовать USBHUB.SYS как драйвер композитных устройств,
    на новом - USBCCGP.SYS. Решение хорошее в плане совместимости, но имеющее одну маленькую проблему, когда устройство подключенное вначале к старому контроллеру переносится на новый контроллер. Идентификатор не меняется, аппаратный путь тоже может не измениться (в редком случае, который при настройках по умолчанию (неиспользование уникальных идентификаторов USB устройств) не встречается) и - вуаля - имеем начальную проблему в виде USBHUB.SYS поверх USBHUB20.SYS
    б. Полное - все композитные устройства переводим на USBCCGP.SYS (так уже вроде сделано в 98IF и последних вариантах NUSB).
    Соответственно приложено две версии USB2.INF
    Переключаясь между ними желательно чистить USB2.PNF, DRVDATA.BIN и DRVIDX.BIN
     
    2. Проблема при извлечении HID устройств на горячую из EHCI контроллера опять же со сборкой USBPORT.SYS+USBEHCI.SYS из XP.
    Причём у меня эта проблема до сих пор маскировалась тем, что на старой машине такие устройства попадали на OHCI контроллер, а на ноутбуке где есть только EHCI я подключал их через хаб и извлекал на горячую весь хаб сразу (и в таком варианте - проблем нет).
    Сделал попытку поправить (в коде остался какой-то кусок ещё от совместимости с 2000), в каких-то случаях (обычный HID) помогло, в каких-то (композитный HID) - не очень. Дальше пока не разбирался, там совершенно дурная проблема и крайне хакерское её решение.
    USBPORT.SYS из 2000 этой проблемы вроде не имеет.

    Всего записей: 1013 | Зарегистр. 08-03-2005 | Отправлено: 15:15 23-12-2023
    MERCURY127



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    тут кто-то давился из-за лишних то ли 50, то ли 500 байт нижней памяти...
    ок. подвернулся под руку комп на лга 775. решил тряхнуть стариной.

    Код:
    Modules using memory below 1Mb:
     
      Name           Total       =   Conventional   +   Upper Memory
      --------  ----------------   ----------------   ----------------
      SYSTEM       18016   (18K)      10496   (10K)       7520    (7K)
      COMMAND     7248     (7K)           80     (0K)       7168    (7K)
      HIMEM          1104     (1K)             0     (0K)       1104    (1K)
      CLARUS          752     (1K)             0     (0K)         752    (1K)
      FREE         726512  (709K)   644768  (630K)     81744   (80K)
     

    как тебе такое, Дэвид Блейн?

    Всего записей: 11564 | Зарегистр. 03-08-2008 | Отправлено: 21:36 23-12-2023 | Исправлено: MERCURY127, 21:41 23-12-2023
    SweetLow

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Код:
     
      Тип памяти           Размер        Занято      Свободно
      ----------------  -----------   -----------   -----------
      Обычная               653 312         9 920       643 392
      Верхняя                77 840        21 488        56 352
     
      Ниже 1 МБ:            731 152        31 408       699 744
     

    Биосом занято 2KiB из 640. И могу ещё 32 байта освободить в верхней памяти
     
    Добавлено:
    И, кстати, я был первым, кто на ЭТОМ железе такое получил.

    Всего записей: 1013 | Зарегистр. 08-03-2005 | Отправлено: 22:45 23-12-2023
    SweetLow

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BolenB

    Цитата:
    Глянул в исходники msdos 6.00 и что-то мне не нравится это место

    Таки я сдался и всё же решил исходники посмотреть в связи с /A20CONTROL:OFF. И тут же вышел на это же место. Действительно, это полная лажа.
     

    Цитата:
    Проверил, не то. Виснет где-то в другом месте.

    А каким образом в этом можно убедиться? Любой резидентный код (BIOS-ный, в том числе и в первую очередь) пользующийся int 15h 87h хаотически, например по таймеру, может прийти в эту точку в ПРОИЗВОЛЬНЫЙ момент. Да ещё и устанавливается оно не сразу в момент инициализации драйвера, а когда первый раз вызывается реальная функция XMS, см. XMMControl
     
     
    Добавлено:

    Цитата:
     
    Здесь скорее всего должно быть:
    call    LocalEnableA20        ; turn A20 back on
     

    Кстати, заменять на LocalEnableA20 не очень кошерно - ибо по хорошему оно должно быть сбалансировано с LocalDisableA20
     
    Добавлено:
    Всё, похоже разобрался:
     
    TopOfTextSeg    dw    0    ; size of retained driver
     
    InstallA20  proc near
    ...
    mov    di,offset A20Handler
    rep    movsb            ; move it!
    mov    [TopOfTextSeg],di    ; keep track of used space
     
    InitDriver  proc    near
        cmp    fA20Control,0        ; should we take control of A20 anyway?
        jne    IDInsA20        ;   yes, go muck with it
        mov    [fCanChangeA20],0    ;   no,  don't allow changing of A20
        call    DispInfoMsg        ;     and tell user about it
        jmp    short IDAfterA20
     
    IDInsA20:
        call    InstallA20        ; install proper A20 handler
    ...
    IDAfterA20:
     
    А теперь вопрос на 100 баллов - а чему же у нас равен TopOfTextSeg когда fA20Control == 0?
     
     
    Добавлено:
    Итак, мои маленькие некрофилы, заменяем  
    TopOfTextSeg    dw    0    ; size of retained driver
     
    на
     
    TopOfTextSeg    dw    offset   A20Handler  ; size of retained driver
     
    или в реальном коде стандартного хаймема сабжа:
     
    0012: 00 -> 1A
    0013: 00 -> 04
     
    и вуаля - /A20CONTROL:OFF наконец то РАБОТАЕТ как он ДОЛЖЕН работать!
     
    до int 15 Fn 87 дело, разумеется, не доходит, но всё равно надо решить, как поправить тот говнокод, ибо устранение одного жирного бага размаскирует второй не менее жирный

    Всего записей: 1013 | Зарегистр. 08-03-2005 | Отправлено: 10:16 24-12-2023
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Активные темы » Windows 98 SE (оптимизация и улучшение) — десятая часть
    IFkO (04-01-2024 19:57):


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru