quinta-feira, 14 de dezembro de 2006

Proposta para DOIS arquivos de som

Quando o pessoal quer ouvir músicas do NES, pensa logo no NSF. As músicas do SNES são gravadas em arquivos SPC (que tem esse nome por causa do SPC 700, o chip de som do Super, desenvolvido pela Sony por um engenheiro chamado Ken Kutaragi). Já o pessoal do Master System e do Mega Drive não tem do que reclamar pois possuem um formato excelente para guardar as músicas dos seus jogos favoritos nessas plataformas: o formato VGM.

Mas, e o MSX?

Há um "formato" de arquivo conhecido: um tal de FM, que nada mais é do que o código BASIC que toca a música. É legal e tudo, mas meio complicado de tocar fora de um MSX Real (ou emulado). Você precisaria de um emulador rodando perfeitamente a parte sonora, ou seja, que rode todos os chips de som do MSX. Além disso ele precisa interpretar o código BASIC e executá-lo.
Não percebi nenhum arquivo de "DUMP" de som no MSX. Dump é um tipo de arquivo de som muito comum. O formato VGM funciona dessa maneira, bem como os formatos mais antigos como GYM e CYM também. O processo é o seguinte: cada comando enviado para o chip (ou chips) de som é gravado num arquivo, como se fosse um log ou (duh) um dump. Quando o arquivo for tocado basta pegar esses comandos e enviar para o chip de som. É relativamente simples.
Como estou trabalhando num AY Player para MSX (mais notícias em breve) achei interessante criar uma versão do formato AY para MSX. Explico: o formato AY foi feito para várias plataformas de hardware, mais notadamente Spectrum e Amstrad. E o formato AY não é apenas um Dump do que foi enviado para o AY-3-8910, mas um programa Z80 completo.
A idéia inicial para o player era tocar os arquivos AY diretamente. Mas, para fazer isso, eles precisam ser adaptados para o MSX. Em princípio essa adaptação será feita "na unha" e ficará no formato AYX. O próximo passo (quando esse estiver OK) é que a adaptação seja feita usando um algoritmo que modifique o programa Z80 dentro do arquivo AY. E o passo "final" será fazer tudo isso dentro do MSX mesmo, guardando uma versão "convertida" do arquivo em RAM (ou MegaRAM(R) ou Mapper). Mas isso será o último passo, o derradeiro.
Além desse trabalhão todo para o AY Player, percebi que não é muito comum na comunidade fudeba o hábito de ouvir os sons dos jogos da mesma forma que o pessoal do SNES ou do Mega. Resolvi criar então um formato de "dump", nos moldes do VGM, mas que suporte os chips de som do MSX. Trata-se do MSM (Msx Sound and Music) . Vou esboçar os detalhes aqui no blog.
Em síntese, seria um arquivo com suporte para múltiplos chips de som e que pudesse ser tocado no Winamp ou num MSX real sem maiores traumas.

Nenhum comentário: