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 2005-04-18

00:01:53 Quit StrathAFK (Read error: 110 (Connection timed out))
00:03:55HClstevenm: it should work.
00:04:07HClits just ide, afaik.
00:06:12rashersomeone cook me dinner
00:06:22*preglow hands rasher coffee
00:07:00preglowyou really did manage to screw up your sleep pattern if you're having _dinner_ now, eh? ;)
00:12:10rasherso it's not that bad really
00:13:18stevenmhey I had breakfast this mornng.. at 4PM
00:13:27stevenmunless you consider a 6AM dinner to be breakfast
00:18:35stevenmi have to go for a bit
00:18:43stevenmdo homework and all that crap
00:18:59stevenmsee you guys later
00:19:01 Quit stevenm ("Leaving")
00:31:34 Join LinusN [0] (
00:32:22Bagderhello man with bruised legs ;-)
00:33:18rasherEvening you two
00:36:43 Join Biptoria [0] (
00:36:57BiptoriaHey all
00:37:22BiptoriaAny new advancments recently ?
00:37:43LinusNBagder: hello tired man
00:37:49rashernot the last few days, no
00:41:11MoosCamarohi all
00:41:30Biptoriaokey dokeh thank you rashy
00:42:52 Quit matsl (Remote closed the connection)
00:45:28 Quit Biptoria ("CGI:IRC")
00:45:45preglowsomeone needs to port a chess game to rockbox
00:48:55 Quit Sucka ("a bird in the bush is worth two in your house")
00:50:07rasherBagder: updated log.t, let's see if it explodes again :)
00:50:35*preglow closes blast doors
00:51:34rasherI have a drinking problem!
00:51:37rasherI have nothing to drink
00:51:51*Bagder broke the daily changelog
00:51:59*LinusN emails a glass of water
00:52:15rasherYeah, guess water will have to do
00:52:25 Part gromit` ("Client exiting")
00:52:38preglowrasher: have you started doing the whats-new-in-rockbox-stuff?
00:53:00rashermore or less
00:53:14preglowwhere is/will it be located?
00:53:16amiconnBleh, fat code is just plain ugly
00:54:28preglowwhy no link from the front page?
00:54:29LinusNamiconn: it's unfair to call the code ugly just because it's fat
00:54:50*Bagder giggles
00:55:06amiconnI mean FAT of course :-\
00:55:33 Join gromit` [0] (~gromit`
00:55:47 Quit gromit` (Remote closed the connection)
00:55:47preglowlet's just call it bigboned.c to avoid this again
00:56:19 Join gromit` [0] (~gromit`
00:56:31 Quit gromit` (Remote closed the connection)
00:57:45 Join gromit` [0] (~gromit`
00:57:45preglowwhat, no one said short, just fat
00:57:52 Quit gromit` (Read error: 104 (Connection reset by peer))
00:58:09preglowi can't believe i've never declared a variable like 'short fat' before
00:58:10rasherwell, had it been taller :)
00:58:25rashershort fat :)
00:58:52rasherthere's this one thing I giggle each time I do... but I can't remember it now :(
00:59:29 Join gromit` [0] (~gromit`
01:01:59 Quit gromit` (Remote closed the connection)
01:03:16 Join gromit` [0] (~gromit`
01:03:37 Quit gromit` (Remote closed the connection)
01:03:51rasherBagder: it fell over again :(
01:03:58rasherpreglow: you can open the doors again
01:03:58Bagderyes, I'm looking at it atm
01:04:02preglowhelp it to its feet!
01:04:29MoosCamarogood night or other
01:04:38 Part MoosCamaro
01:04:51rasherBagder: Am I doing something wrong?
01:05:04Bagderits something strange happening in the server end
01:05:05 Join gromit` [0] (~gromit`
01:05:12 Quit gromit` (Read error: 104 (Connection reset by peer))
01:05:14Bagderwhen it updates and builds
01:07:51BagderI should probably write something better for it
01:07:58 Join gromit` [0] (~gromit`
01:08:08Bagderbut now I'll go to sleep
01:08:34rasherif you do, please add headlines :)
01:08:47rasheran rss feed with a bunch of dates is a bit silly
01:09:39rasheroh my
01:10:19rasherwhat happened with the NAME() bits?
01:10:43 Quit gromit` (Remote closed the connection)
01:11:53 Join gromit` [0] (~gromit`
01:12:26preglowgromit`: you're glitching
01:13:31 Quit TCK (
01:13:31 Quit _Lucretia_ (
01:13:31 Quit pabs (
01:13:31 Quit LinusN (
01:13:31 Quit Seed (
01:13:32gromit`ya thx
01:13:32gromit`experimental irc proxy
01:13:32gromit`no more
01:13:32DBUGEnqueued KICK gromit`
01:13:47 Quit nozomiyume (
01:13:47 Quit gromit` (
01:13:47 Quit courtc (
01:13:47 Quit Strath (
01:13:47 Quit elinenbe (
01:13:47 Quit webmind_ (
01:13:47 Quit Rob- (
01:13:47 Quit cYmen (
01:13:47 Quit QT (
01:13:47 Quit micoo (
01:13:47 Quit Rick (
01:13:47 Quit wacky_ (
01:13:47 Quit ze (
01:13:47 Quit dwihno (
01:13:47 Quit lostlogic (
01:13:47 Quit Ka (
01:14:17rashernow watch me be unable to sleep for several hours after having eaten
01:14:30NJoinLinusN [0] (
01:14:30NJoinTCK [0] (
01:14:30NJoin_Lucretia_ [0] (
01:14:30NJoinpabs [0] (
01:14:30NJoinSeed [0] (
01:14:43NJoingromit` [0] (~gromit`
01:14:43NJoinStrath [0] (
01:14:43NJoinRob- [0] (
01:14:43NJoincYmen [0] (
01:14:43NJoinQT [0] (as@area51.users.madwifi)
01:14:43NJoincourtc [0] (
01:14:43NJoinmicoo [0] (
01:14:43NJoinlostlogic [0] (
01:14:43NJoinelinenbe [0] (~elinenbe_@
01:14:43 Join Rick [0] (rick@Rick.user)
01:14:43NJoinKa [0] (
01:14:43NJoinwebmind_ [0] (~webmind@
01:14:43NJoinnozomiyume [0] (
01:14:43NJoinwacky_ [0] (
01:14:43NJoinze [0] (
01:14:43NJoindwihno [0] (~dw@
01:14:54gromit`preglow: you're glitching :)
01:15:02CtcpIgnored 1 channel CTCP requests in 0 seconds at the last flood
01:15:02*preglow kicks
01:15:24*rasher kicks lilo
01:15:28preglowbut i think i'll skip along to bed
01:15:32preglowso long
01:15:45 Quit preglow ("leaving")
01:18:29 Quit gromit` (Remote closed the connection)
01:18:55 Join gromit` [0] (~gromit`
01:23:06 Part LinusN
01:36:54 Join tvelocity [0] (
01:37:31***Saving seen data "./dancer.seen"
01:46:20amiconnBleh, done. Now the big question is whether this junk will work properly....
01:46:31rasherwhat are you doing?
01:46:47amiconnRe-coding add_dir_entry() to work properly
01:47:12amiconnThe current implementation has at least 3 problems
01:47:35rasherah right
01:54:24 Join asdsd_ [0] (
01:59:01rasherhow's it doing?
01:59:33 Quit tvelocity ("Leaving")
02:12:11amiconnHmm. Some quick tests show that the code seems to work....
02:12:27amiconnNow on to running the fat test suite...
02:13:24*amiconn fires up his debian vm
02:19:49amiconnArgh, fat test code doesn't build anymore :(
02:21:09rashermore work.. joy!
02:31:11amiconnHmm, tricky problem
02:31:18amiconnBagder: are you there?
02:31:57*amiconn suddenly remembers that he went to sleep....
02:35:21 Quit cYmen ("zZz")
03:00:20 Quit Aison (Read error: 104 (Connection reset by peer))
03:08:35rasherhaving fun?
03:30:44 Quit dwihno (
03:30:44 Quit wacky_ (
03:30:44 Quit QT (
03:30:44 Quit ze (
03:30:44 Quit Rick (
03:30:44 Quit Rob- (
03:30:44 Quit micoo (
03:30:49 Quit elinenbe (
03:30:49 Quit webmind_ (
03:30:49 Quit Strath (
03:30:58 Quit nozomiyume (
03:30:58 Quit courtc (
03:30:58 Quit lostlogic (
03:30:58 Quit Ka (
03:31:18NJoincourtc [0] (
03:31:18NJoinlostlogic [0] (
03:31:18NJoinKa [0] (
03:31:18NJoinnozomiyume [0] (
03:31:24 Quit courtc (
03:32:32 Quit nozomiyume (
03:32:36 Quit lostlogic (
03:32:36 Quit Ka (
03:33:07NJoinStrath [0] (
03:33:07NJoinelinenbe [0] (~elinenbe_@
03:33:07NJoinwebmind_ [0] (~webmind@
03:33:30NJoinRob- [0] (
03:33:30NJoinQT [0] (as@area51.users.madwifi)
03:33:30NJoinmicoo [0] (
03:33:30NJoinRick [0] (rick@Rick.user)
03:33:30NJoinwacky_ [0] (
03:33:30NJoinze [0] (
03:33:30NJoindwihno [0] (~dw@
03:33:41NJoincourtc [0] (
03:34:40NJoinlostlogic [0] (
03:34:40NJoinKa [0] (
03:35:12NJoinnozomiyume [0] (
03:37:34 Quit edx (Read error: 60 (Operation timed out))
03:37:35***Saving seen data "./dancer.seen"
04:05:42 Join QT_ [0] (as@area51.users.madwifi)
04:09:20 Quit XShocK (" HydraIRC -> <- IRC with a difference")
04:18:04 Quit QT (Read error: 110 (Connection timed out))
04:36:17 Quit rasher ("CGI:IRC")
04:37:41 Quit wacky_ ("[BX] Elvis has left the building")
05:06:13 Quit Stryke` ("Friends don't let friends listen to Anti-Flag")
05:10:14 Quit Ka (Read error: 110 (Connection timed out))
05:15:02 Join edx [0] (
05:18:45 Join DMJC [0] (
05:37:38***Saving seen data "./dancer.seen"
06:26:34 Quit asdsd_ ("Trillian (")
06:55:32 Quit einhirn ("Miranda IM! Smaller, Faster, Easier.")
07:28:46 Join LinusN [0] (
07:37:39***Saving seen data "./dancer.seen"
07:57:59 Quit thegeek (Read error: 54 (Connection reset by peer))
08:03:53 Join B4gder [0] (
08:09:33*LinusN is locked out of the office today
08:10:14 Join ashridah [0] (
08:10:25B4gderthey finally found out you do nothing useful? ;-]
08:10:32LinusNapparently :-)
08:10:49LinusNit's always the same story when they prolong a contract
08:11:38LinusNgood think that my workmates let me in anyway, and i never logged out last friday
08:11:54LinusNso i can at least pretent to work
08:12:05LinusNjust as usual :-)
08:12:39LinusNslashdot is full of lousy star wars jokes today
08:14:52 Quit DangerousDan ("Miranda IM! Smaller, Faster, Easier.")
08:17:20 Quit ashridah ("Leaving")
08:17:24 Join ashridah [0] (
08:21:36LinusNsilly, silly, silly mad!
08:21:59B4gderits simply... mad
08:22:21LinusNit required the to-be-decoded frames to be in consecutive memory
08:22:25B4gderanother example of not being designed for easy use in embedded systems
08:22:53B4gderwe should send someone over to their camp with a trout and slap them
08:23:11LinusNyup, a large one
08:23:15B4gdernow, where's preglow? ;-)
08:23:29LinusNhe's our appointed hitman
08:23:51LinusNamiconn: moo
08:23:58B4gderguten morgen amiconn
08:24:54amiconngod morgon :)
08:25:42amiconnI have a fixed version of add_dir_entry(). Before committing that, I wanted to execute the fat test 'suite'
08:26:06amiconnUnfortunately this isn't possible due to the fat test not compiling :(
08:27:57B4gderthe daily build changelog works again now
08:28:39amiconnThere's a heapload of problems. Lots of function prototype conflicts, and even when I manage to get past that, it doesn't link
08:29:19amiconnSo I'm not sure that, even if I manage to get the test code running, it will do the tests correctly
08:34:27 Quit Rob- (Read error: 110 (Connection timed out))
08:35:10B4gderamiconn: if you manage to build it, the old code should run ok, right?
08:35:25B4gderor at least only fail on the parts you've improved now
08:36:32amiconnHmm, right. However, I doubt that the test cases even catch the improvements
08:36:58amiconnGuess I'll simply run the code on my units for some time
08:37:03B4gdertime to add a few test cases! ;-)
08:37:20amiconnThat may be difficult in case of add_dir_entry()
08:37:59amiconnBasically, this had the following problems
08:38:41amiconn(1) It did fail when the dir it should add the entries too was not extendable (fat16 root dir or disk full)
08:39:26amiconn(2) Even if this worked, it would never have reused the very first entry.
08:39:35LinusN(1) sounds like good behaviour to me
08:39:43amiconnIt does not
08:39:56LinusNwhy shouldn't it fail?
08:40:06amiconnIf it is not possible to add entries, it should re-use deleted entries instead
08:40:52LinusNso (1) is not about failing when it isn't extendable, but that it doesn't reuse deleted entries?
08:41:24amiconnOkay, that makes a better description
08:41:34LinusNok, then i follow you
08:41:54amiconn(3) Even if the dir is extendable, but not extendable enough, it would fail
08:42:08LinusN"extendable enough"?
08:42:43amiconnThat is, an item may take up to 21 entries (20 longname entries for 255 char plus the shortname)
08:43:16amiconnThere are 16 entries per sector, so with 1-sector clusters, an item may need more than one cluster
08:43:36amiconn"Not extendable enough" means one addtional cluster is possible, but not 2
08:43:52LinusNaha, it only gets one cluster?
08:44:17amiconnNo, I mean *if* it gets only one cluster, but would need 2, it fails
08:44:25LinusNsounds like a fat16-only issue
08:44:57amiconnThis is not an issue with the fat16 root dir, but a disk-almost-full corner case
08:45:02LinusNi didn't know you could format 1-sector clusters in fat32
08:45:07amiconnThe fat16 root dir never extends
08:45:19amiconnYou can.
08:46:16LinusNi thought 4k was the smallest cluster
08:46:58*B4gder added a very incomplete column for gmini in the devicechart
08:49:06amiconnLinusN: It definitely is not, I checked with WinXP 'format /?'. For both fat16 and fat32, all powers of 2 from 512 to 65536 bytes are allowed
08:52:35LinusNthe sad part is that we couldn't continue with the gmini port even if we wanted to, because jyp has the compiler
08:52:57LinusNi mean, the latest fixes are not in cvs, or?
08:53:24LinusNStrath: you are a gmini ninja?
08:53:56Strathi kinda started the whole gmini effort ;)
08:54:15LinusNthen you might be able to tell where jyp went?
08:54:38LinusNjyp ( signed off 1 month and 5 days ago ("poof!")
08:54:49Strathmoney problems
08:55:32Strathalso computer hardware problems
08:56:28LinusNok, then i knoiw
08:58:04B4gderI can't view that page
08:58:50*LinusN updated the wiki
08:58:55LinusNi can view it
08:59:16Strathi would like to continue work on the gmini port, but the current development is out of my area of specialization :\
08:59:25LinusNwhich is...?
08:59:40LinusN(beer drinking and loudmouthing :-)
08:59:52B4gdernono, that's me
09:00:00LinusN(which happens to me my speciality as well)
09:00:15Strathreverse engineering and file handling routines
09:01:58Straththere is a link to the gmemu/gemoss site through a proxy from the gmini/rockbox port wiki page
09:04:00Strathi wish the bone head admin would remove those blocks from the router, shouldn't still be getting hit be a "DDoS" four months later
09:11:40B4gder works
09:13:54LinusNändra i wiki då
09:18:23LinusNoops, swedish
09:20:30 Nick t0mas|zzz is now known as t0mas (
09:20:47Strathbtw, how's the progress on the software audio decoding and the grayscale api? :D
09:21:12LinusNrealtime mp3 is not far away
09:21:28*LinusN is working on it
09:21:54LinusNi don't really care about grayscale at this point
09:22:01Strathcross platform C or in asm?
09:22:14LinusNoptimizations are in asm
09:23:04LinusNall codecs are in C
09:23:33Strathjust compile and use it as is of the gmini port then i guess :P
09:24:03B4gderthe gmini build only builds with libmad
09:24:42Strathoh, ok
09:24:56B4gderand there's no optimizations made in that for calmrisc
09:26:09Strathgee, ya stop submitting code for half a year and ya kinda get out of the loop on current development
09:26:47LinusNyup, you gotta keep up the tempo :-)
09:28:25Straththat and i never was really up to speed with rockbox development/porting to begin with...
09:29:53 Nick Lynx_awy is now known as Lynx_ (HydraIRC@
09:37:41***Saving seen data "./dancer.seen"
09:38:09t0mas<LinusN> realtime mp3 is not far away <−− how are we doing that with license issues?
09:38:49t0masmp3 is licensed by fraunhof?
09:39:32t0mas"The licensing terms of Thomson and the Fraunhofer Gesellschaft, who are the owners of the mp3 patents, have changed. Now not only mp3 encoders but also mp3 decoders require a license. This page lists the fees −− it's $0.75 per decoder. As a consequence, Red Hat has already removed all mp3 players from the Rawhide development version."
09:39:34B4gderwhat license issues are you referring to?
09:40:10t0maswell... mandrake and fedora/redhat have removed mp3 codecs from their media players...
09:40:22Strathmpeg patents?
09:40:28t0masyou must download em separate... and take the risk yourself
09:40:58LinusNsoftware patents are so far not legal in europe
09:41:40LinusNbut it's interesting, since fraunhofer is a european institute :-)
09:42:01 Join Harpy [0] (
09:42:39t0masghehe... I'm not against mp3... so go in writing it...
09:42:48t0masI only wanted to warn you...
09:43:00B4gderI guess we could ask concerned people who downloads rockbox to pay fraunhofer 0.75USD
09:43:11t0masghehe :)
09:43:25B4gder"hello mr fraunhofer, where do I send my 75 cents?"
09:44:05t0masor like fedora? remove mp3 codec... and make it a separate program.. than charge 0.75 USD for it... and make it "accidentally" get pirated :)
09:44:08B4gder"and if I go back to the original firwmare, I would like to get my cents back please"
09:44:34t0masI don't think iriver has paid them :)
09:44:47B4gderI think they have
09:44:56B4gdersince they sell units in US
09:45:00t0masit's not yet legal...
09:45:11B4gderwhat is?
09:45:16t0masthe patents?
09:45:22B4gderthe patent is very much legal in the US
09:45:26t0masand iriver's unit was out before they started this...
09:45:48B4gderyes, but the patent was achived before iriver shipped
09:46:15B4gderand IIRC, they never allowed commercial use of it without payment
09:46:28t0masoh ok
09:46:45B4gderthus, I assume iRiver has paid
09:47:06t0masoh wait... encoder was paid since the beginning...
09:47:16B4gderand we could argue that since you have a unit that legally plays mp3...
09:47:20t0masso I think iRiver has paid yeah..
09:47:23LinusNwhich, in my twisted logic, means that the user has already paid for the license
09:47:40Lynx_hmm, but you can't use two mp3 decoders at the same time on the units, so in theory it was paid for with the purchase of the device ;)
09:47:42t0masyeah... the user has a license
09:47:46LinusNbut i guess that argument is easily shot down in court
09:47:56t0masjust never get into court...
09:48:09B4gderLinusN: you mean when they sue a user for the missing 0.75USD?
09:48:10t0masif they start something just remove mp3... and make it get pirated...
09:48:36t0masB4gder: they wont sue a user.. they sue the seller of the software... problem.. there is no seller..
09:48:49LinusNi think it is supposed to be our responsibility, since it's the distribution of mp3 products that require a license
09:49:26t0maswell... good luck writing it :)
09:49:48LinusNanyway, i live in europe
09:49:53t0masme too :)
09:50:02Lynx_just wait a few months :(
09:50:05*t0mas is back in a few hours :)
09:50:10B4gderor we put up a disclaimer saying we assume users pay this fee themselves
09:50:39B4gderperhaps we should lookup on what Thomson says
09:51:07t0massorry for beiing the messenger ;)
09:51:22LinusNt0mas: we knew this already
09:51:35LinusNwe just haven't cared about such silly things
09:52:14 Join bobTHC [0] (
09:52:57LinusNand we still don't
09:54:58ashridaht0mas: the mp3 mob have repeatedly said they're not really interested in attempting to go after people using mp3 codecs without making any money off it.
09:55:16ashridahso unless there's a drastic change of direction, they're likely to keep doign so. (no blood from a stone anyway) :)
09:55:19bobTHCmornin' folks !
09:56:24LinusNgood luck to them getting anu money from us :-)
09:56:58 Join oxygen77 [0] (
09:59:18 Quit oxygen77 (Client Quit)
09:59:29 Join oxygen77 [0] (
10:00:10 Join oxygen77_ [0] (
10:00:11 Quit oxygen77_ (Client Quit)
10:00:14 Join oxygen77_ [0] (
10:01:39 Quit oxygen77 (Client Quit)
10:02:46Strathboing boing
10:08:05 Join Rob- [0] (
10:10:26HCli remember something about a software patents bill being passed in the eu, iirc?
10:10:30HClnot too long ago
10:10:52*HCl has to go anyways, if he'll still want some coffee and some food
10:11:18LinusNseems most of thomsons patents have been granted in europe
10:11:30LinusNeven though software patents are illegal
10:11:59dwihnoHas the EU patent bill passed?
10:12:06LinusNnot that i know of
10:15:43dwihnoThat would be the end
10:16:58B4gderit'll come
10:17:24B4gderno need to think otherwise
10:17:39B4gder*all* major companies are behind the idea
10:20:03dwihnoLet's buy a small patch of land somewhere and create our own country
10:22:34RickBut then you'd have to deal with other countries going after your ass ;P
10:22:47Strathwith what force to defend it?
10:23:15dwihnoLove of course
10:23:18 Quit oxygen77_ ("CGI:IRC")
10:23:19dwihnoThe strongest force of them all
10:23:58dwihnoHow about Norway... They don't want to join the EU, right?
10:24:55Strathi hear there are some prime lots going cheap on the moon...
10:25:08LinusNthey have granted the thomson patents as well
10:25:52B4gderdwinho: I assume they will grant the same things too, as they will want to do business with EU
10:27:40Strathas would any nation dealing with international commerce
10:28:01B4gderyes, if they become a rare minority
10:28:03dwihnoWho needs commerce? :)
10:28:22dwihno"All you need is love and free software" (john lennon) :)
10:28:40Lynx_the fraunhofer institute schould not have started to work with thomson anyway. they should have open sourced it from the start, after all it's a research institute...
10:28:53Strathand a electronics fabrication plant :)
10:28:56LinusN...which needs funding
10:30:13dwihnoSpeaking of electronics, I'd like to share a cool idea. Imagine a hard disk based player with a (radio) remote control with display
10:30:48dwihnodisplay = WPS, browser etc.
10:30:50Lynx_of course, but if every scientist started to patent their discoverys and make money off it...
10:32:39Strathtoo much tech in this world... i'm thinking Ted Kaczynski was on to something...
10:33:06dwihnoTed whowhat?
10:33:06Lynx_what did he say?
10:33:26Straththe "Unabomber"
10:37:58dwihnoA lot to read
10:38:14dwihnoAlthough I'll read it when work is done (or when I'm downloading 100-meg PDF's over ADSL)
10:38:55Strathi hadn't ever read it before now and based my comments above only on what i had heard through the 'media'
11:02:14 Join Nibbler [0] (
11:03:00 Join Aison [0] (
11:09:16amiconnLinusN: In case you or another FAT (not fat ;-) ) guru wants to have a look at my fixed add_dir_entry(), here is a patch:
11:09:48amiconnThe resulting binary is even smaller than the old function :)
11:20:11 Join amiconn_ [0] (
11:28:43 Quit amiconn (Read error: 60 (Operation timed out))
11:28:47 Join Zagor [0] (
11:28:56 Nick amiconn_ is now known as amiconn (
11:33:57amiconnhi Zagor
11:37:43***Saving seen data "./dancer.seen"
11:39:59 Join F1^Aison [0] (
11:47:36 Join preglow [0] (
11:54:43 Quit F1^Aison (Read error: 148 (No route to host))
11:55:42 Join F1^Aison [0] (
11:56:51 Nick F1^Aison is now known as Aison` (
11:59:19 Quit Aison (No route to host)
12:02:04 Join cYmen [0] (
12:09:40 Join Ka [0] (
12:12:00*preglow flexes his trout and goes to see the libmad author
12:13:58LinusNhit him hard
12:16:32preglownow, what's this you were saying? consecutive frames need to be in sequential memory? isn't that kind of a showstopper for our case?
12:16:43LinusNnot really
12:17:18preglowwhat about a partial file at the end of the mp3 buffer?
12:17:35Zagorwe'll fake it
12:18:44LinusNwe'll just keep a 2k guard at the beginning/end of the buffer
12:19:05LinusNand copy the partial frame when the buffer wraps
12:22:21 Join austriancoder [0] (~austrianc@
12:22:25austriancoderhi all
12:23:12austriancoderis somebody working on the hold-button code for iriver?
12:23:37austriancoderfine.. then i will do it
12:23:55austriancoderis there a global ToDo list with stuff like this?
12:24:34LinusNsort of
12:24:57LinusNthat's about as close to a todo list we have
12:25:13austriancoderah ok.. so i will add some thing later
12:28:04austriancoderare the remote control buttons are used in rockbox yet?
12:28:43austriancodersorry.. atm i have no iriver here to test
12:29:01 Join MoosCamaro [0] (
12:29:10MoosCamarohi all
12:29:36MoosCamarohi austriancoder
12:29:56MoosCamaroyou've got news for remote control?
12:30:24austriancodertoday i will commit some new code..
12:30:40austriancoderand maybe some hold-button code
12:31:02austriancoderLinusN: as i see only iriver has a hold-button, is this correct?
12:36:02*austriancoder is away for a short time
12:36:10 Nick austriancoder is now known as ac_away (~austrianc@
12:36:53 Nick Strath is now known as StrathAFK (
12:52:14*HCl has two classes with markun this semester..
12:52:43preglowbug him to finishing his grayscale patch, please ;)
12:53:03*B4gder seconds the bugging
12:53:47ac_awayyeah.. bug him
12:53:55 Nick ac_away is now known as austriancoder (~austrianc@
12:58:16LinusNaustriancoder: yes, only iriver has a hold button
12:59:37austriancoderLinusN: so should i add a new define into config.. like HAVE_HOLD_BUTTON.. maybe there are other players like h3xx will have also an hold-button
12:59:46LinusNgood idea
13:00:14amiconnI wouldn't invent an extra define for every tiny feature
13:00:14HClhe has been busy with tests, and we're getting some quite intensive projects.
13:00:45amiconnFor now, it should be sufficient to check for ONFIG_KEYPAD == IRIVER_H100_PAD
13:00:52HClneed to write a compiler in 3 weeks time, and then we have our AI class as well
13:00:54LinusNamiconn: true, true
13:01:11austriancoderthen there will be no new define ;)
13:01:46preglowHCl: school needs to be ignored on a regular basis
13:03:49austriancoderbasic hold-button is done.. now i integrate backlight and it is done
13:04:44B4gderthen the work on getting the WPS to display on the remote starts!
13:04:56preglowthere will be no backlighting when hold switch is on, yes?
13:05:20B4gderactually, most screens should display on the remote I guess
13:05:35B4gderthat can become painful
13:05:37amiconnJust a suggestion (still no iriver): Imho there should be two wps's, both on the main unit and on the remote
13:05:42B4gderI agree
13:05:46austriancoderpreglow: no backlight... but i want to switch the backlight on, if the hold-button was changed from hold to non-hold
13:06:07amiconnThey should both be displayed unless you switch to the file browser
13:06:08preglowahh, yes
13:06:21austriancoderamiconn: that was my idea too
13:06:47amiconnIn file browser mode, the main unit should show the browser, while the remote should still show the wps
13:07:06B4gderamiconn: you want to be able to navigate with the remote as well long as there's music playing
13:07:26austriancodernavigation should also be possible with the remote
13:08:17amiconnOkay, improved suggestion
13:09:19B4gderbut the unit you don't press keys on could perhaps remain showing the WPS
13:09:21amiconnThe one display which is used to switch to the browser (either remote or main) should show the browser, the other should keep displaying the wps
13:10:07amiconnThat stuff will be really trciky to get working correctly
13:10:42t0masghehe.. took me 3 hours... but I'm back
13:12:38t0masamiconn? saw my privmsg? or was it lost in your ping timeout? :)
13:14:05austriancoderhas somebody time to build an icon, which should indicate that hold button is on?!
13:14:19t0masthere is someone good at photoshop here...
13:14:35t0masbut I guess you want a simple little lock icon?
13:14:50B4gderI doubt a 6x8 pixels 1bit icon requires photoshop ;-)
13:15:12*t0mas starts paint :P
13:15:32austriancoderthanks t0mas
13:15:43t0mas6x8 ? can it be 8x8 ?
13:15:55B4gderwhatever fits
13:18:13LinusNshould maybe be two icons, one for the remote and one for the main unit
13:19:09 Join webguest74 [0] (
13:19:18t0masisn't there an icon for the archos?
13:19:28B4gderit has no hold button
13:19:34t0masah ok
13:19:45B4gderthere's a hold mode, but it shows no icon
13:19:58t0maswhat's the height of the statusbar?
13:19:59t0mas8 px?
13:20:04B4gdersystem font height
13:20:08B4gderbut that is 8
13:20:32t0masthe iriver icon is much larger...
13:20:43t0masit fits a R, M of B
13:20:43HCli definately want to be able to use my remote to browse, heh.
13:20:56HCli wouldn't know what the lcd on the remote is for otherwise :P
13:21:29HClLinusN: do you happen to know anything about the optical in/outs yet? are they linked to the audio chip or the cpu?
13:21:40LinusNto the cpu
13:21:45*HCl and markun were thinking about game-linking two irivers with two optical cables :P
13:21:49HClah, cool :P
13:22:24LinusNto the EBU1 port
13:23:03amiconnaustriancoder: There is a lock icon already. Although the archos has no dedicated hold button, there is button hold in the wps, using that icon
13:23:16preglowyou were thinking of this while you should be thinking of gray scale support!!"¤¤%##
13:23:21B4gderthere is one? oh. ;-)
13:23:25*B4gder hides
13:23:50austriancoderamiconn: ah ok
13:24:04*t0mas was just checking the iriver icon set :)
13:24:24t0masas painting it is difficult... when it's that small
13:25:01t0masextern void statusbar_icon_lock(void);
13:25:07t0masin icons.h ?
13:26:38LinusNi use pen and paper for such small icons
13:26:48LinusNt0mas: that's the one
13:28:03austriancoderi will use the one in icons.h - thanks all
13:28:21*t0mas is going to optimize the bmp loading :)
13:30:40amiconnZagor: I would be very pleased if you could have a look at my fixed add_dir_entry() function. Afair you're one of the FAT experts...
13:33:21austriancoderLinusN: it seems that the remote_button_hold function does allways return true
13:34:08Zagoramiconn: is it in cvs?
13:35:26LinusNaustriancoder: it does?
13:35:50amiconnZagor: No, not yet. I want to do some more tests as well before committing. There's a patch:
13:36:23LinusNaustriancoder: ooops
13:36:28Zagorok. i need to grab some lunch now, but will look at it after.
13:37:02B4gderZagor: the fat test no longer builds fine too, so that needs adjustment
13:37:04austriancoderLinusN: did you found the mistake?
13:37:09ZagorBagder: ok
13:37:47***Saving seen data "./dancer.seen"
13:42:13 Quit webguest74 ("CGI:IRC (EOF)")
13:42:36LinusNaustriancoder: try this:
13:43:10LinusNin button_init() change the GPIO1 values to 0x00100062
13:43:26LinusNtell me if it works, and i'll commit the change
13:43:37*LinusN doesn't have his remote with him
13:45:09*austriancoder is compiling
13:45:46 Quit lostlogic ("Going to the moon")
13:46:16austriancoderLinusN: works
13:46:25austriancoderhere my patch
13:46:30austriancoderlook please at it
13:47:35austriancoderit works
13:47:42LinusNaustriancoder: is it possible to do a unified diff instead?
13:47:48B4gderdiff -u
13:48:43austriancoderthere is onyl icon stuff missing.. rest works
13:49:08LinusNaustriancoder: i doubt that compiles for the other models
13:49:18LinusNsorry it does
13:49:30austriancoderand why this?
13:49:50austriancoderthe hold functins
13:50:09LinusNi don't want the backlight handling inside the button_hold() functions
13:50:27austriancoderwhere do you want it?
13:50:40LinusNsomewhere els :-)
13:50:56LinusNthe thing is, we might call that function in other contexts
13:51:09LinusNin the boot loader, for example
13:51:49austriancodershall i do it in the backlight thread?
13:52:04 Part LinusN
13:52:47 Join LinusN [0] (
13:53:20LinusNwhy not in button_read()?
13:53:38amiconnI don't get why explicit button handling for the hold button(s) is necessary at all. Afaics switchng on 'hold' inhibits button reading completely for the respective unit (main or remote)
13:54:04preglowno the backlight will go off after the timeout has expired, unless it is set to always on.
13:54:05preglowsoftware based
13:54:06LinusNyes, but we want the backlight to react
13:54:10preglowisn't it?
13:54:18B4gderthere are two separate hold buttons too
13:54:33amiconnpreglow yes and B4gder yes.
13:54:44austriancoderLinusN: i will change my patch to work with the button_read function
13:54:56austriancoderand i will also add the icon showing stuff
13:55:07amiconnIiuc austriancoder's patch exactly does this - inhibiting button reading when the respective hold switch is on
13:55:25LinusNaustriancoder: ...which is another place where button_hold() is called
13:55:30austriancoderrockbox @ iriver is geting better and better
13:55:37LinusNamiconn: yes it does
13:56:01amiconnIf backlight is set to always on, I would *not* expect it to go off when I activate hold
13:56:09LinusNamiconn: true
13:56:21austriancoderthen i will check the settings too
13:56:29austriancoderthats ok for you?
13:56:30LinusNaustriancoder: no, just don't turn it off
13:56:35LinusNonly on
13:56:41LinusNthe timer will turn it off
13:56:47austriancoderok... why not
13:57:35austriancoderwill be back in about 2 hours.. need to do some reallife stuff
13:57:40 Nick austriancoder is now known as ac_away (~austrianc@
13:58:05LinusNhe, what a loser, he has a life... :-b
13:58:58amiconnFlipping the hold switch could generate a button event by itself... just an idea
14:03:19LinusNi had that idea too, but it didn't feel right...
14:05:50amiconnThinking about it, completely inhibiting button read when hold is on doesn't seem right either
14:06:11LinusNyou mean if we want to allow volume changes etc?
14:06:15amiconnMaybe a plugin wants to utilise the hold button(s) as some kind of shift...
14:06:33LinusNooops, like rockboy :-)
14:07:05amiconnRockboy doesn't do this (yet)
14:07:34LinusNwell, it uses the hold key to switch display modes
14:07:35preglowrockboy uses the hold switch, yes
14:08:07amiconnIt just uses a on-off flip of 'hold' to cycle through the lcd modes
14:08:36LinusNmaybe a button_filter(bool) function...
14:09:51amiconnThe hold switch(es) could also add a qualifier bit to the returned button codes
14:10:57LinusNproblem is that every button input loop has to check it
14:11:08LinusNalmost every
14:11:22LinusNhmmm, maybe not
14:15:08amiconnWe could have 2 button read functions. button_read[_w_tmo]() would only return button codes when hold is off, without the qualifier bit(s)
14:15:23*Zagor smells what-if-design in progress...
14:15:50Zagorwhy not just say hold is not allowed. it's a lousy UI to use it anyway
14:15:52amiconnbutton_read_ex[_w_tmo]() would always return button codes, along with the current hold status as qualifiers
14:16:03t0masok... question :)
14:16:03t0masa - (2*(a % 8)) + 8
14:16:11t0mascan anybody simplify that?
14:16:34LinusNZagor: i agree, but rockboy certainly benefits from using the hold switch
14:16:50Zagordoes it, really? the function is good, yes, but not the key for it
14:17:05LinusNthe other keys are already used, afaik
14:17:21amiconnSo the normal button loops could stay as they are, obeying the hold status
14:17:27Zagori strongly doubt there really is no other way to do it
14:17:37amiconnPlugins which need to could the use the _ex variants
14:18:11amiconnErr, of course I mean button_get_*()
14:18:23Zagori'm not terribly fond of _ex functions...
14:19:10preglowthe display mode could be relocated to a menu function, but sometimes it could be necessary to switch modes repeatedly
14:19:50LinusNit is
14:20:02amiconnI can imagine that utilising the hold switch(es) could significantly speed up entering of text
14:20:22Zagorthere's plenty of unused buttons on the remote, for example
14:20:32preglowi never use the remote
14:20:41preglowand i suspect i'm not alone in that
14:20:45Zagori just don't think it's a good idea to treat hold as anything but hold. it's a switch, not a button.
14:21:37preglownot the cleanest concept i'm familiar with, no, but it is usable, and the player is short on buttons
14:22:03preglowfor some things, at least
14:22:05Zagoryelling into the mic for UI interaction is usable too, but still a bad idea
14:22:21amiconnpreglow: Don't complain about button shortness; iriver has 9 while the ondio only has 6....
14:22:29preglowZagor: yes, but that's a prohibitively bad idea ;)
14:22:30LinusNthe text entry ui should be redesigned for the iriver imho
14:22:59preglowusing the hold switch is both practical and possible
14:23:18Zagorit's not practical. it's the most cumbersome "button" anyone has ever seen
14:23:34Zagorwe're just doing it because we can, not because it's a good idea
14:24:03preglowbut compared to pausing the game, entering a menu, navigating it, switching an option and resuming, it's practical
14:24:21 Join lolo-laptop [0] (~lostlogic@
14:24:57preglowusing the hold switch for other things are of course bound to confuse a lot of people
14:25:02*LinusN imagines voice-controlled marioland
14:25:13LinusNJUMP! JUMP! RUN! STOP! JUMP!
14:25:29preglowit would have to be pitch controled to be realizable :P
14:25:45preglowa deep bass for move forward, a high pitched whine for jump
14:26:08LinusNyou mean more like, "aaaah" "ooooh", "eeeh"?
14:26:53preglowno, that's formant controlled, i mean deciding an action with the excitation frequency of your voice
14:27:00LinusN"aah, you touch my tralala"
14:27:19preglowpiece of shit song
14:27:34LinusNswedish of course
14:28:11LinusNnothing compares to "catch the digital flow"
14:28:43preglowoh, indeed
14:28:57preglowthat is the crown jewel of electronic music
14:29:12preglowi invite strangers from the street in to listen to it
14:30:21Zagor"cache the digital flow" - the squid song?
14:31:03 Quit Nibbler (Read error: 104 (Connection reset by peer))
14:31:09LinusNZagor: :-b
14:33:20preglowdamn, the ipod guys seem to have an easy time with the codecs
14:35:47preglowwell, they straight import helix aac decoder, and bam, 123% realtime
14:35:51preglowat 128kbps, that is
14:36:06preglowcompilers have a far easier time with arm
14:36:20Lynx_hehe, there is a tv show here in germany where you can call, and play a game of pong against someone in the studio which is controlled by pitch...ohhahhhohhhehhh....
14:37:00preglowbut then again, it's not a very fair comparison, since most codecs are already optimized for arm
14:37:09preglowespecially the helix decoder
14:41:25Zagoramiconn: what exactly does your patch change? most of the patch is just changing the style of the code
14:42:32amiconnIt fixes at least 3 problems... see today's log, starting at about 08:30
14:45:32amiconnThe first problem is 100% verified (my sister experienced it), and my patch is already verified to fix it
14:46:05Zagorare you saying it never ever reused deleted entries?
14:46:50amiconnIt makes sense to not reuse deleted entries as long as there is room to extend the dir. Windows also does this
14:47:26amiconnBut if extending is not possible (fat16 root or no free clusters), deleted entries should be reused instead
14:48:02amiconnMy sister's Ondio couldn't save any file to the root any more, due to all entries being taken (most of the deleted)
14:48:03Zagorwell the code is naturally written to use deleted entries, otherwise it would be a lot shorter
14:48:18 Join Nibbler [0] (
14:48:30Zagori'm pretty sure I tested that when I wrote it (i.e. added and deleted thousands of entries on a small disk)
14:48:38amiconnYes, the code was _intended_ to reuse deleted entries. It just never did
14:49:26amiconnYou can add and delete as many entries as you want with fat32 as long as you don't run out of free clusters
14:50:26Zagoryeah, but i tested the fat code by looking at the results on disk. anyway, I have no reason to disbelieve you.
14:50:30amiconnIf you have an idea how to make a test scenario for that...
14:50:53Zagorsure: create four entries, delete #2, create a new one. see where it ends up.
14:51:14amiconnIt wil end up at #5 for sure with the old code
14:51:27Zagorbadness indeed
14:51:41amiconn...and also with the new, because #5 is within the first cluster (even within the first sector)
14:51:53amiconn...and that is basically good
14:52:10LinusNto undelete?
14:52:20amiconnNot overwriting deletd entries enables undeleting them. That's why windows also does this
14:52:39amiconnWindows only reuses deleted entries if it runs out of space
14:52:52Zagoryeah, the dir entries. but we overwrite the data so it's a no-issue
14:53:22LinusNZagor: not necessarily
14:53:50amiconnRunning out of space may happen in 2 cases. (1) Disk (almost) full (2) fat16 root dir
14:56:20Zagorwell I don't advocate filling the disk with directory entries... :-)
14:56:36amiconnI'll do some more tests on this in the evening, adding/deleting both in rockbox and windows and checking results with a disk editor
14:57:14amiconnZagor: If we'd go for always reusing deleted entries, the code would become even smaller
14:57:24preglowi'd say do that
14:57:30LinusNme too
14:57:41LinusNundelete is for wimps
14:57:47preglowyes, and this is a portable
14:57:53preglowit's almost always for transporting copies of things
14:58:05Zagorand obviously, since I wrote it that way (or at least intended to) I vote for that too :-)
14:59:09Zagoramiconn: I don't understand the third bug: "Even if the dir is extendable, but not extendable enough, it would fail". of course it fails if there is not enough room to hold the data?
14:59:38amiconnI mean, if it finds a free entry at the end, it tried to append and not overwrite deleted entries
14:59:57Zagorah, so it's basically bug #1 in a different scenario?
15:00:08amiconnHowever, it may be that there's not enough room for the required number of entries at the end
15:00:46amiconnThe control flow is different, but the effect is similar
15:01:26amiconnThat's why my new code also cycles through each empty entry, and does not stop immediately
15:01:36amiconnIt does this for 2 reasons
15:02:50amiconn(1) Checking whether all entries fit in the free space (2) Make sure this area is cleared at the same time, so no need to do this in an additional step
15:05:09amiconnMark entries as unused
15:05:19Zagorthey are already marked as deleted
15:05:31amiconnNot when the dir is extended
15:05:41amiconnThe new cluster(s) may contain anything
15:06:11Zagorof course. the code always cleared the new cluster.
15:06:29amiconnYes, but in a separate step at the end
15:07:08Zagornope, see line 1301
15:07:13amiconnIn fact, it also cleared *the first* new cluster in the beginning, but an item may take more than one cluster
15:08:06Zagori'll fix the test code so I can see what went wrong.
15:08:47 Quit B4gder ("Lämnar")
15:09:16 Quit ashridah ("Leaving")
15:10:22amiconnI'm talking about the original code lines 1379..1423. These are no longer needed in my code
15:11:49amiconnLines 1301..1306 only clear the first new cluster, because line 1323 stops searching after finding the first free entry, but an item may need 2 clusters with 512 byte clusters
15:12:10amiconn512 bytes take 16 entries, but an item may need up to 21
15:12:35Zagor1323 is for end of dir, not first free entry
15:12:51Zagoranyway, i believe you. i just want to look at it.
15:12:57amiconnMaybe this is a definition problem
15:13:42amiconnI use 'free' entry for a really free entry (all zero), and 'deleted' entry for an entry starting with 0xe5
15:14:32amiconnAnd yes, line 1323 for 'end of dir' makes up for the 2 problems
15:18:53amiconn...even for all 3 in some cases
15:19:12Zagormy code uses "free entry" for deleted and "eof" for 0 entry (since the first 0 entry is always last)
15:20:15amiconnYes, but finding the first zero entry doesn't imply the new item will fit there
15:20:52amiconnMost obvious example: The found zero entry is the very last one in the fat16 root, but you want to store a longname item. Ooops!
15:21:45 Join Tang [0] (
15:21:49Zagorwell you can't blame me for not supporting fat16 in my fat32 code :-)
15:22:01TangHi guys :)
15:22:10amiconnRemember that these problems may also hit fat32
15:22:15Zagoryeah I know
15:22:33amiconnGoing for always reusing deleted entries will allow for switching the logic again, making it even more compact and fast
15:24:03 Join rasher [0] (
15:24:05Zagorif you change it, would you mind removing style-only changes? it's much easier to review patches if all changed lines are important.
15:25:10amiconnI can try... however, some of the style makes it somewhat irritanting (for me) to follow the flow
15:25:47LinusNget used to it
15:26:58amiconnWell, I can live with the opening-brace-at-same-line oddity, although I don't like it
15:27:27preglowit seems to mix conventions a bit
15:27:40preglowopening-brace-at-the-same-line is the only way!
15:28:10Zagorpreglow: it does mix conventions. many cooks, you know :-)
15:29:29Zagoramiconn: you can use whatever style you like in the code you write new, just don't change style of old code. it's an old rockbox rule.
15:29:43preglowi thought using the style of the file you're in was the rule
15:29:58LinusNpreglow: it is
15:30:11amiconnpreglow: So if the style is mixed, I can use the variant I prefer :)
15:30:51Zagorpreglow: indeed it is. it was so long since we discussed it, I had forgotten
15:31:06 Join elinenbe_ [0] (~elinenbe_@
15:31:29 Quit elinenbe (Read error: 113 (No route to host))
15:31:29 Nick elinenbe_ is now known as elinenbe (~elinenbe_@
15:31:48Tangnice progress on the remote
15:32:41LinusNyeah, that was nice
15:33:15rasherThree lock icons: one for main, one for remote, and one for both
15:35:22Zagorargh, header files are very mingled now :-(
15:37:52***Saving seen data "./dancer.seen"
15:38:32preglowwhy are some of the source files in drivers/ marked executable? :P
15:40:35LinusNthey are open source viruses
15:42:05 Join vurguuz [0] (
15:43:47HCl<.< >.>
15:43:59HCli don't suppose any of you happen to know a multithreaded patch for john the ripper?
15:45:21Zagorwho is he and how did he hurt himself?
15:46:51*rasher giggles
15:49:06HClits a password cracker :3
15:49:22 Part LinusN
15:53:27 Nick vurguuz is now known as vurguuz_ (
15:53:34bobTHCHCl > i prefere the asmcrk "smart force" function ;)
15:54:09HClo.o; never heard of it.
15:54:23 Nick vurguuz_ is now known as vurguuz (
16:03:01bobTHCAdobe and Macromedia are to merge, the companies said today. fucking bad news, already in oligopoly, and now really in monopoly
16:04:25HCladobe and macromedia.
16:04:26t0masAdobe? isn't that the shit compnay who invented pdf?
16:04:33bobTHCvery bad news for consumer not for shareholder of course
16:04:41HClit suits them well, both having rather closed formats
16:04:42t0masdamn... I hate them :P and their windows reader :P
16:04:57HClmy laptop is pathetic.
16:05:01HClxp 2800+
16:05:12bobTHClolo-laptop: not so bad
16:05:16HCland it doesn't perform any better than a single 550mhz xeon cpu
16:05:27bobTHCfucking autocomplete feature
16:05:43 Nick lolo-laptop is now known as lostlogic (~lostlogic@
16:06:02bobTHClol, thanx mate!
16:06:10Zagorfat32 in cvs seems broken. the test cases don't pass, but they work on fat16.
16:06:16preglowadobe isn't exactly the monolith of closed format companies
16:06:19Zagori'll commit the fixed test code
16:06:37HClno, macromedia and microsoft are worse
16:06:48preglowbut yes
16:07:15preglowmore worisome is the fact that adobe now has a monopoly, more or less
16:08:26preglowbut they still have some goodwill from me for inventing pdf
16:08:33rasherZagor: What do you mean that fat32 is broken?
16:09:22 Part vurguuz
16:09:31Zagorrasher: the autotest doesn't complete. don't know exactly what's wrong yet.
16:10:17preglowdoes anyone know what the pointer increment is for a void* ?
16:11:21Zagoryou can't increment a void pointer
16:12:24preglowfair enough
16:12:24Zagoruh, sorry you can. just just can't dereference it. increment is 1.
16:12:30preglowahh, great
16:12:54preglowno, i didn't expect being able to dereference it
16:13:25*Zagor has too many balls in the air. should refrain from answering questions...
16:15:19amiconnpreglow: This is a gnu extension:
16:19:14*HCl finally sees the power of a multicpu system
16:23:48 Quit Aison` (Connection timed out)
16:24:41bobTHCHCl> you recently recover sight or un never try it before on nux box ? ;)
16:27:06HClbobTHC: i've never had an intense cpu job that can run multithreaded
16:27:12HCleven now, i had to split the task into 4
16:27:17HClbut it makes quite a difference
16:27:24HCl800 000 thingys per second
16:27:30HClcompared to 330 000 thingys on a single cpu
16:27:36HClnot to mention my "2800+" cpu
16:27:41rasherthingys :)
16:27:44HClis supposed to be able to go faster than 800 000
16:27:51HClbut it only manages 330 000 as well -.-
16:29:19Zagorfalse alarm, the test code was bad.
16:29:37Zagorthe file api has changed since it ran last... :-)
16:30:55 Quit nozomiyume (Read error: 104 (Connection reset by peer))
16:31:24rasherWell it's just that a few people have experienced iRiver firmware not booting after moving/renaming/creating files with rockbox
16:31:36rasherI.. think..
16:31:46rasherI'm pretty sure it wasn't all lack of battery
16:32:02Zagoramiconn found some bugs that the test code doesn't catch. could be that.
16:32:43 Join wacky_ [0] (
16:32:49wacky_ls -al
16:32:51wacky_oops :)
16:33:10wacky_hey.. have you guys looked at the recording stuff for the iRiver ?
16:33:41wacky_Would it be hard to have something simply dump .wav data from the adc to disk ?
16:35:46 Quit HCl ("Lost terminal")
16:39:51amiconnrasher: I don't believe the iriver firmware problems were caused by the fat driver issues I found. The issues would cause rockbox to fail making dir entries in case when there is in fact room to put them, not that rockbox does something wrong
16:41:15 Join hcl [0] (
16:41:20hcloops, wrong screen closed :P
16:41:23hclwoot for sorting
16:41:25 Nick hcl is now known as HCl (
16:41:49rasheramiconn: okay..
16:42:44HClgoing at 1320000 now that my hashes are sorted :D
16:42:56bobTHCrainbowtable ?
16:46:45 Quit Zagor ("Client exiting")
16:47:12bobTHCHCl >
16:50:19HCljust sorting the hashes so that all hashes that have the same salts are grouped together
16:50:27HCltherefore each cpu has to calculate less salts
16:50:33HCl-> over 150% speed increase
16:50:45t0masdoes a call to read() move my file position?
16:51:02t0masdoesn't look like it here...
16:51:13HClit definately should o.o;
16:51:30t0masso: read(fd, &buffer, 8);
16:51:52t0masthat would read 8 bytes, move my position 8 bytes... and when I call it again? it should overwrite the buffer right?
16:52:39t0masshould I clean the buffer fist? with memset() or something?
16:52:49t0mas(it gives weird results here)
16:52:56amiconnThat's not necessary, but check how your buffer is defined
16:53:28Bagderand check the return code
16:53:28amiconnif you have something like unsigned char buffer[8]; then it's read(fd, buffer, 8);
16:53:39amiconnOtherwise your code trashes inocent memory
16:53:46t0masBagder: return's 8, as expected
16:53:55t0masamiconn: ok, that meight be it :)
16:55:49t0masI used 2560 bytes... now just 20
16:55:55t0masgetting better...
16:56:04t0masnow it's time to optimize the loading code :)
16:56:12t0masshould be possible to do it a little faster
16:56:24amiconnThat's certainly not a full 'row group'
16:56:33t0masthat's just 1 row
16:56:49amiconn...and only for monochrome
16:57:11t0masthe 20 = 160 / (8 / 1)
16:57:18t0mas1 bit per pixel
16:57:25amiconnyes of course
16:57:34t0masgrayscale = 4 bits per pixel?
16:57:53amiconnI'd load 8 rows at once for monochrome (160 bytes for b&w bmps on iriver)
16:58:11t0masyeah, I was thinking of two things...
16:58:22amiconnFor greyscale, I'd load 640 bytes at once (4 rows, 1 byte/pixel each)
16:58:28HClif you load 8 rows at once
16:58:33HClyou can just use the rockboy code
16:58:36amiconn..then converting to the native 2 bpp format
16:58:38HClsince it works on 8 rows at once
16:58:42t0masHCl: that's asm?
16:58:45HClno, C
16:59:04t0maswell... I can load 8 rows... that's not a problem
16:59:08 Join thegeek [0] (
16:59:17t0masbut I was thinking of a buffer-less way..
16:59:28 Quit Seed (Read error: 54 (Connection reset by peer))
16:59:43t0masload 1 bytes from file, set the right bits in the output buffer...
17:00:07amiconnYes, but loading 8 (4) rows at once allows for optimising the conversion
17:00:24Tangis there a critical issue about FAT with Rbx on iRiver?
17:00:36t0masok, but then the optimising is someone else's job... as I don't understand how to do it then :)
17:00:37amiconn...*not* setting each bit separately
17:00:50amiconnI am the bit wizard ;)
17:01:11Tang"rasher: I don't believe the iriver firmware problems were caused by the fat driver issues I found. The issues would cause rockbox to fail making dir entries in case when there is in fact room to put them, not that rockbox does something wrong"
17:01:22t0masok, magic me something and put it on mailinglist/privmsg/channel/my email
17:01:30t0masI'll try to write it
17:04:01Tangsorry i don't understand fine
17:10:41 Join nozomiyume [0] (
17:12:57preglowTang: we know of no serious problems
17:13:21Tangah okay i misunderstood amiconn post to rasher
17:13:35preglowit's a problem, but it's not a serious one
17:13:43preglowit should never corrupt anything
17:14:02Tangah no corruption
17:14:07Tangwas wondering
17:14:16Tangsince i experiment somme issue
17:14:28Tangwith file not playable anymore under iRiver fw
17:14:38Tangbut stillreadable trhouhg
17:14:46Bagderthat 1.65 thing?
17:15:33Tangeven with 1.63
17:15:42Tangand with mp3 (not ogg)
17:15:52Tangalso it cause iHP freeze
17:15:55Tangno skipping
17:16:05Tangand strangely when i tried
17:16:09Tangto come back
17:16:15Tangto iRiver 1.60fw
17:16:22Tangthe issue was still here
17:16:34Bagderyou mean with no rockbox left?
17:16:54Tangso i was wondering
17:17:23Bagderdid you scandisk it?
17:17:52Tangno error
17:17:58Tangalso i can modify the files
17:18:05Bagderthen I don't see how it can be rockbox's fault
17:18:10Tangso i renamed them with fals extesnion under rbx
17:18:22Tangso that they are excluded of playing list
17:18:42Tangi also think it's not Rbx ault
17:18:50Tangbut when i saw fat issue
17:19:13Tangi was wondering it there wasn't very subtle data corruption
17:19:31Tangthe WinXP HD check isn't very sure maybe
17:19:32Bagderbut no, this wasn't it
17:19:45Tangwhen i tried Partition magic checking
17:19:57Tangit failed due to "opened files"
17:21:19TangBob is explaining this to me in french by opersonnal way
17:22:53 Join Seed [0] (
17:32:39 Quit Seed ("cu, Andre")
17:33:25 Quit nozomiyume (Read error: 54 (Connection reset by peer))
17:33:26 Join Seed [0] (
17:35:36 Join Sucka [0] (
17:37:53***Saving seen data "./dancer.seen"
17:48:17 Join nozomiyume [0] (
17:49:21 Quit TCK (Read error: 54 (Connection reset by peer))
17:56:37*t0mas prays to bitgod amiconn :P
17:57:07t0mas"oh my god, do some of your bit miracles and explain to me how it should be optimized?"
18:21:06amiconnI'm certainly not a god, wizard is more like it ;-)
18:21:54amiconnWell, for monochrome .bmp to monochrome rockbox format, the idea is to swap an 8x8 pixel block at once
18:22:34amiconnThe source .bmp block contains 8 pixel rows, and we need to swap that into 8 pixel columns
18:23:44amiconnThere is a very clever algorithm I found for a similar problem.
18:24:46amiconnThe Commodore Amiga display controller works on bitplane-oriented data, while most rendering algorithms yield chunky data (1 byte/ pixel)
18:25:02wacky_hey guys.. what about the 1.65 not playing off files and not encoding more than 128kbps mp3 files anymore ?
18:25:16amiconnSo it is necessary to do "chunky-to-planar" conversion - which is nearly the same problem
18:26:54Tangbye all
18:26:58Tangbest regards
18:27:12 Quit Tang ("Chatzilla 0.9.66 [Mozilla rv:1.7.5/20041107]")
18:27:30amiconnDoing this optimisation of course requires asm, so an alternative, less optimised C version should stay in (for use in the simulator, or when porting to a new target until someone adapts the asm version)
18:27:51preglowwacky_: what about it?
18:28:56amiconnIt might be possible to write the algorithm in C after all...
18:29:20bobTHCindeed, imho
18:29:31bobTHCit's avoid the "port"
18:29:38amiconn...since it doesn't require rotate operations or other fancy stuff not available in C
18:29:59preglowcoldfire has no rotation :/
18:30:03amiconnbobTHC: Some algorithms are impossible to write in C
18:30:29wacky_preglow - well I can't play ogg files anymore with the 1.65us+bootloader, running the original firmware
18:30:36amiconnpreglow: It doesn't? That's bad (not for this algorithm though)
18:30:54bobTHCof course but the framework would be to "reduce" the time to port on devices with new screen
18:30:56amiconnStrange, plain m68k does have rotation
18:30:59preglowamiconn: nope, afaik, it doesn't have rotate, it was removed from the 68k instruction set for some reason
18:31:24preglowamiconn: along with some other nice instructions, like register exchange
18:31:28amiconnAnyway, the algorithm I'm talking about only needs shift, and, and xor
18:31:39preglowwacky_: we know that, why do you ask?
18:33:44 Join Stryke` [0] (~Chairman8@resnet-241-86.resnet.UMBC.EDU)
18:35:16 Join Shagnar [0] (
18:37:44amiconnpreglow: Strange anyway. The SH1, which has a much smaller instruction set than the coldfire, does have rotation
18:38:35preglowamiconn: don't ask why, might have been to make way for emac instructions or something
18:39:08 Quit Harpy (Read error: 60 (Operation timed out))
18:39:11t0masamiconn: tnx for explaining
18:39:35t0masyou have a link for that algorithm?
18:39:54t0masor is it exaclty the "chunky-to-planar" algorithm?
18:40:13preglowhmm, it's got a lot of test bit instructions, though
18:40:14amiconnNot exactly... I learned it from studying the m68k asm implementation
18:40:17preglowperhaps they can be put to good use
18:42:07 Join Harpy [0] (
18:42:29amiconnt0mas: Some figures: My trivial idea would be to use bit shifts and utilize the carry bit. This would require 128 cycles for an 8x8 block (shift out a pixel from source, shift into the correct destination byte etc, for all 64 pixels)
18:42:52amiconnUsing the single bit set (with and/or) is even slower, by a factor of 2...3
18:43:08t0masyes... my simple way used 2 shifts an AND an an OR
18:43:12t0masan an = and an
18:43:39amiconnThe c2p-like algorithm is approximately 2 times faster than the trivial shift-out-shift-in solution
18:43:48*amiconn tries to dig up the file
18:44:02preglowamiconn: do you suppose compilers are clever enough to use a bit test instruction if you code a bit test using an and mask?
18:45:11amiconnI don't know.... anyway, it is only significantly faster if you test different bits each time. If the mask is preloaded, it's almost the same
18:47:03preglowi'm thinking of the huffman decoders
18:47:10preglowwhere you have to do quite a large amount of bit fiddling
18:47:36preglowand no, the masks are stored in an array
18:47:46preglowwhen the index alone will do the trick for the bit test instructions
18:47:49preglowoh well
18:47:50preglowi'll find out
18:48:16amiconnWell, if I want to know whether the compiler is clever enough, I disassemble the binary and check myself
18:48:40preglowyes, i'll do that when i get around to it
18:50:28 Nick Sucka is now known as Sucka`away (
18:51:12amiconnt0mas: I can't find the original source atm, but I once made an Openoffice document that kind of visualises the algorithm. It's a bit tailored for SH1 (using register names r<n>), but I hope you get the idea
18:51:41t0masyeah, I'm not as bad on algorithms as I'm on C :)
18:54:08t0masrockbox's weird format is the planar format?
18:55:07amiconnAs I said, the problem is similar
18:55:46amiconnWe need to 'sort' bit 0 of source byte 0..7 into destination byte 0, bit 1 of source byte 0..7 into destination byte 1 etc
18:56:54t0masyes, that's what I did bit by bit
18:57:12 Join Aison [0] (
19:04:46 Join Sirdon120 [0] (
19:05:48 Quit bobTHC ("Smoke Weed Every Day !")
19:08:08t0masamiconn: I have a simple description of the problem...
19:12:35 Join stevenm [0] (
19:12:39stevenmHello all
19:16:31stevenmso guys, are unsigned ints more or less evil than ints, or the same?
19:16:39stevenmspeed wise
19:16:42stevenmon coldfire
19:16:48t0masequal if you ask me...
19:17:18t0maswell.. maybe unsinged is a little faster...
19:17:27t0masas is doen't have to check for inversion..
19:17:27stevenmall right. I started converting everything back to ints.. running into some very very bizzare synth bugs
19:17:58t0masyeah, saw some warnings on unsigned signed comparison in your code...
19:18:04stevenmi went from two unsigned chars to two unsigned ints
19:18:16stevenmnaw none of this new stuff is in CVS yet that cuases thus
19:19:09t0masah... then you had the same thing in old code?
19:19:11stevenmI get this weirdness: two unsigned ints, b1 and b2, are two bytes of a 16 bit signed sample. I go, return b2 | (b1<<8)
19:19:25stevenmyea.. but this bug started happening only I did this conversion to ints
19:19:43stevenmyea I had those comparisons in the old code but that was in a different place
19:19:49amiconnt0mas: Here's the original source where I got part of the idea:
19:20:01amiconnThere was also a web page, still digging...
19:21:04preglowstevenm: might as well keep everything signed
19:21:09stevenmt0mas, how to best deal with this? get two halves of a signed sample into two unsigned ints.. then I need to return a signed unt based on those two
19:21:22preglowif something will never have a negative value
19:21:25preglowuse unsigned
19:21:35stevenmpreglow, it's strange.. in some places I think I running out of percision.. Getting this WEIRD 'feedback sound' bug like 3 minutes into the file
19:21:53preglowif you've got a wave of it happening, let me see it
19:21:56stevenmit's not feedback I know but it SOUNDS like it
19:21:58t0masstevenm: try preglow... I don't even understand what you want... Don't know anything about samples
19:22:15*rasher wonders why the rockbox audioscrobbler group has no charts
19:22:55preglowrockbox audioscrobbler group?
19:23:02stevenmgod I wonder how old this bug is, what incarnation of the code it started in
19:23:52preglowanywho, if you've got a wav of it
19:24:09preglowi know a thing or two about audio coding, so might be able to help
19:24:21stevenmpreglow, naw, no wav atm
19:24:46stevenmit is definitely a synthesis bug. might be one of those 8bit waveforms that I changed the conversion for
19:25:56stevenmtime to whip out wine.. get the good midi editor out and figure out what patch is doing this crap
19:26:20stevenmpreglow, is coldfire 32 bit or 16 ?
19:26:23preglowstevenm: 32
19:26:31stevenmpreglow, ah. awesome
19:26:50stevenmpreglow, I have another question for you. I have an array of 16 bit sampled data.. and I need to get nth sample
19:27:35stevenmI get each 'half' of the sample into an unsigned int
19:27:51stevenmpreglow, then I shift one by 8 bits and or it with the other, return the result
19:27:59preglowahaghaha, i've got "test - iriver" listed on my weekly top track chart
19:28:14stevenmpreglow, but it doesn't work.. the result needs to be signed
19:28:46preglowwhy do you get half of the sample?
19:28:49stevenmpreglow, instead it treats the last bit of the first int as a regular bit instead of a sign bit.. what would be the fastest way to do this?
19:28:54preglowis it stored as ints or something?
19:29:02stevenmpreglow, because they're 16 bit samples stored in an array of chars
19:29:10preglowwell, stop doing that then :P
19:29:14stevenmpreglow, I can only read one byte in at a time ..
19:29:19preglowor cast the pointer to short* before you access
19:29:30stevenmpreglow, you're saying, read the whole thing into an array of INTS ?
19:29:36stevenmor shorts ?
19:29:39preglowinto an array of shorts
19:29:44preglowwhy read it as chars?
19:29:58preglowand anyway, even if it is chars, cast the pointer to short*
19:30:02preglowand things will attend to itself
19:30:04rasher <−− excellent
19:30:05stevenmI don't know.. atm I was concerned with reading anything at all
19:30:15stevenmpreglow, so then just return just the ONE index
19:30:19stevenmand not or anything ?
19:31:14preglowi'm not folowwing
19:32:50stevenmpreglow, so you are saying I should not OR anything at all, but rather cast the data to an array of short * and return array[sampleNumber] ?
19:32:58stevenmand let the compiler deal with that crap ?
19:33:18 Quit wacky_ ("My damn controlling terminal disappeared!")
19:33:23preglowstevenm: indeed
19:33:31preglowstevenm: it won't do any or then
19:33:38preglowstevenm: it just gets the sixteen bit value as it is
19:33:52preglowstevenm: just make sure the endianess is correct if you load the sample data from some place else
19:33:58stevenmah ok
19:34:11preglow.wav files need to be byteswapped, for instance
19:34:18preglowi don't know what format .pat files are in
19:35:13stevenmpreglow, ah, I see. byteswapping isn't hard
19:35:35stevenmman that really obnoxious kid from my enee class really needs to stop staring over my friggin shoulder.
19:35:59stevenmit's rude
19:36:18HClpeople are curious
19:36:21preglowvisit tubgirl or something
19:36:23preglowthat'll stop him
19:36:44rashersomeone figlet something rude
19:37:00HClor just open up word and type in big letters
19:37:09HCl :P
19:37:10stevenmtaht seems to have done the job
19:37:14stevenmtubgirl seems to work
19:37:28amiconnt0mas: Click on "Tutorials" in the menu, then "C2P Tutorial by Scout"
19:37:44t0masok, I'll read it
19:37:48stevenmand still you gotta wonder. How DOES she do that
19:37:55***Saving seen data "./dancer.seen"
19:38:05rasherI try not to
19:38:07HClwhat is tubgirl...
19:38:09preglowi'm not really wondering
19:38:27rasherHCl: think goatse, except worse
19:38:30preglowHCl: a picture of some female freak projectile shitting herself in the face
19:38:45rasherThat's another way of putting it
19:39:03stevenmhow eloquently put preglow
19:39:10stevenmbest explaination I ever heard
19:39:33stevenmI asked that once.. so later that night matt calls me up at 3 AM and makes me get out of bed and look.
19:39:35preglowi am rather skilled at being vulgar
19:39:48stevenmawesome :)
19:40:13preglowbut i need to go shop some food
19:42:21 Quit stevenm ("Leaving")
19:46:38t0maspffffff ac_away
19:46:40t0maseh amiconn
19:46:50t0masI now understand how it works....
19:47:03t0masbut not how to code it...
19:47:08t0masas that will be very difficult
19:49:34t0mashmz.. we want 64 bits right?
19:49:44t0mas8x8 ?
19:50:37amiconnI believe it's not too difficult.... and swapping 256 bits at once (32x8) will be even faster
19:55:43 Join rasher_mob [0] (
19:55:51 Quit rasher_mob (Remote closed the connection)
19:58:04 Join stevenm [0] (
19:58:53stevenmgot my bug narrowed down to two possible channels
19:59:10t0masamiconn: shall we commit a simple line-by-line working C "slow" version?
19:59:14t0masand optimize later?
19:59:23t0masas that's going to take some time...
19:59:42 Join matsl [0] (
20:00:38stevenmman the physics dude will not be happy when this thing manifests itself again :)
20:04:29 Quit Sirdon120 (Read error: 54 (Connection reset by peer))
20:04:44 Quit stevenm ("Leaving")
20:04:58 Join stevenm [0] (
20:05:52 Nick StrathAFK is now known as Strath (
20:06:02t0maswb Strath and stevenm
20:06:52amiconnt0mas: It's always possible to optimise later
20:07:18t0masOk, then I'll just make it compile without errors now...
20:07:24t0masand use a small single line buffer
20:07:40amiconnIt's very unlikely that the first version is the ultimate
20:07:44t0masthen it's usable for non timecritical things... and using a minimum amount of mem
20:08:05amiconnYes, that's a point too
20:08:15t0maswhere shall I declare my 20 byte buffer?
20:08:19t0masjust inside the function?
20:08:21t0mason stack?
20:08:28amiconnIf the routine isn't used very often, it's more important to keep it small than to make it fast
20:08:54amiconnThe builtin .bmp writer also uses a very simple bit rotation
20:09:20amiconnThat tiny file buffer should be safe to put on the stack
20:09:59t0mashm.. one more little point...
20:10:10t0masthe LCD_WIDTH of most devices...
20:10:20t0masis it devidable by 8?
20:10:49amiconnfor the currently supported devices: yes
20:10:58t0mashm... make it universal anyway?
20:11:20amiconnapps/misc.c: screen_dump()
20:12:21t0mas[(LCD_WIDTH/8+3) & ~3]
20:12:25t0massmaller :)
20:12:35amiconndefinitely :)
20:13:58amiconnLooks like I used a static buffer
20:15:01t0mashm.. the old function returned error codes 1 to 7
20:15:07t0mascan I make that -1 to -4
20:15:39t0masand return the used space in buffer when succesfull?
20:16:13amiconnMakes sense...
20:16:39amiconnIn fact, all rockbox functions I remember return negative values to indicate an error
20:16:59t0masok, are the error's defined somewhere?
20:17:02rashersounds reasonable
20:17:03amiconnIt seems this very old function didn't do that
20:17:03t0masor can I just invent my own?
20:17:21amiconnJust count up within your function
20:17:52t0masdown ;)
20:17:56amiconnMost function use a simple scheme to additionall tell about errors they got returned themselves
20:18:29amiconnreturn error_of_called_function * 10 + own_error_code
20:18:39amiconnThe latter of course being negative
20:20:19t0masfd = open(filename, O_RDONLY);
20:20:51t0masif(fd < 0) { return (fd * 10) - 1; }
20:21:03t0maswith something to debugf() about what went wrong inside?
20:22:36amiconnThat's sometimes useful too. Just use DEBUGF(), this evaluates to nothing when building for the target, unless you're building a debug build
20:29:22t0mas(x/8+3) & ~3 <−− with that I devide x by 8 and always round upwards?
20:31:06amiconnThis divides x by 8 (rounding downwards), then makes the result a multiple of 4 (rounding upwards)
20:31:31stevenmpreglow, apparently gus files dont need byteswapping.
20:31:48stevenmcasting to short works fine
20:33:08t0masamiconn: If I have a file, height H and width W, then I get the needed buffer size in bytes with this right: ((H/8+3) & ~3) * W
20:35:20Bagdernot too surprisingly, the bmp2rb already have padding code
20:35:42t0masfor width
20:35:58Bagderand you need it for height?
20:36:26t0masyes... there is a construction with and if in linus's code
20:36:46t0mas if(height%8) {
20:36:46t0mas /* not even 8 bytes, add up to a full 8 pixels boundary */
20:36:46t0mas height += 8-(height%8);
20:36:46DBUGEnqueued KICK t0mas
20:36:46t0mas allocsize = PaddedWidth*height; /* bytes to alloc */
20:36:46t0mas }
20:36:49t0masyou can use that...
20:37:29Bagderbut that's not what you want?
20:37:44t0masif(height%8) {
20:37:44t0mas PaddedHeight = height + 8 - (height%8);
20:37:44t0mas} else {
20:37:44***Alert Mode level 1
20:37:44t0mas PaddedHeight = height;
20:37:44***Alert Mode level 2
20:37:50t0masthis is what I have...
20:37:58t0masbut a simple oneliner would be nices?
20:40:09 Quit ac_away (
20:40:15amiconnPaddedHeight = (height + 7) & ~7;
20:40:32Bagderhm, why does it need a padded height?
20:40:36NJoinac_away [0] (~austrianc@
20:40:44t0masBagder: you know the rockbox image format?
20:41:06Bagderthe bmp2rb is _my_ code
20:41:12BagderI've already told you
20:41:17t0masforgot that
20:41:31Bagderbut right, its needed for that
20:41:41BagderI was thinking it was for the bmp somehow
20:41:52t0masno, that's padded width...
20:42:06Bagderit's coming back to me now, slowly...
20:42:47t0masyeah, I'm adding some extra check the old function didn't have..
20:42:52t0masamiconn came up with it
20:42:58Bagderseem smart
20:43:09Bagderthe stand-alone tool can be stupid, rockbox should not be
20:43:17t0masand returning the used size is nice for plugin's
20:43:41amiconnt0mas: You don't need to pad the height as long as you're proccessing single lines
20:43:42t0masif a plugin load's an image into the pluginbuffer... it can keep on loading images untill it's full :)
20:43:55t0masamiconn: I need to know the size of the output...
20:44:05Bagderthe padded height thing is needed for "alloc"
20:44:17t0masyeah, only I can't alloc :)
20:44:40Bagdersure you can, you just have to do it all yourself ;-)
20:44:44amiconnYes... but the output height _in bytes_ is 1/8 of PaddedHeight.
20:45:09amiconnoutputHeight = (inputHeight + 7) / 8
20:46:17t0masarg... I'm not that smart ;)
20:46:35 Quit stevenm (
20:47:45***Alert Mode OFF
20:48:42NJoinstevenm [0] (
20:52:12 Quit stevenm (
20:54:09NJoinstevenm [0] (
20:57:08 Join Aison` [0] (
20:58:28 Quit stevenm ("Leaving")
21:02:57 Join stevenm [0] (
21:04:28 Quit Aison (Read error: 60 (Operation timed out))
21:07:14stevenmfinally! nailed. that stupid thing. to the WALL.
21:07:42stevenmapparently gus envelopes are always with respect to a 44.1K sampling rate.. setting the rate to 22.05K breaks things
21:17:22Bagderaha! 64 is 64! :-O
21:17:28CtcpIgnored 1 channel CTCP requests in 0 seconds at the last flood
21:17:28*Bagder grins
21:24:47 Quit Strath ("Client closed")
21:28:05 Join Aison [0] (~hans@
21:33:53 Nick rasher is now known as rashums (
21:34:45*t0mas is away: TV
21:35:25 Join asdsd_ [0] (
21:37:23 Join Strath [0] (
21:37:59***Saving seen data "./dancer.seen"
21:38:45 Nick QT_ is now known as QT (as@area51.users.madwifi)
21:40:26stevenmooo great, I broke looping
21:49:42 Quit stevenm ("Leaving")
21:51:30 Quit Aison` (Connection refused)
22:18:48 Join Aison` [0] (
22:23:05 Quit Aison` (Client Quit)
22:25:55 Join webguest69 [0] (
22:26:13 Join belgarath [0] (
22:26:48webguest69hi all.. just a simple question someone for sure can answer
22:27:18webguest69how can I get my flashed archos player to power up on connecting a power supply?
22:28:02webguest69it only gets the charging screen, but doesn´t start playing music in car adapter mode
22:28:13webguest69i flashed rockbox 2.4
22:28:14 Quit belgarath (Client Quit)
22:29:21webguest69everything else works fine −− just this power up thing
22:31:13 Quit webguest69 ("CGI:IRC")
22:34:06 Join webguest69 [0] (
22:35:31webguest69can anyone help with the car mode? I lost connection :-(
22:36:10 Quit Aison (No route to host)
22:39:37webguest69no help for me?
22:41:29Shagnar 64 sectors are 64 sectors... <= can anyone explain that to me? ^^
22:43:36Bagderread the diff
22:44:37Shagnarnice :) (didn't know this feature)
22:45:03 Join stevenm [0] (
22:45:14stevenmmy roommate suggests a Java Micro Edition port to rockbox
22:45:51Bagderask him to mail us his patch
22:46:32stevenmi had a better idea. speech synthesis port
22:46:40Shagnarbtw, it's not possible to move a file from one dir to another?
22:46:48Bagdergetting ideas are not that hard
22:46:59Bagderimplementing them is another issue
22:47:22Shagnaror even a whole directory?
22:49:47stevenmthinking about it... a CRAPPY speech synthesis program wouldn't be THAT bad... but I dare not mention that anymore until midi runs 500% realtime
22:50:18stevenmpigs will sooner evolve wings
22:50:27*Bagder goes to bed
22:50:36stevenmgood night badger\
22:50:41Shagnargn8 badger
22:50:54Shagnaris the player still crashing when using midi2wave ?
22:51:14stevenmnaw, it runs... just slowly
22:51:22stevenmworking on optimizing it now
22:52:27Shagnarnice, didn't know that.. so, how long takes a midi file 60 seconds long?
22:52:35 Part webguest69
22:54:06Shagnarno answer? :-/
22:56:27 Quit MoosCamaro (Read error: 54 (Connection reset by peer))
22:56:28preglow60*10 <-
22:56:35rashumsI don't think midi2wav ever crashed
22:56:57 Join MoosCamaro [0] (
22:57:02Shagnarthx preglow
22:57:08CoCoLUSlet me give you an advice
22:57:18CoCoLUSNEVER try to interop microsoft excel via COM
22:57:35t0maseven better: Never use microsoft excel
22:57:38rashumsSo noted.
22:57:50CoCoLUSwell sometimes you don't have a choice.
22:57:51Shagnari thought it crashed, cause i let my player work for over half an hour and it didn't stop anymore ;-) Calc :)
22:58:22rashumswel half an hour is a 3-minute midi
22:58:24CoCoLUSnot in my school project, alas
22:58:35rashumsperhaps even less if it was a complicated one
22:58:50Shagnar"complicated" means lots of instruments?
22:59:09Shagnardunno if its a complicated one, but it's abaout 4 minutes
22:59:20rashumswell there you go
23:07:44stevenmShagnar, complicated = a lot of things playing at the same time
23:08:18stevenmShagnar, the more notes on at the same time, the more work for the synth loop. you could have a file 10 minutes long but with 10 piano notes and it be done very fast
23:08:50stevenmand 'very' is relative
23:09:01Shagnarthx :) now I did understand :)
23:09:22stevenmunfortunately I do not have a device, so I cannot move any operations into the emac unit by myself
23:09:39stevenmbut I am doing all I can from C
23:10:12stevenmif there's anyone here with rockbox on an iriver at UMD who is willing to help, I am all ears
23:12:01preglowstevenm: mac instructions might noe be able to help you much
23:12:36preglowwherever you multiply two things and need lots of precision, it can be good to have, whenever you need to do a lot of a += b*c it's good to have
23:16:03stevenma += b * c doesn't appear too much here sadly
23:16:19stevenmso.. there is no magic instruction that will give this a 3x speed boost? noooo!
23:16:32stevenmpreglow, it does a lot of 32 bit addition and multiplication
23:16:34stevenmand shifting
23:18:01 Quit micoo (Read error: 110 (Connection timed out))
23:18:06stevenmpreglow, is there some sort of profiler that can tell me where the slowdown is?
23:18:46Shagnaran iriver at UMD <= sorry for asking all the time, but what's UMD? :-/
23:18:55stevenmuniversity of maryland
23:18:59preglowstevenm: profiling has to be done manually
23:19:49Shagnaroh, then, i can't help ^^
23:19:51preglowstevenm: how do you mix voices? do you first compute one voice, then another, then another. or do you compute all of them in parallel?
23:20:10stevenmpreglow, i compute one at a time
23:20:31stevenmI compute a voice.. add it to total. compute another.. add it to totak
23:21:17 Join Aison [0] (
23:21:25 Quit lostlogic ("Client exiting")
23:21:38stevenmpreglow, whacha suggesting ?\
23:21:45preglownothing, was just wondering
23:22:13preglowbut all the shifting is done because of precision issues, yes?
23:22:33stevenmpreglow, yes
23:22:40stevenmthere are like, 4 shifting commands
23:22:44preglowyou at least don't have to worry about that with emac
23:23:01 Join StrathAFK [0] (
23:23:09stevenmI figure, if I made the relevant things LONG, then I can have one HUGE number and one UBER shift at the end. maybe that would be better ?
23:23:09preglowbut yea
23:23:22preglowyes, one shift instead of several is better
23:23:39stevenmbetter enough to have long vs int overhead ?
23:23:45preglowand as i've said, the only place you save on using shorts instead of long, are with muls
23:23:49preglowand then you don't save very much
23:23:52preglowtwo-three cycles
23:24:21stevenmpreglow, no I meant it is an (int) now, i was thinking, (long) instead of int
23:24:28preglowthey're the same
23:24:34stevenmpreglow, eh ??
23:24:37 Join micoo [0] (
23:24:38preglowlong == int
23:24:48preglowwhat size did you imagine it was?
23:24:48stevenmdidnt know THAT. I feel stupid now
23:24:53stevenmpreglow, wait a second ...
23:25:04preglowif you're thinking 64 bit, that's long long
23:25:08stevenmI in some place it didn't work unless I cast it to a long
23:25:09preglowdon't ever use that
23:25:13stevenmpreglow, ah, ok
23:25:32stevenmlong = int = 32bit right ?
23:25:57 Quit Strath (
23:27:29stevenmpreglow, see.. envelope code.. that basically involves shifting 22 bits (!) -> thataway
23:27:33 Nick StrathAFK is now known as Strath (
23:27:42 Nick Sucka`away is now known as Sucka (
23:27:55 Join ashridah [0] (
23:28:21preglowthey're 32 bit, yes
23:28:30preglowwhy shifting that way?
23:28:38preglowto make a mul that doesn't overflow?
23:29:55stevenmpreglow, hmm ?
23:30:19stevenmpreglow, gravis envelopes are just fucking bizzare. Not even TIMIDITY guys have they working 100% right (from the sound of it)
23:30:31stevenmpreglow, I am surprised any of this envelope code works AT ALL.
23:31:17stevenmpreglow, and I am noticing a small bug (I think envelope doing it) where voices die prematurely under 22050 Hz only
23:31:32stevenmbut that's for later..
23:31:41Shagnaruh, my player still works on the midi file with midi2wave (started about half an hour ago... the HDD led still blinks)
23:32:39stevenmShagnar, the code in CVS has never had any optimization put into it
23:32:50stevenmShagnar, HDD blinking means it is going at ti
23:32:52stevenmgoing at it
23:33:21stevenmShagnar, plus today i fixed this thing where it caused voice overflows if someone tried turning on the same note on the same channel while another instance is playing. Should still FINISH though
23:33:40stevenmjust takes like 10x more work
23:34:06stevenmShagnar, if you build on sim, there's an option to have it piped to the soundcard.. you can see how it works
23:34:31stevenmShagnar, or can you send that .mid my way? I have a look
23:35:22stevenmpreglow, what is worse? Two shifts of 10 bits, or computing it once, storing it, and using the stored value for the second time?
23:35:35stevenmor possibly 3 or 4 times
23:37:13 Join tvelocity [0] (
23:38:00***Saving seen data "./dancer.seen"
23:38:57preglownah, don't precompute for that
23:39:07preglowi'd rather look at eliminating the shift for good
23:39:14 Quit MoosCamaro (Read error: 60 (Operation timed out))
23:39:40preglowshifts aren't slow, it's just often that they can be avoided
23:40:00preglowa shift at above 8 bits will require clobbering a register as well as doing the actual shifting
23:40:00stevenmpreglow, looks like that shift occurs in maybe 5 places
23:40:10stevenmpreglow, it is 10 bits
23:40:48stevenmpreglow, it is the current position shift.. ie, actual position of the voice in the waveform. It is used for range checking, loop checking, loop reassignment, retrieving two samples
23:41:01micooguys, if the gmini400 doesn't have hebrew support, is it possible to add one?
23:41:07micoowithout archos's help..
23:41:08preglowahh, i'd sure as hell put that in a seperate variable
23:41:16preglowint pos = fracpos >> 10;
23:41:19preglowor whatever
23:41:35preglowmicoo: the gmini port isn't doing very good at the moment
23:42:02stevenmpreglow, doing that then
23:42:21stevenmpreglow, also in some places I had to shift by 9 and then by 10.. position by sample of by byte.. just eliminated that
23:42:41micoohmm it comes with japanese and some other langs fonts files. isn't it possible to modify these files or something?
23:43:28ashridahmicoo: you mean rockbox does, or the gmini400 does?
23:43:59preglowisn't hebrew a right to left language?
23:44:16micooso i guess it was a stupid q
23:44:22preglowdoes gmini support any other right to left languages?
23:44:32preglowif not, then no, it'll be very hard
23:44:54micoojapanese is up to down too right?
23:45:01ashridahmicoo: even if you could modify the language file, you'd have a hard time dealing with any stuff that doesn't come from the language files, like the names of songs.
23:45:05preglowmicoo: yes
23:45:11preglowmicoo: but i doubt gmini displays it like that
23:45:18preglowmicoo: also, japanese doesn't HAVE to be up to down
23:45:22micooleft to right?
23:45:47preglowi'm no russian expert, but i'm pretty sure
23:46:09micoowell that sucks :\
23:46:42preglownothing to be done about it
23:46:43micooi should arrange alot of ppl to send archos an email about them adding hebrew support
23:46:59preglowyes, that might help
23:47:04micoomight.. :\
23:47:19micooi think that's the only way they'll do it
23:47:41preglowwell, of course, they won't implement something no one has asked for
23:48:47micooi can't wait till someone will manage to hack it
23:49:26micooat least they've release a new update that solved the audio delay problem and some other stuff
23:49:48micoobut the device can do much more than it does now
23:49:52micooand it's a shame :\
23:49:58preglowof course
23:50:45stevenmdinner time
23:50:47stevenmback later
23:50:51micoobb :p
23:50:54stevenmpreglow, btw- that shift thing seems to have worked..
23:50:59 Nick stevenm is now known as stevenm|food (
23:52:10micoopreglow: why is it so hard to hack it...i mean you've managed to hack almost all of archos's devices
23:52:31preglowmicoo: we never hacked them like that, we wrote our own software
23:52:45micoowhat do you mean like that?
23:53:01preglowmicoo: and i don't even think rockbox is supported on gmini 400
23:53:36preglowmicoo: we never hacked the firmware on the players, we wrote our own
23:53:42preglowmicoo: and that takes a lot of time
23:54:21micoosame thing can be written for the gmini can't it?
23:54:35preglowwe're working on porting to gmini
23:54:40preglowbut i think gmini 400 is different
23:54:59Shagnarthats kinda funny, steven is going to eat now, here in germany i'm going to bed in a few minutes cause its 12AM.... ;D
23:55:15micooit's the 400 i'm talking about...not the others..
23:55:28micoowell it sucks :\
23:55:33preglowwell, steven's in the us
23:55:40preglowit's near 12am here as well
23:55:48micoo00:56 over here
23:56:12preglowmicoo: well, gmini 400 has completely different hardware than the other gminis, and rockbox currently only runs on the other gminis
23:56:21preglowand it doesn't run very well there either
23:56:52Shagnarmicoo: where do you come from?
23:56:58micoohmm is anybody working on porting to gmini400?
23:57:23Shagnarcool :) very international here :o)
23:57:29preglowmicoo: no
23:57:50micoodo you think somebody will start?
23:58:37preglowsomeone is working on a gmini port, but not for the gmini 400
23:58:54micooyea, i understood that

Previous day | Next day