Histórico de compatibilidade com versões anteriores do PS1 no Sony Playstation 2


Em 4 de março, comemoramos a data do jubileu - 20 anos se passaram desde o lançamento do PlayStation 2 no Japão, seguidos pelas vendas na Europa e América do Norte no mesmo ano de 2000. Sem dúvida, todos os tipos de mídia de jogos publicarão listas e retrospectivas em memória de um dos consoles mais bem-sucedidos e culturalmente significativos. Provavelmente, o foco estará em uma variedade de jogos únicos e diversos que contribuíram para transformar o console em uma força tão poderosa, mas não se esqueça de um dos pilares fundamentais do sistema: a compatibilidade com a grande maioria dos jogos da biblioteca do primeiro PlayStation.

Esse recurso, que antes era encontrado principalmente apenas nos consoles portáteis da Nintendo e em alguns sistemas Sega mais antigos, tornou possível criar uma sensação de comunicação intergeracional de equipamentos que antes não haviam surgido no mundo dos consoles antes. Ela deu ao PS2 uma vantagem, que os concorrentes só podiam invejar. Este foi um legado que foi preservado em vários graus em todos os sistemas subseqüentes da Sony até o PlayStation 4, quando Jim Ryan proferiu a famosa frase em uma entrevista à Time : "Quem jogará isso?", Recusando-se a satisfazer a demanda dos consumidores por essa tecnologia.

Com que rapidez a situação mudou nesse sentido.

Escusado será dizer que, devido à Microsoft fornecer compatibilidade com versões anteriores do Xbox e Xbox 360, que foi um argumento importante para a compra do Xbox One, a atitude da Sony em relação a essa necessidade mudou: agora as duas empresas estão se esforçando para implementar a compatibilidade com versões anteriores de uma forma ou de outra em seus próximos consoles. É claro que todos esses esforços tiveram que começar em algum lugar, e para a Sony o começo foi estabelecido por um ex-engenheiro da empresa, do qual você provavelmente nunca ouviu falar: Tetsua Iida.A história de Iida é curiosa: ele recebeu a responsabilidade de desenvolver a compatibilidade com versões anteriores do PS2 apenas alguns anos depois de ingressar na empresa, e neste trabalho ele é quase um novato. Em 2018, ele escreveu uma série de posts que descreviam a maneira dolorosa de implementar essa funcionalidade, pela qual ele andava quase sozinho. No 20º aniversário do lançamento do PS2 em japonês, tenho o prazer de enviar minha tradução dessas postagens. A maior parte do conteúdo permaneceu inalterada, incluindo as imagens utilizadas, mas em algumas seções forneci esclarecimentos adicionais recebidos diretamente do autor. Além disso, as postagens foram ligeiramente reformatadas para torná-las mais facilmente percebidas como uma postagem em vez das cinco originais.

Seja como for, considero uma honra ter me dado a oportunidade de compartilhar com você essa história quase esquecida, mas muito importante, porque hoje a compatibilidade com versões anteriores e a preservação dos jogos como um todo são importantes para nós, tanto do ponto de vista cultural quanto científico. Embora o conceito fundamental não tenha sido inventado pelo PS2, o trabalho de Iida se tornou definitivamente um catalisador importante para sua popularização na mente da maioria dos jogadores. Ela permitiu manter a relevância e a acessibilidade da história dos jogos, sem recorrer à emulação em um PC. Sem sua participação direta, milhares de jogos do PS1 não teriam uma segunda chance de vida no novo milênio, e a indústria de jogos teria que gastar mais tempo estudando sua história, que encontrou seu lugar no presente e no futuro.

Tom James , tradutor japonês-inglês



Desenvolvi um emulador compatível com versões anteriores do PS1 para a Sony Computer Entertainment



Em 1996, consegui um emprego na Sony Computer Entertainment como parte de uma segunda vaga de contratação de estudantes recém-formados. Naquela época, o departamento de pesquisa e desenvolvimento da SCE era composto por aproximadamente 50 pessoas. Foi liderado por Ken Kutaragi, e caras como eu estavam no final da escada hierárquica. Se não me engano, fui contratado logo após Square entrar na lista de desenvolvedores da Sony. Na época em que Final Fantasy VII foi lançado, tive a oportunidade de ver cenas dele. Como muitos, ainda me lembro vividamente do choque de ver a morte prematura de Iris ...

Tanto quanto me lembro, minha primeira tarefa após ingressar na SCE foi criar um código conversor de vídeo que recebesse um arquivo de vídeo na entrada e aplicasse filtros a ele. Esta aplicação foi o meu primeiro programa profissionalmente escrito. O ponto principal é que, quando cheguei ao departamento, eu era o funcionário mais inútil dele. E eu não estou exagerando. Eu não tinha habilidades reais no design de equipamentos elétricos e nem sabia como executar o Windows 3.1, para não mencionar programas de gravação. Ainda hoje, não entendo o que a gerência da Sony viu em mim e por que decidiu me contratar.

