HispaMSX

Fw: Proposta aos desenvolvedores de hardware: Super MSX-Audio

2007-11-07 18:45:50
Hola, hay uno hardware developer disponible a aydar
nuestro amigo FRS en su proyecto?


--- FRS <frs(_en_)pop(_punto_)com(_punto_)br> ha scritto:

Amigos msxzeiros,

Lí várias vezes aqui na lista que há desenvolvedores
de hardware que
não estão criando novos produtos por falta do BIOS
ou software.
Proponho então uma parceria:

Vocês devem conhecer o cartucho OPL3 do Leonard:
http://www.msxpro.com/opl3.html

Existe a possibilidade de transformar este cartucho
em um Super
MSX-Audio. Mas para isso vou precisar da parceria de
alguém
***experiente*** em hardware. Certamente precisará
de experiência com
algum tipo de microcontrolador (PIC,
microcontrolador, DSP ou o que a
pessoa achar mais adequado, como FPGA).

Mas afinal o que é um MSX-Audio? Para quem não sabe,
o MSX-Audio é o
verdadeiro padrão de expansão musical do MSX. O
MSX-Music (tb
conhecido por FM-PAC) é uma gambiarra da Panasonic,
onde ela
simplesmente trocou o Y8950 (OPL1+ADPCM) pelo mais
barato YM2413 e fez
uma porcalhada na ROM pra suportar este soundchip,
inclusive
arrancando fora as funções do BIOS e deixando
somente a parte do BASIC
na ROM.

Ou seja, o MSX-Music é um subset malfeito e
incompatível do MSX-Audio,
só pra joguinhos e BASIC.

Mas é possível reverter essa situação de forma muito
elegante e de
quebra ter um cartucho com uma excelente qualidade
musical.

O OPL3 (sim, aquele que se encontra em qualquer
soundblaster pro2/16
genérica) é um FM compatível com o OPL1 usado no
MSX-Audio. Mas
infelizmente o OPL3 não possui o módulo de ADPCM
(samples) que o Y8950
possuía.

E o que seria um Super MSX-Audio? Basicamente é o
sonho musical dos
MSXzeiros.  :)

1) 100% compatível com o padrão MSX-Audio
2) 100% compatível com o padrão MSX-Music (FM-PAC)
3) 100% compatível com o Philips Music Module
(exceto MIDI). Ou seja,
os jogos/demos europeus funcionarão com ele.
Inclusive os jogos que
usam o Music Module e o FM-PAC em stereo.
4) 50% compatível com a Moonsound (apenas
jogos/progs que usem apenas
a parte FM da Moonsound).
5) Stereo nativo!!!
6) Soundchip FM de 16bits/44.1KHz, com um som muito
mais cristalino
que os cartuchos atuais do MSX. O FM-PAC é
6bits/16KHz, se não me
engano.
7) Como o OPL3 é muito mais rápido os jogos podem
ser usados com turbo
sem problema algum do processador "atropelar" o chip
FM. Dá pra jogar
Aleste sem slowdowns.    :)
8) Dá pra redefinir os instrumentos do MSX-Music.
Seria algo muito
similar ao que ocorreu na mudança de VDP do MSX1
para o MSX2. Antes as
cores eram fixas, depois passaram a ser paletadas.
Isso permitiu a
criação do CoolColors, que é usado no ExecROM pra
melhorar as cores
dos jogos de MSX quando rodados no MSX2. De forma
similar, seria
possível criar um Cool-Instuments.
9) MP3 player? Bastaria usar a CPU ATMEL do MSX-MP3
Player (

http://www.msx.org/MP3-cartridge-for-MSX.newspost4183.html
). Já
existe software para ele e é inclusive suportado
pelo Symbos. Vide
"Obs:" no final.

Opcionalmente:
1) Interface MIDI compatível com a do A1GT. (Sim, o
BIOS do MSX-Audio
suporta MIDI nativamente)
2) O PCM do Turbo-R


Basicamente será necessário que o desenvolvedor de
hardware implemente
as seguintes funções:

1) Módulo ADPCM. Encontrei este artigo que ensina a
fazer um ADPCM
player/recorder usando uma PIC:

http://www.circuitcellar.com/library/print/0999/richey110/index.htm
Só não sei se é a melhor opção, alguém saberia
implementar isso de uma
maneira melhor?

2) Tradução dos comandos do YM2413 para os do OPL3.
Eu tenho o código
prontinho em C, que demonstrei em Jaú 2001. Basta
usar o meu
algoritmo. Pra quem não viu (ouviu) vale a pena
destacar que não é
emulação: é tradução direta dos comandos.

3) Um mixer similar ao da SoundBlaster-16, que
permite ajustar o
volume de acordo com cada fonte de som.

4) Incluir na placa os opcionais acima listados,
caso sejam desejados

5) Colocar a ROM no cartucho, que atualmente não a
possui.

Obs: Creio que um desenvolvedor experiente
conseguiria fazer a
implementação do ADPCM usando a CPU ATMEL do MSX-MP3
player. De
quebra, essa CPU poderia ser usada para outras 
funções divertidas,
como emular PSG+SCC. O BIOS não teria como suportar
o SCC, mas isso
criaria um cartucho
stereo-com-todos-os-chips-em-um-lugar, livre de
todos os ruídos das mobos de MSX, e com a vantagem
do mixer controlado
por software. Nada mais de volume desregulado entre
SCC, PSG e FM.
Antes de carregar o jogo roda-se um programinha que
seta o mixer para
os valores ótimos daquele jogo.

O cartucho tem tudo para ser muito mais barato que
uma Moonsound, pois
vai conter apenas:
1) OPL3 reciclado de Soundblaster
2) CPU ATMEL (se essa for a melhor opção) e os
outros componentes do
MSX-MP3 player.
3) EPROM ou Flash
4) RAM para a CPU ATMEL. Suponho que dê pra usar
pentes de RAM de PC.

A parceria é esta: Alguém desenvolve o hardware e eu
cuidarei do BIOS
do cartucho.

Então pergunto. É possível fazer um hardware assim?

Abraços,
FRS



[ ] Alexandre 

...The world is full of kings and queens
Who blind your eyes and steal your dreams
It’s heaven and hell...


      ___________________________________ 
L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail: 
http://it.docs.yahoo.com/nowyoucan.html

<Anterior en la conversación] Conversación actual [Siguiente en la conversación>
  • Fw: Proposta aos desenvolvedores de hardware: Super MSX-Audio, Alexandre Antoniutti Passos <=