Rockbox Technical Forums

Rockbox Development => New Ports => Topic started by: silkcom on October 16, 2007, 04:29:16 PM

Title: Phillips GoGear HDD6330
Post by: silkcom on October 16, 2007, 04:29:16 PM
Well I'm interested in getting my HDD6330 gogear working with RockBox (maybe then i'll actually use it).

I'm willing to take it apart and start the process, once I find it, I'm wondering if anyone else has one that would like to help.  I am a programmer but really don't know anything about porting embedded stuff.

If someone can help me port it that would be great (the player is awesome, the buttons are awesome, the way the buttons work on the other hand kinda suck).
Title: Re: Phillips GoGear HDD6330
Post by: markun on October 16, 2007, 05:42:04 PM
The HDD6330 uses a Portalplayer chip, but I see that we don't have a key to decode the firmware:

http://daniel.haxx.se/sansa/mi4.html

but I was told that is not needed to run a rockbox bootloader (but could help with the reverse engineering)

btw, it's probably better to look for interested people in a HDD6330 forum (if it exists)
Title: Re: Phillips GoGear HDD6330
Post by: barrywardell on October 16, 2007, 05:48:57 PM
There's a chance that it just uses the 'default' key. Otherwise, mi4code is able to scan for the key once you have a bootloader and mi4 to scan with. See here for brief instructions: http://daniel.haxx.se/sansa/mi4code.html#keyscan
Title: Re: Phillips GoGear HDD6330
Post by: silkcom on October 16, 2007, 06:18:02 PM
See my problem is that I have no idea what you're talking about (although I do know that it uses the pp5022 (or something like that) which is the same as the IPOD.  My plan was to put forth the time to open it up, scan it, maybe buy a parts version and take everything apart to get everything else, and then ask for help from there (granted I'll put in as much as I can, but I don't know how to continue after that).
Title: Re: Phillips GoGear HDD6330
Post by: barrywardell on October 16, 2007, 06:30:51 PM
Well, the first thing is to find out if it definitely uses the PP5020, PP5021, PP5022, PP5024 or something else. If it is, then a lot of the porting work is already done.

But, it's likely that at least the LCD and buttons are different. Hopefully the buttons just use GPIO and would be relatively easy to figure out. For the LCD, you need to find out the exact model number and try to find a datasheet for it.

Scans of the inside including the numbers of the chips and LCD would be a good place to start.
Title: Re: Phillips GoGear HDD6330
Post by: silkcom on October 16, 2007, 11:30:59 PM
Alright, here's the stuff:

I've included an image, it is the pp5022B-TFF

Not sure if there is more than that with the screen.  The buttons also have some cards, they are:

