Xbox Music: para ouvir música até estourar

Há pouco, pouquíssimo tempo atrás, numa galáxia muito próxima, a moda da música era baixar MP3. Kazaa, eMule, Megaupload, Piratebay: a gente – digo, vocês, que são criminosos, eu sou um santo — catava música em várias fontes diferentes. Nem sempre era fácil achar o que a gente procurava, a qualidade do áudio variava de download para download e o risco de vírus era constante.

Mas isso já é passado. Em tempos de mobilidade, em que a gente tem computador, notebook, videogame, celular, tablet e chaveirinho que roda Android, ficar copiando a coleção de músicas de um aparelho para o outro não tem condição.

É aí que entra o Xbox Music, uma espécie de Netflix musical. Você paga 15 reais por mês (o primeiro mês é gratuito) e pode navegar livremente pelo cardápio musical da Microsoft, ouvindo quantas músicas quiser. No momento o serviço só roda no Xbox 360, no Windows 8 e em telefones Windows Phone 8. Porém, a Microsoft promete levar a coisa toda para outros dispositivos no futuro, então os donos de dispositivos móveis rodando iOS ou Android já podem ir se animando. Também há a previsão de uma rede social unindo usuários do Xbox Music em breve.

Estou usando o serviço há dias no Xbox, e fiquei bastante surpreso com a qualidade do negócio. Tudo funciona via streaming, como no YouTube. Eu tenho conexão de 10 Mb, e o streaming funcionou perfeitamente, sem qualquer travadinha. Minto: em uma ocasião a música simplesmente parou de tocar, mas a culpa muito provavelmente foi da minha conexão.

Para quem prefere comprar músicas e baixá-las, o Xbox Music também tem uma lojinha online, mas infelizmente ela ainda não opera no Brasil. A partir do ano que vem, um serviço de armazenamento em nuvem permitirá o acesso à sua coleção pessoal onde quer que você esteja. Até que se prove o contrário eu acredito que quem já tem uma boa coleção de músicas no iTunes não vai querer mudar de time.

Por outro lado, o serviço da Microsoft é muito mais interessante que o da Apple para pessoas como eu, que não têm “iNada” e vivem rodeadas por dispositivos compatíveis da Microsoft – Windows no PC, Xbox na sala e, caso a Microsoft cumpra sua promessa, celular com Android.

Xbox

Mas de nada adiantaria tudo isso se a oferta de músicas não fosse boa, e esse é o maior destaque do serviço: de artistas pop como Coldplay e U2 a nomes menos conhecidos por estas bandas, como Tori Amos, The Wallflowers e a violinista-prodígio Vanessa Mae, o Xbox Music sempre retornou alguma coisa nas pesquisas que eu fiz – na maioria dos casos, encontrei vários discos (muitas vezes todos) de cada artista, disponíveis para audição na íntegra, na hora, sem espera. Há até alguns clips para a gente assistir, mas aí a oferta já é bem mais modesta.

Artistas brasileiros também estão incluídos: há vários discos do Kid Abelha, por exemplo, e quando minha sogra pediu para ouvir Nelson Ned eu quase caí para trás ao ver que ela poderia até escolher o disco! Wando? Sydney Magal? Estão lá também. Impressionante. É claro você não vai achar muita game music por lá, mas a trilha do Halo 4 está às ordens para quem quiser ouvir.

Quando você bota uma música para tocar, o Xbox Music exibe uma apresentação de slides estilizada com fotos do artista em questão – artistas menos badalados geralmente não têm fotos específicas; nesse caso, o serviço exibe a capa do disco em um mosaico como fundo. Você pode criar e salvar playlists; também pode simplesmente ouvir uma música e apertar o botão X sobre outras para que elas sigam para uma fila (que nada mais é do que uma playlist não salva). A mecânica funciona bem, mas senti falta de uma opção que me permita manipular facilmente essa playlist.

Um recurso muito bacana é o SmartDJ, que monta automaticamente uma playlist com artistas semelhantes aos que você estiver ouvindo no momento. Enquanto eu ouvia um disco do REM, ativei o SmartDJ e ouvi Yo La Tengo, Counting Crows e outras bandas que, de fato, costumam agradar a quem curte REM. Já minha esposa ativou o SmartDJ enquanto ouvia Josh Groban (um cantor pop-lírico), e a playlist incluiu Michael Bolton, Andrea Bocelli e Ill Divo, todos artistas semelhantes em estilo. Enfim, o SmartDJ não só funciona como uma rádio que só toca artistas do estilo que você curte como ainda serve para você descobrir bandas com grande potencial de agradá-lo.

