Компактный вариант Windows

Софт только для использования в DOS

Компактный вариант Windows

Сообщение napoleon80386 » 22 апр 2012, 18:50

В этой статье я расскажу вам о почти собственном творении, расширяющим возможности DOS и позволяющим запускать многие консольные и некоторые графические Win32 приложения под DOS. Это - результат симбиоза замечательного DOS-расширителя HX-DOS Extender (http://japheth.de/HX.html) и моих прямых (?) рук. Свой продукт я назвал WineDOS (догадайтесь, по аналогии с чем). Это DOS-расширитель со встроенной поддержкой файлов PE формата. В распакованном виде он занимает около 6 Мб, из которых сам расширитель занимает меньше 100 Кб (остальное - эмуляция WinAPI).
Итак, WineDOS (а также HX-DOS) - это:
- полноценный DPMI сервер
- солидная эмуляция Win32 API, намного превосходящая таковую у других аналогичных продуктов (WDOSX, DosWin32, Phar Lap TNT, Borland PowerPack). Реализованы основные библиотеки: advapi32.dl, kernel32.dll, gdi32.dll, user32.dll, ole32.dll, oleaut32.dll, wsock32.dll, mpr.dll, ntdll.dll и некоторые другие
- поддержка реестра
- буфер обмена
- поддержка звуковых карт (SB16 compatible)
- поддержка сети (на основе WattTCP)
- (!)поддержка DirectDraw и OpenGL приложений
- возможность тырить недостающие DLL у различных винд, а также ReactOS
Пока WineDOS не имеет:
- полноценной поддержки высокоуровневой графики (библиотеки shell32.dll и comctl32.dll пока реализованы лишь частично, поддерживаются лишь несколько функций)
- многооконности, многозадачности (хотя иногда запускать несколько Win32-приложений под DOS можно)
- поддержки драйверов устройств (используйте драйвера под DOS или ОС ReactOS - свободный клон Windows)
- прямой поддержки NTFS (используйте специальные драйвера, к примеру, NTFS4DOS)
В итоге, WineDOS может запускать многие консольные приложения: успешно работают Far (почти не работает в оригинальном HX-DOS), FASM, MASM, BCC, Free Pascal, MinGW, Bochs, Qemu и многие другие. Также поддержка графики позволяет запускать простые OpenGL приложения, DOSBox, Mplayer.
Работа с WineDOS
Скачайте последнюю версию WineDOS с официального сайта http://winedos.ucoz.ru/. Распакуйте архив в любую удобную Вам директорию и пропишите её в переменной окружения PATH. Далее поступите любым удобным Вам способом:
1) Запустите hxldr32.exe. Это крохотный резидент (<1 Кб) будет проверять каждое запущенное приложение на предмет того, не является ли оно Win32-приложением, но откажется устанавливаться, если найдёт следы Windows или OS/2. Чтобы удалить резидент: hxldr32 /u
2) Запустите hxdosld.exe или dpmild32.exe (синтаксис: hxdosld/dpmild32.exe [path]program.exe). Это позволит вам запустить одно данное приложение безо всяких вопросов.
3) С помощью pestub.exe (синтаксис: pestub.exe [path]program.exe) сделайте в данном приложении заглушку, которая сама запустит DPMI сервер и активирует эмуляцию Win32 API.
HDPMI32 (DPMI сервер) занимает около 30 Кб. Этого вполне достаточно, если Вы располагаете достаточным количеством XMS.
Запуск под виртуальными машинами
В описании HX-DOS заявлена работа под MS Virtual PC, Bochs, DOSEmu, VirtualBox, VMWare. Это касается работы консольных приложений. И они действительно работают. В случае с графическими (а также псевдографическими) приложениями дело сложнее: они запускаются далеко не везде. В этом деле всё отлично с VirtualBox, в других эмуляторах (а также DOSBox) они вызывают необработанные исключения (VMWare не тестился).
Многозадачность
Как я уже указал, многозадачности в HX-DOS как таковой нет. Но Вы можете запустить из-под Far, любое другое приложение. Если появится сообщение "DPMILD32 <program>: relocs stripped, cannot load", установите переменную среды DPMILDR=8.
Нерешённые импорты
Если программа требует точку входа, не реализованную в WineDOS, DPMILD откажется запускать программу. Вы можете установить переменную DPMILDR=128 (по непроверенным данным, можно просуммировать различные переменные для достижения суммарного эффекта).
Почему просто не использовать DosWin32?
DosWin32 реализует лишь ограниченное количество функций DPMI 0.9 (цитата из описания: "Общая концепция пакета DosWin32 та же что была у Borland Power Pack,- не столько поддержка dpmi аппликаций (хотя, в какой-то мере, присутствует и она), сколько возможность исполнения win32 console application в "голом" ДОСе."). WineDOS - полностью поддерживает этот интерфейс. DosWin32 имеет закрытый исходный код - вы не можете ничего дописать туда, даже если знаете, как. DosWin32 не имеет возможности добавлять недостающие библиотеки. В резидентном режиме он ест 60 Кб памяти. Единственное весомое его преимущество - сравнительно меньший размер, так что он пригоден для использования в загрузочных дискетах (впрочем, вы можете использовать не все библиотеки эмуляции Win32 API; размер самой базовой эмуляции составляет менее 200 Кб, но Far, скорее всего, не запустится).
Какие отличия от HX-DOS?
- улучшенная эмуляция Win32 API (в некоторых местах она улучшена ощутимо)
- идущая разработка
- некоторые библиотеки, отвечающие за высокоуровневую графику, написаны на Си, а не на ассемблере
- автор проекта доступен для вопросов
Заключение
WineDOS - достаточно новый продукт, и о нём пока мало кто знает. Он вполне пригоден для запуска консольных Windows приложений на старых машинах, где добрая Windows съела бы всю доступную память. Простой пример: Qemu 0.9 не работает под Win 9x, но работает (по описанию HX-DOS) под WineDOS. Я рассчитываю, что этот проект будет полезен даунгрейдерам и простым пользователям.
Официальный сайт: http://winedos.ucoz.ru
Последний раз редактировалось napoleon80386 30 сен 2023, 23:41, всего редактировалось 1 раз.
Only MS-DOS 7.10, only Arachne 1.95
80386 - это не рандомные цифры, а номер первого 32-битного процессора от Intel.
http://winedos.ucoz.ru/ - эмулятор Win32 API под DOS
napoleon80386
Даунгрейдер
 
