This project was
started August 2006, the final version was handed over to Sunrise for MSX after a few months. The
cartridge contains a hardware MP3 decoder, the VS101 which actually does the
decoding. The MSX sends the raw MP3 data to the cartridge, inside the cart is a
buffer of 8k where data is temporary stored. This buffering is done by an
AtMega644 microcontroller, usually i prefer microchip but this device is
choosen since it really does 20 million instructions per socond. This speed is
used to capture the data from the MSX, at the moment the MSX sends a byte the
AtMega receives an interrupt to capture that byte. With 20MIPS it is fast
enough to perform 20 instrucions before the MSX considers removing the data
from the databus again. Unfortunately it turns out that the AtMega sometimes
looses its data or suffers from start-up issues, this is seen in another
project coversity as well.
The player
contains an ‘audiochip’ (TDA8425) to adjust bass, treble, balance and some effects
like spatial stereo. It is internally controlled by I2C, the MSX has access to
an I2C interface chip (PCA9564D).
Most of the
registers are directly addressed to the AtMega controller, the AtMega act as an
interface to the MP3 decoder for 90%, a few registers are for the AtMega
itself. here is a description about the registers
and some example code.
The latest
firmware is available here... Also from 2007 J
Finally there is
some example software and a diagnose
tool. This could be copied to a floppy, CF card or harddisk on your MSX. It is
supported by very nice software from Prodatron, check his home made operating
system at http://www.symbos.de.
From prototype to
final version at Sunrise: