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-08-31

00:00:58 Quit robin0800 (Remote closed the connection)
00:02:42moosZagor: I'm about to commit a small language update. Do you want me to wait a bit? (I saw few lines back that you are working on the build server system)
00:02:54Zagorno that's fine, go ahead
00:03:07ZagorI need fresh test data :)
00:03:28moosThat what I wanted to know :)
00:03:39CIA-43New commit by moos (r22564): Update the french translation.
00:05:21mooslet's see how much time for this round?
00:05:26kugellow_light: oh cool
00:05:51rasherUnhelpful: I'm not too fussed about directly loading plugins
00:07:44kugellow_light: so what do you think about supporting some of the YHs? IMO the 925 is more than ready
00:10:53low_lightkugel: can't say I've used it more than to just test things. If you are comfortable with the current state then ok.
00:12:38 Part safetydan ("Leaving.")
00:14:18kugellow_light: why are we using the display differently that the OF?
00:14:27kugel(if is there a reason at all)
00:16:13kugelI'd also like to now if there's a way to turn off the backlight completely
00:16:49***Saving seen data "./dancer.seen"
00:18:26ZagorShaid: can you take a look at your build client? it fails to build playersim
00:19:26 Join robin0800 [0] (
00:22:24 Quit robin0800 (Remote closed the connection)
00:33:05 Quit Llorean ("Leaving.")
00:34:21 Quit domonoky1 (Read error: 104 (Connection reset by peer))
00:37:52 Quit ender (" And you have to shout -' He tried to remember some far-off reading. '- er, bonsai. Yes. Bonsai!' -- Terry Pratchett: Reaper")
00:43:03 Join froggyman [0] (
00:47:41JdGordon;one;two;three;four <- that should show one, then two then three then four each second yeah?
00:49:08 Quit Topy (Read error: 104 (Connection reset by peer))
00:49:26 Join Topy44 [0] (
00:51:05JdGordonping anyone who knows skin code? kugel? pixelma?
00:51:49 Join xavieran [0] (
00:52:47 Quit xavieran (SendQ exceeded)
00:54:26 Join xavieran [0] (
00:54:46JdGordonCustomWPS seems to suggest the first ; is not supposed to be there?
00:57:46kugelno idea
00:58:02kugelI only made sublines with %t if at all
00:58:17JdGordonwoooo... just about got sub/lines going again
01:02:06 Join andrewrb [0] (n=chatzill@
01:02:50andrewrbum, please can somebody point me to the latest archived source download link? Used to be on the current builds page but seems to be no more.
01:03:57JdGordonwhy not use svn?
01:04:35JdGordonah yeah... Zagor: source zip go bye bye :p
01:05:23Zagordidn't Bagder fix that?
01:06:12andrewrbyeah i'm trying to update via svn right now but for some reason i can't quite fathom it is extremely slow. far more efficient to grab a 24mb (ish?) archive and extract
01:06:43Zagorno he didn't. he looked at it some days ago, don't know what happened.
01:07:14andrewrbso there is no source zip at the moment?
01:07:38*andrewrb shakes fist at himself for not doing what he wanted to do a few days ago
01:08:44 Join BHSPitMonkey [0] (n=stephen@unaffiliated/bhspitmonkey)
01:15:04 Quit Tsumugi ("leaving")
01:15:55 Quit xavieran_ (Read error: 110 (Connection timed out))
01:21:31 Quit bertrik (Read error: 113 (No route to host))
01:21:52 Quit Zagor ("Clint excited")
01:23:42 Quit Ridayah ("The Rise and Fall of the Heavens themselves is dependant upon Humanity's belief and disbelief.")
01:24:28CIA-43New commit by kkurbjun (r22565): M:Robe 500: Add firmware patcher: Can decrypt firmware updates, patch them, and re-encrypt them.
01:25:00 Join andrewrb_ [0] (
01:26:27 Quit low_light ()
01:26:28JdGordonkkurbjun: you want me to send you my mr500?
01:26:40 Quit webmind (Read error: 60 (Operation timed out))
01:26:58CIA-43New commit by kkurbjun (r22566): Fix Makefile
01:27:01*JdGordon dropped the ball with that one :p
01:27:07 Join webmind [0] (
01:28:04kkurbjunJdGordon: not yet, I want to finish some other work before I start really mesing with the flash, I probably won't be ready for a while yet - I should finish the gigabeat flash work before I start another target :-D
01:28:13Unhelpfulrasher: direct plugin loading lets you avoid worrying about exactly what list of plugins is available per target, though.
01:29:48CIA-43New commit by kkurbjun (r22567): Fix Configure script (not ready for that change yet)
01:32:04kkurbjunJdGordon: right now I'm getting it so that the M:Robe 500 can install with rbutil legally so the firmware patcher stuff was needed so that rbutil could work from an unmodified image.
01:35:45Unhelpfulooh, in fact, you can just have a script for each plugin that runs if its .rock is found
01:43:24rasherUnhelpful: Sure, it'd be nice to have, but not essential
01:43:26rasherAlso, sometimes the sim_trigger_screendump() causes two screenshots!?
01:44:01 Join Strife89 [0] (
01:45:28rasherNaturally throwing off the postprocessing completely
01:45:38 Quit andrewrb (Read error: 110 (Connection timed out))
01:45:43Unhelpfulrasher: perhaps the key event is triggering twice? i'd expect a dedicated command channel would not have sany problems with that... you could probably even *name* the screenshots.
01:46:30rasherI'm not so sure..
01:46:54rasheroh it is
01:47:26rasherI swear to god, this queueing system uses our RNG
01:49:18rasherWhy would it suddenly trigger twice :(
01:52:27Unhelpfulin fact, it could use the same mechanism as a run-this-plugin command, either would be done after a command to load a string - the path to the .rock, or the name of the plugin.
01:53:20rasheras long as posting events to the button queue isn't reliable, all this is fairly useless
01:56:25rasherUnhelpful: Helpfully, the screendump function decides the filename. That'd at the very least have to split in two first.
01:58:32JdGordonis screendump firing on both BUTTON_BLAA and BUTTON_BLAA|BUTTON_REL ?
01:59:08rasherIt's posted as a special event
01:59:11rasherAnd if it was, I'd get two of everything.
01:59:16rasherI only *occasionally* get two
01:59:22rasherMaybe 5% of the time
01:59:35rasherI've stopped trusting the event queue
01:59:42rasherit's just too weird
02:01:51 Nick andrewrb_ is now known as andrewrb (
02:02:10rashercalling screen_dump() manually wasn't exactly a success
02:02:37rashera few corrupted dumps, and then it crashed
02:02:48rasherI assume it doesn't like being called during screen updates
02:02:50 Quit GeekShado_ ("The cake is a lie !")
02:05:18JdGordonrasher: has anything been done about getting the skin usage shown on the them pages? :)
02:05:52JdGordonis that an annoyed no?
02:07:24rasherNot really, I'm just not very motivated or interested in it to be honest
02:08:44JdGordonplease dont make me fiddle with php :p
02:16:51***Saving seen data "./dancer.seen"
02:18:02Unhelpfulrasher: but... how can the event come up in the queue more than once? aren't queue items cleared when they're received?
02:19:12 Quit Strife89 (Read error: 110 (Connection timed out))
02:21:30rasherUnhelpful: Beats me
02:21:36 Quit thegeek (Read error: 104 (Connection reset by peer))
02:22:31Unhelpfulperhaps it's an SDL issue or similar? you could add a debug print where the event is queued, with a timestamp, and see if it's sometimes triggered twice on one keypress
02:23:30*JdGordon beats rasher with a very heavy wooden object
02:23:44JdGordonthis is your attempt to kill off any discussion EVER about redoing the menus isnt it?
02:24:00 Join thegeek [0] (
02:24:33rasherUnhelpful: This is happening behind the back of SDL :|
02:24:55rasherUnhelpful: No actuall keypresses are involved at this point
02:25:08rasherit's all just goddamn weird
02:25:22Unhelpfulrasher: wait, you're queuing the event yourself, once, but it comes out of the queue twice?
02:25:40 Join langzeitstudent_ [0] (
02:28:55rasherUnhelpful: For the screenshot, I call sim_trigger_screendump(), which in turn does queue_post(&sim_queue, SIM_SCREENDUMP, 0); so pretty much, yes
02:29:24Unhelpfulhm. what's triggering the call to sim_trigger_screendump?
02:29:58 Join DrMoos [0] (
02:30:22 Quit moos (Read error: 131 (Connection reset by peer))
02:30:24 Nick DrMoos is now known as moos (
02:30:32Unhelpfulzagor's pretty much running the build system show on his own, yes?
02:32:15kugelrasher: are you waiting a tick before sending the next button?
02:32:58kugelthe button stuff relies on that
02:33:23kugelI had similar problems with the fuze's scrollwheel. buttons can stack up if you don't take care of it
02:34:05 Join webguest64 [0] (n=4395059c@gateway/web/cgi-irc/
02:35:06kugel"queue" up, rather I guess :p
02:35:06 Quit webguest64 (Client Quit)
02:35:10Unhelpfulit's not a button, though, it's an event that's going into a special sim event queue...
02:36:01rasherUnhelpful: the arrival of "SCREENSHOT\n" on the named pipe
02:36:13rasherkugel: Quick way to wait a tick?
02:36:29Unhelpfulrasher: sleep(0), or busy-wait if you want.
02:36:49rasherlet's see if it's more stable now
02:38:09JdGordonkugel: if you get bored.. have a look at 1057 and see if you can spot the stupidity?
02:38:27kugelthe other way is to do something like while(queue_empty(&button_queue)) to wait for the previous events to finish
02:38:58kugelJdGordon: 1057 is marked as fixed
02:39:10JdGordon10576 even
02:39:53 Quit andrewrb ("ChatZilla 0.9.85 [Firefox 3.5.2/20090729225027]")
02:41:59 Quit jboy_ (Read error: 110 (Connection timed out))
02:43:09 Join Llorean [0] (n=DarkkOne@rockbox/user/Llorean)
02:43:47kugelwhile(!queue_empty(&button_queue)) of course
02:44:14Unhelpfulkugel: wow, i wondered what you were on about with the warnings. i got *none* building convttf on my laptop
02:46:09Unhelpfulcorrection, i get none using the separate makefile
02:46:35rasherSo, adding sleep(0) resulted in *no* events getting (succesfully) posted and the sim freezes
02:47:17JdGordonwell duh! you're sleeping the main thread
02:48:30rasherI'm just following your advice, really
02:49:46kugelis the button stuff a seperate thread?
02:50:22kugelif not, busy-wait or sleep probably doesn't work
02:51:30rasherThere's a button thread, isn't there?
02:52:21Unhelpfulkugel: i'm working on them. keep in mind that convttf *works* for me despite all of thees.
02:52:43kugelno, no button thread
02:53:27kugelyou need to make sure otherwise then that you're not sending too much then
02:54:11*kugel has no real idea how this works in the sim
02:54:47JdGordonrasher: can you start another thread and put your listener in there?
02:54:57JdGordonso real buttons would actually work still
02:55:18rasherI assume that would be possible
02:55:51JdGordona rockbox thread... not a sdl one
02:58:15kugelhaving the listener in the main thread doesn't seem like a good idea
02:59:05rasherhuh, adding a printf in sim_trigger_screendump() doesn't get printed
02:59:16rasheroh wait
03:00:03rasherAAAAAAAAAAAAA what the heck
03:00:04Unhelpfulkugel: busy-wait *ought* to work...
03:00:17rashersim_trigger_screendump() seems to get called one about 15 times
03:00:41rasherI guess that could explain something. huh.
03:01:22kugelrasher: cmdpipe_loop() seems like an awesome canditate for a tick task to me :)
03:01:40rasheroh gosh this is my own fault, hahaha
03:01:56rasherthe strcmp(line, "SCREENSHOT") doesn't belong inside the for loop....
03:02:31kugelUnhelpful: you can't receive button events in the main thread if it's blocked, can you?
03:02:35rasherone mystery solved. I wonder if it caused all the other issues
03:03:40kugelif you wait for the button queue with what i mentioned above, only other threads should be able to do something useful with the button queue
03:06:01Unhelpfulkugel: oh, that's true, i suppose.
03:06:59Unhelpfulmust we really have -Wshadow? it's a bit silly i'm getting a warning because i declare a local variable named "index" and it happens to be a global in string.h :P
03:07:11kugelrasher: you should still try to get it out of the main thread, IMO. you can add it as tick task, so it runs every 10ms
03:08:38rasherThat sounds deceptively simple
03:08:57kugelyou can then also busy wait for the button_queue, since tick task run out of that (in interrupts on targets, not sure how it's done in the sim)
03:09:18rasherAnd I'd do that.. where? In the main gui loop?
03:09:45kugelin some init function, such as main()
03:10:40 Join jboy_ [0] (
03:10:44rasherHere goes nothing
03:11:54kugelUnhelpful: -Wshadow is a silly warning
03:12:39kugelbut that's only a tiny part of the warnings anyway :p
03:12:46kugelrasher: it doesn't work?
03:13:25rasherI'm not sure yet. How do I declare the function such that I can reference it from main?
03:13:38 Join Ray38 [0] (
03:13:58kugelvoid cmdline_loop(); at the beginning
03:14:17Ray38how do I know if there is an update for my rockbox firmware ?
03:14:27Ray38there is no auto updater
03:14:54LloreanIf you're using a release, there's an update every 3 months.
03:15:07LloreanIf you're using a "current build" then there's an update pretty much all the time.
03:15:12Ray38I use official test build
03:15:17kugelcurrent builds are updated very frequently (multiple times per day usually), releases are announced on the front page
03:15:26kugelthat's a current build
03:16:03Ray38so current build also apply for official test build ?
03:16:56LloreanIf you're using a test build, you'll need to either compile your own, or wait for the test build thread to update.
03:17:08kugelRay38: yes
03:17:27kugelor wait, what test build exactly?
03:17:54rasherIt's not very happy with this tick task business. I'm pretty sure it crashed the moment it hit that function
03:17:55kugelI was assuming the e200v2/fuze one, but the other test builds are likely no current builds
03:18:27pixelmaJdGordon: (guess you already found out but) - you don't need a leading ; for sublines, I would expect your example to show a blank line first. If you don't specify a timeout with %t a default value is used which was 2 seconds once, not sure if that's still the case I have never used the default
03:18:28kugelrasher: are you checking (cmdpipe != NULL) in that function now?
03:18:35Ray38yes, I use sansa fuze and I checked the thread at
03:18:48rasherkugel: I'm checking it as a condition to adding the task in the first place
03:18:55kugelah ok
03:19:02rasherLooks like it wasn't crashed, just stuck
03:19:10 Join saratoga [0] (n=9803c6dd@gateway/web/cgi-irc/
03:19:10rasherThe moment I closed the pipe, it exited
03:19:18rasheroh, segfault. Purdy
03:19:35 Quit langzeitstudent_ (Read error: 113 (No route to host))
03:19:57saratogai just noticed that the linux4nano people managed to decrypt the Apple firmware and then reencrypt it
03:20:10saratogaso i guess it should now be possible to make bootloaders for the Nano 2G
03:20:13LloreanAnd it accepted the re-encrypted firmware?
03:20:38kugelthat's awesome
03:20:41saratogait looks lke it
03:20:55Ray38miharu posted "The voice option works now with the use of VoiceBox" on August 29, 2009, while I flashed my fuze with rockbox, before that date, so that's mean there is a newer version of the firmware ?
03:21:12kugelrasher: tick tasks really just execute your function each, there's no other magic to it, so there's something else wrong
03:21:21kugeleach tick*
03:21:32saratogaRay38: rockbox is updated many times a day
03:21:47rasherkugel: I suppose making the task a loop isn't what I want then...
03:21:52kugelRay38: I have no idea what voicebox is
03:21:55saratogacheck the front page, there were 13 builds today alone
03:22:20 Join Thundercloud [0] (
03:22:24kugelrasher: that sounds logical
03:22:40saratogaheh apparently most of the Nano bootup time is the decryption and hashing
03:22:43Ray38@saratoga, which front page ?
03:22:52rasherkugel: Problem is, reading from the pipe blocks
03:23:00rasherso I'm stuck again. le sigh
03:23:05kugelfgets() alone?
03:23:13saratogaRay38: the one for this website
03:23:25rasherkugel: yeah
03:23:31Unhelpfulrasher: you probably want to check the pipe in the SDL main event loop. and use poll() or similar. :/
03:23:39Ray38@saratoga, can u paste the link pls ?
03:24:02LloreanRay38: Do you honestly not know the website for Rockbox?
03:24:06rasherThis is all turning out to be very terrible
03:24:41LloreanSo, what link were you asking for?
03:25:07Ray38the one which has the latest for fuze ?
03:25:18LloreanThe same link you downloaded from before
03:25:30LloreanIn that test build thread they're linked to a constantly updating latest version
03:25:33kugelrasher: do you see the SVN log on that page? each time a row is added to that line (i.e. we submitted new code), the current build is updated
03:25:38kugelRay38: ^
03:25:50Ray38I downloaded from page 1
03:26:12kugelyou always get bleeding edge there
03:26:22saratogaRay38: you already said that, what we're saying is that theres a list of changes on the front page, and when you download you get the latest version
03:27:16saratogaits not good luck that the version you downloaded was the same version as the latest one on the front page . . .
03:27:33rasherUnhelpful: ugh, the sdl main loop only runs when sdl receives an event, so even worse
03:27:50Ray38mmmm, sorry, I still confused
03:28:19Ray38the 1st post in the thread shows "Last Edit: August 27, 2009, 06:04:21 PM by kugel"
03:28:21Unhelpfulrasher: hrm. maybe see if SDL has something for IPC over pipes? that way it *is* an event SDL is interested in, already :)
03:28:37saratogaRay38: you don't have to edit a post to change what it links to
03:28:54saratogacheck the modified date on your download, we're not lying to you, its from today, probably just a couple hours ago
03:29:12Unhelpfulkugel: weird, i'm getting good fonts now with std=c99. and you're right, far fewer warnings.
03:29:20Ray38I know, I mean......where is the release changes and version ?
03:29:20saratogareleasing bootloaders for the nano will be interesting, because to make a bootloader, you'd need a modified Nano2G to encrypt the bootloader
03:29:41LloreanRay38: It's the same as the list on the front page of the site, like we told you
03:30:05saratogaif you mean how can you check the version you download, theres a rockbox-info.txt file in the zip, or you can just load it on your player and check
03:31:45kugelsaratoga: sounds tricky
03:31:59advcomp2019Ray38, the changes and version are on the homepage on Subversion but if the link in the forums is a nonchanging link, they can update that file to the newest version without changing the post
03:32:25Lloreansaratoga: Is that such a big deal though? We don't release bootloaders too often anyway
03:32:33Unhelpful...and i've successfully converted monof55.ttf with my x86_64 system.
03:32:35kugelrasher: is there no alternative to the blocking fgets()?
03:32:48 Quit Thundercloud (Remote closed the connection)
03:33:02Unhelpfulkugel: poll() and friends can be used to test for read availability without blocking
03:36:00kugelseems like the way to go then
03:36:25rasherHm, seems you can also do trickery with fcntl
03:37:31Ray38Ummmm, I can't still find the latest version number
03:37:40Ray38I know that links can be updated
03:37:53LloreanRay38: It's the SVN revision on the front page of the site
03:37:56LloreanAs we've told you
03:38:53 Quit goffa__ (Read error: 110 (Connection timed out))
03:38:57advcomp2019Ray38, you might need to scroll on the front page if you do not see it
03:40:39saratogai guess to release a dual boot bootloader for the nano2g we'd have to release a notes exploit, have the user open it with their nano, and then have the exploit decrypt their firmware
03:40:56saratogasince we couldn't distribute the encrypted bootloader without removing the apple firmware from it
03:41:20LloreanThe notes exploit has a pretty limited maximum size, right?
03:41:28saratogaunless the encryption keys themselves can be recovered the installation process could be quite complicated
03:41:31saratogayes it does
03:41:43rasherIt may be working as a tick task now
03:42:01saratogathough i suppose with the unencrypted firmware image you could probably find more space for code, or figure out how to load code from the disk
03:42:16rasherusing fcntl to set O_NONBLOCK
03:43:16saratogathe address for the firmware's NAND read function is known, so i guess you could read anything you wanted off the disk from the exploit, though it will be a very complicated tool to do it
03:43:23Unhelpfulsaratoga: perhaps another file you'd have to copy over first, that the notes exploit could read the other data from?
03:44:19saratogathough maybe the exploit could be made to simploy remove the requirement that the firmware be signed in the first place
03:44:25Unhelpfulkugel: can you name a specific font that's giving you trouble? monof55.fnt works for me, including clipped draws.
03:44:27Ray38this one ? −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−-> Requirements for Release (Fuze and e200v2):
03:44:27Ray38Fix any remaining issues with disk corruption on large memory targets (FS #10216) Fixed in r21096.
03:44:27Ray38Fix references to keys in language files (e.g. "PLAY = Yes" -> "SELECT = Yes") (FS #10290) Fixed in r21579.
03:44:27DBUGEnqueued KICK Ray38
03:44:27Ray38Resolution of MMU and clock issues (FS #10048) Fixed in r21228.
03:44:27Ray38Fix the corruption and deadlock problems in the SD driver (internal storage seems OK) . We currently run the SD controller clocks way too fast
03:44:29Ray38Release tested compiled bootloaders and mkamsboot binaries (Candidate builds released for Fuze and e200v2, needs more testing)
03:44:32Ray38(Finish the manual)
03:44:34Ray38Port status as of August 30 2009.
03:44:47kugelwhat the hell
03:44:48saratogawhy didn't he get kicked from the channel for that
03:45:21Lloreansaratoga: Logbot isn't opped?
03:45:33saratogacan that be fixed?
03:45:41Mode"#rockbox +o logbot_ " by ChanServ (ChanServ@services.)
03:45:42DBUGQ-Sent KICK Ray38 to server
03:45:42Kick(#rockbox Ray38 :No flooding!) by logbot_!n=bjst@gateway/web/cgi-irc/
03:45:48LloreanThere we go
03:45:52LloreanJust a little slow, I guess.
03:47:09Unhelpfulah, wait... right-clipped draws work properly, left-clipped do not :/
03:47:41kugelthe scrolling problem?
03:48:01Unhelpfulyeah, nothing gets clipped on the left until scrolling starts. i don't think the font is the problem.
03:48:29kugelI have this with every font
03:48:41kugelIIRC scrolling was fine with the initial patch
03:50:46 Quit bubsy ("I'll be back somewhere in time...")
03:53:06rasherThis does seem more stable. Excellent.
03:53:26rasherAnd now that I'm not making 15 screenshots at a time, I'm not getting duplicates
03:54:30kugelrasher: so can we use HID for it soon also? :D
03:55:04rasherI'm unsure how the two could be related
03:55:40kugelwe can control various apps with our daps, why not the sim also?
03:56:19Unhelpfulkugel: this is for automating the sim :P
03:56:42rasherI'm sure you could hook up something to pass multimedia events into a named pipe
03:56:50kugelyes, but it appears to me that you can send the actual buttons.
03:57:00saratogawould be nice for AMS debugging
03:57:52kugelget FlynDice one
03:59:10kugelrasher: should be doable to do it directly without multimedia events
03:59:14saratogai can't find a price but i'm guessing a lot
03:59:46 Join safetydan [0] (n=deverton@rockbox/developer/safetydan)
03:59:52rasherkugel: not really in any way related to my project
04:00:54kugel"Simulator remote-control" sounds related, but you're right now on the other task I suppose
04:03:11rasherbah, it's still somewhat erradic. I guess there are just times when you're not supposed to press buttons
04:04:07kugelrasher: do you check for queue_empty(&button_queue)?
04:04:36rasherHm. Not quite
04:04:37kugeland you still get duplicated buttons?
04:04:50rasherno, no duplicates
04:04:58rasherjust missing buttonpresses
04:05:56 Quit TheSeven (Nick collision from services.)
04:06:10 Join The_Seven [0] (
04:06:16 Nick The_Seven is now known as TheSeven (
04:07:11rasherHm, now they're all missing.
04:07:18 Join bubsy [0] (n=Bubsy@
04:07:20 Join safetydan1 [0] (
04:07:56 Quit safetydan (Read error: 104 (Connection reset by peer))
04:08:49saratogaTheSeven: is it likely to be possible to load unencrypted firmware on the nano eventually?
04:09:43 Nick safetydan1 is now known as safetydan (
04:10:09TheSevensaratoga: not without modifying the NOR flash's contents
04:10:16TheSevenand that's a little dangerous
04:10:34saratogathen distributing rockbox bootloaders will be quite complicated
04:11:22rasherkugel: Shouldn't it be while(!queue_empty(&button_queue)); ?
04:11:28TheSevenwell, one needs to have access to the ipod's crypto to install it, if you don't want to redistribute the firmware
04:11:31rasherkugel: rather than without the ! ..
04:11:45kugelrasher: yes, I correct myself a few lines after
04:11:48Unhelpfuli wonder why i can't find *anything* about getting data available on a pipe/socket/file to be an SDL event...
04:11:56kugelbut doing while isn't a good idea in the tick task
04:12:13kugelinstead you should return and try again when it runs next
04:12:19kugel(if at all)
04:12:42saratogaTheSeven: we can't legally distribute the apple firmware, so we'd have to do that, will make for a fun installer!
04:12:50rasherkugel: ah, so if (!queue_empty(&button_queue)) return 0; ?
04:12:57TheSevensaratoga: the best way i can see is uploading ibugger via notes, running it, using it to decrypt + patch + re-encrypt the firmware, write that back, and boot it
04:13:12kugelrasher: something like that
04:13:50TheSevensaratoga: or doing some dedicated notes thing, but there's no way we can fit everything in a note (4KB)
04:13:57kugelthat's basically how the fuze's scrollwheel does it too
04:14:21TheSevensaratoga: what we could do, however, is replace the apple fw entirely
04:14:42saratogais there USB in the NOR?
04:14:57TheSevendisk mode
04:14:58saratogaah then that works well enough
04:15:13TheSevensaratoga: the trouble is accessing the crypto engine...
04:15:41TheSeveni think the easiest way is moving osos to a different image, and uploading the bootloader as osos, which will either boot rockbox or load the apple fw from the image we moved it to
04:16:30TheSeventhat way, we wouldn't need to modify the apple image at all
04:16:53***Saving seen data "./dancer.seen"
04:17:33TheSevenbtw. there is a DFU mode in bootrom, but that is only entered on a bad NOR checksum, not if the contents just don't work, and there doesn't seem to be a way to trigger it by hand
04:17:51TheSeventhey changed that on 3g, though
04:18:16kugelchanged as in?
04:18:27kugelno DFU mode, or a way to trigger it?
04:18:32TheSevena way to trigger it
04:19:00TheSevenwell, they obviously did that in preparation for removing the NOR entirely in 4g
04:21:41Unhelpfulkugel: it got in while merging the word-at-a-time source reads.
04:22:04kugelgit bisected it? :p
04:24:03Unhelpfulno, i mean when i was hand-merging the version in which i'd entirely rewritten it around word-at-a-time reads, so that you could select word or byte reads via a switch. i missed something wile doing that.
04:25:59Unhelpfulalso, i'm getting good fonts on x86 and x86_64 with -std=c99... i'll change that bit as well, it giver far fewer warnings.
04:28:28 Join Hillshum [0] (
04:38:50 Join dys`` [0] (n=andreas@
04:42:31 Quit Rondom (Nick collision from services.)
04:42:42 Join Rondom [0] (
04:52:00 Quit dys` (No route to host)
04:55:06 Quit fdinel ("Miranda IM! Smaller, Faster, Easier.")
05:00:57 Join snstanton [0] (
05:02:53snstantonAnyone around who could help with problems getting voice menus working on an Archos Recorder (v1)?
05:04:51snstantonI've got .talk files working, but the menus are silent. I've installed the english.voice file for the 3.3 build into /.rockbox/lang, but there is no speech.
05:07:32 Part snstanton
05:08:11 Join cool_walking_ [0] (i=cb3b81c3@gateway/web/freenode/x-pgfduokltlhayafn)
05:08:26 Join snstanton [0] (
05:11:40 Join pcc1 [0] (
05:11:59 Quit kugel (Read error: 110 (Connection timed out))
05:27:26 Quit panni_ ("( :: NoNameScript 3.81 :: )")
05:28:31 Quit froggyman ("ChatZilla 0.9.85 [Firefox 3.5.2/20090729225027]")
05:35:00 Nick snstanton is now known as stanton (
05:35:10 Quit stanton ("Leaving.")
05:39:55 Join niekie [0] (
05:40:04JdGordonhow the heck can subline be NULL in the first loop iteration when its not a pointer but part of the struct?
05:41:16JdGordon adds some gdb output to prove its not bloody NULL
05:43:30 Quit Horscht ("Verlassend")
05:43:58JdGordonsubline_number is apparently 1... so wtf?
05:44:00 Join snstanton [0] (
05:48:22 Join n1s [0] (n=n1s@rockbox/developer/n1s)
05:50:00JdGordonok, is gcc fucked?
05:50:56JdGordonor am I being an idiot? that for loop is correct.... isnt it?
05:53:43JdGordonchanging to a while loop does indeed stop crashing
05:53:50CtcpIgnored 1 channel CTCP requests in 0 seconds at the last flood
05:53:50*JdGordon continues talking to self :)
05:54:23JdGordonmaybe its not as fubar as I thought...
05:54:34JdGordonWierd Shit Is Happening on empty lines though
05:54:51 Join ademille [0] (
05:55:36 Part ademille
05:58:56 Quit xavieran (Read error: 110 (Connection timed out))
06:00:34CIA-43New commit by kkurbjun (r22568): Bubbles: Add support for vertical strides.
06:02:32 Join goffa_ [0] (n=goffa@
06:02:34 Quit Hillshum (Read error: 60 (Operation timed out))
06:03:40CIA-43New commit by kkurbjun (r22569): Blackjack: Add support for vertical strides.
06:13:32 Join goffa__ [0] (n=goffa@
06:13:32 Quit goffa_ (Read error: 104 (Connection reset by peer))
06:16:55***Saving seen data "./dancer.seen"
06:21:23CIA-43New commit by kkurbjun (r22570): Chessbox and Flipit: Add support for vertical strides.
06:22:44 Quit saratoga ("CGI:IRC (EOF)")
06:44:51 Quit cool_walking_ ("Page closed")
07:10:59 Join flydutch [0] (
07:20:03 Quit Llorean ("Leaving.")
07:24:30 Quit CaptainKwel (Remote closed the connection)
08:08:17 Quit J-23 ("wszedem")
08:09:59 Join J-23 [0] (
08:10:19 Nick J-23 is now known as Guest61036 (
08:16:32 Join Zagor [242] (n=bjorn@rockbox/developer/Zagor)
08:16:56***Saving seen data "./dancer.seen"
08:18:05 Nick Guest61036 is now known as J-23 (
08:20:56 Join Grahack [0] (
08:36:08 Join ender` [0] (
08:36:33 Join xavieran [0] (
08:38:05 Join Rob2222 [0] (n=Miranda@
08:39:04 Quit safetydan ("Leaving.")
08:42:41 Join daggett [0] (
08:53:30 Join bmbl [0] (n=Miranda@unaffiliated/bmbl)
08:56:30 Quit Rob2223 (Read error: 110 (Connection timed out))
08:57:58 Quit bmbl (Client Quit)
08:58:53 Join bertrik [0] (
08:58:56 Quit Kopfgeldjaeger ("Serverwechsel")
08:59:11 Join Kopfgeldjaeger [0] (
08:59:15 Quit BHSPitMonkey (Remote closed the connection)
08:59:43 Quit xavieran (Remote closed the connection)
09:00:49 Join pamaury [0] (
09:07:20 Join xavieran [0] (
09:14:34 Join LinusN [0] (n=linus@rockbox/developer/LinusN)
09:17:47 Join funman [0] (n=fun@rockbox/developer/funman)
09:18:34 Join einhirn [0] (n=Miranda@
09:25:50 Part snstanton
09:26:01 Quit mt (Remote closed the connection)
09:38:43 Join mt [0] (n=MTee@rockbox/developer/mt)
09:42:48 Quit bzed (Remote closed the connection)
09:43:43 Join pamaury_ [0] (n=pamaury@
09:45:52 Quit bertrik (Read error: 113 (No route to host))
09:46:02 Join bzed [0] (
09:46:31 Quit mt (Remote closed the connection)
09:47:05 Quit chelios (Client Quit)
09:47:16 Join elcan [0] (
09:47:38 Quit pamaury (Read error: 60 (Operation timed out))
10:00:20 Join mt [0] (n=MTee@rockbox/developer/mt)
10:17:01***Saving seen data "./dancer.seen"
10:27:02 Join bmbl [0] (n=Miranda@unaffiliated/bmbl)
10:28:00 Nick dys`` is now known as dys (n=andreas@
10:37:58 Quit faemir (Read error: 104 (Connection reset by peer))
10:38:06 Join faemir [0] (n=faemir@
10:38:07 Join robin0800 [0] (
10:44:10 Join decayedcell [0] (n=decayed_@
10:52:05 Join bimbel [0] (n=Miranda@unaffiliated/bmbl)
10:58:35 Quit bmbl (Read error: 110 (Connection timed out))
10:59:11 Join gregzx [0] (
11:00:08 Quit xavieran (Read error: 104 (Connection reset by peer))
11:09:33 Join daurn [0] (i=daurnima@freenode/staff/daurnimator)
11:17:13 Nick fxb__ is now known as fxb (
11:20:07 Quit Sajber^ (Read error: 104 (Connection reset by peer))
11:22:57 Quit pamaury_ ("exit(*(int *)0 / 0);")
11:27:08 Join stripwax [0] (
11:27:08 Quit daurn| (Read error: 110 (Connection timed out))
11:27:18pcc1I saw a reference in the docs to "features we will not implement" saying that the "USB circuit in the player is strictly made for disk-access". however I read the source code and there seems to be some USB HID code there. also my 5G ipod does indeed act as an HID device when in non-disk mode. so to what extent is that statement accurate?
11:27:57 Join xavieran [0] (
11:28:41funmanpcc1: the document references the "Archos Player"
11:29:02funmanit is the first target ever supported by rockbox, and some old docs/code assume there is no other model
11:31:44 Quit gregzx ("ChatZilla 0.9.85 [Firefox 3.5.2/20090729225027]")
11:32:40pcc1hm, so I guess that part of the docs needs an update. I ask because I was interested in adding further USB capabilities to rockbox. do you know which targets that statement is true about, or is there an (easy) way to check?
11:42:42 Join GeekShadow [0] (n=Antoine@reactos/tester/GeekShadow)
11:44:45 Join PaulJam [0] (
11:45:41 Quit Grahack ("Leaving.")
11:50:15gevaertspcc1: look for HAVE_USBSTACK in firmware/export/config-*.h. Those are the ones where we can run (at least in principle, we don't have drivers for some of them yet) our own usb class drivers
11:51:07 Nick fxb is now known as fxb__ (
11:53:06funmanpcc1: which capabilities do you want to add ? (there is some people working on MTP for example)
11:53:45funmanpcc1: the top of the NODO file in svn repository mentions it is specific to Archos
12:00:13pcc1funman: yes, actually I was interested in something like MTP. is that work available anywhere?
12:01:44funmani don't know, the person doing it is "pamaury" on irc, he comes here regularly but I don't know if he has posted a patch yet on the tracker
12:05:13gevaertsI'm not sure if he has actual code at this point
12:06:06pcc1funman: ok thanks
12:06:37 Join Thundercloud [0] (
12:07:41funmanyou can send him a message through the rockbox forum:;sa=send;u=23405
12:11:52pcc1thanks. I guess it depends how far he got but another approach I thought of was a custom USB protocol that acts somewhat like FUSE over USB. I imagine this would be relatively easy to implement both on the host and on rockbox
12:13:12gevaertsexcept that you're linux-only then. I'm not sure if that's a good idea
12:14:00 Part decayedcell
12:17:05***Saving seen data "./dancer.seen"
12:25:42 Quit Thundercloud (Remote closed the connection)
12:38:02amiconnrasher: Regarding the screendump problems - you need to be careful from which thread functions get called. Calling rockbox functions from outside the simulated rockbox threading will cause problems for sure
12:38:49amiconnRockbox functions are designed to work with cooperative threading only
12:38:57 Join pamaury [0] (
12:39:07 Quit pamaury (Client Quit)
12:42:44 Quit stripwax (Read error: 60 (Operation timed out))
12:44:31rasheramiconn: screendump works fine - I was accidentally calling it 15 times in rapid succesion
12:45:25amiconnThat shouldn't matter as long as it's not effectively called in parallel (preemptive threading)
12:48:23 Nick polobricolo is now known as polobricolo_ (
12:48:50 Quit polobricolo_ ("Konversation terminated!")
12:49:13rasherIt worked fine. I just got duplicates when it spanned a second
12:49:28rasherWhich seemed rather random at first
13:21:23 Join kugel [0] (n=kugel@rockbox/developer/kugel)
13:25:43*kugel has a major fuze lcd speed up
13:30:35 Join harrypodder [0] (i=72f44911@gateway/web/freenode/x-exshmwxyvfldcpnw)
13:34:47funmankugel: with the patch that causes 'blue lines' ?
13:35:14kugel32bit transfers
13:35:33kugeland it doesn't seem to suffer from blue lines
13:35:54kugelhowever, applying the other patch also (which gives max fps at unboosted) causes blue lines again
13:37:27 Join pamaury [0] (n=pamaury@
13:42:04funmannice !
13:42:11kugelfunman: we can even still support odd transfers (i.e. where count is not even)
13:42:19kugelbut that is a bit slower
13:42:55kugeltest_fps gives me 92.5fps for lcd_update(), and 364,5 for lcd_update_rect
13:43:34kugelcould be 380fps if it wouldn't be doing LCD_HEIGHT/4 * LCD_WIDTH/4 (which is odd)
13:44:21kugelremember that 100fps for lcd_update() is the absolute maximum
13:48:32kugelhm, the 380 number is wrong I think
13:52:31amiconnWhy would 100fps be the maximum?
13:52:52kugelthe dbop is slow
13:54:41 Quit ch4os ("Lost terminal")
13:55:15 Join ch4os [0] (n=ch4os@gentoo/user/ch4os)
13:56:06harrypodderhi, i've got an 80 gb ipod video, and a while ago a friend of mine had helped me to put some stuff on it, including pirated copies of (at that time) all 12 games from the itunes store, which apparently required some sort of bootloader
13:56:52harrypodder(now i know talking about pirating stuff isn't allowed in here, but just bear with me, because that's not really the subject of my question)
13:57:02kugelbertrik made a calculation a while ago, conclusion was that it dbop is limited to 8MB/s or so
13:57:34harrypodderso ever since then, whenever it turned on, i'd have to click the first choice on this blue boot menu screen
13:57:55harrypodderand then it'd go into the regular apple firmware (there isn't anything else on there)
13:58:20kugelfunman: I also seem to see less (in fact, not a single yet) occasional display corruption
13:58:21harrypodderanyone know what that is, and what it'd mean if i wanted to install rockbox on it?
13:59:02harrypodderlike is that a prerequisite of rockbox that i would be able to skip the installation of, since its already on there? would it conflict with rb?
13:59:41 Quit J-23 (Read error: 110 (Connection timed out))
14:02:48 Join dfkt [0] (i=dfkt@unaffiliated/dfkt)
14:17:07***Saving seen data "./dancer.seen"
14:38:57pamauryTorne: are you there ?
14:39:05TorneYes, by fluke
14:39:55 Quit PaulJam (Read error: 113 (No route to host))
14:41:03funmanpamaury: pcc1 wants to work on MTP for rockbox
14:43:14pamaurytorne: Some days ago you talked about scsi object extension. I looked at it and it is called scsi object-based storage commands but I can't download the specification. Did you read the spec/have you got a copy ?
14:43:34pamauryfunman: ok, I'll see with him
14:49:42 Join decayedcell [0] (
14:50:00pamauryTorne: oops I didn't wrote your nick correctly. See my previous message
14:50:53 Join J-23_ [0] (
14:51:13 Nick J-23_ is now known as Guest47354 (
14:52:57Tornepamaury: I haven't read the spec, no; just a description of the protocol
14:53:34 Nick Guest47354 is now known as J-23 (
14:54:09pamauryBecause after you remark, I read a description and it seems interesting but when I try to download the spec, I encountered a problem because the T10 working group recently restricted the access the drafts to members only :(
14:54:32Tornewell, yah. standards bodies are unhelpful like that sometimes :0
14:55:21pamauryAnyway, I'm already working on MTP:)
15:03:05 Join LambdaCalculus37 [0] (i=44a0430d@rockbox/staff/LambdaCalculus37)
15:03:09 Quit antil33t (Read error: 104 (Connection reset by peer))
15:03:23 Join antil33t [0] (n=Mudkips@
15:10:12 Quit harrypodder ("Page closed")
15:12:31kugelfunman: grml, I can't seem to get lcd-as<>.S to work
15:12:57funmanwhy ?
15:15:21 Join jernejovc [0] (
15:15:21 Quit jernejovc (Client Quit)
15:15:53kugelI'm trying to adept it for 32bit transfers but the output is incorrect
15:17:03funmanshow us the code perhaps we can help
15:23:15CIA-43New commit by kkurbjun (r22571): Jewels: Add support for vertical stride.
15:24:39kugelfunman: this even gives me data abort now..
15:25:24funmankugel: on which instruction?
15:26:21kugelno instruction
15:26:40kugelseems like an iram address, probably framebuffer (0x30800FB4)
15:27:19funmanit's in lcd_write_yuv420_lines in my build
15:27:45kugelah wait
15:27:51funmani wouldn't use macros here
15:27:52kugelyes, it is, grep failed
15:28:19funmanexcept if you document which registers are reserved by those macros
15:28:28kugel30800fb4:e4d69001 ldrbr9, [r6], #1
15:29:40kugelfunman: that's just to not edit 8 places always until it works
15:29:57kugelI use r6 to store the pixel
15:30:14kugelbut this ldrb is at the very beginning of those functions, before I even touch r6
15:30:42funmankugel: there is a patch on the tracker to have more details on data aborts
15:30:55funmanlike which address is faulty (what is in r6 for instance)
15:31:13kugelldmia r0, { r4, r5, r6 } is a few lines before
15:31:31funmanand ldrb is after the loop label
15:31:36funmanso r6 is already used
15:31:44kugelah right
15:31:52kugelI didn'T see that
15:32:11*kugel needs another free reg then
15:32:56funmannot sure if there is one :/
15:35:56kugelthe first one doesn't use r11, but the second one is problematic :/
15:37:10kugelfunman: "ldrb r9, [r6], #1 @ r9 = *Cr_p++;" doesn't always load the same address?
15:37:21 Quit bluebrother (Nick collision from services.)
15:37:26 Join bluebrother [0] (n=dom@rockbox/developer/bluebrother)
15:37:26kugelI can't see how r6 is incremented
15:37:28funmanthe ", #1" increments r6 after the load
15:37:50funmanit's post-indexed addressing
15:38:02funmanthere is another syntax for pre-indexed addressing
15:38:02kugelah, so I was confusing it with [r6, #1] ?
15:38:15funmanyes, [r6, #1] just loads (r6+1) and leaves r6 untouched
15:39:24 Join Lss [0] (
15:39:24CIA-43New commit by lenzone10 (r22572): Updated italian translation.
15:40:15kugelhrm, to I even need a free one?
15:40:20kugelr0 should be enough
15:42:45 Join teru [0] (
15:47:18kugelhrm, no, I think the halfwords need to be swapped
15:49:35kugelr3 isn't totally necessary to keep, I'll use that in the second function
15:51:57 Part LinusN
15:56:44kugelfunman: got it, thanks for your assistance :)
15:56:51CIA-43New commit by kkurbjun (r22573): pegbox, sliding_puzzle, sokoban, solitaire, sudoku, and superdom: Add support for vertical strides
15:56:52funmannp ^^
15:57:04kugelunfortunately this needs to wait for e200v2 adaption anyway
15:57:14 Join sharperguy [0] (n=sharperg@
15:57:46sharperguyI broke the screen on my sansa e280. Is there a visual guide I can go through to turn on screen reading? Since I can't see what I'm doing.
15:59:55n1ssharperguy: if you didn't explicitly turnthe setting off, ou just need to install a voicefile and generate the voiceclips
16:00:22n1sif you did turn it off, you can edit the config.cfg in the .rockbox dir to turn it on again
16:00:30sharperguyok thank's
16:00:34kugelshadearg: placing a voice file should be enough
16:01:18*sharperguy can't believe the number of people's names begginning with sha..
16:01:39kugelyea I was too lazy :P
16:01:53kugelshadearg: sorry :>
16:02:08 Join explore [0] (
16:02:10sharperguyIt always seems to happen to me
16:02:36n1sif you only install the voicefile, it will not read the filenames, but they can be spelled out
16:02:47sharperguyUmm where is the config.cfg file?
16:03:11sharperguyAnd where should the voicefile be if I already put it there (I might've done)
16:03:36funmanin .rockbox folder (dunno for the voices though)
16:05:03kugelsharperguy: did you turn off voice? it's all on by default
16:05:20sharperguyI must've done because all I had to do was turn it on
16:06:06sharperguyI need to generate the voiceclips though
16:08:27 Join domonoky [0] (n=Domonoky@rockbox/developer/domonoky)
16:16:45 Quit fxb__ (Remote closed the connection)
16:16:58n1sthe voicefile should be in the langs dir inside .rockbox
16:17:09***Saving seen data "./dancer.seen"
16:19:39 Join jgarvey [0] (
16:22:30 Quit bimbel ("Woah!")
16:25:16 Join fxb__ [0] (
16:29:54 Nick fxb__ is now known as fxb (
16:30:32 Nick fxb is now known as fxb__ (
16:30:35 Nick fxb__ is now known as fxb (
16:31:07 Part decayedcell
16:32:53sharperguyHmm well i generated it and it's just spelling it out
16:32:58n1skugel: care to test a new version of fs#10569 on your samsung?
16:33:04sharperguyI've set it to use file and directory .talk files
16:35:50sharperguyIt's still set to spell in the .cfg file. What is the right string to set it to to get it to speak?
16:36:31n1scan't you navigate to the setting using the voiced menus?
16:37:12sharperguyI tried but I didn't seem to work
16:38:29kugelsharperguy: deleting any strings means the default value will be used. by default it speaks menu, spells directory names, and for files it does something like "file 1, file 2, file 3"
16:38:53n1ssharperguy: what did you do after you changed the setting?
16:39:13sharperguyWent into the database and tired it an it just spelled it out.
16:39:52n1swell, i don't think the voiceclips work for the database
16:40:05sharperguyno? files only work in the filebrowser.
16:41:06sharperguyoh :/
16:41:27domonokyso database can only speell at moment.
16:41:31sharperguyWell it's working
16:42:33sharperguyIt can't be that hard to do the same for database though, right?
16:43:04sharperguyWhat language is this all done in, maybe I could contribute?
16:43:11funmanmostly C
16:43:23*sharperguy cringes
16:43:28domonokythe hard thing for database speking is, that this operates on tags. not on filenames...
16:43:37sharperguyAh yeah
16:43:53sharperguyCan't you just generate it from the database rather than the files though?
16:44:25domonoky.talkfiles contains the filename spoken. So we would need a system to extract all tags, create .talk files for it, and use them from the database... or port a tts engine :-)
16:45:24domonokymaking the database speak, is certanly not impossible, but its also not easy.
16:46:25sharperguyWell thanks for your help then anyway
16:48:03 Quit mt (No route to host)
16:48:10 Join mt [0] (n=MTee@rockbox/developer/mt)
16:54:21 Join funman_ [0] (n=fun@rockbox/developer/funman)
16:56:10 Quit funman ("Reconnecting")
16:57:00 Nick funman_ is now known as funman (n=fun@rockbox/developer/funman)
17:00:28 Quit Zagor ("Don't panic")
17:01:27 Join Sajber^ [0] (
17:09:06 Quit scorche (" rawr...that is all...rawr")
17:12:10 Join stripwax [0] (
17:17:41 Join stripwax_ [0] (
17:18:36 Join thebishop [0] (n=ziidev@
17:19:07thebishopanyone here have experience with MTP/libmtp/mtpfs?
17:20:09pamauryI have experience with MTP and I sometimes read pieces of code of libmtp
17:21:04thebishoppamaury, you mind if i PM. I got some OT questions about Ubuntu's handling of mtp devices
17:21:04 Join jfc^2 [0] (
17:23:40pamauryNo I don't mind. Furthermore, I don't have a reliable internet connection right now.
17:24:49 Quit jfc^2 (Client Quit)
17:27:08*n1s wonders if kugel saw his question from ~50 min ago
17:28:07kugeln1s: yes :)
17:28:07rasherdomonoky, sharperguy: I wrote some bits - check the tracker
17:28:17n1skugel: ok, just checkign :)
17:28:33 Quit stripwax_ ("")
17:29:04rasherdomonoky, sharperguy: FS #7984
17:29:43rasherdomonoky, sharperguy: It's unlikely to apply now, but the changes were fairly simple
17:30:51rasherThere was still a major thing missing though: The database concats tags together and uses string constants that aren't in the database. These would need to be generated/voiced in a special way
17:31:08rasherGenerating clips for all tags in the DB is almost trivial though
17:31:22 Quit kugel (Remote closed the connection)
17:31:53 Join stripwax_ [0] (
17:32:59domonokyrasher: sounds nice. the .talk generation could also be done easily with rbutil.
17:34:12domonokythe concatenation and string constants sounds a bit more difficult to solve.
17:34:58domonokyhow does this handle Tags with chars which arnt allowed on file ?
17:35:27rasherIIRC it uses the same scrubbing as for albumart
17:35:35rasherIt should, anyway
17:35:50domonokyah, yes they get clipped in this patch...
17:36:26 Quit stripwax (Read error: 110 (Connection timed out))
17:37:05domonokyand if you have two entrys which only differ in illegal chars, you will get the speech of the last generated one :-)
17:37:25 Quit funman ("free(random());")
17:37:49 Join kugel [0] (n=kugel@rockbox/developer/kugel)
17:38:19rasherI find that somewhat unlikely to be a real problem
17:38:56rasherMaybe you could use some sort of hashing function to decide which character to replace with. But that's just silly
17:40:21domonokyyes, correctly speaking concatenated strings and constants is more important. if find it interessting how small this patch is.
17:41:24kugeldomonoky: I'm going to commit a fuze lcd driver change soon (for a nice speed up), would you volunteer to adapt it to your e200v2?
17:42:18rasherdomonoky: IIRC the database already looks for talk clips
17:42:54domonokykugel: i could do some testing or alike, but will probably not have the time todo some real codeing/debuggin with it.
17:43:22domonokyrasher: really ? so we just need to generate the correct talkfiles ?
17:44:06 Quit gevaerts (Nick collision from services.)
17:44:15 Join gevaerts [0] (n=fg@rockbox/developer/gevaerts)
17:44:17rasherdomonoky: Hm, doesn't seem like it. There was something already in place, but I don't remember the details
17:44:49rasherAnyway, adding my patch should work - It should use the common fat-filename-cleaner which lives somewhere
17:45:26kugeldomonoky: alright, I hope for someone else then :p
17:45:31*domonoky adds database .talk file generation to his rbutil todo list :-)
17:45:44kugelshould be really only c&p though
17:46:03 Join PaulJam [0] (
17:46:29rasherdomonoky: with some luck you can use tagnavi.config parser to figure out which strings need to be generated :)
17:47:38domonokyrasher you mean for the concatenating ?
17:48:00JdGordonis fuze playback stable? or like the clip?
17:48:00rasherAnother problem is lines that include stuff like playtime or rating
17:48:19domonokythat could potentialy increase the number of .talk file astronomically :-)
17:49:02rasherOr maybe the database browser should take care of the concatenating somehow
17:49:17rasherAlthough I imagine that might be a bit hellish
17:50:45domonokyhm, things like playtime or rating should be handles as dynamic numbers is the menu. So we need to modify the .talk system to allow a mode like menu-talking but with voice out of .talk files instead of a voice file.
17:54:29CIA-43New commit by kugel (r22574): Speed up the Fuze's LCD by a factor of ~2.1 (lcd_update()) by using 32bit transfers when possible. ...
17:54:46*n1s wants testers with these rtc's m41st84w, jz4740, rx5x348ab, s3c2440 or s35390a for fs10569 if anyone is bored and wantan excuse to dig up an old target or somethi ng
17:54:54kugelwill test now
17:55:04n1skugel: great! :)
17:55:33 Quit explore ("Lost terminal")
17:56:53 Part at0m ("more has been done with less")
17:57:13kugeln1s: might take a while on my slowbook though :)
17:57:31n1skugel: np
18:00:29 Quit teru ("Quit")
18:00:45 Join dfkt_ [0] (
18:01:10 Quit dfkt (Nick collision from services.)
18:01:13 Nick dfkt_ is now known as dfkt (
18:02:07 Join JdGordon_ [0] (i=483edbcf@gateway/web/freenode/x-mwaoflfaghrgehdg)
18:02:30domonokykugel: about your patch: what happens if a transfer is not 32 aligned, but has a even count of bytes ? also if its aligned but a uneven amount of data ?
18:02:59domonokyie a transfer with 3bytes would cause 4 bytes to be sent ?
18:03:01 Join froggyman [0] (
18:03:35JdGordon_the fuzes home button confuses me :p
18:03:49kugelfor uneven, it will also do the last if() case (since it's while count > 1 now)
18:04:13domonokyah, i see it now.. :-)
18:04:57kugelJdGordon_: I cannot understand that :)
18:05:31JdGordon_i keep thinking its like the e200 power ubtton, or the clips home button
18:05:32kugelwell, I can, but only if you come from the clip
18:05:46kugelit's more like the e200 really
18:06:34JdGordon_does microSD not work yet?
18:06:39kugelit does
18:06:51kugelyou have a fuze now?
18:06:55 Quit stripwax_ ("")
18:06:56 Join AndyI [0] (i=AndyI@
18:07:46JdGordon_yep, v1 and v2
18:07:53kugellike me :p
18:08:04JdGordon_hmm.. neitther of my mSD chips seem to show up
18:08:20 Join stripwax [0] (
18:08:41kugelbah how to quit calendar on a samsung??
18:08:41JdGordon_its in debug though
18:09:00kugeln1s: read/write and calender works fine now
18:09:22n1skugel: thanks
18:09:33kugelJdGordon_: try it a few times, inserting has gotten a bit unreliable since gevaerts multi-storage stuff commit
18:09:58n1sso, that's 7 down and 5 to go :)
18:10:41*JdGordon_ is a drongo
18:10:46JdGordon_both are formatted ntfs
18:11:10kugelbtw, ntfs isn't supported by rockbox :)
18:11:22*JdGordon_ slaps forhead
18:12:21kugelideally rockbox should be able to format it for you
18:13:07n1sor at least splash a friendly "Unsupported format" message
18:13:12JdGordon_amazingly.. my fat32 formatted sd chip works fine :p
18:14:30JdGordon_is the fuzes max volume alot lower than other targets?
18:14:43kugelwe have reports of problems with certain microsds, I wouldn't call it working fine already
18:15:01kugelsame as e200
18:15:44JdGordon_fine as in.. it seems to work :p
18:16:46kugeldomonoky: c&p lcd_write_data and lcd_write_single_data16 (and replacing the calls to lcd_write_data with _data16 where it's called with count=1) should do the job
18:17:06kugelwhich is any call except the ones in lcd_update and _rect
18:17:12***Saving seen data "./dancer.seen"
18:17:20domonokykugel: i just did. but somehow my arm-elf-gcc doesnt want to work anymore :-/
18:18:02kugelthat's lame
18:18:24kugelthat means you haven't done any coding for a target since a while! ;)
18:19:44 Quit AndyIL (Read error: 110 (Connection timed out))
18:22:16kugel55fps in pictureflow on the fuze :)
18:23:39domonokyeverything seems to be broken, time to download a vm :-)
18:25:05 Join gtkspert_ [0] (
18:27:57 Quit thebishop ("Leaving")
18:29:01 Quit JdGordon_ (Ping timeout: 180 seconds)
18:31:13 Join Strife89 [0] (n=michael@
18:33:12 Quit daggett ("Ex-Chat")
18:33:54 Join Hillshum [0] (
18:35:00 Join merbanan [0] (
18:37:39 Quit ch4os (Remote closed the connection)
18:38:40 Quit jgarvey (Operation timed out)
18:40:02 Join domonoky1 [0] (
18:40:38 Quit gtkspert (Read error: 101 (Network is unreachable))
18:40:56 Join ch4os [0] (n=ch4os@gentoo/user/ch4os)
18:42:35 Join thebishop [0] (
18:43:34LambdaCalculus37Looks like SanDisk has released a new version of the Clip again: (thanks advcomp2019 for pointing it out in -community)
18:43:54*Hillshum was just about to do in himself
18:44:09amiconnkugel: regarding odd addresses and lcd update optimisation - there's nothing that stops you from rounding top/left/width/height in lcd_update_rect() to meet the needs of such an optimisation
18:45:09amiconnlcd_update_rect() doesn't guarantee that it updates *exactly* the specified rectangle, it only guarantees to update *at least* the specified rectangle
18:45:41 Join JdGordon| [0] (n=Miranda@nat/microsoft/x-adkpocmifyhbwwku)
18:46:13amiconnThis has always been the case, as on packed-pixel displays (1bit, 2bit) there's no choice anyway. Several colour targets also round to even horizontal position and width (e.g. *all* colour PP targets except c200v1)
18:49:47kugelyea, I know. I tried that, and it didn't turn out worth it
18:50:22kugelwe're near to the speed maximum already (hitting it when boosted)
18:50:34Strife89amiconn: I hear you're pretty much the only dev with an iPod Color?
18:51:09Strife89amiconn: I'm interested in helping improve the battery life on them.
18:51:23 Join bertrik [0] (
18:51:33HillshumThe first number on the Clip+ SoC matches that of the ClipV2
18:52:04kugelrounding the dimensions to be even and aligned is almost as costly as doing the single 16bit transfer additionally, but with the drawback of often updaeting more than needed
18:52:52*bertrik will write a proposal to the devlist to clean up the DBOP button reading
18:52:54kugelHillshum: 35?
18:53:00bertrikfor ams sansas
18:53:17kugeldo that, I'm curious what you want to clean up there
18:53:28Hillshumkugel: No, the markings on the chip itself
18:53:32 Quit einhirn (Read error: 131 (Connection reset by peer))
18:53:34kugelbertrik: btw, with my commit I'm hitting the 100fps with*out* blue bars
18:54:32kugelthe blue bars aren't related to the 100fps wall, I inserted a sleep(0) in lcd_update(), which halves the fps. that still gives blue bars
18:55:18amiconnStrife89: I have an ipod Photo, not a color. It's almost the same, but the lcd controller is different
18:55:29bertrikI still think the blue bars are related to button reading while lcd update is busy
18:55:37amiconnAlso it's almost broken (that thing seems to eat 1.8" HDDs)
18:56:11amiconnkugel: If it simplifies the transfer code it would still be worth it
18:56:14kugelthe fifo is full with your way, but almost constantly empty with SVN. that may clash with button readings
18:56:26kugelamiconn: it doesn't really
18:57:13 Quit domonoky (Read error: 110 (Connection timed out))
18:57:22 Join jgarvey [0] (
18:57:22Strife89amiconn: I think it's a Photo, actually. It has a 20 GB HDD.
18:57:29 Join mcuelenaere [0] (
18:57:35kugelit's simple enough, and doesn't need any asm as the e200v1
18:58:57*Hillshum is unable to find more on the Clip+ SoC from googling numbers on it
18:59:16*kugel didn't see that coming!
19:00:25bertrikkugel, IIUC, your fix would also effectively double the FIFO capacity
19:00:25 Quit pamaury ("exit(*(int *)0 / 0);")
19:00:44bertrikbecause you're using wider words
19:00:45kugelthat was the point of the commit yes :)
19:00:55amiconnNo asm? Then it's not simple... ;)
19:04:45amiconnHrmmm, hanging build?
19:05:00*amiconn summons Bagder and/or Zagor
19:05:27 Quit Strife89 ("Switching buildings.")
19:05:51 Quit domonoky1 (Read error: 54 (Connection reset by peer))
19:10:19froggymanis anyone here familiar with the level arrays used in brickmania?
19:10:50 Join domonoky [0] (n=Domonoky@rockbox/developer/domonoky)
19:13:18 Quit Hillshum (Remote closed the connection)
19:13:27 Join Hillshum [0] (
19:15:13kugelbertrik: how exactly do you want to clean it up?
19:16:45bertrikmove the reading of dbop completely into the display driver, since the display driver knows when it's safe to read from dbop. And possibly remove the mix of reading the buttons through DBOP and GPIO, making it always use DBOP
19:18:11kugelthe dbop doesn't react on any button here
19:18:21bertrika full lcd update can take upto 10 ms (e.g. on the fuze), while we probably need more frequent updates than that for the scroll wheel
19:18:51kugelthe wheel is polled every 5ms
19:18:58 Join Strife89 [0] (n=michael@
19:19:24kugelI don't see how moving it to the display driver is particularly helpful
19:19:53kugeland I'm not sure if reading all buttons through dbop is possible
19:20:10bertrikdbop is a shared resource, so we should not have two drivers accessing the pins without some kind of contention management
19:20:25kugelthat's what lcd_button_support() is for
19:20:41kugelthe buttons ask the display if it's ok to read and to write the red pixel
19:21:11bertrikso it probably skips a lot of reading because the display is busy
19:21:30kugelthe e200 yes, the fuze can always read the wheel
19:21:55bertrikwhy not move the dbop reading fully into the display driver instead of doing it half in the display driver and half in the button driver
19:21:57kugelmoving it to lcd-*.c still won't help you here
19:22:14kugelbecause we read buttons, and don't update the display or something
19:22:23bertrikit's a bit cleaner I think and makes the responsibilities much clearer
19:22:32kugelit's not cleaner at all, imo
19:22:57kugelbtw, the blue bars are gone with deactivating dbop writes in the GPIO read
19:22:57bertriklcd_button_support makes me guess what it does
19:23:17kugelreading buttons in the lcd driver is a nogo imo
19:23:27bertrikbut is the fundamental underlying issue fixed
19:23:46bertrikor is this just a case of "fiddle long enough with it until it seems to work"?
19:23:50kugelif you don't know what it does, read the comment directly above the call and above the definition
19:24:19kugelbertrik: what do you mean with thatß
19:24:22domonokybertrik: the fundamental question is how sandisk managed to connect the wheel and display to the same lines..
19:24:32bertrikso you think the current situation is perfectly clear and can not be improved?
19:24:44bertrikdomonoky, we cannot change that
19:24:45*gevaerts thinks that if you have a shared resource that's used by both lcd and buttons, it needs to have its own driver instead of being part of either or both
19:24:46amiconndomonoky: why, rather
19:25:09domonokybertrik: we can not change it, but understanding it might help to find a good solution.
19:25:22bertrikanother problem we currently have is that we block access to DBOP for a long time in lcd_update
19:25:59kugelgevaerts: I disagree. lcd_button_support is 10 lines and is really a lcd function (writing data to it, asking if it's busy), and the call in the button driver is the only thing that's shared
19:26:06kugelthe call is only 1 line
19:26:14gevaertskugel: how long it is doesn't matter
19:26:14bertrikI was thinking of making the lcd_update pause every 32 lines or so to do a DBOP read, so when the button driver wants a reading, it can get that cached value instead of no value at all
19:26:49kugelbertrik: I think it cannot be improved yes
19:27:17domonokycached values might really help for the wheel.
19:27:27bertrikat the very least we have to be very careful with the GPIO read and the lcd update and I'm currently not convinced it's protected somehow
19:28:09kugeldomonoky: can you build now?
19:28:30domonokykugel: still downloading a good vm.
19:28:35kugelbertrik: it's not, that's causing the blue bars
19:28:48kugelI'm right now finding that protecting it helps against the blue bars
19:29:55kugelstill very occasionally single blue pixels though
19:30:18gevaertskugel: weren't you the one who complained loudly about the time setting code in usb_storage.c? ;)
19:30:23domonokywhich is understandable. altering the status of the GPIO/DBOP pin while transvers goes changes transferd data.
19:31:01kugelgevaerts: the code in question is perfectly separated in my opinion
19:31:45kugelchanging it will move lcd drawing into the button driver, or button reading into the lcd driver
19:31:47domonokymybe we should introduce a dbop mutex, and make sure no-one holds it very long. ie make lcd_update release it every x lines.
19:32:00*n1s instinctively thought the same as gevaerts, a seperate dbop driver that the button and lcd drivers communicate with
19:32:51bertrikDBOP really seems designed for driving display controllers, with button reading as a dirty hack tacked on
19:33:34n1sso should our code deal with the ideal situatio or reality? ;P
19:33:35kugeln1s: I started that here ( a while ago
19:34:35n1skugel: so why did'nt that get in?
19:34:42kugelbecause it didn't work
19:35:01kugeland I didn't bother to come back to it
19:35:13 Join Horscht [0] (n=Horscht2@xbmc/user/horscht)
19:35:36bertrikn1s, only on mondays
19:35:44kugelwell, I'm fine with moving some dbop stuff into a seperate (third) file, but not moving stuff between the lcd and button driver alone
19:36:46bertrikhm yes, those savings in source code size look good
19:38:11kugelalright this works
19:39:35bertrikI just want a mechanism that makes sure that DBOP reads (button read) and DBOP writes (lcd update) cannot interfere with each, it's not really a big deal to me in what source file it is implemented
19:39:40kugelwith that, the fuze is at 100fps even fore unboosted
19:39:54 Join JohnTeddy [0] (i=unstable@tor/regular/sid)
19:39:57kugelbertrik: that mechanism is implemented
19:41:44 Join biengo [0] (
19:41:49Strife89amiconn: I believe it's an iPod Photo that I have.
19:41:56 Quit Hillshum ("Ex-Chat")
19:42:21bertrikI still find it odd that for a DBOP read, we have one routine in lcd source to set the "red pixel" and another in the button source to read the dbop
19:42:29Strife89amiconn: I'm wondering if you've got any work on improving the battery life?
19:42:53 Join Hillshum [0] (n=hillshum@
19:43:04kugelbertrik: that's odd by hardware design
19:43:13bertrikI'm pretty convinced we don't need to actually write a pixel to the display and I hope to prove this on the c200v2 that funman is sending me
19:43:22kugelwriting to the lcd in the button driver isn't any less od
19:43:38kugelbertrik: it is needed! you can even find it in the OF disassembly
19:44:00bertrikoh that weird! :) but I think we can do better and simpler
19:44:37kugelHow? Cast a charm on the hardware?
19:44:37bertrikI'll gladly prove myself wrong once I have the hardware to test it
19:44:50gevaertskugel: that doesn't prove anything! The OF was written by a company that thought that sharing those pins is a good idea :)
19:45:36JdGordon|more like the hardware guys thought it was a good idea and the software guys couldnt argue and had to live with it :p
19:46:11JdGordon|of course, all this can be blamed on management who wanted a 3c saving per unit...
19:48:30JdGordon|kugel: annoy me this evening and ill test the lcd update on my e200v2...
19:48:35 Quit thebishop ("Leaving")
19:48:35bertrikdomonoky, we can't simply use a mutex because the button read task runs in interrupt context
19:48:42JdGordon|assuming i can get it to update
19:49:37bertrikkugel, what do you think about the idea of reading the dbop every x lines or so (to make sure we can always return a relatively recent cached reading)?
19:50:43bertrikAFAIK the scrollwheel interrupt is now running at a non-standard faster rate, maybe this way we could avoid that too
19:51:21kugelwe probably can't since it's still polled
19:51:42kugelreading it more often is not to get around lcd blocking, but to miss less actual changes
19:51:43bertrikhow does this work on the e200v1 then?
19:52:42bertrikok, I was thinking we might miss too many readings because they were skipped when the lcd was busy
19:52:55kugelthat's true for the e200v2
19:54:21kugelbut no e200 or fuze owner ever nagged about the scrollwheel, therefore I don't slowing down lcd updates for dbop reads will improve anything noticeably
19:54:31JohnTeddyThe hard disk drive on my 30 gig iPod video died, is it possible to buy a new one and get rockbox on it?
19:56:04bertrikdo we need the same faster tick rate on other scrollwheel targets?
19:57:02 Join stripwax_ [0] (
19:57:42bertrikI wonder if scrollwheel updates might get "starved" when we fill up the display bandwidth with just writes
19:58:07kugelbertrik: no, we're the only targets which have no interrupts for the wheel I think
19:58:11JdGordon|kugel: i saw the fs email... thats why i said annoy me later :)
19:58:17kugelah ok :)
19:58:30stripwax_JohnTeddy -
19:58:44JdGordon|I havnt touched my e200v2 in ages.. i tinhk its still running the very very early build where buttons dont work
20:00:55JohnTeddystripwax_: How can I tell what generation my iPod is?
20:01:34stripwax_JohnTeddy - the ipod video is either 5G or 5.5G
20:01:52kugelbertrik: we could possibly do a free dbop read when the fifo is full (if that turns out working now), but I still doubt it will improve anything
20:01:55JohnTeddystripwax_: It is 30gig
20:02:09kugeland it probably means the "wheel experience" is highly dependant on what you're doing currently
20:02:12stripwax_JohnTeddy - that page I linked to lists the available hard drive requirements for Ipod Video .. you have an ipod video
20:02:19JohnTeddyIt could play videos
20:02:24stripwax_Is it an "ipod video" ?
20:02:42stripwax_ok, so the info you need is in the Apple table under Ipod Video!
20:02:42JohnTeddyIpod 3rd Gen 30GB 50 Pins 8mm MK3004GAH
20:02:45JohnTeddyI think it is that one.
20:02:54gevaertsJohnTeddy: it's not
20:02:58stripwax_i.e. you need a replacement 5mm ZIF 40 drive
20:03:02JohnTeddyor this one Ipod Video 30GB ZIF 40 5mm MK3008GAL
20:03:04n1s3 != 5
20:03:19stripwax_JohnTeddy −− the one labelled Ipod Video, yes. NOT Ipod 3rd Gen.
20:03:30stripwax_You don't have an Ipod 3rd Gen, and that hard drive won't work in an Ipod Video
20:03:38stripwax_Let us know if the table is not clear and we can improve it
20:03:52 Quit mt (Read error: 113 (No route to host))
20:06:46JohnTeddystripwax_: no, it is clear. I'm just a bit retarded today.
20:07:09bertrikkugel, I was thinking to do a read every 32 lines or so, which is about every 1 ms, so the cached dbop read value is up-to-date while not slowing down the writing too much
20:07:21JohnTeddyThere is just a lot of data on the table, you just have to parse it all to make sure you get the right result. I just quickly looked for '30 gig'
20:08:21JohnTeddymaybe put the model name in bold, to emphasize that.
20:08:28kugelon fifo-full seems more promising
20:08:30bertrikthere is currently no way to make sure that scrollwheel readings are actually done, the display might be really busy and never allow a dbop reading
20:08:35JohnTeddynah, just leave it. ti's fine.
20:08:52kugelbut it works
20:14:01bertrikyeah, but I wonder how many reading are currently skipped and I think this might be quite a few on lcd intensive tasks
20:14:30bertrikI'll work out some example code for the c200v2
20:14:54 Quit stripwax (Read error: 110 (Connection timed out))
20:16:54kugelbertrik: I just tried reading dbop on fifo full, it doesn't improve anything. But it gives 30% less fps, and some sort of corruption (not really pixel garbage, but the display seems shaking)
20:17:03kugeland the scrollwheel feels entirely the same
20:17:16***Saving seen data "./dancer.seen"
20:17:30 Quit Hillshum ("Ex-Chat")
20:17:53bertrikon fifo full, the dbop bus is basically guaranteed to be busy, so it's almost the worst time to do a reading I think
20:18:47bertrikthe scrollwheel is not connected the same way on the fuze as on the e200v2, right?
20:19:01kugelsame pins
20:19:08bertrikoh ok
20:19:14kugelbut the e200v2 suffers from lcd updates
20:20:07 Quit faemir (Read error: 104 (Connection reset by peer))
20:22:16 Join Hillshum [0] (
20:22:22 Join cooc [0] (
20:22:34 Quit Hillshum (Client Quit)
20:23:25kugelbertrik: so you want to do it on fifo empty?
20:23:50kugelthat's certainly going to hit fps hard, forcing fifo empty between updates
20:23:56 Join panni_ [0] (
20:24:59bertrikkugel, one dbop read before the very start of an lcd_update and then a dbop read every x lines (or x bytes). Yes that means forcing the dbop FIFO empty...
20:25:19bertrikbut I think that's the only way to guarantee that a dbop reading is no older than y milliseconds
20:26:23 Join faemir [0] (n=faemir@
20:27:12bertrikany idea how the OF handles the problem of concurrency between dbop writes and reads?
20:30:38kugelno idea, no
20:30:59kugelI don't think you can really improve the current situation
20:31:30kugeland it's not even bad, I like the fuze's scrollwheel way better than the e200v1's one
20:31:58 Join funman [0] (n=fun@rockbox/developer/funman)
20:31:59kugel(that's partly due that it's a tiny ring on the e200 too of course)
20:32:24funmankugel: do you know if your patch for fuze/e200v2 lcd can be applied to c200v2 ?
20:32:40funmani'll send the c200v2 i have to bertrik when i find a package / go to the post
20:32:43kugelno idea
20:32:58kugelthe c200v2 swaps the halfword, so I guess at least not exactly
20:33:29bertrikok, I don't mean to just criticize the current code, but try to find improvements where possible for things I perceive as potential problems
20:34:19bertrikI do have a couple of other not-so-big improvements for the c200v2 that may also be portable to the fuze/e200v2
20:34:21kugelthat's fine
20:35:27bertrikI don't see any problem yet in applying the same idea of using wider words to the c200v2
20:35:55bertrikmaybe the only problem is special handling for odd-sized writes
20:37:09kugelswapping alone is a big speed hit
20:37:38kugelI tried DBOP32 = fb_data[0] << 16|fb_data[1] first, and got ~15fps less
20:37:53kugelcompared to just using long* in the first place
20:38:45funman*(long*)fb_data ?
20:39:43kugelfunman: that's what I've done now, yes
20:41:12 Quit cooc ("Verlassend")
20:42:30bertrikI'm hoping we can get rid of those byte swaps for the c200v2 (although I have little hope)
20:42:32 Quit bubsy ("I'll be back somewhere in time...")
20:42:42funmanwouldn't it be fb_data[1] << 16 | fb_data[0] ?
20:42:52 Quit amiconn (Nick collision from services.)
20:42:55 Join amiconn_ [0] (i=quassel@rockbox/developer/amiconn)
20:42:59kugelcould be, I don't remember exactly
20:43:15 Nick amiconn_ is now known as amiconn (i=quassel@rockbox/developer/amiconn)
20:43:29 Join pixelma_ [0] (i=quassel@rockbox/staff/pixelma)
20:43:29 Quit pixelma (Nick collision from services.)
20:43:46 Nick pixelma_ is now known as pixelma (i=quassel@rockbox/staff/pixelma)
20:47:34 Quit antil33t (Read error: 104 (Connection reset by peer))
20:47:48 Join antil33t [0] (n=Mudkips@
20:50:33kugelbertrik: this could even be applied to clip and m200v4 as well
20:51:46 Join low_light [0] (i=c730190b@gateway/web/freenode/x-qxosbfknylsgmico)
20:53:05low_lightfunman: can you test on your yh920
20:53:07funman1000fps on clip, yeah!
20:53:26low_lightit seem to enable sound
20:53:42low_lightbut I'm having buffering issues so I can't get more than a couple of seconds
20:53:46funmanlow_light: sure
20:53:56funmando you have a yh920 ?
20:54:37low_lightyeah, got one off ebay, but it's acting kind of strange. maybe disk issues
20:54:42*JdGordon| thinks lcd fixes are a total waste of time while the clips playback is dodgey!
20:55:12 Join captainkwel [0] (i=2669ecc2@gateway/web/freenode/x-usbqmwjxyrawqdjh)
20:55:16funmanmine has problems connecting through usb, and i think pyro_maniac mentioned the same thing
20:55:32funmanmy cousin gave it to me because it was crap (both the OF and the hardware it seems)
20:55:41funmannot to mention the proprietary syncing tool
20:56:42low_lightsame here. it connects, but seems to timeout on some transfers (same with rockbox usb)
20:57:39low_lightand flac files don't seem to buffer except for a few kb
20:58:04bertrikyeah, clip fps is already ridiculously high
20:58:19kugelwe can do better :)
20:58:23bertrikwe could fit half the clip screen in the FIFO
20:58:55funmanlow_light: i have sound \o/
20:59:14gevaertsfunman: did you at least pick something decent? ;)
20:59:23kugelbertrik: I noticed I only get fifo full when doing a full lcd_update()
20:59:54funmanyes i have picked up Babylon Circus
21:00:02funmanit's an ogg vorbis and playback is fine
21:00:29funmanbuffer is full
21:01:09low_lightI'll have to run a chkdisk to see if something's up
21:01:29bertrikJdGordon, you are free to fix playback
21:02:01low_lightfunman: I had to disable dircache because it took ~1min to boot even after the first scan
21:02:40funmando you have a spare disk in case it is broken?
21:03:20low_lightfrom my 925 ;)
21:03:42kugelnot a fair trade :p
21:04:25funmanhm that makes me want to enable mpegplayer output
21:05:45funmani have a .S file but i remember it was very very similar to some ipod code
21:06:06funmanamiconn: i may have talked about this with you, do you remember?
21:07:23*kugel can set the contrast on his fuze
21:08:33kugelbut I can't make sence of the register
21:08:38 Join Zagor [242] (
21:08:54kugelZagor: look at build system :)
21:09:02ZagorI see it
21:09:38 Join Strife1989 [0] (n=michael@
21:10:10 Quit Strife89 (Nick collision from services.)
21:10:14 Nick Strife1989 is now known as Strife89 (n=michael@
21:10:52 Join T44 [0] (
21:11:01 Join explore [0] (n=msparker@
21:11:50funmanI see it's not really similar to ipod/lcd-as-gray.S
21:17:54kugelZagor: what was the problem?
21:18:26Zagorkugel: a bug. Illegal division by zero.
21:18:42Zagornext if ($builds{$id}{score} / $client{$cl}{speed} > $estimated_time * 2 / 3);
21:18:54funmanhm i can view jpeg on the yh920 but mpegplayer just gives an empty screen and no sound
21:19:12ZagorI forgot to check if speed was >0
21:20:08 Join bmbl [0] (n=Miranda@unaffiliated/bmbl)
21:20:25ZagorRondom: please look at/restart your build client. it's not behaving.
21:21:29funmanI have a data abort in the entry of MC_put_o_16_align0()
21:21:40funmanyh920 has no MPU/MMU, right?
21:22:59CtcpPing from gevaerts!n=fg@rockbox/developer/gevaerts
21:25:21funmanno "it's not right", or no "it has no MPU/MMU" ?
21:28:51 Quit Topy44 (Read error: 113 (No route to host))
21:37:12froggymansomeone mind looking at:
21:39:32JdGordon|isnt there an exe in the .rockbox folder to make new brickmania levels?
21:40:22 Quit flydutch ("/* empty */")
21:40:28JdGordon|maybe in the sauce code
21:40:45gevaertsJdGordon|: is that the code for the cook codec?
21:41:14JdGordon|noone is going to belive i did that on purpose :(
21:41:41gevaertsJdGordon|: I do believe that
21:45:51*froggyman looks for some real help
21:48:30kugelfunman: the latter
21:49:53*JdGordon| is offended
21:50:49 Nick fxb is now known as fxb__ (
21:51:18bertrikfroggyman, I can't make real sense of the codes either, it's not really documented what they mean it seems
21:51:54gevaertsfroggyman: the relevant code seems to be around line 674
21:53:14bertrikbricks with value > 10 need more hits (value/16) I think
21:54:12gevaertsyes. That's about it I think
21:54:25*gevaerts is a bit confused by those >=10 conditions
21:54:38bertrikvalue % 16 seems to be the color of the brick
21:54:57froggymanafter I add the new levels into a .patch and post it on FS, I will be sure to add my finding on what they mean in a comment
21:55:03JdGordon|there is an exe in the source to generate lvels
21:55:17froggymanJdGordon|: do you know where?
21:55:34JdGordon|the source@!
21:56:03*froggyman was hoping he knew the directory of it
21:56:12gevaertsI'm pretty sure that those two >=10 should be >=0x10
21:56:24*JdGordon| is sure it used to be there anyway
21:56:37gevaertsI'm also pretty sure that this doesn't actually matter, since values between 10 and 0x10 don't seem to be used
21:57:36 Quit LambdaCalculus37 ()
21:58:56 Join Stephen_ [0] (
21:59:35JdGordon|hmm... apparently not :/
22:00:49*froggyman looks through the tools, and utils, of the source code but is un able to find the brickmania level editor that JdGordon| talks about
22:01:05bertrikcan't we make levels also const? or would that make it overflow something?
22:01:55gevaertsfroggyman: colours are as in apps/plugins/bitmaps/native/brickmania_bricks.bmp (starting from 1 at the top). Normal bricks will need one hit to break, if the number is greater or equal than 16, the first hex digit shows how many hits are needed
22:02:35gevaertse.g. 0x25 means colour 5 (green), two hits needed. 0x3 means blue, one hit needed
22:02:58froggymangevaerts: thanks, I knew about the color codes
22:02:59gevaertsat least that's what my reading from the source says
22:03:24moosJdGordon|, froggyman: I remenber there was on application to create your own levels, shared in forum IIRC, maybe on misticriver.
22:03:34froggymangevaerts: then are power ups generated at random from the code?
22:04:28gevaertsyes, as far as I can see
22:05:31moosfroggyman: maybe ask the author by mail (benbasha). You surely find his wiki entry
22:05:44moos+will where it fit
22:06:00froggymanmoos: thanks, I think I will shoot him an email
22:06:18moosSure there was an app, and np
22:06:34domonokykugel: i have no tested you lcd-changes on e200v2, and i only get a white screen. (maybe i missed something ?)
22:07:08kugeldid you use the patches I put on the tracker?
22:07:28kugelI can't tell if you missed something if I don't see your changes :)
22:12:11domonokykugel: no i used the change you commited.
22:14:29kugellooks fine to me :((
22:17:18***Saving seen data "./dancer.seen"
22:20:28Zagorbah, wrong channel
22:21:32 Quit n1s ("Lmnar")
22:22:34kugeldomonoky: does it react to button presses?
22:23:16domonokyi dont know. i cant see anything :-)
22:23:39kugelwell, do you need to hard reset or not?
22:24:53domonokyit needs ~20sec on power to turn off, so thats probably a hard reset.
22:24:59kugeldomonoky: alright, the last two hunks are wrong. _data16 doesn't take a pointer
22:25:30kugel(I put the word single in the name to (I hope) make that clearer)
22:27:10kugelneeding a hard reset could also mean you accidentally put an effective while(1) look somewhere
22:28:26domonokynow it works :-)
22:28:48kugelcool, can you make test_fps runs with and without?
22:29:31 Quit sharperguy (Read error: 54 (Connection reset by peer))
22:35:52gevaertsfroggyman: as long as the issues noted in aren't resolved, I don't think the wikipedia plugin can be committed
22:36:12kugelfunman: is there a special reason that lcd-as-<>.S does 4 pixel at a time?
22:36:28gevaertsespecially 3 to 5
22:37:07 Quit Stephen_ (Read error: 104 (Connection reset by peer))
22:37:19domonokykugel: good results: 1/1 44.7fps -> 93fps . 1/4 173fps -> 348fps. yuv stays the same.
22:37:22kugelas if 3) would apply to our code...
22:37:27 Join Stephen_ [0] (
22:37:36kugelI bet in 50% of our files, the copyright notice is totally wrong
22:37:54funmankugel: not sure you should ask amiconn
22:38:04kugeldomonoky: awesome, I have a speedup for yuv handy already
22:38:18funmani assume you are speaking of color lcd
22:38:31gevaertskugel: current copyright notices may be inaccurate, but I'm pretty sure most of the authors can be traced by reading commit logs. For this patch they're unknown to start with
22:38:34kugelthe one for fuze/e200v2
22:38:59funmankugel: perhaps it's an unrolled loop ?
22:39:14 Quit bzed (Read error: 54 (Connection reset by peer))
22:39:16 Join bzed [0] (
22:39:40domonokykugel: so you can/should commit your speed fix also for e200v2 :-)
22:40:13kugelfunman: the C part of yuv only checks for width & 1 (i.e. 2 pixel "boundary") but the asm part seems to do 4 pixel
22:40:40kugelI probably talk bullshit again, as that doesn't seem to make sense :)
22:40:54funmanfrom what I see (their name) those functions write lines
22:41:37 Join TechGuy [0] (
22:41:51kugeldomonoky: you can do also if you want, you have it applied currently :)
22:42:05domonokykugel: oki, will do :-)
22:44:26 Join bubsy [0] (n=Bubsy@
22:45:30CIA-43New commit by Domonoky (r22575): Apply the lcd speed fix from fuze also to e200v2. Improves speed by a factor ~2.
22:50:26kugeldomonoky: yuv: 29.7 -> 43.2
22:50:51 Quit JdGordon| (Read error: 104 (Connection reset by peer))
22:51:30domonokye200v2 has yuv currently at 29.5fps..
22:52:09funmanhm you only had 15fps before?
22:52:20funmanor yuv didn't become 2 times faster
22:52:38kugelyuv was untouched
22:52:54funmanok :/
22:55:34kugelhrm, the overlay is playing weird
22:57:19 Join JdGordon| [0] (n=Miranda@nat/microsoft/x-zegnxchauiiipvwi)
23:00:30 Quit avacore^ (Read error: 110 (Connection timed out))
23:10:27 Quit JdGordon| (Read error: 104 (Connection reset by peer))
23:11:37CIA-43New commit by mcuelenaere (r22576): * Fix plugin keymaps for VX777 ...
23:14:26 Join andrew[andrboot] [0] (n=andrew-f@unaffiliated/andrewandrboot/x-689432)
23:16:13 Join JdGordon| [0] (n=Miranda@nat/microsoft/x-tkpkquwcjlxpsitx)
23:23:56 Part andrew[andrboot]
23:25:41 Quit ender` (" The most important lesson we can learn from history is the inability of humans to learn lessons from history. -- Aldous Hux")
23:26:53 Join andrewrb [0] (
23:27:46kugeldoes anyone know if accessing memory mapped hw causes cache misses?
23:28:03 Join Llorean [0] (n=DarkkOne@rockbox/user/Llorean)
23:29:16kugelI could imagine that, if the MMU doesn't know that this isn't really memory (i.e. set the region to uncached), it is trying cache the hw registers, causing real memory access after that to cache miss
23:29:24bertrikmemory mapped hw should not be cached at all I think
23:29:56kugelbut I don't know if it actually is
23:31:22kugelcache misses are baaad :p
23:32:20 Quit Strife89 ("Ni!")
23:34:02 Quit low_light ()
23:34:06kugeldomonoky: can you try the patch at also?
23:34:32kugelthe one before the last
23:34:36domonokykugel: not today anymore.
23:35:12kugelok, JdGordon| already promised to test it
23:35:36JdGordon|i didnt say anything about promising :)
23:35:59funmankugel: it shouldn't be
23:37:57 Join safetydan [0] (n=deverton@rockbox/developer/safetydan)
23:40:32JdGordon|kugel: there is nothing wrong with cache misses.... its cache thrashing which is baad
23:41:04JdGordon|i.e when some memory gets cached and then dumped for a new bit of stuff which then gets dumped etc
23:41:06kugela cache miss is causing getting a new cache, isn't it?
23:41:44JdGordon|well part of it anyway
23:42:44kugelwell, we have plenty cache lines, so it's not trashed immediately (I guess it's some LRU mechanism?), but it would still be sad if a HW reg causes a miss
23:43:21kugelfunman: so the MMU knows? Or is unmapped (MMU-wise) implicitely uncached?
23:43:31*JdGordon| has no idea what you're talking about.. just that you cant say "cache misses are baaaad" always....
23:44:10kugelthey are if they can be avoided
23:44:38JdGordon|only the ones which *can* be avoided...
23:44:38amiconnkugel: If you're talking about yuv blitting - it has to do 4 pixels at a time for best performance as it deals with yuv420
23:44:41funmanin the case of AMS at least they are uncached and i hope it's the same for other platforms
23:45:37amiconnThat means chroma resolution is half the luma resolution, i.e. a block of 2x2 Y values corrsponds to one U and one V value
23:45:52 Quit explore ("leaving")
23:46:08kugelalright, thanks for the explaination
23:46:14funman6bytes for 4 pixels?
23:46:34CIA-43New commit by rob (r22577): Fix a typo in jpeg_idct8h which could cause display corruption on ARMv5+
23:47:54 Quit funman ("free(random());")
23:50:09 Join mgpaulus [0] (n=a62294f2@gateway/web/cgi-irc/
23:52:10 Quit merbanan (Read error: 110 (Connection timed out))
23:52:58 Quit biengo (Remote closed the connection)
23:55:36 Quit mgpaulus ("CGI:IRC (Ping timeout)")

Previous day | Next day