Сообщения: 6
Зарегистрирован: 29 дек 2011, 18:01

Re: Компактный вариант Windows

Сообщение 0ffer » 23 апр 2012, 21:25

Far (почти не работает в оригинальном HX-DOS

Последняя версия HX DOS extender runtime 2.17 с обновленными файлами от 18.08.2011 поддерживает FAR 1.70
WineDOS пока еще не релиз, а бета. Неплохо бы разделить файлы по авторству Ваши, Japheth, Microsoft и указать на сайте http://winedos.ucoz.ru/ адрес электронной почты, удобно делать в виде картинки(защита от спама).
Ваш shell32.dll нет подписан, в свои файлы лучше записывать авторство подходящим редактором ресурсов.
dkrnl32.dll от Japheth к сожалению распознается Касперским как вирус, об этом на форуме DOS ain't dead проходила информация. Если Вы будете серьезно заниматься вашим проектом рекомендую зарегистрироваться.
Ваш dkrnl32.dll не распознается как вирус, но и к сожалению не поддерживает FAR 1.70
Последний раз редактировалось 0ffer 30 сен 2023, 23:41, всего редактировалось 1 раз.
0ffer
Мастер Даунгрейда
 
Сообщения: 139
Зарегистрирован: 23 янв 2011, 11:16
Железо: HP 6820s

Re: Компактный вариант Windows

Сообщение napoleon80386 » 23 апр 2012, 21:46

Да, я заметил, что Far 1.70 работает. Спасибо, что просветили))) Я видел обновлённые файлы, но не думал много тестировать их. А как вирус dkrnl32 определяется и другими антивирусами тоже. Сообщал об этом в Лабораторию Касперского. Но определённый прогресс есть: Far 1.00, к примеру, с оригинальным HX-DOS вылетает после набора любой команды в комадной строке, а под WineDOS - нет.
Попробую вернуть совместимость с Far 1.70.
Последний раз редактировалось napoleon80386 30 сен 2023, 23:41, всего редактировалось 1 раз.
napoleon80386
Даунгрейдер
 