Na tela de abertura, há uma seção que destaca discos novos; isso é ótimo para quem gosta de estar sempre trazendo mais artistas para sua playlist. Agorinha mesmo fui navegar por essa lista e meio que aleatoriamente botei para tocar o disco do Jake Bugg – nunca tinha ouvido falar nele, é um cara de 18 anos que está lançando seu primeiro álbum, com influências de Oasis e Bob Dylan. E não é que o disco é excelente? O disco da Lana Del Rey também me agradou, e até outro dia eu mal sabia que a moça existia.

Obviamente, nem tudo são flores. Além da já mencionada dificuldade em manipular a playlist atual, a interface em si é meio “labiríntica” e é fácil se perder. A Microsoft poderia melhorar essa situação facilmente acrescentando atalhos para algumas funções mais usadas em cada botão do controle.

Quando você escolhe o artista, o Xbox Music abre uma lista de CDs. Acontece que essa lista é uma zona, misturando singles e álbuns completos, e algumas entradas se repetem. Isso pode gerar uma grande confusão para artistas com carreiras longas e com muitos singles lançados; o ideal seria ao menos separar os álbuns dos singles. Ordenar discos de artistas por ordem cronológica e ter uma opção para tocar todos eles em sequência ou em ordem aleatória também faz falta, e me parece um recurso básico. Ao menos há uma opção para ouvir as faixas mais tocadas de cada artista, que é muito bacana para conhecer melhor a carreira de um artista que você acabou de descobrir.

Vale observar ainda que há algumas informações erradas sobre os artistas no que se refere ao ano de lançamento dos álbuns. Outro problema: alguns discos estão na lista, mas não dá para tocar nenhuma música deles. Pelo que vi, isso acontece com a coleção inteira do Barão Vermelho, que curiosamente estava em destaque na página inicial do serviço. Vai entender.

Mas o que mais me irrita talvez seja o fato das músicas tocarem em loop. Quando o disco acaba, começa de novo do início. Se você escolher uma única música para ouvir, ela vai repetir, repetir, repetir… é surreal que não haja uma opção para desligar o “repeat” desse negócio. Outro vacilo é que não dá para deixar o Xbox Music tocando enquanto você navega na internet ou mexe em outras áreas da interface do Xbox. Isso eu considero básico, mas sonhando um pouco, seria fantástico se desse para ouvir o Xbox Music enquanto você joga alguma coisa. Bom, aí já seria luxo demais.

Seja como for, esses problemas são pequenos se comparados a tudo de bom que o serviço oferece. Eu já me converti, e decidi pagar a mensalidade de 15 reais. É muito conveniente ter um amplo cardápio musical na minha sala, pronto para atender ao gosto de qualquer visita que eu receber. Além do mais, vou instalar o Windows 8 antes do ano virar, e como trabalho em casa ouvindo música esse negócio vai ajudar a deixar o trampo mais animado.

Quando o Xbox Music chegar a celulares populares com Android, aí então vai ser uma festa. É claro que hoje a internet em celular ainda é lenta e cara aqui no Brasil, mas vai saber como vai estar essa situação daqui a um ano ou dois? Quando a internet móvel decolar no Brasil, serviços de streaming como o Xbox Music têm grandes chances de aposentar o MP3 no nosso dia a dia cada vez mais movimentado. Ao menos no meu dia a dia, isso é quase certo.

Portanto, fica a recomendação do Gagá: experimente o Xbox Music. Você pode fazer o seu cadastro facilmente pelo menu “Música” do seu Xbox. É preciso informar seus dados de cartão de crédito para usufruir do mês gratuito, mas se só quiser testar mesmo e não estiver disposto a pagar mensalidade, não esqueça de cancelar seu cadastro antes de completar um mês de uso!

