O que há de Novo?
Fórum Outer Space - O maior fórum de games do Brasil

Registre uma conta gratuita hoje para se tornar um membro! Uma vez conectado, você poderá participar neste site adicionando seus próprios tópicos e postagens, além de se conectar com outros membros por meio de sua própria caixa de entrada privada!

  • Anunciando os planos GOLD no Fórum Outer Space
    Visitante, agora você pode ajudar o Fórum Outer Space e receber alguns recursos exclusivos, incluindo navegação sem anúncios e dois temas exclusivos. Veja os detalhes aqui.


Porque emuladores necessitam de diferentes configurações para diferentes jogos?

adriano.barbosa42

Bam-bam-bam
Mensagens
1.191
Reações
1.715
Pontos
253
Não entendo nada de programação, talvez por isso estranhe esse fato, mas porque um emulador às vezes necessita de diferentes configurações para rodar um jogo sem bugs, sendo que todos os jogos rodam sem bugs na mesma configuração do console?

Com o PCSX2 isso é frequente, tanto que é recomendado ver na página as configurações indicadas para rodar o game sem problemas, visto que por exemplo GOW 1 e 2 rodam com problemas na configuração padrão.

Alguém saca disso?
 

Kampfar

Ei mãe, 500 pontos!
Mensagens
7.229
Reações
12.877
Pontos
503

pylm

Ei mãe, 500 pontos!
Mensagens
2.193
Reações
4.222
Pontos
703
Porque não é uma recriação perfeita do console.
 

Omega Frost

Mil pontos, LOL!
Mensagens
21.398
Reações
32.917
Pontos
1.459
Não entendo nada de programação, talvez por isso estranhe esse fato, mas porque um emulador às vezes necessita de diferentes configurações para rodar um jogo sem bugs, sendo que todos os jogos rodam sem bugs na mesma configuração do console?

Com o PCSX2 isso é frequente, tanto que é recomendado ver na página as configurações indicadas para rodar o game sem problemas, visto que por exemplo GOW 1 e 2 rodam com problemas na configuração padrão.

Alguém saca disso?
Consoles são hardware que se comportam de maneira bem específica com o objetivo de ser mais eficientes, mais rápidos, mais fáceis de programar, etc.

E algumas vezes programadores fazem uso dessas especificidades em sacadas geniais pra fazer algo mais rápido ou até mesmo superar limitações do console.

Essas sacadas só seriam possíveis sabendo o código fonte do jogo (o que não acontece) ou tendo a descrição completa do hardware, transistor por transistor (que provavelmente é ilegal de se ter, exemplo o vazamento de informações do Wii). Sem isso os desenvolvedores dos emuladores podem apenas adivinhar o funcionamento esperado do hardware e às vezes eles erram nessas premissas.

A vantagem dos emuladores é poder proporcinar uma experiência que seja até melhor do que a do console original, então várias configurações permitem filtros melhores, texturas melhores, resoluções maiores, etc, mas à vezes elas ferem as premissas do desenvolvedor quando fez um ou outro determinado jogo.

A maioria dos problemas acontece por causa de timing e memória; o primeiro é o programador esperar que algo aconteça rigorosamente em um certo número de ciclos de máquina; e o segundo é o programador esperar que a memória esteja disposta de um determinado jeito, mas está de outro.
 
Mensagens
1.055
Reações
1.186
Pontos
203
Se desse pra criar uma máquina virtual perfeita, resolvido. Mas não dá, eles tem q ficar adivinhando já q não tem acesso aos compiladores q os devkit tem pra transformar o código fonte do jogo num executável. Ou, dar um jeito de pegar todas as instruções do jogo e traduzir pro computador entender e rodar.
 

-=|R.R.|=-

Moderador
Membro STAFF
Mensagens
46.516
Reações
179.302
Pontos
1.514
Consoles são hardware que se comportam de maneira bem específica com o objetivo de ser mais eficientes, mais rápidos, mais fáceis de programar, etc.

E algumas vezes programadores fazem uso dessas especificidades em sacadas geniais pra fazer algo mais rápido ou até mesmo superar limitações do console.

Essas sacadas só seriam possíveis sabendo o código fonte do jogo (o que não acontece) ou tendo a descrição completa do hardware, transistor por transistor (que provavelmente é ilegal de se ter, exemplo o vazamento de informações do Wii). Sem isso os desenvolvedores dos emuladores podem apenas adivinhar o funcionamento esperado do hardware e às vezes eles erram nessas premissas.

