00:09:35 | | Join matsl [0] (~matsl@1-1-4-2a.mal.sth.bostream.se) |
00:11:11 | amiconn|code | [IDC]Dragon: memset (first version, only byte copying) is only 5 asm instructions! |
00:11:40 | [IDC]Dragon | I wasn't expecting much code |
00:12:04 | [IDC]Dragon | ;) |
00:12:40 | [IDC]Dragon | The art is probaby unrolling, depending on the block size. |
00:15:18 | amiconn|code | Of course, this is a first test only. Just tested compiling, expected to get the problem I got - it is _not_ enough to take out memset.c, put in memset.S and make: Got several "undefined reference to memset" errors. |
00:17:59 | [IDC]Dragon | hmm |
00:18:18 | amiconn|code | What do I have to change in the makefile? |
00:18:28 | | Quit mattzz|away ("Client exiting") |
00:18:32 | [IDC]Dragon | dis you do "make clean" |
00:18:37 | [IDC]Dragon | did |
00:19:10 | amiconn|code | Yes. |
00:19:43 | amiconn|code | This make syntax looks really cryptic to me. |
00:20:17 | [IDC]Dragon | you did the .global thing? |
00:21:23 | [IDC]Dragon | ah, you have the first asssembler file in firmware/common, right? |
00:21:31 | amiconn|code | Yup. Copied the header from descramble.S and changed every occurence of _descramble to read _memset. |
00:21:41 | amiconn|code | Yes, first .S there |
00:22:02 | [IDC]Dragon | probably the makefile doesn't do *.S in common |
00:22:20 | [IDC]Dragon | try to move it one up |
00:27:19 | amiconn|code | moved, did make clean, make -> "undefined reference to memset" |
00:27:31 | [IDC]Dragon | grr |
00:27:55 | [IDC]Dragon | was it assembled? |
00:28:06 | amiconn|code | Tried adding "$(OBJDIR)/memset.o" to line 33 of the makefile, it did work now. Have to test the binary. |
00:31:09 | [IDC]Dragon | ah, suspiciously the other assembler files are listed there, too |
00:31:09 | amiconn|code | It hangs at boot :( |
00:31:55 | [IDC]Dragon | sorry |
00:32:10 | [IDC]Dragon | I need to sleep |
00:32:53 | [IDC]Dragon | 'night |
00:33:15 | *** | Saving seen data "./dancer.seen" |
00:33:17 | | Quit [IDC]Dragon () |
01:00 |
01:04:19 | | Join wake [0] (~wake@HSE-Kitchener-ppp320804.sympatico.ca) |
01:16:53 | | Join AciD` [0] (~acid@longchamp44-1-82-67-133-87.fbx.proxad.net) |
01:21:30 | | Quit AciD` (Client Quit) |
01:23:09 | | Join track [0] (~74d57721@ACBEEAD6.ipt.aol.com) |
01:23:12 | | Quit track (Client Quit) |
01:30:18 | | Join Sproink [0] (Sproink@bgp482108bgs.summit01.nj.comcast.net) |
01:30:31 | Sproink | So, how's the new video player work? |
01:30:42 | Sproink | I saw the Doom demo.. |
01:30:46 | Sproink | is it on par? |
01:30:49 | Sproink | is there sound? |
01:37:34 | | Quit Sproink () |
01:43:35 | | Part amiconn|code |
02:00 |
02:03:51 | | Join Guest [0] (~jirc@69.4.151.170) |
02:04:05 | | Quit Guest (Client Quit) |
02:04:21 | | Join Guest [0] (~jirc@69.4.151.170) |
02:05:01 | Guest | Can you shuffle all the songs on the jukebox? |
02:06:56 | | Quit Guest (Client Quit) |
02:16:34 | | Quit mecraw__ ("Trillian (http://www.ceruleanstudios.com)") |
02:19:00 | | Quit c0utta{zZ} (Read error: 110 (Connection timed out)) |
02:33:20 | *** | Saving seen data "./dancer.seen" |
02:40:40 | | Join diddystar5 [0] (lee@IC86.library.oregonstate.edu) |
02:40:41 | | Quit Nibbler (Read error: 54 (Connection reset by peer)) |
02:58:54 | diddystar5 | brb |
02:58:56 | | Quit diddystar5 ("Leaving") |
03:00 |
03:07:02 | | Join Guest [0] (~jirc@131.107.3.85) |
03:07:10 | Guest | hello |
03:08:02 | Guest | can somebody answer a question about recording function of rockbox? |
03:09:03 | | Quit wake ("leaving") |
03:09:21 | | Quit matsl (Read error: 113 (No route to host)) |
03:10:53 | | Join matsl [0] (~matsl@1-1-4-2a.mal.sth.bostream.se) |
03:12:03 | | Quit matsl (Remote closed the connection) |
03:16:21 | | Join diddystar5 [0] (lee@IC98.library.orst.edu) |
03:17:07 | | Quit scott666_ (Read error: 110 (Connection timed out)) |
03:17:20 | | Join scott666_ [0] (scott666@c-24-245-58-245.mn.client2.attbi.com) |
03:17:31 | Guest | hello. can somebody answer a question about recording functionality of rockbox? |
03:21:35 | | Join Lunchbox [0] (~asdf@12-222-211-60.client.insightBB.com) |
03:21:48 | diddystar5 | Guest:sure |
03:22:23 | Lunchbox | hey, has anyone ever tried to change the batteries in a V2 Recorder? |
03:22:58 | diddystar5 | Lunchbox: sure see newmp3technology.com , they have batteries for sale, and i think a guide |
03:23:22 | Guest | hey thanks! so the question: can i record from line in AND use the device as a external USB drive at the same time? |
03:23:23 | Lunchbox | k looking |
03:24:28 | Lunchbox | aww, no guide |
03:24:36 | diddystar5 | Guest: no, rockbox can't (and wouldn't want to because of some nasty errors there could be) |
03:24:58 | Lunchbox | I found a guide in the docs, but I still can't get the top off |
03:24:59 | diddystar5 | Lunchbox: from what i heard it's somewhat easy |
03:25:06 | diddystar5 | what top? |
03:25:17 | Lunchbox | the cover above the lithium battery |
03:25:31 | Lunchbox | my model seems to be different |
03:26:03 | diddystar5 | http://www.angelfire.com/trek/archos/ |
03:26:03 | Guest | but at least i can record from line in (without using it as a usb drive), is that correct? |
03:26:10 | diddystar5 | is that the site you were looking at? |
03:26:18 | Lunchbox | yeah |
03:26:31 | Lunchbox | mine has two screws for no reason unlike the ones that everyone has pics of |
03:26:51 | Lunchbox | it also has a different construction on the battery connection |
03:27:03 | diddystar5 | Guest: no because recording requires HD acess to the hd, and it cant be on usb and have rockbox writing to it at the same time |
03:27:13 | diddystar5 | Guest: what do you want to do exactly? |
03:28:03 | diddystar5 | Lunchbox: cant really help you, i have never used a v2 |
03:28:07 | diddystar5 | (or FM) |
03:28:33 | Lunchbox | that's cool, thanks anyway :-) |
03:28:40 | | Join Strath [0] (~firewalle@dgvlwinas01pool0-a251.wi.tds.net) |
03:29:08 | Guest | i need to record long sets of live music, a few hours each. i'm a DJ and want to record my own sets. |
03:29:39 | diddystar5 | ok, then why do you want it on usb at the same time? |
03:30:37 | diddystar5 | brb |
03:30:46 | | Quit diddystar5 ("Leaving") |
03:30:48 | Guest | oh this way i could also use the device as an external hard drive for the laptop. i mix mp3 using laptop. |
03:32:42 | | Join diddystar5 [0] (~lee@IC23.library.orst.edu) |
03:32:43 | diddystar5 | back |
03:34:05 | Guest | so diddistar, i was saying that i mix mp3s using laptop and i could use the device as the external mp3 storage at the same time. |
03:35:10 | diddystar5 | humm i don't know what you would do, can't you get a mic and just record on your laptop? |
03:35:29 | diddystar5 | then you could use you archos as storage :) |
03:35:56 | | Quit Lunchbox () |
03:36:15 | diddystar5 | i wish you could recorde + usb at the same time, but it just couldn't work |
03:36:20 | Guest | but i guess i should just get a bigger drive for the laptop. i tried to record with the laptop but it's not powerfull enough to run the mixing software and record at the same time |
03:36:41 | diddystar5 | ouch |
03:37:11 | diddystar5 | you dont have enough of a HD in your laptop to save the mp3's? |
03:37:23 | Guest | and can i upgrade the hard drive in the archos? what's the biggest drive size that rockbox can support? |
03:37:56 | diddystar5 | it should be able to support as many as you could ever get |
03:38:16 | diddystar5 | the biggest drives that will fit in the archos is 80 gig atm |
03:38:42 | diddystar5 | (and same with laptops, laptop HD's are the same ones as the archos uses) |
03:39:04 | Guest | well i have about 7 gig for mp3 on the laptop, but i'd like to carry at least 3 times more. |
03:39:25 | Guest | how easy is it to upgrade the drive in the archos? |
03:39:33 | diddystar5 | its fairly easy |
03:39:38 | diddystar5 | what unit do you have? |
03:40:09 | Guest | i'm planning to buy jukebox recorder |
03:40:35 | Guest | so would you say it takes about half hour to replace drive in archos? |
03:40:45 | diddystar5 | less than that |
03:41:10 | diddystar5 | but i would stay away from the recorder FM, and the recorder v2 if you want to upgrade the HD |
03:41:21 | diddystar5 | you have to do unsoldering on those |
03:41:43 | diddystar5 | try to stick with the plain recorder's |
03:42:01 | Guest | hmm, the one that amazon sells currently −− which version is it, do you know? |
03:42:32 | diddystar5 | where is the link? |
03:43:22 | Guest | http://www.amazon.com/exec/obidos/tg/detail/-/B0000T1R4O/qid=1079059390/sr=8-1/ref=pd_ka_1/104-7564652-8857542?v=glance&s=electronics&n=507846 |
03:44:11 | diddystar5 | thats a v2 |
03:44:36 | diddystar5 | one sec... |
03:46:48 | diddystar5 | http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=3083786686&category=48682 |
03:47:05 | diddystar5 | here is a plain recorder on ebay for $102 currently |
03:47:45 | diddystar5 | the pic shows a player unit, but the description says recorder... |
03:48:46 | Guest | interesting. thanks. and besides the unsoldering issue the v1 and v2 recorders are the same? in terms of hardware i mean: audio quality, reliability? |
03:49:35 | diddystar5 | the hardware was moved around a bit in the FM and v2, but all the same chips ETC, and they have the same audio quality |
03:50:05 | diddystar5 | btw: the "stuidio" or "player" versions cant recorde, and they suck so stay away from those |
03:50:57 | diddystar5 | the tell a v2 from a original, the v2 has a new smooth look to it, and the plain ones are a box look |
03:51:25 | diddystar5 | http://rockbox.haxx.se/devcon/show.cgi?img4083.jpg |
03:51:45 | Guest | you have a lot of experience with the device. would you say it's reliable? i read some bad comments on the net... |
03:51:51 | diddystar5 | this shows what the originals look like A recorder on the lef tand a player on the right) |
03:51:57 | diddystar5 | yes i have one |
03:52:24 | Guest | a picture is a thousand words :) thanks |
03:52:27 | diddystar5 | humm some people have had bad luck (mostly with the player units) |
03:52:40 | diddystar5 | but i never had any problems with my recorder |
03:52:51 | diddystar5 | (i had a player beofre, it broke) |
03:54:29 | Guest | do you know if it comes with a power supply? |
03:54:38 | diddystar5 | yes, it does |
03:55:08 | diddystar5 | btw, if you want high quality recordings, you will want a direct line in, or externel mic |
03:55:29 | diddystar5 | the built in one picks up hd noises, and they are annoying |
03:56:37 | Guest | yes i'm going to record from a mixer output which gives a line-level signal. |
03:57:17 | diddystar5 | neat, do you get digital (spdif i think) out of the mixer? |
03:58:34 | Guest | no i dont have digital out on this mixer. but i'm will be upgrading it so i might get one with digital out. |
03:58:44 | | Quit Strath ("Application closed") |
03:59:17 | diddystar5 | thats good, the archos recorder has a digital input, so dont have to worry about quality or anything |
03:59:29 | Guest | the think is that all the amplifiers take analog signal anyway, so digital out was a moot point up till now. |
03:59:46 | diddystar5 | if you do get a recorder, definitly put rockbox on it :) |
04:00 |
04:00:01 | diddystar5 | and always recorde at the highest quality you can |
04:00:06 | Guest | i'm planning to :) |
04:00:30 | Guest | that's it, i think i'll go buy it right now :) |
04:01:04 | diddystar5 | cool |
04:01:07 | diddystar5 | good luck! |
04:01:30 | Guest | thanks a lot for all the useful info! |
04:01:43 | diddystar5 | `wecome |
04:01:48 | diddystar5 | welcome |
04:09:01 | | Quit Guest ("Leaving") |
04:14:49 | | Join pfavr [0] (~chatzilla@c83958a.s-oe.bostream.se) |
04:16:31 | pfavr | hi diddystar |
04:16:37 | pfavr | hi diddystar5 |
04:17:04 | diddystar5 | hey pfavr |
04:19:07 | | Join Nibbler [0] (~nibbler@port-212-202-73-124.reverse.qsc.de) |
04:21:42 | | Quit pfavr ("ChatZilla 0.9.52B [Mozilla rv:1.6/1]") |
04:33:21 | *** | Saving seen data "./dancer.seen" |
04:44:50 | diddystar5 | see you |
04:44:52 | | Part diddystar5 ("Leaving") |
04:59:01 | | Join Godzuki [0] (~andrewaki@12-222-211-224.client.insightBB.com) |
04:59:19 | Godzuki | is there a 2.2 flash out for v2, or do I need to make my own? |
05:00 |
05:03:45 | | Join Threshold [0] (jenna@bgp01093569bgs.waren401.mi.comcast.net) |
05:04:11 | Threshold | anyone around ? |
05:07:26 | Threshold | I've got a V2 recorder....since I got it last friday these are the symptoms this thing has, after this thing sits for like 3 hours and I try to power it up, the lcd does a quick flash, the drive light comes on and then another lcd flash, then it goes off, after 20-30 minutes of trying to turn on, eventually it boots up, then the thing works great, battery lasts over 10 hours...but then after I charge it and don't use it over night I |
05:14:08 | scott666_ | im here |
05:14:15 | | Nick scott666_ is now known as scott666 (scott666@c-24-245-58-245.mn.client2.attbi.com) |
05:15:08 | scott666 | was it charged when you were trying to boot? |
05:15:35 | Threshold | yes |
05:15:48 | scott666 | not flashed? |
05:15:51 | Threshold | no |
05:16:12 | scott666 | how long do you hold 'on' when youre turning it on? |
05:16:46 | Threshold | it does the same thing if I plug it in or into the usb port |
05:16:56 | Threshold | it just keeps doing the same thing over and over |
05:17:20 | scott666 | with the archos bootloader i remember having to hold 'on' for a few seconds before it would turn on completely |
05:17:28 | Threshold | tried that |
05:17:34 | scott666 | no luck? |
05:17:38 | Threshold | no |
05:17:43 | MT | Threshold: was i talking to you about this about a week ago? |
05:17:51 | scott666 | and it doesnt go to the charging screen when you plug it in? |
05:17:51 | Threshold | after about 30 mins of doing that it will kick on |
05:18:02 | MT | if so, I still think your unit is faulty and you should return it |
05:18:16 | scott666 | thats what it sounds like to me |
05:18:19 | MT | that is _not_ normal behaviour (even for a V2!) |
05:18:34 | scott666 | other thing you could try is flashing it and seeing if the new bootloader works better |
05:18:41 | Threshold | tech support finally emailed me today after emailing them 4 days ago |
05:19:06 | MT | hah |
05:19:12 | MT | you need a phone number |
05:19:14 | scott666 | but if it wont load the charging screen theres gotta be somethin seriously wrong |
05:19:23 | Threshold | they left me a # |
05:19:26 | MT | and about 8 free hours |
05:19:51 | MT | and just keep talking to them till they give you an RMA number and tell you what time the courier will be collecting it from you |
05:20:14 | Threshold | after I keep pressing on and it finally boots, when I plug it in it finally goes to the charging screen |
05:21:02 | scott666 | and holding on doesnt help? |
05:21:15 | Threshold | nope |
05:21:36 | Threshold | the lcd screen flashes then goes back off, and keeps repeating |
05:21:41 | scott666 | cause thats the easy solution |
05:21:51 | scott666 | but obviously not the case |
05:22:18 | scott666 | either try flashing it or return it |
05:22:37 | scott666 | id go for the latter |
05:23:06 | Threshold | how do I flash it ? |
05:23:20 | Threshold | it has the 1.40 os |
05:23:41 | Threshold | I have it on and connected to the computer now |
05:24:30 | scott666 | http://rockbox.haxx.se/docs/flash.html |
05:32:44 | Threshold | firmware_rec.bin or firmware_fm.bin or firmware_v2.bin (name depends on your model) into the root directory (the complete firmware for your model, with the bootloader and the two images). There now is also a _norom variant, copy both, the plugin will decide which one is required for your box. |
05:32:52 | Threshold | I don't see the bin files in the zip |
05:33:08 | Godzuki | I have a v2, and it seems to have a different architecture than the v2 in the guide |
05:33:15 | Godzuki | and I can't get the battery cover off it. |
05:33:22 | Godzuki | ALSO, don't flash with the firmware_v2.bin |
05:33:27 | Godzuki | it's not the newest version. |
05:33:33 | scott666 | you have to |
05:33:35 | Godzuki | actually, nm |
05:33:36 | Godzuki | yeah |
05:33:36 | scott666 | the first time |
05:33:37 | Godzuki | sorry |
05:33:46 | scott666 | you can update with a ucl later |
05:33:52 | Godzuki | you'll have to flash two different ways to get 2.2 |
05:34:09 | scott666 | why cant you get the battery cover off your v2? |
05:34:33 | Godzuki | dunno |
05:34:37 | Godzuki | it WILL not come out |
05:34:41 | Godzuki | even when forced a little bit |
05:34:42 | scott666 | are there screws? |
05:34:48 | Godzuki | yeah, two |
05:34:50 | Godzuki | but I took those out |
05:34:52 | scott666 | ok |
05:34:56 | Godzuki | :) |
05:35:03 | Godzuki | I tried prying it with a small flathead |
05:35:14 | scott666 | in the little opening for it? |
05:35:17 | Godzuki | and all I managed to do was scar up the foil on the li battery |
05:35:20 | scott666 | it should just pop out |
05:35:25 | Godzuki | yeah, it pops out |
05:35:28 | Godzuki | but it doesn't COME off |
05:35:37 | scott666 | oh |
05:35:40 | scott666 | lol |
05:35:41 | Godzuki | the metal connectors stuck down in the case |
05:35:43 | Godzuki | will not come out. |
05:35:48 | Godzuki | it pops out of the socket |
05:35:58 | Godzuki | but it won't let me remove it |
05:36:01 | Godzuki | like it's glued in. |
05:36:36 | Godzuki | I bought it off amazon |
05:36:45 | Godzuki | cause I'm a cheapskate |
05:36:53 | Godzuki | I new something was up when the box said it had nimh |
05:37:02 | Godzuki | but it's definitely a v2, and definitely li ion |
05:37:15 | Godzuki | so, I dunno what they've done |
05:37:19 | Godzuki | or if it's some bargain model |
05:37:31 | Godzuki | but, I do know that I cannot remove the battery cover. |
05:39:25 | scott666 | you pulled the cover up, towards the face of the archos, right? |
05:39:38 | Godzuki | yeah |
05:39:43 | Godzuki | then I tried pulling out |
05:39:45 | Godzuki | neither worked. |
05:39:49 | Godzuki | it won't move |
05:40:05 | scott666 | strange |
05:40:09 | scott666 | *strange |
05:41:17 | Godzuki | :( that's not the kind of answer I wanted to hear. |
05:41:44 | Godzuki | is there any reason for me to change my lithium battery anyway? |
05:55:16 | scott666 | no |
05:55:25 | scott666 | and archos doesnt sell the batteries seperate |
05:55:57 | scott666 | if you ever want to do mods though you might be out of luck |
06:00 |
06:15:45 | | Join midknight2k3 [0] (ZakkRobert@c-24-18-39-169.client.comcast.net) |
06:18:23 | scott666 | zakk |
06:18:33 | midknight2k3 | SCOTT |
06:19:05 | scott666 | got your copy of 2.2? |
06:19:25 | midknight2k3 | no |
06:19:27 | midknight2k3 | no more jab |
06:19:29 | midknight2k3 | ajb* |
06:19:33 | midknight2k3 | av320 |
06:19:56 | scott666 | oh, right |
06:20:05 | scott666 | avos then? |
06:20:06 | midknight2k3 | but AJB back in ... two days |
06:20:08 | midknight2k3 | yeah |
06:33:24 | *** | Saving seen data "./dancer.seen" |
06:35:24 | midknight2k3 | ttyl |
06:35:24 | | Quit Nibbler (Read error: 104 (Connection reset by peer)) |
06:35:30 | | Quit midknight2k3 ("Going... BYE!") |
06:51:03 | | Join ssteinbr [0] (~jirc@pcp08395144pcs.cnclrk01.pa.comcast.net) |
06:51:18 | | Quit ssteinbr (Client Quit) |
06:56:17 | | Quit scott666 ("i'll be back...eventually...") |
07:00 |
07:48:28 | | Join LinusN [200] (~linus@labb.contactor.se) |
08:00 |
08:20:14 | | Join Nibbler [0] (~nibbler@port-212-202-73-124.reverse.qsc.de) |
08:24:22 | | Join [IDC]Dragon [0] (~idc-drago@pD9E34FD6.dip.t-dialin.net) |
08:24:47 | [IDC]Dragon | Hi LinusN, up so early? |
08:25:32 | [IDC]Dragon | You should use your powers to modify the subject. |
08:28:34 | LinusN | ah, of course |
08:28:47 | Mode | "#rockbox +o LinusN " by ChanServ (ChanServ@services.) |
08:29:10 | [IDC]Dragon | "feature craze after 2.2" |
08:29:34 | [IDC]Dragon | ;) |
08:29:41 | Topic | "Rockbox 2.2 is released!!! (and there was much rejoicing)" by LinusN (~linus@labb.contactor.se) |
08:30:01 | LinusN | better? |
08:30:35 | LinusN | pity zagor didn't dare to include the ata fix :-( |
08:30:42 | [IDC]Dragon | childish, but OK. |
08:30:52 | [IDC]Dragon | the subject, I mean. |
08:30:57 | LinusN | hehe |
08:31:19 | LinusN | we have an old tradition of Holy Grail quotations |
08:31:42 | [IDC]Dragon | I understand it very well. With so little practice test I don't want to be responsible. |
08:32:14 | [IDC]Dragon | Didn't know that 2.2 was practically shrink-wrapped. |
08:32:19 | LinusN | i think he rushed it |
08:32:28 | LinusN | the docs are not finished |
08:32:40 | [IDC]Dragon | becomes a habit |
08:33:04 | LinusN | :-) |
08:33:19 | [IDC]Dragon | when are we releasing 2.3? |
08:33:28 | *** | Saving seen data "./dancer.seen" |
08:34:34 | LinusN | tomorrow :-) |
08:34:42 | LinusN | we have no schedules |
08:34:44 | [IDC]Dragon | Excellent. |
08:34:50 | LinusN | we never had |
08:35:02 | [IDC]Dragon | I wasn't serious |
08:35:04 | LinusN | working on c0ttas patch now |
08:35:12 | [IDC]Dragon | the menu? |
08:35:30 | LinusN | yes, i really want the context menus |
08:35:50 | [IDC]Dragon | does that include a configurable menu? |
08:36:08 | LinusN | not yet |
08:36:12 | LinusN | soon |
08:36:44 | [IDC]Dragon | how shall I proceed about my voice menus? |
08:36:51 | LinusN | not sure |
08:37:04 | [IDC]Dragon | I don't want to cause collisions with other changing code |
08:37:09 | LinusN | what's the decision on how to generate the voices? |
08:37:50 | [IDC]Dragon | you're free in generating a "voicefont" |
08:38:06 | [IDC]Dragon | I used TTS to get an initial one |
08:38:55 | LinusN | would be nice to find a good tts we could use on a regular basis, scripted |
08:39:19 | [IDC]Dragon | I made a little program that takes all the clips, merges them into one big file, with index and bitswapped |
08:39:32 | [IDC]Dragon | this I call a voicefont |
08:39:50 | [IDC]Dragon | which has to fit in the mp3 buffer |
08:41:21 | LinusN | sounds ok |
08:41:33 | LinusN | were you able to script the tts? |
08:41:41 | [IDC]Dragon | yes |
08:42:06 | [IDC]Dragon | but it's a windows program in a demo version |
08:43:24 | [IDC]Dragon | 30 days limited or such |
08:45:19 | [IDC]Dragon | Matthias foud this one for Linux: http://festvox.org/voicedemos.html |
08:46:48 | [IDC]Dragon | The voice is pretty good, but sounds very "bored", without melody. |
08:50:18 | [IDC]Dragon | I'd like to add a field to the .lang files, for the spoken entry. |
08:51:13 | [IDC]Dragon | It's desirable to have this seperate from the displayed text. |
08:51:55 | [IDC]Dragon | We want no abbreviations, prinf formatting, etc. |
08:53:10 | LinusN | agreed |
08:53:59 | [IDC]Dragon | so I'll add a line like: |
08:54:13 | [IDC]Dragon | spoken: "Bla bla." |
08:54:23 | [IDC]Dragon | for each entry. |
08:55:42 | [IDC]Dragon | Well, for each that is reachable by the voice UI. |
08:58:51 | LinusN | sounds nice |
09:00 |
09:10:18 | [IDC]Dragon | BTW, I took the liberty to implement the delayed file open for recording, in preparation for talkbox recordings. |
09:12:24 | LinusN | saw that |
09:12:40 | LinusN | did you test the split function after the change? |
09:12:54 | LinusN | and the prerecording? |
09:13:20 | | Join AciD [0] (~acid@longchamp44-1-82-67-133-87.fbx.proxad.net) |
09:17:01 | | Quit AciD (Read error: 104 (Connection reset by peer)) |
09:24:35 | [IDC]Dragon | (sorry for afk) |
09:24:50 | [IDC]Dragon | LinusN: Yes I tested split |
09:25:12 | [IDC]Dragon | It had a catch, that's why the additional filename copy is there |
09:25:46 | [IDC]Dragon | prerecording should not be affected, have not tested, will do now |
09:26:45 | LinusN | good |
09:26:52 | LinusN | i like your change |
09:27:09 | LinusN | does wonders for short mic recordings |
09:27:56 | [IDC]Dragon | yes, the mic is not bad, without the disk |
09:29:37 | [IDC]Dragon | ahem, for prerecording there is a spinup |
09:30:22 | [IDC]Dragon | I have to check the feature how we can avoid that, sorry |
09:31:01 | [IDC]Dragon | "[IDC]Dragon> prerecording should not be affected" |
09:31:23 | [IDC]Dragon | and it wasn't... not for good |
09:37:34 | LinusN | the metronome plugin is cooool |
09:37:48 | LinusN | thanks to your hard work on the mp3 playback |
09:38:47 | [IDC]Dragon | Matthias did the metronome |
09:39:06 | LinusN | i know |
09:39:18 | LinusN | but you revamped the mp3 playback |
09:39:33 | LinusN | i mean play-from-ram etc |
09:39:48 | [IDC]Dragon | yes, you're welcome. |
09:40:02 | [IDC]Dragon | Thanks for _your_ hard work! |
09:40:05 | LinusN | :-) |
09:40:22 | [IDC]Dragon | I'm scum |
09:42:00 | [IDC]Dragon | I tested the metronome this morning, too. |
09:42:53 | [IDC]Dragon | Matthias should do a little work on the button behaviour and the responsiveness before we commit it. |
09:43:06 | LinusN | it's intentional |
09:43:27 | LinusN | he deliberately mutes the tick after a keypress |
09:44:00 | LinusN | i have committed it |
09:44:17 | LinusN | the button behaviour is his responsibility |
09:44:40 | [IDC]Dragon | hehe |
09:45:16 | LinusN | i wonder why he mutes it though |
09:45:28 | LinusN | i think it's very annoying |
09:45:39 | [IDC]Dragon | instead of sleep, he should wait for button |
09:46:03 | LinusN | you have a too old version |
09:46:03 | [IDC]Dragon | set it to low bpm, and it becomes difficult to use |
09:46:30 | [IDC]Dragon | do I? took it from the patch area. |
09:46:30 | LinusN | his new version uses button_get_w_tmo() |
09:46:39 | LinusN | he has filed two patches |
09:46:46 | [IDC]Dragon | will update from cvs then |
09:46:50 | LinusN | he had trouble updating the old patch |
09:47:22 | LinusN | still, it has issues with the time calculation |
09:47:34 | LinusN | but i wanted to commit it anyway |
09:50:13 | LinusN | well, gotta reboot, cu in a few |
09:50:16 | | Part LinusN |
09:50:18 | | Join c0utta [0] (HydraIRC@dialup-137.54.221.203.acc05-waym-adl.comindico.com.au) |
09:58:04 | | Join LinusN [200] (~linus@labb.contactor.se) |
09:59:12 | [IDC]Dragon | OK , I got the update. Nice, this is a player-capable plugin. |
09:59:31 | [IDC]Dragon | The poor Player doesn't have too many. |
10:00 |
10:01:02 | LinusN | i did the player mods |
10:01:25 | [IDC]Dragon | which mods? |
10:01:32 | LinusN | made it work on the player |
10:01:43 | [IDC]Dragon | Ah, I see. |
10:01:43 | LinusN | his code was rec only |
10:07:20 | | Nick LinusN is now known as Linus|lab (~linus@labb.contactor.se) |
10:15:36 | | Nick Linus|lab is now known as LinusN (~linus@labb.contactor.se) |
10:16:48 | [IDC]Dragon | I still don't understand why there's a spinup when transitioning from prerecording to recording |
10:17:12 | LinusN | because the buffer is nearly full and needs to be saved |
10:17:15 | LinusN | or? |
10:17:19 | [IDC]Dragon | I can only guess MPEG_SAVE_DATA is somehow issued |
10:17:33 | [IDC]Dragon | but not after 10 sec |
10:20:32 | [IDC]Dragon | is prerecording maybe doing mpeg_new_file()? |
10:21:34 | LinusN | no |
10:26:56 | LinusN | really strange, i can't see it in the code |
10:27:12 | [IDC]Dragon | me neither |
10:28:41 | LinusN | could be a bug in the code that finds the starting position |
10:28:55 | LinusN | is the prerec time set to 10s or did you preaa play after 10s? |
10:29:05 | LinusN | s/preaa/press/ |
10:29:09 | [IDC]Dragon | then tha saved file must be big |
10:29:22 | [IDC]Dragon | s/tha/the/ |
10:29:39 | [IDC]Dragon | I have set the prerec to 10sec |
10:29:52 | [IDC]Dragon | pressed play after maybe 20 sec |
10:29:56 | LinusN | ok then there shouldn't be a problem |
10:30:17 | [IDC]Dragon | for sure my buffer wasn't full, I have 8MB, hard to wait for |
10:30:32 | LinusN | hehe |
10:31:51 | c0utta | guys, my make process has worked well for 6 months |
10:32:00 | c0utta | now i'm getting an error |
10:32:07 | [IDC]Dragon | you're pregnant? |
10:32:36 | c0utta | definitely not (i've been desexed) |
10:32:47 | [IDC]Dragon | (I take back that bad joke) |
10:32:57 | c0utta | make[1]: *** No rule to make target `/home/rockbox/rockbox/recorder/crt0.o', nee |
10:32:58 | c0utta | ded by `/home/rockbox/rockbox/recorder/librockbox.a'. Stop. |
10:33:28 | c0utta | how do i do a clean make - delete the .o files ? |
10:33:32 | *** | Saving seen data "./dancer.seen" |
10:33:34 | c0utta | what are the .a files ? |
10:33:51 | [IDC]Dragon | "make clean" |
10:34:03 | [IDC]Dragon | .a are libraries |
10:34:22 | c0utta | should i do a make clean after every sync with cvs ? |
10:34:29 | LinusN | can't hurt |
10:35:50 | c0utta | what would i do without you |
10:36:02 | LinusN | well, i hope :-) |
10:36:19 | LinusN | c0utta: i'm about to commit your first patch |
10:36:32 | c0utta | let the complaints begin... |
10:36:46 | LinusN | well, nothing has changed for the user... |
10:37:08 | LinusN | i'm curious about the typedef in action.h |
10:37:22 | c0utta | the callback works well too linus - i've already implemented it |
10:37:31 | c0utta | a lot better than my keyhandler idea |
10:37:33 | LinusN | and i'm about to use it for the radio presets |
10:37:40 | c0utta | the typedef BoolFnPtr ? |
10:37:43 | LinusN | yes |
10:38:19 | LinusN | what is it for, and why a typedef? |
10:38:38 | c0utta | btw - still a problem with |
10:38:38 | c0utta | make[1]: *** No rule to make target `/home/rockbox/rockbox/recorder/crt0.o', nee |
10:38:39 | c0utta | ded by `/home/rockbox/rockbox/recorder/librockbox.a'. Stop. |
10:39:13 | LinusN | did you remove firmware/crt0.S? |
10:39:16 | c0utta | the sim compile works fine (linus, i will answer your question about BoolFnPtr) |
10:39:31 | c0utta | what's a .s ? |
10:39:40 | LinusN | a .S is an assembler file |
10:39:59 | LinusN | .s == no preprocessing, .S == with preprocessing |
10:40:18 | c0utta | i'm a novice when it comes to any unix flavour |
10:40:30 | LinusN | has nothing to do with unix |
10:40:32 | c0utta | s or S -> what about case insensitivity |
10:40:34 | c0utta | ? |
10:41:02 | LinusN | linux/cygwin is not case insensitive |
10:41:15 | LinusN | should not be anyway |
10:41:26 | LinusN | maybe cygwin is, i don't know |
10:41:36 | c0utta | so is deleting all .S files is OK ? the .s get preprocessed into .S ? |
10:41:42 | LinusN | no no |
10:41:56 | [IDC]Dragon | cygwin is case-sensitive, too |
10:42:03 | LinusN | firmware/crt0.S should be there |
10:42:32 | c0utta | it's not - only crt0.s |
10:43:01 | LinusN | then you have accidentally renamed it |
10:43:23 | LinusN | are you using cygwin? |
10:43:43 | c0utta | linus, you are a legend |
10:44:11 | LinusN | check out descramble.S and bitswap.S while you're at it |
10:44:39 | c0utta | i am using cygwin - and those .S files are fine |
10:44:56 | c0utta | i set up cygwin with a great deal of help from bluechip |
10:45:11 | c0utta | i'm learning the environment all the time |
10:45:39 | c0utta | ok. BoolFnPtr.... |
10:46:00 | c0utta | it is used in my action "table" |
10:46:24 | c0utta | struct action_list |
10:46:24 | c0utta | { |
10:46:24 | c0utta | int action; |
10:46:24 | DBUG | Enqueued KICK c0utta |
10:46:24 | c0utta | BoolFnPtr function; |
10:46:34 | c0utta | } actions[] = { |
10:46:34 | c0utta | { ACTION_ACTION_BOOKMARK_CREATE, bookmark_create_menu ,LANG_BOOKMARK_MENU_CREATE }, |
10:47:10 | c0utta | i probably could have used a void function |
10:48:29 | LinusN | i'm only concerned about why you need a typedef in the first place |
10:48:56 | c0utta | hey, i convinced the code police! |
10:49:12 | Ctcp | Ignored 1 channel CTCP requests in 0 seconds at the last flood |
10:49:12 | * | LinusN is starting toi remember |
10:49:36 | c0utta | when i look at my code i probably don't need it |
10:49:53 | LinusN | i'd be happy if you removed it |
10:50:13 | LinusN | we are not too fond of typedefs |
10:50:16 | c0utta | i was using it as a return value in menu_run when the function is run |
10:50:34 | c0utta | but i don't do anything with the value, so you can get rid of it |
10:50:45 | c0utta | i may need it back though |
10:51:19 | LinusN | if it makes the code simpler or better, i'm all for it |
10:51:28 | c0utta | at this stage, leave it out |
10:51:32 | LinusN | ok |
10:51:36 | c0utta | please don't make me submit the patch again! |
10:52:12 | LinusN | i won't |
10:52:16 | c0utta | will you delete it ? |
10:52:33 | LinusN | i will close the patch when i have committed it |
10:53:15 | c0utta | hang on - i know why. don't delete it yet! |
10:53:34 | LinusN | delete what??? |
10:53:35 | c0utta | many of the functions in settings_menu are called |
10:53:50 | c0utta | delete the BoolFnPtr typedef |
10:53:54 | c0utta | from the patch |
10:54:25 | c0utta | most of the setting functions return a bool |
10:55:23 | LinusN | i still don't get it, you can use function pointers without a typedef |
10:55:33 | c0utta | but it's really ugly |
10:55:48 | LinusN | that's a matter of opinion |
10:56:08 | c0utta | (for me) it makes the code hard to understand |
10:56:14 | [IDC]Dragon | please excuse, I also don't uderstand this opposition against typedefs |
10:56:33 | c0utta | i even convinced zagor that it was ok |
10:57:11 | LinusN | when is it used, except for in the action_list struct definition? |
10:57:46 | LinusN | [IDC]Dragon: typedefs are ugly, because they hide the real type |
10:58:15 | LinusN | it doesn't make the typing much stronger anyway |
10:58:15 | [IDC]Dragon | huh? they define the type. |
10:58:19 | c0utta | linus, they aren't used that frequently so i can live without it |
10:58:36 | c0utta | 22.23.48 # <c0utta> typedef bool (*PFB)(char*); |
10:58:36 | c0utta | 22.42.35 # <Zagor> i'm ok with typedefs for function pointers |
10:58:47 | c0utta | 22.42.57 # <Zagor> but call it something more descriptive than PFB |
10:58:48 | c0utta | 22.43.02 # <Zagor> ;) |
10:59:10 | LinusN | ok, i'll leave it in, but in upper case |
10:59:25 | LinusN | mixed case is also frowned upon by us |
10:59:46 | LinusN | [IDC]Dragon: you don't need to define new types in C |
10:59:52 | [IDC]Dragon | Except for Rockbox, I use typedefs every time I define a struct, so I can declare prototypes with pointers to such a struct. |
10:59:56 | LinusN | especially not structs |
11:00 |
11:00:19 | LinusN | why is it so important to leave out the keyword "struct"? |
11:00:40 | LinusN | struct blabla *, compared to blabla * |
11:00:57 | c0utta | linus, just leave it out. i can compensate |
11:00:59 | [IDC]Dragon | and it's good to publish this definition in a header |
11:01:07 | LinusN | [IDC]Dragon: why? |
11:03:44 | LinusN | c0utta: if you feel that yuo need it, we can reintroduce it |
11:03:47 | [IDC]Dragon | just "struct" in the prototype doesn't make the type known. |
11:04:23 | LinusN | why is it important to "make the type known"? |
11:04:33 | [IDC]Dragon | I usually define a struct only as a type and anonymous else. |
11:04:42 | LinusN | why? |
11:04:59 | [IDC]Dragon | I get your point, I don't see the bad part of it. |
11:05:28 | LinusN | the only thing it buys you is saving a few key presses because you won't have to type "struct" in the prototype |
11:06:03 | [IDC]Dragon | and what's bad about it? |
11:06:26 | LinusN | it hides the true nature of the type |
11:07:01 | LinusN | for example, if it's ok to pass-by-value |
11:07:18 | [IDC]Dragon | meaning, that it points to a struct? |
11:07:19 | LinusN | pass-by-value of a huge struct is not a good idea |
11:07:49 | [IDC]Dragon | sure |
11:08:26 | [IDC]Dragon | Windows lamers like me got educated to prefix pointers, so this would be visible. |
11:08:37 | LinusN | the worst thing is when people typedef's pointers |
11:09:51 | LinusN | KISS |
11:10:41 | [IDC]Dragon | a common declaration (without line breaks) would be: |
11:10:43 | | Join Bagder_ [241] (~dast@labb.contactor.se) |
11:10:43 | [IDC]Dragon | typedef struct { int a; int b; } tMyType, *tpMyType; |
11:10:51 | | Nick Bagder_ is now known as Bagder (~dast@labb.contactor.se) |
11:10:55 | LinusN | so very unnecessary |
11:11:00 | c0utta | i just reckon BOOLFNPTR is a lot more elegant than (*function)(char*) |
11:11:12 | c0utta | we C lamers get easily confused |
11:11:30 | LinusN | it's not Rockbox's mission to educate C programmers |
11:11:47 | * | Bagder improved the "recent CVS" table script |
11:11:59 | Bagder | if only the CVS worked fine we could see it |
11:12:02 | [IDC]Dragon | but it does a good kob on it! |
11:12:02 | c0utta | that's not the way i'm viewing it :) |
11:12:19 | c0utta | i know C better from rockbox |
11:12:37 | c0utta | than i ever would by formal training |
11:12:50 | c0utta | function pointers ? too hard |
11:12:59 | c0utta | character pointers ? too hard |
11:13:12 | LinusN | oh :-) |
11:13:15 | c0utta | array storage vs character pointers - don't understand |
11:13:24 | c0utta | i understand all these concepts now |
11:13:30 | c0utta | all thatnks to this project |
11:14:00 | LinusN | and i believe that it's partly because we don't complicate things |
11:14:22 | [IDC]Dragon | not all people do, else Rockbox executing directly from ROM would work better... |
11:14:38 | LinusN | struct blabla *ptr tells a lot more that tpMyType ptr, imho |
11:15:00 | Bagder | amen |
11:15:21 | c0utta | true. in my example the (char*) parameter is hidden -> not good practice |
11:16:27 | c0utta | u swedish folk are very logical :) |
11:16:50 | Bagder | that's only the front we try to put up! ;-) |
11:17:06 | LinusN | actually, i frown upon the DIR type too (dir.h) |
11:17:13 | | Join AciD [0] (~acid@longchamp44-1-82-67-133-87.fbx.proxad.net) |
11:17:19 | c0utta | more logical than we aussies |
11:17:20 | Bagder | but DIR is posix |
11:17:31 | | Quit uski|afk ("Fermeture du client") |
11:17:32 | LinusN | i know, but i don't ike it |
11:17:38 | LinusN | s/ike/like/ |
11:17:45 | c0utta | i think i've started something here... |
11:17:55 | c0utta | i've triggered linus' brain |
11:17:56 | Bagder | imho, some types are better left "opaque" |
11:18:18 | Bagder | but of course, it could be struct DIR anyway |
11:18:33 | LinusN | absolutely |
11:19:14 | LinusN | but maybe they wanted to make it possible to use a hidden reference or something |
11:19:53 | LinusN | still, the API uses pointers anyway |
11:25:02 | LinusN | is it Brent Coutts? |
11:25:11 | c0utta | yep |
11:25:41 | LinusN | committing... |
11:29:17 | LinusN | done, thanks Brent |
11:29:55 | c0utta | cheers mate |
11:30:18 | LinusN | next step would be the f3 context sensitivity |
11:30:57 | LinusN | gotta go now, cu around |
11:32:56 | | Part LinusN |
11:33:04 | [IDC]Dragon | c0utta, how come your nick? |
11:33:45 | c0utta | coutts->coutta (my nickname at school) |
11:34:07 | c0utta | i run into other "coutta"s online, so coutta with a "0" |
11:34:15 | c0utta | just makes sure i'm unique |
11:34:27 | c0utta | i still don't understand [IDC]Dragon |
11:34:42 | [IDC]Dragon | that's a lame story |
11:35:01 | c0utta | i saw some of it.. |
11:35:06 | [IDC]Dragon | I used my spam email account when subscribing for Rockbox |
11:35:45 | [IDC]Dragon | like I always do when some formmandates an email, you never know |
11:36:39 | [IDC]Dragon | that account was a leftover from LAN party registrations, this is what it was created for |
11:37:06 | [IDC]Dragon | so IDC is the clan, Dragon the nick, in Quake notation |
11:37:54 | c0utta | i understand |
11:38:04 | c0utta | u still home sick ? |
11:38:38 | [IDC]Dragon | IDC for Instant Death Commando, but we're cannon fodder, especially me |
11:39:00 | [IDC]Dragon | still sick, yes |
11:39:07 | [IDC]Dragon | not homesick |
11:39:22 | c0utta | ha. save that for taiwan :) |
11:40:03 | c0utta | u go there often ? |
11:40:14 | [IDC]Dragon | no, first time |
11:40:50 | c0utta | taipei is a strange city |
11:41:04 | [IDC]Dragon | you've been there? |
11:41:30 | c0utta | many times |
11:41:54 | c0utta | also spent a lot of time at the airport. i slept there once |
11:42:22 | [IDC]Dragon | the only representable part I've seen was the memorial |
11:42:42 | [IDC]Dragon | the rest was taxi rides through ugly streets |
11:43:05 | c0utta | it's not very nice... |
11:44:28 | c0utta | what do you want me to do to for the talkbox work jörg ? |
11:44:42 | c0utta | i will change the menus very soon |
11:45:32 | [IDC]Dragon | have you maintained talkbox in the past? |
11:45:52 | c0utta | no, not at all |
11:46:11 | [IDC]Dragon | forget it, it hasn't affected the menus |
11:46:42 | c0utta | how will you get the menus to "talk" if you don't integrate it ? |
11:46:47 | [IDC]Dragon | I will add an extra member for the menu item struct |
11:47:05 | [IDC]Dragon | a voice ID |
11:47:05 | c0utta | ok, i have added another 2 |
11:48:05 | c0utta | members, that is |
11:48:47 | [IDC]Dragon | the menu code will then have to pass this number to a "talk" function, along with the cursor movement |
11:49:13 | [IDC]Dragon | that's all for the menus |
11:49:42 | c0utta | ok. i thought it would be done in that manner |
11:56:10 | [IDC]Dragon | The screens require more code, if we want them to talk. |
12:00 |
12:01:00 | c0utta | i imagine it would be very complicated |
12:01:17 | [IDC]Dragon | I hope not. |
12:11:32 | | Join matsl [0] (~matsl@dhcp102.contactor.se) |
12:25:00 | Bagder | new cvs commit table look in place |
12:25:35 | [IDC]Dragon | what? where? |
12:25:47 | Bagder | the one on the rockbox front page |
12:26:13 | Bagder | it didn't change much, only a bit |
12:26:26 | [IDC]Dragon | ah, nicer names, clear captions |
12:26:39 | Bagder | yeps, and nicer dates |
12:26:56 | Bagder | and improved ability to "gather" changes done over multiple seconds |
12:27:32 | Bagder | the previous version required them to be recorded in the same second |
12:29:34 | [IDC]Dragon | so why are the top 3 entries still alike and separate? |
12:30:03 | Bagder | because they are 10+ seconds apart |
12:30:14 | [IDC]Dragon | oh no |
12:30:24 | Bagder | I bet I could stretch the check a bit |
12:30:29 | | Join pfavr [0] (~chatzilla@c83958a.s-oe.bostream.se) |
12:30:29 | Bagder | to like 30 seconds or so |
12:30:49 | [IDC]Dragon | how about some minutes? |
12:31:12 | Bagder | well, the first and the second in that table is two different commits I'm sure |
12:31:56 | [IDC]Dragon | So we have a chance to gather forgotten files in a follow up swoop |
12:32:11 | [IDC]Dragon | this happens quite often |
12:32:45 | [IDC]Dragon | (to me at least) |
12:32:59 | Bagder | yes, but my ambition is to show a single commit per line |
12:33:08 | | Join mattzz [0] (~mattzz@c231002.adsl.hansenet.de) |
12:33:36 | *** | Saving seen data "./dancer.seen" |
12:34:08 | [IDC]Dragon | Hi mattzz, congratulations! |
12:34:46 | * | Bagder slaps a "I'm on offical Rockbox contributor" sticker on mattzz's forehead |
12:35:01 | Bagder | s/on/an |
12:35:05 | mattzz | [IDC]Dragon: hi - thanx :) |
12:35:15 | mattzz | yeeaaa−−-haaa! |
12:35:22 | [IDC]Dragon | some initiation procedures are in order |
12:35:29 | Bagder | indeed |
12:35:41 | Bagder | hehe |
12:35:45 | mattzz | :) |
12:36:02 | Bagder | they do involve buying us beers, don't they? ;-P |
12:36:26 | mattzz | sure they do! |
12:36:26 | [IDC]Dragon | among other treats, yes |
12:37:25 | mattzz | <honey mode>this little hackbox has become my friend - due to your great work</honey mode> |
12:37:25 | [IDC]Dragon | what did I get my creditation for? I don't remember... |
12:38:38 | [IDC]Dragon | I do remember my cvs write access: that was meant for maintaining the Win32 build (which I barely did, in the future) |
12:39:18 | [IDC]Dragon | a failure, that is |
12:39:19 | Bagder | yep, you're totally off your boundaries now. |
12:39:29 | Bagder | we shall need an extra initiation procedure for you! ;-) |
12:39:51 | [IDC]Dragon | why me? |
12:40:08 | Bagder | eh... |
12:40:16 | Bagder | uhm |
12:40:29 | mattzz | sick at home and totally out of controll - that are the times of big steps forward for rockbox, eh? |
12:40:31 | Bagder | nah, couldn't come up with a good reason |
12:41:37 | mattzz | a good reason is: because initiation procedures are fun! |
12:42:13 | Bagder | getting all messed up with tar and feathers is only fun once! |
12:42:18 | * | Bagder giggles |
12:42:40 | mattzz | yeah, but it _is_ fun, right? |
12:42:49 | Bagder | oh yes |
12:42:51 | [IDC]Dragon | I regret having started this |
12:43:21 | mattzz | tar and feathers for everyone! |
12:44:09 | mattzz | so, how is lowlevel stuff going? |
12:44:28 | Bagder | ok, 30 seconds check at least made two of the lines get merged |
12:44:47 | [IDC]Dragon | define "lowlevel" |
12:45:31 | mattzz | read the discussion between you and jens last night about doing optimizations in the assembler routines |
12:45:49 | mattzz | s/read/I just read/ |
12:45:54 | | Quit mbr (truong.freenode.net irc.freenode.net) |
12:45:54 | NSplit | truong.freenode.net irc.freenode.net |
12:47:08 | NHeal | truong.freenode.net irc.freenode.net |
12:47:08 | NJoin | mbr [0] (~mb@stz-softwaretechnik.com) |
12:47:17 | [IDC]Dragon | I hope he went to sleep sometime |
12:47:41 | [IDC]Dragon | like I will soon |
12:48:11 | mattzz | are you still not doing better? |
12:48:27 | [IDC]Dragon | a bit, but not enough |
12:49:34 | mattzz | hm, get well soon. otherwise our company might go down the hill even faster... |
12:49:47 | [IDC]Dragon | do they? |
12:50:17 | mattzz | I have the impression somehow, when it comes to project management. |
12:51:15 | mattzz | We should have a little chat when I am in Hannover the other day. |
13:00 |
13:08:10 | | Join uski [0] (~moo@gandalf.digital-network.org) |
13:32:09 | | Quit matsl (Remote closed the connection) |
13:33:13 | | Nick mattzz is now known as mattzz|cookin (~mattzz@c231002.adsl.hansenet.de) |
13:37:27 | | Quit uski ("ooo") |
13:46:13 | | Quit [IDC]Dragon () |
13:54:02 | | Nick c0utta is now known as c0utta{zZ} (HydraIRC@dialup-137.54.221.203.acc05-waym-adl.comindico.com.au) |
13:54:02 | DBUG | Enqueued KICK c0utta{zZ} |
14:00 |
14:07:50 | | Quit AciD (Read error: 104 (Connection reset by peer)) |
14:11:32 | | Nick mattzz|cookin is now known as mattzz (~mattzz@c231002.adsl.hansenet.de) |
14:11:54 | mattzz | Bagder: are there any experienced troubles with CVS? |
14:13:00 | Bagder | yeps, I noticed some this morning |
14:13:05 | mattzz | Bagder: Recent CVS activities on the webpages do not show up in CVS repository... |
14:13:22 | Bagder | that's the "normal" anonymous cvs "lag" |
14:13:33 | mattzz | Ah, well, I see. |
14:13:49 | Bagder | I don't know why, but sourceforge has it configured that way |
14:33:39 | *** | Saving seen data "./dancer.seen" |
14:35:57 | | Quit Nibbler (Read error: 104 (Connection reset by peer)) |
14:36:11 | | Join matsl [0] (~matsl@1-1-4-2a.mal.sth.bostream.se) |
14:44:22 | | Join edx{code} [0] (edx@pD9EAB49A.dip.t-dialin.net) |
14:46:09 | | Join quelsaruk [0] (~bferasdf@193.136.159.157) |
14:46:11 | | Nick mattzz is now known as mattzz|shopping (~mattzz@c231002.adsl.hansenet.de) |
14:46:11 | quelsaruk | hi |
14:46:23 | Bagder | howdy |
14:46:54 | quelsaruk | reading the spanish newspaper... |
14:49:11 | quelsaruk | hey.. we have rockbox v2.2 |
14:49:12 | quelsaruk | :) |
14:49:28 | Bagder | you read that in the paper? ;-) |
14:50:48 | quelsaruk | of course |
14:50:51 | quelsaruk | :P |
15:00 |
15:02:19 | quelsaruk | have a nice weekend! |
15:02:30 | | Quit quelsaruk () |
15:05:34 | | Join track [0] (~74d57721@ACBA8684.ipt.aol.com) |
15:05:44 | track | hi |
15:27:27 | | Join methangas [0] (methangas@0x50c61d08.virnxx10.adsl-dhcp.tele.dk) |
15:30:18 | | Part Bagder |
15:30:18 | | Quit track (Read error: 104 (Connection reset by peer)) |
16:00 |
16:07:26 | | Join AciD [0] (~acid@longchamp44-1-82-67-133-87.fbx.proxad.net) |
16:13:56 | | Join Nibbler [0] (~nibbler@port-212-202-73-124.reverse.qsc.de) |
16:32:06 | | Join n00b [0] (~jirc@170.183.190.83) |
16:33:40 | *** | Saving seen data "./dancer.seen" |
16:36:14 | n00b | Hey, on the V2 recorder, what is the factory battery? |
16:42:17 | | Join WeeD0pE [0] (WeeD0pE@lpz9-d9ba6834.pool.mediaWays.net) |
16:42:21 | WeeD0pE | ho ho |
16:42:49 | WeeD0pE | one question how to flash the latest version to my recorder ? |
16:56:04 | MT | WeeD0pe: http://rockbox.haxx.se/docs/flash.html |
16:56:06 | MT | n00b: http://rockbox.haxx.se/docs/battery-faq.html |
16:56:57 | MT | ho himm, the battery faq hasnt been updated :/ |
16:57:09 | MT | n00b: it uses an internal, non replaceable lithium ion battery |
17:00 |
17:03:46 | | Quit n00b (Read error: 110 (Connection timed out)) |
17:12:04 | WeeD0pE | hmm |
17:12:17 | WeeD0pE | i want flash the latest build |
17:13:52 | WeeD0pE | http://joerg.hohensohn.bei.t-online.de/archos/flash/flash_rec.zip |
17:14:13 | WeeD0pE | can i just replace the arz file with the latest build ? |
17:17:47 | | Join mecraw__ [0] (~mecraw@69.2.235.2) |
17:23:05 | | Join n00b [0] (~jirc@170.183.190.83) |
17:25:28 | n00b | hey! I'm happy to be here! Are you?!!! |
17:28:24 | | Join quelsaruk [0] (~v65wf@193.136.159.156) |
17:30:44 | quelsaruk | re |
17:33:28 | | Quit n00b ("Leaving") |
17:35:04 | | Join n00b [0] (~jirc@170.183.190.83) |
17:35:29 | n00b | hey, does the v2 charge with usb in? |
17:36:10 | n00b | is anyone actually here? |
17:36:49 | quelsaruk | ummm |
17:36:53 | quelsaruk | i don't really know |
17:36:59 | quelsaruk | have you read the charging faq? |
17:37:13 | quelsaruk | (i just have the recorder version) |
17:37:14 | | Quit Ka_ ("* poof *") |
17:40:44 | | Quit n00b ("Leaving") |
17:45:06 | | Join Ka_ [0] (~tkirk@pcp261336pcs.howard01.md.comcast.net) |
18:00 |
18:09:46 | | Quit edx{code} () |
18:09:48 | | Quit Nibbler (Read error: 54 (Connection reset by peer)) |
18:12:23 | | Join uski [0] (~moo@gandalf.digital-network.org) |
18:14:05 | dwihno | Wee! 2.2! |
18:17:32 | | Quit uski ("Fermeture du client") |
18:17:52 | quelsaruk | we |
18:17:54 | quelsaruk | :P |
18:18:48 | | Nick mattzz|shopping is now known as mattzz (~mattzz@c231002.adsl.hansenet.de) |
18:25:45 | quelsaruk | have to go! |
18:25:45 | quelsaruk | cu |
18:25:45 | | Quit quelsaruk () |
18:33:44 | *** | Saving seen data "./dancer.seen" |
18:52:59 | | Quit WeeD0pE () |
19:00 |
19:02:32 | | Join scunner [0] (~scunbag@67.50.70.17) |
19:03:13 | scunner | uhhh scunner rejoices! |
19:03:51 | scunner | was there ever a patch for the red freeze problem? just wondering. |
19:05:41 | scunner | everyone's eating lunch...i'll try later. |
19:06:01 | | Quit scunner (Client Quit) |
19:51:59 | | Join Nibbler [0] (~nibbler@port-212-202-73-124.reverse.qsc.de) |
19:52:41 | | Quit pfavr (Read error: 104 (Connection reset by peer)) |
19:59:01 | | Nick mattzz is now known as mattzz|wine (~mattzz@c231002.adsl.hansenet.de) |
20:00 |
20:26:48 | | Quit mattzz|wine ("Client exiting") |
20:27:53 | | Join vol [0] (SkyHawk@hoor.drkangel.org) |
20:33:47 | *** | Saving seen data "./dancer.seen" |
21:00 |
21:04:41 | | Join hardeep [0] (1098@208.247.65.237) |
21:17:03 | | Join amiconn [0] (~jens@pD9E7DEB5.dip.t-dialin.net) |
21:17:31 | | Nick amiconn is now known as amiconn|afk (~jens@pD9E7DEB5.dip.t-dialin.net) |
21:30:31 | | Join cjnr11 [0] (~dfd@bobillot-5-82-224-193-23.fbx.proxad.net) |
21:30:36 | | Part cjnr11 |
22:00 |
22:07:49 | | Quit AciD (Connection timed out) |
22:08:04 | | Nick amiconn|afk is now known as amiconn|code (~jens@pD9E7DEB5.dip.t-dialin.net) |
22:18:01 | | Join [IDC]Dragon [0] (~idc-drago@pD9512642.dip.t-dialin.net) |
22:18:13 | amiconn|code | Hi [IDC]Dragon! |
22:18:25 | [IDC]Dragon | HI! |
22:18:51 | [IDC]Dragon | I'm just measuring the current for RAS down mode vs. normal |
22:19:12 | [IDC]Dragon | very little difference |
22:19:30 | [IDC]Dragon | < 0.1 mA |
22:19:47 | amiconn|code | I've just prepared a "memset()" test plugin, now testing correctness & measuring execution times for different alignments. |
22:19:57 | [IDC]Dragon | great! |
22:20:34 | [IDC]Dragon | Hope you can recycle it for memcpy |
22:20:40 | amiconn|code | My new memset() is half the size of the C version, expect it to be faster also (especially for misaligned buffer). |
22:21:03 | amiconn|code | Will do measuring with and without RAS down mode. |
22:21:20 | [IDC]Dragon | focus on RAS down |
22:21:30 | [IDC]Dragon | I think we should commit that |
22:24:12 | amiconn|code | Old memset.c, RAS up: longword aligned 41 ms, all other alignments 210 ms (for 1,733,252 bytes) |
22:28:47 | [IDC]Dragon | the loop is way too long, rather do 100 bytes or so |
22:29:03 | [IDC]Dragon | more realistic |
22:30:30 | [IDC]Dragon | the "prepare phase" also goes into the bill, not just the loop itself |
22:32:46 | amiconn|code | Of course I compare the whole routines' length |
22:33:01 | amiconn|code | RAS up/down doesn't matter for memset! |
22:33:51 | *** | Saving seen data "./dancer.seen" |
22:34:45 | amiconn|code | Btw.: I managed to tell make how to make (sic!) assembler files within firmware/common. |
22:34:47 | [IDC]Dragon | consecutive writes |
22:34:54 | amiconn|code | Yep! |
22:35:19 | [IDC]Dragon | what was the problem? |
22:37:24 | amiconn|code | Had to change the Makefile in firmware: Inserted a line below "SRC := ...": "SRC_S := $(wildcard drivers/*.S common/*.S *.S)" and changed the next non_blank line to read "OBJS := $(SRC:%.c=$(OBJDIR)/%.o) $(SRC_S:%.S=$(OBJDIR)/%.o)". |
22:38:02 | amiconn|code | This way I don't need to list each assembler file separately, and it will work on assembler files in firmware/drivers also. |
22:38:46 | amiconn|code | (this is in preparation of a separate ata-transfer.S) |
22:40:01 | [IDC]Dragon | very nice. |
22:41:13 | amiconn|code | Will put these changes into my upcoming patch. |
22:41:44 | [IDC]Dragon | but I think you can use regexp's into the file wildcard, so you don't need an extra SRC_S |
22:42:03 | [IDC]Dragon | how's that done elsewhere? |
22:42:28 | amiconn|code | New memset is 25 ms / 1,7 MB for _all_ alignments! -> 64% faster with longword-alignment, almost 9 times as fast otherwise. |
22:42:56 | [IDC]Dragon | any penalty for short memsets? |
22:43:02 | | Quit matsl (Remote closed the connection) |
22:43:42 | [IDC]Dragon | how much did you unroll it? |
22:45:18 | amiconn|code | Did not yet measure this, guess no. |
22:46:07 | amiconn|code | It's not further unrolled than the C version, does a longword at maximum per round. But I can use the longword loop for non_aligned data also, doing only the first and last few bytes with a byte loop. |
22:46:53 | amiconn|code | _And_ I use the special-tricky auto-decrement mem-write, so it goes down from last to first. |
22:47:23 | [IDC]Dragon | you write backwards? |
22:47:47 | [IDC]Dragon | trhat's probably no good, because of bursts |
22:48:12 | amiconn|code | If <= 10 bytes, uses byte-loop directly, saves overhead. Yes, I write backwards! This way the loop only consists of 3 instructions. |
22:48:42 | amiconn|code | Why should writing backwards be no good? |
22:48:45 | [IDC]Dragon | < 10 is measured or guessed? |
22:49:13 | [IDC]Dragon | bursts are forward |
22:50:45 | [IDC]Dragon | open pages may save you, but I wonder why it's the same speed without RAS down mode. |
22:51:04 | amiconn|code | <= 10 is taken from (rough) cycle-counting. Will test with RAS up in a short. |
22:52:22 | [IDC]Dragon | have you considered using the DMA? |
22:55:25 | amiconn|code | With RAS up it is 28 ms for all alignments. We can use DMA?? Didn't know that! How? |
22:55:45 | [IDC]Dragon | probably awkward, since it's asynchronous, we'd have to wait for it to get ready. |
22:56:07 | [IDC]Dragon | Sorry, I didn't think of that sooner. |
22:57:22 | [IDC]Dragon | Yes, there is a DMA controller in the chip. It has plenty of free channels, afaik only one is used by Rockbox, for the mp3 playback. |
22:58:04 | [IDC]Dragon | Unfortunately is't not configurable to do endian swaps, I was looking for that when doing the ATA copy. |
23:00 |
23:08:53 | [IDC]Dragon | forgot my staements about bursts, we don't have an SDRAM. It seems that "burst" here means CAS-only addressing, for which the order is not important. |
23:10:10 | amiconn|code | The DMA thing is very interesting indeed, but i suspect that it would be complicated (read: much code) to use it for the memxxx routines. |
23:10:43 | [IDC]Dragon | yes, the setup may not be worth it. |
23:11:06 | [IDC]Dragon | adds special cases, since it can do only <64k |
23:11:29 | [IDC]Dragon | (for the rare case somebody wants larger) |
23:11:56 | amiconn|code | Since it is asynchronous, you have to wait for end of transfer because of 2 things: (1) if you return, the caller expects the work to be done. (2) if you need to do >64k you have to do it in chunks. |
23:12:28 | [IDC]Dragon | my saying |
23:13:08 | amiconn|code | Additionally, if you want it as fast as possible, you have to set burst mode. Don't know if this would block other vital tasks in rockbox for too long. |
23:14:15 | [IDC]Dragon | no the CPU has higher prio |
23:14:45 | [IDC]Dragon | I wonder about your figures |
23:14:56 | [IDC]Dragon | you set 66MB/s? |
23:15:13 | [IDC]Dragon | that's 6 byte/clock |
23:15:32 | [IDC]Dragon | external bus to the DRAM is 16 bit |
23:16:16 | amiconn|code | exactly! My loop takes 6 cycles taking into account that a long write takes 2 cycles. |
23:18:07 | [IDC]Dragon | the clock is 11 MHz |
23:19:00 | [IDC]Dragon | if you write 2 byte each 6 cycles, that would be 11/3 = 3.66 MB/s |
23:20:40 | amiconn|code | I'm writing 4 bytes each 6 cyles. I'm wondering what's going on here. Isn't a tick in rockbox equal to 1 ms? |
23:23:48 | [IDC]Dragon | haha, that's it. |
23:23:52 | [IDC]Dragon | 10 ms tick |
23:24:27 | amiconn|code | Okay, my fault. Take _all_ results times 10. Relations don't change. |
23:25:48 | amiconn|code | Btw: I'm at 2/3 speed what we could achieve with the DMA controller. |
23:26:00 | amiconn|code | s/what/of what/ |
23:26:08 | [IDC]Dragon | that's what I was trying to calculate |
23:26:45 | amiconn|code | 4 bytes each 6 clocks is 3 clocks/word. The DMA can do 2 clocks/word. |
23:29:00 | amiconn|code | If I would unroll the loop to do a quad-word per round, I would be in par with the DMA speed (8 bytes in 8 cycles) |
23:32:13 | [IDC]Dragon | probable the bus will introduce extra wait |
23:32:37 | [IDC]Dragon | not sure about how much unrolling gains |
23:33:06 | amiconn|code | Why? The DRAM is not connected to the WAIT pin, as Linus explained me. |
23:33:14 | [IDC]Dragon | currently, your other 2 instructions may be masked by the access being carried out |
23:33:33 | [IDC]Dragon | it's not, the controller generates the timing for it |
23:34:08 | [IDC]Dragon | does the waitstates internally, no need for a pin |
23:34:30 | amiconn|code | Will test this now, shouldn't be many changes (just some offset adjusting and a second store instr). |
23:34:52 | [IDC]Dragon | try to spread them apart, if you can |
23:35:33 | [IDC]Dragon | A DRAM wite is definitely not carried out in one cycle. |
23:36:11 | [IDC]Dragon | the controller had to do at least the CAS addressing |
23:36:18 | amiconn|code | Of course, "Memory load/store instructions should be longword-aligned if running from internal RAM, so they don't contend with instruction fetch." (freely from SH1 manual). |
23:36:27 | [IDC]Dragon | has to split your 32 bit into 2 times 16 bit |
23:37:04 | amiconn|code | 32bit = 2 accesses, yes. But in fast page mode it _does_ each access in one cycle. |
23:37:28 | [IDC]Dragon | aha? OK then. |
23:39:11 | [IDC]Dragon | I think the WARP mode will carry out the write as your code goes along |
23:39:17 | amiconn|code | See sh7032.pdf, p. 174ff. |
23:39:25 | [IDC]Dragon | since it proceeds from IRAM |
23:41:30 | [IDC]Dragon | writes have a "silent cycle" after a 32bit pair |
23:41:58 | [IDC]Dragon | speaking about longword-aligned code: |
23:42:26 | | Join edx{code} [0] (edx@pD9EAB49A.dip.t-dialin.net) |
23:42:31 | [IDC]Dragon | do you count your instructions from the .align on, into even and odd? |
23:43:20 | [IDC]Dragon | the load/store should be at an "even" place, if I interpret that correct. |
23:44:11 | amiconn|code | Of course. Did this with all assembler optimizations I did so far. |
23:44:46 | [IDC]Dragon | OK, OK. I just haven't seen that counting. |
23:45:27 | amiconn|code | This is the reason why I sometimes have an .align 2 within my code. This better explains what it is for as when I would write nop. |
23:45:46 | [IDC]Dragon | yes |
23:46:00 | amiconn|code | .align inserts nop's within code sections, so this is safe. |
23:47:11 | | Join LinusN [200] (~linus@labb.contactor.se) |
23:47:21 | amiconn|code | Hi LinusN! |
23:47:39 | [IDC]Dragon | Do you know if our DRAM waitstates are correct, ore "conservative"? |
23:47:44 | [IDC]Dragon | Hi LinusN |
23:48:13 | LinusN | [IDC]Dragon: haven't checked, to be honest |
23:49:33 | [IDC]Dragon | LinusN, have read the log of our discussions? |
23:49:35 | LinusN | btw, how often do we use memset()? I mean, is there a point in optimizing it? |
23:49:37 | | Join AciD [0] (~acid@longchamp44-1-82-67-133-87.fbx.proxad.net) |
23:50:01 | [IDC]Dragon | Jend happened to start with that one. |
23:50:11 | LinusN | except for the fun of doing it, of course |
23:50:12 | [IDC]Dragon | Jens |
23:50:18 | [IDC]Dragon | (sorry) |
23:50:30 | [IDC]Dragon | fun, yes |
23:50:50 | [IDC]Dragon | memcpy is probably more interesting |
23:51:04 | LinusN | remember, this is how we got on the wrong foot with bluechip, in the early days |
23:51:27 | [IDC]Dragon | I don't know that story |
23:52:11 | LinusN | short story, he offered to optimize the C lib, and we thought there were better things to do, and he got offended by the way we said it |
23:52:14 | [IDC]Dragon | memset is used on screen updates |
23:52:26 | LinusN | on screen updates? |
23:52:41 | [IDC]Dragon | clearing a line of text |
23:52:46 | LinusN | you mean lcd_clear_display()? |
23:52:58 | [IDC]Dragon | when we scroll, it's called a lot |
23:53:19 | LinusN | ok, if you find significant speed improvements, i am for it |
23:53:20 | [IDC]Dragon | scroll a text horizontally, I mean |
23:53:58 | [IDC]Dragon | not really speed, but energy |
23:54:14 | LinusN | [IDC]Dragon: the company that makes the logic analyzer i purchased wants me to write linux drivers for it :-) |
23:54:15 | [IDC]Dragon | Jens, how do you feel? |
23:54:32 | [IDC]Dragon | wants or pays? |
23:54:36 | LinusN | pays |
23:54:45 | [IDC]Dragon | nice |
23:55:00 | LinusN | well, we'll se how much they are willing to pay... |
23:55:05 | [IDC]Dragon | it's very much in you interest, I guess |
23:55:10 | LinusN | indeed |
23:56:35 | [IDC]Dragon | about the energy optimization: in which parts of the code do we spend the most of the time? |
23:56:49 | [IDC]Dragon | (for "average" use cases) |
23:57:22 | LinusN | energy optimization? |
23:57:42 | [IDC]Dragon | That's what I call getting to sleep sooner |
23:57:55 | LinusN | sooner than what? |
23:58:20 | [IDC]Dragon | sooner than running some sub-optimal routine longer |
23:58:42 | LinusN | hopefully, we spend the most time in the sleep instruction |