Previous day | Jump to hour: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Next day

Seconds: Show Hide | Joins: Show Hide | View raw
Font: Serif Sans-Serif Monospace | Size: Small Medium Large

Click in the nick column to highlight everything a person has said.
The Logo icon identifies that the person is a core developer (has commit access).

#rockbox log for 2009-11-26

00:01:55wodzOk thanks everyone for help.
00:01:58 Quit wodz ("CGI:IRC")
00:02:49 Quit petur ("Zzzzz")
00:04:02Unhelpfulkugel: use ldr = etc instead of adr. the address is *already* stored as a constant on account of being loaded in that manner elsewhere.
00:04:41Unhelpfularm docs are pretty clear about the adr pseudo-op being illegal between sections, as absurd as that is.
00:06:07 Join geert_ [0] (
00:10:10 Quit pamaury ("exit(*(int *)0 / 0);")
00:11:10 Quit bertrik (Read error: 113 (No route to host))
00:13:53 Join Strife89 [0] (
00:14:45 Join dude187 [0] (
00:16:47 Quit Stephen___ ("Leaving")
00:17:49 Quit stripwax (Read error: 110 (Connection timed out))
00:18:55CIA-80New commit by kugel (r23753): Add a simple sanity check before checking for changed binary.
00:21:23 Quit domonoky1 (Read error: 104 (Connection reset by peer))
00:22:06 Quit geertvdijk (Read error: 110 (Connection timed out))
00:23:24CIA-80New commit by kugel (r23754): Mini2440: Cleanup SD driver a bit, undefine SD_DEBUG for faster transfers, implement hotswap and HAVE_HOTSWAP_STORAGE_AS_MAIN.
00:39:44 Join LlorPhone [0] (n=pocketir@
00:39:47***Saving seen data "./dancer.seen"
00:40:18 Nick LlorPhone is now known as llorean (n=pocketir@
00:40:54 Nick llorean is now known as Llorean (n=pocketir@rockbox/user/Llorean)
00:44:13 Join fffdrg [0] (
00:44:17 Quit liar (Read error: 113 (No route to host))
00:44:34 Join trffffr [0] (
00:44:43 Quit trffffr (Client Quit)
00:44:53 Join trffffr [0] (
00:45:10 Join GeekShadow [0] (n=Antoine@reactos/tester/GeekShadow)
00:46:24 Quit trffffr (Client Quit)
00:49:13 Quit fffdrg ("CGI:IRC (Ping timeout)")
00:49:25 Quit Llorean (Read error: 104 (Connection reset by peer))
00:59:54*Strife89 wonders if the plugin fiasco has been fixed.
01:10:58 Part toffe82
01:26:26kkurbjunUnhelpful: are plugins supposed to work with the eabi builds?
01:31:21 Quit robin0800 (Remote closed the connection)
01:32:43 Quit T44 (Read error: 104 (Connection reset by peer))
01:35:14 Quit flydutch ("/* empty */")
01:37:29CIA-80New commit by kugel (r23755): Redo a hack that precluded entering a folder on an ejected hotswap drive. Use storage api and proper defines for the drive folder instead.
01:38:46kugelgit s dcommit
01:38:57CIA-80New commit by kugel (r23756): Revert unrelated commit
01:39:15kugelwrong window too :/
01:41:23Unhelpfulkkurbjun: they should.
01:41:50kkurbjunyeah... I'm seeing them work, it just happened to be that doom was the first I tried
01:41:53kkurbjunit crashes
01:42:21kkurbjunit's in a routine that's setting up some structures, so I'm trying to figure out why it's crashing now
01:45:30 Quit Thundercloud (Remote closed the connection)
01:47:04 Nick geert_ is now known as geertvdijk (
01:48:27 Join Tomis2 [0] (n=Tomis@
01:51:11CIA-80New commit by kugel (r23757): Remove unused card_detect(), and make card_detect_target() static inline in each sd driver.
01:54:13 Quit StealthyXIIGer (Read error: 145 (Connection timed out))
01:54:25 Quit Tomis (Read error: 131 (Connection reset by peer))
01:54:25 Nick Tomis2 is now known as Tomis (n=Tomis@
01:55:37kkurbjunUnhelpful: what is an enum size for eabi?
01:57:43kugeldepends :)
01:58:17kkurbjunkugel, I'm looking at that now - it looks like enums can be variably sized
01:58:24kkurbjunthat can really break doom
01:58:25*kugel hopes doom isn't passing enums via pointer and dereferencing assuming enum would be int-size
01:58:35kkurbjunit is
01:58:49kugelfortunately we only had a single case of that in the core
01:59:07kugelif it's a single enum you could cast it to that enum pointer though
01:59:39kkurbjunit would be a real pain to fix it in doom - it does it all over the place
02:00:01kugelwell, doom isn't what is once has been anyway :p
02:00:16kkurbjunhow do you mean?
02:00:30Unhelpfulkkurbjun: you could compile doom with -fno-short-enums (iirc), although if it accesses *any* enums or structs containing enums in core *that* will be broken as well.
02:01:03kugelI was about to shout "get rid of it", but honestly I'm not impressed anymore by it
02:01:05kkurbjunUnhelpful: I am not aware of any enums in the plugin api offhand
02:01:38kkurbjunkugel, I don't really care if you're impressed by it, it's not up for removal
02:01:43Unhelpfulwhat about in pluginlib?
02:01:50kugelkkurbjun: I was kidding
02:01:53Unhelpfulit'll warn on linking to pluginlib, too. :/
02:02:01kkurbjunI don't believe it uses pluginlib offhand
02:04:05kkurbjun:), but yes, it does give warnings - I used the -mabi=aapcs-linux flag when compiling it - I'm not sure if that has other consequences though
02:06:33 Quit geertvdijk (Read error: 110 (Connection timed out))
02:07:07 Join BHSPitLappy [0] (n=BHSPitLa@unaffiliated/bhspitmonkey)
02:07:09kkurbjunit runs with that flag, I'll have to look into where exactly it uses the enums that way - there's at least one place that mixes them with int pointers that causes data aborts, it might be possible to work around that with a bit of trickery though
02:08:46 Quit GeekShadow ("The cake is a lie !")
02:09:33 Join Topy44 [0] (n=Topy44@
02:09:33 Quit parafin ("So long and thanks for all the fish")
02:09:43 Join parafin [0] (
02:10:24Unhelpfulkkurbjun: "a bit of trickery" pretty much means either changing the enum vars to int, or using pointers of the correct type.
02:11:37Unhelpfulin general C does not promise that enum variables are of a specific size...
02:13:06 Quit Tomis ()
02:24:41 Nick jds2001_ is now known as jds2001 (n=jds2001@fedora/jds2001)
02:30:24 Quit killan ("( :: NoNameScript 4.22 :: )")
02:31:51 Join Tomis [0] (n=Tomis@
02:32:26 Join fdinel [0] (
02:33:41 Join killan [0] (
02:34:35kkurbjunUnhelpful: yeah, my intention was to manipulate them to use the correct size- it would require an extra entry in the structure that contains all the settings for doom. Offhand I think it could store a sizeof the variable and then switch the size entry when performing the copy
02:34:55kkurbjunso that it is typedefd to the right size
02:36:03 Join killan_ [0] (
02:38:36 Quit dude187 (Read error: 113 (No route to host))
02:39:50***Saving seen data "./dancer.seen"
02:40:23 Quit Tomis ()
02:44:58 Quit killan_ ("( :: NoNameScript 4.22 :: )")
02:45:03 Quit Lucky7hirteen ()
02:45:52 Quit MethoS- (Remote closed the connection)
02:50:39 Part kkurbjun
03:03:03 Quit kugel (Remote closed the connection)
03:07:13 Join froggyman [0] (
03:08:47 Quit panni_ ("( :: NoNameScript 3.81 :: )")
03:23:31 Join Llorean [0] (
03:24:57 Quit JdGordon ("Leaving.")
03:27:03 Join dmb [0] (n=Dmb@unaffiliated/dmb)
03:30:14 Nick fxb is now known as fxb__ (
03:38:45 Quit Strife89 (Connection reset by peer)
03:39:15 Join Strife89 [0] (
03:41:23 Quit FlynDice (Remote closed the connection)
03:41:43 Join FlynDice [0] (
03:42:29 Quit bzed (
03:42:29 Quit ps-auxw (
03:42:29 Quit Overand (
03:42:29 Quit markun (
03:42:29 Quit knittl (
03:42:29 Quit fish_ (
03:42:29 Quit rjg (
03:42:29 Quit hatseflats (
03:44:43 Quit Topy44 (Read error: 131 (Connection reset by peer))
03:46:29 Join Topy44 [0] (
03:47:28 Join Rob2223 [0] (n=Miranda@
03:51:55 Join CaptainKewl [0] (n=jason@
03:58:22NJoinOverand [0] (
04:05:03 Quit TheSeven (Nick collision from services.)
04:05:21 Join The_Seven [0] (n=theseven@rockbox/developer/TheSeven)
04:05:28 Quit Rob2222 (Read error: 113 (No route to host))
04:05:33 Nick The_Seven is now known as TheSeven (n=theseven@rockbox/developer/TheSeven)
04:15:43NJoinbzed [0] (
04:15:43NJoinps-auxw [0] (
04:15:43NJoinhatseflats [0] (n=hatsefla@
04:15:43NJoinrjg [0] (
04:15:43NJoinknittl [0] (n=knittl@unaffiliated/knittl)
04:15:43NJoinfish_ [0] (
04:15:43NJoinmarkun [50] (n=markun@rockbox/developer/markun)
04:16:07 Part froggyman
04:17:02 Quit Rondom (Nick collision from services.)
04:17:14 Join Rondom_ [0] (
04:20:28 Join JdGordon [0] (n=jonno@rockbox/developer/JdGordon)
04:23:51*Llorean discovers that the clip doesn't mute after minimum volume
04:31:02 Join Lss [0] (
04:37:53 Quit Lss (Read error: 54 (Connection reset by peer))
04:39:35 Quit parafin (
04:39:35 Quit Hadaka (
04:39:35 Quit r00s (
04:39:35 Quit aevin (
04:39:35 Quit Strife89 (
04:39:35 Quit jasio (
04:39:35 Quit J-23 (
04:39:35 Quit JdGordon (
04:39:35 Quit _Tristan_ (
04:39:35 Quit jordan` (
04:39:35 Quit rasher (
04:39:35 Quit grndslm (
04:39:35 Quit Slasheri (
04:39:35 Quit jon-kha (
04:39:35 Quit lostlogic (
04:39:35 Quit thegeek (
04:39:35 Quit n17ikh (
04:39:35 Quit yosafbridge (
04:39:35 Quit GodEater (
04:39:35 Quit ThomasAH (
04:39:35 Quit evilnick (
04:39:35 Quit bzed (
04:39:35 Quit ps-auxw (
04:39:35 Quit Rondom_ (
04:39:35 Quit markun (
04:39:35 Quit fish_ (
04:39:35 Quit rjg (
04:39:35 Quit hatseflats (
04:39:35 Quit knittl (
04:39:35 Quit HBK (
04:39:35 Quit FOAD (
04:39:35 Quit goffa (
04:39:35 Quit Kopfgeldjaeger (
04:39:35 Quit gevaerts (
04:39:35 Quit shodanX_ (
04:39:35 Quit BlakeJohnson86 (
04:39:35 Quit sbhsu (
04:39:35 Quit kadoban_ (
04:39:35 Quit togetic (
04:39:35 Quit AlexP (
04:39:35 Quit Dhraakellian (
04:39:35 Quit tha (
04:39:35 Quit Zambezi (
04:39:35 Quit xavieran (
04:39:35 Quit ChanServ (
04:39:54***Saving seen data "./dancer.seen"
04:40:00 Join ShapeShifter499 [0] (
04:40:59NJoinChanServ [0] (ChanServ@services.)
04:40:59NJoinJdGordon [0] (n=jonno@rockbox/developer/JdGordon)
04:40:59NJoinRondom_ [0] (
04:40:59NJoinmarkun [50] (n=markun@rockbox/developer/markun)
04:40:59NJoinfish_ [0] (
04:40:59NJoinknittl [0] (n=knittl@unaffiliated/knittl)
04:40:59NJoinrjg [0] (
04:40:59NJoinhatseflats [0] (n=hatsefla@
04:40:59NJoinps-auxw [0] (
04:40:59NJoinbzed [0] (
04:40:59NJoinStrife89 [0] (
04:40:59NJoinparafin [0] (
04:40:59NJoinHBK [0] (
04:40:59NJoinFOAD [0] (
04:40:59NJoingoffa [0] (n=goffa@
04:40:59NJoin_Tristan_ [0] (i=tristan@
04:40:59NJoinKopfgeldjaeger [0] (
04:40:59NJoingevaerts [0] (n=fg@rockbox/developer/gevaerts)
04:40:59NJoinjordan` [0] (n=jordan@
04:40:59 Join rasher [50] (n=rasher@rockbox/developer/rasher)
04:40:59NJoinshodanX_ [0] (
04:40:59NJoingrndslm [0] (n=grndslm@
04:40:59NJoinDhraakellian [0] (
04:40:59NJoinZambezi [0] (i=Zulu@
04:40:59NJointogetic [0] (n=togetic@unaffiliated/ibuffy)
04:40:59NJoinBlakeJohnson86 [0] (
04:40:59NJoinsbhsu [0] (
04:40:59NJoinkadoban_ [0] (
04:40:59NJoinAlexP [0] (n=alex@rockbox/staff/AlexP)
04:40:59NJointha [0] (
04:40:59NJoinxavieran [0] (
04:40:59NJoinn17ikh [0] (n=n17ikh@
04:40:59NJoinevilnick [0] (i=4571af51@rockbox/staff/evilnick)
04:40:59NJoinJ-23 [0] (
04:40:59NJointhegeek [0] (n=nnscript@
04:40:59NJoinr00s [0] (
04:40:59NJoinaevin [0] (i=eivindsy@unaffiliated/aevin)
04:40:59NJoinHadaka [0] (
04:40:59NJoinjasio [0] (
04:40:59NJoinlostlogic [50] (n=lostlogi@rockbox/developer/lostlogic)
04:40:59NJoinjon-kha [0] (
04:40:59NJoinGodEater [0] (n=bibble@rockbox/staff/GodEater)
04:40:59NJoinSlasheri [0] (i=miipekk@rockbox/developer/Slasheri)
04:40:59NJoinyosafbridge [0] (n=yosafbri@
04:40:59NJoinThomasAH [0] (
04:40:59Mode"#rockbox +o ChanServ " by
04:56:30Strife89Llorean: The iPod Color technically doesn't mute at -74, but it's so quiet that one otherwise needs absolute silence to have any chance of noticing.
04:57:52LloreanStrife89: I listen to my gigabeat pretty regularly in the 70s at night
04:58:06LloreanAnd the Clip is quiet but I can make it out
04:58:36 Quit ShapeShifter499 (Client Quit)
05:00:38 Quit BHSPitLappy (Read error: 110 (Connection timed out))
05:02:06 Join bughunter21 [0] (
05:02:06 Quit bughunter2 (Nick collision from services.)
05:02:17 Nick bughunter21 is now known as bughunter2 (
05:03:57CtcpVersion from freenode-connect!freenode@freenode/bot/connect
05:12:41 Join bughunter21 [0] (
05:12:41 Quit bughunter2 (Nick collision from services.)
05:12:52 Nick bughunter21 is now known as bughunter2 (
05:29:46 Quit CaptainKewl (Remote closed the connection)
05:35:22 Quit Strife89 ("Bed.")
05:39:10 Join FOAD_ [0] (
05:41:50 Quit fdinel ("Miranda IM! Smaller, Faster, Easier.")
05:43:11 Quit rvvs89 (Read error: 110 (Connection timed out))
05:43:16 Join T44 [0] (n=Topy44@
05:45:35 Join jesusaurus [0] (
05:45:37 Quit Topy44 (Read error: 54 (Connection reset by peer))
05:50:33 Quit Horscht (Read error: 104 (Connection reset by peer))
05:55:23 Quit FOAD (Read error: 110 (Connection timed out))
05:55:23 Nick FOAD_ is now known as FOAD (
05:58:56 Nick FlynDice is now known as FlynDice_ (
06:05:46 Quit FlynDice_ (Remote closed the connection)
06:06:08 Join FlynDice [0] (
06:06:25 Quit Llorean ("Leaving.")
06:20:08 Join rvvs89 [0] (n=ivo@
06:24:42 Join Lucky7hirteen [0] (n=freaking@
06:24:57 Join BHSPitLappy [0] (n=BHSPitLa@unaffiliated/bhspitmonkey)
06:39:59***Saving seen data "./dancer.seen"
06:47:58pixelmaLlorean: just discovered myself a few days ago that the lowest volume setting on my c200 is not completely silent either
06:53:35 Join Hilikus [0] (n=hilikus@unaffiliated/hilikus)
06:53:47Hilikushey guys. does rockbox support symlinks?
06:54:07 Join KBH [0] (n=hbk@
06:59:27 Quit bluebrother (Nick collision from services.)
06:59:29 Join bluebroth3r [0] (n=dom@rockbox/developer/bluebrother)
07:08:43 Quit Lucky7hirteen (Read error: 110 (Connection timed out))
07:11:25 Quit HBK (Read error: 110 (Connection timed out))
07:11:31 Nick KBH is now known as HBK (n=hbk@
07:25:53pixelmaJdGordon: why do rsbs files get packaged on targets without remote and why do they exist as ".rsbs" in the source? For WPSs the packager will pick a suitable .wps if the target has a remote and renome when making the zip and I think that would be better and more consistent for sbs as well. You also save one file in the source or actually two if I would commit what I have because I'd need another file for the greyscale Iaudio remote
07:26:11pixelmarename too
07:26:32JdGordonthe rsbs in the source can be deleted
07:26:42JdGordonthey get added becasue im a lazy coder...
07:26:45JdGordonback in a few min
07:28:45 Join JdGordon1 [0] (
07:30:41pixelmashould work the same as wps and rwps, so I'd expect that adapting the mechanism wouldn't be that hard or time consuming
07:34:32JdGordon1sure... just add a check in to see if there is a remote.... or leave it because a 4KB text file isnt a big deal
07:35:40 Join matsl [0] (
07:37:07 Part Hilikus ("Ex-Chat")
07:38:38JdGordon1removing the assumption of there being an inbuilt statusbar (of any type makes a few screens much simpler :)
07:39:17JdGordon1it means the only screens to ever need to modify the there are ones which require the full screen... which are almost none
07:45:08 Quit BHSPitLappy ("Ex-Chat")
07:45:44 Quit xavieran (Read error: 110 (Connection timed out))
07:47:12jesusaurusbut any that require full screen may leave artifacts if the statusbar area is not updated
07:48:04 Nick fxb__ is now known as fxb (
07:48:18 Nick fxb is now known as fxb__ (
07:49:23JdGordon1once more?
07:49:42JdGordon1full screen means the statusbar has been disabled
07:52:54pixelmaJdGordon1: the text file isn't big but it clutters up the directory and is confusing
07:53:22JdGordon1it will be hidden on non remote targets...
07:53:46*JdGordon1 would prefer someone to spend some time fixing instead of buldzip....
07:55:11pixelmanot in the filebrowser (internal if you have let it show all files or of your OS) and it's still clutter even if you don't usually see it
08:00:30JdGordon1ok, sure
08:01:49 Join LinusN [0] (n=linus@rockbox/developer/LinusN)
08:19:31 Join bertrik [0] (
08:40:00***Saving seen data "./dancer.seen"
08:43:15 Join Tomis [0] (
08:45:49topikTheSeven: after those timer changes the nano2g is a lot more fun to use
08:47:04topikonly things left not working for me are usb storage access when HID is on, and 'stkov dircache' panic each time i disconnect from usb and have dircache on
08:47:06 Join flydutch [0] (
08:48:02 Join Rob2222 [0] (
08:48:13 Join AndyI [0] (n=pasha_in@
08:48:28 Quit BlakeJohnson86 (Read error: 104 (Connection reset by peer))
08:50:03 Join BlakeJohnson86 [0] (n=bjohnson@
08:50:44TheSeventopik: just increase the dircache stack size for now
08:50:49TheSevenno idea about the usb problem though
08:51:11topiki turned it off instead. 2G storage is not enough to get lost in
08:51:31TheSevenbut you're right, the clickwheel behavior has improved dramatically
08:53:31topikeven with the nervous wheel the nano2g running rockbox is much better than the OF but now it's less of a challenge using the menus
08:55:49 Join Zagor [242] (n=bjorn@rockbox/developer/Zagor)
08:59:01 Join maruk [0] (n=papier@
09:01:34 Quit bertrik (Read error: 60 (Operation timed out))
09:02:26 Quit Zagor ("Don't panic")
09:04:49 Quit fyrestorm ("Ur skills' fireproof like a wooden panel -- U got feds talking leet on your IRC channel!")
09:05:14 Quit Rob2223 (Read error: 110 (Connection timed out))
09:05:33 Join einhirn [0] (
09:11:12 Join petur [50] (n=petur@rockbox/developer/petur)
09:13:08 Quit BlakeJohnson86 (Read error: 145 (Connection timed out))
09:13:54 Join liar [0] (n=liar@
09:17:16 Quit TheSeven (Read error: 113 (No route to host))
09:22:03 Join Bagder [0] (
09:24:33 Join BlakeJohnson86 [0] (
09:26:03 Join Thundercloud [0] (
09:29:41 Join Zagor [242] (n=bjorn@rockbox/developer/Zagor)
09:44:14 Quit Zagor (Remote closed the connection)
09:45:59 Quit Thundercloud (Remote closed the connection)
09:48:22 Join Zagor [242] (n=bjorn@rockbox/developer/Zagor)
09:53:53 Join Psirus [0] (
09:54:06 Join antil33t [0] (
09:55:07 Join kugel [0] (i=kugel@rockbox/developer/kugel)
10:01:38 Quit liar (Read error: 145 (Connection timed out))
10:32:19 Join DerPapst [0] (n=DerPapst@
10:34:51 Join liar [0] (
10:39:40 Part Psirus
10:40:01***Saving seen data "./dancer.seen"
10:55:15 Quit phanboy4 (Read error: 104 (Connection reset by peer))
10:59:09 Join Casainho [0] (n=chatzill@
10:59:46 Quit liar (Read error: 110 (Connection timed out))
11:22:33 Join webguest27 [0] (n=79dcfdfe@
11:22:59 Join pamaury [0] (n=pamaury@
11:23:08webguest27um how can i re tore my ipod 1g nano
11:23:59 Quit webguest27 (Client Quit)
11:28:28 Quit kugel (Read error: 145 (Connection timed out))
11:29:55gevaertspamaury: I'll try to review the mtp work later today. It would be nice to get it committed, even if it doesn't fully work yet
11:32:15pamaurygevaerts: yes I agree but there are still things I would like to discuss and code before commiting it. This include changes to usb.c and also it would be necessary to think about the MSC/MTP relation
11:37:52pamauryI don't know if there are plans to have other usb drivers is a (near) future but perhaps all usb drivers should have an activation flags (like usb_hid) and there would be a menu in which the user can change the usb driver profile (ex: MSC+HID, MTP, MSC, HID only, ...). And in the debug menu, one could edit this driver by driver and the hold button would launch this profile. This would avoid those hardcoded call in usb.c
11:39:49 Join kugel [0] (i=kugel@rockbox/developer/kugel)
11:41:33gevaertsI think the calls in usb.c are fine actually, although maybe they could just be in a loop. The UI bit of it does need work
11:41:55*gevaerts can talk about this in-depth tonight
11:42:54pamauryyes I don't have much time now, we'll discuss this later :)
11:49:29 Join chaos__ [0] (
11:50:27 Quit chaos (Nick collision from services.)
11:50:31 Nick chaos__ is now known as chaos (
11:51:57 Join ED-209 [0] (
11:52:06 Quit pamaury ("exit(*(int *)0 / 0);")
11:54:24 Quit ED-209 (Client Quit)
11:54:42 Join ED-209 [0] (n=3cf226e3@
11:59:05ED-209hi. I have a question regarding chip8 roms. how do I play the games?
11:59:41Bagderyou select the files in the file browser
12:02:40ED-209ok so it's PRECISELY what I said in the other channel, except I was supposed to ask in here for some reason
12:02:48ED-209cool thanks.
12:03:15Bagderyou didn't say that
12:03:59ED-209I asked if I just put the roms anywhere and then open them with the chip8 viewer
12:04:20TorneED-209: is it really hard to understand the concept of "this channel is for discussing rockbox, -community is for regular chat"?
12:04:46evilnickSelecting a file (i.e. playing it) is different from opening it with the viewer (which would be a long-select then Open With etc.)
12:06:16 Join MethoS- [0] (n=clemens@
12:19:04 Join watto [0] (n=watto@
12:19:43 Part watto
12:19:53 Join watto [0] (n=watto@
12:20:00 Part watto
12:21:02 Join watto [0] (n=watto@
12:21:18 Part watto
12:22:46 Join watto [0] (n=watto@
12:40:05***Saving seen data "./dancer.seen"
12:44:44ED-209ok so I just unzip the file
12:44:56ED-209and play the .ch8 file
12:45:24ED-209I mean .bin file
12:45:31ED-209or do I keep them zipped?
12:49:52Torneyou need to unzip it.
12:50:33Tornethey also need to be called .ch8
12:50:59Torneotherwise it won't know what viewer to run it with and you will have to do Open With from the context menu
12:52:48 Quit matsl (Read error: 110 (Connection timed out))
12:59:00 Join dfkt [0] (i=dfkt@unaffiliated/dfkt)
13:01:54 Quit Casainho (Remote closed the connection)
13:04:59 Join Horscht [0] (n=Horscht2@xbmc/user/horscht)
13:05:11 Join fyrestorm [0] (
13:13:20ED-209that was a COLLOSSAL waste of time
13:15:07ED-209I would rather have sat in the dark pushing thumbtacks into the roof of my mouth than play those games
13:15:31gevaertswe're happy to learn that
13:16:00ED-209yay, I'm helping
13:16:20linuxstbHow? Is there something wrong with Rockbox's Chip8 viewer?
13:17:12ED-209for a start the games were all about 1/4 the size of the screen and I could hardly see them, most of the games ran far to quickly to play (breakout and any of those clones) and often the keymapping was wrong or nonexistent
13:17:19 Join Lss [0] (
13:18:21ED-209half the games returned a plugin error, probably more, but I got an "archive" of every known chip8 game from some forum.. so maybe the chip8 roms were bad, or maybe the plugin has some error, I don't know
13:19:10linuxstbOK, _thats_ useful feedback...
13:19:18TorneChip8's screen resolution is 48x24 pixels, so yes, they are mostly going to be smaller than the screen
13:20:20 Quit kugel (Read error: 110 (Connection timed out))
13:20:24ED-209but most of the games were unplayable because you'd push an arrow one direction or something, and you'd go too fast or too far, sometimes the keymapping was upside down or only one key worked, and the speed of the games was pretty much unplayable.
13:20:49Tornethe chip8 has 16 keys arranged in a 4x4 grid so it's not too easy for us to map that in a way that works for every game
13:21:03Tornethere is no fixed direction keys
13:21:22ED-209can't you magnify the resolution by making each pixel 4? make the resolution 96x48 ?
13:21:36Torneit shouldn't run too fast, though, as far as I know.
13:21:53Tornechip8 delay timer is supposed to run at 60Hz regardless of what system you are running on
13:22:00Torneso games should run at the same speed always..
13:22:13Tornemaybe we have abug there, or maybe the games you tried were badly written and didn't use the delay timer..
13:22:14ED-209they looked like they were running WAY too fast
13:22:30ED-209they were supposed to be chip8 roms from the machine you described
13:22:48Torneif they weren't chip8 games they wouldn't do anything, so, er, yes :)
13:22:52ED-209I have a picture of some crappy console thing with a 4x4 grid of buttons
13:23:08TorneThat's what the chip8 is
13:23:12Tornewell, in theory
13:23:19Torneit's a virtual machine, there's never been a *real* one that I know of
13:23:23ED-209well on the h300 they ran way too fast, I couldn't imagine them running at that speed normally
13:24:03ED-209I have pictures of a bunch of them... there is some RCA version, it's in a blue box with the 1234 etc buttons... then some shitty breadboard looking things that have been cobbled together
13:24:30Tornewell yes, it's possible to implement it in hardware i fyou want
13:24:54ED-209is there ever going to be a 2600 emulator?
13:25:08ED-209or something I can play pitfall on...
13:25:15TorneFS #6048
13:25:39Tornethere is indeed a 2600 emulator, but it may not work
13:26:11ED-209last time I looked at the update the guy had given up because some of the code wasn't public domain or something
13:26:19ED-209and it never worked
13:27:02Tornelatest patch posted ther eclaims to work on ipodvideo simulator
13:27:09Torneso you could try it.
13:27:27ED-209I don't know how to apply a patch..
13:27:59Torneit also probably lacks button mappings for your player
13:28:24Tornebut yah. if you particularly want to see a 2600 emulator, then I suggest you learn to apply patches, and test it :)
13:28:38 Join liar [0] (
13:28:44Torneif it's demonstrated to work on real targets it's much more likely to go in
13:28:48ED-209I really only want to play pitfall
13:29:43ED-209I may look up how to apply patches but really I never play games, only if I'm stuck on a train for 40 minutes
13:30:03ED-209if I have some suggestions for superdom will someone here listen?
13:30:37 Join robin0800 [0] (n=quassel@
13:30:48Tornemaybe, but if you want to discuss improvements to games it's probably better to do it on the forum
13:32:14Torneas for the chip8 stuff..
13:32:49Torneif there are specific games you can point to which are public domain then it might be a good idea to report a bug describing the issues with speed
13:33:04Torneespecially if you cna try them on some other chip8 emulator and see if they work there
13:33:13 Join pondlife [50] (n=Steve@rockbox/developer/pondlife)
13:33:43ED-209really, what is the fanbase for that. if nobody else has brought this up, I doubt anyone else has even bothered with those horrible old "games"
13:34:11Tornemost people who would try to play chip8 games probably already know what it is
13:34:33Torneit's a 48x24 monochrome virtual machine, with only one beep sound and a weird keyboard layout.
13:34:45ED-209oh, I got no beeps at all.
13:34:55TorneMaybe the games weren't making any?
13:35:02ED-209I got all the games.
13:35:12TorneThere is literally just one noise. You can make it beep for a variable duration but can't even change the pitch.
13:35:20Torneso, i don't imagine games use it a lot ;)
13:35:35Torneyou presumably didn't run all the games
13:35:47ED-209I did.
13:36:00Tornewell, anyway. if you care at all, then specific reports of what's wrong would be good
13:36:04ED-209from A to Z
13:36:16Tornebut you are correct that chip8 games are not particularly great on the whole and probably only have very specific retro nostalgia value ;)
13:36:44Torneit's a very easy system to emulate, which is probably why someone did
13:37:22ED-209I might note down exactly what is wrong with each game if I try playing them again, but at the moment I've gotta pack what's left of my possessions before the rest of the apartment collapses
13:37:48Torneif you were going to do that then you should really test that the games in question work on another emulator first, though
13:37:58Torneit's quite possible that some of them 8are* broken :)
13:38:02ED-209I've got the emulator too
13:38:14ED-209if I do anything I'll do that.
13:38:31ED-209in a few days
13:42:30*Torne needs to get abck to working on his zmachine emulator ;)
13:42:54Tornebeen too distracted fixing ipod stuff and reverse engineering beast stuff.
13:43:07 Join ercani [0] (n=ercan-i@
13:43:18 Part ercani
13:44:48 Join kugel [0] (i=kugel@rockbox/developer/kugel)
13:47:10 Join ercani [0] (n=ercan-i@
13:50:35 Part ercani
13:54:04 Join geertvdijk [0] (
14:06:40 Join pamaury [0] (n=pamaury@
14:11:19 Quit Tomis ()
14:12:43 Join Tomis [0] (n=Tomis@
14:40:06***Saving seen data "./dancer.seen"
14:49:05 Join Strife89 [0] (
14:59:18 Join Strife1989 [0] (
14:59:49 Quit Strife1989 (Read error: 54 (Connection reset by peer))
15:07:01 Quit mikroflops (Remote closed the connection)
15:11:00 Join mikroflops [0] (n=yogurt@
15:21:35*pondlife logs a note for Blue_Dude - please can you have a look at FS #10814
15:24:57 Quit pamaury (Read error: 54 (Connection reset by peer))
15:33:26 Join Blue_Dude [0] (n=chatzill@rockbox/developer/Blue-Dude)
15:34:52Blue_DudeHm. I thought that function tolerated a zero length input but I don't have time to take a look at the moment. The fix looks OK for the moment though. I'm working on a replacement for that function anyway, so it can't hurt.
15:35:11 Quit Blue_Dude (Client Quit)
15:35:18 Join bughunter21 [0] (
15:35:18 Quit bughunter2 (Nick collision from services.)
15:35:29 Nick bughunter21 is now known as bughunter2 (
15:38:16Zagorgevaerts: feel like brainstorming a bit about user testing?
15:41:26*gevaerts would like to, but he doesn't really have time :\
15:41:33CIA-80New commit by pondlife (r23758): Fix crash when crossfading at natural track transition - FS #10814
15:47:18*kugel added a point
15:49:18kugelexcept I didn't
15:54:49 Join bug2000 [0] (n=bug@unaffiliated/bug2000)
15:58:20 Quit bug2000 ("Bug.In.Your.System")
15:58:53 Join bug2000 [0] (n=bug@unaffiliated/bug2000)
16:01:51 Part pondlife
16:02:41 Quit antil33t (Read error: 104 (Connection reset by peer))
16:02:47 Join antil33t [0] (
16:28:51ED-209i forgot about this webchat thing
16:30:32ED-209I'll come back here when I've found out which chip8 games work and which have screwed up keymapping, compared to an emulator
16:30:41 Quit ED-209 ("CGI:IRC")
16:35:14 Join soap [0] (n=David_Ha@rockbox/staff/soap)
16:35:16 Part LinusN
16:40:10***Saving seen data "./dancer.seen"
16:46:53ZagorI'm changing tools/configure to always ask for memory size. have that different per target just adds complexity in the build scripts
16:47:20Tornethat seems inconvenient :(
16:47:38Zagorwhat, having to press enter one extra time?
16:47:57Zagorit will still default to the correct values
16:47:58TorneOh, you can leave it blank?
16:48:04TorneRight, sorry :)
16:48:06kugelthe added complexity isn't huge
16:48:17Zagorkugel: it's unnecessary
16:48:40linuxstbWhat about considering them as separate targets, rather than as an option?
16:48:42B4gderZagor: the builds scripts should use −−options though...
16:48:46Zagorbasically we have to store in one script what configure does
16:49:00ZagorB4gder: good point
16:49:01kugelis it critical code? that would be really inconvenient
16:49:13Zagorkugel: why would it be "really" inconvenient?
16:49:41*kugel doesn't see the gain of removing it
16:49:56Zagorlook at tools/release/
16:50:20Zagorit stores an array with info about how configure acts for each target, since it has to run differently
16:50:29Zagorthat's just bad design
16:50:43Zagoralthough Bagder's point with −−options make this a moot point
16:50:56kugelfix to use the options instead, as Bagder said
16:50:57Zagorso I'll leave it alone
16:51:01*kugel is too slow
16:51:47kugelthat's why i originally implemented that options. my local script suffered from that too :)
16:55:07Torneanyone got an idea for how to prompt for a single character nicely? :)
16:55:57Torneat the moment i'm doing kbd_input(buf, 5); which is not very obvious :)
17:00:40 Join toffe82 [0] (
17:02:07 Quit kugel (Read error: 145 (Connection timed out))
17:09:03 Quit Zagor ("Don't panic")
17:11:53 Quit Sajber^ (Success)
17:23:41 Join n1s [0] (n=n1s@rockbox/developer/n1s)
17:32:28 Quit Strife89 ("If you hold a Unix shell to your ear, you can hear the C.")
17:50:14 Join Omlet [0] (i=omlet05@
17:56:11 Quit liar (Connection timed out)
17:57:32CIA-80New commit by mcuelenaere (r23759): Merge branch 'hotswap'
18:02:16 Quit petur ("work->home")
18:05:20 Join mcuelenaere [0] (n=mcuelena@rockbox/developer/mcuelenaere)
18:05:46mcuelenaereanyone that can enlighten me on the red? I have CONFIG_STORAGE set to STORAGE_SD..
18:06:07mcuelenaere(oh and my previous commit was supposed to have its full history, not a single "merge branch" one..)
18:07:00 Join kugel [0] (n=kugel@rockbox/developer/kugel)
18:08:49 Join solexx_ [0] (
18:10:17 Join hebz0rl [0] (
18:10:26kugelmcuelenaere: oh, you adapted quickly :)
18:10:34mcuelenaerekugel: no, I had that driver ready for a long time :)
18:10:42mcuelenaereit was just Rockbox that needed adapting ;)
18:11:23mcuelenaerelooks like the SD driver needs some MV_ -> MD_ adaption
18:13:38mcuelenaerehmm great, we have both MULTIDRIVE and MULTIVOLUME.. :/
18:13:53kugelyes, that's intentional
18:14:40 Quit Omlet ("( :: NoNameScript 4.22 :: )")
18:14:47mcuelenaereyeah well I wasn't sure which to choose for sd.c; figured it out now :)
18:17:16kugelhm, I simply defined multidrive for the mini2440 to get around those other changes
18:17:45CIA-80New commit by mcuelenaere (r23760): Define HAVE_MULTI{VOLUME,DRIVE} (aka fix red) for Onda VX7x7
18:18:02mcuelenaereyes I saw that, but isn't that a bit hackish?
18:18:35kugelwell, your commit just did that too ?
18:19:07mcuelenaereI know :)
18:19:16*mcuelenaere now has to fix the VX767..
18:22:20 Join phanboy4 [0] (
18:22:34CIA-80New commit by mcuelenaere (r23761): Fix Onda VX767
18:23:47 Quit maruk (Read error: 145 (Connection timed out))
18:25:02 Quit solexx (Read error: 110 (Connection timed out))
18:30:07 Join funman [0] (n=fun@rockbox/developer/funman)
18:32:50 Join maruk [0] (
18:33:12 Quit maruk (Client Quit)
18:38:08 Join bmbl [0] (n=Miranda@unaffiliated/bmbl)
18:39:32CIA-80New commit by mcuelenaere (r23762): - Split off strip_volume() to a separate file ...
18:40:13***Saving seen data "./dancer.seen"
18:41:24CIA-80New commit by mcuelenaere (r23763): Forgot file
18:43:53 Join Sajber^ [0] (
18:49:06CIA-80New commit by mcuelenaere (r23764): Define sd_drive_nr also when HAVE_HOTSWAP is defined (fix red).
18:49:17*mcuelenaere hopes this is the last one..
18:49:51*geertvdijk feels very grateful seeing all those commits come by
19:09:46 Join tomers [0] (
19:09:58CIA-80New commit by tomers (r23765): Fix diacritic and save some bin size ...
19:10:22 Quit funman ("free(random());")
19:15:57 Join bertrik [0] (
19:16:11kugelwhat's wrong with
19:17:19tomerskugel: works for me
19:17:39 Join pixelma_ [0] (i=quassel@rockbox/staff/pixelma)
19:17:39 Quit pixelma (Nick collision from services.)
19:17:42 Quit amiconn (Nick collision from services.)
19:17:43 Join amiconn_ [0] (i=quassel@rockbox/developer/amiconn)
19:17:56 Nick pixelma_ is now known as pixelma (i=quassel@rockbox/staff/pixelma)
19:18:02 Nick amiconn_ is now known as amiconn (i=quassel@rockbox/developer/amiconn)
19:20:28pixelmamay I ask again why there is a "Failed regex:" right above the download table?
19:23:03 Quit tomers ("ChatZilla 0.9.85 [Firefox 3.5.4/20091028153816]")
19:23:14 Join domonoky [0] (n=Domonoky@rockbox/developer/domonoky)
19:23:46kugelI can't access it :/
19:24:10kugelthe build table works, but the current build download page not (using google chome)
19:26:43pixelmathe page seems ok in FF but maybe that's still related
19:27:44kugelseems so, epiphany works here
19:29:05 Quit n1s (Read error: 110 (Connection timed out))
19:30:26 Join saratoga [0] (i=463f90ed@gateway/web/freenode/x-bqcgwnemnbvcqwjk)
19:30:49saratogai noticed we've been making a lot of libraries that were permissively licensed GPL only as we optimize them
19:31:12saratogafor instance Tremor and libwma now appear to be GPL when they were originally BSD and LGPL
19:32:37saratogawhat is the correct way to deal with this?
19:32:37kugelwe did that?
19:32:54saratogakugel: by adding rockbox source headers, yeah
19:33:14saratogasee Tremor's /apps/codecs/lib/mdct_arm.S
19:33:24kugelare we even allowed to just relicence? I thought we imported that code under its original license
19:33:53kugelis there some indication on their websites/mailing lists that we are the cause?
19:33:56 Join fml [0] (
19:33:59saratogathe original license was BSD, so we can do whatever we want with it
19:34:24saratogabut i'm sure it was an accident, I emailed Tomasz and he said it was still BSD
19:34:42saratogado we have a rockbox BSD header?
19:35:01saratogaor should the files have a GPL rockbox header and a note saying the original licensing can also be used?
19:35:10fmlHello. The link for the nuremberg fmr file is broken (on Who can repair it?
19:35:36kugelsaratoga: except just relicensing it
19:35:58pixelmafml: are you in Nuremberg now?
19:36:01 Join Omlet [0] (
19:36:08 Join TheSeven [0] (n=theseven@rockbox/developer/TheSeven)
19:36:23pixelmamaybe to the other channel though... ;)
19:37:17kugelI'm no lawyer but surely we can only dictate the license on code *we* wrote?
19:37:51saratogakugel: you can relicense BSD code if you want
19:37:55saratogathe license says so
19:38:13fmlpixelma: Yes. But not long anymore.
19:38:15kugel"Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer."
19:39:09saratogawhich is GPL compatible
19:39:35pixelmafml: I suspect it is a codepage issue and try to fix it
19:39:38saratogathats the idea, you can put the Tremor decoder into your companies source code and license it however you like
19:40:01B4gderthat's not exactly what you do
19:40:05B4gderthe license is still BSD
19:40:22kugeldoesn't that mean that source redistributions shall keep the license text intact?
19:40:22B4gderit's just very liberal in what it allows you to do with it
19:40:28pixelmahmm... didn't help, maybe on of the Swedes can help
19:40:36bertrikbut can you put GPL code into a BSD project and still claim the whole is licensed as BSD?
19:40:48B4gderbertrik: no
19:41:09saratogaI think you can
19:41:11B4gderyou'd then violate the GPL license
19:41:17saratogathats what Tremorlo does to tremor
19:41:32saratogaGPL optimizations + Tremor = GPL project
19:41:49pixelmaB4gder: "Attachment 'N%C3%BCrnberg-Nuremberg.fmr' does not exist " I suggest removing the first part which should have been Nürnberg from the filename. Can you do this? (the nuremberg.fmr on FmPresetsEurope
19:42:22pixelmafml: how long?
19:42:29kugelsaratoga: that way works, but the other way around
19:42:46saratogakugel: oh
19:42:48saratogasorry misread it
19:42:57kugelthe project being gpl doesn't necessarily mean that each single source file is gpl too
19:42:58 Join Grahack [0] (
19:43:00fmlpixelma: today. Why do you ask?
19:43:02B4gderexactly, you can put BSD into a GPL project and release the whole thing as GPL
19:43:21pixelmafml: I'm in Fürth
19:43:44saratogaso if I want to our Tremor BSD licensable so that it could be given back to Xiph, how do I do that?
19:43:54saratogaremove the mistaken GPL header, or add a BSD header next to the GPL one?
19:44:17B4gdersaratoga: you need permission from the contributors (if any) that added (non-trivial) code assuming it was GPL
19:44:19pixelmathat fmr file is a bit inaccurate anyways depending on where exactly you are in Nuremberg
19:44:33saratogaB4gder: I have it
19:44:44fmlpixelma: he-he. But I'm afraid I can't go out tonight. :-/
19:44:58B4gderthen you can just as well put the BSD header on it and leave it licensed like that, imho
19:45:32pixelmafml: well, nothing to do about then
19:45:43saratogaB4gder: ok
19:46:03saratogahmm i can't make libwma full LGPL though since it uses the rockbox CORDIC code for computing sin and cos
19:46:15saratogai'll have to get rid of those
19:46:41kugelmake CORDIC LGPL?
19:50:07 Join mcuelenaere_ [0] (n=mcuelena@rockbox/developer/mcuelenaere)
19:50:46 Quit mcuelenaere (Nick collision from services.)
19:50:50 Nick mcuelenaere_ is now known as mcuelenaere (n=mcuelena@rockbox/developer/mcuelenaere)
19:52:14saratogapreglow commited it years ago but i don't know where he got it from
19:52:29saratogai'll ask him
19:56:35 Quit fml ("CGI:IRC")
19:58:19 Join polobricolo [0] (
20:04:13 Quit advcomp2019 (Read error: 104 (Connection reset by peer))
20:05:34kugelsaratoga: tremor seems to be still bsd
20:05:54saratogayeah but not all its files are (mdct_arm.S)
20:07:27*kugel can't find that file
20:07:39kugel ?
20:15:55 Join froggyman [0] (
20:17:51kugelamiconn: ping
20:19:09 Join advcomp2019 [0] (n=advcomp2@unaffiliated/advcomp2019)
20:19:14 Quit flydutch ("/* empty */")
20:23:14 Nick fxb__ is now known as fxb (
20:24:42 Quit rphillips (Client Quit)
20:27:32 Join panni_ [0] (
20:29:42 Join rphillips [0] (
20:30:24 Nick Rondom_ is now known as Rondom (
20:31:27saratogakugel: its the optimized version of the Tremor IMDCT for arm, i moved it to apps/codecs/lib so other codecs could use it
20:31:28 Quit domonoky (Read error: 104 (Connection reset by peer))
20:32:03 Join stripwax [0] (n=Miranda@
20:32:51 Quit stripwax (Client Quit)
20:32:57kugelI cant find it in the original tremor source
20:33:18saratogayeah its a new file we added, which is why it got a GPL header
20:33:49 Join domonoky [0] (n=Domonoky@rockbox/developer/domonoky)
20:36:06 Quit saratoga ("Page closed")
20:39:38 Join pamaury [0] (n=pamaury@
20:39:48kugelI thought you meant the tremor project changed the license
20:39:57kugeloh, gone
20:40:15***Saving seen data "./dancer.seen"
20:40:55 Quit kugel (Remote closed the connection)
20:41:12froggymanIf i were to do a "pirate" language translation, would it get added?
20:41:41mcuelenaereisn't there already a wiki page for that?
20:42:03gevaertspamaury: why did you remove the usb_core_enable_driver() calls in the usb_state = USB_POWERED case?
20:42:27froggymanmcuelenaere: i didnt find one, if there is, please re direct me
20:42:37*mcuelenaere looks
20:43:03gevaertsfroggyman: we only accept translations from native speakers
20:43:27mcuelenaerethey are very old though I think
20:43:36pamaurygevaerts: because it this case, the enabled drivers are selected by hand in the usb debug menu (I added some options to enable MSC, HID, Serial logf and MTP)
20:44:04gevaertspamaury: ok, so your own debugging?
20:44:05pamauryThis is to have a fine grained control over usb drivers, it's not necessary for an everyday use however
20:44:10froggymangevaerts: Arg, Aye, I understand where ye be comin' from, rest assured I am a pure pirate, ARG!
20:44:56*gevaerts now points froggyman to the IrcGuidelines page, item 4 :)
20:45:53pamauryThat's where my remark from this afternoon comes: I think a way to select between usb profiles would be better and among them, if the deug menu is activated, a way to selected exactly which drivers to enable
20:46:20gevaertsyes, that's one of the issues we really need to solve
20:46:53*pamaury leaves for about half to hour to eat !
20:47:20gevaertspamaury: I wouldn't put defines and structs in usb_mtp.h. They're really internal to usb_mtp.c, so files like usb_core.c that include usb_mtp.h for the function prototypes don't need them
20:48:29pamaurygevaerts: yes I noticed this, I plan to move them in usb_mtp.c or usb_internal.h (I don't like to have constants in a .c)
20:48:33gevaertsDid you run out of stack somewhere?
20:48:34 Join petur [50] (n=petur@rockbox/developer/petur)
20:48:47 Join kugel [0] (n=kugel@rockbox/developer/kugel)
20:49:00pamauryYes at some point at run out of stack but that was a long time ago, I need to check if it's still the case.
20:49:17pamauryI'm sorry, I have to leave but I come back soon
20:49:24gevaertsif it's still the case, we should try to find out where
20:52:21 Part watto
21:03:47 Quit hebz0rl ("Ex-Chat")
21:04:45 Join n1s [0] (n=n1s@rockbox/developer/n1s)
21:13:42 Join pondlife [50] (n=Steve@rockbox/developer/pondlife)
21:14:19 Part pondlife
21:23:01 Quit bmbl ("Bye!")
21:27:58*pamaury is here again
21:30:44 Quit toffe82 (Remote closed the connection)
21:33:04 Join kugel_ [0] (
21:37:05 Join bmbl [0] (n=Miranda@unaffiliated/bmbl)
21:43:05pamaurygevaerts: what do you mean by ""Device Friendly" does *not* mean human-readable!" ?
21:43:34gevaertspamaury: I mean that if they wanted it to mean that, they should have called it "Human Friendly"
21:43:44pamauryyes indee
21:46:07pamauryI think there will be a great deal of work to implement support for object properties and object types. I tried to setup a infrastructure for object properties but I don't know if it will proved to be useful or to rewritten
21:48:33gevaertsDo you have to handle those read/write, or can you just give read access to the properties that you felt like doing?
21:49:25pamauryHum, normally the spec specify if the property is RO or RW but I think I'm already violating this rule :)
21:49:53pamauryActually you can have a write handler but reject any write with an error message so it's not a problem
21:50:16pamauryI the future, we will need a read and write function
21:50:45gevaertsI'm not sure if supporting write is a good idea. It would need write support for all metadata on all codecs
21:51:06 Quit kugel (Read error: 110 (Connection timed out))
21:51:08gevaertsYou could just do it in the database, but I wouldn't want to tie mtp too hard to that
21:51:11pamauryYes for some of them it would be really hard to implement but some of them it perhaps worth it
21:51:31linuxstbWhat kind of properties are we talking about?
21:51:48pamauryI have not think about all this yet. The read access to metadata is a must-have but write support is not necessary
21:52:12gevaertslinuxstb: all sorts of metadata primarily, i.e. tags
21:52:28pamaurylinuxstb: MTP properties ranges from file size to metadata, from calendar entries to personal contacts or email
21:52:50pamauryBut we are mostly intested in metadata
21:53:41gevaertspamaury: I'd guess that people will like Rating to be R/W, but that one should be easy
21:55:10pamauryYes that's why I said some write should be handle. Actually, rating tags are in tagcache, no ?
21:55:18gevaertsthey are, yes
21:55:30 Quit Tomis ()
21:55:36pamauryok so this would be a simple tagcache call, easy at first glance
21:57:25pamauryBut we really need to solve the issue with MSC/MTP choice. Perhaps it's the occasion to setup a good way to choose between usb drivers
21:58:04pamaurygevaerts: (I have move the constants in a new file, usb_mtp_internal.h)
21:59:00gevaertsUSB driver selection has several constraints : some are mutually exclusive, and there is a limit to what the device can do
21:59:45gevaertsSo just a list of booleans might be OK for storing the settings (and probably is the best solution), but it's not good enough for the UI
22:00:57pamauryYes, from the UI point of view, we could have a menu to choose between profiles (the most often used are MSC and MSC+HID, and we could add MTP in that case) but still let advanced users choose driver by driver
22:01:35pamaury(the latter could be in the debug menu perhaps)
22:01:37domonokyhow about a list of "slots", depending on how much endpoints we have, so you could choose mtp+hid or msc+none..
22:02:04AlexPI don't think sending any users, advanced or otherwise into debug to change settings is a good idea
22:02:24domonokyusb profiles could just be config files with the right options, and a config browser..:-)
22:02:30gevaertsWe currently (or soon...) have four drivers : MSC, MTP, HID and Serial
22:03:34gevaertsMSC+MTP is asking for problems (although you could probably technically do MTP for internal and MSC for SD), the rest depends on choice and available endpoints
22:04:35pamauryI don't think letting the normal user allocate slots is a good idea. Some users are probably already afraid by "MSC", "MTP" and "HID"
22:05:13AlexPI don't like separate "normal" and "advanced" options
22:05:16gevaertsThere's also the fun extra complication of charging mode. That really just means "No MSC" now, but what about MTP in that context?
22:06:35*domonoky thinks "charging mode" should just disable any usbmode which blocks the dap, so only MSC for now..
22:06:52 Quit Grahack ("Leaving.")
22:08:09pamauryI disagree, charging mode means charging only so it should disable any driver except charging driver
22:08:17*gevaerts is still in a "list constraints" phase
22:08:48domonokydoesnt HID currently also work in charging mode ?
22:08:59gevaertspamaury: "charging driver" means HID really, although it doesn't actually send events
22:09:15AlexPdomonoky: It used to be in the debug menu, but no
22:09:23AlexPAs if it did, you couldn't use the dap
22:09:27gevaertsdomonoky: yes and no
22:09:32gevaertsThere's the remote_control plugin
22:09:37AlexPah yes
22:10:12domonokyah, yes, because normal HID mode would block the DAP from use..
22:10:17*gevaerts would like to see that one unified with the USB screen, allow the plugin to keep runnning during MSC, and drop button handling from the USB screen...
22:10:52 Part froggyman
22:13:13pamaurywhat exactly the current HID driver does ? Does it handle events and send them to the computer or is it the job of the usb screen or of a plugin ?
22:14:30gevaertspamaury: the driver itself basically only enumerates, and exposes a send_event() function that can be used by plugins or screens
22:14:31domonokyback to the UI, i think a menu with the list of available modes (juts on-off and protection against impossible combinations) + profiles as config files like radio presets would work fine.
22:15:25AlexPand if you select the maximum possible the others grey out?
22:15:31 Join Tomis [0] (
22:15:56domonokyAlexP: either this, or a splash if you try to enable it.
22:16:21AlexPyeah, something like that
22:16:43pamaurydomonoky: what exactly your menu would look like ? A list of combinaisons and a way to add a new one with radio presets ?
22:16:51gevaertsAlexP: it's not that easy. A driver could e.g. need two endpoints per direction, so it wouldn't work if only one is available, while other drivers would. Also, possibly not all endpoints support all transfer types on all controllers (not sure here)
22:16:52AlexPdomonoky: and e.g. if you select MSC then MTP is no longer selectable?
22:16:54linuxstbmcuelenaere: Shouldn't there be a misc.h to go with misc.c ? Which raises the question of a naming conflict with apps/misc.h... strip_volume() is currently declared in dir_uncached.h and implemented in misc.c.
22:17:23mcuelenaerehmm I hadn't thought about that
22:17:39domonokygevaerts: count the needed endpoints per enabled driver, if over max show a splash
22:17:41AlexPgevaerts: Yeah, so if with the current selection another isn't available for whatever reason, either you can't select it, or when you do you get a splash telling you the problem
22:17:49mcuelenaerelinuxstb: it could probably be renamed to something like filefuncs.c or so
22:18:05AlexPWe give each driver a "score" to help people chose
22:18:43AlexPSo say e.g. your device has a max of 3, MTP is 2, MSC is 2, HID is 1 (or whatever, I clearly made those numbers up as I have no idea what they actually are :))
22:18:55gevaertsThe way it currently works (in usb_core, so that doesn't have to force things on the UI) is that it tries to enable all selected drivers, some of which might fail
22:18:57*linuxstb thinks this USB configuration sounds like a logic puzzle plugin, not a setting...
22:19:10AlexPlinuxstb: This is the problem
22:19:21AlexPMaybe just have a list of the combinations for each device
22:19:23domonokylinuxstb: for easy use, there would be premade configs to load
22:19:28AlexPIs this likely to be massive?
22:19:55gevaertsOne way to handle that rom the UI could be to store the selection somewhere, and when the user changes it, apply, see what got enabled, and if this is not the same go back to the previous one and complain
22:20:23gevaertsyou won't crash anything by getting it wrong
22:21:03gevaertsOf course, you can only change the settings when not connected...
22:21:06linuxstbmcuelenaere: I guess filefuncs.[ch] is as good a name as anything... Are you planning to put anything else there?
22:21:23mcuelenaerelinuxstb: no, it was just to get the simulator to build
22:22:15pamaurygevaerts: is it possible to compute easily if a configuration will work or is it too dependent from the target driver/features ?
22:22:38gevaertspamaury: yes and no
22:23:48 Nick YPSY is now known as Ypsy (
22:24:04gevaertsThe usb_core.c asks the controller driver to allocate endpoints of a specific type. The controller driver can refuse, in which case usb_core.c tells the class driver, and that class driver can either roll back or try a different combination (they all roll back now)
22:24:41linuxstbmcuelenaere: Hmm, so what changed that required that function to be moved?
22:24:42pamauryyes that's true so it also depends on the usb drivers... :(
22:24:46gevaertsYou could duplicate that chain with some sort of trial mode, but the easiest way (while not connected) is just to store the active set, try the new one, and roll back if needed
22:25:13linuxstbmcuelenaere: Or is this in preparation of a future commit?
22:25:46mcuelenaerelinuxstb: no, see;type=ondavx747sim#prob3
22:25:48pamauryMy question is also: does it make sense to allow a user to edit profiles driver by driver and have a clever way to report errors ? There are really few configurations that will suffice in most cases.
22:26:55gevaertsYou'd have to make the profiles by hand for each controller
22:27:25gevaertsand it could get out of hand if more class drivers are added
22:28:25amiconnkugel_: pong
22:28:45gevaertsif it were not for the MSC/MTP thing, I'd go for a set of booleans, let the user do whatever they like, but complain if (a) no driver is selected) or (b) too many are selected
22:28:54gevaertsMSC/MTP can be handled by complaining as well
22:31:06pamauryYes that's true. So what you propose is to have a list of configurations, editable by hand, and when a configuration is choosen, the raises an error when connected if all drivers couldn't be loaded ?
22:31:29kugel_amiconn: can you test a patch for me (it changes LED stuff a bit)
22:31:46kugel_basically, I want the mini2440 to use both virtual and real leds
22:32:15gevaertsJust a screen full of boolean settings
22:32:44gevaertsThe only problem is that this doesn't really fit in with the normal settings handling. I don't think that that is prepared to handle settings getting refused
22:33:57pamauryWhy not but as we can't compute if the setting is valid or not, this would defer the actual check to the usb connection time
22:34:24gevaertsno, the driver can tell you at any time. It's only unsafe to try this while connected
22:34:32*amiconn doesn't want to put a newer build on his recorder atm, because of all this ui brokenness :\\
22:35:39gevaertshm, maybe it can't now, but that's easy to fix
22:35:39kugel_the ui is broken?
22:35:52kugel_and it's so broken that you can't test out a patch?
22:36:25amiconnI could test, but I don't want this broken ui on my recorder.
22:36:25pamauryYes there could be trial mode for example but they this would menu would probably not fit the current model.
22:36:27linuxstbmcuelenaere: What's special about the Onda's disk(s) that you have HAVE_MULTIVOLUME defined explicitly? On other targets, it's enabled indirectly via HAVE_MULTIDRIVE, which is undefined for the sim.
22:36:28gevaertsfixing could be as easy as removing a "static"
22:36:39*amiconn is running a build several hundred revisions behind
22:37:04amiconnIt's mainly the statusbar misbehaviour
22:37:31amiconnIt's a major annoyance on my X5 already, hence I put updating my other daps on hold
22:38:25mcuelenaerelinuxstb: rockbox/firmware/drivers/sd.c:84: error: conflicting types for ‘sd_get_info’ <- the SD driver needs the IF_MV_ defines
22:38:45gevaertsmcuelenaere: then sd.c should be fixed
22:38:51*mcuelenaere wasn't sure about that
22:39:36gevaertsThat IF_MV2 should be IF_MD2
22:39:38kugel_amiconn: why not post bug reports?
22:40:02gevaertssame for the HAVE_MULTIVOLUME just below
22:40:10linuxstbmcuelenaere: Although I wouldn't necessarily remove your fix - if that function is used by apps/ code, it makes sense to remove it from target-only files in firmware (dir_uncached.c and file.c)
22:40:17***Saving seen data "./dancer.seen"
22:40:27gevaertsbasically a block device driver shouldn't touch HAVE_MULTIVOLUME things, only HAVE_MULTIDRIVE
22:40:42mcuelenaeregevaerts: do you want to change that?
22:41:02mcuelenaerelinuxstb: ok, then I'll move them to filefuncs.c and remove HAVE_MULTIVOLUME from the Onda's config
22:41:08gevaertsI can
22:43:12 Join toffe82 [0] (
22:43:29CIA-80New commit by gevaerts (r23766): Use MULTIDRIVE instead of MULTIVOLUME in sd.c
22:47:19pamauryDoes the UI have support for something we need like checkboxes ? Would it require lots of work to build such a menu ?
22:48:58*gevaerts doesn't know
22:49:02linuxstb1) No. 2) I don't know...
22:50:23 Join matsl [0] (
22:50:58 Join mcuelenaere_ [0] (n=mcuelena@rockbox/developer/mcuelenaere)
22:50:59 Quit mcuelenaere_ (Remote closed the connection)
22:51:58pamauryAnd is such an interface adpated to all users ? It's ok for advanced users but what about the others, won't they be lost ?
22:53:00 Join einhirn_ [0] (
22:54:02gevaertsis the alternative better? What would you call your profiles?
22:54:40gevaertssetting names can be translated, config file filenames can't
22:54:57pamauryYes you're right.
22:55:16gevaertsAlso, some players (gigabeat S, maybe others) have plenty of endpoints, so you'd have lots of profiles
22:56:21gevaertsThe only tricky thing is "the setting is there, why can't I set it?" I think
22:57:24pamauryThis require some interaction the usb subsystem
22:59:07pamauryMaybe we could fake a usb connection and see what happen. Not sure it's best solution but it's feasible
22:59:09gevaertsOf course, in the short term we could just say "MTP or MSC?" and "HID?"
23:00:01pamauryAnd with such a system, it would be the responsability of the menu to handle incompatibilities ? (like MSC/MTP)
23:00:16gevaertspamaury: not needed. allocate_interfaces_and_endpoints() in usb_core.c is all you need.
23:01:24gevaertsWe could improve that by using a separate flag for requested state and achieved state
23:01:41pamaurySo it's simple for the usb part. The *complexity* is the user interface and on the selection of the drivers.
23:02:36gevaertsI'm not sure about the MSC/MTP one. Is that technically a forbidden combination, i.e. is a no-storage MTP device really broken? If not, I think the mutex belongs outside of the USB stack
23:02:51gevaertsyes, the UI is the only real problem
23:03:25pamaurywhat would be the use of separate flags ? The ui can pick the flags selected by the user, set usb driver selection flags, call allocation routine for endpoints and read back which drivers where actually enabled.
23:03:25*gevaerts knows that a no-storage MTP device is useless, but he could substitute an MSC device with all drives ejected
23:04:15gevaertsAnd then show that as-is?
23:04:33pamauryWhat happened when exclusive mode is requested, all FS operations fail ?
23:05:04 Quit kugel_ ("exit(0);")
23:05:11pamauryIf not all drivers were loaded, they find a way to tell the user which drivers were not enabled and ask it to change the settings
23:05:19gevaertsAs a user, I'd expect the last selection to be possibly reverted, but that's not what will happen. The last one in the driver enum will get disabled
23:06:21gevaertsSo (if starting out with a working combination) if the selection is not what the user wanted, I'd want to be able to revert to the previous one. You can do that in usb_core.c, or you can do it in the UI code
23:06:27 Quit Omlet ("( :: NoNameScript 4.22 :: )")
23:07:11gevaertsOr you do it in the UI code, with help from the USB code, e.g. black Y for active, black N for disabled, red Y for requested but disabled
23:07:14 Join archivator [0] (
23:07:35gevaertsThe latter is what an extra flag in usb_core.c would achieve
23:07:52 Join Thundercloud [0] (
23:07:59Unhelpfulgevaerts: MTP is an object database, couldn't we just present a virtual "empty" MTP device?
23:08:33 Join polobricolo__ [0] (
23:08:36Unhelpfulno directory objects, no album objects, etc? or if it would be too confusing, a virtual root with virtual album, song, etc directories?
23:08:41gevaertsUnhelpful: true, we could. That means that according to my logic, the mutex belongs in the UI code
23:08:50 Quit bertrik ("De groeten")
23:08:55gevaertsUnhelpful: I still want to avoid the situation for the user
23:09:11Unhelpfulall of that would be ugly if something tries to write, i'm not sure how gracefully we can fail writes to MTP
23:09:41gevaertsif it only happens on developer builds and weird manual settings, I don't care too much :)
23:10:04Unhelpfulwould it really be hard to present *only* one of MTP or MSC?
23:10:30gevaertsno. The question is where we put the code for that exclusion
23:10:59pamaurygevaerts: what happended with exclusive storage ? Fs operation fails ? Then MTP+MSC would work but MTP code would respond with an error to all requets
23:11:38n1spamaury: will MTP require dircache?
23:11:38Unhelpful"hold back + left + vol up while plugging in to activate MTP mode" :D
23:12:09gevaertspamaury: yes. I think that clearly the MTP+MSC works, but it's of course undesirable. In my opinion, it means that guarding against selecting both belongs in apps/ in the settings screen
23:12:20Unhelpfuln1s: if it doesn't we'd need to create some *other* database that maps directories to numeric IDs and keeps track of which files belong to which directories...
23:12:28n1sUnhelpful: did you test with fstrict-aliasing on gcc4.0 ? and if so what were the results?
23:12:36 Join kugel [0] (n=kugel@rockbox/developer/kugel)
23:12:42Unhelpfuln1s: let me update my results PDF :)
23:13:14n1sah, right (about the databases)
23:13:42kugelamiconn: here's the patch:
23:13:43n1sit will lead to some trouble when the dircache failsm though, i assume
23:14:05archivatorI think I just found a bug in the sim: here are the spectrograms of the same 1 kHz signal - vs on target. Any chance the problem is on my end? Obviously, something changed since I last worked on fs#10065..
23:14:11gevaertsn1s: isn't that good? It might motivate people to fix it :)
23:14:43pamauryn1s: for now, MTP requires MTP because it's a nice way to have a file<->numeric map
23:15:13pamaury*require dircache
23:16:07n1sgevaerts: yeah, maybe but it also means no MTP for lowmem targets
23:16:57pamauryThe problem is that I'm not clever enough to work without it under lowmem conditions.
23:17:26n1sand i think we have disabled dircache on some (all?) flash targets as it makes little sense (in its original sense, to speed up file browsing)
23:17:46gevaertsn1s: you could possibly use the tagcache instead, but I'm not sure if that's actually an option without modifications, and then you require actually enabling that
23:17:54n1sno big problem to reenable of course
23:18:02Unhelpfuln1s: here, i reran all -O levels on 4.0.3 with -fstrict-aliasing. the highlighting compares the best tuned results vs those for the other compiler - if you want to see how tuned 4.0.3 + -fstrict-aliasing compares to a normal build, the "old" column has times for that.
23:18:09gevaertsAnd tagcache means not being able to copy non-media files
23:18:35gevaertspamaury: how unique do the numbers have to be?
23:19:14gevaertsand how big are they? 32 bit?
23:19:41pamaurygevaerts: they have to be unique for the set of accessible files accross the whole duration of a session. In simple term you need a one to one between accessibles files and identifiers. There are 32-bit long
23:21:27pamauryThe problem is simple: on FAT fs, you don't have a simple way to do this with 32-bit identifiers so you need a build a map. Either you build it on ram (this is dircache) or on disk. But on disk it requires a really fast memory and it would be modified each time a file is created/deleted/moved
23:21:59n1sUnhelpful: nice testing, what i'm really asking is if the aliasing patch should go in soon or wait for the eventual compiler switch?
23:22:26gevaertsyes. You could try to implement an efficient way to do it, but chances are high that you'll end up with something equivalent to dircache
23:25:26 Nick Ypsy is now known as YPSY (
23:25:26pamauryI wonder why MTP authors didn't allowed 64-bit identifiers
23:26:50gevaertsYou could do an on-disk list with an LRU cache in front
23:27:19gevaertsThat will be slower than dircache, but it will also use a lot less RAM
23:27:32kugelUnhelpful: I cant download the pdf :(
23:27:35 Quit bmbl ("Bye!")
23:28:42gevaertspamaury: is dircache usage deeply embedded, or would it be easy to abstract away?
23:32:10pamaurygevaerts: well it's deeply embedded in some function but most of them would be easy to fix. There are two kinds of function: those who only need a way to check a handle is valid and the associated name/size/... And there are a few function that really manipulate the dircache structure (like list_file)
23:33:13 Quit n1s ("Lmnar")
23:33:24pamauryI think it's possible to abstract it with moderate work
23:34:10CIA-80New commit by mcuelenaere (r23767): Move strip_volume() to filefuncs.c and set properties.
23:34:44CIA-80New commit by mcuelenaere (r23768): Onda VX747: don't define HAVE_MULTIVOLUME
23:34:44 Join GeekShadow [0] (n=Antoine@reactos/tester/GeekShadow)
23:34:45pamauryAnyway, I think it would be a good idea to abstract it because I don't like function like list_files which handle both the mtp low-level code and the dircache manipulation
23:35:27 Join liar [0] (n=liar@
23:36:03gevaertsok. Then it's at least a good idea to put on the TODO list I think. Once the abstraction is there, people can start thinking about ways to do it on lowmem targets
23:36:12archivatorre: sim problems above: just filed fs#10816 , if anyone's interested
23:37:15pamauryI think I'll do it soon because I'm already doing some abstraction on the storage api to handle multi-volume so I will probably do the same with FS code.
23:37:48Unhelpfuln1s: if the bold column among the old Ox set is lower than in the "old" column, that means that with the correct -O flag -fstrict-aliasing is faster than what we're doing now.
23:38:07Unhelpful"old Ox" are all built with 4.0.3 non-eabi
23:38:37mcuelenaerepamaury: just an idea for the MTP friendly name: you could use the MODEL_NAME define for that
23:39:10mcuelenaere(perhaps prefixed with Rockbox media player)
23:39:19 Quit Tomis ()
23:40:20pamauryAh yes, that's a good idea, I searched a way to have the model name :) I will also use it in the device info.
23:42:12 Join Tomis [0] (
23:46:51pamaurygevaerts: what do we do for ui menu ?
23:47:07gevaertsthink about it? ;)
23:48:52gevaertsI'd go for just a set of boolean choices (checkboxes, yes/no menus, whatever), with MTP vs MSC guarding (possibly greying the other out, or maybe a non-boolean solution for this one), and allocate_interfaces_and_endpoints() for the others
23:49:10 Join GeekShado_ [0] (
23:49:12gevaertsand store the result in a bunch of settings, one per driver
23:49:16kugelcheckboxes would be nucie
23:49:29*gevaerts leaves the UI advice to kugel :)
23:49:32kugelI think disk_tidy implements such a kind of menu
23:50:15gevaertskugel: is there a way to integrate this sort of thing cleanly in the settings menu?
23:50:27pamauryFrom a user point of view, I prefer checkboxes rather than yes/no menu.
23:50:30kugelI think so, yes
23:50:59kugelit shouldn't be too hard, if you can switch icons via a callback (which I believe is possible)
23:52:12gevaertskugel: the big issue is that we have to reject some settings, without having a good way to know in advance
23:54:59kugelwell, you could check the settings when leaving the menu
23:55:35*gevaerts doesn't understand
23:56:04kugelwhat do you mean by "in advance"? when is known?
23:57:02 Quit einhirn_ ("Miranda IM! Smaller, Faster, Easier.")
23:57:16gevaertsit's known as soon as that particular setup is tried, which can be done when the user checks one item
23:57:26gevaertsor when leaving the menu of course
23:57:48pamauryWhen we leave the menu, we check if the settings are correct (if i understand gevaerts) and sometimes it may not be so we have to stay in the menu.
23:58:19gevaertswell, I'd check after every single action, not only when trying to leave the menu

Previous day | Next day