

Seconds: Show Hide | Joins: Show Hide | View raw



#rockbox log for 2016-11-06

00:08:48 Join dan- [0] (~d@
00:08:48 Quit dan- (Changing host)
00:08:48 Join dan- [0] (~d@freenode/corporate-sponsor/
00:11:02 Part Rasi ("WeeChat 1.5")
00:13:57fs-bluebot_Build Server message: 3New build round started. Revision 5017bab, 255 builds, 15 clients.
00:19:29 Join krabador [0] (~krabador@unaffiliated/krabador)
00:21:37__builtinhmm, looks like I "solved" xworld's code wheel issue
00:22:01__builtinthe verification can be automatically bypassed already, but only on the Interplay version of the game
00:25:01fs-bluebot_Build Server message: 3Build round completed after 663 seconds.
00:25:03fs-bluebot_Build Server message: 3Revision 5017bab result: 0 errors 1 warnings
00:25:04fs-bluebot_Build Server message: 3New build round started. Revision 25bd580, 255 builds, 15 clients.
00:28:25__builtinor maybe I just have a cracked version
00:28:53 Quit lebellium (Quit: ChatZilla 0.9.92 [Firefox 49.0.2/20161019084923])
00:28:55 Quit krabador (Quit: Leaving)
00:32:37 Quit pamaury (Ping timeout: 256 seconds)
00:34:43fs-bluebot_Build Server message: 3Build round completed after 580 seconds.
00:34:45fs-bluebot_Build Server message: 3Revision 25bd580 result: All green
00:36:48 Join krabador [0] (~krabador@unaffiliated/krabador)
00:47:55***Saving seen data "./dancer.seen"
01:01:44 Quit robertd1 (Quit: Leaving.)
01:10:10 Quit girafe (Read error: Connection reset by peer)
01:22:19 Quit paulk-collins (Quit: Leaving)
01:34:54 Quit ender` (Quit: I went to the cinema, and the prices were: Adults $5.00, children $2.50. So I said, "Give me two boys and a girl.")
01:46:55 Quit ZincAlloy (Quit: Leaving.)
01:54:59 Quit cc___ (Ping timeout: 250 seconds)
02:08:23 Quit rela (Quit: Leaving)
02:12:30 Join Jinx_Dojo [0] (
02:20:12__builtinok, can anyone mergeg#1413?
02:20:14fs-bluebot_3Gerrit review #1413 at : 3XWorld: some fixes by Franklin Wei
02:20:30__builtinit should fix sound for the N+1th time
02:24:22 Quit krnlyng (Ping timeout: 260 seconds)
02:36:48 Join krnlyng [0] (
02:47:56***Saving seen data "./dancer.seen"
02:58:06 Quit krabador (Remote host closed the connection)
03:03:01 Join krabador [0] (~krabador@unaffiliated/krabador)
04:47:59***Saving seen data "./dancer.seen"
06:16:08 Nick Jinx_Dojo is now known as Jinx (
06:16:09 Quit Jinx (Changing host)
06:16:09 Join Jinx [0] (Dojo@unaffiliated/jinx)
06:19:12 Quit [7] (Ping timeout: 260 seconds)
06:19:23 Join TheSeven [0] (~quassel@rockbox/developer/TheSeven)
06:21:41 Quit toli (Ping timeout: 256 seconds)
06:27:57 Join toli [0] (~toli@
06:38:41 Quit Bray90820 ()
06:45:29 Join Bray90820 [0] (
06:48:01***Saving seen data "./dancer.seen"
07:21:17 Join Senji [0] (
07:21:17 Quit Senji (Client Quit)
07:38:50 Quit krabador (Remote host closed the connection)
08:15:20 Quit saratoga (Ping timeout: 260 seconds)
08:48:02***Saving seen data "./dancer.seen"
09:30:23 Join paulk-collins [0] (
09:37:32 Join Bilgus [0] (ae6611d9@gateway/web/freenode/ip.
09:38:15 Quit Bilgus (Client Quit)
10:15:29 Join pamaury [0] (~pamaury@rockbox/developer/pamaury)
10:26:08 Join Bilgus [0] (ae6611d9@gateway/web/freenode/ip.
10:26:37Bilgusbutton selection is done
10:27:18BilgusI don't have time to do a diff right now if you want to see it I can paste bin the source real quick
10:29:16pamauryBilgus: please do, I'm interested
10:29:35pamaurydiff is simple with git diff ;)
10:31:55Bilgusits a standalone 2 files
10:32:11BilgusI'll diff it and upload in 12 hrs
10:33:01Bilguschar buf[32];//tmp static int btnmask = 0; btnmask = button_select(btnmask,"Select one or more buttons");/* TODO add language define */ snprintf(buf,31,"mask %d",btnmask); splash(HZ, buf);
10:33:25Bilgusthere is the test call sorry already running late
10:34:00 Quit Bilgus (Quit: Page closed)
10:37:55pamauryBilgus (logs): I think it's better to use the real buttons name. We have LEFT/UP/RIGHT/DOWN to make it either with #ifdef, but really some devices don't have either of them so using "left" would be confusing. That means a different map for every target...
10:37:57 Join ender` [0] (
10:38:26pamauryThough I think this can mostly be done by a script parsing the button-target.h headers, I'll have a look into this
10:38:56pamauryalso sometimes there are redundancy, like BUTTON_LEFT = BUTTON_FF
10:48:05***Saving seen data "./dancer.seen"
11:03:53dongswill that script be in python
11:04:01 Quit Kruppt (Ping timeout: 250 seconds)
11:12:43pamauryI don't know python enough, I'll do it in bach/grep/awk/sed
11:13:10 Join lebellium [0] (
11:17:52 Join Kruppt [0] (
11:32:51pixelmaI would have imagined that such a thing would be tied to the core button action system and some sane context (WPS, standard or so), then it'll be automagically the e.g. "volume up/ down" for each target. Though I have to admit that that's just a thought from what I read here so far - and I'd have no use for such a feature
11:41:54dongsi like rockbox indentation/spacing style
11:42:03dongsexcept wrapping functions at 80chars
11:42:07dongsits no 1986 guys.
11:44:40 Join cc___ [0] (~ac@2001:910:113f:1:6a05:caff:fe1c:1627)
12:07:09 Join girafe [0] (
12:21:07 Join rela [0] (~x@pdpc/supporter/active/rela)
12:28:11 Join robertd1 [0] (~root@
12:38:39 Join ZincAlloy [0] (~Adium@2a02:8108:8b80:1700:d92e:3242:ce53:6e24)
12:48:08***Saving seen data "./dancer.seen"
12:53:06 Join rela_ [0] (
12:55:37 Join chrisb [0] (
12:56:19 Quit rela (Ping timeout: 260 seconds)
13:01:45 Join rela [0] (~x@pdpc/supporter/active/rela)
13:03:47 Quit idonob (Ping timeout: 260 seconds)
13:05:36 Join idonob [0] (
13:05:39 Quit rela_ (Ping timeout: 260 seconds)
13:11:25 Quit robertd1 (Ping timeout: 250 seconds)
13:22:43 Quit idonob (Ping timeout: 256 seconds)
13:24:35 Join idonob [0] (
13:26:56 Join robertd1 [0] (~root@
14:19:54 Quit rela (Read error: Connection reset by peer)
14:20:25 Join rela [0] (~x@pdpc/supporter/active/rela)
14:32:09 Quit [Saint] (Ping timeout: 260 seconds)
14:47:47 Join fujisan_ [0] (~fujisan@unaffiliated/fujisan)
14:48:10***Saving seen data "./dancer.seen"
14:49:24 Quit rela (Read error: Connection reset by peer)
14:49:55 Join rela [0] (~x@pdpc/supporter/active/rela)
15:09:29 Quit girafe (Read error: Connection reset by peer)
15:19:33 Join ulmutul [0] (
15:31:51 Join JanC_ [0] (~janc@lugwv/member/JanC)
15:33:07 Nick JanC is now known as Guest75733 (~janc@lugwv/member/JanC)
15:33:07 Quit Guest75733 (Killed ( (Nickname regained by services)))
15:33:07 Nick JanC_ is now known as JanC (~janc@lugwv/member/JanC)
15:34:23ulmutul__builtin: it's always good to have "volume" in the sound settings, but it doesn't work :)
15:52:48 Quit dfkt (Disconnected by services)
15:52:56 Join dfkt_ [0] (~dfkt@unaffiliated/dfkt)
16:00:07 Quit fujisan_ (Quit: Textual IRC Client:
16:08:54 Quit rela (Read error: Connection reset by peer)
16:09:16 Join rela [0] (~x@pdpc/supporter/active/rela)
16:11:38__builtinulmutul: hmm, nice catch :D
16:12:13__builtinis there a builtin (no pun intented) rb function I can call that just changes volume?
16:13:15 Quit pamaury (Ping timeout: 260 seconds)
16:13:21ulmutulNo idea, you have to look how other plugins handle this.
16:13:44__builtinok, playback control has a nice snippet I can copy+paste
16:14:11ulmutulI tried out different settings of buffer level, and it seems that my PP5020 creates artefacts even with 64 samples (I have to set it to 48 or below).
16:15:41ulmutulI'll try out and reset the functions back to ICODE_ATTR to see if this speeds up my target.
16:16:33__builtingood idea, maybe I should alter the defaults, and make ICODE_ATTR dependent on the target
16:23:38__builtinreally the long-term solution would be to move the mixing to a thread and just return a buffer in the IRQ
16:32:46 Quit ulmutul (Ping timeout: 260 seconds)
16:33:05 Quit Fa1th (Quit: ZNC -
16:42:17 Join rela_ [0] (
16:45:27 Quit rela (Ping timeout: 260 seconds)
16:48:12***Saving seen data "./dancer.seen"
16:59:53 Join pamaury [0] (~pamaury@rockbox/developer/pamaury)
17:01:34pamaurydongs: it's not only about terminal size, with 80 you can nicely fit two files on a screen for example, or you can tile the text editor with something else with wrapping all the time, in thend it's really a minor detail
17:01:53pamauryulmutul: regarding buffer, the proper way to use rockbox api is really what you describe: the get_more callback should just a precomputed buffer
17:02:12pamaurybecause the rockbox pcm api is really low level, it's doesn't buffer by itself
17:02:32 Join Bilgus [0] (41ba23be@gateway/web/freenode/ip.
17:05:40lebelliumpamaury: I have a Japanese A85x if you want me to test some things
17:06:10pamaurylebellium: interesting, give me a sec to see if it's an interesting device or not ;)
17:06:26lebelliumit has noise cancelling and the UI is in Japanese only, no langage setting :D
17:06:38pamaurylol, crazy sony
17:06:48pamaurydo you read japanese?
17:07:50pamauryok it looks like an interesting device, potentially very close to the E460 and A860, I need to download stuff from Sony to be sure
17:07:50lebelliumno but back to the time I made an excel file with the translation for each setting. I guess I used the english manual for A86x as a basis
17:08:53pamaury:D well soon you can have it in Rockbox japanese ;)
17:09:08pamauryI will make sure english is forbidden on your device :-p
17:09:39BilgusPamaury: other than the button names did the button selector look Decent? Like the changed icons on expand select collapsed?
17:09:47lebelliumpamaury: ahah
17:10:59pamauryBilgus: I didn't try it yet, I'm quite busy with nwz at the moment, I figure I can wait until you finish it or I have more time
17:11:05 Quit __builtin (Ping timeout: 256 seconds)
17:12:04pamaurylebellium: do you have linux? what would be helpful is for you run to something to get the device key
17:12:23lebelliumpamaury: you ask me everytime :P I have a Linux but in VirtualBox only
17:12:38 Join __builtin [0] (~xray@unaffiliated/franklin)
17:12:47pamaurysorry ^^ ah yeah I make you recompile stuff all the time ;) that's good enough
17:14:14pamaurylebellium: unless you can point me to a firmware upgrade by Sony but I can't find one
17:14:43lebelliumIIRC I looked for at the time but couldn't find one
17:15:04pamaurythe website for it is all in japanese so not easy, but we don't one if you have the device
17:15:15pamaurycan you do it right now?
17:15:51lebelliuma bit later would be better, I'm actually playing game \o/
17:16:21lebelliumI'll charge the battery meanwhile
17:16:40pamauryok :) So the A850 seems to the same generation as E450 and E350, so the one just before A860/E460
17:18:35BilgusNot near my dev machine atm, I take it you want to pull the button names off the defines directly? I HAVEN'T
17:18:55BilgusTried that before
17:21:27pamauryBilgus: the problem with your approach is it might create duplicates
17:21:42pamauryjust a small example: on the ZEN X-Fi3, the back button is left
17:21:57pamaurybecause we have to define a left button (for simplicity)
17:22:01pamauryand right is play
17:22:27pamauryI'll try to write a script
17:24:11 Join krabador [0] (~krabador@unaffiliated/krabador)
17:24:52BilgusYeah i'm not familiar enough with the variety of devices to even have realized that the script sounds like a better idea anyways any way to also write them in the proper languages?
17:26:18 Quit __builtin (Ping timeout: 252 seconds)
17:26:32 Join __builtin [0] (~xray@unaffiliated/franklin)
17:27:08pamauryyeah so extracting the actual button name might be tricky, but we can probably come with something decent enough that can then be tweaked by hand for a few cases
17:30:38 Join rela__ [0] (
17:32:54BilgusWes the indefs were far longer originally almost per device/family I consolidated them to what you see there. I almost hate to use anymore conditionals to do it so I'made good with w/email you think best..
17:33:59 Quit rela_ (Ping timeout: 260 seconds)
17:35:33BilgusGah I'm good with whatever you think best .. sorry on a android device with auto complete
17:38:28 Quit __builtin (Ping timeout: 268 seconds)
17:40:03 Join __builtin [0] (~xray@unaffiliated/franklin)
17:41:59BilgusIf we put all the buttons and names in the same list we wouldn't get duplicates since it wouldoesn't lookup which ever occurred first perhaps put the special cases in the beginning and use code to separate the directions from actions
17:49:26 Join __builtin_ [0] (~xray@unaffiliated/franklin)
17:52:00 Quit __builtin (Ping timeout: 260 seconds)
17:52:23 Nick __builtin_ is now known as __builtin (~xray@unaffiliated/franklin)
18:01:31 Quit __builtin (Ping timeout: 256 seconds)
18:01:43 Join __builtin [0] (~xray@unaffiliated/franklin)
18:12:10lebelliumpamaury: I'm available
18:12:41 Quit ender` (Quit: The 50-50-90 rule: Anytime you have a 50-50 chance of getting something right, there's a 90% probability you'll get it wrong.— Andy Rooney)
18:12:49pamaurylebellium: checkout the latest version
18:13:00pamaurygo to utils/nwztools/scsitools/
18:13:10pamauryplug your nwz device in MTP mode, give it to virtualbox
18:14:06pamauryand run:
18:14:06pamaurysudo ./scsitool /dev/sdX get_dnk_nvp kas
18:14:20 Join ender` [0] (
18:14:24 Quit Bilgus (Ping timeout: 260 seconds)
18:14:25pamauryyou should get an output like that:
18:14:25pamaury 38 39 64 38 31 33 66 38 66 39 36 36 65 66 64 65 89d813f8f966efde
18:14:25DBUGEnqueued KICK pamaury
18:14:25pamaury 62 64 39 63 39 65 30 65 61 39 38 31 35 36 64 32 bd9c9e0ea98156d2
18:14:25pamaurygive it to me please
18:17:21lebelliumMSC is OK?
18:17:36lebelliumJapanese Walkmans don't connect in MTP mode :)
18:20:37lebelliumubuntu@ubuntu-VirtualBox:~/rockbox/utils/nwztools/scsitools$ sudo ./scsitool /dev/sdX get_dnk_nvp kas
18:20:39lebelliumCannot open device: No such file or directory
18:20:52pamaurylebellium: sorry I meant to say MSC ^^
18:21:04pamauryyou must replace sdX by the acyual device ;)
18:21:26pamaurylike /dev/sdb probablt
18:23:03lebellium 61 32 65 66 62 39 31 36 38 36 31 36 63 32 65 38 a2efb9168616c2e8
18:23:04lebellium 34 64 37 38 32 39 31 32 39 35 63 31 61 61 35 64 4d78291295c1aa5d
18:23:52pamauryexcellent :)
18:25:45pamauryI'm still working on it so it's probably best you wait a bit before you try to install anything on it but soon you should be able to try rockbox (without sound but at least booting and controls and dualboot)
18:26:00pamauryoh actually you can do something else for me :D
18:26:15pamaurywait a sec
18:26:54lebelliumcan we extract the firmware from it like we did for E360 at the time?
18:27:00lebelliumto have a backup
18:27:13pamauryyes, that's what I was thinking
18:27:25pamauryalso it allows me to see what's inside
18:29:10pamaurylebellium: can you edit nwztools/upgtools/upgtool.c and at line 179, insert this line in the array:
18:29:10pamaury{ "nwz-a850", HAS_KAS | CONFIRMED, "a2efb9168616c2e84d78291295c1aa5d", "", "" },
18:29:32pamaurythen recompile it: make (in the upgtools/ directory)
18:29:57pamaurythen go to utils/nwztools/scripts/
18:31:50pamaurymake sure you device in plugged and mount. Assuming it is /dev/sdb and mounted at /media/WALKMAN, run:
18:31:50pamaurymake dump_rootfs NWZ_TARGET=nwz-a850 UPG=dump_rootfs_nwza850.upg
18:31:50pamaurymake copy_fw_upgrade UPG=dump_rootfs_nwza850.upg NWZ_MOUNT=/media/WALKMAN
18:31:50pamauryumount /media/WALKMAN
18:31:50pamaurysudo make do_fw_upgrade NWZ_DEV=/dev/sdb
18:32:56pamaurythe device should reboot and perform a "firmware upgrade", it will print a few things, hopefully not an error ;)
18:32:56pamaurywhen it's finished (it may take a minute or two), it will reboot and in the root directory of the device, you'll find several new files, send me all of them and keep a copy
18:33:19pamauryparticularly the rootfs.tgz which is the important one
18:34:06lebelliumubuntu@ubuntu-VirtualBox:~/rockbox/utils/nwztools/upgtools$ make
18:34:07lebelliumgcc -g -std=c99 -W -Wall `pkg-config −−cflags openssl` `pkg-config −−cflags libcrypto++` -c -o upgtool.o upgtool.c
18:34:09lebelliumPackage openssl was not found in the pkg-config search path.
18:34:10lebelliumPerhaps you should add the directory containing `openssl.pc'
18:34:12lebelliumto the PKG_CONFIG_PATH environment variable
18:34:13lebelliumNo package 'openssl' found
18:36:43pamauryah, yeah you'll need to install several packages
18:36:57lebelliumthe little surprise, as usual :à
18:38:58pamauryI'm trying to remember which packages give the openssl dev
18:42:44sthwhy do they even bother encrypting the fw?
18:42:53sthare they encrypted in flash too?
18:44:08pamauryno, but tat means it takes to remove the flash to find the encryption
18:44:23pamauryapparently that was good enough to prevent anyone from messing with the OF until me :D
18:44:46sthyou mean you need to remove the flash chip to get the key?
18:44:59pamauryactually I don't remember why I used openssl, because the encryption is DES for which I use crypto++
18:45:32sthwonder why they used that instead of aes
18:45:32pamaurysth: well that's the funny part, one you know the secret command, you can simply ask the device the keep by usb
18:45:57pamaurybut figuring out which encryption they use and the format of the firmware is impossible unless you know it before-hand
18:46:30pamaurywhich is why I had to remove the flash of one player, and once it was done, I basically got access to all devices
18:46:36lebelliumpamaury: I installed libssl-dev but still get the error
18:46:43pamaurylebellium: the same one?
18:46:44sthhmm, still don't understand why they encrypted it though
18:47:13pamaurysth: to avoid messing with it I guess. It's quite easy to brick those devices, so it may turn out to be a good idea
18:47:45pamaurylebellium: did you install the correct one given the architecture (ie the amd64 version if the box is 64-bit)
18:47:59sthwouldn't an integrity check be enough?
18:48:13***Saving seen data "./dancer.seen"
18:48:26lebelliumI don't know, I just typed "sudo apt-get install libssl-dev" and it started installing
18:48:57pamaurylebellium: try libssl-dev:amd64
18:49:14pamaurysth: it also has integry check but that's just md5, anyone can recompute it
18:50:03lebelliumE: Unable to locate package libssl-dev:amd64
18:51:49pamaurydamn, is that ubuntu ?
18:52:16pamaurytry openssl-dev
18:52:56lebelliumcannot locate either
18:52:59lebelliumyes it's Ubuntu
18:54:19lebelliumI try openssl not dev
18:54:49pamauryyou need the dev version
18:56:06lebelliumI try installing libcrypto++
18:56:09pamaurylebellium: from the ubuntu package website, it seems libssl-dev should have worked
18:56:42lebelliumit worked
18:57:15lebelliumso 'make' worked
18:58:55 Join JanC_ [0] (~janc@lugwv/member/JanC)
18:59:01lebellium"../upgtools/upgtool" -c -m nwz-a850 dump_rootfs_nwza850.upg
18:59:04lebellium KAS: a2efb9168616c2e84d78291295c1aa5d
18:59:05lebellium Key: c95ddbb8
18:59:07lebellium Sig: 4ca812ac
18:59:10lebellium File 0
18:59:12lebellium Offset: 0x28
18:59:13lebellium Size: 0xa6b
18:59:26lebelliumdoes it look good so far?
19:00:02 Quit JanC (Ping timeout: 244 seconds)
19:00:07 Nick JanC_ is now known as JanC (~janc@lugwv/member/JanC)
19:05:59lebelliumIt's 40Mb
19:07:07lebelliumI put it on Google drive
19:09:29 Join smoke_fumus [0] (
19:13:23lebelliumin tmp\rootfs\usr\local\bin there is Bomberman and Watchdog
19:17:25 Join b0hoon [0] (
19:18:17pamaurylebellium: don't get too excited, those are not games ;)
19:19:16fs-bluebot_Build Server message: 3New build round started. Revision a2d4686, 255 builds, 15 clients.
19:21:03pamauryb0hoon: I might require your svg skills soon
19:21:11pamauryif you don't mind :)
19:21:33pamaurywhich are awesome by the way
19:21:52b0hoonpamaury: no problem :) i suspect a lot of sony's pets
19:21:59b0hoonpamaury: thanks
19:22:27pamaurywell I will need two things: image for some sony nwz (fortunately very similar)
19:23:06pamaurybut also I'm creating a dualboot screen and I need some image to show which one to select (basically three choice: rockbox, some tools and the of (called SpiderApp ;)))
19:23:16pamauryfor rockbox I use rockbox-icon.svg, it's good
19:23:42pamauryfor tools I'm used a stolen icon from oxygen, and for spiderapp I am creating a beautiful (cough cough) icon
19:23:46lebelliumpamaury: looks like the A850 has a Linux Kernel in v2.6.23. YP-R0 has 2.6.24 while it was released earlier :)
19:23:52pamauryI might need your help to redo the last two if you have some ideas
19:24:00pamaurythey will get into the respository very soon
19:24:13pamaurylebellium: sony's kernel are ancients
19:24:21pamaurythey only recently swtched to 3.x
19:24:39pamaurybefore they were are 2.6.35, they even have some 2.6.10 kernels
19:27:18b0hoonok i'll see what i can do when the time comes. I'm rather a guy which redraws things, but yeah, sure.
19:27:47pamauryb0hoon: here is what I have:
19:28:05pamaury(the background should be black, dropbox seems to display it white)
19:28:32pamauryalthough I wonder if not better with a whiter background in fact ^^
19:28:40fs-bluebot_Build Server message: 3Build round completed after 564 seconds.
19:28:41fs-bluebot_Build Server message: 3Revision a2d4686 result: All green
19:29:03CtcpIgnored 1 channel CTCP requests in 0 seconds at the last flood
19:29:03*pamaury welcomes ideas from anyone regarding a cool icon for SpiderApp
19:30:26b0hoonwow, this looks really nice, i like the idea
19:30:35lebelliumwell, SpiderApp has no meaning for a normal user. I'm not sure referring to OF with that (spider web) is a good idea
19:31:02pamaurylebellium: there will be text saying it's the original firmware
19:31:46pamaurythis is so that the user won't have to look at the text after a while
19:34:58b0hoonhard to say about the background, it would be good to see it in the context later, what's better
19:36:07pamauryb0hoon: ok, give me a sec, I will show you basically what it will look like
19:36:37lebelliumI don't see the problem with reading text. That's what we did for YP-R0 back to the time: simple, no complex icons
19:38:37pamaurythat's nice too
19:39:20pamauryalthough there is a small problem with keys, some devices don't have a direction pad
19:39:55lebelliumyou mean among all Sony devices which will have this dualboot screen, some of them don't have a direction pad?
19:40:09pamaurymany actually
19:40:16pamaurybecause they have a touchscreen
19:40:40pamauryso I was thinking some kind of list is better
19:41:06pamaurymaybe a list with icon, or a big icon and you can move left/right to switch the app
19:41:10lebelliumwill it be possible to choose the default app?
19:41:18 Quit b0hoon (Read error: Connection reset by peer)
19:42:41 Join b0hoon [0] (
19:42:52pamauryI haven't decided exactly. What I am thinking about currently is that the dualboot will by default do the same thing as the previous time (Note: the dualboot will run everytime the user plug/unplugs the usb), unless the user sets the hold button, in which case the menu is displayed
19:43:11pamauryand of course the first time (ie at real boot), it will display the menu
19:44:24pixelmapamaury (since Bilgus left): did you see my comment about the buttons with this patch? (I wonder why hardcoding buttons is necessary there and why the core button action system isn't used. From what I understood about the feature I'd imagine that this would be a good fit.)
19:45:00pamaurypixelma: not sure what you mean. The goal is to have a setting to select a subset of keys.
19:45:58pamaurytwo applications of this are: 1) allows a subset of keys to do turn on backlight in wps 2) allow a subset of key in soft lock
19:46:09pamaury*to no turn on backlight
19:49:29pixelmawell, the button sequence for e.g. volume up/down is defined in the keymap file in the WPS and standard button context. So in the setting you'd just need to refer to ACTION_WPS_VOLUME_UP (I think it is called, at least similar) etc. and it will be correct for all targets
19:50:24pixelmabecause as you say, different buttons are in use for this on different targets
19:50:43pamauryHum, yeah that's a good suggestion.
19:51:06pamauryhowever, I am afraid it's going to be hard to implement the action system level :(
19:51:27pamaurybut you are right that this makes a lot of sense
19:53:55pamauryb0hoon: lebellium: here is a sketch of one possibility for the screen selection:
19:53:57pixelmahardcoding button defines (and the correct ones) for all targets is hard too and error prone. Just imagine a new target which has a weird button layout and the defines get changed a few times at least as long as the port is quite new
19:55:23pamauryb0hoon: lebellium: in this sketch, the use could use left/down/rewind and up/right/forward (whatever the target has) to change app. And then play (I think all of them have play) to select. They could also swipe and tap with the touchscreen. Downside of this is that it is slow.
19:56:31lebelliumwell, if Rockbox is the default one. The user just has to press "play" 90% of time
19:56:37lebelliumthat's not too slow
19:57:33pamauryyeah good point
19:57:48lebelliumI still would rather put something like a "walkman" icon rather than anything linked to SpiderApp
19:58:41robertd1it would be cool to use the sony original logo
19:59:31lebelliumI'm not sure we can do it due to copyrights but for sure it would be better for a normal user
20:00:21lebelliuma normal user doesn't need to ever hear about SpiderApp. He just doesn't care
20:01:25pamauryI was not aware that sony had a particularly cool logo except for its name
20:01:48lebelliumlook for the walkman logo on google
20:01:57robertd1The one from 1958 :)
20:02:46pamauryah yeah the walkman logo could be cool, not sure about the copyright though
20:03:43pamauryhere is a list-like selection screen:
20:04:08lebelliumthey renamed the android "walkman" app to "Music'. They don't care anymore about Walkman, we can use it \o/
20:04:26pamauryone thing is to consider is that Sony's players are invariably quite tall. Typically it would be 240x320 and 240x400
20:04:57pamauryunfortunately Sony does not put a bitmap of its logo on the device, otherwise we could have just used it
20:05:03b0hoonok, black background will be better here
20:05:09lebelliumyes. With this list you can see at once all 3 possibilities
20:05:32pamaurywe can change the background if we want
20:06:15lebelliumpamaury: the boot image is encrypted in a specific format?
20:06:35b0hooni know, i think it's fine like this
20:07:12pamaurylebellium: which boot image are you referring to ? Boot process is complicated on this device
20:08:09pamauryand why?
20:08:26lebelliumpamaury: when I power on my A850 (while it was fully off), I get a beautiful walkman logo
20:08:39lebelliumyou say sony doesn't put a bitmap
20:08:52lebelliumso which format is my logo in?
20:08:53b0hoonand i prefer first selection screen
20:09:05pamauryno this one (which only happen when powering up from a real power off state, and not from suspend), in embedded in uboot I think
20:09:19pamaurybut I can have a look if we can extract it easily
20:10:02lebelliumit's white with blue glow on a black background
20:10:14lebelliumon the amoled screen of the A850 it's just perfect
20:10:43pamaurylebellium: I have a theory about how to extract it easily, give me 10 min to test it
20:13:49 Join GodEater` [0] (~whoknows@
20:14:56b0hoonmaybe arrow on the left and the right side of the icon
20:16:17 Quit GodEater (Ping timeout: 245 seconds)
20:17:00pamauryyeah that depends on where we have space, this was just a quick sketch
20:17:21 Join wodz [0] (
20:18:48pamaurylebellium: yes the walkman logo can be extracted
20:19:12pamauryfor me its has the ugly "every moment has its music" text below but I guess we can erase it ;)
20:21:10pamaurythen add arrows, maybe a "Select music player" message and "Sony" at the bottom, like on the sketch ?
20:23:16pamaurylebellium: how is the logo on your device ? does it have the text below too ?
20:23:43lebelliumbut as it's full black background without gradient
20:23:49lebelliumremoving this line should be very easy
20:24:09pamaurythis is mine
20:25:11lebelliummine is the same with bigger resolution
20:26:20lebellium400 x 240
20:27:23lebelliumso acutally the logo is the same and I have more black background :P
20:28:55pamauryok, we'll probably need to adjust the screen for reach solution anyway
20:31:09lebelliumwell, if you always keep the same logo size (walkman and rockbox) and only change the background area, it should be quite easy to make different ones
20:32:49lebelliumdo you know the smallest and biggest resolutions for supported sony devices?
20:33:58pamauryI can probably find that (more or less), wait a minute
20:39:52lebelliumit's probably 128x160, 240x320 and 240x400
20:40:15lebelliummaybe 480x800 on some touchscreen targets
20:41:20pamauryI find QQVGA, QVGA, WQVGA
20:41:55pamauryand probably a few odds ones
20:44:45pamaurymy grepping doesn't show anything else
20:44:53pamaurybut I might be grepping the wrong thing
20:47:34lebelliumwell it looks possible to me
20:48:01lebellium3 different resolutions
20:48:16***Saving seen data "./dancer.seen"
20:49:42 Join ulmutul [0] (
20:50:43pamauryI don't know any 128x160 sony target
20:50:48pamaurymaybe those are the older ones
20:51:47lebelliumyes you know one
20:51:53wodzhow legal is to use extracted bitmap?
20:52:02 Join girafe [0] (
20:52:15wodzI guess walkman logo is copyrighted
20:52:29pamaurylebellium: E370 is not linux based
20:52:43pamaurywodz: we are only extracting it on the fly, it won't be in our repository
20:53:00wodzah, ok then
20:53:26lebelliumbut then how do you modify the picture?
20:53:55pamaurywe modify it dynamically
20:54:12lebelliumyou add other pictures over it?
20:54:51pamauryI load it from the NVP (where it is stored), feed i to the frambuffer, then draw stuff over it
20:55:46pamauryI guess I need cool arrows, though for the moment I can probably draw ugly ones
20:58:13b0hoonhow about logo without the "walkman" part? and it's ready to use, it's somwhere in my previous players
20:58:51b0hoonsony nwz-360
20:59:38b0hoonunless you can't use it too i don't know
20:59:58pamaurywell it's not clear if it's really legal to distribute that
21:00:11wodzpamaury: I tried to build hwstub_shell and got this error. Any idea?
21:00:47wodzpamaury: I cleaned and build lib beforehand
21:01:25pamaurywodz: did you recompile the regtools lib ?
21:01:38wodzah, no
21:01:54pamauryI wonder if I should fix the makefiles one day
21:01:59pamauryto recompile stuff that is modified
21:02:27wodznow it compiles.
21:03:28wodzYou definitely should fix Makefiles. I always miss recompiling regtools lib or hwstub lib and scratch my head whats going on
21:05:18pamauryyeah me too, I'm just used to the error messages and know which one to recompile :-p
21:08:46wodzpamaury: Do I need to provide full uri now to run hwstub_shell ?
21:09:18pamaurywodz: no, if a local hwstub is running (ie hwstub_server) it will use it, otherwise it will create a usb context
21:09:52pamaurywhat I usually do is:
21:09:52pamaurysudo ./hwstub_server
21:09:52pamauryI think it should work
21:10:06pamauryI don't remember if hwstub_server needs a uri or not
21:10:19 Part b0hoon ("GTG... Bye.")
21:10:52pamauryyes it works on my machine
21:18:29wodzpamaury: Something doesn't work here. After starting hwstub_server running hwstub_shell return Cannot create context: invalid URI: URI contains no scheme
21:19:58pamauryhm, strange
21:20:21wodzDoes hwstub_server list devices found?
21:21:05pamauryno, but it has a debug mode (use -v). Otherwise you can use hwstub_test that will connect (or create a context) and list devices.
21:21:23pamauryLet me try it on mine, I tried it but I had some modification, maybe HEAD is broken
21:23:39pamauryhum it works for me, strange
21:23:51wodzmaybe atj hwstub got broken somehow?
21:24:06pamaurythis looks like a high level problem
21:24:17pamauryit fails when creating the context
21:24:20 Join [Saint] [0] (77e01fae@rockbox/staff/saint)
21:24:39pamaurydid you give any argument to hwstub_server or shell?
21:24:59wodzpamaury: I am not sure. lsusb hangs which idicates lowlevel problem
21:25:10*[Saint] prefers to program in mozrt over bach
21:25:20*[Saint] throws an a up there
21:25:45pamauryhum maybe, but the error " URI contains no scheme" means the uri parser failed, and if you didn't specify an uri, it used the default one which should be fine
21:26:19wodz[Saint]: whats mozrt ?
21:26:55[Saint]a misspelling of mozart, in reference to pamaury saying he'd code his button parser script in bach
21:27:38wodz[Saint]: He probably referred to baroque style of coding :P
21:27:59pamaurywodz: can you add a printf in hwstub_uri.cpp line 212:
21:27:59pamauryprintf("uri: '%s'\n", uri.c_str());
21:30:23wodzconst class hwstub::uri::uri’ has no member named ‘c_str’
21:31:10pamaurysorry uri.full_uri().c_str()
21:31:36pamaury(it fails in hwstub_shell right ?)
21:33:07wodzLoading test binary works so at least adfuload is not broken
21:34:59pamauryyou can always try it without hwstub_server, see if it makes a difference
21:36:26wodzpamaury: running just sudo ./hwstub_shell without parameters and without hwstub_server gives this funny output
21:37:30*pamaury suggest valgrind
21:37:56pamauryI suggest you make clean and remake everything
21:38:01wodz1) It looks like it slurped desc file 2) It looks like serious memory problem
21:38:24wodzpamaury: I did already (soc lib, hwstub lib, tools, hwstub itself)
21:38:27pamauryvalgrind gives a clean output for me, I run regularly on it, I would be surprised that I missed such a huge problem
21:39:12wodzlets try here
21:40:18pamauryI'm not saying it's impossible, but I've had funny behaviour of this kind in the past and everytime it turned out to be an out of sync file, because the compiler changed the ABI because of an added field or something like that.
21:40:49wodzok lets clean everything and test again
21:41:37pamaurydid you modify the atj desc file?
21:41:55pamaurymaybe you modified it in a way that confuses the parser?
21:42:21wodzI didn't touch desc file for ages.
21:43:39wodzI can rename it so it will not try to load this
21:44:03pamaurywodz: there is no valid atj desc file in the repo, only the old v1
21:44:15pamauryand hwstub shell won't load v1 files
21:44:37wodzpamaury: I have v2 file here
21:45:21pamauryah, maybe you forgot to push it, I guess you produced it use the v1 to v2 converter, or did you also modify it directly? In any case you should push it! And rename the old atj to atj-v1
21:46:25wodzI renamed reg desc file BUT it still gets something like string from desc file. How can I force to not load desc?
21:47:06pamauryremove the regs- prefix of the file
21:47:26pamauryI think I remove the option to select which files to load a long time ago
21:48:48wodzpamaury: doesn't help
21:49:52wodzpamaury: The string is from regs-vsoc1000.xml and regs-vsoc2000.xml actually
21:50:29pamauryhum, but why don't I get this error?
21:50:53pamauryalso it looks strange, string makes a copy of its argument
21:51:19pamauryso it should not be possible to free the content of a string
21:51:57pamaurylol, I kid you not, the latest upgrade of my system just broke my text editor \o/
21:53:28pamaurywodz: I guess you tried to make clean everything?
21:53:35wodzpamaury: yes
21:53:47pamauryalso it's weird, those strings are like unrelated
21:53:54wodzpamaury: twice to be more precise
21:54:44pamaurywodz: can you print the content of dev_uri in hwstub_shell.cpp:main
21:55:04pamauryfor example at line 1351, add printf("dev_uri = '%s'\n", dev_uri);
21:55:22pamauryahhhh, ok I think I know why, don't look further
21:56:11pamauryin hwstub_shell.cpp: main
21:56:11pamaury- const char *dev_uri = hwstub::uri::default_uri().full_uri().c_str();
21:56:11pamaury+ std::string dev_uri = hwstub::uri::default_uri().full_uri();
21:56:15pamaurytry this
21:56:34pamaurythis is just completely unsafe
21:58:50wodzthis at least gives sane output
21:59:27pamauryare you sure your device is plugged?
22:00:16pamaurywhat is the output of lsusb ?
22:01:03wodzit is not listed in lsusb AND dmesg return unable to enumerate USB device. Hence somehow atj hwstub got broken.
22:01:53fs-bluebot_Build Server message: 3New build round started. Revision 3b7e7cb, 255 builds, 15 clients.
22:02:44pamauryI think the last time we touched it was when we fixed the usb driver right?
22:03:38pamaurywodz: it may be my fault, I changed the section of some code in atomic_rw.S
22:03:49pamaurysee the last commit in stub/asm/mips
22:04:59pamauryI'm not a 100% since it should not fail at enumeration then
22:06:41wodzwell this branch I am on is not particularly fresh. It is based on cfa1c843f254ac56fa2b2b5d481cc01425592a1e
22:07:33pamauryhum, then I don't think you have any of my recent changes to hwstub (not that there were many that could touch atj)
22:09:03wodzdid you referred to change from .section .text to .section .icode in atomic_rw.S ?
22:10:04wodzpamaury: this? 2cdfc43f ?
22:10:35pamauryyes, that's the only recent change that could touch atj
22:10:40pamauryI think
22:11:00wodzIt is included in this branch
22:11:11wodzlets look closer
22:12:18fs-bluebot_Build Server message: 3Build round completed after 625 seconds.
22:12:19fs-bluebot_Build Server message: 3Revision 3b7e7cb result: All green
22:13:12 Quit Rower (Quit: Hmmm...)
22:13:17wodzpamaury: this commit touches linker script as well. I need to study elf output if all assumptions hold
22:14:23pamaurywodz: hum wait no I'm no referring to this commit
22:14:52pamaurythis is the original atomic commit, it's old so I think you must have it in your branch already?
22:15:55*pamaury is confused
22:16:04wodzyes I have it in this branch
22:17:03pamauryhum no I don't think any of my recent commit has changed atj, but I don't know when was the last try to recompile/tested it
22:17:28 Join Rower [0] (
22:17:51pamaurybut it seems to me that since 0e2b4908d0 (atj usb rework from you), no other commit in stub/ has changed anything for atj
22:18:27pamaurymaybe try to get back to 0e2b4908d0 to confirm it was working at the time
22:19:08wodz2cdfc43f10e3d755018ea508b64b209608d71864 works
22:20:15wodzI mean enumerates and lsusb shows fee1:dead device
22:21:50wodzBUT hwstub_shell returns now Cannot open device: unspecified error
22:21:53wodzpamaury: ^
22:22:23pamauryiirc, the usb driver at the time was broken
22:22:42pamaurywhich is why in 0e2b4908d012 you fixed it
22:23:17wodzok lets try
22:23:40pamauryare there several atj devices?
22:25:27wodz0e2b4908d012 doesn't work
22:26:22wodzI can't understand this
22:26:46pamaurylol, that's funny for a fix
22:27:13pamauryalthough I clearly remember helping you with this: the old driver was failing random because it did not handle some acks or packet splitting
22:28:16pamaurywhere does it fail at enumeration?
22:29:01wodzDon't know now. I will need to trace it. But I don't know if I'll find time during next week to dive into
22:29:36pamaurythat's really strange, I mean if you pushed it, it must have worked, was it on the same device?
22:30:43wodzI have only one e150 in 'working' condition
22:48:17***Saving seen data "./dancer.seen"
23:03:13 Quit wodz (Quit: Leaving)
23:08:15[Saint]Honestly, I think we'll always be fighting against "weird shit(TM)" in this type of regard. We never managed to ever track down how the theme engine was managing to corrupt memory.
23:08:25[Saint]It just kinda stopped happening.
23:08:59[Saint]And since then the buffer and filesystem subsystems were completely reworked.
23:09:07[Saint]I think a lot of the core works by happy accident.
23:10:07[Saint]Not helped by a majority of it being legacy voodoo no one is familiar with anymore or wanted to touch when they were.
23:12:04pamaurywell the engine is so complicated (especially the dynamic stuff) that I don't trust it
23:12:16pamaurydebugging that is hard
23:13:18pamauryI once wanted to do it with the mmu, but since we never really used the mmu, that would be a massive piece of work
23:13:29[Saint]two things I never liked the idea of, and fought and lost against (democracy in action, I have no issue with this - but I am bitter about it( are:
23:13:39[Saint]and the filesystem rework
23:13:54[Saint]two things that are now essentially impossible to reliably debug or revert.
23:14:28pamauryyeah but what was before was worse
23:14:41pamaurysince it was know to be broken and essentially unfixable
23:15:14[Saint]Eh...I kinda agree and disagree. WHen presented with two evils, better the devil you know - so to speak.
23:15:47[Saint]Bufflib I am way more cool with than the filesystem rework. At least the former was tested well.
23:15:54 Quit lebellium (Quit: ChatZilla 0.9.92 [Firefox 49.0.2/20161019084923])
23:16:07pamaurywell maybe not, the old filesystem code was full of race condition, wasn't MT safe, was essentially running in parallel of dircache so the two could easily be inconsistent. Basically it was pure luck
23:16:53[Saint]Yes, this is true. The current system has screwed up two fundamental features though.
23:17:17[Saint]dircache in RAM and walking the FS for relative paths.
23:17:35pamauryhum, relative paths work
23:17:46pamauryor I misunderstand what you mean
23:17:53[Saint]not across internal/external storage last time I looked.
23:18:18pamauryI would need to check, but this didn't work before either
23:18:34pamauryand you mean tagcache in RAM ? dircache is always in ram
23:18:34[Saint]I swear it used to.
23:18:44[Saint]yes, sorry, tagcache.
23:19:02[Saint]makes the db unbearably slow on disk based targets.
23:19:08pamauryI really doubt it, the old was strcmp(path,"/microSD") basically, so no way relative paths could work
23:19:27[Saint]there's users running years old builds just to make the DB less painful to use.
23:19:32[Saint]that's troubling.
23:19:43pamauryI admit the tc in ram feature seemed to be useful, although last time I checked, it doesn't seem to be fundamentally impossible, the code was simply disabled
23:20:08pamauryand no dev tried to re-enable it
23:20:38pamaurywhich is probably explained by the fact that no sane person wants to read the tc code
23:20:40[Saint]I did. But I got swamped in total unfamiliarity.
23:21:15[Saint]I was vaguely familar with the old fs code. The new stuff is entirely foreign to me.
23:21:31pamauryI'll try to have a look
23:22:27pamauryI just have too many things to do
23:22:38[Saint]There's a not in the code to the effect that it was deliberately left out because the new fs subsystem was supposed to be fast enough for it to be entirely transparant to the user that tagcache wasn't cached.
23:22:51[Saint]But observation disproves this easily.
23:23:00[Saint]*note in
23:23:40[Saint]I speculate that it was written and tested on flash targets.
23:23:57[Saint]on disk based targets it is really noticeable.
23:24:09pamauryhum, I can't see how it could be fast enough, the disk is just too slow to seek
23:24:14pamauryand tagcache is seeking a lot
23:27:11*pamaury goes to bed
23:31:55 Quit pamaury (Ping timeout: 260 seconds)

Previous day | Next day