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 2021-06-22

00:43:00desowinif you have jtag with data watchpoints, then just set a write breakpoint
00:43:25__builtincan I do that on ipod6g?
00:43:43desowinif not, then look what's around this variable in map file
00:44:18__builtinI might just instrument key points in the code to log the value
00:44:24__builtinand bisect from there
00:44:30desowinyou can load up elf in Ghidra and look for clues there (navigate over the references)
00:46:02desowinif you how valid and invalid data values you can add tick hook checking that to try to detect the thread that causes corruption
00:48:50desowinbraewoods: xor with 0xffffffff is just one of many possibilities. If you look up how crcs are categorized then you'll find find xorout as one of the parameters
00:59:02 Quit advcomp2019_ (Ping timeout: 258 seconds)
01:09:32desowin("many" is extraggeration, as most crc are either xorout with 0 or crclength of ones)
01:19:14 Join lebellium [0] (~lebellium@2a01:cb10:2e:2000:e9f0:22d6:72e8:fd2)
01:30:18 Quit fmlatghor (Ping timeout: 264 seconds)
01:34:41***Saving seen data "./dancer.seen"
01:57:59braewoodsdesowin: i see. i just noted that XOR with all bits turned on is equivalent to logical NOT.
01:58:03braewoodserr bitwise not
01:58:59braewoodshm. new challenge.
01:59:19braewoodsmost inflate libraries assume all the compressed data is in RAM at once
01:59:46braewoodsso i need to find that isn't or modify one so it can take the datastream in partial chunks
02:05:24 Quit lebellium (Quit: Leaving)
02:09:35 Join fmlatghor [0] (~lcoogan@2601:5cd:8100:2890:9220:3aff:fe1a:350d)
02:19:09 Quit _bilgus (Ping timeout: 258 seconds)
03:07:50 Join Guest69 [0] (~Guest69@
03:08:02 Quit Guest69 (Client Quit)
03:34:45***Saving seen data "./dancer.seen"
04:57:50 Quit ufdm (Read error: Connection reset by peer)
04:57:59 Join ufdm [0] (
05:15:16 Quit ufdm (Quit: Leaving)
05:27:44braewoodsthis is challenging. finding an inflate library that supports gradual processing so i don't need to load the whole data stream into RAM first
05:29:41 Join ufdm [0] (
05:34:46***Saving seen data "./dancer.seen"
06:12:15 Join amachronic [0] (~amachroni@user/amachronic)
06:16:03amachronicbraewoods: surely zlib can work in low RAM... unzip doesn't consume all RAM due to a huge zipfile.
06:21:09braewoodsamachronic: no idea. i'm also trying to avoid adding too much code size for more RAM constrained targets.
06:21:22braewoodstrying to see what my options are
06:22:30braewoodsheh. the image viewer plugin uses a smaller library for png decompression.
06:23:00amachronicyeah that's deflate too isn't it?
06:23:20braewoodsyes... it usually uses zlib of course.
06:24:52braewoodsproblem with tinf is it lacks a streaming or resumeable inflate algorithm so not possible to use unless I modify it.
06:25:45braewoodszlib does have that but not sure how much i'd have to strip out just to have the part i need
06:26:14amachronicwell at some level there must be a "get the bytes from buffer" function and that should be an easy thing to modify to support streaming
06:26:23amachronicbut zlib is probably too big not worth hacking it apart
06:26:58braewoodsi already imported a space optimized version of the ZIP crc32 algorithm
06:27:06braewoodsthat's already in rockbox master
06:27:34braewoodsit also freed up some space on some space stared targets
06:27:47braewoodssince it was functionall identical to an alternative crc32 in use by mi4
06:28:11amachronichow constrained is that gigabeat bootloader anyhow?
06:28:25braewoodsit isn't. it's a side benefit for other ports.
06:29:04braewoodsi decided while i was at it to make a ZIP library we could use for other things in rockbox
06:29:16braewoodsso that means trying to keep the memory footprint low
06:29:57amachronichmm, so 2 MB is currently the minimum RAM for a couple targets but 8 MB+ is more usual
06:30:22braewoodsindeed. even that may be too low for this.
06:30:52braewoodsbut for now i intend just to get this sucker working; we can swap out these parts for more memory hungry parts if we find we can spare it after all.
06:31:22braewoodsi want to see how it performs in a space optimized version first
06:31:28amachronicI'd go the other way... use something big & easy and if it proves necessary reduce it
06:31:39amachronicdepending on what functions you call a lot of code may go away at link time
06:32:01amachronicso big library != big space consumption if you only call a few functions
06:32:29amachronicbut, if you've already got something working might as well start small
06:32:57braewoodswell.. maybe it ultimately doesn't matter.
06:33:39braewoodsi'm finding the most significant RAM consumption is all the buffers
06:33:48braewoodscode size is going to pale by comparison
06:34:11amachronicyeah I just wanted to point out like that float formatting thing was a biggest code size impact on targets with the most room to spare.
06:34:26amachronicie. on the targets with low RAM the code size was also smaller
06:34:49amachronicI guess they work that way for a reason :)
06:35:12braewoodsi'm considering introducing fast crc32 algorithms for non-bootloader targets
06:35:34braewoodsthey use a beefier lookup table to enhance the end result
06:35:50braewoods1024 bytes vs 64 bytes
06:36:37 Join aevin [0] (
06:36:58amachronicnb. Rockbox has limited IO speeds around ~10 MB/s to begin with so anything faster than that is not really needed
06:37:44amachronicfrom a streaming perspective at least
06:37:54braewoodsamachronic: depends on the port. my gigabeat S hits 20 with an SSD drive.
06:38:49amachronicah, nvm then
06:39:22amachronicI wasted a lot of time myself trying to make things small and just had room to spare in the end
06:41:06amachronicunless you hit real cpu or size problems you might as well pick the low-complexity solutions at first
06:41:36speachy^^^ exactly.
06:41:46speachyonly add complexity when necessary
06:43:41braewoodswell i'll see how well my library performs first
06:44:03braewoodsi'm just trying to find a solution for handling DEFLATE stored filed
06:44:11braewoodsSTORE is trivial; it's not compressed at all
06:44:55braewoodsbut i realized tinf works for imageviewer but not for ZIP archives due to how large files can get
06:45:08braewoodspngs are typically much smaller
06:45:15braewoodsand only a single data stream
06:45:32braewoodsZIP files though vary wildly
06:45:46braewoodsso i'm trying to make it more robust by finding a resumeable stream decoder
06:45:54braewoodsso i don't need to buffer it all in ram
06:46:04braewoodshaving to do that would limit what types of files i can work with
07:19:53 Quit Rondom (Remote host closed the connection)
07:20:05 Join Rondom [0] (~rondom@user/rondom)
07:22:42 Join _bilgus [0] (~bilgus@
07:34:49***Saving seen data "./dancer.seen"
07:50:44 Quit markun (Ping timeout: 265 seconds)
07:52:15 Join markun [0] (
08:32:30 Quit fmlatghor (Remote host closed the connection)
08:32:54 Join fmlatghor [0] (~lcoogan@2601:5cd:8100:2890:9220:3aff:fe1a:350d)
09:06:18 Quit amachronic (Quit: amachronic)
09:34:53***Saving seen data "./dancer.seen"
11:10:11 Join advcomp2019 [0] (~advcomp20@user/advcomp2019)
11:34:56***No seen item changed, no save performed.
12:07:01 Nick Arsen is now known as ArsenArsen (~arsen@managarm/dev/Arsen)
12:07:09 Nick ArsenArsen is now known as Arsen (~arsen@managarm/dev/Arsen)
12:07:42 Nick Arsen is now known as ArsenArsen (~arsen@managarm/dev/Arsen)
12:18:53braewoodsi'm just going to forget about the whole inflate algorithm problem for awhile and just focus on implementing ZIP support without it for now
12:35:56 Quit j-r (Remote host closed the connection)
12:37:16 Join j-r [0] (
12:39:46 Quit akaWolf (Ping timeout: 265 seconds)
12:42:14 Nick j-r is now known as j--r (
12:42:33 Nick j--r is now known as j-r (
12:43:21 Join akaWolf [0] (
12:43:31 Quit j-r (Remote host closed the connection)
12:43:46 Join j-r [0] (
13:13:42 Join lebellium [0] (~lebellium@2a01:cb10:2e:2000:b93f:bcd5:5f34:d31c)
13:30:46rb-bluebotBuild Server message: New build round started. Revision b5c40d9991, 297 builds, 9 clients.
13:34:59***Saving seen data "./dancer.seen"
13:47:56rb-bluebotBuild Server message: Build round completed after 1030 seconds.
13:47:59rb-bluebotBuild Server message: Revision b5c40d9991 result: All green
14:30:56 Quit akaWolf (Ping timeout: 258 seconds)
14:31:55 Nick ArsenArsen is now known as Arsen (~arsen@managarm/dev/Arsen)
14:36:38 Join akaWolf [0] (
15:22:14 Quit akaWolf (Ping timeout: 252 seconds)
15:35:03***Saving seen data "./dancer.seen"
15:37:53 Join akaWolf [0] (
15:43:46 Quit _bilgus (Ping timeout: 258 seconds)
16:30:19 Join amachronic [0] (~amachroni@user/amachronic)
16:50:08rb-bluebotBuild Server message: New build round started. Revision 8a6b2f3abc, 297 builds, 9 clients.
17:06:09rb-bluebotBuild Server message: Build round completed after 960 seconds.
17:06:17rb-bluebotBuild Server message: Revision 8a6b2f3abc result: All green
17:06:58rb-bluebotBuild Server message: New build round started. Revision 6da490099b, 297 builds, 9 clients.
17:22:33rb-bluebotBuild Server message: Build round completed after 936 seconds.
17:22:37rb-bluebotBuild Server message: Revision 6da490099b result: All green
17:24:56 Quit amachronic (Quit: amachronic)
17:35:06***Saving seen data "./dancer.seen"
17:47:55 Quit lebellium (Quit: Leaving)
17:59:28 Quit ufdm (Ping timeout: 258 seconds)
18:00:56 Quit mendel_munkis (Remote host closed the connection)
18:01:15 Join mendel_munkis [0] (
18:32:44 Quit akaWolf (Ping timeout: 268 seconds)
18:44:18 Join akaWolf [0] (
19:35:10***Saving seen data "./dancer.seen"
20:30:49 Nick mendel_munkis is now known as munkis (
20:31:08 Nick munkis is now known as mendel_munkis_ (
20:31:21 Nick mendel_munkis_ is now known as munkis (
21:35:11***No seen item changed, no save performed.
22:39:50 Quit fmlatghor (Remote host closed the connection)
22:40:13 Join fmlatghor [0] (~lcoogan@2601:5cd:8100:2890:9220:3aff:fe1a:350d)
23:35:13***Saving seen data "./dancer.seen"

Previous day | Next day