Shop OBEX P1 Docs P2 Docs Learn Events
Music Player - Feasibility ? — Parallax Forums

Music Player - Feasibility ?

hippyhippy Posts: 1,981
edited 2008-03-18 15:38 in Propeller 1
A question of feasibility and complexity before I invest too much time or effort ...

320GB IDE HDD + Propeller + PWM R-C DAC, Playing .WAV files

I currently have a $10 PC motherboard plus soundcard hooked up to play MP3's but want to replace that with something more 'embedded' - smaller, quieter, lower power, little cost outlay.

I can forego playing MP3 and use WAV as that would still allow 300+ albums to be stored, so this would really be a super-sized version of Rayman's SD Card WAV Player. Long filenames can be used to contain the necessary track ID Tag info set by a PC utility program copying files to the HDD, and/or 8-dot-3 files can be used with that info put into an index file.

Central to this would seem to be some sort of DOS ( preferable a Windows PC compatible file system ); anyone have an idea of how complicated that would be and what sort of development timescale would be involved ?

Comments

  • Mike GreenMike Green Posts: 23,101
    edited 2008-03-18 13:30
    You could use Rokicki's SD card FAT file system as a starting point and just substitute the low level read/write drivers you'd need for your drive. A FAT file system would be the same on a HDD as an SD card. You'd have to format it using a PC and you could load it up initially that way as well. Rokicki's file system doesn't currently handle subdirectories, but that's not hard to add.

    If you're in a hurry, you could use FemtoBasic as a starting point, rip out what you don't need and substitute a WAV player.
  • BaggersBaggers Posts: 3,019
    edited 2008-03-18 13:33
    Hippy, it should be pretty easy there's a great IDE interface here on a friend's website.
    http://www.retroleum.co.uk/ide_interface.html
    That should help interfacing the IDE to the prop [noparse];)[/noparse]
    The rest should be easy, res+cap for audio, if using headphones, unless you want it amplified obviously [noparse]:)[/noparse]
    As for timescale, depends how fast you get the code for the IDE interface working, I guess lol
    A lot of the ground work can be taken from Rokicki's SD FAT drivers.

    Should be easy enough to do though roll.gif
    But you'll have to keep us all updated lol.

    Edit: Pipped to the post by the great·Mike Green Doh! lol
  • CJCJ Posts: 470
    edited 2008-03-18 13:54
    I think at that size drive you would have to do a fat32 driver as well, all the PCs I've used only format up to 2GB in fat16!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Parallax Forums - If you're ready to learn, we're ready to help.
  • BaggersBaggers Posts: 3,019
    edited 2008-03-18 14:00
    Yeah, good point CJ
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2008-03-18 14:06
    The hardware interface as shown by Phil Ruston is certainly something that you would want if you were using a Z80. Sure you could use it with the prop's I/O lines but the Z80 needed the interface and the prop can directly access the IDE with 23 I/O lines. I'm assuming that 3.3V drive is ok for an IDE interface although I've never tried it. Use series resistors of around 100R on all the lines plus add a pullup to the drive select line.

    The 23 signals are D0..D15,A0..A2,CS0,RD,WR.

    Yes, you will also need a FAT32 driver but I would build that up on the basic IDE sector interface which is very straightforward as the "Integrated Drive Electronics" pretty much looks after all the nitty-gritty, you just need to issue commands.

    *Peter*
  • hippyhippy Posts: 1,981
    edited 2008-03-18 15:38
    Thanks all. That IDE should be a straight-forward bit-banged interface from the Propeller is one of the appealing things, making the whole hardware project a couple of caps, a 40-way IDE cable and some buffering resistors.

    Starting with a sector reader / writer would seem the best way to start and build up from there would seem to be the best approach as per Peter's suggestion. Even if the SD / Femto Basic code isn't directly usable it should be a good design reference. Can start with FAT16 then build on that.

    It's the middle-bit, FAT32, which is the big unknown for me. Famous last words ... "That's only software, so should be easy enough" smile.gif
Sign In or Register to comment.