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

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

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

#rockbox log for 2004-10-06

00:00:33iRiverManWhen will the first iriver rockbox be released as im very keen to test it?
00:00:41LinusNiRiverMan: sometime next year i guess
00:00:43amiconnLinusN: Do the recorder v2/fm models have spdif out?
00:01:03LinusNamiconn: i believe so
00:01:10iRiverManamiconn spdif in but not out
00:01:12LinusNor is it s/pdif in?
00:01:19iRiverManthe iriver has optical spdif in and out
00:02:00iRiverManon seperate sockets
00:02:14LinusNyup, nice indeed
00:03:04iRiverManbut the optical out on a hifi CD player is a different connector. a Toslink
00:03:11amiconnLinusN: A similar define would be handy for excluding spdif from the recording source choices if the input is not present (Ondio FM)
00:03:16iRiverManso u need an optical lead with different plugs at both ends
00:03:27LinusNamiconn: yes
00:04:05iRiverManif i was to record to WAV via the optical in on the iriver i would get a perfect CD copy?
00:04:38LinusNi believe so
00:04:53amiconniRiverMan: I think so, however, the original firmware may prohibit this (SCMS bit)
00:04:57iRiverManim sure the RIAA is gonna suire river
00:05:07iRiverMansue iriver
00:05:36iRiverManyea but the iriver is NOT sdmi complaiant
00:06:25iRiverManone thhing i like about the iriver's remote lcd is that it is a bitmap LCD, not character cell LCD
00:06:43amiconnIt isn't? Strange, I thought all consumer equipment is required to implement it
00:07:13iRiverManyea but iriver isn't a well known brand like Sony
00:07:16iRiverManor Creative Labs
00:07:37iRiverManor iPod
00:08:37iRiverManor Archos
00:09:15amiconnRockbox doesn't play by the rules as well. You can record such bitstreams on the jb recorder
00:09:47 Join midk [0] (
00:10:07iRiverManoh boy
00:10:34iRiverManthe rio karma man is here
00:10:43 Join LMN8R [0] (
00:10:57midklooks like we've got an iriver fanboy
00:11:33iRiverManbought an iriver last weekend
00:11:39LMN8RHey guys, I was looking over at the forums and know how much you hate stupid questions (with good reason), so I just wanted to thank you for your hard work, and good luck with the project!
00:13:01iRiverManthe rio karma is the butt-ugliest mp3 player i have ever seen
00:14:26 Join webguest07 [0] (
00:14:36midkjust by the way.. i don't care too much for the rio karma since about a year ago.. it was nice when it came out though
00:15:29iRiverManyea but compared to today's mp3 players it looks too plastiky and 80's looking
00:16:12iRiverManusb2 is wisked
00:16:19midkmm.. everyone's got their own opinions
00:16:33midkit's not beautiful, no way, but it's not horrible either
00:16:58iRiverManwell i suppose it looks slightly better than an ipod
00:17:17 Quit LMN8R ("Chatzilla 0.9.65 [Mozilla rv:1.7.3/20040913]")
00:18:13webguest07I just got an ata -1 error on my archos jukebox.
00:18:24webguest07looks like it was just a low battery though.
00:18:25iRiverManstill miss my archos
00:18:34iRiverMani ripped it apart after it died
00:18:38iRiverManwanted to keep the hd
00:19:02webguest07The styling is a bit clunky.
00:20:32iRiverManno it isn't
00:21:06webguest07I only got it to run rockbox.
00:21:09iRiverManit feels like one of those luxury cigar cases
00:21:33iRiverManhas an all-metal body
00:21:44webguest07I think it looks like wannabe hi-tech.
00:21:54iRiverManI wonder if a crossfader is possible on the iriver
00:24:02webguest07does that imply processing 4 channels simultaniously, plus adding pairs together?
00:24:13iRiverManwhat u mean?
00:24:22webguest07left and right
00:24:29webguest07two tracks
00:24:45webguest07then mixing 2 lefts 2 rights
00:24:54iRiverMani just meen crossfading
00:24:55webguest07during the fade
00:25:05iRiverManfade out one song and fade in the next at the same time
00:25:17midkiRiverMan, that's what webguest07 is talking about
00:25:29webguest07so during the crossfade, both tracks are being decoded
00:25:30midkyou have to have two tracks playing in order to hear them both
00:25:42midkand it's not possible
00:26:07amiconnmidk: Why shouldn't it be possible on the iRiver?
00:26:16webguest07you can fade out track one, and then fade in track two, much easier.
00:26:16iRiverMani asked because i think everything is done via software on the iriver
00:26:22midkamiconn, you'd need two mp3 decoders
00:26:29midkamiconn, why isn't it possible on the Archos then?
00:26:45amiconnThe iRiver uses software decoding, so it should be possible to have as many decoders as you want as long as there is enough CPU power
00:26:55midkamiconn, well good luck
00:28:07webguest07About low battery conditions on archos...
00:28:40webguest07Am i right that wierd things happen during low battery voltage?
00:28:56webguest07ata errors
00:29:08webguest07I saw one report of a fail to charge.
00:29:29webguest07couldn't rockbox detect low voltages?
00:29:49webguest07flash the backlight, refuse to spin up HD until charged?
00:30:03webguest07rather than just freak out?
00:30:36webguest07I assume it's the HD that really sucks a lot of juice.
00:31:12iRiverManonly 2mb buffer
00:31:15webguest07So, by delaying HD spinup attempts, there'd be time to communicate to the user.
00:31:21LinusNwebguest07: low voltage is only one factor
00:31:40webguest07what else?
00:31:46LinusNbad batteries
00:31:50LinusNbad battery connection
00:31:52iRiverManlinus will mp3pro be supported on the iriver/
00:31:57webguest07bad in what sense?
00:32:03LinusNiRiverMan: hardly'
00:32:07webguest07diminished capacity?
00:32:14LinusNbad battery == worn out
00:32:39webguest07does the discharge curve change shape over the lifetime?
00:33:03LinusNa bad battery may show good voltage unloaded, but will fail to deliver any current
00:33:33webguest07no way to load test, other than spinup attempts...
00:34:01webguest07can rockbox see the voltage falling during spinup, and abort?
00:34:24webguest07or is that a single step "spin up"
00:34:24amiconnRockbox could monitor the voltage while hd is spinning versus the voltage while the hd is not spinning.
00:35:07webguest07would you see the drop during songplay, by comparing each buffer fill voltage?
00:35:27amiconnIn fact, this might give a more realistic estimation of the battery status than the absolute voltage.
00:35:47webguest07watch for too steep a slope to the graph of voltages?
00:36:43webguest07do nimh batts have a "cliff shaped" discharge curve, like nicd?
00:36:54webguest07or is it more gradual?
00:36:54amiconnFor instance, I replaced the stock archos cells by higher capacity ones. Although rockbox runs longer with these, it displays the remaining capacity significantly lower than it actually is.
00:37:55webguest07If you could spot the steep part of the curve coming up, and log the "drive spin" time,
00:38:11webguest07you could "learn" the run time.
00:38:31amiconnNo, I mean monitoring the voltage difference between spinning and not spinning hd
00:38:45webguest07over multiple charge/discharge cycles.
00:39:04amiconnThis difference gets higher towards the end of discharge, because the internal resistance of the cells increases
00:39:06webguest07amiconn: why not compare consecutive spinup events?
00:39:44webguest07wouldn't the loaded voltage drop?
00:40:08webguest07or is loaded vs unloaded more accurate?
00:41:20amiconnI think loaded vs. unloaded might be more accurate, because the absolute voltage in various charge states may differ between different cell types
00:41:41webguest07I'd just like to see something cleaner than an unplanned shutoff during a copy operation, followed by a disk error.
00:42:35webguest07I wouldn't imagine you'd use absolute voltages, just deltas from previous spinups.
00:43:27amiconnThose deltas might be not very helpful, because the time between spinups may differ vastly (different bitrate playback, no playback, user interaction...)
00:43:28webguest07If the slope between consecutive spinups is too steep, the battery must be near discharged.
00:43:56LinusNif we were to implement a "safe" battery level handling, you would experience a lot shorter battery life
00:43:57iRiverManCan anyone recommend top quality earbud earphones?
00:43:58webguest07amiconn: you're right, that'd only be valid during a track
00:44:11LinusNiRiverMan: i have Sony EX-70
00:44:12webguest07assuming no pause.
00:44:28iRiverManany others?
00:44:55amiconniRiverMan: Sennheiser MX400
00:45:20webguest07LinusN: does that imply that there's a lot of play time available even after voltage begins falling off?
00:45:40iRiverMani think i would prefer the Sennheiser brand
00:45:43iRiverManwhats their website?
00:46:18LinusNwebguest07: yes
00:46:33LinusNyou sikmply can't know
00:47:13LinusNeither you play safe, and turn off way too early, or you run to the bitter end
00:47:27amiconniRiverMan: (assuming you prefer English)
00:48:28amiconnLinusN: the delta-v approach might be relatively good, because it measures the internal resistance of the cells.
00:48:29webguest07No way to plot a curve at all? Even during a single session, with no pauses?
00:48:45amiconnThis way we'd also catch a bad cell
00:48:53webguest07Or just too much work?
00:49:15amiconnwebguest07: You can look at the voltage curve, in the debug menu
00:49:40amiconn(This curve is for hd not spinning)
00:50:04webguest07amiconn: you guys are SO cool. That's a feature you'd never get from a corporate product.
00:51:31amiconnLinusN: I'd like to introduce a new header file, in order to be able to add MMC debug function(s)
00:52:35***Saving seen data "./dancer.seen"
00:53:25amiconnShould I call this ata_mmc.h (to be consistent with the driver file name) or mmc.h (to make clear that it is only useful for mmc based systems)?
00:55:26webguest07What is the update rate on the battery curve?
00:55:40amiconnOnce per minute iirc
00:56:31webguest07Looks like I can't be connected via usb while it's onscreen.
00:57:12amiconnNope. Most debug menu items don't react on USB connection
00:58:04webguest07My low battery shutdown happened in the middle of copying some files off the unit.
00:58:31amiconnThe (rough) battery status display is active while on USB, so there is at least something to watch the batteries
00:58:39 Quit iRiverMan ("CGI:IRC (EOF)")
00:59:23webguest07BTW, i love the backlight fades :)
01:01:12webguest07I had another minor issue.
01:01:21webguest07Relating to resume.
01:01:46webguest07Volume levels on resume, to be specific.
01:02:58webguest07Would it be possible to *not* resume at a high volume if the unit has been inactive for >1hour, or something like that?
01:04:29amiconnImho it is unlikely that such a feature will get implemented, because if it would, it would have to be made configurable.
01:04:58webguest07Maybe do a slow fade back to the level, then?
01:05:32amiconnI would have switched it off most of the time, since I often use my jukebox output as a line out, and I certainly do *not* want to lower the level
01:05:33webguest07Over a couple of seconds
01:05:44amiconnFade in/out is already there
01:06:12webguest07for a mid-track resume?
01:06:31webguest07maybe i just need an updated build.
01:07:03amiconnDunno if it does fade for mid-track resume, since I don't use it either. I find it somewhat irritating
01:07:17webguest07I had my box cranked up driving at night.
01:07:39webguest07Scared/startled myself in the morning. :)
01:07:58amiconnLinusN: Did you get my question?
01:08:21webguest07It didn't sount THAT loud the night before :)
01:09:45amiconnwebguest07: I use different .cfg files (car use, earphone, connected to home hifi) and load these before resuming when needed.
01:10:05amiconnI have resume set to "ask"
01:13:03LinusNamiconn: the file name?
01:13:37LinusNi think ata_mmc.h would be fine, but i trust your judgement
01:13:49amiconnOr, if it makes sense at all. Currently this would contain a typedef struct, and one function
01:22:07webguest07amiconn: I need an "am, no coffee .cfg" and a "pm, need sleep .cfg" selected via RTC . (kidding).
01:26:01LinusNtime to sleep
01:26:06LinusNnite all
01:26:10 Part LinusN
01:26:11amiconnnite Linus
01:26:29amiconnThat was quick...
01:32:54 Join LinusN [0] (
01:33:14LinusNfirst iriver LED blink program has now executed!!!!!!!
01:33:22 Part LinusN
01:36:28webguest07amiconn: thanks for the interesting conversation.
01:36:54webguest07It's nice to be able to discuss with developers.
01:37:17webguest07I like to understand a bit how things work.
01:38:19webguest07It's 7:30 here, I guess I'm going to get some food.
01:38:47 Quit webguest07 ("CGI:IRC 0.5.4 (2004/01/29)")
02:52:37***Saving seen data "./dancer.seen"
03:06:26 Join amiconn_ [0] (
03:24:34 Quit amiconn (Read error: 110 (Connection timed out))
03:28:37 Quit mecraw ("Trillian (")
03:43:01 Quit amiconn_ (Read error: 110 (Connection timed out))
04:19:18 Quit Sebulba02 ("fluxbox")
04:25:41 Join Sebulba02 [0] (
04:52:40***Saving seen data "./dancer.seen"
05:14:00 Quit midk (Remote closed the connection)
05:15:51 Join midk [0] (
06:01:41 Quit midk (Read error: 104 (Connection reset by peer))
06:02:02 Join midk [0] (
06:30:36 Quit scott666 ("i'll be back...eventually...")
06:45:01 Quit midk ("just STOP it arspy")
06:46:49 Join midk [0] (
06:52:44***Saving seen data "./dancer.seen"
06:53:18 Quit midk ("just STOP it arspy")
06:53:25 Join midk [0] (
06:58:44 Join kramerica [0] (
07:02:32 Join LinusN [0] (
07:06:11midkLinusN, congratulations on the led-flashing program!
07:06:16midkany progress since? :)
07:06:25midkwow, that's quite something..
07:08:32LinusNi went to bed right after
07:09:39midkoh, morning in that case :)
07:48:42 Quit midk ("just STOP it arspy")
07:48:43 Quit kramerica (Read error: 104 (Connection reset by peer))
07:49:19 Join midk [0] (
07:55:43 Quit midk ("just STOP it arspy")
07:58:46 Join midk [0] (
08:01:12 Join [IDC]Dragon [0] (
08:01:55*[IDC]Dragon saw that LinusN had success in flashing the iriver! ;-)
08:02:49 Quit AciD (Remote closed the connection)
08:02:56*midk sees that LinusN is away (meeting)
08:03:05*midk sees it is time for bed, nite all
08:03:22[IDC]Dragonsee you!
08:06:48 Join plok [0] (
08:11:07 Join Chronic007 [0] (~Miranda@
08:11:29Chronic007hey all
08:12:01*plok is away - Automatically set away. - messages will be saved.
08:15:19LinusN[IDC]Dragon: i haven't flashed it...
08:15:33LinusNi just ran the program with the debugger
08:15:41LinusNi cheated :-)
08:16:13[IDC]Dragonthat was just a joke: LED flashing vs. ROM flashing
08:16:34*LinusN was too tired to get it
08:17:27Chronic007Love having your technical chat in the background while I do homework....: -)
08:18:29Chronic007it always proves to be so interesting
08:18:43Chronic007we'll back to work.....
08:33:12 Join amiconn [0] (
08:35:26[IDC]Dragonmorning Jens
08:36:06amiconnGood morning Jörg
08:36:31amiconnMorning all
08:38:11[IDC]Dragonmy USB card was shipped yesterday, best case I'll get it today
08:38:36[IDC]Dragonthen I'dbe ready for some HD and partition swapping
08:40:28 Join Zagor [242] (
08:47:44[IDC]DragonZagor: how about removing unused stuff from the fat bpb struct?
08:48:13[IDC]Dragonwe're copying some info there which is unused
08:48:29Zagorgo ahead
08:48:59[IDC]Dragonok, I thought maybe you liked it there for debugging or such
08:49:38Zagornah, it was just left there because I wasn't sure in the beginning which parts the driver would use. and then I never cleaned up.
08:50:13LinusNZagor: i ran my first iriver blink program last night
08:50:24amiconn[IDC]Dragon: Same decision I have to do with the CSD data from the MMCs. Some items are not needed for operation, but may be interesting for debugging/survey/whatever
08:50:31dwihnoGreat work, Linus!
08:50:43ZagorLinusN: wohoo!
08:51:02LinusNmajor backlight blinking
08:51:04dwihnoFirst step - enable LCD; next: port RLD code ;)
08:51:17dwihnoled, that is
08:52:47***Saving seen data "./dancer.seen"
08:54:23LinusNshould we move all data sheets to wiki?
08:54:50LinusNthe archos sheets are on the web server, and the iriver sheets are in wiki
08:55:07LinusNi want all sheets on the same place
08:55:31Zagorthen move them to wiki
08:56:41[IDC]Dragonamiconn; then I suggest the same: put them in for now, clean up later
09:14:41 Join kurzhaarrocker [0] (
09:15:27kurzhaarrockerMoin. Are there any news about the recording bug(s)?
09:16:30Zagoryou mean the spdif recording issue?
09:16:33LinusNkurzhaarrocker: nope, i have sent a test version to Paul
09:17:04kurzhaarrockerZagor: I meant corrupt frames / stuttering recordings.
09:17:09kurzhaarrocker:( LinusN
09:17:41Zagorthe latest theory is that this never worked, we just didn't have frame checksums enabled back when it appeared to work
09:19:58kurzhaarrockerWhat happens with frames whose checksums don't match?
09:20:29Zagorwe save them in the file, and then it's up to the player to decide what to do with them
09:20:48kurzhaarrockerok. That's what I'd have guessed. :)
09:21:22LinusNthe MAS mutes bad frames, leding to stuttering sound
09:21:37LinusNshort silent "glitches"
09:23:27kurzhaarrockerDo they occur regularily or only occasionally? I have a recording that has signal / silence changes at ~2 Hz or so.
09:26:18LinusNkurzhaarrocker: they occur when the MAS decodes a frame with bad CRC
09:26:32LinusNhow often that happens depends on how many crc errors thare are in the file
09:26:54LinusNand your file happens to have it at those intervals
09:27:31kurzhaarrockerok so there is no 'typical pattern' of those glitches.
09:27:35LinusNwe don't see a pattern when it happens and how often
09:30:02Bagdercongrats on the blink LinusN!
09:42:10 Join Headie [0] (
09:43:05 Quit [IDC]Dragon ()
09:44:05 Part kurzhaarrocker
09:44:19LinusNBagder: was really fun to finally write, compile and run code on the iriver
09:44:52BagderI can imagine that
09:45:18Zagorthose little things are the gems of the whole project
09:46:04Bagderyou guys know if I can make tabs visible with emacs in c-mode?
09:46:19BagderI've searched, but found nada
09:46:27LinusNi have no idea
09:46:29Zagorno idea
09:46:37Zagori usually ask you :)
09:47:15BagderI just get so annoyed when tabs sneak in
09:47:26BagderI would like to notice them better
09:47:56Bagder(defun curl-code-cleanup ()
09:47:56Bagder "no docs"
09:47:56Bagder (interactive)
09:48:00Bagder (untabify (point-min) (point-max))
09:48:00Bagder (delete-trailing-whitespace)
09:48:01Zagorit's probably possible to tweak the c-mode a bit, so it acts like makefile-mode in showing tabs
09:48:32Zagorhappy lisping...
09:49:00Bagderthis function actually works ;-)
09:49:09Bagder (define-key c-mode-base-map "\M-m" 'curl-code-cleanup)
09:49:22Bagdernow meta-m cleans up
09:54:18 Part LinusN
09:54:28 Join LinusN [0] (
09:55:56 Part LinusN
09:56:06 Join LinusN [0] (
09:58:02 Join amiconn_ [0] (
09:58:05 Part LinusN
09:58:15 Join LinusN [0] (
09:58:20Zagorbouncy bouncy
09:58:47LinusNshitty tunnel
10:15:52 Join [IDC]Dragon [0] (
10:16:32 Quit amiconn (Read error: 110 (Connection timed out))
10:16:33 Nick amiconn_ is now known as amiconn (
10:21:43 Join webguest82 [0] (
10:23:08 Quit webguest82 (Client Quit)
10:32:29*Bagder admits to be using a UI-based tool for id3 editing
10:33:30Zagorwhich one?
10:33:46Zagori use that one too
10:33:47Bagderpretty nice
10:34:06Zagoryeah, i just wish there were some more keyboard shortcuts
10:40:43LinusNwe have officially ditched the Neo port, right?
10:41:04LinusNthen i'll clean up a little
10:41:05BagderI think so
10:47:51[IDC]Dragonamiconn: r u there?
10:52:02amiconnyes, sort of
10:52:49***Saving seen data "./dancer.seen"
10:57:30[IDC]Dragonhow do you see the chances of getting a little pause into the voice file, for spelling spaces?
10:58:10[IDC]DragonThis would be a special case to the script
10:59:10amiconnYes. I did already think of building more "knowledge" into the script in order to strip the leading and trailing silence only from those clips that need it (spelling chars, numbers)
10:59:54[IDC]Dragonyou tolerant wavtrim already does that...?
11:00:09amiconnThis would help to avoid unwanted clicks at the end
11:00:34amiconnThe modified wavtrim strip silence even it is not absolute silence.
11:01:22[IDC]Dragonyou mean, it should do a quick fade in/out in such cases?
11:01:24amiconnThe decision whether to strip at all must be done in the script
11:02:59amiconnNo, ordinary phrases shouldn't be stripped at all
11:03:08[IDC]DragonOK, I'll add a voice ID for space, then it's up to the script whether this is used or not. Absent clips are just skipped, so no change in behaviour
11:03:42 Join ashridah [0] (
11:04:40amiconn[IDC]Dragon: Btw, what are you trying to do with that space?
11:05:14[IDC]Dragonjust improve the spelling, right now words are "merged"
11:05:26amiconnAh ok.
11:10:08[IDC]Dragonand I'm close to implement patch 978765
11:10:23[IDC]Dragon(filename clips)
11:11:09[IDC]DragonI'll remove the dir talk on enter then nobody seems to use it
11:11:34amiconnI agree that "on enter" doesn't make much sense
11:11:42[IDC]Dragonand rename "while hovering" to "name clip" or something
11:12:08[IDC]Dragonthe "on enter" came from the original talkbox patch
11:13:53[IDC]Dragonsome interesting corner cases:
11:13:57amiconn(filename clips) This would add a lot of files. I like the idea to put the clips into an id3v2 tag though
11:14:22[IDC]Dragonwhat happens if a file is called _dirname
11:15:17[IDC]Dragonwhat happens if hovering over a filname clip file
11:15:41[IDC]Dragoncan a clip file be "voiced" by adding another .talk
11:16:40amiconnIf you really want to do it that way, a clip file should voice itself, possibly preceded or followed by "clip" to indicate that this is the clip file
11:17:14[IDC]DragonI don't like custom id3v2 tags
11:17:51[IDC]Dragonthey apply only to mp3 files, and the files get changed in a proprietary way, good for nothing else
11:18:44[IDC]Dragonif every application adds their poop to a file, you carry all that crap around
11:19:33[IDC]Dragonwith extra files, it's in the responsibility of the user, he decides on how much
11:19:43amiconnYes, but on the other hand filename clips in a file clutter the directory with many additional files
11:20:45amiconnPlus, you get the problem to add a clip for a clip for a clip... unless you handle the special case and let a clip voice itself.
11:21:22amiconnThe _dirname case wouldn't be a problem if dir and file clips get different extensions
11:24:29[IDC]Dragonnah, I don't like to confuse with another extension
11:25:06[IDC]Dragonthe _dirname file case is exotic enough to ignore it, as long as we don't crash
11:25:31[IDC]Dragonand the script has to take care not to voice .talk files
11:28:35 Join AciD [0] (
11:39:14amiconn[IDC]Dragon: If you implement filename clips, wouldn't there be a spinup each time you move the cursor in the browser, for the clip file lookup?
11:56:39[IDC]Dragonamiconn: like currently with directories, yes
11:58:52[IDC]Dragonlunch time
12:08:12amiconnSpinup for every file is bad. The clip file names could be cached in the dir buffer even if thy are not displayed, so there is no spinup if a clip file is not present.
12:08:39amiconnOf course this requires reworking the dir buffering (not displaying some cached filenames)
12:21:54 Join webguest78 [0] (
12:29:56 Quit webguest78 ("CGI:IRC")
12:52:50***Saving seen data "./dancer.seen"
12:54:59amiconn[IDC]Dragon: A better approach (imho). Cache for every displayed file whether a clip file exists. This needs only one byte per entry
12:55:16 Part Chronic007
12:59:52[IDC]Dragonback again
13:01:22[IDC]Dragonamiconn: now I get you, I thought you meant spinups to actually play the clip
13:18:08 Quit AciD (Read error: 104 (Connection reset by peer))
13:23:04amiconn[IDC]Dragon: That spinup is of course unavoidable...
13:28:50[IDC]Dragonfor a second I thougth you want to cache that
13:30:59 Part Zagor
13:31:42[IDC]Dragonwe have some free bits in entry.attr
13:33:21[IDC]Dragonso I could optimize, let's ask if the 3 swedes would like it ;-)
13:36:08[IDC]Dragonone of them just left :-(
13:37:56LinusN[IDC]Dragon: what's your idea with the attr field?
13:38:42[IDC]Dragonto have a bit for associated voice clip present or not
13:39:39[IDC]Dragonactually, attr is a short, followed by a 32 bit member, so 16 bits are wasted
13:40:19[IDC]Dragonplenty of space for whatever
13:43:51LinusNso the dir loader would check for corresponding clip files, set the attr bit in the struct, and maybe hide the clip file in the listing
13:46:19[IDC]DragonI'm not sure yet how to build the file list with that flag, avoiding a search per found .talk file, but something like that, yes
13:47:26LinusNsounds ok to me
13:49:20[IDC]Dragonthe association is the problem, or we have to consider the extra search time the price to pay for filename voicing
13:50:37[IDC]Dragonif the user deletes a file, should we delete the .talk file as well? (I'd say yes)
13:51:23[IDC]Dragonthis was easier with a dir, because the file is inside
13:55:22LinusNi gnerally don't like the idea to delete another file in the process, but the .talk file is useless without the corresponding file
13:55:41LinusNso i think we could safely delete it as well
13:58:37 Join AciD [0] (
14:01:56amiconn[IDC]Dragon: I thought you wanted to do the chunked .voice loading first. While the voice ui works fine on the Ondio, the load delay is a bit annoying.
14:02:20 Join elinenbe [0] (~elinenbe_@
14:07:18[IDC]Dragonamiconn: I haven't talked about the order of things yet ;-)
14:08:55[IDC]Dragonthe filename .talk patch is easy, leaving the tag bit apart for now, and helps a wider user base
14:09:27[IDC]Dragonsure the ondio needs a revision for its voice UI
14:09:49[IDC]Dragonmostly it needs a FAT16 fix
14:10:25[IDC]Dragonmy USB board hasn't arrived yet
14:11:16amiconnI think the chunked .voice loading is not that difficult as well. First load only the table containing clip positions and lengths. The size of this table is known. Then load the clip by a seek and a read before voicing it
14:14:25amiconnI would be glad to help with the fat16 issue, doing some diagnostic output
14:16:03[IDC]Dragonno, "chunked voice" (sounds funny) should be easy, seek, read, play
14:16:51[IDC]Dragonfor fat16, you're most welcome to hunt, sure
14:18:01amiconnAs you were not around yesterday evening, I preferred to work on the MMC driver in the meantime
14:18:30[IDC]DragonI worked on our house
14:18:41[IDC]Dragonany MMC news?
14:19:45amiconnDebug menu item is almost done, and I improved the parameter reading from CSD on init. For this, I borrowed your bit extracting function from settings.c
14:20:11amiconnHad to adapt it a bit, since I need the bits counted from MSB to LSB
14:20:50[IDC]Dragonit's always nice see my code reused :-)
14:21:23[IDC]Dragondo you have items overlapping byte/word boundaries?
14:21:28amiconnThere was actually a bug in the timeout calculation (didn't influence behaviour, but could have for some MMCs
14:21:49amiconn(overlapping) yes, the CSD layout is rather weird
14:22:18[IDC]Dragonbecause, that's what this bit extractor is really for, masking aligned values is trivial
14:23:04[IDC]Dragonactually, it is even overpowered for the settings code, because there we don't exploit the random access
14:23:38[IDC]Dragonif th values are just read/written in a row, simpler shift register code could be used
14:23:43amiconneven byte aligned values aren't always trivial, e.g. there is a long that is not long aligned
14:31:55amiconnI don't need all values, so I don't read the values in a row
14:37:00 Quit LinusN (
14:37:00 Quit mbr (
14:37:00 Quit Ka_ (
14:37:00 Quit Hadaka (
14:37:48 Join willows_m [0] (
14:37:53NJoinmbr [0] (
14:37:53NJoinHadaka [0] (
14:37:53NJoinKa_ [0] (
14:48:19NJoinLinusN [0] (
14:51:14 Quit midk ("just STOP it arspy")
14:52:53***Saving seen data "./dancer.seen"
14:53:55 Join midk [0] (
14:55:28 Quit midk (Client Quit)
14:55:33 Join midk [0] (
14:58:05 Quit midk (Client Quit)
14:58:10 Join midk [0] (
14:58:49 Quit midk (Client Quit)
15:00:00 Join midk [0] (
15:10:17 Quit willows_m (Read error: 110 (Connection timed out))
15:27:00*Bagder detects an active LinusN
15:29:54*elinenbe detects an idle Bagder and LinusN
15:40:52Bagder"non constant or forward reference address expression for section .mp3end"
15:41:10BagderLinusN: you read?
15:41:57*Bagder can't link
15:42:05Bagderbuilding recorder
15:43:47Bagdertime to feed a little girl!
15:44:42 Join methangas [0] (
15:48:35LinusNBagder: fixed
15:48:39elinenbeLinusN: do the CVS changes mean anything big going on?
15:48:50LinusNelinenbe: not really
15:49:01elinenbejust getting ready?
15:49:12LinusNyeah, preparations
15:51:03LinusNgotta go now
15:51:06LinusNcu folks
15:51:47 Part LinusN
15:54:12 Quit elinenbe (" HydraIRC -> <- The dawn of a new age")
16:12:58 Join R3nTiL [0] (
16:15:13 Quit R3nTiL (Client Quit)
16:21:28 Join mattzz [0] (
16:27:48 Quit mattzz ("Client exiting")
16:37:06 Join mecraw [0] (~lmarlow@
16:52:56***Saving seen data "./dancer.seen"
17:19:47 Quit ashridah ("crapicus! 1:20am. sleep. SLEEEEEEEP")
17:23:22 Quit AciD (Read error: 110 (Connection timed out))
17:28:16 Join gromit``` [0] (
17:36:46 Quit gromit`` (Read error: 60 (Operation timed out))
17:37:26amiconnBagder: Linus' latest changes caused >1200 warnings for the win32 simulator builds...
17:50:05*[IDC]Dragon browses on how that looks
17:51:57[IDC]Dragonhow many digits would fit into that column?
17:52:41amiconnIt seems that all plugins have problems with the cpu include, but only for Win32 sim
18:16:57 Join _aLF [0] (
18:46:42 Join AciD [0] (
18:50:19 Quit [IDC]Dragon ("CGI:IRC")
18:52:59***Saving seen data "./dancer.seen"
18:57:22 Join JackShadow [0] (
20:22:39 Quit Headie (Read error: 110 (Connection timed out))
20:44:37 Join PRVSaosn [0] (
20:44:42PRVSaosnhi all
20:44:53PRVSaosncan suggest a good chan about iriver ?
20:53:03***Saving seen data "./dancer.seen"
20:57:32 Join Headie [0] (
22:05:53 Join marc77 [0] (
22:21:50 Join IRCMonkey [0] (
22:22:16 Join [IDC]Dragon [0] (
22:23:45 Quit IRCMonkey (Client Quit)
22:24:57 Quit marc77 (Read error: 104 (Connection reset by peer))
22:25:00 Join marc77 [0] (
22:33:48 Join scott666 [0] (
22:43:45amiconnhi again Jörg
22:45:26[IDC]Dragonhello to Berlin
22:46:17amiconnI just committed my latest MMC enhancements, including debug menu info
22:46:45[IDC]Dragonoh, have to grab that
22:47:12amiconnAny news concerning FAT16 probs, or still searching?
22:47:31amiconnIn that case I'll switch to FAT16 as well..
22:47:31[IDC]Dragonnot searching yet
22:47:44[IDC]Dragonfirst I need that USB board
22:48:41amiconnI can do target tests, and if we compare with the test code, maybe this will shed some light on the problem...
22:49:35amiconnBtw: Don't you have USB already? I can't imagine that...
22:50:21[IDC]Dragonsure I have USB(2), but it's unreliable
22:50:42[IDC]Dragonno good for larger transfers
22:51:25amiconnIf you have some ideas what to try, but need the larger recorder screen, I could do some tests on the recorder as well, although this would require swapping HDs
22:52:04[IDC]Dragonlet's try to avoid that for now
22:52:26[IDC]Dragonalthough I'll have to swap disks, too
22:52:26amiconnI still have my old 20 GB disk laying around in my cabinet.
22:52:57amiconnThe only diff is that I have no serial mod (yet), hence no gdb
22:52:59[IDC]Dragonget a USB enclosure for it
22:53:05***Saving seen data "./dancer.seen"
22:54:12 Quit methangas (" Like's GUI? Then try HydraIRC -> <-")
22:54:26amiconnI don't really need another one, as I have my recorder...
22:55:25amiconnI could sell it on eBay, or put it into the Studio (which has only 10 GB atm, and it's a Hitachi RLOD disk)
22:56:18[IDC]Dragonthe 10 GB ones are also RLOD?
22:56:38amiconnIirc the whole Hitachi DK23DA series is
22:58:10amiconnAlthough I didn't get a single RLOD yet, but ay be due to one of these facts: (1) I didn't use it much yet (2) I don't move it significantly while using it (3) Iirc there are no reports of RLOD on players (??)
23:07:13PRVSaosnplease ? someone can suggest a good chan about iriver ?
23:15:28amiconn[IDC]Dragon: The problems seems to come from next_write_cluster()
23:16:20*[IDC]Dragon looks...
23:17:14amiconnThe first file cluster is 26. At the cluster boundary, the next cluster returned is -8
23:24:12amiconnNext level: get_next_cluster() ...
23:25:18[IDC]Dragonnot next_write_cluster()?
23:25:26[IDC]Dragontracing the reads will drive you crazy
23:25:26PRVSaosnDragon ? ami ?
23:25:56 Quit JackShadow ("Verlassend")
23:25:58amiconn[IDC]Dragon: next_write_cluster() in turn calls get_next_cluster() which returns the -8
23:26:17amiconnTracing back the bad value...
23:26:55amiconnI have a suspicion, though it's strange why it works with the test code then...
23:26:56[IDC]Dragonfor overwriting an existing file, yes
23:28:42amiconnIt does also use it for extending an existing file
23:29:23amiconn...which is true for all opened files from the 2nd cluster on
23:37:06amiconn[IDC]Dragon: Woohoo, found the reason!
23:37:38amiconnThere are actually 2 problems:
23:38:21[IDC]Dragonc'mon, tell me
23:38:51amiconn(1) The return value of read_fat_entry is signed, which is no problem for FAT32, since the value is ANDed with 0x0fffffff, so it'Äs always positive
23:39:52amiconnHowever, this ANDing is not done for the FAT16 case, and the return value gets sign-extended from short, so gets negative. Adding & 0xffff fixes this problem
23:40:27[IDC]Dragonbetter make it unsigned
23:40:29amiconn(2) (At least) with FAT16, the EOF mark is not only FFFF, but may be any value between FFF8 and FFFF.
23:40:52[IDC]DragonFFF8 usually
23:41:07amiconnYes, and that doesn't get detected as EOF
23:41:49amiconnAh, I was wrong, so forget the 2nd problem
23:42:05[IDC]DragonOK ;-)
23:43:20amiconnWhere is SWAB16 defined?
23:45:07amiconnAh. Btw, this explains why the bug doesn't occur with the test code: The test code runs on x86, which is little endian. For little endian, SWAB16 does nothing...
23:45:38[IDC]DragonI was suspecting an endian porting issue
23:45:58[IDC]Dragonbut not with tricky signed/unsigned
23:46:23amiconnYou got the endianess right in this case, but SWAB16 returns short on SH1, which gets sign-extended...
23:47:08[IDC]DragonI don't think these macros should be signed
23:47:12amiconnMaybe casting the SWAB16 return value to (unsigned short) is the best solution
23:48:37amiconn[IDC]Dragon: Should we dare to change them to unsigned? Maybe this will break other places in rockbox
23:49:02[IDC]Dragonit's "only" used in fat and ata
23:49:25amiconnThere are SWAB16, SWAW32 and SWAB32...
23:50:55[IDC]Dragonsame for SWAB32, but SWAW32 is unused
23:51:37amiconnOk, let's change them to unsigned and see what will break..
23:51:57[IDC]Dragonvery daring tonight, are we?
23:52:21[IDC]Dragonit makes no sense to have a signed swap, imho
23:55:00[IDC]Dragontry on your scratch disk first, please
23:55:11amiconnI'll do so
23:55:25amiconnPerhaps I should also test FAT32...
23:55:49[IDC]Dragonbetter yes
23:58:46[IDC]Dragonand with PREFER_C_READING, because then the ata code does SWAB16

Previous day | Next day