Felizmente, graças ao programa realizado na empresa, tive a oportunidade de aprender a programar computadores. Foi fácil assimilar o material e, após esse treinamento, tive a sensação de poder programar qualquer coisa. Depois de concluir o treinamento, fiz todo tipo de coisa, eles me confiaram todo tipo de trabalho, do estudo de emuladores de CD à modelagem de conversores de dados, libc e muito mais. Por volta de 1998, todo o nosso departamento foi convidado para uma breve reunião sobre a próxima geração do sistema PlayStation.

Depois disso, o departamento de pesquisa e desenvolvimento foi dividido em duas equipes. Uma equipe continuou trabalhando no hardware então relevante do primeiro PlayStation, enquanto a outra assumiu a próxima geração. Eu sempre gostei de experimentar coisas novas, então percebi que queria trabalhar na segunda equipe. Parece que estava sendo entrevistado para admissão, porque mais tarde, quando fui enviado a ela, fiquei encantado.


Assim que me mudei para a equipe de desenvolvimento do PlayStation 2, recebi a tarefa de perceber a possibilidade de lançar jogos no novo sistema para PS1. Naquela época, a norma era que era impossível lançar jogos antigos em novos consoles, mas a SCE queria reverter essa tendência, que, na minha opinião, era uma decisão de longo prazo por parte da empresa. Dado o fato de que naquela época trabalhei na empresa por apenas alguns anos, fiquei muito lisonjeado por ter sido designado para trabalhar em uma tarefa tão importante.

Quando foi decidido implementar a compatibilidade com versões anteriores do PS2 com jogos para PS1, já havia um plano para usar o processador PS1 principal como processador de entrada / saída para novos equipamentos PS2. No entanto, a sutileza era que nenhum outro equipamento PS1 estava planejado para ser usado, e isso significava que todo o resto teria que ser emulado programaticamente. Até aquele momento, eu trabalhava apenas no desenvolvimento de software, mas fui encarregado de escrever um emulador para o SPU do console da PSU, ou seja, para o sistema de som.

O chip de som PS2 consiste em duas partes: o núcleo e o processador de sinal digital (DSP). Um membro experiente da equipe que trabalhou na criação do sistema de som começou a emular o DSP, e fui designado para trabalhar com o kernel. Para fazer isso, ocupamos uma sala na sala de escritórios do subcontratado e nos isolamos do resto do mundo para escrever todo o código necessário. Não havia janelas na sala, e lembro-me de que, durante o processo, discutíamos frequentemente com meu colega. No entanto, não foi tão ruim, como resultado de um trabalho conjunto, nos tornamos amigos muito próximos.

Não me lembro exatamente como trabalhamos, mas uma vez que nosso trabalho foi interrompido sem cerimônia. Como se viu, o chip de som PS1 acabaria sendo adicionado à lista de hardware do PS2, o que significava que todo o nosso trabalho poderia ser jogado no lixo.


O emulador de SPU que escrevemos acabou sendo inútil, e é por isso que nosso trabalho ficou suspenso, porque o uso do chip de som PS1 não significou abandonar nosso novo processador de som PS2. Pensamos no que teríamos que fazer a seguir, por exemplo, para escrever vetores de teste para um novo processador de som. No entanto, minha nova tarefa foi uma grande surpresa.

Foi-me atribuída a tarefa de emular a GPU PS1, e isso me confundiu bastante. Alguém já tinha que lidar com isso e, quando perguntei o que estava acontecendo, eles me disseram que essa pessoa estava saindo da empresa e que eu deveria continuar seu trabalho sem desculpas. É claro que a transição do trabalho com som para gráficos se tornou um teste sério para mim. Mas no final, isso não importava, porque ninguém me perguntou. Não importa como eu me relacionasse com isso, eu tinha que obedecer à ordem.

Não quero dizer que percebi essa tarefa como impossível. Eu vi os emuladores como algum tipo de conversor que recebe instruções projetadas para processadores mais antigos e os converte em código que o novo processador pode entender e executar. Nesse sentido, embora os equipamentos de som e gráficos sejam diferentes, em geral eles lidam apenas com a transferência de comandos. Tudo o que o emulador faz é alterar a aparência e o fluxo desses comandos. Se o emulador for totalmente testado, no final ele deve funcionar, embora na prática seja difícil de implementar.

Quando o trabalho de emulação de GPU foi entregue a mim, felizmente, o desenvolvedor anterior já havia estabelecido as bases, então eu não tive que começar desde o início. Portanto, antes de tudo, eu precisava entender as especificações da GPU e PS1 e PS2. Depois disso, comecei a implementar as instruções ausentes, porque inicialmente tentei me concentrar na reprogramação dos comandos de GPU do console PS1.

O primeiro jogo PS1 a ser lançado no emulador PS2 foi o Ridge Racer. Foi lançado simultaneamente com o lançamento do PS1, por isso parecia muito importante que fosse lançado o primeiro de toda a biblioteca de jogos no sistema. Quando liguei o dispositivo, percebi a importância de torná-lo o primeiro jogo de PS2 a ser emulado.