Synaptics
T10056 0538 (could be 710056 0538, it's really small)
ACP5060-13

the other one is the same thing.

Im not sure that I can attach the image.  I'll have to post it on one of my sites and post a link.
Title: Re: Phillips GoGear HDD6330
Post by: silkcom on October 17, 2007, 02:11:31 PM
Started http://www.rockbox.org/twiki/bin/view/Main/HDD6330
Title: Philips GoGear HDD6320/00
Post by: slacker_nl on July 21, 2008, 02:10:28 PM
I found out about rockbox today and I saw my DAP is not supported (yet) by rockbox.

I don't know what the difference is with the 6330 (see http://forums.rockbox.org/index.php?topic=13282.0 ). I guess they are pretty similar.. So problems are expected.. :(

I will post more info (specs) in the coming days, so hopefully it can be ported. I'm not new to programming, but I have never coded in C, nor have I ported anything in the past. Willing to try. Otherwise I will be forced into buying a new MP3 player so I can use this player with Unix based systems (had problems with getting the 6320 to work under Linux for 2 years now...).

Never mind, I'm convinced the 6330 is the same as the 6230, but the 6330 has a FM radio, which is missing on the 6230.
Title: Re: Phillips GoGear HDD6330
Post by: MarcGuay on July 31, 2008, 07:41:05 AM
Can anyone confirm or deny that the HDD1630 is the same hardware with a smaller drive?
Title: Re: Phillips GoGear HDD6330
Post by: LambdaCalculus on July 31, 2008, 07:47:31 AM
Can't really tell, unless someone wants to tear one open to take a look inside.
Title: Re: Phillips GoGear HDD6330
Post by: MarcGuay on July 31, 2008, 07:53:35 AM
I figured that lowlight would have a clue as he committed some work for the HDD1630 during devcon, and had previously worked with the HDD6330.
Title: Re: Phillips GoGear HDD6330
Post by: LambdaCalculus on July 31, 2008, 07:59:27 AM
We should ask him when he stops around again.

I'd ask a friend of mine with a GoGear 6330 to let me look inside, but I don't think she'd appreciate me trashing her only DAP at the moment. ;)
Title: Re: Phillips GoGear HDD6330
Post by: toffe on July 31, 2008, 09:06:59 AM
The 1630 and 6330 are almost identical, there is a difference on the keypad and also the 6330 has a rtc, not the 1630.
The other big difference is that the 1630 is a microdrive and the 6330 a hard drive

The service manual for each one is available here http://www.free-service-manuals.com/
Title: Re: Phillips GoGear HDD6330
Post by: LambdaCalculus on May 30, 2009, 07:50:28 AM
It's been ages since someone posted here, but here's a status update:

I've started to branch the HDD6330 off of the HDD1630 in the build system, so now I can build the HDD6330 as a standalone target. However, due to lack of a proper touchpad driver, I can't add keymaps to the plugins, nor can I do any kind of work on the manual. Because of this, the HDD6330 is still using the touchpad driver from the HDD1630, and navigation is very crude because of it.

The next steps are to get a touchpad driver written and committed, getting keymaps for the plugins, and writing the manual (which I've started a bit of).
Title: Re: Phillips GoGear HDD6330
Post by: scallopedllama on June 13, 2010, 02:39:54 AM
Any status updates on this? I just came into possession of one of these players and would like to use it but the port isn't done yet.
I can get the build made and running on my player,  but it doesn't play anything  :-(

I would love to help with the development effort but I don't really know where to start.
Title: Re: Phillips GoGear HDD6330
Post by: saratoga on June 13, 2010, 02:57:47 AM
I would love to help with the development effort but I don't really know where to start.

Well figuring out why playback doesn't work for you, but evidently did for whoever wrote the wiki page would be a good start. 
Title: Re: Phillips GoGear HDD6330
Post by: scallopedllama on June 14, 2010, 04:33:00 AM
I haven't figured out why audio is broken, but I did manage to fix the buttons: http://www.rockbox.org/tracker/task/11401
Title: Re: Phillips GoGear HDD6330
Post by: b0hoon on June 14, 2010, 07:16:02 AM
Quote from: scallopedllama
I haven't figured out why audio is broken, but I did manage to fix the buttons: http://www.rockbox.org/tracker/task/11401

Playback doesn't work because there is no correct define for this target in the wmcodec-pp.c file (i2c audio address should be 0x1b). Additionally there must be some gpio pin (i haven't found it yet) which enables "full sound" (like in the PB vibe or iriver h10).

Your solution is correct, however i have a full touchpad driver in my local svn for this target, including buttonlights and it need's some additional changes for the mep driver. I'll try to commit this code after my vacation.
Title: Re: Phillips GoGear HDD6330
Post by: scallopedllama on June 14, 2010, 08:36:32 AM
Oh well, it was an interesting learning experience and it got me a little bit acquainted with the code..

Also, You Rock. I know have a usable audio player.
Title: Re: Phillips GoGear HDD6330
Post by: b0hoon on June 14, 2010, 09:49:56 AM
Quote from: scallopedllama
I know have a usable audio player.

So.. did you add the define and now have a sound? :) It's working for me and if it's working fine for you too, i'll fix it later (i don't have an access to my build environment atm). Is the sound crunchy and quiet (for me it is) or you have a full sound like in the OF? Which exactly model do you have: HDD6330 (with radio) or HDD6320 (without)?
Title: Re: Phillips GoGear HDD6330
Post by: scallopedllama on June 14, 2010, 09:29:19 PM
Define added and audio now works. Sound quality is certainly not on par with the OF.. I guess crunchy and quiet describes it ok.

