Das geht ja dann schon in die Mircocontroller Programmierung.
Wie du an die Firmware kommst.... naja mit einem Programmer auslesen.
Wichtig ist zu wissen, welcher Mircocontroller in deinem MP3 Player steckt.
Ich Programmiere Microcontroller von ATMEL die in C, C++, Pascal, Basic (BASCOM) oder Assembler geschieben werden. Eigendlich ist es egal in welcher Sprache. Die werden dann sowieso kompiliert in Maschinenprache.
Am besten soll Assembler sein, da es Taktgenauer sein soll.
So genau weiss ich es aber auch nicht, da ich BASCOM benutze was BASIC sehr nahe ist. Da ist es schwieriger Taktgenau zu schreiben.
Aber eine ausgelesene Firmware lässt sich nicht so einfach umschreiben oder so. Da müsstest du dir schon den Quellcode besorgen. Wenn du den hast kannst du dir die Firmware selber anpassen. Allerdings kann die in C, Pascal...... geschrieben sein. Wenn du die Sprachen alle kannst oder du nur C kannst und die Firmware dann in C ist, hast du Glück

Ansonsten lernen....
Aber wenn du weisst welcher Microcontroller drinsteckt könntest du mit den passenden Programmer und der Programmiersprache eine eigene Firmware erstellen.
Aber....
Jetzt muss du dir mal die Platine anschauen. Einige MP3 Player haben noch zusätzlich Speicherbausteine, LCD Controller oder MP3-Encoder-Bausteine die du ansteuern musst. Dazu musst du wissen welche Bausteine es sind und die die Datenblätter anschauen. Das ist schon sehr schwer da durch zu steigen.
Jeder MP3 Player ist anders.
Ich denke es ist schon einfacher dich mal mit Microcontoller auseinander zu setzen und die dann einen selber bauen. Das ist leichter...
Ein TIPP ist
http://www.roboternetz.de/
Mit dem ATMEGA gibt es viele Beispiele und Programmschnipsel. Auch MP3 Libs und so.
Ich kann die da auch etwas helfen.
Gruß
ps ich hoffe ich habe die jetzt nicht alles verdorben....