The best bang-for-your-buck CD/MP3 Player on the market today is the RioVolt SP-90. The SP-90 is the second to lowest (used to be the lowest until the RioVolt SP-50) end model. Its feature set is crippled (but not so far as to make it annoying to use), it lacks the SP-100's backlight, it ships without a remote or carrying case, it is colored blue instead of silver, and its firmware cannot be flashed. Because of these ommissions, SonicBlue feels secure in selling it for $20 less than the list price of the SP-100.
The error in this is that the SP-90 is, in fact, a blue SP-100 with the backlight circuit removed. The only other changes are the absence of bundled goodies and the limited software. SonicBlue would like you to believe that the latter is a big deal; a big enough deal to spend extra money on an SP-100 or SP-250. This is bullshit for two reasons. The first is that since SonicBlue spent most of 2001 flooding the market in blister-packed SP-90 to sell everywhere that portable electronics are sold, a new SP-90 can be found for as little as $50 in online stores, and as little as $19.95 on eBay. The second is that despite SonicBlue's marketing claims, the SP-90 CAN have its firmware flashed.
Most of the RioVolt line is a rebadged version of the iRiver IMP series of CD/MP3 players. The SP-100 and the IMP-100 are the exact same device. The SP-250 and IMP-250 are also the same. There is, however, no IMP-90 to equivocate with the SP-90. The reasoning behind this: the SP-90 is the same as the SP-100. The SP-100 is the same as the IMP-100. Which means the SP-90 should take IMP-100 firmware, right? Sorta...
When the SP-90 boots, it looks for a CD containing a file SP-90.HEX. If it finds it, it overwrites its flash rom with the contents of this file. However, if you just rename an SP-100 or IMP-100 firmware dump to SP-90, it won't take it because the headers don't match. Fortunately, the header is obscenely easy to modify: just open an SP-100.HEX or IMP-100.HEX firmware file (obtained at riovolt.com or iriver.com) in any hex editor, and you will see the first 7 characters spelling out IMP-100. Change it to SP-90 with a couple of null characters to pad it out to 7 characters, save it, burn it to a CD, and start the SP-90 with the CD in the drive.
The SP-90 will boot, display "up grade..." for a few minutes, and turn off. Take out the CD, and when you turn it back on, it should show the new firmware revision. You now own a blue SP-100 without a backlight.
The RioVolt firmware revisions are numbered differently from the iRiver ones. The RioVolt SP-100 firmware v.2.10 is about equal to iRiver 1.83 firmware, and the current firmware revision on the iRiver side as of this writing is 2.10, which is unequaled by SonicBlue's offerings.