Specifically I have an HDD6330 with the radio. I haven't tested everything yet though.
Title: Re: Phillips GoGear HDD6330
Post by: scallopedllama on June 18, 2010, 09:56:41 PM
I'm pretty sure I figured the rest of this stuff out.
With the added define from the previous post, sound was working, but it wasn't very loud and the radio did not work. To fix those problems, the same kind of fix is needed as was needed to get audio working, adding a "|| defined(PHILIPS_HDD6330)" to a line.

For audio: /firmware/target/arm/wmcodec-pp.c at line 36
For the tuner: /firmware/drivers/tuner/tea5767.c at line 31
For the preamp: /firmware/drivers/audio/wm8731.c at line 204

With those three defines added, audio sound pretty good out of my hdd6330 and the radio works. The patch I submitted isn't very good, and the keymap is still pretty bad though. I have hopes for the code that h0hoon eventually commits.

I made diffs for these changes and put it in the tracker: http://www.rockbox.org/tracker/task/11417
Title: Re: Phillips GoGear HDD6330
Post by: funman on June 18, 2010, 10:53:29 PM
I committed the patch, thanks

For the next patch please run svn diff from the root of your checkout so the full path to patched files is included in the patches
Title: Re: Phillips GoGear HDD6330
Post by: b0hoon on June 19, 2010, 05:04:56 AM
scallopedllama: thanks for figuring out the rest of the audio problems!

Additionally i would like to change the behavior of the vertical scrollstrip, as it should be - sliding a finger down or up should scroll down or up the lists and menus (like in the OF), without the button_select in the middle (unnatural), which should be removed and remapped. The scrollstrip was designed to act like that IMO (it works great like that in the PB Vibe).
Title: Re: Phillips GoGear HDD6330
Post by: scallopedllama on June 21, 2010, 01:57:23 AM
I agree with making the scrollstrip a scrollstrip and I would love to help out with that but I'd really like to see your code for properly using the scroll strip before starting. Can you get it committed or provide a patch?

EDIT: Working off of my scrollstrip enabled code, I basically took the code used in the pb vibe for scrolling and stuck it in here. It works, but not very well. Maybe because my original scrollstrip enabled code wasn't very good.

On an unrelated note, I noticed that the configure script indicated that the hdd6330 only has 32M of ram while the wiki page says it rocks 64M.

I attached a patch that will apply both of these changes from the latest trunk. It's not very good, but it's something..

As for other work to be done, the keymap still needs a lot of work... unless you already that. I also noticed that I can't boot into the OF. It gets to the line "hdd1630 key used" and freezes.
Title: Re: Phillips GoGear HDD6330
Post by: b0hoon on June 25, 2010, 03:17:31 AM
Quote from: scallopedllama
I agree with making the scrollstrip a scrollstrip and I would love to help out with that but I'd really like to see your code for properly using the scroll strip before starting. Can you get it committed or provide a patch?

EDIT: Working off of my scrollstrip enabled code, I basically took the code used in the pb vibe for scrolling and stuck it in here. It works, but not very well. Maybe because my original scrollstrip enabled code wasn't very good.

I'm surprised it doesn't work  :-\, basically it's the same code as i want to commit, except i have a "btn = BUTTON_NONE" after queue_post() to prevent queuing the button_up or down twice. I must test it and i will commit my touchpad code soon, please be patient for a while yet.  ;)

Quote from: scallopedllama
On an unrelated note, I noticed that the configure script indicated that the hdd6330 only has 32M of ram while the wiki page says it rocks 64M.

Should be 64MB, fixed in svn.

Quote from: scallopedllama
I also noticed that I can't boot into the OF. It gets to the line "hdd1630 key used" and freezes.