E já que falamos de música, aí vai, sem nenhuma explicação lógica ou qualquer relevância, o listão dos dez CDs favoritos do Gagá! ^_^ A lista está em ordem alfabética, e não em ordem de preferência. Todos os discos estão disponíveis no Xbox Music – pronto, arranjei uma desculpa para falar dos meus discos favoritos, he he!

  • “Automatic for the People” (REM): de ponta a ponta, este disco é um festival de pérolas. Abre perfeitamente com a hipnótica “Drive”, e fecha maravilhosamente com “Man on the Moon”, “Night Swimming” e “Find the River”, num dos maiores encerramentos de disco da história do rock.
  • “Elastica” (Elastica): gosta de new wave? Blondie, Ramones? O Elastica mistura isso tudo com alta competência num disco curto e grosso, totalmente brilhante.
  • “Garbage” (Garbage): sonzeira unindo a música eletrônica dos anos 90 ao som pop-gótico dos anos 80. A vocalista irresistível é a cereja no bolo.
  • “In Utero” (Nirvana): ok, o clássico do Nirvana é o “Nevermind”, mas não tem como ficar indiferente ao som cru e poderoso de “Serve the Servants” e outros petardos.
  • “Last Splash” (The Breeders): banda da baixista dos Pixies. Tem aquele jeitão de rock alternativo ao estilo Sonic Youth, mas há uma pegadinha pop irresistível se misturando timidamente. Se você viveu os anos 90, deve conhecer o hit “Cannoball”, mas minha faixa favorita é “Saints”.
  • “Live Through This” (Hole): eu odeio a viúva do Kurt Cobain tanto quanto qualquer fã do Nirvana, mas putz, que discaço. Gritaria, atmosfera e uma energia descomunal. Dizem que o Kurt foi ghost writer das músicas…
  • “Little Earthquakes” (Tori Amos): uma mulher e um piano, com composições altamente pessoais. Sim, tem tudo para ser um desastre chatérrimo para qualquer homem, mas felizmente Tori Amos está bem longe de ser uma Alanis Morrissette (ok, confesso que gosto do primeiro disco da Alanis, mas odeio todo o resto). Tem músicas aqui que são de chorar de tão bonitas (estou olhando para você, “Winter”).
  • “OK Computer” (Radiohead): com músicas densas, em camadas, alternando suspense, beleza e solos de guitarra rasgados, levando o ouvinte das lágrimas ao desespero. Minha esposa detesta esse disco ^_^
  • “Post” (Björk): difícil escolher só um disco desta bizarra cantora islandesa, mas acabei me rendendo ao transe chacoalhante de “Army of Me”, à balada eletrônica sobre suicídio “Hyperballad” e à beleza de “Isobel”. Um aviso: Björk é do tipo “ame ou odeie”, depois não venha reclamar comigo!
  • “Trompe le Monde” (Pixies): o clássico do Pixies é o disco “Doolitle”, mas eu gosto mais ddeste aqui, que é um disco meio malhado até. “Head On” é para levantar defunto, “Alec Eiffel” é pauleira com teclado mágico no final, e “Letter to Memphis”… que delícia. Ainda tem a lindíssima “Bird Dream…” para completar.
  • “What’s the Story Morning Glory” (Oasis): Da minha lista aqui, este talvez seja o mais acessível. Música pop com a habitual “muralha” de guitarras da banda. Ótimas letras, melodias fantásticas, uma delícia de disco para todo tipo de ouvinte.

* * *

Tema do TheBoss Informa

Mas o que é o TheBoss Informa?

Ainda não está pronto (está quase), mas a ideia é que ele seja o nosso “resumo semanal de notícias relevantes e irrelevantes sobre games”. Estará dentro do canal TheBossGamingBR do YouTube e, claro, será postado aqui no Cosmic Effect como de costume.

Nunca nos aventuramos no lance de notícias por aqui. Mas o nosso time cresceu, talvez agora tenhamos o cacife necessário para produzir um material de qualidade neste sentido? Como diria Yoda: “Tentar, não. Faça ou não faça” ^_^

O Cosmic Effect Team está a todo vapor produzindo, com o esmero de sempre, a nova série. Como acabo de terminar a música tema, fiquei ansioso para mostrar aos amigos — ando devendo umas versões de game music por aqui, por sinal :)

A música funcionará melhor no contexto do vídeo, mas as primeiras notinhas da introdução eu espero que tragam a ideia de “noticiário” a quem escutar… Foi inspirada em vinhetas jornalísticas tradicionais, mas logo deságua no tema original do TheBoss, numa espécie de remix. Coloquei também o tema original, caso alguém deseje escutar. Espero que gostem.

Ah, aguardem o TheBoss Informa, amigos!

TheBoss Informa – Tema (by Cosmonal)

TheBoss – Tema Original de Abertura (by Cosmonal)

* * *

Gagá confessa: “Comprei um Xbox 360!”

Xbox 360 Gagá Dashboard Exclusive

Heresia! Gagá na Live! (arte do Andrey)

