quinta-feira, 5 de maio de 2016

Emuladores | Homebrews

 
Na computação, um emulador é um software que reproduz as funções de um determinado ambiente, a fim de permitir a execução de outros softwares sobre ele. Pode ser pela transcrição de instruções de um processador alvo para o processador no qual ele está rodando, ou pela interpretação de chamadas para simular o comportamento de um hardware específico. O emulador também é responsável pela simulação dos circuitos integrados ou chips do sistema de hardware em um software. Basicamente, um emulador expõe as funções de um sistema para reproduzir seu comportamento, permitindo que um software criado para uma plataforma funcione em outra.

História:
O primeiro emulador foi criado em 1964 por Larry Moss, na época funcionário da IBM, consistindo em um Software que fazia com que os programas criados para o 7070 mainframe rodassem na mais nova linha de computadores da IBM, os System/360.
O emulador foi um sucesso e ajudou bastante o System/360 a se tornar um best-seller na década de 1970.

Popularização:
A popularização dos emuladores veio junto com a Internet e os emuladores de vídeo games. As imagens extraídas de cartuchos de vídeo games são chamadas de ROMs e aliadas à programação em baixo nível de jogos para sistemas antigos tornou fácil a possibilidade de criação de emuladores de sistemas como o Chip-8 e depois de vídeo games mais populares como o Atari 2600 e NES.
Apesar de um emulador nem sempre ser a coisa mais fácil de configurar, com pouco conhecimento hoje já é possível rodar um jogo de Playstation em um PC através de um emulador sem muitos problemas, muitas vezes até com qualidade superior ao próprio vídeo game, já que podem-se aplicar efeitos como anti-aliasing que o vídeo game não possui e rodar os jogos em resoluções muito mais altas que o original.

Aplicações/Vantagens:
Rodar jogos de vídeo games em microcomputadores.
Testar códigos cross-compilado com maior facilidade.
Reaproveitamento de softwares escritos para sistemas antigos.
Rodar jogos de diferentes plataformas.

Desvantagens:
Para obtermos uma execução satisfatória do sistema que está sendo emulado, ou seu uso em ambiente de produção, o emulador e o ambiente que o executa precisam possuir um desempenho superior ao do sistema original.
Quanto maior a complexidade, ou a incompatibilidade entre o ambiente emulado e o que está executando o emulador, maior a complexidade da implementação do emulador, e maior exigência de hardware.
Alguns periféricos e características do sistema original, por serem físicos, serão emulados apenas em nível de software, podendo não oferecer transparência ao usuário final.

Uso comercial de emuladores em vídeo games:
A Microsoft utiliza emulação em seu console de nova geração, o Xbox 360, para executar jogos de seu console anterior, o Xbox. O Live Arcade traz jogos antigos mas eles não são emulados e sim reprogramados e rodam nativamente no hardware do console.
A Sony usa um emulador para emular o PlayStation original no PlayStation Portable. Esse emulador também é usado em todos os modelos de PS3 para emular jogos do primeiro console. A Sony ainda usou um emulador de Emotion Engine nos modelos de 80GB/60GB-europeus para emular o PlayStation 2. Esse emulador é capaz de setar jogos do PS2 em altas resoluções: 720p e 1080p.
A Nintendo usa extensamente emuladores no Wii Virtual Console. Entre os sistemas emulados, estão o NES, Super Nintendo, Mega Drive, Neo-Geo, PC Engine e Nintendo 64. Entretanto, os jogos de Gamecube não são emulados e sim rodam nativamente no hardware do console.
A partir de 2006 muitas empresas lançaram jogos em coletâneas que rodam em um emulador. Esses emuladores oferecem uma emulação mais refinada se comparada aos emuladores de terceiros. Entre as empresas/jogos estão:

Sega (Sega Genesis Collection)
Namco (Namco Museum)
Capcom (Capcom Classics Collection)
Taito (Taito Classics)
Atari (Atari Anthology)

Recentemente algumas empresas embutiram jogos antigos emulados em jogos comerciais como um bônus para o jogador. Entre eles estão:

Prince of Persia: Sands of Time - (Prince of Persia original do PC)
Ninja Gaiden (Xbox) - (Ninja Gaiden 1, 2 e 3 versão NES)
Tekken 5 - (Tekken 1, 2 e 3 do Arcade)
Zelda: Wind Waker - (Zelda: Ocarina of Time de Nintendo 64)
Mortal Kombat: Shaolin Monks - (Mortal Kombat 2 do Arcade)

Uso não-comercial (caseiro) de emuladores em vídeo games:
Muitos emuladores são livres e programados por terceiros. São denominados também de homebrews. Entre eles estão:

É possível emular consoles de videogames antigos num vídeo game atual. Para isso os consoles devem estar destravados com um Modchip ou ter seu sistema firmware modificado para possibilitar o uso de programas não-autorizados. O primeiro emulador a conseguir esse feito foi PNESX que possibilitou emular o NES num PlayStation. O Xbox por ser um PC x86 teve dezenas de emuladores convertidos e adaptados para ele. O PlayStation 2 e o Gamecube também tiveram emuladores para rodar Super Nintendo e Mega Drive. O Nintendo DS pode suportar a emulação de Super Nintendo, Game Boy Color, Atari 2600 e Mega Drive. O Wii suporta o emulador de SNES, Sega Genesis e Master System. O Xbox 360 suporta os emuladores de Playstation 1, Mega Drive, Super Nintendo, Nintendo 64 e Arcade (CPS-1, CPS-2 e Neo-Geo).

Fonte Parcial: wikipedia.org

0 comentários:

Postar um comentário