HISTÓRIA
O espaço deste site foi gentilmente cedido pela MSXALL

  ENTREVISTA
 
Adriano Camargo Rodrigues da Cunha (segunda e última parte da entrevista)

 

O ‘UZIXman’, como é conhecido por algumas pessoas tanto de âmbito nacional (Brasil) ou (quanto) internacional, na verdade se chama Adriano Camargo Rodrigues da Cunha e é um antigo usuário desta fantástica linha de computadores pessoais que fascinou e até hoje fascina muitas pessoas. O apelido é devido à criação do sistema operacional UZIX, um sistema UNIX para o MSX, que é um S.O. multiusuário, multitarefa, multihead - este último se refere à capacidade do UZIX de usar dois monitores ao mesmo tempo, cada um com sua imagem, e processo em execução, diferente entre outros fatores como possbilitar o acesso a FTP, redes e Internet. Além do UZIX, que por si só já merece, no mínimo, um livro, fez também diversos outros softwares ‘hardcore’ para o MSX. Entre eles destacamos o ‘ExecROM’, o ‘TestRAM’, a tradução completa do ‘Parodius’ da Konami para a língua inglesa, e, como poderíamos deixar de esquecer, o fantástico Knightmare CD, desenvolvido junto com outros amigos do mundo MSX (meu histórico de downloads mostra que outros “sucessos” foram a nova ROM pra MegaRAMDisk e as conversões disco->arquivo, seja de jogos, seja de utilitários, como o Lenda da Gávea, Amazônia, MSXDEBUG, Graphos, etc). Atualmente está envolvido no grande projeto de tradução do conhecido jogo Illusion City para a língua inglesa e portuguesa, entre outros projetos. Além destas ocupações, é um dos atuais moderadores da lista de discussão MSXBR-L, um cargo que ocupa desde 1998, quando foi instituída a figura do moderador. Presente em encontros e feiras de MSX no Brasil, está sempre disposto a ajudar as pessoas através da lista MSXBR-L. Há muito o que se conversar com o Adriano a respeito de MSX: foram muitas as suas atividades, e sem contar o que ainda está por vir. Nesta primeira parte da entrevista conversamos com o Adriano a respeito a diversos assuntos, incluindo seu primeiro contato com o MSX, ou seja, de como tudo começou para ele e sobre o padrão em geral.


MSX HISTÓRIA: Devem ter sido feitas muitas modificações no software original para acessar o som do CD. Isto chega a ser de fato, verdade ?

Adriano: Não, não chega. A alteração basicamente consistiu em trocar a rotina do “player” de áudio de PSG para CD. Em termos de quantidade de código, é pouca coisa.

MSX HISTÓRIA:  Como foi o processo ?

Adriano: Foram três etapas: 1) criar um player de áudio de CDROM; 2) debugar o jogo para descobrir a rotina de áudio e como ela era chamada, a fim de interceptá-la e trocar as músicas PSG por CD; 3) inserir o novo player de áudio no jogo original e criar um novo carregador para o jogo.

MSX HISTÓRIA:  Quem fez os arranjos e as músicas do Knightmare CD ?

Adriano: Foi o Pablo Vasques Bravo-Villalba, também conhecido por Parn, MSXzeiro de Brasília, já conhecido por suas composições em PSG, FM e sintetizadores.


MSX HISTÓRIA:  De onde surgiu a idéia de fazer esta excelente versão ?

Adriano: Eu tive a idéia há muito tempo, quando escutei uma versão da música do Knightmare feita pelo Parn. E eu sempre fui muito fã do Knightmare, e ao escutar a versão do Parn pensei “puxa, este ótimo jogo ficaria incrível com músicas à sua altura, em FM/SCC/etc”. A versão SCC+ foi feita pela Konami, que eu adaptei para SCC com ROM baseado no conversor da Okei, mas eu ainda achava que o jogo merecia mais. Tudo se encaixou quando o Carlos Eduardo, um MSXzeiro de São Paulo, comentou na MSXBR-L que conseguiu fazer seu MSX ler CD-R: ele topou fazer os testes (já que eu não tinha gravador de CD) e o Parn de compor as outras músicas do jogo.

MSX HISTÓRIA:  As músicas tiveram que ter um tempo determinado ? Pode nos explicar como você faz para o programa tocar e sincronizar um som de Audio CD enquanto o jogo é executado ?

