If you have a Prop-1/uMP3 app that wants to control a lot of files, one way to conserve [precious] code space in the Prop-1 is to create copies of your files on the uMP3 in a very generic, numbered format. Instead of:
wolf.mp3
lightning.mp3
scream.mp3
door_creaking.mp3
... you could use copies of those files -- in that order -- that are:
sfx0.mp3
sfx1.mp3
sfx2.mp3
sfx3.mp3
Now, the subroutine called "Play_MP3" is reduced to one operational line of code -- a SEROUT statement. I realize this is not as user-friendly as the other code, but it's a workable solution when you have a sophisticated program that wants to work with lots of files on the uMP3. Storing [friendly] file names in EEPROM statements consumes a lot of valuable programming space -- this solution removes the EEPROM statements (as well as the code to read the file names from them), resulting in a lot of available program space.
' Put file # to play in "theMP3"
' -- files on uMP3 are named "SFX0.MP3" to "SFX255.MP3"
Play_MP3:
SEROUT TX, Baud, ("PC F /SFX", #theMP3, ".MP3", 13)
RETURN
Note 1: As with DOS, capitalization of names doesn't matter: sfx0.mp3 is the same as SFX0.MP3.
Note 2: The numeric formatter (#) in the Prop-1 uses only the required number of digits, so SFX0.MP3 is NOT the same as SFX000.MP3 -- be sure that you don't pad the numeric section of the filename unnecessarily.