MP3 player for MSX

 

 

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: