quarta-feira, 6 de dezembro de 2023

A História dos Emuladores de Nintendo 64 - Parte 2

Nemu64 (1998)

Nemu64

O projeto Nemu64 se inicia em Outubro de 1998, pelo alemão Lemmy, que resolveu criar o projeto depois de ver o depurador usado no emulador Project Unreality, também de N64. Sua primeira versão é lançada em Dezembro de 1998 para Windows. Na ocasião, rodava apenas algumas demos do console. Em Fevereiro de 1999 o emulador já tinha melhor velocidade. Na primeira versão definitiva (ou beta) de Março de 1999, implementa áudio, com emulação quase completa e funcionando com 10 demos e implementação de joypad básico. Em Março na versão alpha (versões lançadas com atualizações pequenas), também começava a emulação do coprocessador RDP para gráficos 2D, e começa a rodar parcialmente os primeiros jogos comerciais como Mortal Kombat 4. Em Abril de 1999, na segunda versão beta, melhora a aceleração da CPU com sua recompilação dinâmica e adiciona modo de plug-ins, estreando com plug-ins de vídeo em DirectDraw e de som com DirectSound.

Nemu64 (Interface/Opções)

Também em Abril, ingressam na equipe LaC como programador, que já ajudava desde o início do projeto, cria o plug-in de áudio HLE e hackeia informações úteis, e que já estava na cena 64 desde 1996. Em Maio, LaC teve ajuda na parte do emulador ligada ao Directx por parte de hWnd, e o chama para ingressar na equipe. Na ocasião, hWnd cria o plug-in Direct3D HLE de vídeo. Após isso ficaram alguns meses sem lançar atualizações, pois a Nintendo começava a fechar sites com seus jogos para download e o desenvolvimento do emulador com tal finalizado preocupou os criadores do Nemu64. Por conta disso, lançam apenas versões alpha e beta de forma privada, desenvolvendo em Abril, Maio e Junho pelo menos mais duas versões beta. Em início de Junho resolvem voltar com os lançamentos públicos. Em Junho também já fazia parte do projeto F|res do projeto TrueReality, com seus plug-ins OpenGL, permanecendo pouco tempo no mesmo.

Nemu64 v0.5 (Interface/Sobre/Opções)

Nessa ocasião já rodava quase que perfeitamente jogos em 2D e começa a rodar demos com o início da construção do plug-in Direct3D HLE. Na versão beta de reestreia em final de Junho, o emulador volta duas vezes mais rápido reproduzindo jogos em 2D e 3D, como Mortal Kombat Trilogy, NBA Hangtime, Mario 64, Superman, Starfox, Mario Kart, Wave Race, e tantos outros, com plug-in Direct3D HLE completo, recompilador dinâmico (que atua na velocidade) completo e suporte à cheats. Nessa versão começa a fazer parte o arquivo de inicialização para adição de jogos. Esse arquivo é atualizado em outras ocasião por terceiros, como em Setembro por EmuManiac e Myzar. Emu chegou a ajudar no arquivo INI oficial do emulador em Fevereiro de 2000 e junto com Myzar na versão de Março de 2003. Outros também escreveram arquivos INI para o emulador, como Spinal Duncan e Smiff, principalmente pelo ano de 2001.

Nemu64 v0.7 (Interface/Sobre/Opções)

Também em Setembro ingressa o último membro da equipe, o alemão Einstein II, que era webmaster e programador do arquivo de inicialização. A versão beta seguinte surge em Setembro com gráfico aprimorados, otimização do Direct3D, suporte à várias resoluções, suporte à DirectInput para joypads, carregamento de jogos em unidades de somente leitura, como CD-ROMS e maior compatibilidade de jogos, chegando a rodar 47 jogos dos 95 testados. Em Fevereiro de 2000, traz mais uma versão beta, agora com muitas atualizações de melhorias de gráficos, correção de bugs, maior compatibilidade com placas gráficas, maior velocidade, maior compatibilidade de jogos e o tão esperado plug-in de áudio HLE. Esse plug-in foi considerado o melhor de sua época. Após isso fica em um hiato de três anos sem atualização, lançando sua última atualização em Março de 2003. Essa versão vinha com suporte à netplay via kaillera.

Nemu64 (San Francisco Rush 2049/Space Invaders)