Os resultados iniciais foram, para dizer o mínimo, longe do ideal. Por exemplo, a garota que começou a corrida foi renderizada na forma de um mosaico, não de um sprite. Além disso, quando o círculo terminou, a tela ficou rosa. No entanto, fiquei satisfeito por o jogo ter começado. Apesar do fato de apenas a GPU ter sido emulada, percebi que podemos obter compatibilidade retroativa no PS2 com o PS1 nesse nível de emulação de software.


Nas primeiras horas da manhã de 2 de março de 1999, eu estava nos bastidores do palco do Fórum Internacional de Tóquio, onde mais tarde naquele dia no PlayStation Meeting 1999 eles deveriam anunciar oficialmente o desenvolvimento do PlayStation 2. Minha tarefa era demonstrar a compatibilidade com versões anteriores do console com o PS1 depois de anunciar esse recurso no hora da apresentação.

Eu estava pronto a partir da noite antes de me preparar para o evento. Vários meses já se passaram desde o primeiro lançamento do Ridge Racer, e foram feitos grandes progressos no desenvolvimento do emulador de GPU. Agora era possível rodar muitos jogos para PS1 nele, e o melhor deles era Crash Bandicoot: Warped. Por esse motivo, foi escolhido para demonstrar os recursos de compatibilidade com versões anteriores do PS2. Havia apenas um problema: às vezes ele pendia durante a emulação.

Desnecessário dizer que problemas sérios surgiriam se o jogo travasse no meio da demo diante de um público tão grande. Infelizmente, não consegui encontrar os motivos dessas falhas. Tudo o que foi possível descobrir é que, enquanto o Crash continua em movimento, o jogo permanece estável por algum motivo. Sabendo disso, eu não dormi a noite toda jogando sem parar no kit de desenvolvimento do PS2. Felizmente, eu não estava sozinho, havia outra pessoa ao meu lado que me ajudou no jogo. A transmissão de vídeo para o nosso monitor foi configurada para que na conferência pudéssemos mudar para a tela grande no palco com o clique de um botão. Como você deve ter adivinhado, eu brinquei com essa opção, e foi muito interessante. Não podíamos simplesmente iniciar o jogo pela manhã, porque havia uma chance de o próprio emulador não carregar e não tivemos tempo suficiente para consertá-lo.Portanto, não importa o quão surpreendente possa parecer, depois de iniciar, ficou mais seguro não desligar o sistema a noite toda.

Felizmente, esta noite passou sem incidentes. O evento estava se aproximando e o sistema continuou funcionando. A importância desta conferência não pôde ser superestimada. Ela foi visitada pelo próprio CEO da Sony, Nobuyuki Ideas, para nos apoiar. Foram demonstradas demos de tecnologia mostrando o poder do Emotion Engine e do sintetizador gráfico do sistema PS2. Por trás das cortinas, eu realmente não conseguia ver o que estava acontecendo. mas vi que as pessoas da platéia reagiram positivamente à apresentação. Tudo correu conforme o planejado. Finalmente, é hora de anunciar a compatibilidade com versões anteriores do console.

Honestamente, quase não me lembro do que aconteceu nesses momentos. Foi planejado que durante a demo do Crash Bandicoot eu tocarei da maneira usual, pularia obstáculos e passaria de nível. Mas quando chegou a hora da manifestação, tive grandes problemas com a passagem e deparava constantemente com o mesmo obstáculo no nível. Depois disso, minhas memórias estão completamente vazias. Nem posso dizer se consegui ir mais longe.

No entanto, no final, tudo parecia correr bem, porque, apesar da minha fraca demonstração, o anúncio foi recebido com aplausos. Todos disseram que o evento foi um grande sucesso.


O PlayStation 2 foi lançado no Japão em 4 de março de 2000. O trabalho no emulador PS1 geralmente era concluído em torno do Ano Novo, se não me engano. No final, houve vários jogos que não puderam ser feitos para funcionar corretamente, razão pela qual a empresa lançou uma "lista negra" pública de jogos para PS1, que os jogadores não podem jogar no novo console.

Após o lançamento do sistema no Japão, ele chegou à América do Norte e Europa; Naturalmente, os jogos dessas regiões para PS1 também foram suportados pelo emulador. Pouco antes do lançamento das versões regionais, visitei os escritórios americanos e europeus da Sony para ajudar na depuração, e essa foi minha primeira experiência em viagens ao exterior. Como resultado, o PS2 não era 100% compatível com o catálogo PS1, mas suportava quase todos os jogos. Lembrando do meu trabalho hoje, acredito que essa foi uma das tarefas mais importantes em toda a minha carreira.

Ken Kutaragi estabeleceu um alto padrão para sua equipe, ele nos disse para medir sempre a qualidade do nosso trabalho em relação ao melhor nível de nossa classe. Quando penso no que encontrou essa barra na minha vida, a primeira coisa que me vem à cabeça é o meu trabalho de compatibilidade com versões anteriores do PS1. É assim que tenho orgulho dela.

Francamente, talvez eu não fosse capaz de lidar com isso sozinha, e durante o trabalho muitas pessoas me ajudaram. Se eu não pudesse lidar com isso, alguém teria feito isso. No entanto, a oportunidade de observar um projeto de larga escala antes de sua conclusão me enche de grande orgulho. Só espero que em minha vida eu tenha outra oportunidade.

All Articles