Adriano: As músicas não tem tempo determinado. O limite ficou por conta do número de músicas e o tempo de áudio do mini-CD. Para evitar ao máximo as pausas entre o fim de cada música e seu recomeço, elas foram gravadas em loop em cada faixa o maior número de vezes. A parte de sincronia ficou 90% por conta do jogo original: o “jukebox” da Konami tem comandos para iniciar uma música contínua, parar a música, tocar uma música até o fim, etc. Depois do trabalho de descobrir os comandos, bastou adaptar o player de CD de áudio para isso.

MSX HISTÓRIA:
 Como você fez para manter a compatibilidade entre os diversos modelos de MSX ?

Adriano: O jogo original roda em MSX1, então não há grandes problemas. Com a inserção do player em CD, bastou tomar os cuidados de verificar as configurações mínimas necessárias no carregador do jogo.

MSX HISTÓRIA:  Já tinhamos o Knightmare SCC, agora temos o Knightmare CD, que é notadamente superior. Para quem tem o chip SCC da Konami, separado, em cartucho, pode jogar o Knightmare CD ouvindo o som também do SCC ? Caso não seja possível, haveria planos para uma versão Knightmare SCC/CD ?

Adriano: Eu fiz um Knightmare SCC/CD, mas nunca lancei. O motivo é simples: na versão SCC só mudaram as músicas, que é justamente o que mudou na versão CD. Ou seja, o Knightmare SCC/CD tem exatamente o mesmo som do Knightmare CD. Por este motivo não lancei esta versão, mas soltei um trabalho paralelo: em Jaú 2004 quem comprou o Knightmare CD recebeu, de brinde, uma versão do Knightmare SCC que funciona sem MegaRAM ou Mapper, em um simples MSX1 com 64K de RAM.

MSX HISTÓRIA:  Há planos para o desenvolvimento de novas versões de jogos com músicas em CD ? Por exemplo, Goonies, Parodius, Gradius....?

Adriano: Vontade há, mas falta músico. :) Infelizmente um Parn só é pouco para tantos bons jogos que merecem versões com músicas em CD.

MSX HISTÓRIA:  Há planos de um remake visual do Knightmare para micros MSX2 ou 2+ ?

Adriano: Quem sabe? :) [nota do editor: esta entrevista foi feita antes do release público do Knightmare Gold]

MSX HISTÓRIA:  O que o usuário de MSX precisa ter em hardware para rodar esta versão ?

Adriano: Um MSX2 ou superior, MSXDOS2, interface IDE, CDROM e caixas de som ligadas à saída do CDROM (de preferência, em mixer com a saída de áudio do MSX).

O Knightmare CD só pode ser adquirido para quem for no evento anual MSX de Jaú, que é realizado na cidade de mesmo nome, no interior do estado de São Paulo, Brasil, regularmente no mês de novembro uma vez por ano.

OBS: o Knigthmare não está à venda em todo encontro de Jaú. Neste ano não tem. Foi edição limitada, vendida em dois encontros apenas. Quem comprou, comprou. Quem não comprou não compra mais.

OBS 2: com o KMG o Knightmare CD “morreu”. Uma vez que o KMG engloba o diferencial do Knightmare CD, este não faz mais sentido. Questões do KMG de onde, quando e quanto, ver com o Daniel Caetano. :P

 

MSX HISTÓRIA:  Vamos falar um pouco sobre o execROM. Para quem não o conhece, pode descrever o que ele é capaz de fazer ?

Adriano: Resumidamente: o ExecROM permite rodar jogos MegaROM na MegaRAM, com duas vantagens: ele carrega diretamente os arquivos .ROM encontrados na rede e possui várias opções, como palheta de cores, uso dos Game Masters, patchfiles, etc.

MSX HISTÓRIA:  Ok, e o que o execROM não faz ?

Adriano: O ExecROM não roda jogos MegaROM na mapper ou sem MegaRAM, nem roda milagrosamente MegaROMs com mapeadores estranhos.

MSX HISTÓRIA:  Quando surgiu a idéia de escrevê-lo e porquê ?

Adriano: A idéia surgiu em 1996 na MSXBR-L, e por um motivo simples: a existência de cópias ruins, corrompidas, modificadas, com carregadores mal-feitos ou mesmo inexistentes de jogos MegaROM. Veja que é muito mais fácil encontrar jogos em formato .ROM na rede do que em formato .BIN, tão comuns na época comercial do MSX no Brasil.