Também vinha com suporte à gravação de áudio e vídeo e gameshark. A partir dela também começou a funcionar plug-ins Zilmar Spec. Nessa versão, dos 188 jogos testados, 113 funcionam bem, sendo dez deles um pouco lentos, 5 funcionam mais ou menos, com lentidão, e um deles com muitos problemas e 46 não funcionam, tendo dois parando na tela de seleção de jogadores, seis rodam sem som e um rodando muito lento. Além das adições já citadas sobre o emulador, ele também tinha suporte à save state, pause, reset, suporte a expansão de memória RAM para 8MB, oito tipos de resoluções diferentes, depurador para memória, imagens, comandos e outros, entre outros. Seu sistema de plug-ins foi tão conhecido, que foi usado posteriormente em outros emuladores, como Project64 e Mupen64, da cena N64. Sobre ajudas ao projeto, tivemos dos influenciadores do projeto PSEmu Pro, _Demo_ do projeto ePSXe e até de seu concorrente, Zilmar, criador do Project64.

Nemu64/Nemu64 Git

Sobre sua front-end, é modificada em Março e Junho de 1999, Fevereiro de 2000 e Março de 2003. Já seu ícone no alto do emulador é alterado em Junho de 1999 e Março de 2003, e no executável do emulador (arquivo.exe) apenas em Março de 2003. Em Abril de 2015, o emulador é trazido inesperadamente a vida por Mr. 64, conhecido pelo seu nome original, mas também por Nemu64 Git, por ser postado no site de desenvolvedores, GitHub. O projeto atualiza o plug-in de entrada, o arquivo ini e adiciona centenas de cheats, como também cria um plug-in de vídeo que funciona em qualquer emulador, o Gfx Plug-in, com diversas melhorias. Também aumenta absurdamente a lista de jogos compatíveis com o emulador, sendo 545 totalmente jogáveis, 297 jogáveis e 171 não funcionáveis, sendo oitenta e cinco deles não jogáveis. Lançou versões de Abril à Setembro de 2015.

1964 (1999)

1964

O projeto 1964 foi criado por Joel Middendorf, o Schibo em Março de 1999 ao lado de Steb que o ajuda no desenvolvimento do núcleo do emulador, e NooTe e Gerrit Goossen que o ajudaram no desenvolvimento dos plug-ins DirectX e OpenGL. A primeira versão é lançada em Abril de 1999 para MS-DOS. Em outra versão em Abril é lançado o suporte a Windows e MS-DOS no emulador. O emulador foi desenvolvido com a proposta de execução de plug-ins. O emulador sempre foi de código aberto, algo que não era muito comum na época. Ainda em Abril, também ingressam no projeto Themedes e Eudaemon. Em Maio também ingressa no projeto F|res, que atuava no projeto TrueReality e ingressa no mês seguinte no projeto Nemu64. Em Junho roda o primeiro demo no emulador, 1964.bin do amigo de Shibo, Anarko. Suporte aos plug-ins de vídeo e joypad chegam em em Julho, por meio do DirectInput e dos plug-ins OpenGL (criado por F|ires) e DirectX (criado por NooTe), sendo o segundo superior ao primeiro (eles são lançados em versões diferentes no mês de Julho).

1964 0.8.3 (Interface/Menus/Opções)

Em Agosto chega a vez do suporte à som por meio do DirectSound. Por volta de Setembro é lançada a versão para MacOS por Gerrit Goossen, chamado Mac1964 (renomeado em Março de 2000 para SixtyForce). Em Outubro rodava 12 demos. Em Maio de 2000 começa a dar suporte à jogos comerciais, como Rampage, Super Mario 64 e Mario Kart. Nesse mês também lançam o primeiro plug-in OpenGL originalmente do 1964 e é portado para Windows da versão para Mac o plug-in OpenGL HLE de Gerrit. Nessa ocasião prometia rodar plug-ins de outros emuladores N64 no futuro. Em Julho começa a dar suporte ao plug-in Direct3D de NooTe. Nesse mês também traz uma versão com suporte a executáveis para Windows 98 e Windows 2000. Apenas em 2001 retorna com um único executável. Em Abril de 2001, Rice, começa a fazer parte da equipe do projeto no desenvolvimento do núcleo. Ele chega até o projeto depois de jogar The Legend of Zelda: Ocarina of Time no UltraHLE, e conseguir rodar sua sequência, The Legend of Zelda: Majora's Mask no emulador.

