NOVO!
Estava tentando postar aqui ontem, mas continuava dando erro. Eu descobri que na verdade ele não está usando DirectX, mas GDI ou qualquer outro gráfico não-DX no Windows (não OpenGL ou qualquer outra API relacionada a hardware). Desculpe por isso. Eu realmente pensei que fosse DX.
Eu tenho vários EXEs de tela cheia do Windows de 32 bits que foram compilados para a era do Windows XP e uso alguma versão do DirectX para configurar o modo gráfico: 320x240x8. Ele é codificado, nativo (não é falsificado de forma alguma) e os binários não podem ser tocados, recompilados ou modificados de forma alguma (não pergunte).
Estou tentando fazer com que eles rodem no Windows 7 de 64 bits e posterior (ele nem roda no XP sem a placa e o driver corretos, apenas para esclarecer qualquer confusão). Eles só funcionam se a placa de vídeo e seu driver suportarem especificamente esse modo, o que é extremamente raro, independentemente de ser executado no XP ou 7. As versões de 32/64 bits também parecem não ter impacto.
Estou neste problema há muito tempo, pedindo ajuda a especialistas inúmeras vezes e obtendo todos os tipos de soluções potenciais, que tentei uma por uma. Cada um deles falha com o mesmo erro: não é possível definir o modo de vídeo. O problema é sempre que não é possível definir o modo de vídeo. A solução óbvia é que ele não pode tentar definir o modo de vídeo, porque não é suportado. Então, eu preciso de algum tipo de EXE pequeno que eu possa agrupar com esses EXEs e que possa ser configurado para "envolvê-lo" e enganá-lo, fazendo-o pensar que na verdade está definido o modo, enquanto na verdade está sendo executado em algum tipo de janela de vídeo emulada .
Eu tentei "Wine on Windows", vários utilitários que "alteram a resolução" (incluindo DXWIN e D3DWindower), executá-lo dentro de uma VM, configurações de compatibilidade, etc. Nada funciona. Mas a coisa da VM não seria boa mesmo se funcionasse, porque também tem que ser "distribuível".
Alguém pode me ajudar? Isso é mesmo possível de resolver? Parece tão bizarro que não é possível "enganar" os programas fazendo-os pensar que eles realmente conseguiram definir o modo de vídeo.
Espero que um verdadeiro especialista seja capaz de encontrar alguma solução.
Responder1
Totalmente não é o que realmente pretende fazer, e não sei dizer se funcionará sem os arquivos reais em questão, mas você poderá emular uma placa gráfica mais antiga comAnalisador 3dana.Ele emula uma placa nvidia das séries 4000 e 5000, que é relativamente antiga e poderiatrabalhar.
Responder2
OPower Striputilitário ($ 29,95 com avaliação) pode adicionar resoluções personalizadas para o seu monitor. Para os malucos (como o seu), não se sabe como será.
O artigo wikiModos de exibição personalizadosmostra como isso é feito e até menciona resoluções personalizadas especificamente como 320x200 e 320x240.
No seu lugar, talvez eu tentasse primeiro em uma máquina virtual, só para garantir (embora eu realmente não saiba se funcionará corretamente em uma VM). Isso permitirá que você não destrua a tela do seu computador por nada, bem como veja a tela do monitor em seu tamanho real (pequeno), em vez de espalhada por todo o monitor.
Se o seu Windows for de 32 bits e sua placa de vídeo for VGA, talvez este artigo antigo também possa ajudar: Modos VGA ajustados.
[EDITAR]
Outra possibilidade é usar regedit e posicionar esta chave:,
HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{video-card}\0000
alterar
as seguintes chaves: DefautlSettings.XResolution
,, DefautlSettings.YResolution
e então reiniciar.
Se nada funcionar, então sua placa de vídeo pode ser uma daquelas que não suporta resoluções personalizadas, adicionadas via driver, PowerStrip ou no regedit. Ajudar-nos-ia a saber o modelo do seu cartão.