EKA2L1 atualizado para a versão 0.0.4!
O EKA2L1 foi atualizado para a versão 0.0.4, também está disponível no Google Play Store.
O método de instalação de dispositivos foi modificado
Houve muitos comentários sobre problemas em saber como se instalar um dispositivo. Por exemplo, na tela inicial do emulador, muitos não sabem quais dispositivos instalar ou qual método utilizar. Dessa maneira, muitos usuários abandonam o emulador nessas etapas, pois muitos precisam de algo mais simplificado.
Como resultado, ajustamos o processo de instalação dos dispositivos. Observe que isso não pode ser desativado.
- Sabemos que a maioria das pessoas são entusiastas do console, não dos dispositivos Symbian, então, para eles, ter dois arquivos diferentes ou algo como um dump bruto pode ser um pouco confuso. Portanto, para dispositivos S60v1, como N-Gage, agora requer apenas as ROMS do Sistema para instalação. Esperamos que isso facilite o processo de instalação.
- Para os dispositivos S60v2, existem processos de transição que envolvem ROFS nos sistemas, então RPKG ainda será necessário.
- Para os dispositivos S60v3, S60v5 e S^3, a opção de instalar usando firmwares agora será permitida. Isso é mais conhecido pelas pessoas e geralmente é a opção recomendada. Será necessário apenas fornecer o endereço do arquivo VPL para sua instalação. Observe que isso não funciona em alguns firmware nos dispositivos S60v2 mais recentes, devido as diferenças na posição das informações na ROM..
Sobre quais dispositivos instalar, adicionamos uma opção expansível na qual você pode clicar, e ela recomendará quais dispositivos instalar e qual método usar.
Aqui estão as imagens da nova tela de instalação:


Quando for detectado que a ROM inserida não é S60v1, um campo para inserir o RPKG será exibido. Obrigado aos usuários na Play Store e do Discord pelos incríveis feedbacks, isso ajudou bastante na solução deste problema.
O Suporte ao S60v2 foi adicionado
Isso foi pedido por muitos usuários. implementamos algumas partes dos sistemas S60v2, infelizmente não todos, muitos aplicativos e jogos ainda estão com muitos bugs ou nem mesmo abrem. No entanto, a compatibilidade melhorou.
O S60v2 tem três pacotes de recursos, nos quais estão os estágios de transição dos dias de EPOC legado. Isso inclui tentar remover a estrutura semelhante a uma pasta do sistema, remover a pesquisa de DLL semelhante ao do Windows, remover a aprovação e modificar funções das ROMs, como a resolução da tela que é codificada dentro dos cabeçalhos da ROM. Sendo assim, implementar o S60v2 está sendo uma tarefa bem divertida.
A compactação de DLLs e EXEs PETRAN também está presente em muitos aplicativos. Algumas funções que ainda não estão funcionando corretamente, incluindo jogos que usam o Direct Screen Access (DSA) propriamente.
Aqui estão algumas capturas de tela de jogos que atualmente estão em funcionamento no emulador, usando um dump do dispositivo N70.






Adicionando suporte ao S60v5 em dispositivos de 32 bits
S60v5 e S^3 requerem operações VFP pesadas, então eles não foram implementados no emulador JIT de 32 bits antes. Recentemente, tocamos nesta seção novamente, já que o host não usa registros VFP, então descartamos todo o banco de registros, mas ainda mantemos o controle de quais registros estão sendo carregados/escritos.
O desempenho obtido no JIT de 32 bits é na verdade o mesmo que você obteria em um telefone Symbian real. Não achamos que haja grandes expectativas para amadores como nós… Mas esperamos que você possa aproveitar os velhos tempos em dispositivos Android atuais. Não há muito o que falar sobre isso.
Outros pequenos ajustes
Anteriormente não havia dumps de dispositivos Unicode, mas recentemente nos foi fornecido a ROM de um N70 chinês, ele não funciona muito bem, pelo fato de não mostra nada para ler na tela. Estamos trabalhando nisso, tentamos carregar caracteres Unicode, mas sem armazenar nenhuma informação de coordenadas no atlas. Corrigir esse problema fez um cara conseguir jogar Pocket Kingdom em chinês, (Risos).


Outros pedidos, incluem alguns jogos que não podem ler o IMEI do emulador. Este IMEI é gerado online aleatoriamente, (Risos). Mas, não deve haver nada de errado com isso.
Para obter o IMEI, os jogos devem obter as informações do telefone usando uma API, que exige que você digite o nome do getter (Captador) de informações do telefone (criado a partir de uma DLL). Mas alguns jogos mais antigos às vezes codificavam o nome do getter de informações como “Calypso” para o S60v1 (este é o codinome para Nokia 7650) ou como “DefaultPhone” para S60v2. Não carregamos esses módulos por motivos óbvios, ou seja, para obter coisas do driver. Portanto, temos que falsificar esses nomes, dependendo da versão do sistema operacional…


A última coisa a mencionar é que, alguns jogos possuem algumas condições de corrida, que nem mesmo ativam devido à forma como o SO programa os threads. Depois que um thread é criado e reiniciado, o kernel o redefine imediatamente, o que pode fazer com que os threads filhos sejam executados primeiro. Isso cria algumas situações em que o thread pai acessa informações do thread filho que só é criado quando o threads filho é executado primeiro. O emulador foi corrigido para seguir esse comportamento, o que resolve travamentos em alguns jogos. (Parece meio confuso, mas isso vai melhorar o desempenho de alguns jogos)


Também houveram algumas pequenas correções que melhoram a compatibilidade com os aplicativos S60v3 e S60v5, mas não mencionaremos aqui.
Objetivos para a versão 0.0.5
Esperamos implementar o suporte para o serviço N-Gage (geralmente chamado de N-Gage 2.0) em breve. O trabalho já foi feito no branch ng2 antes, mas é um trabalho bastante preliminar e apenas funciona com um jogo, e isso é só mencionando a instalação dele.
Também queremos corrigir alguns problemas de arquivo que atualmente demoram uma eternidade para abrir no Android 11 ou que simplesmente não funcionam. Um patch de correção será criado quando encontrarmos algum tempo livre para isso.
Notas finais
A versão para PC terá as mesmas mudanças de qualidade de vida que a versão para Android. Voçê pode usar o que está sendo implementado no momento ou também, você pode encontrar a versão mais estável do emulador na Play Store. Esperamos que você relembre os bons tempos e se divirta bastante com nosso emulador!