ROS NTVDM — различия между версиями
(→Дополнительный функционал) |
|||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 6: | Строка 6: | ||
==Начало== | ==Начало== | ||
− | Долгое время этот компонент отсутствовал в ReactOS, пока участник сообщества по имени Александар Андрейевич (Aleksandar Andrejevic) не [[ROS Newsletter97#NTVDM|предложил свою помощь]] в его реализации. 16 июня 2013 для него [http:// | + | Долгое время этот компонент отсутствовал в ReactOS, пока участник сообщества по имени Александар Андрейевич (Aleksandar Andrejevic) не [[ROS Newsletter97#NTVDM|предложил свою помощь]] в его реализации. 16 июня 2013 для него [http://github.com/reactos/reactos/commit/4f0b8d3db0ecd44a6dcdc9177b4c3e84a60a92a0 была создана] отдельная ветка, в которой разрабатывались базовые возможности NTVDM. |
==Текущее состояние== | ==Текущее состояние== | ||
На [http://reactos.org/ru/node/794 13 марта 2014 года] была реализована поддержка 486-совместимых процессоров, основного управления памятью, базовая поддержка звука и видео, 32-битного BIOS и 32-битного DOS. | На [http://reactos.org/ru/node/794 13 марта 2014 года] была реализована поддержка 486-совместимых процессоров, основного управления памятью, базовая поддержка звука и видео, 32-битного BIOS и 32-битного DOS. | ||
− | Немало функций по-прежнему отсутствуют, в том числе и в вышеперечисленных функциях. Например, нет поддержки видео для VESA+ или EGA шрифтов, звук работает только через внутренний динамик ПК, а не через эмулированный SoundBlaster, также эмулятор процессора не имеет блока с плавающей точкой. | + | Немало функций по-прежнему отсутствуют, в том числе и в вышеперечисленных функциях. Например, нет поддержки видео для VESA+ или EGA шрифтов, звук работает только [http://youtu.be/Mv8uQi_LKzE через внутренний динамик ПК], а не через эмулированный SoundBlaster, также эмулятор процессора не имеет блока с плавающей точкой. |
Ранее, для запуска DOS программы NTVDM нужно было запустить вручную. В настоящее время, благодаря работе проведенной в CSRSS, NTVDM автоматически запускается при открытии 16-битной программы. Так же, в дальнейшем, CSRSS будет отвечать за принятие решения, запустить новый экземпляр NTVDM или повторно использовать уже существующий. Эта особенность особенно важна для завершения и приостановки программ, которые включают в себя много игр. | Ранее, для запуска DOS программы NTVDM нужно было запустить вручную. В настоящее время, благодаря работе проведенной в CSRSS, NTVDM автоматически запускается при открытии 16-битной программы. Так же, в дальнейшем, CSRSS будет отвечать за принятие решения, запустить новый экземпляр NTVDM или повторно использовать уже существующий. Эта особенность особенно важна для завершения и приостановки программ, которые включают в себя много игр. | ||
Строка 17: | Строка 17: | ||
В отличие от Windows, NTVDM ReactOS не устанавливает процессор в 16-битный режим эмуляции, а основывается на новой реализации заброшенного эмулятора softx86 и авторской библиотеке эмуляции процессора fast486. Преимущество подхода ReactOS, в том, что его NTVDM может использоваться на 64-битных, x86 и ARM процессорах. | В отличие от Windows, NTVDM ReactOS не устанавливает процессор в 16-битный режим эмуляции, а основывается на новой реализации заброшенного эмулятора softx86 и авторской библиотеке эмуляции процессора fast486. Преимущество подхода ReactOS, в том, что его NTVDM может использоваться на 64-битных, x86 и ARM процессорах. | ||
− | 6 мая 2014 года ntvdm [http:// | + | 6 мая 2014 года ntvdm [http://github.com/reactos/reactos/commit/c32b8d2f39defb7a5577fb1428d5fb9758d2ac91 была влита] в основную ветку и с тех пор разрабатывается в ней. |
==Дополнительный функционал== | ==Дополнительный функционал== | ||
Строка 23: | Строка 23: | ||
*26 марта 2015 г. была добавлена поддержка DOS-устройств <del>({{JIRA|9370}})</del> | *26 марта 2015 г. была добавлена поддержка DOS-устройств <del>({{JIRA|9370}})</del> | ||
*7 марта 2015 г. был добавлен файл конфигурации NTVDM <del>({{JIRA|7832}})</del> | *7 марта 2015 г. был добавлен файл конфигурации NTVDM <del>({{JIRA|7832}})</del> | ||
− | *6 июля 2016 г. была реализована [http:// | + | *6 июля 2016 г. была реализована [http://github.com/reactos/reactos/commit/cb085e5f4ab49b93111446cbce3984bc00fba869 поддержка VBE] |
− | *28 августа 2016 г. была реализована [http:// | + | *28 августа 2016 г. была реализована [http://github.com/reactos/reactos/commit/78bb2563790b8396b4bd6134d88b498199dba66a поддержка VESA] |
===PIF=== | ===PIF=== | ||
− | PIF | + | Расширение PIF – это ярлык, привязанный к программе MS-DOS и содержит информацию о параметрах запуска DOS-приложений, в том числе инструкцию для выполнения приложения DOS в среде Windows, а так же размер доступной памяти для использования, путь к исполняемому файлу, шрифт и тип окна, дата создания и модификации, приоритетности процесса и т.д. |
+ | |||
+ | .PIF – это аббревиатура от Program Information File и переводится как «информация о приложении Windows». Файл создается в момент создания ярлыка LNK к программе MS-DOS или изменения его или любого свойства программы. | ||
*{{JIRA|13545}} - Добавление поддержки PIF | *{{JIRA|13545}} - Добавление поддержки PIF | ||
*{{JIRA|10291}} - Реализация поддержки PIF | *{{JIRA|10291}} - Реализация поддержки PIF |
Текущая версия на 07:31, 8 декабря 2017
Содержание
[убрать]NTVDM в ReactOS
Обсуждение на форуме: http://reactos.org/forum/viewtopic.php?f=11&t=14558
NTVDM (NT Virtual Dos Machine) — виртуальная машина, которая в связке с WOW (WindowsOnWindows) обеспечивает запуск 16-битных программ (DOS и Win3.x) в современных версиях Windows.
Начало
Долгое время этот компонент отсутствовал в ReactOS, пока участник сообщества по имени Александар Андрейевич (Aleksandar Andrejevic) не предложил свою помощь в его реализации. 16 июня 2013 для него была создана отдельная ветка, в которой разрабатывались базовые возможности NTVDM.
Текущее состояние
На 13 марта 2014 года была реализована поддержка 486-совместимых процессоров, основного управления памятью, базовая поддержка звука и видео, 32-битного BIOS и 32-битного DOS.
Немало функций по-прежнему отсутствуют, в том числе и в вышеперечисленных функциях. Например, нет поддержки видео для VESA+ или EGA шрифтов, звук работает только через внутренний динамик ПК, а не через эмулированный SoundBlaster, также эмулятор процессора не имеет блока с плавающей точкой.
Ранее, для запуска DOS программы NTVDM нужно было запустить вручную. В настоящее время, благодаря работе проведенной в CSRSS, NTVDM автоматически запускается при открытии 16-битной программы. Так же, в дальнейшем, CSRSS будет отвечать за принятие решения, запустить новый экземпляр NTVDM или повторно использовать уже существующий. Эта особенность особенно важна для завершения и приостановки программ, которые включают в себя много игр.
В отличие от Windows, NTVDM ReactOS не устанавливает процессор в 16-битный режим эмуляции, а основывается на новой реализации заброшенного эмулятора softx86 и авторской библиотеке эмуляции процессора fast486. Преимущество подхода ReactOS, в том, что его NTVDM может использоваться на 64-битных, x86 и ARM процессорах.
6 мая 2014 года ntvdm была влита в основную ветку и с тех пор разрабатывается в ней.
Дополнительный функционал
- 17 апреля 2015 г. был добавлен драйвер мыши
(CORE-9166) - 26 марта 2015 г. была добавлена поддержка DOS-устройств
(CORE-9370) - 7 марта 2015 г. был добавлен файл конфигурации NTVDM
(CORE-7832) - 6 июля 2016 г. была реализована поддержка VBE
- 28 августа 2016 г. была реализована поддержка VESA
PIF
Расширение PIF – это ярлык, привязанный к программе MS-DOS и содержит информацию о параметрах запуска DOS-приложений, в том числе инструкцию для выполнения приложения DOS в среде Windows, а так же размер доступной памяти для использования, путь к исполняемому файлу, шрифт и тип окна, дата создания и модификации, приоритетности процесса и т.д.
.PIF – это аббревиатура от Program Information File и переводится как «информация о приложении Windows». Файл создается в момент создания ярлыка LNK к программе MS-DOS или изменения его или любого свойства программы.
- CORE-13545 - Добавление поддержки PIF
- CORE-10291 - Реализация поддержки PIF
- CORE-11607 - PIF-файлы всегда отображаются без расширения
CORE-10253- Добавить pifmgr.dll