NOVO!
Eu estava tentando postar aqui ontem, mas ele continuou me dando um erro. Eu descobri que ele realmente não está usando o DirectX, mas o GDI ou o que for que não seja o gráfico DX no Windows (não o OpenGL ou qualquer outra API relacionada ao hardware). Me desculpe por isso. Eu realmente pensei que era DX.
Tenho vários EXEs de tela cheia de 32 bits do Windows que foram compilados para a era do Windows XP e usam alguma versão do DirectX para definir o modo gráfico: 320x240x8. É codificado, nativo (sem falsificação) e os binários não podem ser tocados, recompilados ou modificados de nenhuma maneira (não pergunte).
Estou tentando fazer com que eles sejam executados no Windows 7 de 64 bits e posterior (ele nem roda no XP sem a placa e o driver certos, apenas para esclarecer qualquer confusão). Eles só são executados 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 com esse problema há muito tempo, pedindo ajuda a especialistas várias vezes e obtendo todos os tipos de soluções possíveis, que tentei uma a uma. Cada um deles falha com o mesmo erro: não é possível definir o modo de vídeo. O problema é sempre que ele não pode 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, preciso de algum tipo de pequeno EXE que possa ser agregado a esses EXEs e que possa ser configurado para "envolvê-lo" e enganá-lo, pensando que ele realmente definiu o modo, enquanto na verdade está sendo executado em algum tipo de janela de vídeo emulada .
Eu tentei o "Wine on Windows", vários utilitários que "alteram a resolução" (incluindo DXWIN e D3DWindower), executando-o dentro de uma VM, configurações de compatibilidade, etc. Praticamente tudo o que você pensa imediatamente. Nada funciona. Mas a coisa da VM não seria boa, mesmo que funcionasse, porque isso também deve ser "distribuível".
Alguém pode me ajudar? Isso é possível de resolver? Parece tão bizarro que não é possível "enganar" os programas para que eles realmente definam o modo de vídeo.
Espero que um verdadeiro especialista seja capaz de encontrar alguma solução.