segunda-feira, 3 de agosto de 2020

O Mesosphere, uma reimplementação de código aberto do kernel do Switch OS, chega ao ponto de inicializar a maioria dos jogos - Ajudará bastante na emulação do Switch!


Em abril, o roadmap do Atmosphere CFW para os consoles Switch recebeu uma revisão e uma das coisas não dignas de nota no pipeline foi o Mesosphere, que é uma reimplementação de código aberto do kernel do Horizon OS. Agora, foi feito um grande progresso e essa reimplementação já pode executar a maioria dos jogos comerciais, com aproximadamente 90% de conclusão!

O que é Mesosphere? Em que estágio está?

Como mencionado na introdução, o Mesosphere é uma reimplementação do kernel do Horizon OS, que é o sistema operacional que acompanha o Nintendo Switch. Seu desenvolvimento foi causado pelo fato de que o Atmosphere CFW, do qual o SciresM é o principal desenvolvedor, visa reimplementar componentes do Horizon OS em vez de simplesmente aplicar patches a eles, o que traz vários benefícios, incluindo uma melhor compreensão do que está acontecendo embora essa abordagem não seja obviamente um passeio no parque. O trabalho está em andamento há cerca de 6 meses de maneira semi-ativa e, de acordo com o roadmap do Atmosphere, está previsto um lançamento de meados a final de 2020, mas o SciresM decidiu compartilhar com a comunidade o progresso que ele fez até agora o que é verdadeiramente significativo.

Com o Mesosphere, o SciresM conseguiu inicializar vários jogos comerciais, incluindo Puyo Puyo Tetris! (Tweet)
Em um tópico do Reddit compartilhado há 7 dias, SciresM explica seu amor pelo Horizon OS e depois diz que o Atmosphere foi inicialmente um projeto para reimplementar o kernel ARM9 do 3DS, mas que acabou sendo descartado pois o projeto era "muito ambicioso" para ele. No entanto, o SciresM agora acumulou experiência suficiente, permitindo-lhe criar uma reimplementação de código aberto do kernel do Switch e, no estado atual, o Mesosphere está em torno de ~90% terminado e pode inicializar a maioria dos jogos comerciais com muitos recursos sendo feitos desde que o kernel ficou maduro o suficiente para chegar ao logo de inicialização! Entre os títulos que o SciresM teve sucesso na inicialização, pode encontrar Animal Crossing, Fire Emblem Three Houses e os títulos Pokémon, juntamente com Puyo Puyo Tetris.

Como isso pode ajudar a emulação?

Depois de descrever o estado avançado do Mesosphere, SciresM passou a discutir os efeitos que seu kernel reimplementado terá no cenário de emulação. Ele explica que, graças ao Mesosphere, aqueles que desenvolvem emuladores do Switch terão sua vida muito mais fácil, pois não precisam mais reverter o comportamento do kernel ao escrever o código HLE, pois o código-fonte do Mesosphere pode ser referenciado para verificar como as coisas funcionam. É quase garantido que isso esteja correto, pois o código está sendo testado nos consoles Switch e haverá mais testes daqui para frente.

Além disso, SciresM afirma que a pesquisa que ele realizou antes de embarcar no projeto do Mesosphere foi benéfica para Yuzu e Ryujinx, que são os dois grandes atores no que diz respeito à emulação de Switch, enquanto também deseja que seu trabalho permita grandes melhorias no HLE em um futuro próximo.

Além de ser um feito, o Mesosphere é muito benéfico para quem desenvolve emuladores de Switch para PC, pois elimina a necessidade de fazer engenharia reversa no kernel do console! (Imagem do site do Ryujinx)

Em um tweet, SciresM também afirmou que o Atmosphere-3DS será recuperado novamente, o que significa que terá uma re-implementação de código aberto do kernel do 3DS, o que sem dúvida ajudará na emulação! Para as últimas notícias sobre Atmosphere, Mesosphere e outras coisas nas quais o SciresM está trabalhando, você deve seguir a conta do Twitter no link abaixo. O código relacionado ao Mesosphere também foi compartilhado em dois ramos do GitHub, que podem ser acessados ​​nos links abaixo.

Conta do Twitter do SciresM: https://twitter.com/SciresM

Ramificação do mesosphere/kernel no repositório do Atmosphere: https://github.com/Atmosphere-NX/Atmosphere/tree/mesosphere-dev/mesosphere/kernel

libraries/libmesosphere no repositório Atmosphere: https://github.com/Atmosphere-NX/Atmosphere/tree/mesosphere-dev/libraries/libmesosphere

FONTE: Wololo

Nenhum comentário:

Postar um comentário