domingo, 9 de novembro de 2014

Fiz um negócio bacana para quem gosta de chiptune. Tem um monte de músicas da época que foram escritas em FM Basic de MSX, mas para ouvi-las tem todo o overhead de ligar um emulador, carregar a música e tal.
Então eu fiz um conversor que transforma a música de FM Basic para o formato VGM, que é o formato padrão para chiptune hoje em dia, e qualquer player toca.
A parta bacana é COMO eu fiz isso. Converter diretament FM Basic seria um trabalho do cão, porque a mml que o comando PLAY usa é absurdamente complexa. Por isso, o que eu fiz foi usar metaprogramação MSX:


O openmsx tem a opção de aceitar scripts tcl, você pode configurar para, por exemplo, toda vez que bater em um breakpoint pegar o conteúdo do registro A e jogar num arquivo. Colocando os breakpoints no lugar correto, eu consegui fazer o conversor inteiro em apenas 83 linhas de tcl 

Nenhum comentário:

Postar um comentário