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

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

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

#rockbox log for 2005-10-30

00:00:02 Quit _FireFly_ ("Leaving")
00:01:01solexxi hope so. :)
00:04:28linuxstbI've been playing a little with AAC - my current (non-working) aac.codec is over 1MB in size... Hopefully I'm doing something very wrong.
00:05:47Bagderthat's usually an lds problem
00:06:02Bagderwith something starting at address 0
00:07:52linuxstbWell, the libfaad.a is 1.8MB
00:09:47linuxstbThese are builds for the sim by the way.
00:10:13linuxstbStripping libfaad.a takes it down to 270956 bytes.
00:20:06***Saving seen data "./dancer.seen"
00:31:24 Join DangerousDan [0] (
00:37:48 Join MacDancer [0] (
00:38:01MacDancerHallo, all
00:39:11MacDancerI've a quick question that I haven't been able to find the answer to in the documentation so far...
00:39:42MacDancerI can't find the playback pitch/speed adjustment option anywhere, and I, unlike most people, could actually use it
00:40:01MacDancerCould someone give me directions? :\
00:49:06solexxi don't think rockbox has this feature (at least not on iriver)
00:49:17solexxbut i might be wrong
00:50:39MacDancerIt's listed in the manual for the Archos players, but of course there isn't one for the iRiver port, so...
00:51:20phaedrus961MacDancer: press on+up or on+down in the wps
00:51:20*solexx could have sworn he saw a light coming on
00:51:32linuxstbIt's only implemented on the Archos, NOT the iriver at the moment.
00:51:42MacDancerAh, that'll be it then
00:58:04 Quit MacDancer ("Leaving")
01:12:12TiMiDRotAtoR: still pbls with your plugin ?
01:15:12phaedrus961TiMiD: something in your latest commit broke the buttonbar
01:15:35TiMiDoh ?
01:15:41TiMiDI test on sim
01:15:58TiMiDI have also the copyright to handle
01:16:00phaedrus961if I scroll up or down in the filetree it disappears
01:16:55TiMiDI build sim for archos
01:17:36 Quit DangerousDan (Read error: 104 (Connection reset by peer))
01:20:12RotAtoRTiMiD: yes
01:20:54TiMiDRotAtoR: did you tried without the font change
01:21:08RotAtoRyes, still no change :/
01:21:13TiMiD(it will be ugly, but just to be sure the pbl isn't here)
01:22:10RotAtoRit's stange, i have an opening description screen with text that works fine
01:22:40RotAtoRit works to draw lines and rect all over the text there
01:23:04RotAtoRbut for some reason, all but the text appears when in the main program loop
01:23:18TiMiDI didn't looked at your code too much (I catch a flew) but try to remove all the other drawing code excepted the update
01:23:38RotAtoRi did that too, the text still doesn't draw...
01:23:59RotAtoRit's aggravating >:(
01:26:08TiMiDtest w/o lcd_set_drawmode
01:26:36RotAtoRok, i'll look into that
01:33:45RotAtoR*sigh*, this is ridiculous, I just commented out all code that does anything with the lcd except for the text I want, and still nothing
01:34:42RotAtoRbut it still works great in the sim ;)
01:34:49TiMiDyou must at least have update
01:35:13RotAtoRwell, yes, one update at the end
01:36:40 Join whatboutbob [0] (
01:37:55whatboutbobtimid: I'm getting the same issue as phaedrus961
01:38:28TiMiDwhatboutbob: I'm investigating it
01:38:33RotAtoRwell, have to get going... will try more debugging later
01:38:36TiMiD(well I opened the source code :) )
01:38:46whatboutbobdoesn't happen when the remote's not plugged in.
01:38:46 Nick RotAtoR is now known as RotAtoR|afk (
01:39:02TiMiDwhatboutbob: uh ?
01:39:04whatboutbobsorry..don't mean to bug you about it...and not complaining at all...just thought you'd like to know.
01:39:15TiMiDI like to know yes :)
01:40:11TiMiDI'm glad to say I can reproduce the bug on simulator :)
01:40:14whatboutbobtimid: yeah, when the remote's not plugged in everything works fine. as soon as i plug the remote in usually within a few seconds of me browsing the filetree (with remote or main unit) the screen disappears
01:41:20whatboutbobtimid: arch...scratch that. happens without remote plugged in. just didn't wait long enough it seems.
01:47:41whatboutbobjust to ensure we're talking about the same bug, i'll be in the filetree, click right, the unit will have a little think, then the cursor will jump to the top of the filetree, then a few seconds later the screen will go blank.
01:48:13TiMiDthe whole screen ?
01:48:27TiMiDon the sim I only see button bar which disepear
01:50:29phaedrus961only the button bar disappears for me too
01:50:50Moosin the target?
01:50:50whatboutboboh, ok, something weird going on with just me then it sees...
01:51:04phaedrus961target and sim
01:51:56whatboutbobactually...i've just plugged the remote back in. when i play a song the remote stays in filetree mode while the unit goes to the wps. is that right?
01:52:27TiMiDI've a clue (maybe)
01:52:40 Join thegeek [0] (
01:54:40TiMiDwhatboutbob: that's a normal behaviour
01:54:40 Quit dpassen1 ()
01:54:41Mooswhatboutbob: bug for irivers?
01:55:01Moosah :)
01:55:09TiMiDwhatboutbob: the remote just doesn't clear the display when going to wps, and since wps is not implemented on remote ....
01:56:02TiMiDthe remoite support is not full and even if I'm working on it I only have few time
01:56:18Mooshopefully that'll coming soon, hein TiMiD :)
01:56:21whatboutbobahhh...hokay...i'll shuddup and sit quietly in the corner for a while then. :)
01:57:51TiMiDyes if the users stops complaining about bugs :)
01:58:23TiMiD(well it's only the second and it's not lethal so it's pretty good :p)
02:10:45 Join Metuk [0] (
02:12:21 Quit Metuk (Client Quit)
02:20:08***Saving seen data "./dancer.seen"
02:21:18 Quit cYmen__ ("zZz")
02:33:25 Quit Kohlriba ("Leaving")
02:52:37 Join ashridah [0] (
02:16:08 Quit Moos ("Glory to Rockbox")
02:22:32 Join actionshrimp [0] (
02:57:19 Quit actionshrimp ("a bird in the bush is worth two in your house")
03:20:10***Saving seen data "./dancer.seen"
04:04:20 Quit RotAtoR|afk ()
05:14:59 Nick ashridah is now known as Lost-ash (
05:20:15***Saving seen data "./dancer.seen"
06:33:24 Quit whatboutbob ("CGI:IRC (EOF)")
07:20:17***Saving seen data "./dancer.seen"
07:58:31 Join ashridah__ [0] (
07:58:55 Nick ashridah__ is now known as ashridah (
07:59:03 Quit Lost-ash (Nick collision from services.)
07:59:23 Nick ashridah is now known as Lost-ash (
08:14:29 Join solexx_ [0] (
08:26:02 Quit solexx (Read error: 110 (Connection timed out))
09:20:20***Saving seen data "./dancer.seen"
09:34:37 Join linuxstb_ [0] (
09:37:40 Quit linuxstb_ (Client Quit)
09:44:27 Join Musicmad [0] (
09:44:43 Quit Musicmad (Client Quit)
10:11:40 Join ender` [0] (i=ychat@
10:11:58linuxstbSlasheri: There is a problem with your FLAC commit.
10:12:37linuxstbThe FLAC decoder required an entire frame (or more) to be passed to the decode_frame function. But on the buffer wraparound point, the buffer will point to a partial frame.
10:13:03linuxstbThat's why I didn't use the request_buffer function - I don't think it's possible to use it due to that issue.
10:14:43Slasherlinuxstb: no
10:15:01Slasherplayback engine guarantees it will not be partial
10:15:35linuxstbBut I am now getting crashes in the FLAC codec.
10:15:47linuxstbHave you tried playing an album of FLAC tracks?
10:15:50SlasherAt least if the MAX_FRAMESIZE is smaller than GUARD_BUFSIZE in playback.c
10:15:58SlasherHmm, not yet.. I will try soon :)
10:16:28linuxstbI also hit the same problem with my ALAC decoder - see the code in there that either does a request_buffer or read. Without that, the codec crashes at the wraparound point.
10:16:41SlasherHmm, interesting
10:16:54linuxstbHow big is GUARD_BUFSIZE?
10:17:30SlasherMAX_FRAMESIZE 32768
10:17:48SlasherGUARD_BUFSIZE (8*1024)
10:17:54Slasherok, the guard buffer is too small
10:17:58SlasherTry increasing it :)
10:18:05SlasherThen it should no longer crash
10:19:47linuxstbYes, FLAC frames are typically up to about 13KB. But can be bigger
10:20:40SlasherI think 32*1024 could be a good value then
10:20:48 Join DangerousDan [0] (
10:21:16SlasherThat would be the worst case
10:22:25 Join Kohlrabi [0] (
10:23:29linuxstbAlso, does the request_buffer function return 0 at the end of the file?
10:24:08Slasherlinuxstb: Yes, it returns NULL and sets the buffer size to 0
10:24:39linuxstbDid you manage to look at the crashing FLAC file?
10:24:51Slasherlinuxstb: Yep, i fixed that :)
10:25:15SlasherIt was a caused by a missing semaphores in the playback engine
10:25:21Slasherjust look at the latest two commits
10:25:34linuxstbSorry, I missed that commit. Thanks for fixing :)
10:26:08linuxstbI've got to go now. Can you increase GUARD_BUFSIZE?
10:26:16Slasherok, i will do that :) cu
10:26:28Slashernp :)
10:35:44 Join Lear [0] (
10:42:54 Join cYmen [0] (
10:54:19 Join Quelsaruk [0] (
10:54:24Quelsarukgood morning
11:07:20markunmorning Quelsaruk
11:20:21***Saving seen data "./dancer.seen"
11:22:00 Quit Kohlrabi ("Leaving")
11:23:48 Quit Lear (Excess Flood)
11:31:26 Nick Lost-ash is now known as ashridah (
11:52:15 Join actionshrimp [0] (
11:53:16 Join Kohlrabi [0] (
12:05:39 Join Lear [0] (
12:08:45 Join Moos [0] (
12:11:56linuxstbSlasher: Are you still around?
12:17:48Slasherlinuxstb: yes
12:18:27linuxstbI've been working on an AAC decoder, so we've now hit the problem of two codecs using the same extension (m4a).
12:18:45SlasherAh, hmm
12:19:19SlasherI think we could probe the file format using the metadata instead of file extension only
12:19:23linuxstbMy idea was to ensure that we always call get_metadata() before we load the relevant codec, and allow get_metadata() to change the codec type of the file after it analyses it.
12:19:32SlasherThat would require some modifications to the probe_file_format function at least
12:19:44SlasherHmm, that sounds good
12:20:57linuxstbI don't think playback.c should call probe_file_format() - just get_metadata().
12:21:14linuxstbOr the other way around. i.e. just one function.
12:22:31LearSomething unrelated: what is the purpose of the guard buffer?
12:22:35linuxstbWould you have time to make those changes to playback.c? I still don't understand it well enough. We need to be careful to only call it when the disk is spinning - i.e. just before we load the file (or codec) into the buffer.
12:23:07linuxstbLear: It's to handle the case of a codec requesting a pointer to N bytes of data from the codec buffer, but the codec buffer being at the wraparound point.
12:23:07SlasherLear: It will prevent passing partial buffer data to the codecs when the main file buffer wraps
12:24:24linuxstbi.e. the request_buffer() function is guaranteed to return either GUARD_BUFSIZE bytes or the number of bytes remaining in the file, whichever is larger.
13:20:24***Saving seen data "./dancer.seen"
13:59:03 Quit ashridah ("Leaving")
13:59:17 Join ashridah [0] (
14:01:44 Join muesli- [0] (
14:04:11 Join thegeek_ [0] (
14:11:53 Quit Kohlrabi (Read error: 104 (Connection reset by peer))
14:12:16 Join Kohlrabi [0] (
14:19:54 Quit thegeek (Read error: 110 (Connection timed out))
14:40:44 Quit ashridah ("Leaving")
14:44:56phaedrus961hey all, I've just submitted a patch for convbdf to fix two problems: 1) fonts wider than 16 pixels are now converted correctly. 2) the offset table was always written, even when unneeded.
14:45:08phaedrus961it can be found here:
15:06:14markunthanks phaedrus961
15:20:26***Saving seen data "./dancer.seen"
15:30:29 Quit DangerousDan ("Miranda IM! Smaller, Faster, Easier.")
15:31:11 Join DangerousDan [0] (
15:36:04 Quit Lear ("Chatzilla [Firefox 1.5/undefined]")
16:08:01 Join preglow [0] (
16:08:37preglowflac issue solved
16:09:18linuxstbYep. It was a playback.c problem all along. Hopefully that will increase playback reliability in general.
16:10:32linuxstbHis patch to use request_buffer() instead of read() is also useful. As you probably read in the logs - I didn't fully understand how the buffering worked.
16:10:48linuxstbBut it means FLAC uses 32KB less RAM.
16:11:20preglowflac has gotten really bloody lightweight
16:11:30linuxstbThere's nothing left of it...
16:11:49linuxstbBut don't worry, I've been trying to get libfaad2 working - that library makes libFLAC look streamlined.
16:12:01preglowyeah, i had a look at it
16:12:03linuxstbIt is also malloc hell.
16:12:22linuxstbUsing malloc for buffers 2 bytes long...
16:12:27preglowgood god
16:12:33preglowi wonder what the helix decoder looks like
16:12:45linuxstbWe're not allowed to look - license issues :(
16:12:56preglowoh, i know that
16:13:00preglowjust wondering
16:13:23linuxstbI'm curious too.
16:13:45linuxstbI think it will be a case of stripping down and rewriting parts of libfaad2. But it needs someone who understands AAC, or who wants to understand it.
16:14:35merbananlinuxstb: well first you need a fixedpoint mdct, do you have one of those ?
16:15:13preglowi think id like to study aac
16:15:29preglowwe have got several of those
16:15:35linuxstbmerbanan: I'm using libfaad2 in fixed point mode, so I assume it has one.
16:15:42preglowtremors got one, faads got one, a52 has got one
16:16:32merbananhmm, last time I checked it didn't have one
16:16:40merbananor did I check ???
16:16:47preglowit does have one
16:16:50preglowim pretty certain of that
16:17:02linuxstbI think all the high-level code is working OK - parsing the m4a stream, extracting the codec data from the m4a header and using it to initialise libfaad2. Even seeking works.
16:17:18linuxstbIt's working fairly reliably in the sim, but crashes on the target.
16:17:31merbananlinuxstb: what speed?
16:17:52linuxstbI don't know yet, it crashes on the sim before I get to hear anything.
16:17:57linuxstbI mean on the target.
16:18:11linuxstbBut I imagine it's going to be very very slow.
16:18:13preglowdidnt libfaad trigger tons of compiler bugs?
16:18:39*preglow looks forward to do some optimising
16:18:56linuxstbNot that many. I worked around them by changing some variables from signed to unsigned (or other way around). The diffs to the standard libfaad2 are tiny.
16:19:19linuxstbWhen it comes to putting it in CVS, I'll commit the clean libfaad2 first, then my workarounds.
16:19:34linuxstbThere are also a ton of compiler warnings. Mainly about using char as an array subscript.
16:20:49preglowi wonder what the odds of the codecs getting even more iram are :>
16:21:12preglowit certainly appears to be the single most important optimising point there is
16:21:39linuxstbDon't forget your DSP code will need IRAM as well.
16:21:46preglownot much
16:21:57preglowvery little, as a matter of fact
16:22:31preglowwe should really work to keep the main buffers of the codecs in iram during all the processing
16:22:38preglowthatll boost performance no end
16:22:59preglowexcuse the total lack of apostrophes, i hate laptop keyboards
16:23:08linuxstbI assume you just mean the output buffer. I don't think putting the input buffer in IRAM helps much.
16:23:16linuxstbBut I guess it depends on the codec.
16:24:26preglowi mean the output, yes
16:24:47preglowthe output buffer will be traversed tons of times if we do some dsp
16:26:27linuxstbDo you think it will be possible to remove mallocs completely? I think alac has one (for the metadata), but I'll try and remove it.
16:26:51linuxstbFLAC is now completely static. I think liba52 is as well.
16:27:42preglowcompletely, sure
16:27:48preglowas long as were willing to set some max limits
16:28:02preglowbtw, i think you can safely delete libflac now
16:29:37linuxstbOK, I'll do it later.
16:31:33preglowi hope to never see it again
16:32:28merbananlinuxstb: what speed?
16:33:08merbananlinuxstb: did you write your own implementations for the fft macros ?
16:33:41linuxstbNo. I haven't touched anything inside the libraries. They all have their own implementations.
16:35:13preglowyou cant very well use a common fft or mdct routine
16:35:32pregloweverthing uses its own fixed point format
16:35:39preglowand in some cases you can optimise for certain block sizes
16:35:39linuxstbI've uploaded my current AAC source tree here:
16:36:12linuxstbIt contains the apps, firmware and tools directories - synced to current CVS. As I said, it works in the sim, but not on the target.
16:36:19preglowbut im hoping someone will try implementing an imdct via ifft soon
16:36:38merbananpreglow: faad has that
16:36:57merbananpreglow: and they use macros for it also
16:37:02preglowthen lets hope someone writes a fast fft for coldfire soon
16:37:14preglowlinuxstb: damn, its big
16:38:53linuxstbDo you mean the source or the compiled aac.codec?
16:39:33linuxstbI'm sure it contains a lot of unused code. See the common.h file for which bits are enabled.
16:40:50merbananpreglow: the fft is macrobased
16:41:41merbananpreglow: do some fast macros and it should work ok
16:44:22novimon_anyone else get corrupted .flac files out of dbpoweramp?
16:45:24preglowdoesnt everyone?
16:45:38novimon_I for sure do?
16:46:05preglowmerbanan: only macros i can see are the general math macros
16:48:02preglowparts of libfaad also seem to use awkward fixed point formats, like musepack does :/
16:48:36preglowlinuxstb: btw, im pretty sure flac has too weak an output
16:49:14merbananpreglow: fixed.h
16:49:29linuxstbpreglow: Do you mean the samples are shifted incorrectly?
16:49:38merbananpreglow: what awkward format ?
16:50:11preglowlinuxstb: i dont know how, but the volume is too low
16:50:11linuxstbnovimon_: How are they corrupted? dbpoweramp will add ID3 tags to your FLAC files unless you tell it not to (when ripping from CD).
16:50:24linuxstbWe need a WAV writer...
16:50:30preglowyes we do
16:50:44linuxstbBut my "main.c" test program gives bit-perfect output.
16:53:28preglowive got the same track encoded as ogg and flac here
16:53:36preglowthe flac one is noticably weaker
16:53:52preglowseems to be half volume
16:54:29preglowmerbanan: like 14.18 fixed point
16:55:04preglowmerbanan: you need to shift by 14 after a mul, which loses tons of precision if you havent got a full 64 bit mul available
16:55:07preglowwhich coldfire doesnt
16:55:59merbananahh ok
16:57:04preglowlibmusepack does this as well
16:57:26 Quit DangerousDan ("Miranda IM! Smaller, Faster, Easier.")
16:57:26preglowand thanks to that we need to calculate a full 64 bit mul all the time, which slows stuff down no end
16:59:19merbananand just doing 7.9 is too low precision ?
16:59:25linuxstbpreglow: I think I know the FLAC volume problem. It's the code at line 450 of dsp.c. Now that SAMPLE_DEPTH is > NATIVE_DEPTH, the "+1" comes into effect.
16:59:41linuxstbSo I should probably configure SET_SAMPLE_DEPTH to 27
16:59:47preglowthats what i suspected as well
17:00:00preglowi think we should clarify that issue and fix it so its consistet
17:00:08 Quit lostlogic ("Going to the moon")
17:01:22linuxstbI also need to tell the DSP the real sample depth of the data - i.e. 16 or 24 bits.
17:03:43 Quit muesli- (Read error: 104 (Connection reset by peer))
17:04:18 Join muesli- [0] (
17:08:26linuxstbBecause you told me I did :) You said the dithering code needs to know.
17:08:32preglowahh, yes yes
17:09:24preglowbut that can come when we make all the codecs do the 28 bit resolution thing
17:09:48preglowi still dont know if anyone opposes the idea
17:10:05preglowi think a lot of the mallocs in libfaad can be remove pretty easily
17:11:06linuxstbPlease do and send me a patch. I've only removed one so far - in bits.c I think. It was using malloc on all the input data. So it crashed after reading 512KB of data.
17:11:58linuxstbThat was pretty obvious though.
17:12:06preglowill see what i can do once i get back home
17:12:09preglowlater tonight
17:12:35preglowbut ive gotta go for now
17:12:41linuxstbBut more useful would be to try and debug it on the target to find out where it crashes.
17:20:29***Saving seen data "./dancer.seen"
17:21:04 Join mirak [0] (
17:21:42 Quit muesli- (Read error: 113 (No route to host))
17:34:05 Join linuxstb_ [0] (
17:50:16 Join lostlogic [0] (
17:50:55 Quit linuxstb (Read error: 110 (Connection timed out))
17:51:08 Nick linuxstb_ is now known as linuxstb (
18:15:56 Join DangerousDan [0] (
18:19:03 Join hshah [0] (
18:19:34hshahheya all.... TiMiD are you around by any chance?
18:23:44 Join paugh [0] (n=kickback@2001:5c0:8fff:ffff:8000:0:3e03:6822)
18:37:16 Join amiconn [0] (
18:38:23 Join muesli- [0] (
18:38:23 Join LinusN [0] (
18:38:43Quelsarukhi amiconn, LinusN :)
18:40:59amiconnBagder: r u there?
18:41:20hshahim looking to TiMiD... lol
18:41:47hshahhopefully he can update the root2wps patch... coz it no longer applied to the modifications made to tree.c
18:42:47LinusNthe silly left-to-wps patch?
18:43:28hshahthe AMAZING left-to-wps patch you mean :p
18:44:05hshahits just a matter of preference though... some people like it, some people don't... you don't like it, but i do :p
18:44:13amiconnoops :)
18:44:22amiconnwrong kb
18:44:34 Join RotAtoR [0] (
18:46:07 Join linuxstb_ [0] (
18:50:44LinusNhshah: i lust uploaded a revised patch to the forum thread
18:52:55 Quit hshah ("CGI:IRC (EOF)")
18:53:27amiconnLinusN: You updated a silly patch? ;)
18:53:35 Join hshah [0] (
18:54:07hshahcool - thanks Linus
18:54:18hshahi actually tried to apply the patch myself...
18:54:30hshahsorry, i mean modify
18:54:33 Quit lostlogic ("Going to the moon")
18:54:36hshahand i forgot to put it in { }
18:54:54hshahand went home from uni over the weekend, and could not move back out of a folder on my iriver
18:55:09hshahlistening to 1 album for a 5 hour round trip is not fun!!!
18:55:36amiconnYou could have rebooted...
18:55:43 Join lostlogic [0] (
18:55:51hshahmine resumed playback...
18:56:06amiconnSwitch off resume on startup, then reboot
18:56:15LinusNor (god forbid) use the original firmware
18:56:20hshahwell im retarded... i didn't think of that
18:56:26hshahor that...
18:56:34hshahlol - come on guys... i was really tired
18:57:02hshahanyways, im gonna have a quick game of CS on lan with my housemates, so chat later... and keep up the good rockbox work guys!
19:02:46mirakLinusN: hi
19:02:49amiconnLinusN: I want to implement memove() soon, but memmove() and memcpy() will be in one source file because memcpy() will actually be a subset of memmove() (fassembler versions). Do you have an idea how to call the source file?
19:02:49mirakhshah: hi
19:02:55mirakamiconn: hello
19:03:14mirakhow is going the H300 version ?
19:03:30mirakI mean the bootloader
19:03:30LinusNamiconn: just let it be memcpy.c
19:03:37LinusNmirak: no progress yet
19:03:45amiconnIt's memcpy_a.S today
19:03:49mirakwould be motivating for H300 users in joining
19:03:54LinusNok, then keep it that
19:03:58LinusNmirak: yes i know
19:04:00mirakin joining coding rockbox
19:04:13amiconnThe plain c versions will be two files, because they can't be interleaved that way
19:04:25LinusNamiconn: sure
19:04:29mirakyep I am interested, but having nothing running is not appealing :D
19:04:40mirakLinusN: you own a H300 ?
19:04:47LinusNof course i do
19:05:14amiconnLinusN: Different question - is it possible to have the build system execute certain steps depending on the result of another?
19:05:30LinusNamiconn: not really, why?
19:05:59amiconnI'm thinking about a way to implement compressed images for recorder v1 (and perhaps player some time in the future)
19:06:28LinusNok, images as in pictures?
19:06:44amiconnNo, as in binary rockbox images
19:06:50LinusNi see
19:07:09amiconnDepending on the size of rockbox.bin, I want one of two different steps to be executed:
19:07:48amiconn(1) If rockbox.bin is smaller than the limit, it will just be scrambled as ajbrec.ajz / archos.mod
19:08:26amiconn(2) If it's larger, then an additional tiny loader should be built, tacked in front of rockbox.ucl, and then scrambled into ajbrec.ajz / archos.mod
19:08:31LinusNhehe, just like back in the old c64 days. sounds like a job for a shell or perl script
19:08:46amiconnSomething like a self-extracting image
19:09:04amiconnWe already build rockbox.ucl anyway - veery handy for this :)
19:09:46amiconnThe ucl unpacker is also already present in the flash bootloader, and the decompressing loader will do almost the same only has to copy the compressed image to end-of-ram before decompressing, because decompressing in-place won't work
19:10:29mirakLinusN: do you want money ?
19:10:35mirakLinusN: or chocolates :D
19:10:45LinusNmirak: i want time :-)
19:11:00mirakhow much time ?
19:11:42LinusNmy point is, i have little time to work on rockbox at the moment, as i have a wife and two kids
19:11:51LinusNand a job
19:12:55LinusNnot just any wife btw, as she is in a wheelchair, so she needs a lot of help
19:13:25LinusNQuelsaruk: yes, she is in fact a little better
19:13:37LinusNthat's life
19:13:45LinusNmine at least :-)
19:14:35QuelsarukThat's great
19:14:55LinusNshe has almost halved the morphine dose
19:15:07Quelsarukgood news, indeed
19:17:44 Join matsl [0] (
19:18:54Quelsaruktime to go, see you later/another day
19:19:00 Nick Quelsaruk is now known as Quel|away (
19:20:30***Saving seen data "./dancer.seen"
19:29:27 Quit muesli- (Read error: 110 (Connection timed out))
19:39:25RotAtoRI've run into a strange problem display text on the iriver wiht my plugin. Would anyone be willing to look at my code?
19:39:47RotAtoRI've got the problem narrowed down to one block of code, but it makes no sense to me.
19:40:45LinusNshow me
19:41:12RotAtoRI've got it narrowed down to one place in the function bejeweled_init()
19:42:05RotAtoRthe act of running the "clear the playboard" section of code causes text not to be displayed on the screen ever again on the target only, but it still works fine on the sim
19:42:49 Quit hshah ("CGI:IRC (EOF)")
19:43:25RotAtoRthe strange thing is that all the other graphics display works fine, the mono_bitmap calls, lines, and rects
19:43:35RotAtoRjust text stops working
19:44:12LinusNRotAtoR: haven't you swapped height and width in the loop?
19:44:53LinusNi runs from 0 to 9, but the array has only 8 elements in that dimension
19:45:02RotAtoRhmm, that could be a problem...
19:45:23LinusNi think you accidentally overwrite the static strings with 0's
19:45:59RotAtoRarrgh, i'll check into it
19:46:15LinusNbtw, memset is your friend
19:46:46RotAtoRhmm, yeah, that would be easier since I set it all to 0
19:46:48LinusNand using macros for height and width might be a good idea
19:47:21RotAtoRyeah, i know, it' still a work in progress :p
19:48:55LinusNgotta go, good luck
19:49:03RotAtoRthanks for the help!
19:50:25 Part LinusN
19:52:21 Join DrMoos [0] (
19:53:11 Quit Moos (Read error: 104 (Connection reset by peer))
19:53:39 Quit mirak (Remote closed the connection)
19:59:50 Nick DrMoos is now known as Moos (
20:02:33 Join Sucka [0] (
20:08:16 Join muesli_- [0] (
20:11:30RotAtoRLinusN: That was the problem, thanks. Hooray for mistakes so stupid they're impossible to see... :)
20:23:16 Quit actionshrimp (Read error: 110 (Connection timed out))
20:43:15 Join muesli- [0] (
20:59:32 Quit muesli_- (Read error: 113 (No route to host))
21:02:58 Join DrMoos [0] (
21:03:20 Quit Moos (Read error: 104 (Connection reset by peer))
21:03:29 Nick DrMoos is now known as Moos (
21:20:34***Saving seen data "./dancer.seen"
21:30:57 Quit Rick (Read error: 104 (Connection reset by peer))
21:32:07 Join Rick [0] (
21:43:10 Quit linuxstb_ ("CGI:IRC")
21:48:50 Join [IDC]Dragon [0] (
21:49:40amiconnhi [IDC]Dragon
21:49:47[IDC]Dragonhi guys
21:50:20*amiconn just committed a new SH1 memcpy()
21:50:23[IDC]Dragonand I'm only here to abuse some external brain
21:50:36[IDC]DragonI need a very primitive PRNG
21:50:55[IDC]Dragonfor my home networking controllers
21:51:05amiconnJust use the one from the grayscale lib
21:51:12[IDC]Dragonto determine a backoff interval on collisions
21:51:30[IDC]Dragonthat's what I remembered, yes
21:51:36amiconnIt only needs 16 bit ints
21:52:00[IDC]Dragonit would be cool to add some "randomness" whenever I encounter some
21:52:26[IDC]Dragonlike, the local time stamp on incoming bytes
21:52:32amiconnIn fact it's the algorithm that the good old ZX Spectrum used. Not taken from the code, it was described in the manual
21:53:03amiconnLinear congruency is almost trivial, you only need 'good' parameters
21:53:03[IDC]Dragonnot taken form Z80 assembler? ;-)
21:53:20amiconnIt's way easier with SH1 because it has mul
21:53:29amiconn6 asm instructions for the prng itself
21:54:27amiconnDoes your controller have mul?
21:55:43[IDC]DragonI think so
21:56:52[IDC]Dragon(never went down to asm, gcc worked very well)
21:58:10amiconnIs this a 16 or 32 bit controller?
21:58:51[IDC]Dragonhehe, 8 bit
21:59:19[IDC]Dragonno problem in C
22:00:36[IDC]DragonI have some CRC code anyway, was thinking about using that
22:01:03[IDC]Dragoneasy re-randomisation
22:01:03amiconnWhat does CRC have to do with PRNG?
22:01:19amiconnHow many random bits would you need?
22:01:44[IDC]Dragonvery few, 2..4
22:01:46amiconnLinear congruency is simple, but not all bits of the result are very random
22:02:10amiconnThe prng in the grayscale is 16 bit. The upper 8 bits are random enough
22:02:20[IDC]Dragonyes, saw that
22:02:33[IDC]Dragondo you seed it?
22:03:24amiconnNo need to, as I only need a random 'looking' sequence. It can be the same every time the grayscale lib is used
22:03:53amiconnIt avoid moire patterns
22:03:59[IDC]Dragonfor me, a different sequence is essential
22:04:13amiconnThen you'll need a seed
22:04:24amiconnIt's the same with all prngs
22:04:56[IDC]Dragonthe only thing that differs inbetween my controllers is the address
22:05:11[IDC]Dragonso that would be a first seed
22:05:46amiconnThe sequences will be shifted anyway, because (I assume) the controllers aren't powered up at the same time
22:05:59[IDC]Dragonsome more randomization on the way is welcome, like those timestamps when receiving external bytes
22:06:28 Join einhirn [0] (
22:06:31[IDC]Dragonthey are powered on together
22:06:46amiconnah, hmm
22:06:51[IDC]Dragonbut reset hold time seems to vary
22:07:07[IDC]Dragonvoltage rise, analog stuff
22:07:39[IDC]Dragonbut that doesn't give me different numbers
22:15:37*[IDC]Dragon glances over the memcpy()
22:16:22[IDC]Dragonperhaps the most advanced the SH has ever seen ;-)
22:17:10amiconnNext thing (already started) is the reverse copy, then I'll combine both to form a memmove() with "embedded" memcpy()
22:17:23amiconnAfter that I'll do the same for coldfire
22:18:30 Join JAJDude [0] (
22:23:26 Quit JAJDude (Client Quit)
22:28:55 Join Kohlriba [0] (
22:30:05[IDC]Dragonreverse for bidir scrolling?
22:31:51amiconnFor memmove() in general
22:32:05amiconnUseful for scrolling and other things
22:46:23 Quit Kohlrabi (Read error: 110 (Connection timed out))
23:02:05 Join muesli_- [0] (
23:17:08 Join tvelocity [0] (
23:20:35***Saving seen data "./dancer.seen"
23:25:49[IDC]DragonJens, I use your PRNG now, with an extra randomize
23:26:00 Quit muesli- (Read error: 110 (Connection timed out))
23:27:18amiconnWow... my reverse copy loop is working correctly at the first try
23:27:34amiconnsuspicious, I'd say...
23:28:28[IDC]Dragonthe coplex stuff is "always" correct, it's the simple things that breaks me
23:28:38[IDC]Dragon complex
23:31:05amiconnI should choose the reverse loop as 'standard' (the one used for memcpy). It's a bit faster than the forward case
23:32:29[IDC]Dragonnever mind, I'm sleepy
23:33:21 Quit [IDC]Dragon ("CGI:IRC (EOF)")
23:49:03 Quit einhirn ("Miranda IM! Smaller, Faster, Easier.")
23:58:43 Quit RotAtoR (Nick collision from services.)
23:59:00 Join RotAtoR [0] (

Previous day | Next day