A vantagem dos emuladores é poder proporcinar uma experiência que seja até melhor do que a do console original, então várias configurações permitem filtros melhores, texturas melhores, resoluções maiores, etc, mas à vezes elas ferem as premissas do desenvolvedor quando fez um ou outro determinado jogo.

A maioria dos problemas acontece por causa de timing e memória; o primeiro é o programador esperar que algo aconteça rigorosamente em um certo número de ciclos de máquina; e o segundo é o programador esperar que a memória esteja disposta de um determinado jeito, mas está de outro.


se levar em conta que é necessário fazer engenharia reversa por não serem oficiais...


PS: Diferente da retro da M$ do Xbox 360/Clássico para o Xbox One que é uma emulação oficial. Não fosse por isso, duvido que rolaria.
 


Axel Stone

Bam-bam-bam
Mensagens
4.023
Reações
7.624
Pontos
453
Dois motivos:
  1. O emulador que faz isso não é preciso e por isso precisa de vários hacks pra quase todo jogo rodar bem.
  2. Rapidez. O emulador vem com opções desligadas pra rodar a maioria dos jogos de forma satisfatória, mas alguns jogos que utilizam esses efeitos e truques de hardware precisariam dessas opções ligadas.

Geralmente é o misto do dois. Ah, e claro, isso geralmente ocorre ao usar hardware rendering pra aumentar a resolução etc. Se estiver usando software rendering vai rodar praticamente tudo, mas aí por algum motivo ninguém quer jogar exatamente igual o console real (sem aumento de resolução e outras melhorias).

Quase todo emulador acima do ps1 é o caso 1+2 acima, incluíndo pcsx2, dolphin, etc. E como disse, ninguém quer usar o software rendering que praticamente não precisa de nenhuma configuração e serve pra todos os jogos.
 

adriano.barbosa42

Bam-bam-bam
Mensagens
1.191
Reações
1.715
Pontos
253
Então caso a Sony por exemplo quisesse criar um emulador de Playstation 2, eles conseguiriam fazer um software tipo o PCSX2 que rodasse qualquer jogo sem precisar de configurações adicionais mesmo sendo executado em setups diferentes? Levando em conta que eles obviamente teriam acesso aos códigos do console.
 

T1mp4s

Mil pontos, LOL!
Mensagens
28.417
Reações
34.503
Pontos
1.354
Enquanto não implantarem um sistema que se configura automático para cada jogo selecionado, vc tem que fazer isso manualmente.
Hoje em dia vc pode salvar o perfil pelo menos.
 

-=|R.R.|=-

Moderador
Membro STAFF
Mensagens
46.516
Reações
179.302
Pontos
1.514
Então caso a Sony por exemplo quisesse criar um emulador de Playstation 2, eles conseguiriam fazer um software tipo o PCSX2 que rodasse qualquer jogo sem precisar de configurações adicionais mesmo sendo executado em setups diferentes? Levando em conta que eles obviamente teriam acesso aos códigos do console.

depois de ver o Xone normal rodar Xbox 360 e Xbox Clássico com melhorias e tudo mais, seria super fácil pra Sony fazer o mesmo com jogos de PS2 hoje, não faz porque não quer (não precisa também) e ela tem o PSNOW né?
 

Bergot

Ei mãe, 500 pontos!
Mensagens
3.664
Reações
5.939
Pontos
704
Então caso a Sony por exemplo quisesse criar um emulador de Playstation 2, eles conseguiriam fazer um software tipo o PCSX2 que rodasse qualquer jogo sem precisar de configurações adicionais mesmo sendo executado em setups diferentes? Levando em conta que eles obviamente teriam acesso aos códigos do console.
Cara, você está enganado sobre emulador oficial não precisar de "configurações" especiais pra rodar certo jogo...pegamos por exemplo a emulação de jogos de ps2 emulados no ps3 sem retro nativa... a Sony usa vários arquivos de configuração para que tal jogo rode...inclusive a scene do ps3 também lança diversos patchs pra tal jogo rodar sem bugs..inclusive o mesmo vale pros jogos de ps2 que rodam no PS4.
 

Trezoitao38

Mil pontos, LOL!
GOLD
Mensagens
14.904
Reações
13.952
Pontos
1.474
Porque o emulador é incompleto, ele roda algumas coisas e não roda outras. Quando o jogo tem essas coisas que ele não roda, eles colocam opções para que o emulador pule certas etapas.
 