1964 0.8.5 (Interface/Menus/Opções)

Com isso, foi atrás do único projeto de código aberto, o 1964, e começou a lê-lo e modifica-lo sozinho. Após isso, consegue integrar o projeto. Posteriormente, Rice também se torna um importante criador de plug-ins gráficos, como Rice Video em 2001 e RiceDaedalus em 2002, como também teve bifurcações de do primeiro plug-in citado. Basicamente rodavam nos emulador 1964, PJ64 e Daedalus. Em Maio, 1964 começa a dar suporte à salvamento de jogos pelo EEPROM (memória interna do aparelho). Também em Maio, muda sua front-end e seu ícone. Ao longo do tempo, vai fazendo algumas modificações no layout, como menus e barras de menus acessíveis. Até Maio, vinha com duas versões de seu executável, o Win2k, para Windows 2000 e o Win98, para Windows 98. Após isso, vinha com apenas um executável. Em Julho é lançada a versão para Linux. Também em Julho são lançadas diversas atualizações, como uma GUI aprimorada, suporte ao arquivo de inicialização, lista de roms na GUI, save state, gameshark, suporte à netplay por meio do Kaillera, entre outros, além de já funcionar mais de 130 jogos, um dos emuladores com maior compatibilidade da época.

Nineteen64 0.9.9 (Interface/Menus/Opções)

Em Setembro de 2002 lança uma atualizações com bastante novidades. Em Novembro lança a última versão do emulador do ano. Em Julho de 2003, anuncia o desenvolvimento da que seria a última versão do projeto, lançada apenas em Janeiro de 2004. Um detalhe. No título do executável do emulador vinha escrito Nineteen e o número 64 na frente, diferente das outras versões que vinha apenas a numeração 1964. Nessa versão há centenas de correções de bugs e melhorias na emulação, como melhor compatibilidade de jogos e até reformulação do netplay kaillera. No final do emulador já rodava plug-ins de terceiros, como os de Jabo de vídeo, áudio e input para Project64, Rice de vídeo para Project64 e Daedalus, N-Rage de input para Apollo, TR64 e PJ64 e até o de áudio de Schibo feito para o emulador com base no UltraHLE. O emulador foi um dos projetos que mais atualizações recebeu de toda a cena Nintendo 64, com quase 60 lançamentos, 40 deles sendo apenas no primeiro ano.