Prezados amigos do Cosmic Effect, hoje eu tenho uma coisa muito louca para contar a todos vocês. Depois de anos de serviços prestados ao retrogaming, de juras de amor eterno à Nintendo e de críticas ao modelo videogame-central-de-multimídia-com-dez-fps-lançados-por semana, eu finalmente me rendi e comprei um Xbox 360. Sim, comprem bons agasalhos porque o inferno vai congelar.

Faz uma semana que comprei o console, e venho aqui contar para vocês por que decidi comprá-lo, o que estou achando e como é a sensação de cair de paraquedas no mundo de grandes lançamentos e alta tecnologia gamer – uma deliciosa e escandalosa heresia para um retrogamer velhaco e reacionário como eu.

Continue lendo

Diablo, BioForge e a Revista OLD!Gamer Edição 11

Amigos do Cosmic Effect: há uma revista impressa no Brasil que trata somente da apreciação dos jogos antigos. Claro que vocês a conhecem, ela é única: a OLD!Gamer, da Editora Europa.

Gostaria de apresentar-lhes a edição atual da revista, de número 11. Nela, tive o imenso prazer de compor, em parceria com o nosso amigo Orakio Rob, O Gagá (quem mais? ^_^), uma matéria sobre Diablo, o original para PC.

Com relação ao jogo, foi uma experiência gamística como poucas: jogamos por inteiro, tiramos fotos sombrias dos labirintos e fomos devidamente hipnotizados pelo gameplay mágico da Blizzard. Até criamos uma VPN e jogamos online “como se fosse 1996”. Tudo para a matéria da revista mas, confesso: foi extremamente divertido, afinal, estamos falando de videogame.

Não dá pra ver direito com tanta vermelhidão, mas o Gagá amarelou feio quando viu o Butcher.

Depois de tanto clicar com o mouse em Diablo, era hora de clicar no editor de textos. Nesta etapa, aprendi tremendamente com o Gagá no que se refere às preocupações com a normatização da “coisa toda”, com o andamento de um texto que seria promovido à artigo de revista impressa.

Obviamente, mesmo sendo para uma revista, tudo começa no Word (ou no Google Docs). É você e o teclado, exatamente como acontece com o texto “de blog”. Será mesmo?

Nem tanto. Desta vez, você precisa ser mais cuidadoso do que de costume. E qual seria o prêmio por este cuidado extra? Este: É possível aprofundar-se mais, praticamente até onde o autor desejar. Não amigos, eu não me perdi, estou me referindo ao conteúdo impresso mesmo. Parece contraditório, não?

Na Internet, quando produzimos um artigo sobre um determinado jogo, sua liberdade teoricamente é máxima. Pessoalmente, sempre acreditei no benefício da auto-imposição de limites a esta liberdade.

Seja aqui neste espaço de máxima democracia que compartilhamos, seja numa revista impressa, acredito muito na ideia de que o conteúdo seja normatizado, polido e equilibrado. Sem excessos de informações pessoais ou opiniões excessivamente contundentes — afinal, o foco, o astro… sempre serão eles: os videogames. Nunca o autor. A conclusão do conteúdo apresentado é sua, somente sua. Sempre.

Irrelevante é o nível de paixão ou desgosto de um autor por qualquer jogo abordado num post, vídeo ou artigo impresso — acredito. Importa, sim, a qualidade da informação apresentada a quem ofereceu seu precioso tempo e honra de abrir uma aba do navegador para consumir o seu blog, canal de YouTube ou… folhear a revista.

Além deste artigo que tomou conta da capa da revista, tive a oportunidade de escrever sobre um jogo à minha escolha, para uma outra matéria. O próprio redator-chefe da revista, Humberto Martinez, ofereceu a possibilidade de escolher o título. Aliás, praticamente o H.E.R.O. do Atari este cidadão representa, só por manter esta revista de pé. Quantos países possuem periódicos impressos sobre retrogaming, em pleno 2012?

Como marinheiro de primeira viagem — desta vez, sem um experiente marinheiro à bordo escrevendo comigo — logo procurei um porto seguro… e BioForge, um título de MS-DOS pertencente ao “Top 3 Pessoal” foi o escolhido. Completam esta tríade os jogos Starflight do Mega Drive e Out of This World, este revisitado brilhantemente pelo próprio Gagá na edição número 4 da revista.

