Давно мучался со случайными зависаниями Windows 98SE при работе с клавиатурой. Наиболее просто это воспроизводилось у меня в Acrobat Reader 6.0.3, достаточно было непрерывно листать многостраничный pdf с помощью PgUp или PdDn, как практически 100% можно было попасть в зависон. При этом иногда не выскакивало окно ошибки GPF, а иногда выскакивало, но клавиатура всё равно зависала, в любом случае дальше только Reset.
Решил чуть поразбираться, возможно проблема либо в виндовом VMM32, либо в драйвере видеокарты Nvidia, но симптомы такие, что при наложении прерываний клавиатуры и кого-то ещё (например, видеокарты) возврат в keyboard.drv из вложенного прерывания происходит по неправильному адресу (на 1 меньше нужного) и попадает на неправильный опкод. Исходную причину такого поведения винды искать пока лень, то есть она может проявляться в вылетах винды и в других случаях, но для конкретных зависаний с клавиатурой удалось поменять keyboard.drv, чтобы ситуацию заметно улучшить. Патч в аттаче.
Патч keyboard.drv Windows 98SE для обхода зависаний клавиатуры
Патч keyboard.drv Windows 98SE для обхода зависаний клавиатуры
- Вложения
-
- keyboard_win98se_patch.zip
- (16.95 КБ) 39 скачиваний