Что касается ошибки ntvdm.exe - у меня была схожая проблема, она вроде больше относится к расширителю dos32a. Проблема проявлялась когда я установил Syser 1.99 (с версией 1.97 все было в порядке) - не запускался ни сам расширитель, ни его утилиты, не говоря уже об эмуляторе, который работает под управлением данного расширителя, либо совместимого, например, dos4gw.
Посему вопрос - что установлено специфического в системе?
Теперь по поводу VirtualPC 2007 - целый вечер продолбался, но таки взгромоздил ее на свой домашний ПК. Потом еще немного - чтобы установить FreeDOS. Далее запуская VZX с дискетки обнаружил недочеты. Исправил. Пока не выкладываю, ибо там мало изменений, хочу еще кое-что добавить и проверить заодно работу с VMWare. Но могу выслать по запросу.
Хочу напомнить, что в основном разработка идет с оглядкой на DOSBox, NT-Virtual DOS Machine (ntvdm) и конечно же реальные PC под управлением DOS. Для linux вроде есть также dosemu - интересно было бы знать, как там это хозяйство работает.
Virtual PC, VMWare и подобные также могут быть учтены, но я не вижу смысла запускать VZX на них.
В программе используется DOS API (int 21h, если установлен драйвер мыши, то int 33h) и немного BIOS API (в т.ч. int 10h), причем работа с DOS API (конкретно - работа с файлами) централизована. Прочие телодвижения производятся посредством DPMI (int 31h).
Из аппаратных ресурсов в минимальной конфигурации используется PIT (адреса портов 40h-43h), клавиатурный контроллер (адреса 60h, 64h), PIC (адреса 20h-21h и A0h-A1h) и VGA (регистры атрибутов). Если по каким-то причинам нет PIT, значит, не будет синхронизации, скорее всего ничего работать не будет. Если нет PIC - да и фиг с ним, об этом я писал выше (про GiveIO и подобные). Если недоступны регистры атрибутов VGA, в зависимости от видеорежима цвета будут в порядке или не очень. Если недоступен клавиатурный контроллер - не будет работать ввод с клавиатуры.




Ответить с цитированием
