· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Наверно виртуальная машина...

Посл.отвђт Сообщенiе


Дата: Июн 11, 2004 01:38:37

CreateProcess запускает как win32 так и dos16 exe-шники. Но параметры у CreateProcess только от win32, а если создать ярлык к exe-шнику dos16, то в опциях можно проставить параметры виртуальной машины, т.е. EMS, XMS память и т.д. Как такое делается програмно? Какой функцией отдать exe-шник виртуальной машине и как установить параметры работы?

PS: Существует ли полноценный эмулятор ms-dos 6.22 для WinXP ?


Дата: Июн 11, 2004 02:16:38

>CreateProcess запускает как win32 так и dos16 exe-шники.
угу

> Но параметры у CreateProcess только от win32,
что ты понимаешь под "параметрами"? аргументы командной строки? размеры окна?

> а если создать ярлык к exe-шнику dos16,
CreateProcess ярлык не запускает. это делает start.exe, который представляет собой лишь переходником к ShellExecuteEx

> то в опциях можно проставить параметры виртуальной машины,
которая есть WOW

> т.е. EMS, XMS память и т.д. Как такое делается програмно?
V86MMGR_Set_EMS_XMS_Limits (на низком уровне)
через ключи командной строки ntvdm.exe/wowexec.exe или через реестр, которые описаны в MSDN (на верхнем)

>Какой функцией отдать exe-шник виртуальной машине и как установить параметры работы?
считать ключ реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Control\WOW
здесь путь к виртуальной машине

> PS: Существует ли полноценный эмулятор ms-dos 6.22 для WinXP ?
да, и не один.
dos box с sourceforge. прекрасно пускает айс для дос, игрушки типа Алладина и Уфо ну и т.д.


Дата: Июн 11, 2004 03:58:04

что ты понимаешь под "параметрами"? аргументы командной строки? размеры окна?

Я имел ввиду SECURITY_ATTRIBUTES процесса и потоков, STARTUPINFO и прочее, что касается win32, но совершенно не относится к dos16.

Про ntvdm.exe я знаю. Просто было интересно, еть ли какое-нибудь API для работы с виртуальной машиной.

Порылся я в MSDN-е, но так ничего и не нашел :-( Не подскажешь, где именно описаны ключи?

dos box с sourceforge. прекрасно пускает айс для дос, игрушки типа Алладина и Уфо ну и т.д.

Рулез. Где его взять? Да, и еще интересно, как он ведет себя со звуком? Сможет ли этот dos box SB 5.1 Live! заюзать как старого доброго SB16 ?


Дата: Июн 11, 2004 04:11:32

> Про ntvdm.exe я знаю.
> Просто было интересно, еть ли какое-нибудь API для работы с виртуальной машиной.
разумеется есть. соотвествующие функции начинаются с префикса VMD или V86, только их немного, да и те большей частью доступны из ядра. все взаимодействие идет через реестр и autoexec/config файлы, а так же ярлыки и пифки.

> Порылся я в MSDN-е, но так ничего и не нашел :-(
> Не подскажешь, где именно описаны ключи?
странно... поищи по сочетанию NTVDM AND LPT_timeout

> Рулез. Где его взять?
http://dosbox.sourceforge.net
с исходниками ;) мой любимый эмуль.

> Да, и еще интересно, как он ведет себя со звуком?
эмулирует бластер про, гуся и какой-то там синтезатор миди, уже и не помню, но все старые гусевые демки очень хорощо идут и отлично звучат, практически без потери качества. кстати, звук можно записывать в файл ;)

> Сможет ли этот dos box SB 5.1 Live! заюзать как старого доброго SB16 ?
конечно.

>> V86MMGR_Set_EMS_XMS_Limits
здесь я конкретно тормознул. такой функции нет в XP :-(


Дата: Июн 11, 2004 04:28:25

Все, в MSDN все нашел. Спасибо!

У меня сейчас чвязь никакая, так что DOSBox попозже качну. Спасибо за ссылку.

Все же интересно... Ну память там всякая, base, xms, ems, хрен с ней, но звук? Как он звук эмулит? Он что, тащит за собой реализацию софтварного рендера звука для всех карточкек и отлавливает все обращения к портам в коде что-ли?


Дата: Июн 11, 2004 15:55:16

кто dos box или XP?
dos box эмилит процессор (так что он могет работать даже не на x86) и железо, а звук выводит через виндовый драйвер. обращения к портам он не отлавливает, т.к. он их сам же их и эмулирует ;)
про "все карточки" никто не говорит, пока он эмулит только две - баластер и гусь.

а XP просто виртуализует порты, эмулируя бластер.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.047