00:01:53 | | Quit StrathAFK (Read error: 110 (Connection timed out)) |
00:03:55 | HCl | stevenm: it should work. |
00:04:07 | HCl | its just ide, afaik. |
00:06:12 | rasher | someone cook me dinner |
00:06:22 | * | preglow hands rasher coffee |
00:07:00 | preglow | you really did manage to screw up your sleep pattern if you're having _dinner_ now, eh? ;) |
00:11:36 | rasher | supper |
00:12:10 | rasher | so it's not that bad really |
00:13:18 | stevenm | hey I had breakfast this mornng.. at 4PM |
00:13:27 | stevenm | unless you consider a 6AM dinner to be breakfast |
00:18:35 | stevenm | i have to go for a bit |
00:18:43 | stevenm | do homework and all that crap |
00:18:59 | stevenm | see you guys later |
00:19:01 | | Quit stevenm ("Leaving") |
00:31:34 | | Join LinusN [0] (~linus@labb.contactor.se) |
00:32:22 | Bagder | hello man with bruised legs ;-) |
00:33:18 | rasher | Evening you two |
00:36:43 | | Join Biptoria [0] (~5198273f@labb.contactor.se) |
00:36:57 | Biptoria | Hey all |
00:37:22 | Biptoria | Any new advancments recently ? |
00:37:43 | LinusN | Bagder: hello tired man |
00:37:49 | rasher | not the last few days, no |
00:41:11 | MoosCamaro | hi all |
00:41:30 | Biptoria | okey dokeh thank you rashy |
00:42:52 | | Quit matsl (Remote closed the connection) |
00:45:28 | | Quit Biptoria ("CGI:IRC") |
00:45:45 | preglow | someone 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:07 | rasher | Bagder: updated log.t, let's see if it explodes again :) |
00:50:21 | Bagder | yeps |
00:50:35 | * | preglow closes blast doors |
00:51:34 | rasher | I have a drinking problem! |
00:51:37 | rasher | I have nothing to drink |
00:51:51 | * | Bagder broke the daily changelog |
00:51:59 | * | LinusN emails a glass of water |
00:52:15 | rasher | Yeah, guess water will have to do |
00:52:25 | | Part gromit` ("Client exiting") |
00:52:38 | preglow | rasher: have you started doing the whats-new-in-rockbox-stuff? |
00:53:00 | rasher | more or less |
00:53:14 | preglow | where is/will it be located? |
00:53:16 | amiconn | Bleh, fat code is just plain ugly |
00:53:26 | rasher | http://www.rockbox.org/digest/ |
00:54:28 | preglow | why no link from the front page? |
00:54:29 | LinusN | amiconn: it's unfair to call the code ugly just because it's fat |
00:54:37 | preglow | hahahah |
00:54:50 | * | Bagder giggles |
00:55:06 | amiconn | I mean FAT of course :-\ |
00:55:33 | | Join gromit` [0] (~gromit`@ras75-5-82-234-244-69.fbx.proxad.net) |
00:55:47 | | Quit gromit` (Remote closed the connection) |
00:55:47 | preglow | let's just call it bigboned.c to avoid this again |
00:56:19 | | Join gromit` [0] (~gromit`@ras75-5-82-234-244-69.fbx.proxad.net) |
00:56:31 | | Quit gromit` (Remote closed the connection) |
00:56:36 | LinusN | obese.c |
00:57:33 | rasher | height-challenged.c |
00:57:45 | | Join gromit` [0] (~gromit`@ras75-5-82-234-244-69.fbx.proxad.net) |
00:57:45 | preglow | what, no one said short, just fat |
00:57:50 | LinusN | ugly.c |
00:57:52 | | Quit gromit` (Read error: 104 (Connection reset by peer)) |
00:58:09 | preglow | i can't believe i've never declared a variable like 'short fat' before |
00:58:10 | rasher | well, had it been taller :) |
00:58:11 | LinusN | gromit.c |
00:58:11 | amiconn | firmware/drivers/fat.c |
00:58:25 | rasher | short fat :) |
00:58:52 | rasher | there's this one thing I giggle each time I do... but I can't remember it now :( |
00:59:29 | | Join gromit` [0] (~gromit`@ras75-5-82-234-244-69.fbx.proxad.net) |
01:00 |
01:01:59 | | Quit gromit` (Remote closed the connection) |
01:03:16 | | Join gromit` [0] (~gromit`@ras75-5-82-234-244-69.fbx.proxad.net) |
01:03:37 | | Quit gromit` (Remote closed the connection) |
01:03:51 | rasher | Bagder: it fell over again :( |
01:03:58 | rasher | preglow: you can open the doors again |
01:03:58 | Bagder | yes, I'm looking at it atm |
01:04:02 | preglow | help it to its feet! |
01:04:29 | MoosCamaro | good night or other |
01:04:32 | preglow | nite |
01:04:38 | | Part MoosCamaro |
01:04:51 | rasher | Bagder: Am I doing something wrong? |
01:04:55 | Bagder | no |
01:05:04 | Bagder | its something strange happening in the server end |
01:05:05 | | Join gromit` [0] (~gromit`@ras75-5-82-234-244-69.fbx.proxad.net) |
01:05:12 | | Quit gromit` (Read error: 104 (Connection reset by peer)) |
01:05:14 | Bagder | when it updates and builds |
01:07:51 | Bagder | I should probably write something better for it |
01:07:58 | | Join gromit` [0] (~gromit`@ras75-5-82-234-244-69.fbx.proxad.net) |
01:08:08 | Bagder | but now I'll go to sleep |
01:08:34 | rasher | if you do, please add headlines :) |
01:08:47 | rasher | an rss feed with a bunch of dates is a bit silly |
01:09:39 | rasher | oh my |
01:10:19 | rasher | what happened with the NAME() bits? |
01:10:43 | | Quit gromit` (Remote closed the connection) |
01:11:53 | | Join gromit` [0] (~gromit`@ras75-5-82-234-244-69.fbx.proxad.net) |
01:12:26 | preglow | gromit`: you're glitching |
01:13:31 | | Quit TCK (orwell.freenode.net irc.freenode.net) |
01:13:31 | NSplit | orwell.freenode.net irc.freenode.net |
01:13:31 | | Quit _Lucretia_ (orwell.freenode.net irc.freenode.net) |
01:13:31 | | Quit pabs (orwell.freenode.net irc.freenode.net) |
01:13:31 | | Quit LinusN (orwell.freenode.net irc.freenode.net) |
01:13:31 | | Quit Seed (orwell.freenode.net irc.freenode.net) |
01:13:32 | gromit` | ya thx |
01:13:32 | gromit` | experimental irc proxy |
01:13:32 | gromit` | no more |
01:13:32 | DBUG | Enqueued KICK gromit` |
01:13:32 | gromit` | :) |
01:13:47 | | Quit nozomiyume (orwell.freenode.net irc.freenode.net) |
01:13:47 | | Quit gromit` (orwell.freenode.net irc.freenode.net) |
01:13:47 | | Quit courtc (orwell.freenode.net irc.freenode.net) |
01:13:47 | | Quit Strath (orwell.freenode.net irc.freenode.net) |
01:13:47 | | Quit elinenbe (orwell.freenode.net irc.freenode.net) |
01:13:47 | | Quit webmind_ (orwell.freenode.net irc.freenode.net) |
01:13:47 | | Quit Rob- (orwell.freenode.net irc.freenode.net) |
01:13:47 | | Quit cYmen (orwell.freenode.net irc.freenode.net) |
01:13:47 | | Quit QT (orwell.freenode.net irc.freenode.net) |
01:13:47 | | Quit micoo (orwell.freenode.net irc.freenode.net) |
01:13:47 | | Quit Rick (orwell.freenode.net irc.freenode.net) |
01:13:47 | | Quit wacky_ (orwell.freenode.net irc.freenode.net) |
01:13:47 | | Quit ze (orwell.freenode.net irc.freenode.net) |
01:13:47 | | Quit dwihno (orwell.freenode.net irc.freenode.net) |
01:13:47 | | Quit lostlogic (orwell.freenode.net irc.freenode.net) |
01:13:47 | | Quit Ka (orwell.freenode.net irc.freenode.net) |
01:14:17 | rasher | now watch me be unable to sleep for several hours after having eaten |
01:14:28 | rasher | [boom] |
01:14:30 | NHeal | orwell.freenode.net irc.freenode.net |
01:14:30 | NJoin | LinusN [0] (~linus@labb.contactor.se) |
01:14:30 | NJoin | TCK [0] (TCK@81-86-102-214.dsl.pipex.com) |
01:14:30 | NJoin | _Lucretia_ [0] (~munkee@abyss2.demon.co.uk) |
01:14:30 | NJoin | pabs [0] (~pabs@xor.pablotron.org) |
01:14:30 | NJoin | Seed [0] (ben@l192-114-41-133.broadband.actcom.net.il) |
01:14:43 | NJoin | gromit` [0] (~gromit`@ras75-5-82-234-244-69.fbx.proxad.net) |
01:14:43 | NJoin | Strath [0] (~mike@dgvlwinas01pool0-a202.wi.tds.net) |
01:14:43 | NJoin | Rob- [0] (~robbie@haylott.plus.com) |
01:14:43 | NJoin | cYmen [0] (~cymen@nat-ph3-wh.rz.uni-karlsruhe.de) |
01:14:43 | NJoin | QT [0] (as@area51.users.madwifi) |
01:14:43 | NJoin | courtc [0] (~court@adsl-33-162-17.asm.bellsouth.net) |
01:14:43 | NJoin | micoo [0] (mico@80.178.183.78.adsl.012.net.il) |
01:14:43 | NJoin | lostlogic [0] (~lostlogic@node-4024215a.mdw.onnet.us.uu.net) |
01:14:43 | NJoin | elinenbe [0] (~elinenbe_@65.115.46.225) |
01:14:43 | | Join Rick [0] (rick@Rick.user) |
01:14:43 | NJoin | Ka [0] (~tkirk@pcp0010733332pcs.howard01.md.comcast.net) |
01:14:43 | NJoin | webmind_ [0] (~webmind@217.195.236.172) |
01:14:43 | NJoin | nozomiyume [0] (~vthakkar@ip-133-194.station.sony.com) |
01:14:43 | NJoin | wacky_ [0] (~wacky@modemcable011.4-37-24.mc.videotron.ca) |
01:14:43 | NJoin | ze [0] (ze@ca-dstreet-cuda2-c9a-73.snbrca.adelphia.net) |
01:14:43 | NJoin | dwihno [0] (~dw@81.8.224.89) |
01:14:54 | gromit` | preglow: you're glitching :) |
01:14:57 | preglow | haha |
01:15:02 | Ctcp | Ignored 1 channel CTCP requests in 0 seconds at the last flood |
01:15:02 | * | preglow kicks adams.freenode.net |
01:15:12 | gromit` | :)) |
01:15:24 | * | rasher kicks lilo |
01:15:28 | preglow | but i think i'll skip along to bed |
01:15:32 | preglow | so long |
01:15:41 | rasher | night |
01:15:42 | gromit` | gnite |
01:15:45 | | Quit preglow ("leaving") |
01:18:29 | | Quit gromit` (Remote closed the connection) |
01:18:55 | | Join gromit` [0] (~gromit`@ras75-5-82-234-244-69.fbx.proxad.net) |
01:23:06 | | Part LinusN |
01:36:54 | | Join tvelocity [0] (~tony@ipa15.6.tellas.gr) |
01:37:31 | *** | Saving seen data "./dancer.seen" |
01:46:20 | amiconn | Bleh, done. Now the big question is whether this junk will work properly.... |
01:46:31 | rasher | what are you doing? |
01:46:47 | amiconn | Re-coding add_dir_entry() to work properly |
01:47:12 | amiconn | The current implementation has at least 3 problems |
01:47:35 | rasher | ah right |
01:54:24 | | Join asdsd_ [0] (asdsd@h-67-100-30-190.miatflad.dynamic.covad.net) |
01:59:01 | rasher | how's it doing? |
01:59:33 | | Quit tvelocity ("Leaving") |
02:00 |
02:12:11 | amiconn | Hmm. Some quick tests show that the code seems to work.... |
02:12:27 | amiconn | Now on to running the fat test suite... |
02:13:24 | * | amiconn fires up his debian vm |
02:19:49 | amiconn | Argh, fat test code doesn't build anymore :( |
02:21:09 | rasher | more work.. joy! |
02:31:11 | amiconn | Hmm, tricky problem |
02:31:18 | amiconn | Bagder: are you there? |
02:31:57 | * | amiconn suddenly remembers that he went to sleep.... |
02:35:21 | | Quit cYmen ("zZz") |
03:00 |
03:00:20 | | Quit Aison (Read error: 104 (Connection reset by peer)) |
03:08:35 | rasher | having fun? |
03:30:44 | | Quit dwihno (orwell.freenode.net irc.freenode.net) |
03:30:44 | NSplit | orwell.freenode.net irc.freenode.net |
03:30:44 | | Quit wacky_ (orwell.freenode.net irc.freenode.net) |
03:30:44 | | Quit QT (orwell.freenode.net irc.freenode.net) |
03:30:44 | | Quit ze (orwell.freenode.net irc.freenode.net) |
03:30:44 | | Quit Rick (orwell.freenode.net irc.freenode.net) |
03:30:44 | | Quit Rob- (orwell.freenode.net irc.freenode.net) |
03:30:44 | | Quit micoo (orwell.freenode.net irc.freenode.net) |
03:30:49 | | Quit elinenbe (orwell.freenode.net irc.freenode.net) |
03:30:49 | | Quit webmind_ (orwell.freenode.net irc.freenode.net) |
03:30:49 | | Quit Strath (orwell.freenode.net irc.freenode.net) |
03:30:58 | | Quit nozomiyume (orwell.freenode.net irc.freenode.net) |
03:30:58 | | Quit courtc (orwell.freenode.net irc.freenode.net) |
03:30:58 | | Quit lostlogic (orwell.freenode.net irc.freenode.net) |
03:30:58 | | Quit Ka (orwell.freenode.net irc.freenode.net) |
03:31:18 | NHeal | orwell.freenode.net irc.freenode.net |
03:31:18 | NJoin | courtc [0] (~court@adsl-33-162-17.asm.bellsouth.net) |
03:31:18 | NJoin | lostlogic [0] (~lostlogic@node-4024215a.mdw.onnet.us.uu.net) |
03:31:18 | NJoin | Ka [0] (~tkirk@pcp0010733332pcs.howard01.md.comcast.net) |
03:31:18 | NJoin | nozomiyume [0] (~vthakkar@ip-133-194.station.sony.com) |
03:31:24 | | Quit courtc (orwell.freenode.net irc.freenode.net) |
03:32:32 | | Quit nozomiyume (orwell.freenode.net irc.freenode.net) |
03:32:36 | | Quit lostlogic (orwell.freenode.net irc.freenode.net) |
03:32:36 | | Quit Ka (orwell.freenode.net irc.freenode.net) |
03:33:07 | NJoin | Strath [0] (~mike@dgvlwinas01pool0-a202.wi.tds.net) |
03:33:07 | NJoin | elinenbe [0] (~elinenbe_@65.115.46.225) |
03:33:07 | NJoin | webmind_ [0] (~webmind@217.195.236.172) |
03:33:30 | NJoin | Rob- [0] (~robbie@haylott.plus.com) |
03:33:30 | NJoin | QT [0] (as@area51.users.madwifi) |
03:33:30 | NJoin | micoo [0] (mico@80.178.183.78.adsl.012.net.il) |
03:33:30 | NJoin | Rick [0] (rick@Rick.user) |
03:33:30 | NJoin | wacky_ [0] (~wacky@modemcable011.4-37-24.mc.videotron.ca) |
03:33:30 | NJoin | ze [0] (ze@ca-dstreet-cuda2-c9a-73.snbrca.adelphia.net) |
03:33:30 | NJoin | dwihno [0] (~dw@81.8.224.89) |
03:33:41 | NJoin | courtc [0] (~court@adsl-33-162-17.asm.bellsouth.net) |
03:34:40 | NJoin | lostlogic [0] (~lostlogic@node-4024215a.mdw.onnet.us.uu.net) |
03:34:40 | NJoin | Ka [0] (~tkirk@pcp0010733332pcs.howard01.md.comcast.net) |
03:35:12 | NJoin | nozomiyume [0] (~vthakkar@ip-133-194.station.sony.com) |
03:37:34 | | Quit edx (Read error: 60 (Operation timed out)) |
03:37:35 | *** | Saving seen data "./dancer.seen" |
04:00 |
04:05:42 | | Join QT_ [0] (as@area51.users.madwifi) |
04:09:20 | | Quit XShocK (" HydraIRC -> http://www.hydrairc.com <- 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:00 |
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] (edx@pD9EAB704.dip.t-dialin.net) |
05:18:45 | | Join DMJC [0] (~James@220-245-171-89.tpgi.com.au) |
05:37:38 | *** | Saving seen data "./dancer.seen" |
06:00 |
06:26:34 | | Quit asdsd_ ("Trillian (http://www.ceruleanstudios.com") |
06:55:32 | | Quit einhirn ("Miranda IM! Smaller, Faster, Easier. http://miranda-im.org") |
07:00 |
07:28:46 | | Join LinusN [0] (~linus@labb.contactor.se) |
07:37:39 | *** | Saving seen data "./dancer.seen" |
07:57:59 | | Quit thegeek (Read error: 54 (Connection reset by peer)) |
08:00 |
08:03:53 | | Join B4gder [0] (~daniel@dhcp87.contactor.se) |
08:05:47 | B4gder | moo |
08:09:18 | LinusN | moo |
08:09:33 | * | LinusN is locked out of the office today |
08:10:03 | B4gder | ! |
08:10:14 | | Join ashridah [0] (ashridah@220-253-121-250.VIC.netspace.net.au) |
08:10:25 | B4gder | they finally found out you do nothing useful? ;-] |
08:10:32 | LinusN | apparently :-) |
08:10:49 | LinusN | it's always the same story when they prolong a contract |
08:11:00 | B4gder | ah |
08:11:38 | LinusN | good think that my workmates let me in anyway, and i never logged out last friday |
08:11:42 | LinusN | thing |
08:11:54 | LinusN | so i can at least pretent to work |
08:11:57 | LinusN | pretend |
08:11:59 | LinusN | gah |
08:12:05 | LinusN | just as usual :-) |
08:12:39 | LinusN | slashdot is full of lousy star wars jokes today |
08:14:52 | | Quit DangerousDan ("Miranda IM! Smaller, Faster, Easier. http://miranda-im.org") |
08:17:20 | | Quit ashridah ("Leaving") |
08:17:24 | | Join ashridah [0] (ashridah@220-253-121-250.VIC.netspace.net.au) |
08:21:36 | LinusN | silly, silly, silly mad! |
08:21:59 | B4gder | its simply... mad |
08:22:21 | LinusN | it required the to-be-decoded frames to be in consecutive memory |
08:22:25 | B4gder | another example of not being designed for easy use in embedded systems |
08:22:37 | LinusN | yup |
08:22:53 | B4gder | we should send someone over to their camp with a trout and slap them |
08:23:11 | LinusN | yup, a large one |
08:23:15 | B4gder | now, where's preglow? ;-) |
08:23:29 | LinusN | he's our appointed hitman |
08:23:35 | LinusN | slapman |
08:23:42 | amiconn | Morning |
08:23:51 | LinusN | amiconn: moo |
08:23:58 | B4gder | guten morgen amiconn |
08:24:54 | amiconn | god morgon :) |
08:25:42 | amiconn | I have a fixed version of add_dir_entry(). Before committing that, I wanted to execute the fat test 'suite' |
08:26:06 | amiconn | Unfortunately this isn't possible due to the fat test not compiling :( |
08:27:57 | B4gder | the daily build changelog works again now |
08:28:39 | amiconn | There'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:19 | amiconn | So 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:10 | B4gder | amiconn: if you manage to build it, the old code should run ok, right? |
08:35:25 | B4gder | or at least only fail on the parts you've improved now |
08:36:32 | amiconn | Hmm, right. However, I doubt that the test cases even catch the improvements |
08:36:58 | amiconn | Guess I'll simply run the code on my units for some time |
08:37:03 | B4gder | time to add a few test cases! ;-) |
08:37:20 | amiconn | That may be difficult in case of add_dir_entry() |
08:37:59 | amiconn | Basically, this had the following problems |
08:38:41 | amiconn | (1) It did fail when the dir it should add the entries too was not extendable (fat16 root dir or disk full) |
08:39:26 | amiconn | (2) Even if this worked, it would never have reused the very first entry. |
08:39:35 | LinusN | (1) sounds like good behaviour to me |
08:39:43 | amiconn | It does not |
08:39:56 | LinusN | why shouldn't it fail? |
08:40:06 | amiconn | If it is not possible to add entries, it should re-use deleted entries instead |
08:40:52 | LinusN | so (1) is not about failing when it isn't extendable, but that it doesn't reuse deleted entries? |
08:41:24 | amiconn | Okay, that makes a better description |
08:41:34 | LinusN | ok, then i follow you |
08:41:54 | amiconn | (3) Even if the dir is extendable, but not extendable enough, it would fail |
08:42:08 | LinusN | "extendable enough"? |
08:42:43 | amiconn | That is, an item may take up to 21 entries (20 longname entries for 255 char plus the shortname) |
08:43:16 | amiconn | There are 16 entries per sector, so with 1-sector clusters, an item may need more than one cluster |
08:43:36 | amiconn | "Not extendable enough" means one addtional cluster is possible, but not 2 |
08:43:52 | LinusN | aha, it only gets one cluster? |
08:44:17 | amiconn | No, I mean *if* it gets only one cluster, but would need 2, it fails |
08:44:25 | LinusN | sounds like a fat16-only issue |
08:44:29 | amiconn | Nope |
08:44:57 | amiconn | This is not an issue with the fat16 root dir, but a disk-almost-full corner case |
08:45:02 | LinusN | i didn't know you could format 1-sector clusters in fat32 |
08:45:07 | amiconn | The fat16 root dir never extends |
08:45:19 | amiconn | You can. |
08:46:16 | LinusN | i thought 4k was the smallest cluster |
08:46:58 | * | B4gder added a very incomplete column for gmini in the devicechart |
08:49:06 | amiconn | LinusN: 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:50:39 | LinusN | ok |
08:52:35 | LinusN | the sad part is that we couldn't continue with the gmini port even if we wanted to, because jyp has the compiler |
08:52:57 | LinusN | i mean, the latest fixes are not in cvs, or? |
08:53:01 | Strath | ? |
08:53:24 | LinusN | Strath: you are a gmini ninja? |
08:53:56 | Strath | i kinda started the whole gmini effort ;) |
08:54:02 | LinusN | good, |
08:54:15 | LinusN | then you might be able to tell where jyp went? |
08:54:38 | LinusN | jyp (~jp@117.199-200-80.adsl.skynet.be) signed off 1 month and 5 days ago ("poof!") |
08:54:49 | Strath | money problems |
08:55:06 | LinusN | oh? |
08:55:32 | Strath | also computer hardware problems |
08:55:35 | Strath | http://donat.org/bboard/viewtopic.php?t=105 |
08:56:28 | LinusN | ok, then i knoiw |
08:58:04 | B4gder | I can't view that page |
08:58:50 | * | LinusN updated the wiki |
08:58:55 | LinusN | i can view it |
08:59:16 | Strath | i would like to continue work on the gmini port, but the current development is out of my area of specialization :\ |
08:59:25 | LinusN | which is...? |
08:59:40 | LinusN | (beer drinking and loudmouthing :-) |
08:59:44 | Strath | heh |
08:59:52 | B4gder | nono, that's me |
09:00 |
09:00:00 | LinusN | (which happens to me my speciality as well) |
09:00:15 | Strath | reverse engineering and file handling routines |
09:01:58 | Strath | there is a link to the gmemu/gemoss site through a proxy from the gmini/rockbox port wiki page |
09:04:00 | Strath | i 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:40 | B4gder | http://donat.org.nyud.net:8090/bboard/viewtopic.php?t=105 works |
09:13:54 | LinusN | ändra i wiki då |
09:18:23 | LinusN | oops, swedish |
09:18:33 | Strath | :) |
09:20:30 | | Nick t0mas|zzz is now known as t0mas (~Tomas@ip503c08d1.speed.planet.nl) |
09:20:33 | t0mas | morning |
09:20:47 | Strath | btw, how's the progress on the software audio decoding and the grayscale api? :D |
09:21:12 | LinusN | realtime mp3 is not far away |
09:21:28 | * | LinusN is working on it |
09:21:54 | LinusN | i don't really care about grayscale at this point |
09:22:01 | Strath | cross platform C or in asm? |
09:22:14 | LinusN | optimizations are in asm |
09:23:04 | LinusN | all codecs are in C |
09:23:33 | Strath | just compile and use it as is of the gmini port then i guess :P |
09:24:03 | B4gder | the gmini build only builds with libmad |
09:24:42 | Strath | oh, ok |
09:24:56 | B4gder | and there's no optimizations made in that for calmrisc |
09:25:01 | B4gder | afaik |
09:26:09 | Strath | gee, ya stop submitting code for half a year and ya kinda get out of the loop on current development |
09:26:47 | LinusN | yup, you gotta keep up the tempo :-) |
09:28:25 | Strath | that 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@134.95.189.59) |
09:37:41 | *** | Saving seen data "./dancer.seen" |
09:38:09 | t0mas | <LinusN> realtime mp3 is not far away <−− how are we doing that with license issues? |
09:38:34 | LinusN | huh? |
09:38:49 | t0mas | mp3 is licensed by fraunhof? |
09:39:13 | LinusN | yes |
09:39:32 | t0mas | "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:34 | B4gder | what license issues are you referring to? |
09:40:10 | t0mas | well... mandrake and fedora/redhat have removed mp3 codecs from their media players... |
09:40:22 | Strath | mpeg patents? |
09:40:26 | LinusN | yes |
09:40:28 | t0mas | you must download em separate... and take the risk yourself |
09:40:58 | LinusN | software patents are so far not legal in europe |
09:41:05 | t0mas | ok |
09:41:40 | LinusN | but it's interesting, since fraunhofer is a european institute :-) |
09:42:01 | | Join Harpy [0] (PGwJY8enWd@dsl-hkigw7wbb.dial.inet.fi) |
09:42:39 | t0mas | ghehe... I'm not against mp3... so go in writing it... |
09:42:48 | t0mas | I only wanted to warn you... |
09:43:00 | B4gder | I guess we could ask concerned people who downloads rockbox to pay fraunhofer 0.75USD |
09:43:07 | B4gder | :-) |
09:43:11 | t0mas | ghehe :) |
09:43:25 | B4gder | "hello mr fraunhofer, where do I send my 75 cents?" |
09:44:05 | t0mas | or 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:08 | B4gder | "and if I go back to the original firwmare, I would like to get my cents back please" |
09:44:34 | t0mas | I don't think iriver has paid them :) |
09:44:47 | B4gder | I think they have |
09:44:56 | B4gder | since they sell units in US |
09:45:00 | t0mas | it's not yet legal... |
09:45:11 | B4gder | what is? |
09:45:16 | t0mas | the patents? |
09:45:22 | B4gder | the patent is very much legal in the US |
09:45:26 | t0mas | and iriver's unit was out before they started this... |
09:45:48 | B4gder | yes, but the patent was achived before iriver shipped |
09:46:15 | B4gder | and IIRC, they never allowed commercial use of it without payment |
09:46:28 | t0mas | oh ok |
09:46:45 | B4gder | thus, I assume iRiver has paid |
09:47:06 | t0mas | oh wait... encoder was paid since the beginning... |
09:47:16 | B4gder | and we could argue that since you have a unit that legally plays mp3... |
09:47:20 | t0mas | so I think iRiver has paid yeah.. |
09:47:23 | LinusN | which, in my twisted logic, means that the user has already paid for the license |
09:47:40 | Lynx_ | 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:42 | t0mas | yeah... the user has a license |
09:47:46 | LinusN | but i guess that argument is easily shot down in court |
09:47:56 | t0mas | just never get into court... |
09:48:09 | B4gder | LinusN: you mean when they sue a user for the missing 0.75USD? |
09:48:10 | t0mas | if they start something just remove mp3... and make it get pirated... |
09:48:36 | t0mas | B4gder: they wont sue a user.. they sue the seller of the software... problem.. there is no seller.. |
09:48:49 | LinusN | i think it is supposed to be our responsibility, since it's the distribution of mp3 products that require a license |
09:49:26 | t0mas | well... good luck writing it :) |
09:49:48 | LinusN | anyway, i live in europe |
09:49:53 | t0mas | me too :) |
09:50:02 | Lynx_ | just wait a few months :( |
09:50:05 | * | t0mas is back in a few hours :) |
09:50:10 | B4gder | or we put up a disclaimer saying we assume users pay this fee themselves |
09:50:39 | B4gder | perhaps we should lookup on what Thomson says |
09:51:07 | t0mas | sorry for beiing the messenger ;) |
09:51:22 | LinusN | t0mas: we knew this already |
09:51:28 | t0mas | k |
09:51:35 | LinusN | we just haven't cared about such silly things |
09:52:14 | | Join bobTHC [0] (~foo@l06v-6-157.d1.club-internet.fr) |
09:52:57 | LinusN | and we still don't |
09:54:58 | ashridah | t0mas: 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:16 | ashridah | so unless there's a drastic change of direction, they're likely to keep doign so. (no blood from a stone anyway) :) |
09:55:19 | bobTHC | mornin' folks ! |
09:56:24 | LinusN | good luck to them getting anu money from us :-) |
09:56:48 | bobTHC | :) |
09:56:58 | | Join oxygen77 [0] (~c1c28427@labb.contactor.se) |
09:59:18 | | Quit oxygen77 (Client Quit) |
09:59:29 | | Join oxygen77 [0] (~c1c28427@labb.contactor.se) |
10:00 |
10:00:10 | | Join oxygen77_ [0] (~c1c28427@labb.contactor.se) |
10:00:11 | | Quit oxygen77_ (Client Quit) |
10:00:14 | | Join oxygen77_ [0] (~c1c28427@labb.contactor.se) |
10:01:39 | | Quit oxygen77 (Client Quit) |
10:02:46 | Strath | boing boing |
10:07:19 | HCl | mrf |
10:08:05 | | Join Rob- [0] (~robbie@haylott.plus.com) |
10:10:26 | HCl | i remember something about a software patents bill being passed in the eu, iirc? |
10:10:30 | HCl | not too long ago |
10:10:52 | * | HCl has to go anyways, if he'll still want some coffee and some food |
10:11:18 | LinusN | seems most of thomsons patents have been granted in europe |
10:11:30 | LinusN | even though software patents are illegal |
10:11:33 | LinusN | (sigh) |
10:11:59 | dwihno | Has the EU patent bill passed? |
10:12:06 | LinusN | not that i know of |
10:15:43 | dwihno | That would be the end |
10:16:58 | B4gder | it'll come |
10:17:24 | B4gder | no need to think otherwise |
10:17:39 | B4gder | *all* major companies are behind the idea |
10:20:03 | dwihno | Let's buy a small patch of land somewhere and create our own country |
10:22:34 | Rick | But then you'd have to deal with other countries going after your ass ;P |
10:22:47 | Strath | with what force to defend it? |
10:22:53 | Rick | Precisely. |
10:23:15 | dwihno | Love of course |
10:23:18 | | Quit oxygen77_ ("CGI:IRC") |
10:23:19 | dwihno | The strongest force of them all |
10:23:27 | Strath | heh |
10:23:58 | dwihno | How about Norway... They don't want to join the EU, right? |
10:24:55 | Strath | i hear there are some prime lots going cheap on the moon... |
10:25:08 | LinusN | they have granted the thomson patents as well |
10:25:52 | B4gder | dwinho: I assume they will grant the same things too, as they will want to do business with EU |
10:26:26 | dwihno | :[ |
10:27:40 | Strath | as would any nation dealing with international commerce |
10:28:01 | B4gder | yes, if they become a rare minority |
10:28:03 | dwihno | Who needs commerce? :) |
10:28:22 | dwihno | "All you need is love and free software" (john lennon) :) |
10:28:40 | Lynx_ | 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:53 | Strath | and a electronics fabrication plant :) |
10:28:56 | LinusN | ...which needs funding |
10:30:13 | dwihno | Speaking 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:48 | dwihno | display = WPS, browser etc. |
10:30:50 | Lynx_ | of course, but if every scientist started to patent their discoverys and make money off it... |
10:32:39 | Strath | too much tech in this world... i'm thinking Ted Kaczynski was on to something... |
10:33:06 | dwihno | Ted whowhat? |
10:33:06 | Lynx_ | what did he say? |
10:33:26 | Strath | the "Unabomber" |
10:33:47 | dwihno | ah |
10:33:59 | Strath | http://www.chicagoabc.org/manifesto.htm |
10:37:58 | dwihno | A lot to read |
10:38:14 | dwihno | Although I'll read it when work is done (or when I'm downloading 100-meg PDF's over ADSL) |
10:38:55 | Strath | i hadn't ever read it before now and based my comments above only on what i had heard through the 'media' |
11:00 |
11:02:14 | | Join Nibbler [0] (~sven@port-212-202-73-247.dynamic.qsc.de) |
11:03:00 | | Join Aison [0] (~hans@zux166-181.adsl.green.ch) |
11:09:16 | amiconn | LinusN: In case you or another FAT (not fat ;-) ) guru wants to have a look at my fixed add_dir_entry(), here is a patch: http://arnold-j.bei.t-online.de/Rockbox/fat.patch |
11:09:48 | amiconn | The resulting binary is even smaller than the old function :) |
11:12:00 | B4gder | goodness |
11:20:11 | | Join amiconn_ [0] (~jens@pD95D1BFC.dip.t-dialin.net) |
11:28:43 | | Quit amiconn (Read error: 60 (Operation timed out)) |
11:28:47 | | Join Zagor [0] (foobar@h14n2fls31o265.telia.com) |
11:28:56 | | Nick amiconn_ is now known as amiconn (~jens@pD95D1BFC.dip.t-dialin.net) |
11:33:57 | amiconn | hi Zagor |
11:34:00 | Zagor | hi |
11:37:43 | *** | Saving seen data "./dancer.seen" |
11:39:59 | | Join F1^Aison [0] (~hans@zux166-181.adsl.green.ch) |
11:47:36 | | Join preglow [0] (thomj@s183a.studby.ntnu.no) |
11:54:43 | | Quit F1^Aison (Read error: 148 (No route to host)) |
11:55:42 | | Join F1^Aison [0] (~hans@zux166-181.adsl.green.ch) |
11:56:51 | | Nick F1^Aison is now known as Aison` (~hans@zux166-181.adsl.green.ch) |
11:59:19 | | Quit Aison (No route to host) |
12:00 |
12:02:04 | | Join cYmen [0] (~cymen@nat-ph3-wh.rz.uni-karlsruhe.de) |
12:09:40 | | Join Ka [0] (~tkirk@pcp0010733332pcs.howard01.md.comcast.net) |
12:12:00 | * | preglow flexes his trout and goes to see the libmad author |
12:13:58 | LinusN | hit him hard |
12:16:32 | preglow | now, 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:43 | LinusN | not really |
12:17:18 | preglow | what about a partial file at the end of the mp3 buffer? |
12:17:35 | Zagor | we'll fake it |
12:18:44 | LinusN | we'll just keep a 2k guard at the beginning/end of the buffer |
12:19:05 | LinusN | and copy the partial frame when the buffer wraps |
12:22:21 | | Join austriancoder [0] (~austrianc@80.120.117.30) |
12:22:25 | austriancoder | hi all |
12:22:54 | LinusN | helo |
12:23:12 | austriancoder | is somebody working on the hold-button code for iriver? |
12:23:22 | LinusN | no |
12:23:37 | austriancoder | fine.. then i will do it |
12:23:55 | austriancoder | is there a global ToDo list with stuff like this? |
12:24:34 | LinusN | sort of |
12:24:42 | LinusN | http://www.rockbox.org/twiki/bin/view/Main/ThingsTodo |
12:24:57 | LinusN | that's about as close to a todo list we have |
12:25:13 | austriancoder | ah ok.. so i will add some thing later |
12:28:04 | austriancoder | are the remote control buttons are used in rockbox yet? |
12:28:43 | austriancoder | sorry.. atm i have no iriver here to test |
12:29:01 | | Join MoosCamaro [0] (MoosCamaro@m214.net81-66-158.noos.fr) |
12:29:10 | MoosCamaro | hi all |
12:29:20 | austriancoder | hi |
12:29:36 | MoosCamaro | hi austriancoder |
12:29:56 | MoosCamaro | you've got news for remote control? |
12:30:24 | austriancoder | today i will commit some new code.. |
12:30:40 | austriancoder | and maybe some hold-button code |
12:31:02 | austriancoder | LinusN: as i see only iriver has a hold-button, is this correct? |
12:31:29 | MoosCamaro | thanks |
12:36:02 | * | austriancoder is away for a short time |
12:36:10 | | Nick austriancoder is now known as ac_away (~austrianc@80.120.117.30) |
12:36:53 | | Nick Strath is now known as StrathAFK (~mike@dgvlwinas01pool0-a202.wi.tds.net) |
12:46:20 | HCl | hello |
12:52:14 | * | HCl has two classes with markun this semester.. |
12:52:43 | preglow | bug him to finishing his grayscale patch, please ;) |
12:53:03 | * | B4gder seconds the bugging |
12:53:10 | B4gder | :-) |
12:53:47 | ac_away | yeah.. bug him |
12:53:55 | | Nick ac_away is now known as austriancoder (~austrianc@80.120.117.30) |
12:58:16 | LinusN | austriancoder: yes, only iriver has a hold button |
12:59:37 | austriancoder | LinusN: 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:46 | LinusN | good idea |
12:59:58 | HCl | lol. |
13:00 |
13:00:14 | amiconn | I wouldn't invent an extra define for every tiny feature |
13:00:14 | HCl | he has been busy with tests, and we're getting some quite intensive projects. |
13:00:45 | amiconn | For now, it should be sufficient to check for ONFIG_KEYPAD == IRIVER_H100_PAD |
13:00:52 | HCl | need to write a compiler in 3 weeks time, and then we have our AI class as well |
13:00:54 | LinusN | amiconn: true, true |
13:00:54 | amiconn | *CONFIG_KEYPAD |
13:01:00 | austriancoder | ok |
13:01:11 | austriancoder | then there will be no new define ;) |
13:01:46 | preglow | HCl: school needs to be ignored on a regular basis |
13:03:49 | austriancoder | basic hold-button is done.. now i integrate backlight and it is done |
13:04:44 | B4gder | then the work on getting the WPS to display on the remote starts! |
13:04:55 | B4gder | ;-) |
13:04:56 | preglow | there will be no backlighting when hold switch is on, yes? |
13:04:59 | austriancoder | jeah |
13:05:20 | B4gder | actually, most screens should display on the remote I guess |
13:05:35 | B4gder | that can become painful |
13:05:37 | amiconn | Just a suggestion (still no iriver): Imho there should be two wps's, both on the main unit and on the remote |
13:05:42 | B4gder | I agree |
13:05:46 | austriancoder | preglow: no backlight... but i want to switch the backlight on, if the hold-button was changed from hold to non-hold |
13:06:07 | amiconn | They should both be displayed unless you switch to the file browser |
13:06:08 | preglow | ahh, yes |
13:06:21 | austriancoder | amiconn: that was my idea too |
13:06:47 | amiconn | In file browser mode, the main unit should show the browser, while the remote should still show the wps |
13:07:06 | B4gder | amiconn: you want to be able to navigate with the remote as well |
13:07:07 | amiconn | ...as long as there's music playing |
13:07:26 | austriancoder | navigation should also be possible with the remote |
13:08:17 | amiconn | Okay, improved suggestion |
13:09:19 | B4gder | but the unit you don't press keys on could perhaps remain showing the WPS |
13:09:21 | amiconn | The 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:09:27 | B4gder | hehe |
13:09:50 | austriancoder | hmmm |
13:10:07 | amiconn | That stuff will be really trciky to get working correctly |
13:10:16 | amiconn | *tricky |
13:10:42 | t0mas | ghehe.. took me 3 hours... but I'm back |
13:12:38 | t0mas | amiconn? saw my privmsg? or was it lost in your ping timeout? :) |
13:14:05 | austriancoder | has somebody time to build an icon, which should indicate that hold button is on?! |
13:14:19 | t0mas | there is someone good at photoshop here... |
13:14:26 | t0mas | Dj_Dooms_Day |
13:14:35 | t0mas | but I guess you want a simple little lock icon? |
13:14:50 | B4gder | I doubt a 6x8 pixels 1bit icon requires photoshop ;-) |
13:15:12 | * | t0mas starts paint :P |
13:15:32 | austriancoder | thanks t0mas |
13:15:43 | t0mas | 6x8 ? can it be 8x8 ? |
13:15:55 | B4gder | whatever fits |
13:18:13 | LinusN | should maybe be two icons, one for the remote and one for the main unit |
13:18:34 | B4gder | true |
13:19:09 | | Join webguest74 [0] (~534d24c5@labb.contactor.se) |
13:19:10 | t0mas | hm.. |
13:19:18 | t0mas | isn't there an icon for the archos? |
13:19:28 | B4gder | it has no hold button |
13:19:34 | t0mas | ah ok |
13:19:45 | B4gder | there's a hold mode, but it shows no icon |
13:19:58 | t0mas | what's the height of the statusbar? |
13:19:59 | t0mas | 8 px? |
13:20:04 | B4gder | system font height |
13:20:08 | B4gder | but that is 8 |
13:20:10 | t0mas | ok |
13:20:24 | HCl | hm |
13:20:32 | t0mas | the iriver icon is much larger... |
13:20:43 | t0mas | it fits a R, M of B |
13:20:43 | HCl | i definately want to be able to use my remote to browse, heh. |
13:20:56 | HCl | i wouldn't know what the lcd on the remote is for otherwise :P |
13:21:29 | HCl | LinusN: do you happen to know anything about the optical in/outs yet? are they linked to the audio chip or the cpu? |
13:21:40 | LinusN | to the cpu |
13:21:45 | * | HCl and markun were thinking about game-linking two irivers with two optical cables :P |
13:21:49 | HCl | ah, cool :P |
13:22:24 | LinusN | to the EBU1 port |
13:23:03 | amiconn | austriancoder: 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:16 | preglow | you were thinking of this while you should be thinking of gray scale support!!"¤¤%## |
13:23:21 | B4gder | there is one? oh. ;-) |
13:23:25 | * | B4gder hides |
13:23:42 | t0mas | lol |
13:23:50 | austriancoder | amiconn: ah ok |
13:24:04 | * | t0mas was just checking the iriver icon set :) |
13:24:24 | t0mas | as painting it is difficult... when it's that small |
13:25:01 | t0mas | extern void statusbar_icon_lock(void); |
13:25:07 | t0mas | in icons.h ? |
13:26:38 | LinusN | i use pen and paper for such small icons |
13:26:48 | LinusN | t0mas: that's the one |
13:28:03 | austriancoder | i will use the one in icons.h - thanks all |
13:28:21 | * | t0mas is going to optimize the bmp loading :) |
13:30:40 | amiconn | Zagor: 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:21 | austriancoder | LinusN: it seems that the remote_button_hold function does allways return true |
13:34:08 | Zagor | amiconn: is it in cvs? |
13:35:26 | LinusN | austriancoder: it does? |
13:35:50 | amiconn | Zagor: No, not yet. I want to do some more tests as well before committing. There's a patch: http://arnold-j.bei.t-online.de/Rockbox/fat.patch |
13:36:23 | LinusN | austriancoder: ooops |
13:36:28 | Zagor | ok. i need to grab some lunch now, but will look at it after. |
13:37:02 | B4gder | Zagor: the fat test no longer builds fine too, so that needs adjustment |
13:37:04 | austriancoder | LinusN: did you found the mistake? |
13:37:07 | LinusN | yes |
13:37:09 | Zagor | Bagder: ok |
13:37:47 | *** | Saving seen data "./dancer.seen" |
13:42:13 | | Quit webguest74 ("CGI:IRC (EOF)") |
13:42:36 | LinusN | austriancoder: try this: |
13:43:10 | LinusN | in button_init() change the GPIO1 values to 0x00100062 |
13:43:26 | LinusN | tell 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:16 | austriancoder | LinusN: works |
13:46:20 | LinusN | great! |
13:46:25 | austriancoder | here my patch |
13:46:30 | austriancoder | look please at it |
13:47:09 | austriancoder | http://nopaste.php-q.net/128527 |
13:47:35 | austriancoder | it works |
13:47:42 | LinusN | austriancoder: is it possible to do a unified diff instead? |
13:47:48 | B4gder | diff -u |
13:47:52 | austriancoder | mom |
13:48:30 | austriancoder | http://nopaste.php-q.net/128530 |
13:48:43 | austriancoder | there is onyl icon stuff missing.. rest works |
13:49:08 | LinusN | austriancoder: i doubt that compiles for the other models |
13:49:18 | LinusN | sorry it does |
13:49:30 | austriancoder | and why this? |
13:49:39 | austriancoder | oh |
13:49:50 | austriancoder | the hold functins |
13:50:09 | LinusN | i don't want the backlight handling inside the button_hold() functions |
13:50:27 | austriancoder | where do you want it? |
13:50:40 | LinusN | somewhere els :-) |
13:50:56 | LinusN | the thing is, we might call that function in other contexts |
13:51:07 | austriancoder | hmmm |
13:51:09 | LinusN | in the boot loader, for example |
13:51:49 | austriancoder | shall i do it in the backlight thread? |
13:52:04 | | Part LinusN |
13:52:47 | | Join LinusN [0] (~linus@labb.contactor.se) |
13:52:51 | austriancoder | re |
13:53:20 | LinusN | why not in button_read()? |
13:53:38 | amiconn | I 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:04 | preglow | no |
13:54:05 | amiconn | ...so the backlight will go off after the timeout has expired, unless it is set to always on. |
13:54:05 | preglow | software based |
13:54:06 | LinusN | yes, but we want the backlight to react |
13:54:10 | preglow | isn't it? |
13:54:18 | B4gder | there are two separate hold buttons too |
13:54:33 | amiconn | preglow yes and B4gder yes. |
13:54:44 | austriancoder | LinusN: i will change my patch to work with the button_read function |
13:54:50 | LinusN | great |
13:54:56 | austriancoder | and i will also add the icon showing stuff |
13:55:01 | LinusN | good |
13:55:07 | amiconn | Iiuc austriancoder's patch exactly does this - inhibiting button reading when the respective hold switch is on |
13:55:25 | LinusN | austriancoder: ...which is another place where button_hold() is called |
13:55:30 | austriancoder | rockbox @ iriver is geting better and better |
13:55:37 | LinusN | amiconn: yes it does |
13:56:01 | amiconn | If backlight is set to always on, I would *not* expect it to go off when I activate hold |
13:56:09 | LinusN | amiconn: true |
13:56:21 | austriancoder | then i will check the settings too |
13:56:29 | austriancoder | thats ok for you? |
13:56:30 | LinusN | austriancoder: no, just don't turn it off |
13:56:35 | LinusN | only on |
13:56:41 | LinusN | the timer will turn it off |
13:56:47 | austriancoder | ok... why not |
13:57:35 | austriancoder | will be back in about 2 hours.. need to do some reallife stuff |
13:57:40 | | Nick austriancoder is now known as ac_away (~austrianc@80.120.117.30) |
13:58:05 | LinusN | he, what a loser, he has a life... :-b |
13:58:13 | ac_away | lol |
13:58:58 | amiconn | Flipping the hold switch could generate a button event by itself... just an idea |
14:00 |
14:03:19 | LinusN | i had that idea too, but it didn't feel right... |
14:05:50 | amiconn | Thinking about it, completely inhibiting button read when hold is on doesn't seem right either |
14:06:11 | LinusN | you mean if we want to allow volume changes etc? |
14:06:15 | amiconn | Maybe a plugin wants to utilise the hold button(s) as some kind of shift... |
14:06:33 | LinusN | ooops, like rockboy :-) |
14:07:05 | amiconn | Rockboy doesn't do this (yet) |
14:07:34 | LinusN | well, it uses the hold key to switch display modes |
14:07:35 | preglow | rockboy uses the hold switch, yes |
14:08:07 | amiconn | It just uses a on-off flip of 'hold' to cycle through the lcd modes |
14:08:36 | LinusN | maybe a button_filter(bool) function... |
14:08:53 | LinusN | holdswitch_enable()... |
14:08:55 | LinusN | ... |
14:09:51 | amiconn | The hold switch(es) could also add a qualifier bit to the returned button codes |
14:10:24 | LinusN | yeah |
14:10:57 | LinusN | problem is that every button input loop has to check it |
14:11:08 | LinusN | almost every |
14:11:22 | LinusN | hmmm, maybe not |
14:15:08 | amiconn | We 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:50 | Zagor | why not just say hold is not allowed. it's a lousy UI to use it anyway |
14:15:52 | amiconn | button_read_ex[_w_tmo]() would always return button codes, along with the current hold status as qualifiers |
14:16:03 | t0mas | ok... question :) |
14:16:03 | t0mas | a - (2*(a % 8)) + 8 |
14:16:11 | t0mas | can anybody simplify that? |
14:16:34 | LinusN | Zagor: i agree, but rockboy certainly benefits from using the hold switch |
14:16:50 | Zagor | does it, really? the function is good, yes, but not the key for it |
14:17:05 | LinusN | the other keys are already used, afaik |
14:17:21 | amiconn | So the normal button loops could stay as they are, obeying the hold status |
14:17:27 | Zagor | i strongly doubt there really is no other way to do it |
14:17:36 | Zagor | (rockboy) |
14:17:37 | amiconn | Plugins which need to could the use the _ex variants |
14:18:11 | amiconn | Err, of course I mean button_get_*() |
14:18:23 | Zagor | i'm not terribly fond of _ex functions... |
14:19:10 | preglow | the display mode could be relocated to a menu function, but sometimes it could be necessary to switch modes repeatedly |
14:19:50 | LinusN | it is |
14:20:02 | amiconn | I can imagine that utilising the hold switch(es) could significantly speed up entering of text |
14:20:22 | Zagor | there's plenty of unused buttons on the remote, for example |
14:20:32 | preglow | i never use the remote |
14:20:41 | preglow | and i suspect i'm not alone in that |
14:20:45 | Zagor | i 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:37 | preglow | not the cleanest concept i'm familiar with, no, but it is usable, and the player is short on buttons |
14:22:03 | preglow | for some things, at least |
14:22:05 | Zagor | yelling into the mic for UI interaction is usable too, but still a bad idea |
14:22:21 | amiconn | preglow: Don't complain about button shortness; iriver has 9 while the ondio only has 6.... |
14:22:29 | preglow | Zagor: yes, but that's a prohibitively bad idea ;) |
14:22:30 | LinusN | the text entry ui should be redesigned for the iriver imho |
14:22:59 | preglow | using the hold switch is both practical and possible |
14:23:18 | Zagor | it's not practical. it's the most cumbersome "button" anyone has ever seen |
14:23:27 | preglow | indeed |
14:23:34 | Zagor | we're just doing it because we can, not because it's a good idea |
14:24:03 | preglow | but 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@68.251.84.226) |
14:24:57 | preglow | using 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:12 | preglow | haha |
14:25:13 | LinusN | JUMP! JUMP! RUN! STOP! JUMP! |
14:25:29 | preglow | it would have to be pitch controled to be realizable :P |
14:25:45 | preglow | a deep bass for move forward, a high pitched whine for jump |
14:26:08 | LinusN | you mean more like, "aaaah" "ooooh", "eeeh"? |
14:26:14 | LinusN | kinky |
14:26:53 | preglow | no, that's formant controlled, i mean deciding an action with the excitation frequency of your voice |
14:27:00 | LinusN | "aah, you touch my tralala" |
14:27:04 | preglow | hahaha |
14:27:19 | preglow | piece of shit song |
14:27:34 | LinusN | swedish of course |
14:28:11 | LinusN | nothing compares to "catch the digital flow" |
14:28:43 | preglow | oh, indeed |
14:28:57 | preglow | that is the crown jewel of electronic music |
14:29:12 | preglow | i invite strangers from the street in to listen to it |
14:30:21 | Zagor | "cache the digital flow" - the squid song? |
14:31:03 | | Quit Nibbler (Read error: 104 (Connection reset by peer)) |
14:31:09 | LinusN | Zagor: :-b |
14:33:20 | preglow | damn, the ipod guys seem to have an easy time with the codecs |
14:34:48 | LinusN | easy? |
14:35:47 | preglow | well, they straight import helix aac decoder, and bam, 123% realtime |
14:35:51 | preglow | at 128kbps, that is |
14:36:06 | preglow | compilers have a far easier time with arm |
14:36:20 | Lynx_ | 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:00 | preglow | but then again, it's not a very fair comparison, since most codecs are already optimized for arm |
14:37:09 | preglow | especially the helix decoder |
14:41:25 | Zagor | amiconn: what exactly does your patch change? most of the patch is just changing the style of the code |
14:42:32 | amiconn | It fixes at least 3 problems... see today's log, starting at about 08:30 |
14:45:32 | amiconn | The first problem is 100% verified (my sister experienced it), and my patch is already verified to fix it |
14:46:05 | Zagor | are you saying it never ever reused deleted entries? |
14:46:12 | amiconn | yup |
14:46:50 | amiconn | It makes sense to not reuse deleted entries as long as there is room to extend the dir. Windows also does this |
14:47:26 | amiconn | But if extending is not possible (fat16 root or no free clusters), deleted entries should be reused instead |
14:48:02 | amiconn | My 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:03 | Zagor | well the code is naturally written to use deleted entries, otherwise it would be a lot shorter |
14:48:18 | | Join Nibbler [0] (~sven@port-212-202-73-247.dynamic.qsc.de) |
14:48:30 | Zagor | i'm pretty sure I tested that when I wrote it (i.e. added and deleted thousands of entries on a small disk) |
14:48:38 | amiconn | Yes, the code was _intended_ to reuse deleted entries. It just never did |
14:49:26 | amiconn | You 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:26 | Zagor | yeah, but i tested the fat code by looking at the results on disk. anyway, I have no reason to disbelieve you. |
14:50:30 | amiconn | If you have an idea how to make a test scenario for that... |
14:50:53 | Zagor | sure: create four entries, delete #2, create a new one. see where it ends up. |
14:51:14 | amiconn | It wil end up at #5 for sure with the old code |
14:51:27 | Zagor | badness indeed |
14:51:41 | amiconn | ...and also with the new, because #5 is within the first cluster (even within the first sector) |
14:51:53 | amiconn | ...and that is basically good |
14:52:04 | Zagor | why? |
14:52:10 | LinusN | to undelete? |
14:52:20 | amiconn | Not overwriting deletd entries enables undeleting them. That's why windows also does this |
14:52:39 | amiconn | Windows only reuses deleted entries if it runs out of space |
14:52:52 | Zagor | yeah, the dir entries. but we overwrite the data so it's a no-issue |
14:53:22 | LinusN | Zagor: not necessarily |
14:53:50 | amiconn | Running out of space may happen in 2 cases. (1) Disk (almost) full (2) fat16 root dir |
14:56:20 | Zagor | well I don't advocate filling the disk with directory entries... :-) |
14:56:36 | amiconn | I'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:14 | amiconn | Zagor: If we'd go for always reusing deleted entries, the code would become even smaller |
14:57:24 | preglow | i'd say do that |
14:57:30 | LinusN | me too |
14:57:41 | LinusN | undelete is for wimps |
14:57:47 | preglow | yes, and this is a portable |
14:57:53 | preglow | it's almost always for transporting copies of things |
14:58:05 | Zagor | and obviously, since I wrote it that way (or at least intended to) I vote for that too :-) |
14:59:09 | Zagor | amiconn: 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:38 | amiconn | I mean, if it finds a free entry at the end, it tried to append and not overwrite deleted entries |
14:59:57 | Zagor | ah, so it's basically bug #1 in a different scenario? |
15:00 |
15:00:08 | amiconn | However, it may be that there's not enough room for the required number of entries at the end |
15:00:24 | amiconn | yup |
15:00:46 | amiconn | The control flow is different, but the effect is similar |
15:01:26 | amiconn | That's why my new code also cycles through each empty entry, and does not stop immediately |
15:01:36 | amiconn | It does this for 2 reasons |
15:02:50 | amiconn | (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:03:07 | Zagor | cleared? |
15:04:27 | amiconn | Zero-filled |
15:04:33 | Zagor | why? |
15:05:09 | amiconn | Mark entries as unused |
15:05:19 | Zagor | they are already marked as deleted |
15:05:31 | amiconn | Not when the dir is extended |
15:05:41 | amiconn | The new cluster(s) may contain anything |
15:06:11 | Zagor | of course. the code always cleared the new cluster. |
15:06:29 | amiconn | Yes, but in a separate step at the end |
15:07:08 | Zagor | nope, see line 1301 |
15:07:13 | amiconn | In fact, it also cleared *the first* new cluster in the beginning, but an item may take more than one cluster |
15:08:06 | Zagor | i'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:22 | amiconn | I'm talking about the original code lines 1379..1423. These are no longer needed in my code |
15:11:49 | amiconn | Lines 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:10 | amiconn | 512 bytes take 16 entries, but an item may need up to 21 |
15:12:35 | Zagor | 1323 is for end of dir, not first free entry |
15:12:45 | amiconn | Yes |
15:12:51 | Zagor | anyway, i believe you. i just want to look at it. |
15:12:57 | amiconn | Maybe this is a definition problem |
15:13:42 | amiconn | I use 'free' entry for a really free entry (all zero), and 'deleted' entry for an entry starting with 0xe5 |
15:14:32 | amiconn | And yes, line 1323 for 'end of dir' makes up for the 2 problems |
15:18:53 | amiconn | ...even for all 3 in some cases |
15:19:12 | Zagor | my code uses "free entry" for deleted and "eof" for 0 entry (since the first 0 entry is always last) |
15:20:15 | amiconn | Yes, but finding the first zero entry doesn't imply the new item will fit there |
15:20:37 | Zagor | no |
15:20:52 | amiconn | Most 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] (~chatzilla@APuteaux-154-1-48-37.w83-199.abo.wanadoo.fr) |
15:21:49 | Zagor | well you can't blame me for not supporting fat16 in my fat32 code :-) |
15:22:01 | Tang | Hi guys :) |
15:22:10 | amiconn | Remember that these problems may also hit fat32 |
15:22:15 | Zagor | yeah I know |
15:22:33 | amiconn | Going 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] (~3e4f4094@labb.contactor.se) |
15:24:05 | Zagor | if 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:10 | amiconn | I can try... however, some of the style makes it somewhat irritanting (for me) to follow the flow |
15:25:21 | amiconn | *irritating |
15:25:47 | LinusN | get used to it |
15:26:58 | amiconn | Well, I can live with the opening-brace-at-same-line oddity, although I don't like it |
15:27:27 | preglow | it seems to mix conventions a bit |
15:27:40 | preglow | opening-brace-at-the-same-line is the only way! |
15:28:10 | Zagor | preglow: it does mix conventions. many cooks, you know :-) |
15:29:29 | Zagor | amiconn: 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:43 | preglow | i thought using the style of the file you're in was the rule |
15:29:58 | LinusN | preglow: it is |
15:30:11 | amiconn | preglow: So if the style is mixed, I can use the variant I prefer :) |
15:30:16 | Zagor | hehe |
15:30:51 | Zagor | preglow: indeed it is. it was so long since we discussed it, I had forgotten |
15:31:06 | | Join elinenbe_ [0] (~elinenbe_@65.115.46.225) |
15:31:29 | | Quit elinenbe (Read error: 113 (No route to host)) |
15:31:29 | | Nick elinenbe_ is now known as elinenbe (~elinenbe_@65.115.46.225) |
15:31:48 | Tang | nice progress on the remote |
15:31:50 | Tang | :) |
15:32:41 | LinusN | yeah, that was nice |
15:33:15 | rasher | Three lock icons: one for main, one for remote, and one for both |
15:35:22 | Zagor | argh, header files are very mingled now :-( |
15:37:52 | *** | Saving seen data "./dancer.seen" |
15:38:32 | preglow | why are some of the source files in drivers/ marked executable? :P |
15:40:35 | LinusN | they are open source viruses |
15:42:05 | | Join vurguuz [0] (~vurguuz@ppp83-237-234-55.pppoe.mtu-net.ru) |
15:42:11 | preglow | clearly |
15:43:39 | HCl | hmmm... |
15:43:47 | HCl | <.< >.> |
15:43:59 | HCl | i don't suppose any of you happen to know a multithreaded patch for john the ripper? |
15:45:21 | Zagor | who is he and how did he hurt himself? |
15:46:51 | * | rasher giggles |
15:49:06 | HCl | its a password cracker :3 |
15:49:22 | | Part LinusN |
15:53:27 | | Nick vurguuz is now known as vurguuz_ (~vurguuz@ppp83-237-234-55.pppoe.mtu-net.ru) |
15:53:34 | bobTHC | HCl > i prefere the asmcrk "smart force" function ;) |
15:54:09 | HCl | o.o; never heard of it. |
15:54:23 | | Nick vurguuz_ is now known as vurguuz (~vurguuz@ppp83-237-234-55.pppoe.mtu-net.ru) |
16:00 |
16:03:01 | bobTHC | Adobe and Macromedia are to merge, the companies said today. fucking bad news, already in oligopoly, and now really in monopoly |
16:04:25 | HCl | adobe and macromedia. |
16:04:26 | t0mas | Adobe? isn't that the shit compnay who invented pdf? |
16:04:27 | HCl | lol. |
16:04:31 | HCl | yea. |
16:04:33 | bobTHC | very bad news for consumer not for shareholder of course |
16:04:41 | HCl | it suits them well, both having rather closed formats |
16:04:42 | t0mas | damn... I hate them :P and their windows reader :P |
16:04:52 | HCl | bleh. |
16:04:57 | HCl | my laptop is pathetic. |
16:05:01 | HCl | xp 2800+ |
16:05:12 | bobTHC | lolo-laptop: not so bad |
16:05:16 | HCl | and it doesn't perform any better than a single 550mhz xeon cpu |
16:05:27 | bobTHC | fucking autocomplete feature |
16:05:43 | | Nick lolo-laptop is now known as lostlogic (~lostlogic@68.251.84.226) |
16:05:53 | lostlogic | *grin* |
16:06:02 | bobTHC | lol, thanx mate! |
16:06:04 | preglow | well |
16:06:10 | Zagor | fat32 in cvs seems broken. the test cases don't pass, but they work on fat16. |
16:06:16 | preglow | adobe isn't exactly the monolith of closed format companies |
16:06:19 | HCl | ouch. |
16:06:19 | Zagor | i'll commit the fixed test code |
16:06:37 | HCl | no, macromedia and microsoft are worse |
16:06:48 | preglow | but yes |
16:07:15 | preglow | more worisome is the fact that adobe now has a monopoly, more or less |
16:07:21 | HCl | hrm. |
16:08:26 | preglow | but they still have some goodwill from me for inventing pdf |
16:08:26 | preglow | heh |
16:08:33 | rasher | Zagor: What do you mean that fat32 is broken? |
16:09:22 | | Part vurguuz |
16:09:31 | Zagor | rasher: the autotest doesn't complete. don't know exactly what's wrong yet. |
16:10:17 | preglow | does anyone know what the pointer increment is for a void* ? |
16:11:21 | Zagor | you can't increment a void pointer |
16:12:24 | preglow | fair enough |
16:12:24 | Zagor | uh, sorry you can. just just can't dereference it. increment is 1. |
16:12:30 | preglow | ahh, great |
16:12:54 | preglow | no, 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:19 | amiconn | preglow: This is a gnu extension: http://gcc.gnu.org/onlinedocs/gcc-3.0.4/gcc_5.html#SEC87 |
16:19:14 | * | HCl finally sees the power of a multicpu system |
16:23:48 | | Quit Aison` (Connection timed out) |
16:24:41 | bobTHC | HCl> you recently recover sight or un never try it before on nux box ? ;) |
16:27:06 | HCl | bobTHC: i've never had an intense cpu job that can run multithreaded |
16:27:12 | HCl | even now, i had to split the task into 4 |
16:27:17 | HCl | but it makes quite a difference |
16:27:24 | HCl | 800 000 thingys per second |
16:27:30 | HCl | compared to 330 000 thingys on a single cpu |
16:27:36 | HCl | not to mention my "2800+" cpu |
16:27:41 | rasher | thingys :) |
16:27:44 | HCl | is supposed to be able to go faster than 800 000 |
16:27:51 | HCl | but it only manages 330 000 as well -.- |
16:29:19 | Zagor | false alarm, the test code was bad. |
16:29:37 | Zagor | the file api has changed since it ran last... :-) |
16:30:55 | | Quit nozomiyume (Read error: 104 (Connection reset by peer)) |
16:31:24 | rasher | Well it's just that a few people have experienced iRiver firmware not booting after moving/renaming/creating files with rockbox |
16:31:36 | rasher | I.. think.. |
16:31:46 | rasher | I'm pretty sure it wasn't all lack of battery |
16:32:02 | Zagor | amiconn found some bugs that the test code doesn't catch. could be that. |
16:32:43 | | Join wacky_ [0] (~wacky@modemcable011.4-37-24.mc.videotron.ca) |
16:32:49 | wacky_ | ls -al |
16:32:51 | wacky_ | oops :) |
16:33:10 | wacky_ | hey.. have you guys looked at the recording stuff for the iRiver ? |
16:33:41 | wacky_ | Would it be hard to have something simply dump .wav data from the adc to disk ? |
16:33:59 | Zagor | no |
16:35:46 | | Quit HCl ("Lost terminal") |
16:39:51 | amiconn | 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 |
16:41:15 | | Join hcl [0] (hcl@titania.student.utwente.nl) |
16:41:20 | hcl | oops, wrong screen closed :P |
16:41:23 | hcl | woot for sorting |
16:41:25 | | Nick hcl is now known as HCl (hcl@titania.student.utwente.nl) |
16:41:49 | rasher | amiconn: okay.. |
16:42:44 | HCl | going at 1320000 now that my hashes are sorted :D |
16:42:56 | bobTHC | rainbowtable ? |
16:43:02 | HCl | mm? |
16:46:45 | | Quit Zagor ("Client exiting") |
16:47:12 | bobTHC | HCl > http://www.topsight.net/article.php/20040715034456317 |
16:50:00 | HCl | nope |
16:50:19 | HCl | just sorting the hashes so that all hashes that have the same salts are grouped together |
16:50:27 | HCl | therefore each cpu has to calculate less salts |
16:50:33 | HCl | -> over 150% speed increase |
16:50:37 | t0mas | hmz... |
16:50:45 | t0mas | does a call to read() move my file position? |
16:50:51 | HCl | yes. |
16:51:02 | t0mas | doesn't look like it here... |
16:51:13 | HCl | it definately should o.o; |
16:51:16 | t0mas | yeah.. |
16:51:30 | t0mas | so: read(fd, &buffer, 8); |
16:51:52 | t0mas | that would read 8 bytes, move my position 8 bytes... and when I call it again? it should overwrite the buffer right? |
16:52:05 | amiconn | yup |
16:52:39 | t0mas | should I clean the buffer fist? with memset() or something? |
16:52:49 | t0mas | (it gives weird results here) |
16:52:56 | amiconn | That's not necessary, but check how your buffer is defined |
16:53:28 | Bagder | and check the return code |
16:53:28 | amiconn | if you have something like unsigned char buffer[8]; then it's read(fd, buffer, 8); |
16:53:39 | amiconn | Otherwise your code trashes inocent memory |
16:53:46 | t0mas | Bagder: return's 8, as expected |
16:53:55 | t0mas | amiconn: ok, that meight be it :) |
16:55:25 | t0mas | :D |
16:55:49 | t0mas | I used 2560 bytes... now just 20 |
16:55:55 | t0mas | getting better... |
16:56:04 | t0mas | now it's time to optimize the loading code :) |
16:56:12 | t0mas | should be possible to do it a little faster |
16:56:24 | amiconn | That's certainly not a full 'row group' |
16:56:30 | t0mas | no |
16:56:33 | t0mas | that's just 1 row |
16:56:49 | amiconn | ...and only for monochrome |
16:56:54 | t0mas | yes |
16:57:11 | t0mas | the 20 = 160 / (8 / 1) |
16:57:18 | t0mas | 1 bit per pixel |
16:57:25 | amiconn | yes of course |
16:57:34 | t0mas | grayscale = 4 bits per pixel? |
16:57:53 | amiconn | I'd load 8 rows at once for monochrome (160 bytes for b&w bmps on iriver) |
16:58:11 | t0mas | yeah, I was thinking of two things... |
16:58:22 | amiconn | For greyscale, I'd load 640 bytes at once (4 rows, 1 byte/pixel each) |
16:58:22 | HCl | yea |
16:58:28 | HCl | if you load 8 rows at once |
16:58:33 | HCl | you can just use the rockboy code |
16:58:36 | amiconn | ..then converting to the native 2 bpp format |
16:58:38 | HCl | since it works on 8 rows at once |
16:58:42 | t0mas | HCl: that's asm? |
16:58:45 | HCl | no, C |
16:59:01 | Tang | hum |
16:59:04 | t0mas | well... I can load 8 rows... that's not a problem |
16:59:08 | | Join thegeek [0] (na@ti521110a080-1991.bb.online.no) |
16:59:17 | t0mas | but I was thinking of a buffer-less way.. |
16:59:28 | | Quit Seed (Read error: 54 (Connection reset by peer)) |
16:59:43 | t0mas | load 1 bytes from file, set the right bits in the output buffer... |
16:59:47 | t0mas | *byte |
17:00 |
17:00:07 | amiconn | Yes, but loading 8 (4) rows at once allows for optimising the conversion |
17:00:24 | Tang | is there a critical issue about FAT with Rbx on iRiver? |
17:00:36 | t0mas | ok, but then the optimising is someone else's job... as I don't understand how to do it then :) |
17:00:37 | amiconn | ...*not* setting each bit separately |
17:00:50 | amiconn | I am the bit wizard ;) |
17:00:54 | t0mas | ghehe |
17:01:11 | Tang | "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:22 | t0mas | ok, magic me something and put it on mailinglist/privmsg/channel/my email |
17:01:30 | t0mas | I'll try to write it |
17:04:01 | Tang | sorry i don't understand fine |
17:10:41 | | Join nozomiyume [0] (~vthakkar@ip-139-112.station.sony.com) |
17:12:57 | preglow | Tang: we know of no serious problems |
17:13:21 | Tang | ah okay i misunderstood amiconn post to rasher |
17:13:33 | Tang | apparently |
17:13:35 | preglow | it's a problem, but it's not a serious one |
17:13:43 | preglow | it should never corrupt anything |
17:14:02 | Tang | ah no corruption |
17:14:04 | Tang | ok |
17:14:07 | Tang | was wondering |
17:14:16 | Tang | since i experiment somme issue |
17:14:28 | Tang | with file not playable anymore under iRiver fw |
17:14:38 | Tang | but stillreadable trhouhg |
17:14:39 | Tang | winamp |
17:14:46 | Bagder | that 1.65 thing? |
17:15:29 | Tang | no |
17:15:33 | Tang | even with 1.63 |
17:15:42 | Tang | and with mp3 (not ogg) |
17:15:52 | Tang | also it cause iHP freeze |
17:15:55 | Tang | no skipping |
17:16:05 | Tang | and strangely when i tried |
17:16:09 | Tang | to come back |
17:16:15 | Tang | to iRiver 1.60fw |
17:16:22 | Tang | the issue was still here |
17:16:34 | Bagder | you mean with no rockbox left? |
17:16:46 | Tang | yes |
17:16:54 | Tang | so i was wondering |
17:17:23 | Bagder | did you scandisk it? |
17:17:49 | Tang | yes |
17:17:52 | Tang | no error |
17:17:58 | Tang | also i can modify the files |
17:18:05 | Bagder | then I don't see how it can be rockbox's fault |
17:18:10 | Tang | so i renamed them with fals extesnion under rbx |
17:18:22 | Tang | so that they are excluded of playing list |
17:18:42 | Tang | i also think it's not Rbx ault |
17:18:50 | Tang | but when i saw fat issue |
17:19:13 | Tang | i was wondering it there wasn't very subtle data corruption |
17:19:23 | Bagder | ok |
17:19:31 | Tang | the WinXP HD check isn't very sure maybe |
17:19:32 | Bagder | but no, this wasn't it |
17:19:45 | Tang | when i tried Partition magic checking |
17:19:57 | Tang | it failed due to "opened files" |
17:21:05 | Tang | oki |
17:21:19 | Tang | Bob is explaining this to me in french by opersonnal way |
17:21:22 | Tang | :) |
17:22:53 | | Join Seed [0] (ben@l192-114-41-133.broadband.actcom.net.il) |
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] (ben@l192-114-41-133.broadband.actcom.net.il) |
17:35:36 | | Join Sucka [0] (~NNSCRIPT@host81-156-210-120.range81-156.btcentralplus.com) |
17:37:53 | *** | Saving seen data "./dancer.seen" |
17:48:17 | | Join nozomiyume [0] (~vthakkar@ip-139-112.station.sony.com) |
17:49:21 | | Quit TCK (Read error: 54 (Connection reset by peer)) |
17:56:37 | * | t0mas prays to bitgod amiconn :P |
17:57:07 | t0mas | "oh my god, do some of your bit miracles and explain to me how it should be optimized?" |
17:57:13 | t0mas | ;) |
18:00 |
18:21:06 | amiconn | I'm certainly not a god, wizard is more like it ;-) |
18:21:54 | amiconn | Well, for monochrome .bmp to monochrome rockbox format, the idea is to swap an 8x8 pixel block at once |
18:22:34 | amiconn | The source .bmp block contains 8 pixel rows, and we need to swap that into 8 pixel columns |
18:23:44 | amiconn | There is a very clever algorithm I found for a similar problem. |
18:24:46 | amiconn | The Commodore Amiga display controller works on bitplane-oriented data, while most rendering algorithms yield chunky data (1 byte/ pixel) |
18:25:02 | wacky_ | hey guys.. what about the 1.65 not playing off files and not encoding more than 128kbps mp3 files anymore ? |
18:25:13 | wacky_ | s/off/ogg |
18:25:16 | amiconn | So it is necessary to do "chunky-to-planar" conversion - which is nearly the same problem |
18:26:54 | Tang | bye all |
18:26:58 | Tang | best regards |
18:27:03 | bobTHC | cu |
18:27:10 | Tang | :) |
18:27:12 | | Quit Tang ("Chatzilla 0.9.66 [Mozilla rv:1.7.5/20041107]") |
18:27:30 | amiconn | Doing 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:51 | preglow | wacky_: what about it? |
18:28:56 | amiconn | It might be possible to write the algorithm in C after all... |
18:29:20 | bobTHC | indeed, imho |
18:29:31 | bobTHC | it's avoid the "port" |
18:29:38 | amiconn | ...since it doesn't require rotate operations or other fancy stuff not available in C |
18:29:50 | bobTHC | :) |
18:29:59 | preglow | coldfire has no rotation :/ |
18:30:03 | amiconn | bobTHC: Some algorithms are impossible to write in C |
18:30:29 | wacky_ | preglow - well I can't play ogg files anymore with the 1.65us+bootloader, running the original firmware |
18:30:36 | amiconn | preglow: It doesn't? That's bad (not for this algorithm though) |
18:30:54 | bobTHC | of course but the framework would be to "reduce" the time to port on devices with new screen |
18:30:56 | amiconn | Strange, plain m68k does have rotation |
18:30:59 | preglow | amiconn: nope, afaik, it doesn't have rotate, it was removed from the 68k instruction set for some reason |
18:31:24 | preglow | amiconn: along with some other nice instructions, like register exchange |
18:31:28 | amiconn | Anyway, the algorithm I'm talking about only needs shift, and, and xor |
18:31:39 | preglow | wacky_: 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] (~tester@p54A0E3D4.dip.t-dialin.net) |
18:37:44 | amiconn | preglow: Strange anyway. The SH1, which has a much smaller instruction set than the coldfire, does have rotation |
18:38:35 | preglow | amiconn: 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:11 | t0mas | amiconn: tnx for explaining |
18:39:35 | t0mas | you have a link for that algorithm? |
18:39:54 | t0mas | or is it exaclty the "chunky-to-planar" algorithm? |
18:40:13 | preglow | hmm, it's got a lot of test bit instructions, though |
18:40:14 | amiconn | Not exactly... I learned it from studying the m68k asm implementation |
18:40:17 | preglow | perhaps they can be put to good use |
18:42:07 | | Join Harpy [0] (HBOTtnZe8C@dsl-hkigw7wbb.dial.inet.fi) |
18:42:29 | amiconn | t0mas: 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:52 | amiconn | Using the single bit set (with and/or) is even slower, by a factor of 2...3 |
18:43:08 | t0mas | yes... my simple way used 2 shifts an AND an an OR |
18:43:12 | t0mas | an an = and an |
18:43:39 | amiconn | The 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:02 | preglow | amiconn: 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:11 | amiconn | I 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:03 | preglow | i'm thinking of the huffman decoders |
18:47:10 | preglow | where you have to do quite a large amount of bit fiddling |
18:47:36 | preglow | and no, the masks are stored in an array |
18:47:46 | preglow | when the index alone will do the trick for the bit test instructions |
18:47:49 | preglow | oh well |
18:47:50 | preglow | i'll find out |
18:48:16 | amiconn | Well, if I want to know whether the compiler is clever enough, I disassemble the binary and check myself |
18:48:40 | preglow | yes, i'll do that when i get around to it |
18:50:28 | | Nick Sucka is now known as Sucka`away (~NNSCRIPT@host81-156-210-120.range81-156.btcentralplus.com) |
18:51:12 | amiconn | t0mas: 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:41 | t0mas | yeah, I'm not as bad on algorithms as I'm on C :) |
18:54:08 | t0mas | rockbox's weird format is the planar format? |
18:54:28 | amiconn | http://arnold-j.bei.t-online.de/Rockbox/Bitcomb.sxw |
18:55:07 | amiconn | As I said, the problem is similar |
18:55:19 | t0mas | k |
18:55:46 | amiconn | We 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:54 | t0mas | yes, that's what I did bit by bit |
18:57:12 | | Join Aison [0] (~hans@zux166-181.adsl.green.ch) |
19:00 |
19:04:46 | | Join Sirdon120 [0] (Ya3-User@ACAE164A.ipt.aol.com) |
19:05:48 | | Quit bobTHC ("Smoke Weed Every Day !") |
19:08:08 | t0mas | amiconn: I have a simple description of the problem... |
19:12:35 | | Join stevenm [0] (~steve@176-182.mam.umd.edu) |
19:12:39 | stevenm | Hello all |
19:13:40 | t0mas | hi |
19:16:31 | stevenm | so guys, are unsigned ints more or less evil than ints, or the same? |
19:16:39 | stevenm | speed wise |
19:16:42 | stevenm | on coldfire |
19:16:48 | t0mas | equal if you ask me... |
19:17:18 | t0mas | well.. maybe unsinged is a little faster... |
19:17:27 | t0mas | as is doen't have to check for inversion.. |
19:17:27 | stevenm | all right. I started converting everything back to ints.. running into some very very bizzare synth bugs |
19:17:58 | t0mas | yeah, saw some warnings on unsigned signed comparison in your code... |
19:18:04 | stevenm | i went from two unsigned chars to two unsigned ints |
19:18:16 | stevenm | naw none of this new stuff is in CVS yet that cuases thus |
19:18:19 | stevenm | this |
19:19:09 | t0mas | ah... then you had the same thing in old code? |
19:19:11 | stevenm | I 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:25 | stevenm | yea.. but this bug started happening only I did this conversion to ints |
19:19:43 | stevenm | yea I had those comparisons in the old code but that was in a different place |
19:19:49 | amiconn | t0mas: Here's the original source where I got part of the idea: ftp://de.aminet.net/pub/aminet/dev/asm/1Seb_FAST_C2P.lha |
19:20:01 | amiconn | There was also a web page, still digging... |
19:20:12 | t0mas | k |
19:21:04 | preglow | stevenm: might as well keep everything signed |
19:21:09 | stevenm | t0mas, 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:22 | preglow | if something will never have a negative value |
19:21:25 | preglow | use unsigned |
19:21:26 | preglow | etc |
19:21:35 | stevenm | preglow, 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:44 | preglow | hmm? |
19:21:48 | preglow | feedback? |
19:21:53 | preglow | if you've got a wave of it happening, let me see it |
19:21:56 | stevenm | it's not feedback I know but it SOUNDS like it |
19:21:58 | t0mas | stevenm: 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:55 | preglow | rockbox audioscrobbler group? |
19:22:55 | preglow | cool |
19:23:02 | stevenm | god I wonder how old this bug is, what incarnation of the code it started in |
19:23:52 | preglow | anywho, if you've got a wav of it |
19:23:55 | rasher | preglow: http://www.audioscrobbler.com/group/Rockbox%2BUsers |
19:24:09 | preglow | i know a thing or two about audio coding, so might be able to help |
19:24:21 | stevenm | preglow, naw, no wav atm |
19:24:46 | stevenm | it is definitely a synthesis bug. might be one of those 8bit waveforms that I changed the conversion for |
19:24:57 | preglow | joined |
19:25:56 | stevenm | time to whip out wine.. get the good midi editor out and figure out what patch is doing this crap |
19:26:20 | stevenm | preglow, is coldfire 32 bit or 16 ? |
19:26:23 | preglow | stevenm: 32 |
19:26:31 | stevenm | preglow, ah. awesome |
19:26:50 | stevenm | preglow, I have another question for you. I have an array of 16 bit sampled data.. and I need to get nth sample |
19:27:35 | stevenm | I get each 'half' of the sample into an unsigned int |
19:27:43 | HCl | sup |
19:27:51 | stevenm | preglow, then I shift one by 8 bits and or it with the other, return the result |
19:27:59 | preglow | ahaghaha, i've got "test - iriver" listed on my weekly top track chart |
19:28:14 | stevenm | preglow, but it doesn't work.. the result needs to be signed |
19:28:46 | preglow | why do you get half of the sample? |
19:28:49 | stevenm | preglow, 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:54 | preglow | is it stored as ints or something? |
19:28:55 | preglow | ehh |
19:28:56 | preglow | chars |
19:29:02 | stevenm | preglow, because they're 16 bit samples stored in an array of chars |
19:29:10 | preglow | well, stop doing that then :P |
19:29:14 | stevenm | preglow, I can only read one byte in at a time .. |
19:29:19 | preglow | or cast the pointer to short* before you access |
19:29:30 | stevenm | preglow, you're saying, read the whole thing into an array of INTS ? |
19:29:36 | stevenm | or shorts ? |
19:29:39 | preglow | into an array of shorts |
19:29:44 | preglow | why read it as chars? |
19:29:58 | preglow | and anyway, even if it is chars, cast the pointer to short* |
19:30:02 | preglow | and things will attend to itself |
19:30:04 | rasher | http://www.audioscrobbler.com/music/iRiver <−− excellent |
19:30:05 | stevenm | I don't know.. atm I was concerned with reading anything at all |
19:30:15 | stevenm | preglow, so then just return just the ONE index |
19:30:19 | stevenm | and not or anything ? |
19:31:14 | preglow | i'm not folowwing |
19:31:16 | preglow | following |
19:32:50 | stevenm | preglow, 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:58 | stevenm | and let the compiler deal with that crap ? |
19:33:18 | | Quit wacky_ ("My damn controlling terminal disappeared!") |
19:33:23 | preglow | stevenm: indeed |
19:33:31 | preglow | stevenm: it won't do any or then |
19:33:38 | preglow | stevenm: it just gets the sixteen bit value as it is |
19:33:52 | preglow | stevenm: just make sure the endianess is correct if you load the sample data from some place else |
19:33:58 | stevenm | ah ok |
19:34:11 | preglow | .wav files need to be byteswapped, for instance |
19:34:18 | preglow | i don't know what format .pat files are in |
19:35:13 | stevenm | preglow, ah, I see. byteswapping isn't hard |
19:35:35 | stevenm | man that really obnoxious kid from my enee class really needs to stop staring over my friggin shoulder. |
19:35:59 | stevenm | it's rude |
19:36:06 | HCl | lmao. |
19:36:18 | HCl | people are curious |
19:36:21 | preglow | visit tubgirl or something |
19:36:23 | preglow | that'll stop him |
19:36:26 | stevenm | haha |
19:36:42 | stevenm | done. |
19:36:44 | rasher | someone figlet something rude |
19:37:00 | HCl | or just open up word and type in big letters |
19:37:08 | HCl | "STOP STARING OVER MY SHOULDER" |
19:37:09 | HCl | :P |
19:37:10 | stevenm | taht seems to have done the job |
19:37:14 | stevenm | tubgirl seems to work |
19:37:28 | amiconn | t0mas: http://come.to/amiga Click on "Tutorials" in the menu, then "C2P Tutorial by Scout" |
19:37:31 | rasher | aha |
19:37:44 | t0mas | ok, I'll read it |
19:37:48 | stevenm | and still you gotta wonder. How DOES she do that |
19:37:55 | *** | Saving seen data "./dancer.seen" |
19:38:04 | preglow | hahah |
19:38:05 | rasher | I try not to |
19:38:07 | HCl | what is tubgirl... |
19:38:09 | preglow | i'm not really wondering |
19:38:27 | rasher | HCl: think goatse, except worse |
19:38:30 | preglow | HCl: a picture of some female freak projectile shitting herself in the face |
19:38:42 | HCl | aha. |
19:38:45 | rasher | That's another way of putting it |
19:39:03 | stevenm | how eloquently put preglow |
19:39:10 | stevenm | best explaination I ever heard |
19:39:33 | stevenm | I 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:35 | preglow | i am rather skilled at being vulgar |
19:39:48 | stevenm | awesome :) |
19:40:13 | preglow | but i need to go shop some food |
19:40:14 | preglow | later |
19:40:31 | stevenm | bye |
19:42:21 | | Quit stevenm ("Leaving") |
19:46:38 | t0mas | pffffff ac_away |
19:46:40 | t0mas | eh amiconn |
19:46:50 | t0mas | I now understand how it works.... |
19:47:03 | t0mas | but not how to code it... |
19:47:08 | t0mas | as that will be very difficult |
19:49:34 | t0mas | hmz.. we want 64 bits right? |
19:49:44 | t0mas | 8x8 ? |
19:50:37 | amiconn | I believe it's not too difficult.... and swapping 256 bits at once (32x8) will be even faster |
19:51:52 | t0mas | yeah... |
19:55:43 | | Join rasher_mob [0] (ffffffd461@ti100710a080-10080.bb.online.no) |
19:55:51 | | Quit rasher_mob (Remote closed the connection) |
19:56:17 | rasher | ^_^ |
19:58:04 | | Join stevenm [0] (~steve@176-182.mam.umd.edu) |
19:58:10 | t0mas | wb |
19:58:28 | stevenm | thanks |
19:58:53 | stevenm | got my bug narrowed down to two possible channels |
19:59:10 | t0mas | amiconn: shall we commit a simple line-by-line working C "slow" version? |
19:59:14 | t0mas | and optimize later? |
19:59:23 | t0mas | as that's going to take some time... |
19:59:42 | | Join matsl [0] (~matsl@1-1-4-2a.mal.sth.bostream.se) |
20:00 |
20:00:38 | stevenm | man 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] (~steve@176-182.mam.umd.edu) |
20:05:06 | stevenm | whoops |
20:05:52 | | Nick StrathAFK is now known as Strath (~mike@dgvlwinas01pool0-a202.wi.tds.net) |
20:06:02 | t0mas | wb Strath and stevenm |
20:06:03 | t0mas | :) |
20:06:41 | Strath | thx |
20:06:52 | amiconn | t0mas: It's always possible to optimise later |
20:07:18 | t0mas | Ok, then I'll just make it compile without errors now... |
20:07:24 | t0mas | and use a small single line buffer |
20:07:40 | amiconn | It's very unlikely that the first version is the ultimate |
20:07:44 | t0mas | then it's usable for non timecritical things... and using a minimum amount of mem |
20:08:05 | amiconn | Yes, that's a point too |
20:08:15 | t0mas | where shall I declare my 20 byte buffer? |
20:08:19 | t0mas | just inside the function? |
20:08:21 | t0mas | on stack? |
20:08:28 | amiconn | If the routine isn't used very often, it's more important to keep it small than to make it fast |
20:08:54 | amiconn | The builtin .bmp writer also uses a very simple bit rotation |
20:09:20 | amiconn | That tiny file buffer should be safe to put on the stack |
20:09:32 | t0mas | ok |
20:09:59 | t0mas | hm.. one more little point... |
20:10:10 | t0mas | the LCD_WIDTH of most devices... |
20:10:20 | t0mas | is it devidable by 8? |
20:10:49 | amiconn | for the currently supported devices: yes |
20:10:58 | t0mas | hm... make it universal anyway? |
20:11:20 | t0mas | ((LCD_WIDTH+63)&(~0x1f))/8; |
20:11:20 | amiconn | apps/misc.c: screen_dump() |
20:12:20 | t0mas | ghehe |
20:12:21 | t0mas | [(LCD_WIDTH/8+3) & ~3] |
20:12:25 | t0mas | smaller :) |
20:12:35 | amiconn | definitely :) |
20:13:58 | amiconn | Looks like I used a static buffer |
20:15:01 | t0mas | hm.. the old function returned error codes 1 to 7 |
20:15:07 | t0mas | can I make that -1 to -4 |
20:15:39 | t0mas | and return the used space in buffer when succesfull? |
20:16:13 | amiconn | Makes sense... |
20:16:39 | amiconn | In fact, all rockbox functions I remember return negative values to indicate an error |
20:16:59 | t0mas | ok, are the error's defined somewhere? |
20:17:02 | rasher | sounds reasonable |
20:17:03 | amiconn | It seems this very old function didn't do that |
20:17:03 | t0mas | or can I just invent my own? |
20:17:21 | amiconn | Just count up within your function |
20:17:52 | t0mas | down ;) |
20:17:56 | amiconn | Most function use a simple scheme to additionall tell about errors they got returned themselves |
20:18:29 | amiconn | return error_of_called_function * 10 + own_error_code |
20:18:39 | amiconn | The latter of course being negative |
20:19:48 | t0mas | hm... |
20:20:19 | t0mas | fd = open(filename, O_RDONLY); |
20:20:51 | t0mas | if(fd < 0) { return (fd * 10) - 1; } |
20:21:03 | t0mas | with something to debugf() about what went wrong inside? |
20:22:36 | amiconn | That'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:22 | t0mas | (x/8+3) & ~3 <−− with that I devide x by 8 and always round upwards? |
20:30:31 | amiconn | No |
20:30:41 | t0mas | ? |
20:31:06 | amiconn | This divides x by 8 (rounding downwards), then makes the result a multiple of 4 (rounding upwards) |
20:31:31 | stevenm | preglow, apparently gus files dont need byteswapping. |
20:31:48 | stevenm | casting to short works fine |
20:33:08 | t0mas | amiconn: 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:20 | Bagder | not too surprisingly, the bmp2rb already have padding code |
20:35:39 | t0mas | yes |
20:35:42 | t0mas | for width |
20:35:52 | t0mas | ((bitmap_width+31)&(~0x1f))/8 |
20:35:58 | Bagder | and you need it for height? |
20:36:26 | t0mas | yes... there is a construction with and if in linus's code |
20:36:41 | Bagder | ? |
20:36:46 | t0mas | if(height%8) { |
20:36:46 | t0mas | /* not even 8 bytes, add up to a full 8 pixels boundary */ |
20:36:46 | t0mas | height += 8-(height%8); |
20:36:46 | DBUG | Enqueued KICK t0mas |
20:36:46 | t0mas | allocsize = PaddedWidth*height; /* bytes to alloc */ |
20:36:46 | t0mas | } |
20:36:49 | t0mas | you can use that... |
20:37:29 | Bagder | but that's not what you want? |
20:37:44 | t0mas | if(height%8) { |
20:37:44 | t0mas | PaddedHeight = height + 8 - (height%8); |
20:37:44 | t0mas | } else { |
20:37:44 | *** | Alert Mode level 1 |
20:37:44 | t0mas | PaddedHeight = height; |
20:37:44 | *** | Alert Mode level 2 |
20:37:44 | t0mas | } |
20:37:50 | t0mas | this is what I have... |
20:37:58 | t0mas | but a simple oneliner would be nices? |
20:40:09 | | Quit ac_away (orwell.freenode.net irc.freenode.net) |
20:40:09 | NSplit | orwell.freenode.net irc.freenode.net |
20:40:15 | amiconn | PaddedHeight = (height + 7) & ~7; |
20:40:32 | Bagder | hm, why does it need a padded height? |
20:40:36 | t0mas | tnx |
20:40:36 | NHeal | orwell.freenode.net irc.freenode.net |
20:40:36 | NJoin | ac_away [0] (~austrianc@80.120.117.30) |
20:40:44 | t0mas | Bagder: you know the rockbox image format? |
20:40:51 | Bagder | yes |
20:41:06 | Bagder | the bmp2rb is _my_ code |
20:41:12 | t0mas | ok |
20:41:12 | Bagder | I've already told you |
20:41:17 | t0mas | forgot that |
20:41:31 | Bagder | but right, its needed for that |
20:41:41 | Bagder | I was thinking it was for the bmp somehow |
20:41:52 | t0mas | no, that's padded width... |
20:41:57 | Bagder | yeps |
20:42:06 | Bagder | it's coming back to me now, slowly... |
20:42:47 | t0mas | yeah, I'm adding some extra check the old function didn't have.. |
20:42:52 | t0mas | amiconn came up with it |
20:42:58 | Bagder | seem smart |
20:43:09 | Bagder | the stand-alone tool can be stupid, rockbox should not be |
20:43:17 | t0mas | and returning the used size is nice for plugin's |
20:43:41 | amiconn | t0mas: You don't need to pad the height as long as you're proccessing single lines |
20:43:42 | t0mas | if a plugin load's an image into the pluginbuffer... it can keep on loading images untill it's full :) |
20:43:55 | t0mas | amiconn: I need to know the size of the output... |
20:44:05 | Bagder | the padded height thing is needed for "alloc" |
20:44:17 | t0mas | yeah, only I can't alloc :) |
20:44:40 | Bagder | sure you can, you just have to do it all yourself ;-) |
20:44:44 | amiconn | Yes... but the output height _in bytes_ is 1/8 of PaddedHeight. |
20:45:09 | amiconn | outputHeight = (inputHeight + 7) / 8 |
20:45:12 | amiconn | ; |
20:46:17 | t0mas | arg... I'm not that smart ;) |
20:46:35 | | Quit stevenm (orwell.freenode.net irc.freenode.net) |
20:46:35 | NSplit | orwell.freenode.net irc.freenode.net |
20:47:45 | *** | Alert Mode OFF |
20:48:42 | NHeal | orwell.freenode.net irc.freenode.net |
20:48:42 | NJoin | stevenm [0] (~steve@176-182.mam.umd.edu) |
20:52:12 | | Quit stevenm (orwell.freenode.net irc.freenode.net) |
20:54:09 | NJoin | stevenm [0] (~steve@176-182.mam.umd.edu) |
20:57:08 | | Join Aison` [0] (~hans@zux166-181.adsl.green.ch) |
20:58:28 | | Quit stevenm ("Leaving") |
21:00 |
21:02:57 | | Join stevenm [0] (~steve@176-182.mam.umd.edu) |
21:04:28 | | Quit Aison (Read error: 60 (Operation timed out)) |
21:07:14 | stevenm | finally! nailed. that stupid thing. to the WALL. |
21:07:42 | stevenm | apparently gus envelopes are always with respect to a 44.1K sampling rate.. setting the rate to 22.05K breaks things |
21:17:22 | Bagder | aha! 64 is 64! :-O |
21:17:28 | Ctcp | Ignored 1 channel CTCP requests in 0 seconds at the last flood |
21:17:28 | * | Bagder grins |
21:20:24 | stevenm | hahaha |
21:24:47 | | Quit Strath ("Client closed") |
21:28:05 | | Join Aison [0] (~hans@80.254.166.181) |
21:33:53 | | Nick rasher is now known as rashums (~3e4f4094@labb.contactor.se) |
21:34:45 | * | t0mas is away: TV |
21:35:25 | | Join asdsd_ [0] (~asdsd@h-67-100-26-133.miatflad.dynamic.covad.net) |
21:37:23 | | Join Strath [0] (~mike@dgvlwinas01pool0-a202.wi.tds.net) |
21:37:59 | *** | Saving seen data "./dancer.seen" |
21:38:45 | | Nick QT_ is now known as QT (as@area51.users.madwifi) |
21:40:26 | stevenm | ooo great, I broke looping |
21:49:42 | | Quit stevenm ("Leaving") |
21:51:30 | | Quit Aison` (Connection refused) |
22:00 |
22:18:48 | | Join Aison` [0] (~hans@zux166-181.adsl.green.ch) |
22:23:05 | | Quit Aison` (Client Quit) |
22:25:36 | HCl | o.o |
22:25:55 | | Join webguest69 [0] (~d9ec5672@labb.contactor.se) |
22:26:13 | | Join belgarath [0] (~acc84359@labb.contactor.se) |
22:26:48 | webguest69 | hi all.. just a simple question someone for sure can answer |
22:27:18 | webguest69 | how can I get my flashed archos player to power up on connecting a power supply? |
22:28:02 | webguest69 | it only gets the charging screen, but doesn´t start playing music in car adapter mode |
22:28:13 | webguest69 | i flashed rockbox 2.4 |
22:28:14 | | Quit belgarath (Client Quit) |
22:29:21 | webguest69 | everything else works fine −− just this power up thing |
22:31:13 | | Quit webguest69 ("CGI:IRC") |
22:34:06 | | Join webguest69 [0] (~1031C90DE@pD9EC5672.dip0.t-ipconnect.de) |
22:35:31 | webguest69 | can anyone help with the car mode? I lost connection :-( |
22:36:10 | | Quit Aison (No route to host) |
22:39:37 | webguest69 | no help for me? |
22:41:29 | Shagnar | 64 sectors are 64 sectors... <= can anyone explain that to me? ^^ |
22:43:36 | Bagder | read the diff |
22:44:37 | Shagnar | nice :) (didn't know this feature) |
22:44:52 | Bagder | :-) |
22:45:03 | | Join stevenm [0] (~steve@stevenm-router.student.umd.edu) |
22:45:14 | stevenm | my roommate suggests a Java Micro Edition port to rockbox |
22:45:50 | Shagnar | ^^ |
22:45:51 | Bagder | ask him to mail us his patch |
22:45:56 | stevenm | :) |
22:46:32 | stevenm | i had a better idea. speech synthesis port |
22:46:40 | Shagnar | btw, it's not possible to move a file from one dir to another? |
22:46:48 | Bagder | getting ideas are not that hard |
22:46:59 | Bagder | implementing them is another issue |
22:47:09 | stevenm | :0 |
22:47:22 | Shagnar | or even a whole directory? |
22:49:00 | Shagnar | *wink* |
22:49:47 | stevenm | thinking 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:08 | Bagder | hehe |
22:50:18 | stevenm | pigs will sooner evolve wings |
22:50:27 | * | Bagder goes to bed |
22:50:36 | stevenm | good night badger\ |
22:50:41 | Shagnar | gn8 badger |
22:50:54 | Shagnar | is the player still crashing when using midi2wave ? |
22:51:14 | stevenm | naw, it runs... just slowly |
22:51:22 | stevenm | working on optimizing it now |
22:52:27 | Shagnar | nice, didn't know that.. so, how long takes a midi file 60 seconds long? |
22:52:35 | | Part webguest69 |
22:54:06 | Shagnar | no answer? :-/ |
22:56:25 | preglow | 60*1 |
22:56:27 | | Quit MoosCamaro (Read error: 54 (Connection reset by peer)) |
22:56:28 | preglow | 60*10 <- |
22:56:35 | rashums | I don't think midi2wav ever crashed |
22:56:57 | | Join MoosCamaro [0] (MoosCamaro@m214.net81-66-158.noos.fr) |
22:57:02 | Shagnar | thx preglow |
22:57:08 | CoCoLUS | let me give you an advice |
22:57:18 | CoCoLUS | NEVER try to interop microsoft excel via COM |
22:57:35 | t0mas | even better: Never use microsoft excel |
22:57:38 | rashums | So noted. |
22:57:40 | preglow | agreed |
22:57:50 | CoCoLUS | well sometimes you don't have a choice. |
22:57:51 | Shagnar | i thought it crashed, cause i let my player work for over half an hour and it didn't stop anymore ;-) |
22:58:08 | t0mas | OpenOffice.org Calc :) |
22:58:22 | rashums | wel half an hour is a 3-minute midi |
22:58:24 | CoCoLUS | not in my school project, alas |
22:58:35 | rashums | perhaps even less if it was a complicated one |
22:58:50 | Shagnar | "complicated" means lots of instruments? |
22:59:09 | Shagnar | dunno if its a complicated one, but it's abaout 4 minutes |
22:59:20 | rashums | well there you go |
23:00 |
23:00:17 | Shagnar | yeah... |
23:07:44 | stevenm | Shagnar, complicated = a lot of things playing at the same time |
23:08:18 | stevenm | Shagnar, 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:50 | stevenm | and 'very' is relative |
23:09:01 | Shagnar | thx :) now I did understand :) |
23:09:22 | stevenm | unfortunately I do not have a device, so I cannot move any operations into the emac unit by myself |
23:09:39 | stevenm | but I am doing all I can from C |
23:10:12 | stevenm | if there's anyone here with rockbox on an iriver at UMD who is willing to help, I am all ears |
23:12:01 | preglow | stevenm: mac instructions might noe be able to help you much |
23:12:36 | preglow | wherever 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:03 | stevenm | a += b * c doesn't appear too much here sadly |
23:16:19 | stevenm | so.. there is no magic instruction that will give this a 3x speed boost? noooo! |
23:16:32 | stevenm | preglow, it does a lot of 32 bit addition and multiplication |
23:16:34 | stevenm | and shifting |
23:18:01 | | Quit micoo (Read error: 110 (Connection timed out)) |
23:18:06 | stevenm | preglow, is there some sort of profiler that can tell me where the slowdown is? |
23:18:46 | Shagnar | an iriver at UMD <= sorry for asking all the time, but what's UMD? :-/ |
23:18:55 | stevenm | university of maryland |
23:18:59 | preglow | stevenm: profiling has to be done manually |
23:19:49 | Shagnar | oh, then, i can't help ^^ |
23:19:51 | preglow | stevenm: 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:10 | stevenm | preglow, i compute one at a time |
23:20:31 | stevenm | I compute a voice.. add it to total. compute another.. add it to totak |
23:20:37 | stevenm | etc |
23:21:16 | preglow | yup |
23:21:17 | | Join Aison [0] (~hans@zux166-181.adsl.green.ch) |
23:21:25 | | Quit lostlogic ("Client exiting") |
23:21:38 | stevenm | preglow, whacha suggesting ?\ |
23:21:45 | preglow | nothing, was just wondering |
23:22:13 | preglow | but all the shifting is done because of precision issues, yes? |
23:22:33 | stevenm | preglow, yes |
23:22:40 | stevenm | there are like, 4 shifting commands |
23:22:44 | preglow | you at least don't have to worry about that with emac |
23:23:01 | | Join StrathAFK [0] (~mike@dgvlwinas01pool0-a202.wi.tds.net) |
23:23:09 | stevenm | I 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:09 | preglow | but yea |
23:23:22 | preglow | yes, one shift instead of several is better |
23:23:39 | stevenm | better enough to have long vs int overhead ? |
23:23:45 | preglow | and as i've said, the only place you save on using shorts instead of long, are with muls |
23:23:49 | preglow | and then you don't save very much |
23:23:52 | preglow | two-three cycles |
23:24:21 | stevenm | preglow, no I meant it is an (int) now, i was thinking, (long) instead of int |
23:24:28 | preglow | they're the same |
23:24:34 | stevenm | preglow, eh ?? |
23:24:37 | stevenm | woah |
23:24:37 | | Join micoo [0] (mico@80.178.207.177.adsl.012.net.il) |
23:24:38 | preglow | long == int |
23:24:41 | stevenm | daym |
23:24:48 | preglow | what size did you imagine it was? |
23:24:48 | stevenm | didnt know THAT. I feel stupid now |
23:24:53 | stevenm | preglow, wait a second ... |
23:25:04 | preglow | if you're thinking 64 bit, that's long long |
23:25:08 | stevenm | I in some place it didn't work unless I cast it to a long |
23:25:09 | preglow | don't ever use that |
23:25:13 | stevenm | preglow, ah, ok |
23:25:32 | stevenm | long = int = 32bit right ? |
23:25:57 | | Quit Strath (orwell.freenode.net irc.freenode.net) |
23:25:57 | NSplit | orwell.freenode.net irc.freenode.net |
23:27:29 | stevenm | preglow, see.. envelope code.. that basically involves shifting 22 bits (!) -> thataway |
23:27:33 | | Nick StrathAFK is now known as Strath (~mike@dgvlwinas01pool0-a202.wi.tds.net) |
23:27:42 | | Nick Sucka`away is now known as Sucka (~NNSCRIPT@host81-156-210-120.range81-156.btcentralplus.com) |
23:27:55 | | Join ashridah [0] (ashridah@220-253-120-239.VIC.netspace.net.au) |
23:28:21 | preglow | they're 32 bit, yes |
23:28:30 | preglow | why shifting that way? |
23:28:38 | preglow | to make a mul that doesn't overflow? |
23:29:55 | stevenm | preglow, hmm ? |
23:30:19 | stevenm | preglow, gravis envelopes are just fucking bizzare. Not even TIMIDITY guys have they working 100% right (from the sound of it) |
23:30:31 | stevenm | preglow, I am surprised any of this envelope code works AT ALL. |
23:31:17 | stevenm | preglow, and I am noticing a small bug (I think envelope doing it) where voices die prematurely under 22050 Hz only |
23:31:32 | stevenm | but that's for later.. |
23:31:41 | Shagnar | uh, my player still works on the midi file with midi2wave (started about half an hour ago... the HDD led still blinks) |
23:32:39 | stevenm | Shagnar, the code in CVS has never had any optimization put into it |
23:32:50 | stevenm | Shagnar, HDD blinking means it is going at ti |
23:32:52 | stevenm | going at it |
23:33:21 | stevenm | Shagnar, 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:40 | stevenm | just takes like 10x more work |
23:34:06 | stevenm | Shagnar, if you build on sim, there's an option to have it piped to the soundcard.. you can see how it works |
23:34:31 | stevenm | Shagnar, or can you send that .mid my way? I have a look |
23:35:22 | stevenm | preglow, 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:35 | stevenm | or possibly 3 or 4 times |
23:37:13 | | Join tvelocity [0] (~tony@ipa15.6.tellas.gr) |
23:38:00 | *** | Saving seen data "./dancer.seen" |
23:38:57 | preglow | nah, don't precompute for that |
23:39:07 | preglow | i'd rather look at eliminating the shift for good |
23:39:14 | | Quit MoosCamaro (Read error: 60 (Operation timed out)) |
23:39:40 | preglow | shifts aren't slow, it's just often that they can be avoided |
23:40:00 | preglow | a shift at above 8 bits will require clobbering a register as well as doing the actual shifting |
23:40:00 | stevenm | preglow, looks like that shift occurs in maybe 5 places |
23:40:10 | stevenm | preglow, it is 10 bits |
23:40:48 | stevenm | preglow, 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:01 | micoo | guys, if the gmini400 doesn't have hebrew support, is it possible to add one? |
23:41:07 | micoo | without archos's help.. |
23:41:08 | micoo | ? |
23:41:08 | preglow | ahh, i'd sure as hell put that in a seperate variable |
23:41:16 | preglow | int pos = fracpos >> 10; |
23:41:19 | preglow | or whatever |
23:41:35 | preglow | micoo: the gmini port isn't doing very good at the moment |
23:41:57 | micoo | :\ |
23:42:02 | stevenm | preglow, doing that then |
23:42:21 | stevenm | preglow, 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:41 | micoo | hmm it comes with japanese and some other langs fonts files. isn't it possible to modify these files or something? |
23:43:28 | ashridah | micoo: you mean rockbox does, or the gmini400 does? |
23:43:36 | micoo | gmini400 |
23:43:59 | preglow | isn't hebrew a right to left language? |
23:44:11 | micoo | yea |
23:44:16 | micoo | so i guess it was a stupid q |
23:44:17 | micoo | :\ |
23:44:22 | preglow | does gmini support any other right to left languages? |
23:44:29 | micoo | hmm |
23:44:32 | preglow | if not, then no, it'll be very hard |
23:44:54 | micoo | japanese is up to down too right? |
23:45:01 | ashridah | micoo: 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:05 | preglow | micoo: yes |
23:45:11 | preglow | micoo: but i doubt gmini displays it like that |
23:45:17 | micoo | russian? |
23:45:18 | preglow | micoo: also, japanese doesn't HAVE to be up to down |
23:45:22 | micoo | left to right? |
23:45:28 | preglow | yes |
23:45:32 | micoo | damn |
23:45:33 | micoo | :\ |
23:45:47 | preglow | i'm no russian expert, but i'm pretty sure |
23:46:09 | micoo | well that sucks :\ |
23:46:11 | micoo | bigtime |
23:46:20 | micoo | :| |
23:46:42 | preglow | nothing to be done about it |
23:46:43 | micoo | i should arrange alot of ppl to send archos an email about them adding hebrew support |
23:46:59 | preglow | yes, that might help |
23:47:04 | micoo | might.. :\ |
23:47:19 | micoo | i think that's the only way they'll do it |
23:47:41 | preglow | well, of course, they won't implement something no one has asked for |
23:48:32 | micoo | :\ |
23:48:47 | micoo | i can't wait till someone will manage to hack it |
23:49:26 | micoo | at least they've release a new update that solved the audio delay problem and some other stuff |
23:49:48 | micoo | but the device can do much more than it does now |
23:49:52 | micoo | and it's a shame :\ |
23:49:58 | preglow | of course |
23:50:17 | micoo | :\ |
23:50:45 | stevenm | dinner time |
23:50:46 | stevenm | byebye |
23:50:47 | stevenm | back later |
23:50:51 | micoo | bb :p |
23:50:54 | stevenm | preglow, btw- that shift thing seems to have worked.. |
23:50:59 | | Nick stevenm is now known as stevenm|food (~steve@stevenm-router.student.umd.edu) |
23:52:10 | micoo | preglow: why is it so hard to hack it...i mean you've managed to hack almost all of archos's devices |
23:52:20 | micoo | players* |
23:52:31 | preglow | micoo: we never hacked them like that, we wrote our own software |
23:52:45 | micoo | what do you mean like that? |
23:53:01 | preglow | micoo: and i don't even think rockbox is supported on gmini 400 |
23:53:36 | preglow | micoo: we never hacked the firmware on the players, we wrote our own |
23:53:42 | preglow | micoo: and that takes a lot of time |
23:54:21 | micoo | same thing can be written for the gmini can't it? |
23:54:35 | preglow | we're working on porting to gmini |
23:54:40 | preglow | but i think gmini 400 is different |
23:54:59 | Shagnar | thats 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:15 | micoo | it's the 400 i'm talking about...not the others.. |
23:55:28 | micoo | well it sucks :\ |
23:55:33 | preglow | well, steven's in the us |
23:55:40 | preglow | it's near 12am here as well |
23:55:48 | micoo | 00:56 over here |
23:55:49 | micoo | :p |
23:56:12 | preglow | micoo: well, gmini 400 has completely different hardware than the other gminis, and rockbox currently only runs on the other gminis |
23:56:21 | preglow | and it doesn't run very well there either |
23:56:26 | micoo | :| |
23:56:52 | Shagnar | micoo: where do you come from? |
23:56:58 | micoo | hmm is anybody working on porting to gmini400? |
23:57:01 | micoo | umm |
23:57:01 | micoo | israel |
23:57:02 | micoo | :p |
23:57:23 | Shagnar | cool :) very international here :o) |
23:57:29 | preglow | micoo: no |
23:57:35 | micoo | :\ |
23:57:50 | micoo | do you think somebody will start? |
23:58:32 | micoo | :) |
23:58:37 | preglow | someone is working on a gmini port, but not for the gmini 400 |
23:58:54 | micoo | yea, i understood that |