Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #63, ФЕВРАЛЬ 2006 г.

все на одной дискете

КРИС КАСПЕРСКИ АКА МЫЩЪХ

Спецвыпуск: Хакер, номер #063, стр. 063-006-3


подготовка doswin32 к работе

Последнюю версию пакета doswin32 можно скачать с сайта www.doswin32.com. Для некоммерческого использования он бесплатен. Минимум системных требований: 80486 DX и 16 Мб оперативной памяти. Версия MS-DOS от 5.x и выше. Однако вплоть до версии 7.х поддержка длинных имен отсутствует (doswin32 работает с диском не напрямую, а через файловую систему, «умнее» которой быть никак не может).

Скачиваешь ядро исполнительной системы с www.doswin32.com:8080/ftp/pub/dw32core.zip и распаковываешь. Видишь файлы: DOSWIN32.RTM (150 Кб) — DPMI-расширитель, RUN32.EXE (571 байт) — «пускалка», RD32.EXE (579 байт) — загрузчик для отладчика Turbo Debugger и т.п. Первые два файла обязательны, остальные можно и потереть (особенно если не используешь Turbo Debugger). Скопируй их на системную дискету, которую можно подготовить средствами Windows 98 или обратившись к проекту FreeDOS.

Загружать драйверы HIMEM.SYS и EMM32.EXE совершенно не обязательно, doswin32 справится с памятью и самостоятельно. Однако без мыши, русификатора и smartdrive будет очень плохо. После запуска doswin32 уже не удастся загрузить никакие MS-DOS-драйверы, об их запуске следует позаботиться заблаговременно. Крайне желательно установить правильную кодовую страницу (на нее отвечает country.sys), иначе русские имена файлов будут отображаться некорректно.

Синтаксис командной строки предельно прост: run32 file_name arg1 arg2 argN, где file_name — имя win32-файла, который нужно запустить, а arg1-argN — ключи командной строки, которые будут переданы запускаемому приложению. Если не указывать никаких имен, doswin32 останется в памяти резидентно, позволяя запускать файлы обычным путем. Мы можем работать как со старыми 8- и 16-разрядными MS-DOS-приложениями реального и защищенного режима, так и с новыми 32-разрядными win32-приложениями. (Есть сложности с dpmi16-приложениями, поэтому по «настояниям трудящихся» я сделал возможность применять их. Но учти, что до запуска doswin32 нужно установить несколько env-var, описанных в документации, — прим. Юрия Харона.) Выход из эмулятора — по команде Exit.

К сожалению, под VM Ware и некоторыми другими эмуляторами при попытке запуска «тяжеловесных» программ наподобие FAR'а или PKZIP'а doswin32 вылетает с воплем об ошибке. Под «борщом» (эмулятором BOCHS) PKZIP уже запускается, но... FAR по-прежнему продолжает не работать: обламывается с поиском языковых файлов и тихо кончается в черный экран. Так проявляют себя ошибки эмулятора, для исправления которых к статье прилагается специальный патч, подготовленный Юрием Хароном (не ищи его ни на официальном сайте борща, ни на сайте самого doswin32, так как это 100% эксклюзив). Просто скопируй файлы в директорию исходных текстов борща версии 2.1.1 (совместимость с остальными версиями не гарантирована) и перекомпилируй проект. Теперь FAR запускается как ни в чем не бывало, а черный экран окрашивается в приятный голубой цвет.

Назад на стр. 063-006-2  Содержание  Вперед на стр. 063-006-4