NEW!
Я пытался опубликовать здесь вчера, но это продолжало давать мне ошибку. Я обнаружил, что на самом деле он вообще не использует DirectX, но GDI или что-то еще, кроме графики без DX в Windows (не OpenGL или любой другой аппаратный API). Прости за это. Я действительно думал, что это был DX.
У меня есть набор 32-битных полноэкранных EXE-файлов Windows, которые были скомпилированы для эпохи Windows XP, и я использую некоторую версию DirectX для настройки графического режима: 320x240x8. Он является жестко закодированным, нативным (не фальсифицированным), и двоичные файлы не могут быть затронуты, перекомпилированы или изменены каким-либо образом (не спрашивайте).
Я пытаюсь заставить их работать на Windows 7 64-битной и более поздней версии (она даже не работает на XP без правильной карты и драйвера, просто чтобы устранить любую путаницу). Они запускаются только в том случае, если видеокарта и ее драйвер специально поддерживают этот режим, что крайне редко, независимо от того, запущена ли она на XP или 7. 32/64-битные версии, похоже, тоже не влияют.
Я был над этой проблемой в течение долгого времени, много раз обращаясь к экспертам за помощью и получая все возможные варианты решения, которые я пробовал один за другим. Каждый из них терпит неудачу с той же ошибкой: не может установить видео режим. Проблема всегда в том, что он не может установить режим видео. Очевидное решение состоит в том, что он не может пытаться установить режим видео, потому что он не поддерживается. Поэтому мне нужен какой-то маленький EXE-файл, который я могу связать с этими EXE-файлами и который можно настроить так, чтобы он «оборачивался» и обманывал его, думая, что он действительно установил режим, тогда как он фактически работает в эмулируемом видеоокне. ,
Я пробовал "Wine на Windows", различные утилиты, которые "меняют разрешение" (включая DXWIN и D3DWindower), запускал его внутри виртуальной машины, настройки совместимости и т. Д. Почти все, что вы сразу думаете. Ничего не работает вообще. Но виртуальная машина не была бы хороша, даже если бы она работала, потому что она также должна быть «распространяемой».
Может кто-нибудь мне помочь? Это вообще возможно решить? Это кажется настолько странным, что невозможно «обмануть» программы, заставив их думать, что они действительно установили режим видео.
Я надеюсь, что настоящий эксперт сможет найти какое-то решение.
Ответы:
Совершенно не то, что он на самом деле хотел сделать, и я не могу сказать, сработает ли он, не имея реальных файлов, о которых идет речь, но вы можете эмулировать более старую видеокарту с помощью 3danalyzer. Она эмулирует карты NVIDIA серий 4000 и 5000 который относительно старый и может работать.
источник
PowerStrip утилиту ($ 29,95 с судом) можно добавлять пользовательские разрешения для вашего монитора. Для сумасшедших (таких как ваш) неизвестно, как это будет выглядеть.
Статья вики « Пользовательские режимы отображения» показывает, как это делается, и даже упоминает специально настраиваемые разрешения, такие как 320x200 и 320x240.
На вашем месте я бы, возможно, попробовал сначала на виртуальной машине, на всякий случай (хотя я не знаю, будет ли она правильно работать на виртуальной машине). Это позволит вам не разрушать экран вашего компьютера даром, а также видеть экран монитора в его реальном (маленьком) размере, а не разбрызгиваться по всему монитору.
Если ваша Windows 32-битная, а ваша видеокарта VGA, возможно, эта старая статья также может помочь: Настроенные режимы VGA .
[РЕДАКТИРОВАТЬ]
Другая возможность состоит в том, чтобы использовать Regedit и положение в этом ключе:
HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{video-card}\0000
,измените следующие клавиши:
DefautlSettings.XResolution
,DefautlSettings.YResolution
, а затем перезагрузите компьютер.Если ничего не работает, возможно, ваша видеокарта не поддерживает нестандартные разрешения, добавленные через драйвер, PowerStrip или в regedit. Это поможет нам узнать модель вашей карты.
источник