Same for me but right now i don't have a clue what's wrong with it. TEA key is correct cause it's the same for hdd1630 and hdd6330. I'll try to investigate it later.
Title: Re: Phillips GoGear HDD6330
Post by: scallopedllama on June 28, 2010, 04:41:51 AM
I'm surprised it doesn't work  :-\
I didn't say It doesn't work. I just don't feel it works well. I added your line and it feels a bit better though. It just doesn't feel as smooth as the scrolling is in OF.

Have you done any work on the keymaps for this player? I'd be happy to help with that a bit if you haven't.
Title: Re: Phillips GoGear HDD6330
Post by: lowlight on June 30, 2010, 10:06:31 PM
Good to see someone has picked up this port. Unfortunately, real life got the better of me and I was never able to finish.

Odd that I missed some defines as I don't recall any audio problems from my build; however, I remember that at the time I was working from a months old svn tree, so might have miss something.

Have you actually checked that 64MB works?  I know that the documentation says 64, but when I tried before it didn't work. Try loading a playlist so that it will buffer more than 32MB, like a bunch of flac files.

For the OF not booting, try removing the "magic" from firmware/target/arm/crt0-pp-bl.S. If that doesn't work, maybe we need different "magic". I can't remember if I tried booting the OF before, or if I just assumed it was the same as the hdd130.

Can't wait to try your scrollpad patch, I've always wanted to have scrolling support like the OF. Can you still "tap" up/down? Is the code generic enough incorporate in the Synaptics mep driver? There are several players with a Synaptics scrollpad (Philips hdd1630/hdd6330/sa9200, Olympus m:robe 100, and, of course, the PB Vibe).

If one of you has a 6320, perhaps you could look at dynamically checking for the radio and disabling it so it doesn't show in the menu.

Anyway, good work!!
Title: Re: Phillips GoGear HDD6330
Post by: b0hoon on July 04, 2010, 09:59:26 AM
I didn't say It doesn't work. I just don't feel it works well. I added your line and it feels a bit better though. It just doesn't feel as smooth as the scrolling is in OF.

Yes. It didn't work properly because of vertical scrollstrip additional packet data, anyway modified touchpad code is in SVN, please try it. I haven't apply your changes for the keymaps but i will do it ASAP.

Have you done any work on the keymaps for this player? I'd be happy to help with that a bit if you haven't.

No i haven't and will be happy to get some help from you especially with the plugin keymaps, but first the main keymaps must be reworked somehow.

Good to see someone has picked up this port. Unfortunately, real life got the better of me and I was never able to finish.

Odd that I missed some defines as I don't recall any audio problems from my build; however, I remember that at the time I was working from a months old svn tree, so might have miss something.

Have you actually checked that 64MB works?  I know that the documentation says 64, but when I tried before it didn't work. Try loading a playlist so that it will buffer more than 32MB, like a bunch of flac files.

Hi lowlight.

Good to know about this memory problem, i will check it of course.

For the OF not booting, try removing the "magic" from firmware/target/arm/crt0-pp-bl.S. If that doesn't work, maybe we need different "magic". I can't remember if I tried booting the OF before, or if I just assumed it was the same as the hdd130.

Another good hint, i will check it too.

Can't wait to try your scrollpad patch, I've always wanted to have scrolling support like the OF. Can you still "tap" up/down? Is the code generic enough incorporate in the Synaptics mep driver? There are several players with a Synaptics scrollpad (Philips hdd1630/hdd6330/sa9200, Olympus m:robe 100, and, of course, the PB Vibe).

You can try it now :) You can't tap up or down now but it can be implemented on a tap packets (0b,02,00,00) eventually. The code is rather generic but in fact every touchpad is different a bit and needs some special caution in a case of implementing it. HDD6330 is the best example of it (additional packet must be received from the vertical scrollstrip, the same like after the buttons).

If one of you has a 6320, perhaps you could look at dynamically checking for the radio and disabling it so it doesn't show in the menu.

Anyway, good work!!