Сообщения: 6
Зарегистрирован: 29 дек 2011, 18:01

Re: Компактный вариант Windows

Сообщение napoleon80386 » 24 апр 2012, 18:25

Всё. Far 1.70 запускается. Не знаю даже, что я такого сделал, но запускается. Сегодня выложу. Теперь надо поработать для Far 2.0.
Названия текущих версий исправлять не буду, названия следующих сделаю соответствующими.
Последний раз редактировалось napoleon80386 30 сен 2023, 23:41, всего редактировалось 1 раз.
napoleon80386
Даунгрейдер
 
Сообщения: 6
Зарегистрирован: 29 дек 2011, 18:01

Re: Компактный вариант Windows

Сообщение 0ffer » 28 апр 2012, 22:25

>> Какой ДОС Вы использовали?
http://www.multiboot.ru/msdos8.htm все внешние команды не зависят от версии и запускаются в любом ДОСе
Страницу на русском давно не обновляю

>> Работает ли там оригинальный HX-DOS?

Да !!!
DOS для NTFS

Загрузочная дискета 1.44 WIN32 для NTFS



Для записи на USB Flash Drive (rufus.exe) или на CD/DVD (burncdcc.exe)

>> Какие программы Вы запускали?
makecab, cabarc


В 0.11 bugfix работает FAR 1.70 после замены двух файлов от japheth dkrnl32.dll и duser32.dll Раньше не помню какой был третий, ругался

opengl.exe я знаю что не вирус также как dkrnl32.dll от japheth, но каспер определяет при загрузке и приходится отключать и скачивать второй раз, да еще и chkdsk пропускать иногда поэтому WIN32DOS для NTFS появился поздно после моей регистрации на DOS ain't dead и практически совпавшей по времени публикации Компактный вариант Windows

MS-DOS 8.0 DosWin32 Boot Disk для FAT32 появился раньше cabarc работает, makecab виснет

п.с. личные сообщения что-то не отправляются поэтому пишу на форуме :?
Последний раз редактировалось 0ffer 30 сен 2023, 23:41, всего редактировалось 2 раз(а).
0ffer
Мастер Даунгрейда
 
Сообщения: 139
Зарегистрирован: 23 янв 2011, 11:16
Железо: HP 6820s

Re: Компактный вариант Windows

Сообщение napoleon80386 » 30 апр 2012, 07:50

Проблема с удалением файлов в Far из-за файла shell32.dll, который написан мною лично. Я уже работаю над решением этой проблемы.
Последний раз редактировалось napoleon80386 30 сен 2023, 23:41, всего редактировалось 1 раз.
Only MS-DOS 7.10, only Arachne 1.95
80386 - это не рандомные цифры, а номер первого 32-битного процессора от Intel.
http://winedos.ucoz.ru/ - эмулятор Win32 API под DOS
napoleon80386
Даунгрейдер
 
Сообщения: 6
Зарегистрирован: 29 дек 2011, 18:01

Re: Компактный вариант Windows

Сообщение napoleon80386 » 30 апр 2012, 08:44

Всё. Теперь Far 1.75 удаляет файлы корректно.
Последний раз редактировалось napoleon80386 30 сен 2023, 23:41, всего редактировалось 1 раз.
Only MS-DOS 7.10, only Arachne 1.95
80386 - это не рандомные цифры, а номер первого 32-битного процессора от Intel.
http://winedos.ucoz.ru/ - эмулятор Win32 API под DOS
napoleon80386
Даунгрейдер
 
Сообщения: 6
Зарегистрирован: 29 дек 2011, 18:01


Вернуться в Программы для DOS

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10