Arucard1983
Power Member
Uma companhia unipessoal de software (Top Ten Software) que normalmente cria pequenos programas na área do áudio, decidiu embarcar num projecto maluco que era suportar a execução de jogos para o Windows 3.1 nos sistemas Windows de 64-bit de forma muito similar ao Wine (implementação da API) e ao DosBox (emulação da CPU).
E desta forma (Setembro de 2016), nasceu o Win3mu...
http://www.win3mu.com/
Segundo o autor do programa, tratou-se de um projecto pessoal, que pretende manter a nível interno durante mais algum tempo, embora já tenha aberto um canal para futuros beta-testers a partir deste site, o que aliás até o CodeWweavers (a companhia que faz versões comerciais do Wine para Linux e Mac OS X) o fez quando anunciou a versão Android (demorou foi quase um ano até aparecer os primeiros Previews públicos ).
Pelo trabalho já publicado pelo próprio programador do projecto Win3mu, é um programa escrito em C# e utiliza a plataforma .NET (O que torna muito ligado ao Windows 7/10, dificultando a portabilidade para outros sistemas, se bem que no Linux de 64-bits, o suporte do Windows de 16-bit funciona pelo Wine...), e é um executável nativo de 64-bits.
O emulador quando carrega um executável de 16-bits do Windows 1.x/2.x/3.x, inicia três módulos:
1. Um emulador do Intel 80286/80386 que processa o executável, instrução a instrução.
2. Um wrapper contendo a implementação das diferentes API do Windows de 16-bit, para as equivalentes de 32-bit/64-bit (Win32 API), usando técnicas de trunking.
3. Uma biblioteca que permite a ponte entre os ficheiros e discos do Windows de 64-bit (host), e o ambiente emulado para a execução do jogo de 16-bit
Se no primeiro módulo temos similhanças com o DosBox, no segundo temos essencialmente uma réplica do Wine, para usando a API nativa do Windows de 64-bit como base.
Todos os jogos de 16-bit no Win3mu correm numa janela como se fosse uma aplicação normal para o Windows, daí o terceiro módulo.
Em termos um pouco mais detalhados, o Win3mu implementou parte da API de 16-bit mais optimizada para os jogos, deixando o resto que teria pouca ou nenhuma relevância.
No Windows 3.1, os programas num modo mais geral comunicam com o sistema operativo Windows usando o triunvirato GDI, USER e KERNEL, e ainda a interrupção do DOS Int 21h, que teve que implementar para que o main event loop do programa de 16-bit pudesse finalizar. (Não usou o DosBox, apenas implementou as flags da CPU emulada para simular a interrupção acima referida.)
Outras bibliotecas como o mmsystem.dll e eventualmente o wing.dll poderão ser implementadas como wrappers, de modo a correr jogos para o Windows 3.1 com maior interesse, estilo o Dark Seed II...
Embora o programa ainda não esteja oficialmente fora, verifica-se que sem sombra de dúvidas que o Win3mu será precisamente o que a GoG.com necessita...
- A companhia Great Old Games pretende desde 2014 lançar jogos que foram exclusivamente lançados para o Windows de 16-bit, que exceptuando os ports para versões de 32-bit, ou com versões para DOS (já rematadas com o DosBox), sem depender de buracos legais com o uso do Windows 3.1 em VM ou no DosBox por si só...
- Para o GoG.com, o Win3mu satisfaz os seus requisitos porque simplesmente:
Não necessita de instalar o Windows 3.1, nem usar máquinas virtuais.
Problemas com drivers de som e vídeo, juntamente com o sistema operativo, que não pode ser legalmente vendido para fins comerciais, devido aos copyrights da Microsoft, são evitados.
É um programa autónomo e auto-suficiente, do qual basta agregar o emulador com jogo, juntar as configurações relativas à unidade C: virtual, meter num pacote, e vender na loja.
E o Win3mu permite que o programa de 16-bit actue como um programa do Windows actual, sem artefactos ou outras minuências que ocorreriam na execução dos mesmos no DosBox com o Windows 3.1, ou com o VirtualBox a correr o Windows 3.1, o que para um jogador que compra os jogos no GoG.com torna-se muito apelativo, e para a companhia Great Old Games uma vantagem em termos de recursos e suporte técnico.
Até ao momento, o Win3mu já funciona com a esmagadora maioria dos jogos shareware que eram vendidos em CD-ROM às dúzias, mas para jogos mais complexos ainda não existem testes fidignos.
E desta forma (Setembro de 2016), nasceu o Win3mu...
http://www.win3mu.com/
Segundo o autor do programa, tratou-se de um projecto pessoal, que pretende manter a nível interno durante mais algum tempo, embora já tenha aberto um canal para futuros beta-testers a partir deste site, o que aliás até o CodeWweavers (a companhia que faz versões comerciais do Wine para Linux e Mac OS X) o fez quando anunciou a versão Android (demorou foi quase um ano até aparecer os primeiros Previews públicos ).
Pelo trabalho já publicado pelo próprio programador do projecto Win3mu, é um programa escrito em C# e utiliza a plataforma .NET (O que torna muito ligado ao Windows 7/10, dificultando a portabilidade para outros sistemas, se bem que no Linux de 64-bits, o suporte do Windows de 16-bit funciona pelo Wine...), e é um executável nativo de 64-bits.
O emulador quando carrega um executável de 16-bits do Windows 1.x/2.x/3.x, inicia três módulos:
1. Um emulador do Intel 80286/80386 que processa o executável, instrução a instrução.
2. Um wrapper contendo a implementação das diferentes API do Windows de 16-bit, para as equivalentes de 32-bit/64-bit (Win32 API), usando técnicas de trunking.
3. Uma biblioteca que permite a ponte entre os ficheiros e discos do Windows de 64-bit (host), e o ambiente emulado para a execução do jogo de 16-bit
Se no primeiro módulo temos similhanças com o DosBox, no segundo temos essencialmente uma réplica do Wine, para usando a API nativa do Windows de 64-bit como base.
Todos os jogos de 16-bit no Win3mu correm numa janela como se fosse uma aplicação normal para o Windows, daí o terceiro módulo.
Em termos um pouco mais detalhados, o Win3mu implementou parte da API de 16-bit mais optimizada para os jogos, deixando o resto que teria pouca ou nenhuma relevância.
No Windows 3.1, os programas num modo mais geral comunicam com o sistema operativo Windows usando o triunvirato GDI, USER e KERNEL, e ainda a interrupção do DOS Int 21h, que teve que implementar para que o main event loop do programa de 16-bit pudesse finalizar. (Não usou o DosBox, apenas implementou as flags da CPU emulada para simular a interrupção acima referida.)
Outras bibliotecas como o mmsystem.dll e eventualmente o wing.dll poderão ser implementadas como wrappers, de modo a correr jogos para o Windows 3.1 com maior interesse, estilo o Dark Seed II...
Embora o programa ainda não esteja oficialmente fora, verifica-se que sem sombra de dúvidas que o Win3mu será precisamente o que a GoG.com necessita...
- A companhia Great Old Games pretende desde 2014 lançar jogos que foram exclusivamente lançados para o Windows de 16-bit, que exceptuando os ports para versões de 32-bit, ou com versões para DOS (já rematadas com o DosBox), sem depender de buracos legais com o uso do Windows 3.1 em VM ou no DosBox por si só...
- Para o GoG.com, o Win3mu satisfaz os seus requisitos porque simplesmente:
Não necessita de instalar o Windows 3.1, nem usar máquinas virtuais.
Problemas com drivers de som e vídeo, juntamente com o sistema operativo, que não pode ser legalmente vendido para fins comerciais, devido aos copyrights da Microsoft, são evitados.
É um programa autónomo e auto-suficiente, do qual basta agregar o emulador com jogo, juntar as configurações relativas à unidade C: virtual, meter num pacote, e vender na loja.
E o Win3mu permite que o programa de 16-bit actue como um programa do Windows actual, sem artefactos ou outras minuências que ocorreriam na execução dos mesmos no DosBox com o Windows 3.1, ou com o VirtualBox a correr o Windows 3.1, o que para um jogador que compra os jogos no GoG.com torna-se muito apelativo, e para a companhia Great Old Games uma vantagem em termos de recursos e suporte técnico.
Até ao momento, o Win3mu já funciona com a esmagadora maioria dos jogos shareware que eram vendidos em CD-ROM às dúzias, mas para jogos mais complexos ainda não existem testes fidignos.