É um daqueles jogos que, todo ano, em algum momento mais introspectivo de sua vida, você decide ter o prazer de jogá-lo novamente. Vocês reconhecem este sentimento, cada um sabe qual é aquele seu Top 3 inseparável.

A escolha de BioForge para a matéria da OLD!Gamer trouxe a liberdade de esticar o braço buscando tudo que o título tem de bom, médio e também que poderia ser diferente. Joguei-o inteiro, pela enésima vez em quase 20 anos de “relação”. Fazia anotações enquanto jogava. Capturei imagens do gameplay que, efetivamente, foram para a diagramação da matéria. Um sonho.

Falando em diagramação, ah… os prazeres do alto valor de produção! Um revista de uma grande editora nacional, puxa, não dá pra explicar o sentimento de felicidade quando você recebe o PDF com a matéria diagramada. O leitor de PDF vai abrir, atenção… são os 2 segundos mais demorados da sua vida.

Sério, ao ver a beleza do trabalho de diagramação, questionei se realmente fui eu quem escreveu aquilo. O texto “soa” mais interessante quando há um artista gráfico definindo um visual desprendido do template de um blog.

E eles, muito simpaticamente, ainda seguiram algumas sugestões de minha parte quanto à apresentação visual. Pedi ao Alexei, editor da OLD!Gamer e o Yoda das orquestras de game music: “se possível, evite usar a mão robótica na matéria. É que ela está em 10 entre 10 matérias de BioForge…” O pedido simbólico meu foi respeitosamente atendido, olha só que legal.

É isso amigos, perdoem este desejo incontido de felicidade ao compartilhar com vocês este momento. Afinal, depois de ler tantas Ação Games, Videogame, SuperGame e GamePower nessa vida… estar do outro lado das páginas foi uma grande descoberta.

Agradecimentos sinceros a todos citados neste artigo. Estendo estes cumprimentos aos amigos leitores que compartilham conosco suas emoções gamísticas por aqui. Este espaço vivo, repleto de textos, vídeos e o doce som das músicas dos jogos é o nosso eterno co-op.

* * *

Sidequest:
Veja Gagá distorcendo os fatos do nosso encontro com o Butcher
em seu post sobre a mesma edição da revista, aqui :)

A história de um emulador

Não é todo dia que você esbarra em alguém que efetivamente programou um emulador de videogame. Todo retrogamer, colecionador e até aquele nostálgico ocasional que digitou “jogar atari online” no Google pra lembrar da cara de River Raid deve muito a estes verdadeiros herois da programação.
Amigos do Cosmic Effect, gostaria de apresentar o Alan Freitas, 32 anos, residente na capital federal deste país. E, falando em ser brasileiro, este cara não desistiu e… escreveu seu próprio emulador de Master System. Insisto para que acompanhem a história do emulador do Alan, que arregaçou as mangas e saiu da tela preta!
O artigo está genuinamente emocionante. Alan, seja bem-vindo!

Uma breve retrospectiva

Faço parte da geração nascida na década de 80, tendo acompanhado o universo dos jogos eletrônicos desde o estrondoso sucesso do Atari 2600. No início dos anos 90 eu já tinha o console há alguns bons anos.

Certo dia, um vizinho me chamou para ir até a sua casa onde vi algo impressionante: o jogo Choplifter rodando no seu Master System.

Aquilo que presenciava era, de fato, um salto qualitativo muito substancial em relação ao que já estava acostumado a ver no velho Atari. O jogo era muito dinâmico, tinha uma ação ininterrupta, seus gráficos eram espetaculares e a música, empolgante.

Lembro de ter jogado um pouco e o meu desempenho não foi dos melhores. Mas isso não importava, pois o meu objetivo estava claro: eu precisava ter um Master System.

O 8-bit da SEGA.

Chopper Command do Atari 2600.

Choplifter do Master System. A evolução era notável.

Algum tempo depois ganhei o console e, ao longo dos anos seguintes, tive muitos bons momentos com ele.

Minha rotina era semelhante a de muitos jogadores brasileiros: devido ao preço dos cartuchos e a uma certa disciplina parental, o esquema era alugar os jogos no sábado, jogá-los intensamente ao longo do fim de semana e devolvê-los na segunda-feira.

Pude apreciar boa parte do catálogo da plataforma, embora sempre restassem alguns títulos cujos gráficos se mostravam bastante atraentes nos encartes que acompanhavam o console, mas eram impossíveis de se encontrar nas locadores as quais tinha acesso.

Vem à memória o jogo Basketball Nightmare, com uma cena espetacular de um garoto fazendo uma cesta, em close.

