ok so im getting better at programming, i managed to write a register level code to control an lcd and it works well. My next challenge is to write a register level code to read data from an sd card, learn about the structure of jpeg and mp3 files, and build an mp3 player using an atmega micro-controller which im pretty good at programming, the mp3 player will have a basic user interface i will write the code for and display the song name on a small lcd and options, however im looking for a suitable digital to analogue converter chip i can easily build into the circuit so it either needs to be sold as a project board or in a dil package and i want this chip to take 8 or 16 bit digital data to produce an audio output, i know i could use the analogue output from the atmega but i thought perhaps using an ic to do this designed for the purpose might be a better choice for first mp3 player. I know i will still need to learn about the details of an mp3 file and i look forward to this. Any thoughts on this? what chips would you recommend. Also i wish to understand jpeg and using a tft display thats already connected to a graphics controller, i wish to read jpeg files from an st card process the data such as shrink the picture data to the size required to fit the display then bus it to the display. I will use a nand flash memory for storing the data temporarily as i process it of course. Any input on this is welcome any advice on going about doing this.