MSX HISTÓRIA:  Alguém o ajudou durante o desenvolvimento ou mesmo com idéias ?

Adriano: Muitas pessoas ajudaram, em especial o Giovanni Nunes, o Fábio Ricardo Schmidlin e o Daniel Caetano.

MSX HISTÓRIA:  Quais são as características principais do execROM ?

Adriano:  As características principais do ExecROM são:
- O ExecROM executa qualquer tipo de arquivo ROM, seja ele normal ou MegaROM, com pagimento de 8k ou 16k.
- O carregamento e execucao do arquivo ROM e' totalmente automatico, dispensando o usuario de fornecer dados sobre o seu MSX e sua configuracao.
- A identificacao dos arquivos MegaROM e' automatica, nao necessitando de nenhuma especificacao do usuario. Ainda assim, e' possivel forcar um mapeamento especifico, nos mesmos moldes do emulador fMSX, nao o obrigando a decorar novamente os tipos de mapeadores de MegaROMs.
- Permite a utilizacao dos Game Masters da Konami em sua totalidade se voce possuir uma MegaRAM, no caso do Game Master I, ou no minimo 128k de Memory Mapper no caso do Game Master II.
- Permite a utilizacao de "patches" de vidas infinitas, imunidade, etc, nos jogos .ROM. Assim voce nao perde suas dicas e macetes para jogos.
- Permite a utilizacao de arquivo de "patches" para modificacoes mais elaboradas em arquivos ROM de jogos ou mesmo de aplicativos.
- Permite o carregamento de arquivos ROM que contenham programas residentes, nao sendo apenas mais um "carregador de jogos".
- Pode enganar os programas e jogos ROM, fazendo-os identificar seu MSX como uma maquina japonesa ou nao. Assim voce podera' ver telas e fases secretas de certos jogos que voce^ tanto queria, ver em ingles os programas que so' se apresentavam em japones no seu Turbo-R ou mesmo ver em japones os programas que so se apresentam em ingles no seu MSX.
- Os jogos de MSX1 executados em MSX2 ou superior em modo "CoolColors", exclusivo do ExecROM, ganham um visual incrivel, tornando-os ainda mais bonitos e divertidos.
- Suporte ao MSXDOS1 e MSXDOS2, sendo que neste ultimo possibilita o uso de subdiretorios, HD, ZIP drive, CDROM ou qualquer outro periferico.
- Suporte a cartuchos ROM BASIC. Voce^ pode executar copias ROM de cartuchos BASIC originais como qualquer outro arquivo ROM. Voce^ nao precisa converter o conteudo do arquivo ROM para um programa BASIC para executa-lo.
- Suporte a SCC para todos os jogos da Konami. Mesmo que voce^ nao tenha um cartucho SCC em 'piggyback' com sua MegaRAM voce^ pode executar jogos da Konami com musica SCC completa.


MSX HISTÓRIA:  O execROM melhora a cor do jogos ? De todos ou somente alguns ?

Adriano: Se sua maquina e' MSX2 ou superior, o ExecROM seta automaticamente a paleta do MSX1 para o modo CoolColors, dando um visual incrivel a jogos. E isso vale para todos os jogos. A palheta "CoolColors" e sua ideia de inclusao no ExecROM e' de autoria do Fabio Ricardo Schmidlin.

MSX HISTÓRIA:  O que são os arquivos de patch que o execROM suporta ?

Adriano: O arquivo de "patch" contem uma serie de modificacoes para um arquivo ROM e elas podem ter varios motivos. Adaptacao do ROM, mudanca de opcoes, etc. Para jogos, o mais comum sao modificacoes para vidas infinitas, imunidade, etc.

MSX HISTÓRIA:  De onde surgiu a idéia de criar os arquivos de patch ?

Adriano: A idéia foi do Werner Kai, e a motivação foi não perder os famosos e comuns "pokes" de vidas infinitas, imunidade, etc, nos jogos .ROM, que tanto fizeram sucesso nas versões .BIN.

MSX HISTÓRIA:  O execROM poderia fazer uso de duas MegaRAMs de 256kb para
rodar Metal Gear 2 ?

Adriano: Infelizmente, não. Este é um trabalho complexo e que praticamente só se justifica para 1 jogo: o Metal Gear 2. Por isso é melhor usar a versão mapper ou mesmo fazer uma versão especial de MegaRAM que suporte duas MegaRAMs de 256kB. Mas, sinceramente, como MegaRAM não é algo fácil de encontrar, acho difícil alguem ter duas. :)

MSX HISTÓRIA:  Como é possível fazer o execROM simular o som SCC de um cartucho original Konami ? Existem várias maneiras ? Qual seria a mais correta ?

Adriano: Na verdade o ExecROM não simula o som SCC. Se houver SCC no sistema e o MegaROM for um da Konami com suporte a SCC, o MegaROM é alterado pelo ExecROM para fazer uso do SCC, através de rotinas especialmente desenvolvidas para isso.

MSX HISTÓRIA:  Particularmente acho o execROM excelente e cumpre com sua principal característica que é a de executar arquivos no formato .ROM.Um “execDSK” estaria em seus planos futuros de desenvolvimento ?

Adriano: Sim, está, mas é algo bem mais complexo, e um tanto diferente, do ExecROM.

MSX HISTÓRIA:  Quais as particularidades e dificuldades de desenvolvimento de um software para execução de arquivos DSK ?

Adriano: São várias. Mas, para resumir, basta lembrar que um jogo ROM/MegaROM é, até certo ponto, bem comportado: existe uma área ROM e uma área RAM. Já um DSK pode ter qualquer coisa, desde um programa bem-comportado até um SO ou um utilitário que acessa todos os periféricos diretamente pelo hardware, chaveia slots e usa toda a RAM.
 

MSX HISTÓRIA:  Adriano, falando um pouco sobre UZIX, para quem não o conhece, o que é e o que não é ?

Adriano: O que ele é:
Uma implementação de UNIX para MSX, baseado no UZI escrito por Douglas Braun. O UZIX implementa quase todas as funcionalidades da 7ª Edição do UNIX da AT&T.

O que ele não é:
1) uma maneira de transformar seu MSX em um P4 3GHz com Debian GNU/Linux.
2) ele não é um fazedor de milagres.
3) ele não é Linux.

MSX HISTÓRIA:  O que o UZIX é capaz de fazer ?

Adriano: Rodar vários programas (interativos ou não) ao mesmo tempo, manter vários usuários, acessar a Internet, a WWW, IRC, FTP e e-mail, entre outras coisas.

MSX HISTÓRIA:  E o que não é possível (ainda) de ser feito ?

Adriano: Várias coisas, comuns aos sistemas UNIX de hoje, mantendo, claro, as devidas restrições que o hardware do MSX impõe.

MSX HISTÓRIA:  Como foi que surgiu a idéia de fazê-lo ?

Adriano: O motivador foram as discussões sobre o MsxOS na MSXBR-L em 1996/1997. O MsxOS foi discutido como alternativa ao MSXDOS para superar as limitações desse. Como o MsxOS nunca saiu do papel (ou do e-mail, como queira), eu decidi trabalhar nisso por conta própria, e daí saiu o UZIX.

MSX HISTÓRIA:  Como foi fazer este trabalho ?

Adriano: Foi trabalhoso, mas muito proveitoso: o que aprendi nessa empreitada uso até hoje, profissionalmente.

MSX HISTÓRIA:  Quanto tempo levou ?

Adriano: Foram 2 anos até ter um kernel, biblioteca e aplicações bons o suficiente para lançar uma versão pública.

MSX HISTÓRIA:  Quais as maiores dificuldades enfrentadas ?

Adriano: A própria complexidade de se escrever um SO UNIX para uma máquina 8 bits, com as restrições de hardware que o MSX tem, já é a maior delas. Mas some-se a isso questões de debugging de vários processos em execução, de kernel, bugs de compiladores e mais um monte de outras coisas.

MSX HISTÓRIA:  É possível rodar UZIX em um MSX1 ? Qual seria a configuração ideal ?

Adriano: Sim, é. Eu criei uma versão do UZIX para MSX1 com MegaRAM. Basta um MSX1 com disk-drive e MegaRAM 128KB.

MSX HISTÓRIA:  Podemos ter dois monitores conectados ao MSX através do UZIX ?

Adriano: Sim. O UZIX é o único SO para MSX que permite dual-head: dois monitores independentes ligados no mesmo MSX.

MSX HISTÓRIA:  Você usa somente UZIX no seu MSX ou usa também MSX-DOS ?

Adriano: Também uso MSXDOS. Afinal, 99,99% das aplicações para MSX são não-UZIX, e como desenvolvedor de software para MSX, também desenvolvo (e nem poderia ser diferente) aplicações para MSX-DOS.

MSX HISTÓRIA:  Quais as principais vantagens do UZIX frente ao MSX-DOS ?

Adriano: Rodar vários programas (interativos ou não) ao mesmo tempo, ter vários usuários, acessar a Internet, a WWW, IRC, FTP e e-mail são as principais. Com o MSXDOS e o INS do Nestor Soriano é possível ter FTP, IRC e e-mail (ainda em beta), mas até agora só o UZIX permite ao usuário acesso à WWW.

MSX HISTÓRIA:  Podemos rodar programas feitos para MSX-DOS no UZIX ? Caso não seja possível, há algum planejamento futuro de que isto se torne realidade ?

Adriano: Dentro de certos limites, você pode rodar programas MSX-DOS no UZIX utilizando o MSXDOSemu. Programas CP/M como o Multiplan, PMARC e BASIC-80 rodam perfeitamente. Já utilitários de acesso direto podem dar problemas: alguns rodam, outros não. O MSXDOSemu foi feito de brincadeira, e não tenho planos imediatos de melhorá-lo por um motivo simples: se você precisa de MSXDOS, é melhor, mais rápido, confiável e fácil rodá-lo que emulá-lo.

MSX HISTÓRIA:  Podemos rodar os arquivos .ROM no UZIX ? Caso não seja possível, uma versão “execROM for UZIX” está em seus planos ?

Adriano: Sim, é possível rodar o ExecROM com o MSXDOSemu no UZIX. Mas uma versão do ExecROM para o UZIX não está nos meus planos, pois o público do ExecROM e do UZIX são diferentes, e este não é um software crítico.

MSX HISTÓRIA:  E quanto aos arquivos DSK e arquivos .BAS, .BIN ?

Adriano: Também não é possível rodar ou carregar arquivos .BAS ou .BIN no UZIX. Mas a manipulação de arquivos DSK é possível no UZIX sim, usando os programas DOSDIR, DOSREAD e DOSWRITE, como se faz normalmente com disquetes MSXDOS.

MSX HISTÓRIA:  Assumindo que o MSX tenha o hardware necessário para interligação em rede, com o UZIX é possível que esta característica seja real ?

Adriano: Sim. Já demonstrei em encontros de MSX o meu Turbo-R conectado à Internet através de modem serial, modem wireless (celular) e mesmo ethernet.

MSX HISTÓRIA:  Uma interface gráfica no MSX, seria mais fácil de ser feita sob o UZIX ou sob o MSX-DOS ?

Adriano: Mais fácil ela seria em MSXDOS. Mas ela não seria uma interface gráfica, e sim uma simples shell gráfica, como é o MSX Windows 98. Já sob UZIX é possível fazer uma interface gráfica, como eu já demonstrei com o X-Wind, disponível no site do UZIX.

MSX HISTÓRIA:  Para quem não conhece o UZIX, onde pode encontrá-lo, e qual documentação você sugere para quem quer aprender a usá-lo ?

Adriano: O UZIX é encontrado no site http://uzix.sf.net. A documentação que eu recomendo é o site do UZIX, o MSX Top Secret II do Edison Pires e o help do RuMSX, que contém um resumo dos comandos da shell padrão (SASH) do UZIX.


MSX HISTÓRIA:  Adriano, agradeço sua cortesia e gentileza por conceder esta entrevista, existe a certeza de que será esclarecedora para vários usuários MSX. Espero poder conversar mais em um futuro próximo.

Adriano: Eu quem agradeço a oportunidade, e estou à disposição para conversarmos. Aproveito a oportunidade para parabenizá-lo pelo site MSX História e desejar-lhe ainda mais sucesso.

Para quem não conhece os softwares exclusivos para a linha de computadores MSX, criados pelo Adriano, visite-o em http://www.alsoftware.com.br/adrianpage/index.php?page=msxpage , lá você encontra informações detalhadas sobre como obter os softwares e visitar o portal do Adriano exclusivo sobre MSX, na Internet.