Imagem chocante no encarte do Master System…

O ponto alto do Master System foi o jogo Phantasy Star, ao qual dediquei várias horas com amigos. Sei que é chover no molhado, mas a qualidade deste título, sobretudo se levarmos em conta quando e para qual plataforma foi produzido é algo que impressiona até hoje.

Pela primeira vez pude, em um jogo, acompanhar um enredo com um certo grau de desenvolvimento, em uma escala verdadeiramente épica (estamos falando de viagens espaciais entre três planetas), com vários mistérios a solucionar e, claro, gráficos e sons de altíssima qualidade.

Impossível não admirar a fluidez com que os extensos labirintos são percorridos, assim como a bela arte realizada principalmente nas cutscenes (outro aspecto inovador) e nos monstros.

Phantasy Star, um feito maiúsculo.

Como muitos de nós, guardo um certo arrependimento por ter vendido o console com a finalidade de seguir à próxima geração. Naturalmente, precisava do dinheiro para comprar o poderoso Mega Drive, que chegava proporcionando um outro avanço tecnológico espetacular.

O nascimento da idéia

Saltemos para o ano 2003. Após concluir a graduação em Computação, senti vontade de trabalhar em um projeto no qual pudesse exercitar alguns dos conhecimentos mais relevantes estudados na universidade.

Ambicionava explorar um pouco mais a parte de arquitetura de computadores e também computação multimídia, em um contexto de programação orientada a objetos.

Tive a idéia de criar, do zero, um emulador de Master System na linguagem C++. Parecia perfeito: os requisitos técnicos e a paixão pelo tema estavam lá, juntamente com um nível de desafio apreciável. O codinome também estava escolhido: Arisa.

Arisa. Ou Alis Landale.

Definindo o escopo

Certamente que não havia necessidade de, do ponto de vista prático, desenvolver um emulador de Master System. A plataforma já contava com vários emuladores muitíssimo competentes, cada qual com sua vocação: velocidade, acurácia, filtros, ferramentas de debug, etc.

Não se tratava, pois, desde o início, de uma iniciativa para trazer à cena mais um emulador disponível na Internet para download. Como já exposto, tratava-se de uma espécie de exercício particular.

FreezeSMS, Meka, Fusion e SMS Plus.

Conhecendo a arquitetura

Decisão tomada, era necessário entender como funcionava a máquina projetada pela SEGA. Para tal, comecei a buscar informações sobre a plataforma.

Nessa fase o site SMS Power se mostrou de grande valia, reunindo muita documentação com excelente nível de detalhes.

Placa de circuito do Master System. O chip central, no alto, é a CPU Z-80.
Foto: classiccomputer.de

Emulando o Z-80

De importância fundamental em qualquer computador, a CPU é candidata óbvia a ser emulada primeiro. Busquei livros e documentações online sobre o Z-80, o processador central do Master System.

Consideremos que o jogador apertou o botão de pulo no Sonic the Hedgehog. Muita coisa acontece:

  • Entrada: é feita a leitura do estado do botão, ou seja, apertado.
  • Lógica: é feita uma verificação se Sonic encontra-se sobre o solo ou uma plataforma, o que viabiliza o salto.
  • Aritmética: o movimento de salto é calculado, levando em consideração o estado presente do personagem (posição, velocidade, etc) e a simulação física concebida pelo programador (gravidade, inércia, etc).

Como compreender o coração do Master System?

Uma questão de interpretação

Uma técnica apropriada para a emulação de um processador como o Z-80 é a chamada interpretação.

Programar um interpretador basicamente consiste em criar, em uma determinada linguagem de programação, variáveis que guardem o estado de cada estrutura interna do processador, além de reproduzir o comportamento de cada instrução, à medida em que o programa é executado.

É, de fato, análogo ao trabalho de um intérprete: trata-se de um processo de tradução, em tempo real, de uma linguagem para outra.

As coisas não são tão simples…

Fazer uma descrição completa da arquitetura de uma CPU foge do escopo desse artigo, mas podemos dizer que o Z-80 é dotado de complexidade nada desprezível.

O processaodr da Zilog disponibiliza 252 diferentes instruções (opcodes, sendo mais exato) para o seu programador. 

Anúncio do competente Z-80 na revista Electronics em 1976.
(Imagem: domínio público)

Com isso, é evidente que a quantidade de código necessária para implementar o interpretador também é substancial.