Yes, i thought about that, it should be easy, especially when the method is described in the service manual IIRC, which i put on the Wiki.
Title: Re: Phillips GoGear HDD6330
Post by: LambdaCalculus on October 18, 2010, 02:15:56 PM
Seeing all of the progress on the HDD6330 port makes me want to get another unit for myself. I gave mine to lowlight.

If I find another unit, I'll come back in full swing for testing and contributions again.

(EDIT) Would anyone say that the port is far along enough to be good for everyday use? If so, I'm thinking of adding in support for installing builds via Rockbox Utility.
Title: Re: Phillips GoGear HDD6330
Post by: b0hoon on October 19, 2010, 02:09:42 PM
Seeing all of the progress on the HDD6330 port makes me want to get another unit for myself. I gave mine to lowlight.

If I find another unit, I'll come back in full swing for testing and contributions again.

That would be great. I don't know if i'm able to finish what i have started, cause my hdd6320 is unfortunately partially broken.

(EDIT) Would anyone say that the port is far along enough to be good for everyday use? If so, I'm thinking of adding in support for installing builds via Rockbox Utility.

The bootloader doesn't want to load the OF, so maybe it would be better to wait for a solution before adding it to the Rockbox Utility?
Title: Re: Phillips GoGear HDD6330
Post by: LambdaCalculus on October 19, 2010, 02:15:26 PM
The bootloader doesn't want to load the OF, so maybe it would be better to wait for a solution before adding it to the Rockbox Utility?

IIRC from the time I had the HDD6330, USB worked quite well from within Rockbox on it. If such is the case, perhaps we could just ditch any notions of dual-booting and make it a proper firmware replacement on this device? Such is already the case for the iAudio devices and the Gigabeat F/X. Thoughts?
Title: Re: Phillips GoGear HDD6330
Post by: scallopedllama on October 19, 2010, 05:27:07 PM
The OF Requires that the user sync the device with their computer using an outdated version Windows Media Player, 10 or 11.
I think that this alone would make it ok for Rockbox to act as a full replacement of the OF, since the OF isn't even supported by Philips anymore.

Also, I think it'd be desirable to get plugins too.. no keymaps for them yet
Title: Re: Phillips GoGear HDD6330
Post by: LambdaCalculus on October 19, 2010, 09:55:28 PM
I need another HDD6300 in order to work on plugins first.

Luckily, and unlike the SA9200, the LCD on the HDD6330 is the same resolution as a few other devices (220x176x16), so all it takes to get plugins working is just to add in keymaps. Once that's done, enabling them should make the port fully functional.
Title: Re: Phillips GoGear HDD6330
Post by: b0hoon on October 20, 2010, 03:23:00 PM
Today i found the magic numbers in the registers (r0,r1,r2,r3) in order to boot the original firmware from the Rockbox bootloader. I used special mi4 image (the buzzer was clicking and gave me the right values, bit after bit). I will commit it ASAP. I'm not sure if i can do it this week, cause it's freeze time.
Title: Re: Phillips GoGear HDD6330
Post by: saratoga on October 20, 2010, 03:32:47 PM
Today i found the magic numbers in the registers (r0,r1,r2,r3) in order to boot the original firmware from the Rockbox bootloader. I used special mi4 image (the buzzer was clicking and gave me the right values, bit after bit). I will commit it ASAP. I'm not sure if i can do it this week, cause it's freeze time.

We branched, so the freeze is over.   Plus the free doesn't apply to targets that aren't being released yet.
Title: Re: Phillips GoGear HDD6330
Post by: LambdaCalculus on November 01, 2010, 05:05:30 PM
Have you actually checked that 64MB works?  I know that the documentation says 64, but when I tried before it didn't work. Try loading a playlist so that it will buffer more than 32MB, like a bunch of flac files.

