Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Rockbox Ports are now being developed for various digital audio players!

+  Rockbox Technical Forums
|-+  Rockbox Development
| |-+  New Ports
| | |-+  Creative Zen Vision:M
« previous next »
  • Print
Pages: 1 ... 26 27 [28] 29 30 ... 46

Author Topic: Creative Zen Vision:M  (Read 617575 times)

Offline mcuelenaere

  • Developer
  • Member
  • *
  • Posts: 392
Re: Creative Zen Vision:M
« Reply #405 on: February 17, 2008, 07:56:26 AM »
Finally I'm able to run code on my ZVM!  ;D

I haven't got a camera laying around here, so I can't proof anything, but I can upload the firmware I'm using (this is for a Creative ZVM 30GB).

After you've uploaded it, the player will hang on the ZEN screen, but it will display a green rectangle.

To delete the firmware, you'll have to boot in Rescue Mode and select Reload Firmware.


More will follow...

edit: question to Rockbox devs:
atm I'm not using the Rockbox source as base, but just my own C file; how is the printf() command implemented in Rockbox?


edit2: I'm trying to compile a bootloader, but I'm getting: 'ERROR: x uses FPA instructions, whereas y does not'
and other linker errors

edit3: found it, apparently -mcpu=arm926ej-s should be -mcpu=arm9 (or at least on my machine)
* nk.bin (0.3 kB - downloaded 306 times.)
« Last Edit: February 17, 2008, 08:22:20 AM by mcuelenaere »
Logged

Offline mcuelenaere

  • Developer
  • Member
  • *
  • Posts: 392
Re: Creative Zen Vision:M
« Reply #406 on: February 17, 2008, 11:03:05 AM »
Current diff with Rockbox tree
* zvm.diff.txt (12.88 kB - downloaded 369 times.)
Logged

Offline crzyboyster

  • Member
  • *
  • Posts: 362
  • Proud iPod Nano User!
Re: Creative Zen Vision:M
« Reply #407 on: February 17, 2008, 11:20:16 AM »
Can we get a picture? And congrats, mcuelenaere! This should pave the way for the entire Creative family of players!
Logged
My iPod Nano themes: AAPodSVN - PHK1 Remix - Cabbie 3.0 - Christmas - corners

Offline mcuelenaere

  • Developer
  • Member
  • *
  • Posts: 392
Re: Creative Zen Vision:M
« Reply #408 on: February 17, 2008, 11:57:58 AM »
I'll see if I can find a camera somewhere.

Problem is: I can perfectly change anything on the LCD screen, but whenever I try to put a Rockbox binary on the device, it just goes immediately to black screen. Neither the RAM is touched nor the OSD variables, and I can't seem to find what the problem is ???

Does someone have a clue?

(attached is my diff to current SVN)
* zvm.diff.txt (13.83 kB - downloaded 293 times.)
Logged

Offline crzyboyster

  • Member
  • *
  • Posts: 362
  • Proud iPod Nano User!
Re: Creative Zen Vision:M
« Reply #409 on: February 17, 2008, 12:50:44 PM »
How exactly did you achieve this "phenomenon"? I want to try something similar on my Zen V 2gb just to see how far this has progressed and whether or not the same green rectangle shows up on the Zen V.
Logged
My iPod Nano themes: AAPodSVN - PHK1 Remix - Cabbie 3.0 - Christmas - corners

Offline mcuelenaere

  • Developer
  • Member
  • *
  • Posts: 392
Re: Creative Zen Vision:M
« Reply #410 on: February 17, 2008, 12:54:08 PM »
Quote from: crzyboyster on February 17, 2008, 12:50:44 PM
How exactly did you achieve this "phenomenon"? I want to try something similar on my Zen V 2gb just to see how far this has progressed and whether or not the same green rectangle shows up on the Zen V.
First of all, you certainly need to disassemble the original firmware (try using IDA if you use Windows, it's very helpful)
I don't know if this is totally the same on the Zen V (I think it is), but the OF reads jukebox2.jrm into certain memory parts (as described in its structure) and what I've done is (using the DM320 hardware OSD cursor) compiled a small program and tried getting it on my player; but this is getting a bit off topic ;)
Logged

Offline crzyboyster

  • Member
  • *
  • Posts: 362
  • Proud iPod Nano User!
Re: Creative Zen Vision:M
« Reply #411 on: February 17, 2008, 01:00:33 PM »
I don't think I can do all that as I can't compile or read/write code  :'(
I guess we should just wait for this to progress and then rockbox might get ported to the other Zen players...
Logged
My iPod Nano themes: AAPodSVN - PHK1 Remix - Cabbie 3.0 - Christmas - corners

Offline mcuelenaere

  • Developer
  • Member
  • *
  • Posts: 392
Re: Creative Zen Vision:M
« Reply #412 on: February 17, 2008, 01:25:28 PM »
I believe i've found the problem, but I can't (yet) solve it:
the OF loads the code at 0x000000, but Rockbox assumes it is somewhere in 0x900000.
It then loads the reset vectors from somewhere in SDRAM to 0x000000 and sets up stacks etc.
Then it jumps to main(), but it thinks this is (also) in 0x900000, so what I've got to do is figure out how to change the memory linking during compiling; I know it has something to do with boot.lds and apps.lds; but I can't figure out how.

Help? :)
Logged

Offline Bagder

  • Member
  • *
  • Posts: 1452
    • Daniel's site
Re: Creative Zen Vision:M
« Reply #413 on: February 17, 2008, 02:01:11 PM »
If you build the bootloader boot.lds is what tells on what physical addresses it should build the program to work on/with. That's a plain normal gnu ld script that's run through a C preprocessor first, thus the #ifdefs and #defines etc.

In your case it sems the boot.lds sets
#define DRAMORIG 0x00900000

... which I agree looks very weird and unlikely to match reality for any actual target.
Logged

Offline mcuelenaere

  • Developer
  • Member
  • *
  • Posts: 392
Re: Creative Zen Vision:M
« Reply #414 on: February 17, 2008, 02:05:56 PM »
Quote from: Bagder on February 17, 2008, 02:01:11 PM
If you build the bootloader boot.lds is what tells on what physical addresses it should build the program to work on/with. That's a plain normal gnu ld script that's run through a C preprocessor first, thus the #ifdefs and #defines etc.

In your case it sems the boot.lds sets
#define DRAMORIG 0x00900000

... which I agree looks very weird and unlikely to match reality for any actual target.
Funny you post this now, because about 2 min. ago I sort of solved the problem :)
I saw that DRAMORIG was set to 0x900000 and tried setting it to 0x0; but that didn't work.
But since the OF includes some sort of specific loading (i.e. you say: load block x to address y and block a to address b etc; something like ELF format I presume?) I tried loading the Rockbox code to 0x900000 and 0x0 containing a LDR PC, =0x900000 and ... it works!

Although the LCD is giving me garbage (probably due to RGB<->YUV or something with x-bit), it works. (I'll attach the patch later)

edit: patch
* zvm.diff.txt (13.81 kB - downloaded 323 times.)
« Last Edit: February 17, 2008, 02:23:46 PM by mcuelenaere »
Logged

Offline Bagder

  • Member
  • *
  • Posts: 1452
    • Daniel's site
Re: Creative Zen Vision:M
« Reply #415 on: February 17, 2008, 04:03:55 PM »
Cool!

If you could take a photo of the LCD perhaps someone recognizes the sympthom.

The patch is however incomplete as it refers to several files that aren't included. Like config-creativezvm.h and the ones in target/arm/tms320dm320/creative-zvm/

Update: also, the scramble.c patch adds a be2int() function that isn't used. Why?
Logged

Offline mcuelenaere

  • Developer
  • Member
  • *
  • Posts: 392
Re: Creative Zen Vision:M
« Reply #416 on: February 17, 2008, 04:09:00 PM »
All LCD problems are solved, I'm currently working on figuring out the buttons (GPIO etc).

A diff will follow (I forgot to do 'svn add' on some files)

edit: added diff
If I forgot adding a file, please reply

edit2: nk.bin

edit3: currently only LCD driver is working; for compiling: use Bootloader and it will output a rockbox.zvmboot file which you'll have to put in a CIFF structure (use CreativeWizard) with filename Hjukebox2.jrm and type set to DATA.

edit4: about the be2int() in scramble: that was for testing purposes, can be removed now; it is indeed not used anymore
* zvm.diff.txt (48.49 kB - downloaded 325 times.)
« Last Edit: February 17, 2008, 05:22:21 PM by mcuelenaere »
Logged

Offline shotofadds

  • Developer
  • Member
  • *
  • Posts: 368
Re: Creative Zen Vision:M
« Reply #417 on: February 18, 2008, 11:30:31 AM »
Congratulations on gettting the LCD code up and running! It's good to see this progressing finally - maybe I'll even get my ZVM out of the cupboard one day when I'm bored with the D2....

One thing though: in your patch it looks like there's a lot of TCC780x code left over from the D2 driver: anything referring to LCDC_* is specific to the 7801 LCD controller and needs to be removed, since writing to those addresses on another target is probably not a good idea and will almost certainly bear no relation to what is needed (the same applies to PORTCFG, BCLKCTR etc).

But I'm sure you knew that already. ;)
Logged

Offline mcuelenaere

  • Developer
  • Member
  • *
  • Posts: 392
Re: Creative Zen Vision:M
« Reply #418 on: February 18, 2008, 12:22:56 PM »
Quote from: shotofadds on February 18, 2008, 11:30:31 AM
Congratulations on gettting the LCD code up and running! It's good to see this progressing finally - maybe I'll even get my ZVM out of the cupboard one day when I'm bored with the D2....

One thing though: in your patch it looks like there's a lot of TCC780x code left over from the D2 driver: anything referring to LCDC_* is specific to the 7801 LCD controller and needs to be removed, since writing to those addresses on another target is probably not a good idea and will almost certainly bear no relation to what is needed (the same applies to PORTCFG, BCLKCTR etc).

But I'm sure you knew that already. ;)
Thanks.

Yes I know, the code needs some cleanup. Actually I wasn't sure about the LCD Controller registers; I just left them there as something to base myself on.

About the pictures: I just made some (I know: most of them are bad quality and took with an unsteady hand), they're available here.
Logged

Offline Bagder

  • Member
  • *
  • Posts: 1452
    • Daniel's site
Re: Creative Zen Vision:M
« Reply #419 on: February 18, 2008, 02:12:02 PM »
I committed a small part of the patch now that seemed clean and not likely to cause troubles for anyone else.

Some parts of the remainder of the patch seems to modify stock dm320 code that isn't clean enough to commit. And then I'm not sure how valid the firmware/target/arm/tms320dm320/creative-zvm parts are.

Comments?

I just want to help getting the core vision:m stuff added so that more people can join in this effort and help easier.
Logged

  • Print
Pages: 1 ... 26 27 [28] 29 30 ... 46
« previous next »
+  Rockbox Technical Forums
|-+  Rockbox Development
| |-+  New Ports
| | |-+  Creative Zen Vision:M
 

  • SMF 2.0.17 | SMF © 2019, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.086 seconds with 14 queries.