Além de relativamente longo, o processo também trazia uma série de dúvidas: será que eu estava indo pelo caminho certo? Será que minha interpretação da documentação estava correta?

E se eu tivesse falhado em compreender algum conceito fundamental e todo aquele código sofresse de algum vício dificilmente sanável? 

Bem, não havia muitas opções a não ser estudar atentamente o material e codificar com cuidado.

Passei algumas semanas programando o interpretador. Implementei o que os programadores chamam de um “ambiente de debug”.

Amigos leitores, finalmente a palavra “jogo” aparece: com este ambiente pronto, eu podia acompanhar as alterações nos valores armazenados nas entranhas do Z-80 e da memória, durante a execução do Alex Kidd in Miracle World.

Apesar de não poder ter certeza, as coisas pareciam ir bem: eu conseguia ver que um jogo carregado parecia estar inicializando o processador e memória RAM emulados, num processo análogo ao de um PC ao ser ligado.

Também via o que parecia ser o carregamento de dados (gráficos, músicas?) na memória, entre outras coisas. 

Porém, era apenas uma visão “binária” naquele momento.

Não havia qualquer imagem do jogo rodando, como quando estamos, er… jogando.

Faltava outra peça-chave: o processador de vídeo (VDP).

Entrando no mundo dos pixels

Hoje temos nos PCs e consoles placas de vídeo com um poder computacional absurdo, que conseguem renderizar imagens com um grau de realismo realmente impressionante.

Na época dos 8-bit, os processadores de vídeo eram relativamente primitivos, e o limitado poder computacional das CPUs de então também deixava as coisas mais complicadas.

Como produzir gráficos atraentes e dinâmicos em uma velocidade aceitável? 

A resolução de 256 x 192 pixels do Master System pode parecer pífia para os padrões atuais, mas estamos falando de quase 50 mil pontos na tela. Era impossível manipular cada um deles de forma individual em tempo real. A solução clássica, simples e genial: Tiles.

Asterix, com os tiles ressaltados…

Como vocês estão carecas de saber, qualquer jogo da época, por mais complexos ou sofisticados que sejam os seus gráficos, é uma espécie de mosaico.

Os artistas desenhavam todos tiles de tal maneira que, arranjados corretamente, eles se integrassem de forma harmoniosa na tela.

…aqui, o conjunto de tiles usado na cena anterior…

Os tiles são formados a partir uma paleta de 16 cores para os sprites e mais 16 cores para o cenário.

Essas cores podem ser escolhidas dentro de um universo de 64 possíveis.

Paleta

…e, por fim, a paleta de cores da mesma cena.


Como estamos lidando com um hardware que possui muito pouca memória, se for possível reutilizar um mesmo tile fazendo seu espelhamento isso pode economizar bytes preciosos.

Assim, tínhamos belos gráficos em tela cheia.

Alguns efeitos colaterais curiosos apareceram. Inconsistência do ponto de vista físico era um dos campeões e hoje pode ser considerado um charme peculiar ao visual dos jogos eletrônicos.

Note a iluminação na cena abaixo.

Espelhamento de tiles em Phantasy Star.
Repare que a cena é perfeitamente simétrica, até nas sombras…

Tamanho não é documento

Após sentir-me seguro com a emulação do Z-80, o processador de vídeo era o próximo desafio. Menos código que o da CPU, porém com muitas particularidades e uma boa dose de complexidade.

É uma forma de conceber a montagem e exibição de imagens bem peculiar; muito diferente do que se faz na computação hoje em dia.

Aqui as inseguranças se intensificaram. No Z-80, eu inspecionava seu estado ao longo da execução. Dava pra ter uma impressão do funcionamento.

No caso do VDP… eu trabalhava às cegas, sem ter por muito tempo uma interpretação da representação binária em debug que me auxiliasse.

Fui em frente, esperando que meu entendimento dos documentos estivesse correto…

Uma grande emoção

Após algumas semanas, terminei a codificação da emulação do VDP. Junto com a emulação do Z-80 e das memórias RAM e ROM, também concluídas, isso deveria ser suficiente para executar um jogo comercial.

Claro que certamente existiam bugs no meu código; Mas, com sorte, talvez um jogo rodasse, ainda que de forma defeituosa.

A hora havia chegado: carreguei a ROM de Alex Kidd in Miracle World e após breves instantes de tensão…

 Nada além de uma tela preta.

Animador…