Nineteen64 (Fighter's Destiny)

Nineteen64 (Hiryuu no Ken Twin)

Sobre sua lista de compatibilidade, nessa versão, dos 1.009 jogos testados, 870 rodaram bem, 54 rodaram mais ou menso, e 85 não rodaram ou não eram jogáveis, tendo uma das maiores compatibilidades de jogos de Nintendo 64 da época, se não o que maior compatibilidade teve. Esse último arquivo de inicialização com as roms teve ajuda de Duncan, que também ajudou na compatibilidade de jogos para Nemu64 e PJ64. Além das funções já citadas do emulador, ele também tinha suporte à 20 línguas. Chegou também a ter menu para suportar plug-in RSP (coprocessador do console), mas preferiram emula-lo dentro da própria programação do console. Após o fim do projeto, a versão para Mac, SixtyForce, continuou sendo desenvolvida, e é atualizada até os dias atuais, tendo tido sua última versão em Outubro de 2020. Em 2008, o projeto é hackeado e é lançado como 1964 Unofficial em Junho de 2009 com várias melhorias.

1964 (Gex 3: Deep Cover Gecko)

Uma delas é o lançamento de plug-ins próprios de vídeo, áudio e controle. Uma de suas outras diferenças é a compatibilidade de jogos. Na última versão, testou 25 jogos há mais que na versão de 2004, conseguindo rodar bem mais 37 jogos, 6 jogos a menos na lista dos mais ou menos jogáveis e 2 jogos a menos na lista dos não jogáveis. Essas listas tiveram com base a lista oficial de jogos de Duncan de Janeiro de 2004 e não-oficial de bitcopy de Março de 2005. O hack teve algumas versões, sendo a última em Junho de 2012. Em 2012, Schibo ressurge e porta o 1964 clássico para Java Script e da o nome de 1964js. O emulador rodava jogos pelo próprio navegador. Sua última atualização foi em Julho de 2018.

A última atualização do plug-in Rice Video foi em Junho de 2011.

UltraHLE (1999)

UltraHLE

O projeto UltraHLE (Ultra High Level) começa em 1998, por RealityMan e Epsilon. Ele foi um emulador inovador, pois implementou na cena da emulação a simulação de diversas funções de hardware do aparelho, em vez de emula-las. A diferença entre emulação e simulação é que emular é recriar em cenário virtual o funcionamento exato de um hardware, e simular é criar uma realidade alternativa ao hardware original, uma imitação ao mesmo, de forma mais otimizada, reduzindo assim o trabalho de um computador/host para o desempenho do software, no caso de um console executor de jogos. As facilidades da simulação, além de uso menor da capacidade de um computador/CPU, é a não necessidade de conhecimento do código fonte do hardware simulado. No caso do Nintendo 64, várias partes dele foram simuladas, fazendo com que o UltraHLE saísse na frente de seus concorrentes. Uma dessas simulações é da placa gráfica do computador como sendo a placa gráfica do console. Para isso, é usada uma API gráfica, que faz essa comunicação e simulação. Um exemplo desse processo é o DirectX. O processo, por exemplo, é diferente do de um plugin, que como no caso do PSEmu, comunicava a parte gráfica do emulador ao DirectX, que por sua vez se comunica à placa gráfica.

UltraHLE (Mace: The Dark Age/Bomberman Hero/Super Mario Kart)

UltraHLE (Wave Race 64/Tetris 64)

Aqui não há nem o plugin, nem o DirectX, tendo comunicação direta do emulador ao hardware de vídeo. Todo esse processo de simulação de várias partes do console, como da placa gráfica por meio de uma API gráfica, leva o nome de High Level, que dá nome ao emulador. Lembrando que a tecnologia High Level não foi criada pelo emulador, ela já existia para a reprodução virtual de hardwares não convencionais, que não tinham CPU, chips de vídeo e outros, os simulando em vez de os emulando. Além disso, as APIs gráficas aceleram a renderização 3D das placas de vídeo. A API usada no emulador é a API Glide, que é usada para as placas VooDoo, conhecidas placas gráficas da época. Por causa da popularidade do emulador, foram criados programas que convertiam a API de tecnologia Glide para DirectX, possibilitando quem não tinha uma placa gráfica avançada conseguir rodar o emulador. UltraHLE é lançada em Janeiro de 1999 para Windows, e podia ser rodado em um Pentium II com 64MB de memória facilmente. O emulador dava suporte à joypad, o que poucos faziam na época. Apesar disso, o suporte aos controles era limitado, e por tanto se usava uma ferramenta chamada UltraHLP para melhorar essa função, como dar suporte à dois jogadores, por exemplo.

UltraHLE (Controles/Sobre)

O patch também corrigia o bug que ocorria quando o Mario pulava em Mario 64. Em seu início era capaz de rodar 29 jogos, sendo 10 jogáveis, 5 que têm bugs, mas são jogáveis, 4 que abrem, mas não são jogáveis, e 10 que não funcionando, algo que nenhum emulador da época podia fazer. Foi também o primeiro a rodar jogos comerciais de forma satisfatória. Por conta disso, no mês seguinte à seu lançamento, a Nintendo entra com uma ação judicial contra seus criadores, alegando que os mesmos não têm direito sobre a marca. Na ocasião, o N64 tinha sido lançado há dois anos e meio, e ainda era comercializado. Em Março de 1999, RealityMan diz abandonar o projeto, mas retoma o mesmo em Setembro. Ele passa os anos de 1999 e 2000 trazendo notícias de desenvolvimento do emulador, como em Setembro de 1999, que seria lançada a versão 1.10 com suporte a OpenGL, e em Janeiro de 2000, com a versão 2.0 com igual suporte. Apesar disso, nunca mais lança uma versão do emulador. O que ocorre são atualizações de seu arquivo Ultra.ini (arquivo de inicialização) por hackers, possibilitando a compatibilidade de mais jogos, e versões plug-ins para seu API, como foi em Dezembro de 1999, com o plug-in criado por Einstein II (designer do site do emulador Nemu64), o OpenGlide, que converte o API Glide ao OpenGL mais atual da época. Também teve um OpenGlide criado pelo brasileiro Fábio Barros em Janeiro de 2000 com esse mesmo propósito.

UltraHLE-Z (Instalação)

UltraHLE-Z (Editor Ini)

Sobre sua lista de compatibilidade de jogos, dos 218 testados por volta de Maio de 1999, 60 funcionaram, algo que nenhum emulador da época podia fazer. 16 jogos funcionaram medianamente, e a grande maioria, 142, não funcionaram, tendo alguns deles tido mal funcionamento. O emulador também teve seus hacks, como o UltraHLE-Z, lançado em Abril de 1999. A modificação vinha com arquivo Ini atualizado (com mais jogos suportados), suporte a Voodoo3, o patch UltraHLP para otimização dos controles e outros.

UltraHLE François 1.46/Ultra64 French Emulator DED (Interface/Sobre/Controles)

SupraHLE (Configuração)

Outros hacks foram lançados nos anos seguintes, como o UltraHLE François 1.46 (Conhecido também como Ultra64 French Emulator DED) em Julho de 1999, com tradução para o francês e adições de alguns plug-ins, como Glide, por exemplo. Também surge o SupraHLE pela DominaTor of The Company em Junho de 2002.

SupraHLE (Interface/Sobre)

Suas adições são principalmente no campo da compatibilidade de jogos, dando suporte à mais 19 deles. Em Junho de 2002, RealityMan resolve lançar seu código fonte. Após isso, ShadowPrince, que já havia contribuído com uma front-end para o projeto Mupen64, cria um do UltraHLE chamado UltraHLE Alpha, o lançando em Novembro de 2002.

UltraHLE Alpha (Sobre/Interface/Opções)

Suas principais mudanças foram adição de idiomas, adição de diretório de rom e melhora na lista de roms, correção de bugs, suporte à arquivo .ZIP, suporte a mais plugins, como os plugins glide e de emuladores como PJ64, entre outros. Em Novembro de 2002, modifica a front-end, retirando a barra inferior Debug Output. Sobre sua compatibilidade, dos 85 jogos testados, 11 eram jogáveis, 9 quase jogáveis, 5 o jogo iniciava e congelava e 60 não funcionavam. O projeto existiu até Dezembro de 2002, com 8 versões ao todo. O projeto planejava também dar suporte à Kaillera e Plugin GFX, entre outros. 

UltraHLE2064 (Interface/Sobre/Configurações)

UltraHLE François 1.46/Ultra64 French Emulator DED (Painel de Controle/Instalação)

Logo em seguida, os hackers do SupraHLE, emcabeçados por DominaTor, resolvem criar o UltraHLE2064 em Dezembro do mesmo ano. Essa hack acabou sendo a versão com suporte a OpenGL que Reality prometeu e nunca lançou. Entre suas diversas implementações, além de suporte á várias línguas, foi a possibilidade de adicionar plug-ins de vídeo, som e controle, como seus demais concorrentes. Os plug-ins seguiam o padrão Zilmar Spec. O projeto foi até Julho de 2003, com cinco versões lançadas. Eles corrigiram desde problemas com memória interna, cheats em jogos até otimizações de CPU. Participaram também do projeto Hacktarux do projeto Mupen64, _aprentice_, McLeod, PsYKo, Quvack e tb.

UltraHLE2064 (California Speed)

Todas as hacks do projeto usavam a mesma front-end, a original do UltraHLE. Em Julho de 2003, RealityMan surgiu, na página oficial do emulador, relatando sobre o trabalho com a versão 1.0.1, citando a refeitura do código do depurador, arrumações que seriam feitas na GUI, e disponibilizando até print do emulador rodando Mario 64, porém, atualiza o site até Agosto, não mais dando prosseguimento ao projeto.

UltraHLE v1.0.1 e UltraHLE v2.0.0

Em Junho de 2011, aparece mais uma vez, agora no fórum do site AtariAge, e posta um print do que seria o UltraHLE 2.0.0, mas na própria postagem diz não ter planos de lançado. Essa é a última vez que ouvimos falar do UltraHLE. O emulador deixou além da marca de ser pioneiro na emulação integral de jogos comerciais de N64, o legado de ter incrementado a tecnologia HLE na emulação, usada depois por outros emuladores, como Dolphin, de GameCube e Wii, por exemplo.

Nenhum comentário:

Postar um comentário

Nomes da Emulação - Parte 10

Ste phane Dallongeville Stephane Dallongeville é um importante nome da emulação da Sega. Stéphan nasceu na cidade de Amiens, França, em 1979...

Total de visualizações de página