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).

Notice: Only Gecko based browsers prior to FF4 support the multipart/mixed "server push" method used by this log reader to auto-update. Since you do not appear to use such a browser, this page will simply show the current log, and not automatically update.

#rockbox log for 2005-02-24

00:00:25muesli_-g'day :D
00:00:28 Join preglow [0] (
00:01:06 Join amiconn_ [0] (
00:03:42 Quit Renko (Remote closed the connection)
00:04:27 Quit hubble ()
00:10:40 Quit cYmen (Read error: 113 (No route to host))
00:17:33 Quit amiconn (Read error: 110 (Connection timed out))
00:17:33 Nick amiconn_ is now known as amiconn (
00:26:08 Join pill [0] (
00:26:09 Quit muesli_- (Read error: 104 (Connection reset by peer))
00:31:12 Quit Sucka ("( :: NoNameScript 3.81 :: )")
00:43:11Patr3ckcan someone explain what the function wake_up_thread() in kernel.h does?
00:46:38 Join Sykoghost [0] (
00:51:28Patr3ckmaybe tommorow...
00:55:41preglowwell, i wakes threads that are sleeping
00:56:00Patr3cki have seen it in interrupt handling routines
00:56:46Patr3ckother threads go to sleep when the interrupt occures and awaken when the interrupt routine finishes?
00:56:52 Quit Digital007 ("CGI:IRC (EOF)")
00:56:54preglowit just resets num_sleepers, which is set to number of sleeping threads
00:57:09preglowso it bascially just wakes everything up
00:57:30preglowwhat makes a thread sleep is dependent on what it does, i guess
00:57:32preglowreally don't know
00:57:53preglowcool, when all threads sleep, rockbox set cpu to sleep mode
00:58:11Patr3cksaves power?
00:58:30preglowdoes absolutely nothing until an interrupt occurs
00:59:18Patr3ckwhich will happen every 1 ms if i am able to program that second timer the coldfire has ;-)
00:59:53***Saving seen data "./dancer.seen"
01:01:14preglowwhat are you going to use it for?
01:01:36Patr3ckmeasure time in milliseconds
01:01:44 Quit Sykoghost ("Chatzilla 0.9.67 [Firefox 1.0/20041107]")
01:01:51preglowhow do you plan to do the profiling? just insert timing in all the functions?
01:02:10Patr3cknaive approach for now
01:02:40preglowi was thinking of a way to do it more automatically
01:02:44Patr3ckadd PROFILING_START(symbol_name), PROFILING_STOP(symbol_name) to every function to profile
01:03:11Patr3ckadd the information gathered to a central array
01:03:27preglowhaving the timer interrupt check its own stackframe to find the previous eip, then add that eip to an array that gets dumped to a file at some point
01:03:42preglowi forget i'm not on x86 anymore, heh
01:04:01preglowthen you can translate those ip addresses to function name with the file
01:04:15Patr3cki see
01:04:33preglowthe only problem is: the rockbox map file doesn't contain names of static functions :/
01:04:36 Quit Quelsaruk ("KVIrc 'Realia'")
01:04:44Patr3ckthe array would grow very fast though?
01:05:04preglowone entry for every ip
01:05:13preglowwhich would be a lot in the end
01:05:23preglowpossibly _very_ big, yes, you've got a good point :P
01:06:02Patr3ckwith that method, could a tree like structure of function call be recorded?
01:07:26preglowdon't think so
01:07:50Patr3ckmy code isn't doing it now, but that would be possible to add
01:07:54preglowit would eliminate the need for having to modify functions
01:08:04preglowbut it would only give relative timing
01:08:08preglowbut that should be enough, really
01:08:22preglowif one function has 3242352 hits, and another 483, you know which of them to optimize ;)
01:08:43Patr3cknot having to modifiy the code to profile would be a big plus
01:09:13preglowbut the point you raised is a good one, we would have to make an internal address->function name table
01:09:25preglowor write to disk from the interrupt handler, which i guess is Bad
01:10:02Patr3cknot good for time measurement
01:10:27preglowtime isn't measured anyway, you're just measuring which functions is used most
01:10:33preglownot how much time they use
01:10:54preglowyou can translate that information to time used if you time the program, though
01:12:10Patr3ckif the time is not measured, writing to disk during profiling shouldn't be an issue?
01:12:36preglowno, but can you write to disk in an interrupt handler?
01:12:48Patr3cki have no idea :-)
01:14:23preglowi'd say go for your idea right now
01:14:27preglowyou need the timer anywa
01:15:06Patr3ckit already works, using ticks for measurement at the moment
01:15:26Patr3ckafter the other timer is done i will switch to it
01:15:52Patr3ckonly thing that bothers me is the overhead of the profiling corrupting the measurement of time
01:17:20Patr3ckthe overhead of profiling will be added to the time used of a function deeper in the call tree
01:18:58 Join XShocK [0] (
01:20:58 Quit midk ("Leaving")
01:27:56 Join ashridah [0] (
01:29:34Patr3ckpreglow: thinking about your idea, why not only store ip adresses + call count in an array
01:29:51preglowPatr3ck: because the ip address would be different more or less every time
01:31:26Patr3ckpreglow: it does not correspond directly to a function...
01:31:40Patr3ckpreglow: would it be possible to do the but if you translate ip addresses to function names
01:31:57preglowyes it does, but a function can correspond to many addresses
01:32:15preglowPatr3ck: well, yes, it would, but impractical :/
01:32:21preglowyou can do it in two passes
01:32:24preglowone pass where you write
01:32:28preglowanother where you time
01:32:47Patr3ckpreglow: translate them to function names in the interrupt?
01:32:59preglowyes, but it would require a huge lookup table
01:33:11preglowand a script would have to be written to translate the map file to a lookup table
01:34:03Patr3cktoo bad, not changing the code to profile would be a winner :-)
01:34:29preglowbut yes, the ip -> function name resolution can be done by a script
01:34:54preglowbut yes, i don't know if i can access the disk in an interrupt
01:34:57preglowneed to find that out
01:35:12Patr3ckif its done by a script you still have the fast growing array of ips
01:35:28preglowyes, but that's no problem
01:35:42preglowa huge file should be done pretty quickly
01:35:55preglowi wonder how the gnu profiler handles this
01:36:05preglowit does something very much like this, i think
01:38:09Patr3ckwell, for now I will finish what I started...
01:38:19preglowdo that
01:38:49 Quit Aison ("( :: NoNameScript 3.72 :: )")
01:41:54Patr3ckto bed now, bye
01:42:29 Quit Patr3ck ()
01:56:01 Join markun [0] (
01:57:05 Quit mecraw ()
01:58:33markunfor all you log readers: I added _LOW_ACCURACY_ to the building of Tremor. vorbis2wav now gives me 4.27% real-time.
01:58:41 Quit markun (Client Quit)
02:26:48 Join stevenm [0] (
02:26:58stevenmHello. Anyone here working on the iriver port ?
02:27:57preglowdepends on what part you mean
02:28:17stevenmI am looking for someone who can test the beginnings of my MIDI codec on the target
02:28:34stevenmOr on a simulator, if the sim build supports sound now
02:28:36preglowyou haven't got a player yourself? :P
02:28:49preglowwell, the player itself sure as hell doesn't support sound yet
02:28:56stevenmnah, all I've got is an ajbrec
02:28:57preglowthat is, it does, but the changes aren't in cvs yet
02:29:07stevenmI see..
02:29:24 Quit edx (Read error: 110 (Connection timed out))
02:29:26preglowso unless it renders to wav or something, no can do
02:29:26stevenmWhat kind of code are you "allowed" to write for Iriver ?
02:29:42stevenmlike, can you use mallocs or not ?
02:29:59stevenmright now it ouptputs to a pc's sound card.. but that's a PC
02:30:02preglowdepends on how much memory you need, i think malloc is available now
02:31:05stevenmI am allocating a few large blocks and a bunch of small ones
02:31:17preglowwhat are you using the memory for?=
02:31:28stevenmby large I mean around 16k, and the smaller ones are around 3 -100 bytes
02:31:36preglowif this is supposed to be a codec, you should use the mp3 buffer anyway
02:31:59stevenmfor a MIDI file, it has to load the whole thing into memory before being able to play it
02:32:17stevenmBut if it's a MIDI file, it will very rarely be over 100k
02:32:28preglowbut if the memory you need is to be constantly used throughout the song, you can just as well reserve some space for it in the mp3 buffer while you're loading the midi file
02:33:15stevenmI see
02:33:23stevenmHow big is the MP3 buffer ?
02:33:31preglowabout 30 odd meg
02:33:37stevenmAnd, if I do not put it in the MP3 buffer, how much 'non-MP3' memory is there ?
02:33:40preglowthat's where all the tracks are put
02:33:52preglowthat i don't know
02:33:56stevenmwow.. that is quite a bit of memory
02:33:59preglowmy guess would be 'not much'
02:34:17stevenmI think right now I will leave the tracks in regular memory
02:34:33stevenmbecause I'll most likely need the MP3 buffer for the wavetables, **IF** I ever figure out the GUS patch format
02:35:08preglowyou should find gus patch loaders around, tons of programs have used those patches
02:35:20preglowwhen you make the codec, you should use the mp3 buffer for all you can
02:35:45preglowpattern data, sound fonts, data you need during the whole duration of the track
02:35:56preglowit doesn't matter, it'll be just like using malloc anyway, i guess
02:36:02stevenmHow can I use it? Is there a special routine that will allocate memory within it? Or do i just get handed a pointer to the beginning of this buffer ?
02:36:09preglowit isn't done yet
02:36:17preglowwe're still discussing the codec api
02:36:20stevenmI see
02:36:58stevenmwell right now, the player runs on a PC, but only one file is actually dependent on a PC. the rest should work fine w/ iriver
02:37:11preglowgreat, no floating point i hope?
02:37:18preglowthough i can't see why a midi player would require that, heh
02:37:55stevenmThere's 'some' floating point
02:37:59preglowused for what?
02:38:05stevenmjust for the sine math
02:38:12preglowi can pretty much guarantee you it's easily removed anyway
02:38:26preglowwhat do you use sines for?
02:38:51stevenmSince I don't have a patch loader, but I felt like testing everything else, I just syntehsized each note on each instrument as a sine wave
02:39:02preglowahh, won't need that in the final codec ;)
02:39:12stevenmhopefully not..... if I can figure out GUS
02:39:14preglowi've done a sine routine in fixed point math anyway
02:39:28stevenmyea, it shouldn't be too hard
02:39:44stevenmor I can do that Taylor thing.. I won't need too much percision
02:40:06preglowthat'll work too, yes
02:40:25stevenmwhat's the maximum sampling rate / sample size I can use ?
02:42:03preglowhardware limit is around 100khz
02:42:12preglowbut can't see why anyone would want to use more than 48khz on a portable
02:42:35stevenmright now I have it set at 41000, but that can be easily changed
02:42:51stevenmit's fairly independent of that
02:42:52preglowmost people will probably have to nonstreaming codecs set at 44.1khz
02:43:29stevenmall the timing is based on how quickly the device can play back its buffer.. knowing the sampling rate, it generates the right number of samples per MIDI tick
02:43:50stevenmif you feel like checking this thing out (and have linux) there's a link on the wiki
02:44:13stevenmi'm just not sure how to write to the iriver dsp.. guess i'll have to wait for the codec api
02:44:24preglowwe're not sure ourselves, right now
02:44:31preglowwe've had some discussions, but that's that
02:44:54stevenmyea it must be annoying to make a cross-platform codec api
02:45:06stevenmiriver, plus that gmini thing
02:45:25preglowthat will be interesting, yes
02:45:57stevenmDo you know of a good place to find an explaination of the GUS format ?
02:46:17stevenmI been trying to figure this out for a while... most results I get are old obscure DOS utilities for loading GUS data into a GUS card
02:46:30stevenmno code, of course
02:46:43preglowwhat extension is it?
02:46:58preglowyes, remembered)
02:47:17preglowi wish i still had a gus
02:47:20stevenmI did find one place that gives the structure of the header.. just the field names, but nothing about what they mean
02:48:13preglowwhat about soundfonts, btw?
02:48:28stevenmI gather they are similar to GUS patches
02:48:56preglowa bit more elaborate
02:48:59stevenmI think I came across a utility that will turn amny gus patches into a soundfont, and vice versa
02:49:41preglowsf2 specifies filter settings and stuff
02:49:50preglowdon't know if it's actually used, though
02:50:25stevenmI looked at the header description.. there's stuff in there that I haven't even heard of
02:50:47stevenmit's so intimidating... forget tremolo and vibrato, right now I just want to load a sample
02:51:18preglowboth are piece of cake anyway, but i understand your concern ;)
02:51:42preglowbut yes, gus patch doesn't look too hard, but there are some fields i don't understand
02:51:45stevenmyea.. once I get the basic parts of it down, I can probably code the "extra" stuff.. but just loading one wavefurm would be nice
02:51:59stevenmdo you know how to read a GUS file ??
02:52:08preglowno, i'm just looking at a rough spec
02:53:55stevenmI was going back and forth about what would be easier, emulating an FM chip or figuring out GUS
02:54:29stevenmway back when, I made a simple 8Khz patch set.. of just raw data, no ADSR or anything. it sounds like JUNK but it wasn't exactly meant for a PC
02:54:31preglowwriting a simple fm synth is also piece of cake
02:54:36stevenmReally ?
02:54:57stevenmWhere would you get the formula for producing a sample?
02:55:07stevenmand, where would you get the FM parameters for each MIDI instrument ?
02:55:22preglowthe last would be 'through trial and error'
02:55:45preglowunless you emulate an opl chip and make a loader for those patches
02:55:51preglowin which case you've got more work on your hands
02:56:12stevenmI have been digging whru the Fm emulator built into scummvm
02:56:15preglowbut fm is just a bunch of sine waves ticling each other in a nice fashion
02:56:31preglowand the sine wave routine i've already got
02:56:35stevenmin their code, I saw a HUGE table, named simply gm_to_fm[]
02:56:58stevenmonly, there is no explaination of what order the parameters are in
02:57:10preglowbut no
02:57:17preglowsample loader is the way to go
02:57:20preglowfor now, at least
02:57:46stevenmThe problems: the whole code has been adapted for scummvm, in C++, and the synth file (which looks ike YS2126?) is all in Japanese
02:58:05stevenmyou're probably right
02:58:19preglowyou've seen those two, i take it?
02:58:49preglowthe last one seems to be slightly different, but's got more explanations of the fields
02:59:04stevenmgetting off-site link errors
02:59:20preglowsearch for 'pat'
02:59:23preglowfirst two hits
02:59:39stevenmyea.. got it
02:59:55***Saving seen data "./dancer.seen"
03:00:28stevenmI have seen this
03:00:47stevenmWhat are layers ?
03:00:56 Join skav [0] (
03:01:11preglowi have no idea, and it doesn't seem to be supported anyway
03:01:27preglowit probably refers to layered samples, playing several samples simultaneously
03:01:46preglowlike in a piano, the hammer and the vibrating string
03:01:53preglowcould be separate samples
03:01:55preglowbut i'm not sure
03:02:07stevenmhmm.. that makes sense
03:02:27preglowbut yes, as it says, i think layers = 1 is most common, and then you don't have to worry about it :)
03:02:40stevenmI see
03:02:56stevenmnow, when they say, 'attack rate' / envelope rate / etc, what units are they using ?
03:03:10stevenmI mean, it's just a number.. how do you make use of it in the code ?
03:03:32preglowi have no idea
03:03:37preglowsame with tremolo and vibrato
03:03:42preglowthey're pretty useless with no reference
03:04:07stevenmyou know what
03:04:13stevenmI remember an old windows program, Awave
03:04:24stevenmand I know I tried using it to figure out GUS before
03:04:49stevenmdo you think it would be reasonable to use this thing to extract the data out of the GUS files into, say, .raw files or .wav, and then try to work with those ?
03:05:02preglowwell, what would you gain?
03:05:12stevenmat least I would know the format of the files I am dealing with
03:05:24preglowsure, you don't have to write a pat parser, but that doesn't look like it's too hard
03:05:34preglowbut the tremolo settings and so forth will still be a mystery
03:06:08stevenmAll I REALLY need to know is the waveform, the sampling rate / sample size, and what MIDI note this waveform represents
03:06:43preglowenvelope too is pretty important
03:07:08preglowor the sounds will sound very unnatural
03:07:12preglowlike old mods, heh
03:07:13stevenmcould you maybe explain the whole envelope thing to me? I know it has to do with volume/fading, but what is it exactly ?
03:07:52preglowit's just to regulate the sound level of different parts of the sound, you've got an attack part that fades slowly from 0 to max level at the start of the sound
03:08:04stevenmI understand the basics of ADSR, but how does that relate to envelope ?
03:08:04preglowand a release part the fades slowly to 0 after the note has been dropped
03:08:15preglowwell, an adsr is an envelope
03:08:31preglowi don't know how it's specified in the file, if that's what you mean
03:09:20stevenmit looks like the file has an 'envelope rate' and 'envelope offset' but how to process that, I have no idea
03:09:26preglownor have i
03:09:30preglowyou would need much better docs
03:09:37preglowbut yes, soundfonts are another solution
03:09:43preglowi think they've got way better docs
03:09:54stevenmdo you know anything about soundfonts ?
03:09:59preglowyou've still got plenty of time to fiddle around with this ;)
03:10:01preglownot very much, no
03:10:05preglowthe very basics
03:10:23preglowand the fact that they're alot more complicated than .pat files
03:10:59stevenmI guess one idea I can try, I can load EVERY field in the file, then open that file in that Awave program and compare its file info to what I've got loaded
03:11:14stevenmsee if there's some sort of correlation
03:11:35preglowsoundfonts are riff files, it seem
03:11:45stevenmlast time I tried this.. I tried loading a .pat and feeding the waveform to the PC's dsp.. got a bunch if garbled noise, gave up
03:11:48preglowyes, but does awave interpret envelope data and such?
03:11:59stevenmyea.. it'll give you a picture of the waveform, even
03:13:06stevenmI don't remember too well.. it's still on my 200mhz dell.. and that's at my anut's crazy fiancee's house
03:13:08preglowgood god, the sf2 spec is boring
03:13:21stevenmhm ?
03:13:48preglowi'm flipping through the soundfont spec
03:13:58preglowit's about ninety pages
03:14:01stevenmis it descriptive ?
03:14:15stevenmI wonder how many pages of code that would translate to :)
03:14:27preglowits very descriptive, heh
03:14:56preglowfigures and everything
03:15:15stevenmone reason I'm sort of leaning towards GUS is that there's a nice patch set called EAWPatches that is I think GPLed and freely available
03:15:43preglowcomplete with filter specifications and all
03:15:48stevenmfilters ?
03:15:55preglowyes, resonant lowpass ones
03:16:06preglowi've done that on the coldfire as well, so it's covered if its needed
03:16:23stevenmwhat are those ?
03:16:43preglowkind of hard to explain, you've probably heard them tons of times
03:16:45preglowclassic synth effect
03:16:58 Join ze__ [0] (
03:17:20stevenmhmm.. I guess i could use the coldfire version if that's needed
03:17:38stevenmI wonder, would the iriver have enough processing power to deal with all this ?
03:17:38preglowyep, but it's far in the future
03:17:44preglowjust work on the .pat loader from now
03:17:46preglowyes, it should
03:18:10stevenmI got the c++ version of my program to run on a 133Mhz system w/o problems.. but that's using 8k patches
03:18:14preglowmidi playback is just basically playing enveloped samples
03:18:36preglowbut i've got to go to bed
03:18:44stevenmdo you come here often ?
03:18:58preglowyup, i'm in here all the time these days
03:19:06stevenmcool. maybe I will see you again
03:19:14preglowbut later
03:19:16 Quit preglow ("off")
03:19:17stevenmthanks for the help, and good night
03:19:20 Quit stevenm ("Leaving")
03:19:25 Join Andrew179 [0] (
03:24:12 Quit XShocK (" HydraIRC -> <- State of the art IRC")
03:25:19 Join amall [0] (
03:28:18 Quit ze (Read error: 110 (Connection timed out))
03:28:18 Nick ze__ is now known as ze (
03:30:12 Quit ashridah ("Leaving")
03:30:23 Join ashridah [0] (
03:35:01 Join StrathAFK [0] (
03:53:30 Quit Strath (Read error: 110 (Connection timed out))
03:58:52 Join edx [0] (
04:05:55 Join QT_ [0] (as@area51.users.madwifi)
04:14:28 Quit QT (Read error: 60 (Operation timed out))
04:59:59***Saving seen data "./dancer.seen"
05:39:08 Quit skav ()
05:47:40 Quit pill (Read error: 60 (Operation timed out))
06:26:20 Join pill [0] (
07:00:02***Saving seen data "./dancer.seen"
07:24:03 Join DMJC [0] (
07:28:10 Join Strath [0] (
07:42:09 Join LinusN [0] (
07:42:43 Quit StrathAFK (Read error: 110 (Connection timed out))
07:59:50dwihnogood morning people.
08:28:46 Join Lurkski [0] (
09:00:05***Saving seen data "./dancer.seen"
09:00:35 Join Sando [0] (
09:07:39 Nick Lynx_awy is now known as Lynx_ (HydraIRC@
09:20:14 Join cYmen [0] (
09:26:25 Join Schnueff [0] (~mah@
09:30:03 Join midk [0] (
09:31:25 Join Zagor [242] (
10:25:42 Part Lurkski
10:34:48 Join Renko [0] (
10:42:35 Join Patr3ck [0] (
10:49:59 Join webguest02 [0] (
10:52:37LinusNwee, moving selected portions of libmad code and data (and the main stack) to internal RAM boosted the 140MHz performance from 40% to 65%
10:53:21LinusN140MHz FLAC is now at 111% :-)
10:54:01LinusNthe stack in internal RAM gives a nice boost
10:54:28LinusNbad news is that 140MHz seems to overheat the cpu when the disk is spinning a lot
10:55:01dwihnoThat's bad news
10:55:11Zagoris anyone on the mad-dev list?
10:55:36Renkoach we can just strap on some watercooling ;)
10:56:42Zagorit appears rob leslie is pretty quick at answering questions there
11:00:07***Saving seen data "./dancer.seen"
11:02:10Zagor"It runs on my wimpy 50 MHz MPC860 PowerPC, uses about 80% of the CPU". is ppc really that much faster per clock? are we getting killed by our slow memory/no data cache?
11:02:25 Join jyp [0] (
11:03:57amiconnI just had an idea. There is a port of libmad to the Amiga (m68k!) which obviously is optimised, because it runs at ~125% realtime on an 68060/50. As it is a port of libmad, it comes with sources. Maybe this helps to optimise the coldfire version...
11:04:47Zagordefinitely worth looking at
11:05:45Zagorwow, it was a long time since I ran lha last :)
11:06:42LinusNthose were the days
11:07:21Lynx_LinusN: do you know if the battery consumption is a lot higher with the cpu at 140?
11:07:41LinusNfrom what i have read, not a lot
11:08:10amiconnLinusN: How come the cpu can be overheated... this is called *cold*fire, right? ;-)
11:12:07Zagoroddly enough, i can't see any optimisations in that code. very little changes overall.
11:15:36Zagorthe only substantial change is the addition of synth_quart() in synt.c
11:17:34amiconnHmm. synth_quart() is only for full compatibility to original mpega.library, which can render pcm output at full, half, or quarter frequency
11:17:37LinusNsynth.c is the main cpu hog
11:18:02dwihnoreplace it with techno.c and it will be much better ;)
11:18:14amiconnThat is necessary to achieve realtime on slower cpus than 68060
11:19:25Zagorthe only assembler change is a miniscule adjustment to fixed.h:
11:19:31Zagor@@ -380,8 +380,7 @@
11:19:31Zagor "adde %1,%4,%5" \
11:19:31Zagor : "=r" (lo), "=r" (hi) \
11:19:31Zagor : "%r" (lo), "r" (__lo), \
11:19:31Zagor- "%r" (hi), "r" (__hi) \
11:19:31Zagor- : "xer"); \
11:19:33 Join Aison [0] (
11:19:33Zagor+ "%r" (hi), "r" (__hi)); \
11:19:34LinusNputting the huffman tables in iram gives us 68% real time
11:20:11amiconnSo if there are no significant optimisations in it, this means 68060 @50 MHz is actually faster than coldfire @140 MHz. That puzzles me, despite the fact that 68060 doubles the clock internally.
11:21:05LinusNthe 68060 has a data cache, for starters
11:22:08amiconnYes it has. Hmm, it is also superscalar... I can try this evening and check how mpega_libmad performs with superscalar & data cache disabled.
11:26:36amiconnZagor: This change is for PowerPC... but then I can find no asm optimisation for 68k in this file...
11:28:02amiconnHow large is the coldfire's icache?
11:29:25 Join webguest99 [0] (
11:40:37 Join preglow [0] (
11:41:49preglowlong until these changes are cvs, linus?
11:42:21LinusNthey are just experiments
11:42:41LinusNquick hacks
11:43:37preglowi've done a full emac optimize of synth_full (not dct) in OPT_DSO mode that didn't look like it made much difference
11:44:21LinusNio think it will, combined with my optimizations
11:44:26 Quit webguest99 ("CGI:IRC (Ping timeout)")
11:45:02preglowall it does in OPT_DSO mode is really to remove the explicit adds, and move half of the moves into the mac operation
11:45:40preglowand OPT_DSO is default if you've got no processor specific mac macro support in fixed.h
11:46:55LinusNcare to send me your changes?
11:47:04preglowsure, gimme a sec
11:47:23*LinusN is cooling down his iriver with his frozen lunch
11:47:56dwihnofrozen lunch? didn't you bring the sauerkraut I made specially for you? :(
11:47:58preglowdoes it get really hot?=
11:48:51preglowLinusN: really just an experiment on my part as well, i'm not that familiar with what's efficient on a coldfire
11:49:48preglowclobbering all the data registers might not be that clever in a loop, on second thought
11:50:46LinusNobjdump is your friend
11:51:05preglowyeah, i know, i just haven't got that version compiled right now
11:51:13preglowand now: shower
11:53:47preglowand if you can think of a way to do that parallel move and allow the mac stuff to be macros, please tell me ;)
11:59:21LinusNspeed record!
11:59:54dwihnoAlmost there... :)
12:02:53LinusNand it still sounds excellent
12:03:17dwihnoyou got sound on target?
12:03:33LinusNno, i play the .wav file with the iriver firmware
12:04:08preglowwhat codec?
12:04:36preglowthe opt helped??
12:04:54LinusNfrom 68% to 95%
12:05:07preglowdoing dct should help as well
12:05:09preglowwell ok
12:05:20preglowgetting this baby realtime should be possible then
12:05:25preglowlots more to optimize
12:05:27LinusNthe low memory bandwidth is our biggest enemy
12:05:52preglowyes, i figured as much
12:06:05LinusNjust moving the stack to iram made the flac go 111%
12:06:30preglowhow large can the stack grow?
12:06:45LinusNit is 32k now
12:08:16LinusNbut we only use 25%
12:08:34preglowbut btw, is there a penalty to pay on accesses if you keep them close together?
12:09:09LinusNguess so, if they are in SDRAM
12:09:26preglowthat's what i meant, yes
12:09:51 Join ripnetuk [0] (
12:09:52preglowi do a move.m before all the macs so i wouldn't have to keep accessing memory in different places
12:10:13ripnetuk95% :)
12:10:57preglowbut does the cpu go very hot?
12:11:04LinusNpreglow: looks like it's the other way around
12:11:21LinusNkeep the dram accesses close and sequential
12:11:45LinusNmaye i could tweak the dram controller a little
12:13:23jypQuestion; is there a method to flush a file being written to ?
12:13:33jypdoes flush_cache do it ?
12:13:52jypfsync ?
12:14:50LinusNpreglow: it apparently goes too hot in 140MHz if the disk is spinning a lot
12:15:54ripnetukhow do you know the temprature? does it have a built in measurement, or does it throw an exception if it gets too hot?
12:16:12LinusNpreglow: we might gain speed if we do dram fetches with movem, and i enable Page Mode in the dram controller
12:16:12ashridahyou can use SMART ata commands to get the temp iirc
12:16:57LinusNripnetuk: it is my guess, since it crashes when it's warm
12:17:11 Join Tang [0] (
12:17:17ripnetuki see
12:18:49LinusNwe will need a lot more that 100% from the codecs, to allow for the rest of rockbox to run during the decoding...
12:19:20TangHi all :)
12:19:24LinusNhi Tang
12:19:27TangHi Linus
12:19:28dwihnoBonjour Tang
12:19:39Tanglol bonjour thanks
12:19:48LinusNca va?
12:20:12Tangeh eh your frnech is fluent lol
12:20:19Tangca va merci
12:20:34Tangwith my new remote life is cooler... ;)
12:20:49LinusNah, nice for you
12:21:00TangThanks :)
12:21:00dwihnoUne baguette pour moi, s'il vous plait
12:21:03preglowbut yes, beating 100% should be ok
12:21:09preglowlots to be optimized in libmad yet
12:21:51TangROFL you've remebered the essential things dwhino
12:22:09LinusNand it's nice that flac is >100% now
12:22:48preglowi'll hack my lpc routine to do orders higher than 8 as well
12:23:11preglowand maybe rewrite the whole thing in asm
12:23:16dwihnoTang: c'est va bien :)
12:23:39LinusNdwihno: ?
12:23:46dwihnoI'd love to see how far the optimizations can go
12:23:48LinusNthat didn't quite make sense
12:23:55dwihnotres bien dårå :)
12:24:15preglowthat's got to be wrong
12:26:26preglowLinusN: would enabling page mode hurt other code much?
12:26:31TangAbout the latests progress of the sound output
12:26:38LinusNpreglow: no
12:26:40Tang"( plays samples with original quality)"
12:26:55Tangdoes it mean wave is played even if not in real time?
12:27:06TangOr i misenderstood again?
12:27:27preglowTang: it plays things you throw at it and it sounds like it should
12:27:49preglowTang: the realtime problem comes with the codecs, not the sound output driver
12:27:59TangAh oaky :)
12:28:04Tangthanks for the explanation
12:28:16preglowhaha, no problem
12:32:21TangIt's very nice from you
12:32:24LinusNpreglow: the clobbering of all the registers doesn't seem to matter much
12:33:23preglowas long as there's enough for a loop index and a couple of address registers
12:35:11 Nick QT_ is now known as QT (as@area51.users.madwifi)
12:40:35LinusNdct32 is a nasty blob of code
12:41:47preglowyes, i know
12:42:04preglowi plan to unleash mighty asm blocks on it later
12:42:20LinusNsounds comforting :-)
12:42:44LinusNlunch time
12:44:55Tanggood lunch
12:47:21Tanglunch for me too bye all :)
12:57:33MarcoTang, I think you wanted talk to me !
12:59:30 Join hw1979 [0] (~hw1979@
13:00:08***Saving seen data "./dancer.seen"
13:00:39hw1979does rockbox supports creative jukebox Zen player?
13:09:08*HCl scratches his head
13:09:15HClcan anyone tell me why memory accesses are so slow?
13:09:21 Join shx [0] (
13:10:59 Join XShocK [0] (
13:12:11LinusNXShocK: hi
13:12:25LinusNHCl: because it's sdram
13:13:05midkwho make xchat go boop.
13:13:14preglowsdram _is_ slow
13:13:23preglowwant to see how good a modern x86 does without its cache? :P
13:13:29LinusNHCl: the external bus is half the frequency of the cpu
13:13:43LinusNand an sdram access takes 5 of those
13:13:53dwihnopreglow: disabling the cache is funny :)
13:14:01ashridahpreglow: no thanks. i used a celeron back when they were produced with no onboard cache
13:14:04*ashridah shudders
13:14:05preglowdwihno: yes, and not something you do twice
13:14:17 Join Patr3ck_ [0] (
13:14:30LinusNand the coldfire doesn't have a data cache
13:14:31ashridahthen they put cache on die, and the celerons were suddenly better performers than the supposedly better performing pII's :)
13:14:42*ashridah hands intel a cookie
13:14:47LinusNonly instruction cache
13:14:50preglowLinusN: well, iram pretty much is user selectable data cache, heh
13:14:55dwihnopreglow: heh, true, true
13:15:09preglowit doesn't get much better than single cycle
13:15:45LinusNso a random sdram access takes 10(!) cpu cycles
13:15:52XShocKwhen should sound changes be commited to cvs?
13:15:58LinusNXShocK: asap
13:16:36LinusNXShocK: can you explain why you had problems running dma from sdram?
13:19:10XShocKhubble said that it was glitching, i run his version, it was really glitching. Then he left, and I did everything in SRAM 4kb, everything wrked perfectly
13:19:30XShocKI will check my sdram version now
13:19:51LinusNhaving the pcm buffer in sram is very much unwanted
13:20:18XShocKi am also thinking that
13:20:57LinusNi'd like to play with your code
13:21:24XShocKok. will compile for non SRAM, test, and send you
13:22:15LinusNno, i'd like the source code
13:22:51XShocKyes, i was talking about sorces. :)
13:23:04LinusNok, my mistake
13:27:06 Quit hw1979 (Read error: 104 (Connection reset by peer))
13:28:01XShocKnaybe email is better
13:30:28LinusNlinus at
13:30:36 Quit Patr3ck (Read error: 110 (Connection timed out))
13:33:18XShocKit plays samples 44.1khz 16-bit stereo
13:33:57Patr3ck_must the function wake_up_thread() always be called at the end of an interrupt handler?
13:38:17jyponly if a thread has to be awaken
13:38:55Patr3ck_TIMER0 interrupt handler always calls wake_up_thread()
13:39:39jypbecause a thread may be sleeping for x ticks
13:40:02jypwhen the timer expires it has to be awaken
13:40:09Patr3ck_I see
13:43:26 Quit Marco (Read error: 110 (Connection timed out))
13:51:01 Quit Andrew179 ("Chatzilla 0.9.67 [Firefox 1.0+/20050223]")
13:55:53TangArf i missed Marco... :(
13:58:54preglowmy god, untangling dct32 to use mac efficiently will be a nightmare :/
13:59:21preglowit uses temp variables, and i will have to keep those in the accumulators
13:59:31LinusNhave fun! :-)
13:59:32preglowand preferably in asm, to utilize the parallel load
13:59:44preglowi shall try
14:02:08TangFinally the CPU still run at 11MHz for now no?
14:02:36preglowin cvs, yes, but linus has got it running full speed
14:02:53ripnetukdid Linus ever work out what was causing the ATA to fail at high speed?
14:02:58TangAh very interesting
14:03:06TangBravo Linus
14:03:19ripnetukwhat was it?
14:03:38LinusNwell, it looks like the cpu gets overheated at 140MHz when the hard drive is spinning a lot
14:03:47ripnetuk(all this techy stuff is possibly more satisfying that actually having rockbox on my iRiver :)
14:04:06ripnetukso no major design fault on the iRiver then... thats good
14:04:18TangSo i imagine even with iRiver fw the CPU run underclocked?
14:04:38preglowripnetuk: you wouldn't call overheating coldfire a major design flaw? ;)
14:04:55TangSeems to be
14:04:57preglownot much to be done about it, granted
14:05:11LinusNTang: from what i have heard, it is max 96MHz with the iriver fw
14:05:38Tangmaybe it explaine what i encountereed one day after many fw upgrade when changing my logos
14:05:45TanglinusN thanks :)
14:05:48ripnetukwell... its only a design flaw if something that could be done free (ie, extra connection from coldfire -> ata controll) has not been done.
14:06:04ripnetukIf iRiver can get mp3 decoiding at real time without having to have a HUGE heat sync, then power to them
14:06:14ripnetuk(but not quite as many watts of power as Rockbox :)
14:07:21ripnetukat least the extra heat will prevent the LCD from slowing down any more - it snowed in London yesterday, and the remote LCD was well sluggish
14:08:43preglowi presume i can assume we have at least gcc 3.1?
14:09:13preglowripnetuk: it's areound -15 C here now, imagine how it performs outside
14:10:26Tangmornin Coco
14:10:38Tang(not morning here however)
14:11:48 Quit webguest02 ("CGI:IRC (EOF)")
14:11:59HClTang: what did you encounter when changing logos?
14:12:27Tangin fact was strange
14:12:31Tangi did many chage
14:12:47Tangand once when i did my fw upgrade (to change logos)
14:13:11Tangthe LCD displayed a truncated image of the logo
14:13:26Tangi was quite afraid
14:13:43Tangso i didn't started my iHP immediatly
14:13:50Tangi waited a little bit
14:13:50preglowLinusN: will a simple thing like using one movem instead of two be faster?
14:14:02Tangand then when i turn it on again
14:14:08Tangthje logo was normal
14:14:16Tangand everything was OK
14:14:16LinusNpreglow: yes
14:15:56 Join ze__ [0] (
14:17:34Tangbut since this strange bug
14:17:42Tangsome month go
14:17:54Tangi didn't encountered any issue
14:18:31Tangand i did may upgrade for change logo some days ago with the IGCv2.0 release... ;)
14:19:38 Nick Strath is now known as StrathAFK (
14:20:34preglowargh, all this bloody register allocation is why we have compilers, goddamnit
14:21:04LinusNso patch the compiler then :-)
14:22:07 Join Wizerl [0] (
14:26:42 Quit ze (Read error: 110 (Connection timed out))
14:26:42 Nick ze__ is now known as ze (
14:30:48preglowseems libmad make is still broken
14:31:05preglowif i change something, make doesn't care
14:31:15LinusNthat's true
14:33:50 Join linuxstb [0] (
14:35:16preglowlinuxstb: seen the good news? my synth.c opt really worked well
14:35:31 Part XShocK
14:35:34 Join XShocK [0] (
14:37:30linuxstbpreglow: I didn't see your synth.c optimisation, but I saw Linus's work on rearranging the memory usage. I'm very happy that FLAC is now > 100%.
14:37:49preglowlinuxstb: libmad is 95% realtime now
14:38:25*linuxstb is very happy
14:38:29XShocKwow... didn't realize that it is progressing so fast.. :)
14:38:39preglowthe synth_full opt i did the other day that i claimed didn't work at all, really shaved nearly 30% off
14:38:53CoCoLUSwhats the vorbis status?
14:38:57linuxstbCongratulations. Are there any other areas that you think will gain us more speed?
14:39:08preglowlinuxstb: i'm working on another one as we speak
14:39:40linuxstbDid I read correctly that the iRiver firmware runs the iRiver at 96MHz
14:40:02preglowdon't know, linus mentioned he heard so
14:41:37linuxstbFrom what Linus said about the overheating at 140MHz, it seems that we can't run the iRiver at that speed, at least not for long periods?
14:41:49LinusNseems so
14:42:18CoCoLUSat how many procent is the ogg codec now?
14:42:24CoCoLUSeh percent
14:42:34LinusNdon't know
14:42:43CoCoLUSguess? :)
14:43:17 Join Chamois [0] (
14:44:01preglowCoCoLUS: not much
14:44:16preglowCoCoLUS: round 4.5 with speed optimizations
14:44:25Chamoispreglow : libmad is 95% realtime with wich CPU speed ?
14:44:31preglowChamois: 140mhz :P
14:44:45CoCoLUSis there really that much difference btw mad/vorbis/flac?
14:45:00preglowwell, not that much between mad/vorbis, i believe
14:45:06preglowbut flac is much easier to decode
14:45:36linuxstbHas anyone tested libmad with different bitrates and layer2/layer3 files? It would be good to know if the speed varies very much with the input bitrate.
14:46:10dwihnoLinusN: test libmad with starka såsen
14:46:18dwihnoit's a good test tune
14:46:21CoCoLUSare these libmad changes in the cvs yet?
14:46:33linuxstbAlso, I'm assuming that's a 44.1KHz test file, a 48KHz file would obviously be about 10% slower.
14:46:36LinusNgotta run
14:46:41 Part LinusN
14:47:45Tanghi chamois
14:47:50Tang(j y vais par contre)
14:47:58TangCheers evryone :)
14:48:22CoCoLUSwell i guess then i can't help with testing decoding speeds
14:48:23 Quit Tang ("Chatzilla 0.9.66 [Mozilla rv:1.7.5/20041108]")
14:49:05linuxstbIt would be nice to get a test suite of audio files in the different codec formats - I'll try and set something up. I can download some recordings from (e.g. a "taper-friendly" band like the Grateful Dead that allows online sharing of recordings).
14:50:01preglowthat would be good
14:50:10 Quit edx (Read error: 60 (Operation timed out))
14:50:49 Join R3nTiL [0] (~zorroz@
15:00:09***Saving seen data "./dancer.seen"
15:02:53 Join R3nTiL_ [0] (~zorroz@
15:03:04 Quit R3nTiL (Read error: 54 (Connection reset by peer))
15:03:56 Join lolo-laptop [0] (~lostlogic@
15:07:38preglowit looks like mpa2wav makes broken wavs here
15:07:42preglowanyone else got this?
15:08:48linuxstbLast time I tested it, it worked.
15:09:26preglowi checked out of cvs right now, and it makes a wav file 44 bytes big
15:09:31preglowi'm testing flac2wav now
15:10:01linuxstb44 bytes is just the WAV header - no data.
15:10:08preglowyes, i know
15:10:39preglowand the screen isn't redrawn correctly after the new splash now
15:10:41ashridahflac2wav just dies after reading a chunk of data here.
15:10:47ashridahcould be the largish flac file i have tho
15:11:06preglowflac decodes correctly
15:11:29preglowcurse me for a fool!
15:11:41preglowagain i have to ask you to disregard me
15:11:49*linuxstb disregards preglow
15:12:35linuxstbashridah: flac2wav does seem to fail sometimes on large files.
15:12:46linuxstbI'm not sure why, but haven't really investigated it.
15:19:02preglowdoes CONFIG_CPU and those defines get passed to everything?
15:27:24 Quit R3nTiL_ ()
15:27:30lolo-laptopNoticed that tremor was switched to LOW_ACCURACY in rockbox CVS −− maybe something like this that another embeded team did would make more sense:
15:27:41lolo-laptopset the maximum bitrate used by the "high accuracy" decoder. Otherwise the "low accuracy" decoder will be used. 275000 is the default value.
15:29:28linuxstbI haven't really looked at Tremor, so can't comment - markun is the person working with Tremor. I think it all depends on what the optimisations can achieve - as far as I know, nothing has been done to that decoder yet.
15:31:04linuxstbBut I'm curious - which other embedded team are you talking about?
15:32:47lolo-laptopsomething called phatbox
15:32:51ashridahlinuxstb: switching the termor code to define LOW_ACCURACY during compile pushed performance from 0.09 to 2-3% realtime :)
15:33:22lolo-laptop2-3%!? :-(
15:33:29lolo-laptopat what clock speed?
15:33:35 Quit Sando (Read error: 104 (Connection reset by peer))
15:34:29*jyp ninja-flips back
15:34:56ashridahlolo-laptop: it needs work, clearly.
15:35:01lolo-laptopashridah: nod
15:35:09ashridaheven in the simulator, on a 2GHz machine it goes at about 20-30% realtime.
15:35:17ashridahthe simulator, oddly, does a *lot* of sleeping
15:35:31ashridahwhich is surprising, since no-one seems to be suggesting the simulator is attempting to show realtime actions
15:35:43lolo-laptopstrange indeed
15:36:22lolo-laptopbad high precision integer dependencies stalling it or something? Is the coldfire even pipelined beyond 2 stages?
15:36:57preglowno, nothling that, i think, probably just a ton of 32x32 bit multiplies
15:37:04preglowlibmad is also very slow
15:37:08lolo-laptop*twitch* nod
15:38:25 Join markun [0] (
15:39:12ashridahspeak of the devil
15:39:16markunlinuxstb: Did you see what we did wrong with _LOW_ACCURACY_ all the time? Just forgot to include config.h somewhere..
15:39:49 Quit ashridah ("sleep")
15:42:49markunpreglow: I emailed one of the guys who optimized the tremor mdct using fft if he could send me a patch, but I'm not counting on anything.
15:43:14markunWould you like to take a look at it if you're finished with the other codecs?
15:46:39markunlolo-laptop: In misc.h in the Tremor dir is says _LOW_ACCURACY_ is just for using 32-bit multiplies instead of 64-bit.
15:46:50lolo-laptopmarkun: ahh, OK
15:47:27markunvorbis now decodes at 4.26% (used to be 0.9%)
15:47:44dwihno4.26% (?!)
15:47:47dwihnothat's slow
15:48:00rasherbetter than 0.9 :)
15:48:06rasherA vast improvement actually
15:48:17markunMaybe Linux could test it at 140MHz.
15:48:21markunLinus :)
15:48:52linuxstbmarkun: I'm not really planning to look inside the codecs too much - other people are doing that. There seems to be a need for someone to work on the new audio framework itself, so that's what I'm going to be concentrating on.
15:49:08preglowlinuxstb: good
15:49:17preglowthat's what's needed most right now
15:49:51linuxstbIt's less interesting from a "hacker's" point of view, but needs to be done.
15:50:51preglowespecially since sound ouput is more or less done
15:51:22linuxstbEverything seems to be in place for audio playback, apart from the 'easy" task of bolting everything together.
15:53:26markunDo we want a better malloc, of rather no malloc at all? I was looking at some ideas from Doug Lea's malloc:
15:53:47 Join Daddynik82gr [0] (daddynik@
15:54:18 Part Daddynik82gr
15:55:46linuxstbmarkun: I know Bagder said he had a malloc implementation "ready" to plug into Rockbox if we needed it - I don't know any details though. Ideally we don't want malloc, but I don't think anyone is against it in principle - if it proves to be useful.
15:56:45linuxstbe.g. the idea of a "codec malloc" was suggested for use only by the codecs - not by the rest of Rockbox.
15:58:16markunlinuxstb: vorbis2wav is also byteswapping in the simulator. Don't know why #if BYTE_ORDER == BIG_ENDIAN doesn't work..
15:59:48markunhm.. I think it should work now because we include config.h in os_types.h..
16:03:34markunyes, it works now.
16:16:18 Part Wizerl ("Kopete 0.9.2 :")
16:24:32 Join methangas [0] (
16:36:01 Join stevenm [0] (
16:37:34stevenmpreglow, I wrote that GUS parser.. very basic stage but it loads all the samples from the file and can play them correctly
16:38:52preglowstevenm: great
16:39:07preglownow for finding the envelope info, heh
16:39:45stevenmit was annoying because the doc specified fields as bytes, words, dwords.. then it just goes, 'Integer'
16:40:34stevenmjust thought i'd tell you that
16:40:56stevenmenvelope is an array of 6 bytes. there are 2 of them.. envelope 'sweep' and 'offset'
16:41:41stevenmwhatever that means
16:42:40preglowi have no idea
16:42:51 Join dropandho [0] (
16:42:59dropandhohey all!
16:43:29dropandholong time listener....1st time caller
16:44:31stevenmwhat's up?
16:44:42dropandhois the "todays log" weird on the wiki?
16:44:50dropandhonot too much here
16:45:05Zagorthe recent changes?
16:45:15dropandhothe irc logs
16:45:20dropandhofor "todays log"
16:45:33Zagorlooks good to me
16:45:42Zagor16.44.42 # <dropandho> is the "todays log" weird on the wiki?
16:45:42dropandhoit doesn't load up in the browser anymore
16:46:16dropandhoin firefox it prompts you to save the txt file...and not just load it in the browser
16:46:35Zagoryeah, i get that too now. hmm, i wonder what's changed.
16:47:09dropandhoaccording to the wiki it hasnt changed in a few days
16:47:20dropandhoit started sometime last night (usa eastern time)
16:48:00 Quit ripnetuk (Remote closed the connection)
16:48:07Zagorthe wiki changelog doesn't cover all pages on the web site, only those under the /twiki directory
16:48:35dropandhothat makes it auto-populates
16:48:44stevenmanyways, i'm off to get food. goodbye people
16:48:46preglowmy god
16:48:50preglowi am not man enough for the gcc source code
16:48:51dropandhotake care!
16:48:58 Part stevenm ("breakfast")
16:48:59dropandhou can do it!
16:50:24dropandhoZagor...thanks for looking into it....i follow the logs i am missing it!
16:51:56 Quit einhirn ("Miranda IM! Smaller, Faster, Easier.")
16:52:13 Join einhirn [0] (
16:52:40Zagorhmm, doesn't mozilla use some silly algorithm to try and discern of a plain/text document is really plaintext? i bet it decides our log is binary.
16:55:46rasherWhich dates?
16:55:52Zagoryup, that was it. stripped out a few ^O and now it works.
16:56:16rasherhow silly
16:58:02 Quit Chamois ("CGI:IRC")
16:58:23preglowZagor: mozilla primarily relies on mime types, afaik
16:59:35Zagoryou'd think so, yes. but it also does idiotic text analysis and decides sometimes mime type text/plain isn't really plain and thus hardcodes a save dialog instead of what the user wants to do.
17:00:12***Saving seen data "./dancer.seen"
17:03:42 Join mecraw [0] (~mecraw@
17:04:50preglowdoes it?
17:04:56preglownever experienced that
17:05:04preglowi thought that was more internet explorer's domain ;)
17:05:26Zagoryeah. i don't know why they do it.
17:05:49preglowso, any gcc hackers here that want to make emac intrinsics support for me?
17:18:27linuxstbZagor: I haven't got time to talk about the details ATM, but was wondering what your plans (if any) were for the new audio playback system in Rockbox - is it one of your priorities?
17:20:36 Quit XShocK (Read error: 104 (Connection reset by peer))
17:20:37 Join Marco [0] (
17:22:04Zagoryes it is. i had hoped to start writing the buffering code this week, but unfortunately some real world events interfered and took away much of my time.
17:24:18linuxstbIs there anything specific I can do to help? Real Work has got in the way the last few days, but hopefully I can work on it this weekend.
17:26:19 Join zezayer [0] (
17:29:58Zagori don't know. it's not yet completely structured in my head.
17:32:04HClmy dynarec successfully returned after the call
17:34:00linuxstbI'm happy to continue work on the codec parts - i.e. implementing the "wrappers" arround the codec libraries. But I'm not sure how much work that will be - hopefully not very much.
17:35:02linuxstbThe harder part would be the dynamic loading of codec plugins - but I'm guessing a lot of that can be stolen from the existing plugin code.
17:35:33Zagoryou could perhaps go ahead the codec api and loader, possibly by extending apps/plugin.c
17:38:24 Join XShocK [0] (
17:42:38linuxstbOK. What I'll probably do (hopefully this evening) is update the Wiki based on what we talked about the other day. We can then chat again and hopefully finalise the API. I'll then start implementing it.
17:42:51 Quit Renko (Remote closed the connection)
17:44:42 Join hubble [0] (
17:55:57 Quit Schnueff ("bald wech")
18:00:14 Quit Patr3ck_ ()
18:04:17Zagorlinuxstb: sounds good. i'll be away now for the evening.
18:12:49 Quit zezayer (Read error: 110 (Connection timed out))
18:13:03 Quit jyp (Read error: 110 (Connection timed out))
18:15:54 Join zezayer [0] (
18:16:21 Join BoD[] [0] (
18:16:51BoD[]I was planning on buying an iRiver
18:17:13BoD[]is rockbox planned on a i3xx ?
18:17:28BoD[]i mean H3xx
18:18:23preglowit might very well happen
18:18:28preglowbut no guarantees
18:18:36 Join Sucka [0] (
18:18:44 Quit einhirn (Read error: 104 (Connection reset by peer))
18:18:51BoD[]it seems that there are some good progress on the H1xx
18:19:08BoD[]but I really need the usb host features of the 3xx :)
18:19:23preglowwell, if there's a datasheet on the host component, it should be doable
18:20:07BoD[]and then rockbox will rox my world again :)
18:20:21BoD[](i'm a former archos owner)
18:20:34 Quit linuxstb (Read error: 110 (Connection timed out))
18:31:09 Join Diway [0] (~diway@
18:36:31BoD[]anyway :) I'll be back !
18:36:53 Quit BoD[] ("m!")
18:37:52 Join edx [0] (
18:42:34 Quit edx (Client Quit)
18:49:36 Join edx [0] (
18:52:23 Join webguest43 [0] (
18:54:20webguest43Hi ! For some odd reason the "current log" link on the IRC webpage does not open in my browser any more, instead wants do download the file. Something wrong at my end ?
18:59:46Lynx_i think that's being worked on...
19:00:15***Saving seen data "./dancer.seen"
19:00:23Lynx_try a different browser, maybe
19:01:36 Quit webguest43 ("CGI:IRC")
19:03:24 Join einhirn [0] (
19:05:51 Quit zezayer ("ChatZilla 0.9.61 [Mozilla rv:1.7.2/20040804]")
19:08:36 Nick Lynx_ is now known as Lynx_awy (HydraIRC@
19:14:36 Join Stryke` [0] (~Chairman8@resnet-241-86.resnet.UMBC.EDU)
19:23:15einhirnHi Guys!
19:25:11einhirnSorry if this is a FAQ, but is there a Guide to (trying to) fix the GND-Problem? My Recorder sometimes just stops playback (Plays, then Silence, then a bit more sound, then Stop, sometimes even Shutdown.) even though there should be Battery left...
19:26:33einhirnI think I just found it myself. Thanks though!
19:30:06 Join jyp [0] (
19:30:37preglowi take it the coldfire doesn't have a cycle counter?
19:45:59 Quit jyp ("poof!")
19:48:09einhirnSo, I found the Problem: The Batteries I used are some (about 1,5 or so) mm too high. All Solder Joints to the Case are broken at least on one side of the board... Is there any way to get the batteries to fit in (other than buying new, AA-Conforming Batteries?)
19:50:02einhirnAlso the PCB is slightly bent out where the Batteries were seated... Quite freaky...
19:57:40amiconnThe bending is quite common, since the board isn't thick, and the springs are quite tight.
19:59:14einhirnamiconn: So I shouldn't care much about that? I am just resoldering the Joints in the Place they are now (a little bit further apart - I hope that it does the trick...
20:00:52amiconnJust try that. Btw, I wonder whether your batteries are really a bit too long. Maybe you only get the impression that they're too long by the tight fit
20:01:05amiconnDid you compare with other AA-sized batteries?
20:01:42einhirnI compared with the Cells that were in it when I bought it. Green-Shrinkwrapped
20:01:42einhirn 1500mAh-Cells...
20:02:21amiconnHmm, strange. AA batteries that violate the specs..
20:03:25amiconnI have the opposite problem with the rechargeable AAA cells I bought for my Ondio. They are a bit shorter than the usual non-rechargeable, so they wiggle a bit and fall out quite easily when I open the battery cover
20:08:44einhirnWell, that may be fixable easily... just add some kind of spacer between the cells if needed. But I can't cut off pieces of my Batteries (well, I can, but then they wouln't work anymore...)
20:11:33einhirnI am Tempted to remove the Springs, because of the bending PCB... It looks as if it was going to break...
20:11:48 Quit ze ("new drives")
20:23:56 Join DrRick [0] (
20:28:54preglowanyone skilled in 68k addressing here? :V
20:52:27 Quit DrRick ()
20:56:46amallWE should make a rockbox for gmini 400
20:58:58einhirnHey, who needs exchangeable batteries anyway ;) I just removed those annoying Springs and soldered the Batteries in...
21:00:18***Saving seen data "./dancer.seen"
21:14:08 Part amall
21:17:12einhirnHmm... I somehow screwed up... I would get an instant short circuit when putting the other pair of batteries in...
21:33:40einhirnI think I shorted out something on the drive connector side... Will take a closer look there after unmounting the drive...
21:41:57einhirnHmm... Why the heck... Now I've got to figure out how to solder this without a short-circuit... Both Grounds are connected. But somehow they are connected on the other side too...
21:47:25einhirnWait. Let me get some sense in what I am talking: There are four Battery contacts. My units keypad is pointing to me. The plus Pole upper left is connected to the metal piece. I think that is the problem...
21:48:10einhirnBecause the Metal piece is bridged to the other metal piece on the other side of the unit (by the little pcb on the Keypad end of the unit...
21:48:32 Join ze [0] (
21:54:10preglowlike, if i need to access 'myarray[5 - index]', how do i translate that to a m68k address?
21:54:21preglowboth myarray and index are in registers
21:59:06 Nick StrathAFK is now known as Strath (
22:05:56 Quit Stryke` ("Friends don't let friends listen to Anti-Flag")
22:33:20 Join ashridah [0] (
22:34:08 Join webguest27 [0] (
22:34:26 Join jyp [0] (
22:36:00 Nick jyp is now known as MrHankey (
22:36:05 Nick MrHankey is now known as jyp (
22:48:44webguest27preglow: You need to NEG index first, and then use Address Register Indirect with Index (8-Bit displacement) Mode
22:49:26preglowi was hoping i didn't have to do that
22:49:30webguest27preglow: Syntax: (d8, An, Xn.SIZE*SCALE)
22:49:50preglowyes, i've got that, i just thought negative scalers were allowed
22:49:56webguest27preglow: d8 = displacement : 5
22:50:24webguest27preglow: No negative unfortunately
22:50:35preglowok, back to code, then
22:51:29 Quit midk (Read error: 104 (Connection reset by peer))
22:52:24 Quit hubble ()
22:53:50 Quit webguest27 ("CGI:IRC")
23:00:19***Saving seen data "./dancer.seen"
23:02:04einhirnMaybe I found the problem: I tinned the upper right contact for the plus pole... Maybe I caused the short circuit by letting some tin get into the hole through the PCB.
23:02:12einhirnCould that be?
23:03:36einhirnErr... I'll just go to bed now, cure some of that flu and then sometime get back to work on this nasty problem... ThanksAnyway - further help will be appreciated...
23:06:14 Join muesli- [0] (
23:15:10 Join midk [0] (
23:17:00 Join linuxstb [0] (
23:17:43 Quit linuxstb (Client Quit)
23:21:38 Quit mecraw (Connection timed out)
23:22:15 Join Patr3ck [0] (
23:23:51 Join cYmen_ [0] (
23:25:01 Quit cYmen (Read error: 104 (Connection reset by peer))
23:30:01 Quit muesli- (Read error: 60 (Operation timed out))
23:30:03 Join Renko [0] (
23:31:01 Quit ashridah ("gone")
23:32:33preglowmy wonderful code bloody locked my player up
23:34:55 Quit Patr3ck ()
23:37:11 Join linuxstb [0] (
23:41:18 Join Patr3ck [0] (
23:49:59 Quit midk ("Leaving")
23:50:31 Quit ze ("last bit of drive-juggling")
23:56:41 Quit dropandho ()
23:57:16 Join ze [0] (

Previous day | Next day