Flea.

Mil pontos, LOL!
Mensagens
16.068
Reações
20.632
Pontos
1.144
A única maneira de ter uma fidelidade igual a do original é literalmente usando o mesmo hardware, da maneira que o PS3 fez

Tirando isso, por mais genial que qualquer programador possa ser, e por mais acesso ao funcionamento do hardware original que ele possa ter, pode ser literalmente a mesma equipe que fez o hardware original, ainda assim se eles não estiverem utilizando o exato mesmo hardware eles vão ter que inevitavelmente fazer correções. Por isso que qdo a Sony removeu o hardware do PS2 no PS3 eles deixaram de suportar a maioria dos títulos, só alguns poucos que haviam sido especificamente feitos pra rodar no PS3.
 

kageyame

Ei mãe, 500 pontos!
Mensagens
3.131
Reações
3.743
Pontos
979
Então caso a Sony por exemplo quisesse criar um emulador de Playstation 2, eles conseguiriam fazer um software tipo o PCSX2 que rodasse qualquer jogo sem precisar de configurações adicionais mesmo sendo executado em setups diferentes? Levando em conta que eles obviamente teriam acesso aos códigos do console.

não necessariamente, o caso do xbox é meio particular, as maquinas tem sim arquitetura semelhantes, embora evolutiva.
No caso do ps2 ou ps3 existem instruções de hardware que não tem como serem emuladas com perfeição e precisam ser adaptadas para outro ambiente, ai você entra em um compromisso, velocidade vs precisão, nem sempre o hardware vai ser poderoso o suficiente para traduzir, interpretar e adaptar a instrução para um ambiente totalmente virtualizado, e com isso normalmente a precisão é sacrificada em nome da velocidade, criando-se uma função que faz algo "semelhante" a instrução original, mas usando as instruções do novo hardware, e é neste momento que começam a ocorrer as inconsistencias.
 

mig29gsxr

Mil pontos, LOL!
Mensagens
20.888
Reações
27.907
Pontos
1.444
Em tese seria possível.
Se você conhecesse todos os sets de instruções de processadores das máquinas, todos os conjuntos de ciclos e se vc tivesse um compilador perfeito que rastreasse todas essas otimizações, com uma máquina que lhe permitisse mandar todos os pulsos elétricos de código da mesma forma, vc teria uma emulação perfeita.
Mas na prática essa situação cai nas próprias limitações do hardware que roda a emulação ter seus próprios ciclos de I/O desincronizados do software de emulação alvo, do desconhecimento dos sets de instruções de alguns processadores customizados pelos fabricantes, em alguns casos especiais o acoplamento de hardware proprietário nos cartuchos (geralmente para geração de polígonos), entre outros fatores até físicos (diferença de velocidade e escrita de cd-roms com leitor em relação ao "loading" de jogos no HD, muitas vezes até diminuindo o tempo de acesso aos jogos, input lags de controles de consoles são mais lentos que usbs)...
Para ter a exatamente a mesma experiência, vc tem que ter o hardware original rodando isso, não tem jeito.
 

Axel Stone

Bam-bam-bam
Mensagens
4.023
Reações
7.624
Pontos
453
A única maneira de ter uma fidelidade igual a do original é literalmente usando o mesmo hardware, da maneira que o PS3 fez

Tirando isso, por mais genial que qualquer programador possa ser, e por mais acesso ao funcionamento do hardware original que ele possa ter, pode ser literalmente a mesma equipe que fez o hardware original, ainda assim se eles não estiverem utilizando o exato mesmo hardware eles vão ter que inevitavelmente fazer correções. Por isso que qdo a Sony removeu o hardware do PS2 no PS3 eles deixaram de suportar a maioria dos títulos, só alguns poucos que haviam sido especificamente feitos pra rodar no PS3.
Não necessariamente, bsnes por exemplo é conhecido pela precisão e não tem nenhum hack/correção pra qualquer jogo em específico. Também parece não ter nenhum bug conhecido, o desenvolvedor estava até oferecendo dinheiro pra quem achasse um. Mesmo assim parece ter uma parte que não é perfeita e por isso estão em processo de fazer um decapping com scans de alta resolução dos PPU: provavelmente mais por puro ego e documentação do que pela emulação em si.
 
Topo Fundo