segunda-feira, 25 de dezembro de 2006

Feliz Natal

e novidades em breve!

Adendo: cheguei a pegar o código-fonte do in_vgm, mas ele estava incompleto. Falei com o responsável pelo código (Maxim) e descobri três coisas:
1) Eles criaram um projeto no sourceforge.net relativo a este plugin, entre outros tools para os arquivos VGM.
2) O código lá está numa versão "beta", a 0.35
3) Essa versão já suporta o que eu queria implementar, para "brincar", o suporte a habilitar / desabilitar os canais do YM2612 (chip de som do Mega Drive)

Logo, vou voltar ao formato MSM. Vou aproveitar esses dias sem "compromissos" para tocar o pau.

sexta-feira, 22 de dezembro de 2006

Maldito FMA

Por causa do anime "Fullmetal Alchemist" fiquei quase 5 dias afastado do MP (MSM Player). Só hoje volto com ele. Mas primeiro vou exercitar um pouco de programação fazendo um "hack" no IN_VGM, um plugin para o Winamp que toca arquivos no formato VGM e VGZ, que são "dumps" do Master System e do Mega Drive.
Quando eu terminar esta parte começo a brincar com Pascal e com o formato MP. Acho que antes do natal vou ter alguma coisa. Vou passar primeiro para um amigo meu (o Slotman) para testar esse sistema. Se der certo, aí sim dá para postar algo.

domingo, 17 de dezembro de 2006

Big In Japan

Peguei mais um AY do Spectrum e converti para MSX. O formato MSM ainda não está pronto, mas foi uma ótima prova de conceito.
Faça o download neste endereço:
http://robsonfranca.eti.br/msx/bttf2.dsk

Grave esse arquivo num disquete ou abra no seu emulador favorito que tenha suporte às imagens geradas pelo WinImage.

Carregue o programa P3.BAS e execute.
Vou agora dar uma volta e depois estudar mais a fundo o MSX Pad para fazer uma versão desse programa em PASCAL.

Adendo: como vai ser o arquivo MSM
Provavelmente vai ser assim:

HEADER "MSM " ; eme-esse-eme-espaço
CHIPS db xx ; por enquanto vai valer 1: AY-3-891x
ST_ADDR dw xx ; endereço inicial
INT_ADDR dw xx ; endereço da interrupção
NUM_BYTES dw xx ; tamanho (em bytes)
OFFSET_DATA dw xx ; onde começa a parte com dados

E vai ter um M-ID, na linha dos IDx dos MP3s, com 256 bytes:
HEADER "MID1"
NOM_ART strnz; nome do artista
NOM_JOG strnz; nome do jogo
NOM_MUS strnz; nome da musica
NOM_FER strnz; ferramenta usada
NOM_RIP strnz; nome do "ripador"
ANO_JOG dw xxx; ano do jogo
ANO_RIP dw xxx; ano do rip

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.

terça-feira, 12 de dezembro de 2006

O que é fudebits?

Fudebits é um blog com o singelo objetivo de falar sobre todas as "fudebices" deste que vos datilografa. Experiências, notícias, idéias malucas (outras nem tanto). Enfim, tudo que acontece no universo fudeba e tudo que estou fazendo dentro desse universo.
Se você não sabe o que é fudeba entre no site MSXPró, na parte de links ou clique aqui