De certa forma, era esperado. Muito código e, pela própria natureza do problema que ele se propunha a resolver, um pequeno bug em qualquer trecho poderia causar uma falha em exibir qualquer coisa que lembrasse o jogo original.

Tentei outros jogos, com esperança de que algum funcionasse. Nada feito.

Um aspecto cruel de um emulador é que, diferentemente da maioria dos softwares, você muitas vezes não tem idéia de onde pode estar o problema do seu código. Isso porque o programa se comporta como a máquina na qual o jogo executa, mas o desenvolvedor do emulador pouco ou nada sabe sobre o código do jogo em si!

Paradoxalmente, é aí que reside a beleza pouco convencional do conceito da emulação: o jogo executando nada “sabe” sobre estar executando em um emulador, e não na máquina real.

A beleza de dar vida a um cartucho de Master System sem consumir espaço físico…

Por outro lado, o programador do emulador nada sabe sobre o código do jogo em si. Ele “apenas” implementa um software que se comporta como um hardware.

Não é necessário saber programar um jogo para aquela máquina. À medida que eu me embrenhava nas entranhas daquilo tudo, observando internamente a execução dos jogos… foi possível perceber a qualidade excepcional daqueles programadores.

Pude ver, desta vez com olhos de programador, quão impressionante eram seus resultados em plataformas tão limitadas.

Voltando aos bugs do nosso emulador. Foi um processo longo e tedioso. Todo programador sabe que criar código é bacana. Corrigi-lo, quase nunca. 

Após finalizar essa primeira revisão geral (dias depois), carreguei Alex Kidd in Miracle World novamente e… 

Escutou a musiquinha daí?

Funcionou! A tela de apresentação apareceu, mostrando várias cenas do jogo. Logo em seguida começou a demonstração: Alex Kidd percorria a fase em alta velocidade com a sua motocicleta!

Um momento de grande emoção, pois era o resultado de um longo trabalho sem resultados intermediários. Julguei, algumas vezes, que poderia ser, no fim, algo infrutífero de minha parte.

Mas não foi!

Alex Kidd: um cara maneiro.

Inevitável também o sentimento de nostalgia dos tempos da jogatina no Master System real. De alguma forma eu me aproximava um pouco mais daqueles admiráveis engenheiros, programadores, artistas gráficos, músicos, entre outros, que deixaram, com sua inteligência e criatividade, um legado tecnológico e cultural bastante relevante.

Uma mancada

Ao ver o game executando com aparente perfeição, o instinto falou mais alto: meus dedos deslizaram para o teclado, visando efetivamente jogar o jogo.

A demonstração seguiu, inabalada.

Claro: eu não havia implementado o input do joystick!

Ávido por jogar Alex Kidd sendo “empurrado” por Arisa, consultei correndo a documentação sobre o console, para aprender sobre o joystick do Master.

Até que foi rápido — bonus stage? — e pude, então, jogar Alex Kidd in Miracle World.

Mais algumas correções, rumo a uma conclusão 

Depois dessa primeira partida, rapidamente testei outros jogos. A maioria executou sem problemas, mas alguns apresentaram inconsistências, como comportamentos bizarros nas colisões ou nas cores. 

Corrigi mais alguns bugs, o que fez com que mais jogos executassem perfeitamente. Ainda restavam alguns detalhes que poderiam ser melhorados. Nesse período eu também comecei a programar a emulação do som. 

Havia, entretanto, uma nítida queda na motivação. Sentia que o desafio particular que havia proposto a mim mesmo tinha sido superado. Como nunca pensei em disponibilizar Arisa para terceiros, acabei abandonando o projeto aos poucos. 

Hoje não julgo provável retomar o desenvolvimento, mas foi algo no qual gostei muito de trabalhar. Sem dúvida foi um dos softwares mais legais que programei.

Valeu a pena.

“Linguagem de comunicação

Confesso que tive dúvidas sobre a redação desse texto no que diz respeito ao escopo.

Ao mesmo tempo que emuladores têm importância central no universo retrogamer, é muito fácil se aprofundar em questões excessivamente técnicas que podem alienar um leitor que, embora interessado no assunto, não esteja familiarizado com arquitetura de computadores ou programação. Dessa forma, tentei mesclar a tecnologia com os aspectos mais humanos e históricos.

Não sei se fui bem-sucedido, mas estou à disposição para tentar dirimir dúvidas, fornecer algum aprofundamento ou ainda esclarecer algum ponto que não foi devidamente explanado.

Muito obrigado aos leitores do Cosmic Effect!

* * *