I just tried a build on my HDD6330 that I built from SVN (r28439). In tools/configure it's configured with 64MB, but playback crashed when I tried loading files. I'm setting it back to 32MB for now until we absolutely know for sure that this device does indeed have 64MB RAM.
Title: Re: Phillips GoGear HDD6330
Post by: b0hoon on November 02, 2010, 04:17:07 AM
Have you actually checked that 64MB works?  I know that the documentation says 64, but when I tried before it didn't work. Try loading a playlist so that it will buffer more than 32MB, like a bunch of flac files.

I just tried a build on my HDD6330 that I built from SVN (r28439). In tools/configure it's configured with 64MB, but playback crashed when I tried loading files. I'm setting it back to 32MB for now until we absolutely know for sure that this device does indeed have 64MB RAM.

I've checked it on mine before committing and it works. The buffer is filled completely, i can rew/ff every song. Sometimes i was listening it for about one or two hours without a problem (when sitting at my PC). Maybe the HDD6330 doesn't have 64MB of memory (or some version of it)? Maybe it would be good idea to look inside it. IIRC my HDD6320 has the Samsung K4S51163PF, but i will disassembly it once again.
Title: Re: Phillips GoGear HDD6330
Post by: LambdaCalculus on November 02, 2010, 05:28:25 AM
I was discussing this with kugel on IRC before. Perhaps some models of the HDD63x0 are built with the Samsung K4551163PF chip, and there are some that have the Samsung K4S56163PF chip that the HDD16x0 models use. This means that we can do a check at startup for which chip is in the device and set the buffer accordingly, like on the iPod video build.

The IRC conversation starts here: http://www.rockbox.org/irc/log-20101101#23:19:50
You may want to also look at SVN revision r27960 (http://svn.rockbox.org/viewvc.cgi?view=rev&revision=27960) to see if maybe we can implement the same trick for the HDD63x0.
Title: Re: Phillips GoGear HDD6330
Post by: torne on November 02, 2010, 06:15:01 AM
As long as the 32MB of ram is mirrored in a 64MB region of address space then the same trick will work. r27937 (http://svn.rockbox.org/viewvc.cgi?view=rev&revision=27937) contains the code to detect the ram size.
Title: Re: Phillips GoGear HDD6330
Post by: scallopedllama on November 02, 2010, 08:40:06 AM
I've been using r28308 configured to used 64 mb of ram for a couple weeks and have had no crashing at all.
Title: Re: Phillips GoGear HDD6330
Post by: LambdaCalculus on November 02, 2010, 08:43:29 AM
I've been using r28308 configured to used 64 mb of ram for a couple weeks and have had no crashing at all.

Is your device the HDD6320 or HDD6330?
Title: Re: Phillips GoGear HDD6330
Post by: scallopedllama on November 02, 2010, 08:48:11 AM
Back says HDD6330/17
Title: Re: Phillips GoGear HDD6330
Post by: LambdaCalculus on November 02, 2010, 12:22:50 PM
scallopedllama, per a few IRC conversations, I just may have had a stroke of bad luck with the initial build I ran last night. I'm going to build another build tonight with 64MB enabled again and try it once more. If it does work, I'll set tools/configure to build it with 64MB again.

In the meantime, can you do me a favor and tell me if you've noticed the LCD refresh to be a bit sluggish in Rockbox? Mine appears sluggish, but it could be because we haven't really optimized the LCD drivers enough (and I don't know very much about the hardware or where to poke into to optimize the speed).

In the meantime, anyone who wants to try out the port can download it from here and follow the installation instructions on the page: http://www.rockbox.org/wiki/GoGearHDD6330#Installation_steps_for_HDD63x0
Plugins are enabled and have keymaps, but please test and tell me if any changes need to be made to the keymaps; a few are a little crude.
Title: Re: Phillips GoGear HDD6330
Post by: LambdaCalculus on November 03, 2010, 09:59:08 AM
Locking this thread now, as this port was just promoted to Unstable. Any further changes or updates will go straight into SVN and be reflected on the front page.

Installation instructions are currently available in the above link. Any installation questions should go into the appropriate subforums.

If you want to help with development, get in touch with us using IRC or sign up for the development mailing list.