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

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

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

#rockbox log for 2004-08-04

00:00:30dstar5amiconn, the vu meter changes are ready to go
00:00:49midkdstar5, hmm, your update is a little odd..
00:01:05dstar5no it is not
00:03:29midki'd say it is
00:03:53dstar5whats odd about it?
00:04:26midkhmm.. it doesn't really look better as far as the interface... a couple 'bugs'...
00:04:34midkand i'm still not happy you took my code\
00:05:14dstar5whats bugs? and no i did not take your code
00:05:31 Join Treyqae [0] (
00:05:53dstar5and yes the interface it good
00:06:01midknah, it sucks
00:06:03dstar5 a couple 'bugs' and those are...
00:06:15midklocate them yourself
00:07:00dstar5there are no bugs then
00:07:19midkok, i was lying, there are no bugs, and your interface absolutely rocks
00:07:34dstar5wow! thanks you
00:07:57zeekoemidk: what code did he take?
00:08:20midkthree functions.. i won't count the struct
00:08:58zeekoewhat functions?
00:09:07midkhe changed them around a bit to make them look original of course.. but he calls them in the same spots and at the same times as i do and he has the same function names... :\ i even specifically requested he didn't use it but apparently he doesn't care
00:09:23midkreset/save/load settings
00:09:37dstar5ther are intirely differn't
00:09:38amiconnmidk: Remember rockbox is GPL, so dstar5 may take and reuse any code he wishes, as long as he puts his code under GPL as well (as he did)
00:09:53midkyeah.. but i wished he's respect my request to not use it
00:10:20zeekoehmm okay
00:10:29midkdstar5, you made them different so that they wouldn
00:10:33midk't look stolen
00:10:36zeekoebut why may he not use specifically that code?
00:10:45midki said the whole thing
00:10:54midkhe only had use for those functions
00:11:00dstar5no, i removed stuff like showing logo's etc why would a clock logog go in a vu meter? :P
00:11:10midkright.. that's what you took out.
00:11:15midkto make it fit, like i said.
00:11:25amiconnHowever, if someone reuses someone else's code, a remark would be nice that this was done (that's why there is e.g. a comment in firmware/drivers/lcd.S saying "Based on the work of Alan Korr and Jörg Hohensohn")
00:11:33midkthis is in addition to being called a dick and accused of stealing my own code
00:12:35zeekoewhich code?
00:12:44midkmy decay settings menu
00:12:49dstar5midk, they are very simple functions... if i wrote them myself, they would be very similar... and also didn't LinusN make those for you?
00:12:50midkfor the old vu meter
00:13:06midkno.. he put in a few tips and i thank him for that though
00:14:14amiconndstar5: From looking at your code, I have two things I would change before committing (after I have played with it a bit):
00:14:33dstar5amiconn, ok
00:15:22zeekoejust a question... why did you actually rewrite the whole vu-meter?
00:15:30amiconn(1) lines 27, 28, 31 and 32 are way too long according to the "code police"
00:16:11amiconn(2) Settings should go into /.rockbox instead of /.rockbox/rocks according to Linus
00:16:28midkamiconn, i told linus that i should put the clock settings there and he rejected the idea...
00:16:33dstar5midk, that should go for your clock as well
00:16:41midkdstar5, i've got it under control.
00:17:06midkamiconn, he said that it belonged with the rocks for.. i don't remember why.. he just said it did
00:17:26dstar5i think it really should be /.rockbox/settings
00:17:35dstar5there are a few thing that could be save dthere
00:17:40midka seperate dir for settings?
00:17:56midkyeah, about 4 files would go there, assuming plugins were used
00:18:02amiconnHmm, obviously I didn't remember the last one correctly... so forget (2), as it seems to be The Right Way (tm)
00:18:11midkamiconn, yeah.. :]
00:18:32dstar5humm what was the limit on columms?
00:19:15dstar5uhhh are they trying to amke everything viewable for those in 800x600?
00:19:42zeekoei have to scroll too, now
00:20:00zeekoecan see 100 columns
00:20:13dstar5i am in 1280x1024 atm
00:20:15amiconnI have to scroll too (yes, even with 1400x1050 !)
00:20:21dstar5i use 1152x864 at home
00:20:30midki can see it fine in 1024x768
00:20:38zeekoei use textpad
00:20:51CtcpIgnored 1 channel CTCP requests in 0 seconds at the last flood
00:20:51*dstar5 ues notepad++
00:20:56zeekoewith some extra thingies at the left that fill up about 150 pixels or so
00:21:00*amiconn uses ConTEXT
00:21:58zeekoei see it
00:21:59midkzeekoe: gooooooooogle.
00:22:37zeekoecontext seems to use a fixedsys like font
00:23:32amiconnzeekoe: You can customize it
00:23:48amiconnI use Courier New/11
00:24:05zeekoenotepad++ looks nice
00:24:06dstar5notepad++ has a good font, it also enlarges braces of the functions you are currently in which looks cool
00:24:15zeekoemidk: what do you use?
00:24:19dstar5and it also shows all the tab poitions
00:24:26midklinux only iirc
00:24:32zeekoei guess so
00:24:44dstar5kwrite isnot that a word processor?
00:24:47zeekoewhy not use vi ;)
00:24:54midkzeekoe, why?
00:25:08dstar5vim is cool for linux
00:25:55zeekoemidk: because it's so easy to use :)
00:26:03midki prefer kwrite
00:26:03zeekoekwrite looks cool too, a bit like notepad++
00:26:58dstar5notepad++ also lets you collaps functions, so you can see mre of what you want
00:27:17midksame with kwrite
00:27:22zeekoei saw :)
00:30:14amiconndstar5: More annotations to the vu meter:
00:30:25dstar5amiconn, ok
00:30:35amiconn(1) The new plugin is actually smaller than the old one :)
00:31:27amiconn(2) Then new digital mode doesn't seem to use the "scale" and "decay speed" settings :|
00:31:56dstar5i will add zeekoe mentioned that
00:31:58amiconn(3) No more "Press on for help" hint
00:32:10amiconn(4) The mini meters are gone :(
00:32:18midki wrote those, dstar5 hated the,
00:32:23midkthat really bugs me
00:32:34dstar5i asked three people none of them liked them
00:32:35midkhe constantly called them crap :\
00:33:04amiconnI think they were a nice option
00:33:07midkhe also took out help because it was pointless...
00:33:35dstar5amiconn, no room in the display now
00:33:50midkthat's what i said, he said it slowed down the drawing time etc.. but no, leave them out - i wouldn't like any of my code in this anymore
00:34:17amiconndstar5: You could put them beside the "Left" and "right" strings
00:34:29dstar5amiconn, humm yes sure
00:35:21dstar5they may not look to bad next to the left/right text
00:35:30midkoh yeah, it was the placement that you hated...
00:35:59dstar5and the help theing... i would like to make that only come up if there was no settings file.. having it everytime is annoying
00:36:00midkis this a nightmare?
00:36:28dstar5well i personelly still don't like it
00:36:35midkthen leave it out
00:36:40midkplease. leave the minimeters out.
00:37:13dstar5midk, what you wanted them
00:37:24midkdstar5, leave my code out please
00:37:26dstar5midk, you will get a comment for you
00:37:33midki don't want a comment anymore
00:38:48zeekoedunno who started all this, but now you might as well both continue at #jerryspringer
00:38:55amiconnAnd to all coders (as it seems I am the const police now): please declare everthing that does not change constant, especially arrays (although this doesn't seem to make sense for the plugins, it would be cleaner coding)
00:39:13dstar5amiconn, will change...
00:39:17***Saving seen data "./dancer.seen"
00:41:29dstar5midk, you just don't like anything about what i change do you?
00:42:31midkis "fuck you" an ok answer?
00:43:18dstar5i guess he doesn't
00:43:29midkhee hee!
00:43:30 Quit midk (Remote closed the connection)
00:43:45 Join midk [0] (
00:43:50jdeonarinehello all
00:43:59zeekoejdeonarine: you told me something
00:44:06zeekoewell, at least tried to
00:44:21jdeonarineyeah, you posted some performance numbers about the id3 browsing
00:44:28jdeonarineI took some more 'scientific' ones
00:44:36jdeonarinethey're in the patch description
00:44:46zeekoeok :)
00:45:08jdeonarineto join the editor discussion, I use notetab pro (
00:46:03dstar5bye bye time ot go home
00:46:07 Quit dstar5 ("Leaving")
00:47:30zeekoecan't connect to ...........
00:47:39jdeonarinemaybe ?
00:47:51midkmaybe google?
00:48:07jdeonarinehmm, I think the site might be down
00:48:15midkseriously, what is it with people.. "i use notepad!" "what's notepad? give me a link" is it that hard to just go and put in notepad?
00:48:47jdeonarineeh, sometimes it is easier to provide a reference
00:49:05jdeonarineI don't think my english prof's in college would've bought that :)
00:49:06midkyou always get valid links with google
00:49:22jdeonarine'you need to cite your sources' 'eh, use google'
00:49:44zeekoeno screen shots
00:49:44jdeonarinebesides, I've got the program installed, and it gives its website
00:50:01 Join Smooth [0] (
00:50:04zeekoegoogle says exists, opera doesnt
00:50:16midkview cached..
00:50:20midkor wait for it to come back up
00:50:54jdeonarineyeah, the fookes link is to the company that makes the software
00:51:03zeekoei'll just wait :)
00:51:15jdeonarineI've also used syn
00:51:21jdeonarinewhich is a sourceforge project
00:51:24jdeonarineI didn't much care for it
00:51:31zeekoebut jdeonarine, do you have any idea why my root folder took so long to load, everytime again?
00:51:57jdeonarineit was worse than without the patch?
00:52:14zeekoeway worse
00:52:29zeekoenormal operation it's just there
00:52:31jdeonarinewhat have you got in your root dir? I don't keep mp3's in mine
00:52:52zeekoewith the patch, no .display_global, and it just sits there waiting for about 5-10 seconds
00:53:00zeekoei'll check again
00:53:01jdeonarinethat's really odd
00:53:07zeekoe2x mp3
00:53:09midkyou have to read the id3 of each track... that'd probably make it a bit slower
00:53:13zeekoe3-4x bmp
00:53:21jdeonarinebut without a .display_global, I don't read the id3
00:53:23zeekoe2x rock
00:53:31zeekoethat's what i thought
00:53:36jdeonarinebesides which, 2 id3's don't take that long to read
00:53:40jdeonarineI will check it out
00:53:43zeekoeand it shouldn't make a difference then
00:53:56zeekoenow rolo'ed in the patched one
00:54:02jdeonarinebut it could be a bug, so I'll check it out
00:54:33zeekoe11 seconds
00:54:40zeekoefrom .rockbox to the root
00:54:51zeekoeand it's reading the disk just .5 seconds or so
00:55:09zeekoeafter rolo'ing the resume screen appears
00:55:11jdeonarinelet me take a look at it some more
00:55:20zeekoethen i press 'another key' and it waits that long too
00:56:09zeekoeand when i press play, it loads the dir, waits for about 11 seconds again, and shows the wps
00:56:22zeekoepressing on brings me directly into the root then
00:56:35zeekoei hope this info will help you...
00:56:45jdeonarinewhat kind of archos do you have?
00:56:49zeekoerecorder v1
00:57:02jdeonarinein the simulator, I don't see that I'm opening any files if there isn't a .display_global
00:57:41 Quit uski ()
00:58:39zeekoecreated an empty .display_global
00:58:53zeekoestill the same
00:59:05zeekoenow i'll fill it
00:59:53 Quit Treyqae ("User pushed the X - because it's Xtra, baby")
00:59:57jdeonarinehmm, on my unit, with a .display_global even, and 2 mp3's, not really any delay
01:00:28zeekoeit's not even reading the disk that 11 seconds
01:01:49jdeonarinehow odd
01:02:20amiconnIn case someone wants to check it out immediately: I've just updated my Rombox builds
01:02:27zeekoejdeonarine: that's my dir listing
01:02:50zeekoehmm... sorry amiconn... need to sleep now
01:03:06zeekoebye all
01:03:08jdeonarinehmm, could it be your .talk file?
01:03:18zeekoemight be
01:05:10zeekoedeleted it
01:05:12zeekoeno effect
01:05:43jdeonarinek, I'll build a sim vers of that unit and see if there's anything different going on
01:05:53zeekoewhat unit do you have?
01:05:58jdeonarineif you turn id3 support off in the menu, does that change it at all?
01:06:01jdeonarineI have a v2 recorder
01:06:19zeekoei'll check
01:06:23zeekoein 11 seconds :)
01:07:07jdeonarineso the off case works fine
01:07:11zeekoeit's just as fast as without the patch
01:07:25jdeonarinek, I'll look at the sim and the code and try to see where we're getting stuck
01:07:55 Quit zeekoe ("quit...")
01:09:19 Join uski [0] (
01:09:43 Quit Smooth (Read error: 110 (Connection timed out))
01:12:51 Quit midk ("Leaving")
01:15:34 Join midk [0] (
01:20:29 Quit midk (Client Quit)
01:20:40 Join midk [0] (
01:40:24 Part amiconn
01:43:34 Quit uski (Read error: 104 (Connection reset by peer))
01:43:38 Join uski [0] (
01:50:11 Quit midk ("just STOP it arspy")
01:51:42 Join midk [0] (
02:00:54 Join pvh [0] (
02:01:16pvhMy rockbox is playing back at about 1/2 speed!
02:01:40pvhEither that, or the whole world is moving twice as fast, which is even more terrifying.
02:06:13midkpvh, did you check the pitch?
02:06:21midkhold on at the wps..
02:08:14pvhYes, the pitch is at 100.
02:08:22pvhThis is seriously weird.
02:08:42pvhI first noticed yesterday when I recorded a couple MP3s and they were playing back extremely fast on my computer.
02:09:46pvhStranger still, the problem persists in the classic Archos firmware.
02:09:53pvhWTF, mate?
02:10:07pvhI mean, I'm a fan of downtempo, but this is absurd.
02:17:28jdeonarineperhaps your clock chip is bad?
02:17:38jdeonarineif the archos firmware doesn't work either, that seems to point towards hardware
02:18:19midkpvh: it could be the recordings
02:18:23midkdid you try other mp3s?
02:23:48jdeonarinewell, posted an updated patch for my feature, maybe that will help zeekoe's problem
02:39:21***Saving seen data "./dancer.seen"
02:42:42 Quit Nibbler (Read error: 104 (Connection reset by peer))
03:34:32 Quit midk (Read error: 104 (Connection reset by peer))
03:34:40 Join midkay [0] (
03:35:08 Nick midkay is now known as midk (
03:40:29 Quit midk (Read error: 104 (Connection reset by peer))
03:40:42 Join midk [0] (
03:48:13 Nick boofawork is now known as kaboofa (
03:48:13DBUGEnqueued KICK kaboofa
03:55:10kaboofaDid i piss anyone off??
03:59:47 Join scott666 [0] (
04:00:17 Quit hardeep ("[BX] Reserve your copy of BitchX-1.0c19 for the BeOS today!")
04:02:32 Join BlueChip [0] (
04:02:36 Part BlueChip
04:13:09 Join AciD [0] (
04:24:32 Join Nibbler [0] (
04:39:22***Saving seen data "./dancer.seen"
04:43:07 Join edx{code} [0] (
04:51:58 Quit edx{code} ()
04:53:04 Quit midk ("just STOP it arspy")
04:54:26 Join midk [0] (
05:00:36 Quit edx (Read error: 110 (Connection timed out))
05:23:48 Quit pvh (
05:23:48 Quit mbr (
05:23:48 Quit Hes (
05:23:49 Quit Nibbler (Read error: 104 (Connection reset by peer))
05:26:05NJoinHes [0] (
05:28:50 Quit scott666 ("i'll be back...eventually...")
05:29:37NJoinmbr [0] (
05:34:09NJoinpvh [0] (
06:24:00 Quit AciD ("tabarnack jva finir par le pitcher par la fenêtre le criss d'ordi")
06:39:25***Saving seen data "./dancer.seen"
06:42:36 Nick kaboofa is now known as boofasleeping (
06:42:36DBUGEnqueued KICK boofasleeping
07:06:03 Join Nibbler [0] (
07:16:52 Nick jdeonarine is now known as jdeon|away (
08:19:25 Quit Nibbler (Read error: 104 (Connection reset by peer))
08:24:07 Join amiconn [0] (
08:39:26***Saving seen data "./dancer.seen"
08:47:22 Quit midk ("just STOP it arspy")
08:49:19 Join midk [0] (
08:56:00 Join edx [0] (
09:17:35 Join Nibbler [0] (
09:50:04 Quit Nibbler (Read error: 104 (Connection reset by peer))
09:58:40 Join [IDC]Dragon [0] (
09:59:04[IDC]Dragongood morning!
09:59:12[IDC]DragonJens, do you read?
10:39:30***Saving seen data "./dancer.seen"
10:53:54 Join mattzz [0] (
11:11:49amiconn[IDC]Dragon: I'm here
11:15:24[IDC]Dragonah, Hi
11:15:56[IDC]Dragonyou wrote in IRC that we can actually save image size with font rotation?
11:18:30 Join Nibbler [0] (
11:30:20amiconn[IDC]Dragon: Yes. The glyphs as they are currently defined are arrays of bitmap_t, which equals to short int.
11:30:23amiconnThe default font is 6x8 pixels. As the array consists of lines, each char takes 8 bitmap_t elements (16 bytes).
11:31:17amiconnIf we pre-rotate the font, the bitmap data is prepared for lcd_bitmap, which takes unsigned char data. Furthermore, the array consists of columns, so one char will take a mere 6 bytes then
11:31:56[IDC]Dragonah, I see. and "by chance" we have this 8-pixel columns per byte, need only 6 byte.
11:32:40[IDC]Dragonhow many chars are defined? 256-32?
11:33:17amiconn190 different chars are defined: 32..126 and 160..255, with 32 and 160 using the same bitmap
11:33:39amiconnSo this will save exactly 1900 bytes
11:34:34[IDC]Dragonquite small, 1140 bytes for the font
11:36:23amiconnActually, the font will still take ~2K, 1140 bytes are only the glyphs itself. Furthermore, there is a glyph offset table, and the struct font
11:37:02amiconnWhile I did all const policeing now except the font rotation, there is still something to do - changing pointer arguments of functions that do not change the data the pointer points to into pointers to constant data
11:37:52[IDC]Dragonbut this doesn't gain anything?
11:39:48[IDC]Dragonback to the font: the offset table is only necessary because the glyphs are a "sparse array", correct?
11:40:49[IDC]Dragonthe full 256-32 chars times 6 bytes would be 1344 bytes, so it may be better to go for the full array, without offset table.
11:41:18[IDC]DragonOr is this breaking a general concept? I haven't looked at the font code.
11:41:51amiconn(functions) I wonder if I should do this for all functions (cleanest solution) or only for functions that are not declared static?
11:42:19amiconnNo, this wouldn't gain anything, but it makes using const data easier in the future
11:43:28amiconn(font) The offset table is part of the "standard" font format defined by the miniwin project, which the rockbox font code is based upon
11:43:46[IDC]Dragon(functions) I don't get it: if you const'ed all possible data and get no warnings, the functions using it must have the const declarations already?
11:43:48amiconnPlus, the offset table is necessary for proportional fonts anyway
11:44:08[IDC]Dragon(fonts) for the loaded ones, yes
11:45:53amiconn(functions) Yes, the functions using it _now_ do have that, but it might be that const data will be used with another function one day.
11:46:31[IDC]Dragonah, I see.
11:47:08amiconnPlus (1) it is imho very helpful if you see a function declaration like xxx_dosomething(const char * data), Then it will immediately tell you that the function does not change the data the pointer points to
11:47:09[IDC]DragonI can't tell what major job this would be
11:47:41amiconn(2) Declaring functions that way may help the optimizer
11:48:04[IDC]Dragoninteresting, have you seen something like that?
11:48:37amiconnNot yet, but this is from the gcc docs, so there may be cases where it applies
11:50:12 Quit [IDC]Dragon ("no fate but what we make")
11:50:13amiconn(font) The builtin font is handled the same way as the loaded ones by the output routines, so the offset table is needed in memory as well
11:50:33 Join [IDC]Dragon [0] (
11:50:44[IDC]Dragonoops, sorry
11:51:14amiconn[11:50:15] <amiconn> (font) The builtin font is handled the same way as the loaded ones by the output routines, so the offset table is needed in memory as well
11:52:23CtcpIgnored 2 channel CTCP requests in 2 hours and 54 minutes at the last flood
11:52:23*[IDC]Dragon whispers: we could build it at runtime
11:52:57[IDC]DragonOK, let's not complicate the init
11:54:12amiconnBuilding it at runtime would take RAM, while compiling it in does use ROM for the rombox builds once it is declared const
11:55:25amiconnIn fact, both the offset table and the struct font could be declared const immediately, independent of font rotation at build time
11:55:26midkamiconn, i think it's time for a clock code-cleanup - you wanted me to const the chars that aren't modified, right?
11:56:09amiconnmidk: Yes, I suggested that, as it would be cleaner coding (although it doesn't yield anything for the plugins)
11:56:24midki believe i've got quite a few of those.. anything else i should look out for?
11:56:26[IDC]Dragonamiconn is infecting others with the const virus ;-)
11:56:32midkidc: :)
12:00:28uskihi all
12:00:44[IDC]Dragonhu uski
12:00:50[IDC]Dragonhi, I mean
12:01:05uskihow do yoi do ?
12:01:17uskiare you fune ?
12:01:29uskii<->u ;)
12:01:50[IDC]Dragontoo close on the keyboard
12:02:09midkthe keys are like right next to each other.
12:02:26[IDC]Dragonlunch time
12:02:32uskihave a good linch
12:02:36uskierr lunch
12:04:14uski(duck smiley)
12:05:08midkclock is right now 22.9kb - let's see if i can optimize it any,
12:05:14midkhmm i just don't see it
12:05:24midki see it.
12:05:34midkhaha. cute!.
12:06:00uskiHOWTO catch lame hackers, by uski.
12:06:53 Quit pvh (
12:12:18NJoinpvh [0] (
12:12:22midkhhm. just const-policing my code yielded .2kb smaller .rock.
12:12:25*midk rejoices
12:12:37midkmaybe i can do atomic synchronization after all! ;)
12:22:13midkwas the column limit ever verified?
12:22:17midkwas it 80 or 72?
12:22:24uskimidk, if you like quotes, you can see
12:22:27uskisome of them are very funny
12:22:39midkyeah, i frequent that site actually :)
12:22:46midki have three pending moderation
12:22:49midki think one will get in.
12:24:02midkhmm.. haha.
12:24:10midkLanguage features
12:24:10midkWrite normal C code. Don't redefine the language. No new types (structs are
12:24:10DBUGEnqueued KICK midk
12:24:10midkstructs, not typedefs), no C++isms or Javaisms. Also, avoid using "const".
12:24:35uski'avoid using "const".'
12:24:48CtcpIgnored 1 channel CTCP requests in 0 seconds at the last flood
12:24:48*midk looks at amiconn
12:26:19amiconnI think the 'contributing' document needs some rework...
12:27:21midkyeah. that or you're deceiving us all. ;)
12:27:45*uski sees amiconn taking a flamethrower and firing against the "contributing" document, saying "HAHAHAHAA DIE STOOPID DOCUMENT"
12:28:24*midk sees amiconn politely asking Linus permission to change a few lines of the document
12:28:47*uski sees that amiconn had a gun, in case Linux refuses
12:29:05midkhmm, i do too.
12:39:33***Saving seen data "./dancer.seen"
12:47:38 Join zeekoe [0] (
12:47:38 Quit Nibbler (Read error: 104 (Connection reset by peer))
13:14:29midkyet another new clock feature
13:15:09midkheh, i opened clock.c to optimize it. it started at 22.9kb, after optimization it was 22.7kb, and after the new feature it was 23.1kb
13:15:22midks/was 23.1kb/is 23.1kb/
13:16:26midki think it's also time for different options-screen-button-handling.
13:16:57midkyou've used the options screen, correct?
13:17:10zeekoethe arrow thingies
13:17:10midkit's just play to cycle through the available options for the selected item
13:17:26 Nick zeekoe is now known as zeekoe|food (
13:17:27midkwell go try it.
13:17:32midknice excuse
13:17:52 Quit [IDC]Dragon ("no fate but what we make")
13:18:00midkall i see is zeekoe|checking-out-clock-so-brb
13:18:34midkhas anyone here actually used the clock and would like to give some input?
13:19:11midkwhoa. i just had a great idea.
13:19:15midkok WHOA.
13:19:20*midk writes down
13:45:01midkwell if anyone gets interested in my new settings screen concept it's all ready... PM me, i'd like basically anyone to try it
13:50:02 Nick zeekoe|food is now known as zeekoe (
13:51:02midkzeeker, ?
13:51:25zeekoeyou micky mouse
13:51:28midkhm. you sent me a 0kb file.. nm
13:51:51zeekoei did DCC CHAT
13:52:15zeekoe" well if anyone gets interested in my new settings screen concept it's all ready... PM me, i'd like basically anyone to try it"
14:06:43midkhm. zeekoe's public alias will now be "katsumoto", the samurai boy. Feel free to make fun, laugh at not with, etc.
14:06:57midkand it is to bed i go.
14:07:06 Nick midk is now known as midk|i-r-t3h-sle (
14:07:06DBUGEnqueued KICK midk|i-r-t3h-sle
14:07:21 Nick midk|i-r-t3h-sle is now known as midk|i-t3h-sleep (
14:07:21DBUGEnqueued KICK midk|i-t3h-sleep
14:07:29midk|i-t3h-sleephm that doesn't really work either
14:07:54zeekoeand midk's alias will be mickey
14:08:01 Nick midk|i-t3h-sleep is now known as midk|sleep (
14:08:01DBUGEnqueued KICK midk|sleep
14:08:01***Alert Mode level 1
14:09:38CtcpIgnored 3 channel CTCP requests in 55 seconds at the last flood
14:09:38*midk|sleep is away: sleep
14:18:02***Alert Mode OFF
14:30:04 Join Nibbler [0] (
14:39:34***Saving seen data "./dancer.seen"
14:54:16 Join [IDC]Dragon [0] (
14:54:53amiconnre [IDC]Dragon
14:55:40[IDC]Dragonamiconn: from the postings, it looks like ROMbox may be worse for RLODs and bad recordings
14:55:49amiconnCan you imagine why the 'contributing' document says 'avoid using const' ?
14:56:06[IDC]DragonI vaguely remember, yes
14:56:21[IDC]DragonLinus said, too much hassle
14:56:29amiconnYes, I have to check the recording, also for a longer time. I don't use recording very often.
14:56:32[IDC]Dragonthey are just lazy ;-)
14:56:53[IDC]Dragon(recording) neither do I
14:56:59amiconnThe RLOD prob may be related to the dreaded Hitachi DK23DA, have to ask the user
14:57:25[IDC]Dragonthese disks should be banned from Rockbox usage
14:57:40amiconn(Maybe he didn't use a daily with the optimized ata code before, so it may be rather related to that instead of Rombox itself
14:58:31amiconnIt seems like I have to include both optimized and unoptimized ata, and decide at runtime which one to use based on the disk model
15:00:41amiconnHowever, I wanted to wait until Linus gets back reports for his special test builds. I'd like to know if it is sufficient to deactivate only one of the optimizations (read or write) rather than both
15:01:28[IDC]Dragonyes, no good for size (code and IRAM)
15:02:52amiconnif (!strncmp(disk_name, "Hitachi", 7)) self_destruct(hd); ;-)
15:03:19dwihnoHey! I love my disk!
15:03:52*dwihno loves RLOD
15:04:01dwihnoI've had them ever since my IBM disk got retired
15:04:28amiconndwihno: So try a rombox build (if you have a compatible box, recorder v1/v2)
15:05:19dwihnoamiconn: rombox(!?)
15:05:35dwihnoWhat's so special about those?
15:05:46amiconndwihno: See the ml; Rockbox running directly from flash rom
15:06:18dwihnoamiconn: Erhm... You mean having the unit flashed?
15:06:22*dwihno is out in the blue on this one
15:06:45amiconnUhh, yes. Your box isn't flashable, I suppose?
15:09:42mattzzwhat does RLOD mean
15:09:58*mattzz actually has a dk23DA ....
15:10:18amiconndwihno: some questions: (1) Do you run daily builds? (2) What exact disk model do you have? (3) Did you observe more frequent RLODs with the daily builds after 2004-07-05?
15:11:51amiconnmattzz: RLOD means "red led of death", similar to the Windows BSOD. Rockbox freezes with the red led constantly on.
15:12:16 Join Heil_Eris [0] (
15:12:49mattzzamiconn: thanks!
15:12:57amiconnmattzz: (1) What Archos model do you have? (2) Do you run daily builds? (3) Did you try Rombox already (if your box is a recorder v1/v2 and is flashable, that is)?
15:14:55mattzzamiconn: 1: jbr20, flashed 2: yup, I am running CVS builds 3: tried rombox the other day but not for long because I switched to CVS again
15:15:25amiconnmattzz: Did you ever observe RLOD?
15:15:44 Nick boofasleeping is now known as boofaWork (
15:15:44DBUGEnqueued KICK boofaWork
15:15:54CtcpIgnored 1 channel CTCP requests in 0 seconds at the last flood
15:15:54*boofaWork hates the stop&shop supermartkets
15:16:08mattzzamiconn: not that I am aware of. Is an RLOD resettable by pressing "off"?
15:16:15 Join AciD [0] (
15:17:46amiconnmattzz: Iirc it is only resettable by rebooting the box (switching of in hardware by holding OFF). I don't know exactly, since it never happened to me under normal conditions
15:18:07amiconnboofaWork: Did you sleep at work? ;-)
15:19:13mattzzamiconn: he was shopping while he was asleep
15:19:26dwihnoamiconn: I re-flash every once in a while...
15:19:41dwihnoamiconn: 040709 is my current version
15:20:20mattzzIt is not quite clear to me where the advantages of rombox are...
15:20:30dwihnoI love the startup time.
15:20:44dwihnoStarts so goddamn fast
15:20:50dwihnoHooray for Jörg!
15:21:24amiconndwihno: Hmm. 040709 did already include the ata optimizations, and the DK23EA wasn't known to be a RLOD candidate until now.
15:22:19dwihnoamiconn: I've been talking about RLODs for a loooong time... I even recall october(?) last year when Björn started making special builds in order to find the bug
15:22:24amiconnmattzz: Ordinary rombox, even when flashed, is first loaded/decompressed to RAM, then runs from there. Rombox does run directly from flash ROM, leaving more RAM for the mpeg buffer
15:22:53amiconndwihno: What's your hw mask?
15:23:22dwihnoamiconn: 0x302
15:23:38dwihnoV1 recorder
15:24:33boofaWorkamiconn: yes, i do sleep at work.
15:24:36boofaWorkI did last night
15:24:43mattzzamiconn: how much RAM is saved (roughly)?
15:24:43boofaWorkbut now I have to go in and break down the load
15:24:49boofaWorkie: take all the stuff off the truck
15:24:51boofaWorkoff i go!
15:25:05amiconnmattzz: ~170 KB
15:25:27mattzzamiconn: OK, sounds like an argument to me ;-)
15:26:39amiconnThis is a ~10 % increase of the buffer size (for ordinary 2 MB boxes) and will yield ~4 % more runtime according to my tests
15:27:28mattzzI missed the 4%-thing the last weeks ;-)
15:28:13 Quit zeekoe (Read error: 60 (Operation timed out))
15:28:20dwihnoWhoa! 170KB!
15:29:05mattzzamiconn: is there a configure or make option yet or do I have to use the images from your web space?
15:29:23mattzz(for creating rombox images)
15:29:24amiconndwihno: Unfortunately your box doesn't fit at all into my theories about RLOD and ata problems. You say RLODs are more frequent with Rombox than with a current daily build?
15:30:59amiconnmattzz: There is no make option (yet), but you could build for yourself if I send you some stuff (a special linker script, a shell script to throw that in for the build process, and a special version of uclpack made by Jörg that supports a −−none option)
15:31:29dwihnoamiconn: Not really... I do not run the rombox... I only use the regular flashed version
15:31:52amiconnThe uclpack binary I have available is for Windows/cygwin; if you want to build on Linux you have to compile it yourself
15:32:30dwihnoIs rombox supposed to work better than the regular flashed version when it comes to rlod?
15:32:53mattzzamiconn: how about putting that on the wiki (docs and uclpack sourcecode)
15:32:59amiconnIt shouldn't make a difference, since the ata copy loops run from IRAM
15:33:09amiconn(directed to dwihno)
15:34:50amiconnmattzz: I could do that. However, I would like to work out how to integrate building Rombox into the build process. I guess I'll need a Makefile guru for that
15:34:54dwihnoamiconn: mkay
15:35:46amiconndwihno: Perhaps you could try, and tell about your results. Furthermore, it would be interesting to know if optimized ata does make a difference
15:38:50dwihnoamiconn: well, I'll think about the rlods when I go home tonight.
15:41:06[IDC]Dragonamiconn: I was also about to suggest putting the ROMbox stuff in twiki
15:41:09 Join zeekoe [0] (
15:41:26[IDC]DragonI would have done it, but so little time these days...
15:41:50mattzzHiya Joerg, long time no see in real life
15:41:53[IDC]Dragonseveral people already asked if and how to compile ROMbox
15:42:03[IDC]DragonHi mattzz!
15:42:24[IDC]Dragonnot even seen in cyber-life
15:42:44mattzzI put amiconn statements from above and simply copied it into the RomBox topic - maybe that's a start
15:43:03mattzz[IDC]Dragon: I was very busy doing holidays ;-)
15:43:25[IDC]Dragonbusy diving?
15:44:31[IDC]Dragongo forth and tune the metronome!
15:45:31mattzzThat's on my list already.
15:45:33[IDC]DragonBTW, I briefly looked into if it's feasible to decode mp3 to some degree, to get a fundamental frequency for a guitar tuner plugin
15:45:47[IDC]Dragonlooks no good
15:46:44mattzzAt least the DSP does not provide that information (and I dont think a psycho-acoustic model would feel right in a plugin....)
15:47:08[IDC]Dragonthe info is there, but not so accurate
15:47:20mattzzneither does an ifft....
15:48:05[IDC]Dragonmp3 codes into subbands, plus a phase info to start with
15:48:42[IDC]Dragonthe subband gives the approximate frequency, but the phase info across multiple frames refines it
15:49:10mattzzI know, but the information is not provided by the DSP. We would have to parse the file
15:49:46[IDC]Dragonthe stream while it's "recording" into /dev/null
15:50:25[IDC]DragonI know it's not given by the DSP, I looked into the parsing
15:51:42mattzzconst'ing a few sine wave samples does not take too much space either.
15:52:55[IDC]Dragonyes, but it doesn't tell you the frequency
15:53:10amiconnmattzz: I think I'll fil in the gaps in the wiki topic in the evening
15:53:14[IDC]Dragonmeaning, it's a different kind of tuning
15:53:41mattzz[IDC]Dragon: I call it the classical way of tuning ;-)
15:54:01mattzzamiconn: sure
15:55:22mattzzIs anybody working on the a-b repeat thingy? Or does anybody know the status of that patch?
15:55:28[IDC]Dragonmattzz: then you don't need a plugin at all, just encode some long-enough sine wav's to mp3
15:57:23 Quit AciD (Read error: 104 (Connection reset by peer))
15:57:43mattzz[IDC]Dragon: I wanted to add the little "tuning" feature to the metronome plugin
16:39:38***Saving seen data "./dancer.seen"
16:49:15jdeon|awayzeekoe: are you around?
16:50:10jdeon|awayI updated the patch, see if it works now
17:06:45 Quit zeekoe (Read error: 110 (Connection timed out))
17:20:21 Join jakesir [0] (
17:23:22amiconn[IDC]Dragon: As you modified the way the menus are built, does this enable on-the-fly changing of the menu text?
17:23:55amiconnIf yes, we could disable the new-language kludge (menu tree is completely closed when a new language is loaded)
17:29:45 Join AciD [0] (
17:31:30[IDC]Dragonamiconn: what do you mean with on-the-fly changing of the menu text?
17:32:19amiconnIf a new language is loaded, the menu need to be refreshed to use the new strings, which may have different addresses.
17:33:02amiconnSome time ago (months) this didn't work correctly, and as Linus didn't find the reason, he introduced a kludge:
17:33:25amiconnThe menu tree is closed completely if a new language is loaded
17:34:02amiconnThis bug did only appear after it was made possible to load languages from the menu
17:37:32 Quit midk|sleep (Read error: 104 (Connection reset by peer))
17:53:47 Join midk|sleep [0] (
17:54:52 Join zeekoe [0] (
18:02:32 Quit mattzz ("CGI:IRC (EOF)")
18:30:19 Quit Nibbler (Read error: 104 (Connection reset by peer))
18:32:03[IDC]Dragonamiconn: sorry, I was afk
18:32:31[IDC]DragonHi Jake!
18:32:37[IDC]Dragongot my email?
18:32:49jakesirI got your e-mail, something about notice for bill?
18:33:05jakesirI'm sorry for all the trouble
18:33:24[IDC]Dragonprobably they want to know what it is and what it's worth
18:33:25jakesiri sent a reply e-mail
18:33:34jakesiri wrote it down
18:34:21jakesiras a mp3 player and gift so they don't apply any tax?? or whatever?
18:34:23[IDC]Dragonwith "bill" I meant a purchase receipt or so
18:35:14[IDC]Dragongift should be OK, I got another box like this from the US
18:35:51[IDC]Dragonright now I don't know what to tell them
18:36:48jakesirwhen I was foreign currency broker sending packages to germany(this was long time ago) I didn't have any problems...
18:37:09[IDC]Dragonmaybe they take samples
18:37:20jakesirI guess 911 changed everything, huh?
18:37:29[IDC]Dragonlike, closer investingation for 1 out of 100
18:38:01jakesiroh....., well, it's got battery, do you think something to do with?
18:38:25[IDC]Dragonno, this is customs
18:38:39[IDC]Dragonthey are after taxes
18:38:52 Quit zeekoe (Read error: 60 (Operation timed out))
18:39:05jakesiroh..... lol, well i put down gift so, i hope they don't charge any taxes
18:39:40***Saving seen data "./dancer.seen"
18:47:38 Join dstar5 [0] (
18:51:14dstar5amiconn: in the contributing doc: Write normal C code. Don't redefine the language. No new types (structs are
18:51:14dstar5structs, not typedefs), no C++isms or Javaisms. Also, avoid using "const".
18:51:28dstar5the const part should be taken out
18:52:27 Join zeekoe [0] (
18:52:37amiconndstar5: Yes I know. midk already mentioned that some hours ago
18:53:07amiconn(12:24 CEST to be precise)
18:55:47dstar5should i really add the meters back? you want them, midk dosent....
18:55:53dstar5(mini meters)
18:59:47amiconndstar5: Thats your decision, although I did like tehm
19:00:01dstar5ok i will put them in
19:02:02amiconn[IDC]Dragon: It seems that simply includes docs/CONTRIBUTING, so taking out the remark regarding use of 'const' there should update the web page as well. However, I don't know if we should do so. Too bad none of the Swedish core team are around this week...
19:02:41[IDC]Dragonthe doc can wait
19:03:12[IDC]Dragongotta go, looks like it's gonna rain soon here, I'm by bike
19:03:30amiconnFinest sunny wheather here in Berlin :-)
19:04:20amiconnSee you.
19:06:08dstar5heh you can see my lovely weather right now
19:06:16dstar5that is about 2 miles away from me
19:08:24dstar5thats where i go for high speed :)
19:08:55zeekoehere in holland it's quite hot too
19:08:58zeekoetoo hot, actually
19:09:15dstar5i should go in font of that camera later, and everyone can see me :)
19:09:15 Quit [IDC]Dragon ("no fate but what we make")
19:10:08zeekoedstar5: you should get in front of that camera and take your laptop to tell us you're there :)
19:10:23zeekoebut there are easier ways to get your picture on the net
19:10:26dstar5i dont have a laptop
19:10:56dstar5there is wifi all over campus though, so if i di, i could be online
19:11:38zeekoethat seems to be standard at universities, wifi...
19:11:44zeekoeyou can go here->
19:15:05dstar5lol that page keeps resizing mozilla everytme it updates
19:15:44zeekoebad mozilla
19:16:33dstar5fireofx... actauly
19:18:02zeekoenot much difference
19:19:58dstar5don't ever sort your ajbrec.ajz :)
19:39:41dstar5static struct plugin_api* rb; should that be made const?
19:41:25amiconnpointers are somewhat more complicated when it comes to using const:
19:42:01amiconnlets say you have 'char * example' (for simplicity)
19:42:36amiconnthen you have 3 possibilities how to use const, all of them with a different effect
19:43:22amiconn(1) 'const char * example' means a (variable) pointer to constant data
19:43:53amiconn(2) 'char * const example' means a constant pointer to (maybe variable data
19:44:28amiconn(3) 'const char * const example' means a constant pointer to constant data
19:45:39amiconnSo for the plugin api, what would you take?
19:48:30dstar5none really..
19:48:43amiconn(You actually can't use your solution within a plugin, because it would give you a warning. Although the plugin api struct is declared const within the rockbox core now, I explicitly cast this to avoid touching every plugin)
19:49:13amiconnSolution: You could use static const struct plugin_api * rb;
19:49:32dstar5got it
19:49:36amiconn(but you can't as I just explained)
19:49:58 Quit jakesir ("—I-n-v-i-s-i-o-n— 2.0 Build 3515")
19:53:22amiconndstar5: Actually, it may work without giving you a warning, just try it. I think that (even!) I just confused something
19:54:03dstar5it does work...
19:57:18amiconnIf you want to see a rather weird example, look into apps/plugins/lib/gray_blockfuncs.c. There I declared an array of constant function pointers
20:00:21dstar5i haev to say, the mini meters do not look bad when close to the text
20:07:37 Join Nibbler [0] (
20:12:35pvhAnyone home?
20:13:01pvhMy V1 Recorder is playing and recording at 1/2 and 2x speed respectively.
20:13:20pvhAnyone have any idea why? I recently had to resolder one of the end boards for the battery compartment, which is when it began.
20:19:38dstar5no idea
20:19:51amiconnpvh: So everything recorded by the recorder itself will play back correctly, but any premade mp3 will play at half the speed on the recorder, and any recorded mp3 will play at twice the speed on the pc?
20:22:11pvhamiconn: Yes.
20:22:28pvhamiconn: And songs which were not recorded on the recorder are playing back at 1/2 speed.
20:22:47pvhBut: not exactly 1/2. I tried doubling the speed in Winamp and that didn't completely correct the problem.
20:22:52amiconnYes, ... but any premade mp3 will play at half the speed on the recorder...
20:23:43pvhThe electronics guy here thought it might be a problem of insufficient power, or that the clock speed might be based on an impedance which was now incorrect.
20:24:05*zeekoe just having small question... if i want to write a file to 'current directory' can i just do rb->open(file_without_path, WRONLY) ??
20:24:35amiconnzeekoe: No, as rockbox' open function only supports absolute paths
20:25:21dstar5bye bye amiconn: i will have those meter changes done when i go to the library in a few hours
20:25:24 Quit dstar5 ("Leaving")
20:25:31pvhamiconn: Any thoughts?
20:25:47zeekoeamiconn: hmm okay... what should i use then? can't find how recording.c handles it
20:25:53amiconnpvh: I'd also suspect that the clock is wrong, or the mas itself is broken
20:26:25pvhamiconn: You are suggesting, in other words, that I am hooped.
20:27:39amiconnpvh: I think that there can't be done much without actually checking the hardware
20:27:51*pvh is opening it up right now.
20:28:07zeekoeamiconn: or can i use the void* parameter thingy in the plugin?
20:28:25amiconnzeekoe: Look into recording.c, lines 123 ff
20:28:48pvhMy experience with electronics is limited to my experiments with my 'box and a few university classes, but I don't really understand how I could still have playback if the MAS itself is broken.
20:29:51amiconnpvh: In theory, a digital device should either work or not, but practice often shows that devices may well be partially working...
20:29:55zeekoeamiconn: thanks, i think that'll help me out
20:30:02 Nick zeekoe is now known as zeekoe|tea (
20:30:49pvhamiconn: Yes, that's true.
20:33:53 Quit uski (Read error: 113 (No route to host))
20:35:42pvhHmm, when playing back a song, the clock seems to run at the right rate −− it says I'm about 4:30 into a 3:00 song.
20:36:57amiconnpvh: There are actually several clock frequencies used in the jb. The one that may be wrong is that of the mas itself.
20:39:14amiconnIf you have the proper equipment (frequency counter), and the mas is accessible without separating the boards (dunno whether it is), you could measure at the mas' pin 8 if there is a 18.432 MHz clock
20:39:22 Quit zeekoe|tea (Read error: 60 (Operation timed out))
20:39:44***Saving seen data "./dancer.seen"
20:44:40amiconnUmm, recording seems indeed to be broken with Rombox :(
20:50:07 Join zeekoe|tea [0] (
20:50:26zeekoe|teaamiconn: do you know what broke it?
20:50:32 Nick zeekoe|tea is now known as zeekoe (
20:50:43amiconnzeekoe|tea: Not yet, unfortunately.
20:51:11zeekoehmm okay
20:51:26zeekoeit's sometimes broken in normal rockbox too
20:51:35amiconnIt may well be that it wasn't me, but either something that was wrong even before my const policeing, or it is a timing issue when running from rom.
20:52:10zeekoei guess i can't be much help debugging...
20:55:30amiconnRecording stops at 30 bytes, the generated files are ~5.5 KB. They only contain an ID3v2 tag, a Xing header and 30 bytes of garbage...
21:01:26zeekoehmm... okay
21:01:34zeekoebut the garbage differs from time to time
21:02:51amiconnzeekoe: Yes. I guess that these are random bytes read from the mas
21:03:23zeekoeprbably... weird that it just stops after 30 bytes
21:03:44zeekoeand everytime after _exactly_ 30 bytes
21:03:54amiconn30 bytes is the size of the dma buffer within the mas
21:04:20zeekoethat makes sense
21:04:21amiconnSo the recording code reads the data in 30 byte chunks
21:04:34amiconnI once optimized the recording transfer code
21:04:56amiconnIt's in mpeg.c in case you're interested
21:05:16zeekoewell... first i'm doing some soldering
21:06:02zeekoedo you know those electrical wasp eliminating devices?
21:06:07amiconnLinusN! Your logic analyzer could be very helpful here!
21:06:20amiconnzeekoe: No
21:07:01zeekoeok, i'll tell later first do some soldering on it
21:26:14pvhCan anyone tell me if the MAS is in the same place for the recorder as the studio? (Or point me to some high-resolution images of Recorder V1 internals?)
21:26:21pvhI might be able to read the pin from the other side of the board.
21:27:31pvhAh, never mind. There are some now that weren't there before.
21:27:48amiconnpvh: I don't have images, but I suppose that the board layout is different, as it is even a different mas.
21:27:53zeekoepvh: can you see the name of the chip?
21:29:48pvhOn the MAS?
21:29:53pvhNo, it's on the other side.
21:29:56pvhI have the image here though.
21:30:11pvhI'm trying to determine if the pin goes through the board so I can get it on the exposed underside.
21:30:51pvhThere isn't an immediately recognizable pin layout showing through.
21:31:51pvhHmm, these recorder images are quite different from mine.
21:33:10pvhAh, the photographed recorder is revision 0127, and mine is 0713.
21:33:36pvhWell, I think I'm going to go play some volleyball and forget my problems for a bit.
21:34:52zeekoepvh: have fun
21:35:00zeekoehope you find the problem
21:37:31zeekoeas for the electronic fly-whisk/swatter (apparently it's called like that, it's just that 'device' that kills flies)
21:37:37zeekoeit looks like this:
21:38:37zeekoelike a tennis racket, with some wires using a high voltage to kill flies
21:39:25zeekoei wanted to higher the voltage, so it gave a higher blast :)
21:40:00zeekoeso... i measured the voltage, was about 560 volts, it seemed the device was still charging and the multimeter pulled it down
21:40:22zeekoethen i waited for it to charge, measured again, and bye bye multimeter
21:40:33zeekoethe screen went off and never turned on again
21:41:02zeekoebut i had to reassemble it, and that's done now
21:41:26zeekoeso much for being way offtopic :)
21:43:56zeekoeamiconn, are you still here?
21:44:08zeekoewhere is getcwd?
21:44:29zeekoeit's not in the api, and not 'just there'
21:46:20zeekoeor should i just include tree.h?
21:46:47amiconnQuick searching yields: It's defined in tree.c. So if you need it within a plugin, you'd have to add it to the plugin api
21:47:29zeekoeand then commit the plugin api to cvs?
21:48:44amiconnIf you got commit access, you could do this. Otherwise you can only do it locally, then include the changes to plugin.[c|h] into your patch
21:56:24amiconnFor the Rombox recording bug: I'll try to use the old, unoptimized transfer routines now
22:02:58amiconnHrrrmmmm, this does work even from rom. I wonder why...
22:04:57 Quit zeekoe (Read error: 60 (Operation timed out))
22:05:35 Nick midk|sleep is now known as midk (
22:16:22amiconnGood news: The bug seems not to be caused by the optimized transfer routines, but by the unification of both possible PR polarities.
22:17:09amiconnBad news: Obviously something messes with PADRH in a way it shouldn't when running from rom...
22:18:57 Quit edx (Read error: 110 (Connection timed out))
22:32:49 Join zeekoe [0] (
22:39:46***Saving seen data "./dancer.seen"
22:55:01 Quit AciD ("ou double !")
22:57:09zeekoei got I09: CPUAdrEr
22:58:06zeekoehad to reflash
22:59:55 Join AciD [0] (
23:01:32amiconnzeekoe: Or RoLo into a build containing your api extension.
23:02:24zeekoei did that, and reflashed
23:04:26zeekoehow can i convince rockbox to use my thing as a viewer?
23:04:34zeekoei put it in .rockbox/viewers
23:04:41zeekoeadded it to viewers.config
23:06:09amiconnThat should do it (although if you define another viewer for an extension that is already handled, you can only use it from the On+Play menu iirc)
23:06:26zeekoeor using it as a plugin would be cool too, but then it'll have to know what the current dir is (and that it's _not_ ./rockbox/rocks)
23:06:37zeekoedoesnt work from on+play
23:06:48amiconnWhat did you do?
23:07:23zeekoemp3,displaycreator.rock, 00 00 00 00 00 00
23:07:50midki'd take out that comma. mp3_display_creator.rock?
23:08:02zeekoemp3 is the filetype
23:08:10midknever mind.
23:08:25zeekoetxt,sort.rock, 00 00 00 00 00 00
23:08:25zeekoemp3,displaycreator.rock, 00 00 00 00 00 00
23:08:44zeekoeit's a tool for creating .display files
23:08:46midkyou're trying to open an mp3 with this plugin?
23:08:52zeekoenah, not at all
23:08:58midkegh. never mind
23:09:00zeekoejust wanna read the current dir
23:09:33zeekoewhat are all these numbers for? (00 00 00 etc)
23:09:49midkthe icon
23:10:03zeekoehey... cool
23:10:25midkyou could use the music note from icons.c/icons.h in apps/recorder
23:10:38amiconnzeekoe: If you defined the viewers.config line this way, and displaycreator.rock resides in /.rockbox/viewers, you should be able to select displaycreator from "Open with" _if_ used on an mp3 file
23:10:41zeekoeisn't neccesary i think
23:11:07zeekoeamiconn: open with shows all viewers, but not displaycreator
23:11:12amiconn(maybe you have to reboot rockbox to force it re-reading viewers.config
23:11:23zeekoeamiconn: didnt work either
23:11:41zeekoei just did it the evil way now
23:11:56zeekoerename sort.rock -> _sort.rock
23:12:05zeekoerename displaycreator.rock -> sort.rock
23:12:08zeekoeand it works :)
23:13:52zeekoedoesnt work correctly though
23:13:53zeekoechar* text = "%r - %a - %t";
23:14:05zeekoeand all it shows is "%r -"
23:14:17zeekoedo i have to escape the % ?
23:14:38midkthe wps format isn't included
23:14:55midkin short, that'll never work.
23:14:55zeekoewhich wps format
23:14:59zeekoewhy not
23:15:05midkthat says %s scrolls or %ia is id3 artist
23:15:25midki will indeed quit conversing/
23:15:49zeekoeA 'valid' .display file contains one or more %
23:15:49zeekoecharacters. The meaningful escape sequences are:
23:15:49zeekoe%a - replace with Artist name
23:15:49DBUGEnqueued KICK zeekoe
23:15:49zeekoe%t - replace with Track name
23:15:49zeekoe%r - replace with tRack number
23:16:37midki don't know what you're doing but i know it probably won't work if it is what it sounds like
23:17:11zeekoei'll tell
23:17:36zeekoei'm making a rock that puts a .display file containing "%r - %a - %t" in the current folder
23:17:39amiconnzeekoe: I'd suggest using %n for track Number - much more natural imho
23:17:49zeekoeamiconn: that's what i think too...
23:17:58zeekoebut not what jdeon|away thinks, probably
23:18:21zeekoeit's for his super1337 id3 browsing thing
23:19:19zeekoeor has he changed it yet so it supports %n?
23:19:51amiconnDunno, as I didn't check it out. I always name my mp3s properly, so I have no need for that
23:20:04zeekoethat's what i can do too
23:20:44zeekoeunplugged my archos too fast
23:20:50zeekoenow i have a \cache directory
23:21:00amiconnPlus, I'm currently *trying* to spot the point in the recording code where it goes wrong when running from rom.
23:21:24zeekoeany luck?
23:21:29amiconnThis is a really strange thing (at least it seems so)
23:21:44amiconnSee my 2 comments while you were out
23:23:03zeekoeyou used all kinds of weird abbreviations, that's what i see
23:23:32amiconnActually they aren't weird if you are used to them ;-)
23:23:55zeekoeguess so :)
23:24:10amiconnPADRH is an i/o port (address) of the CPU.
23:25:11amiconnThis port controls several different things in the box, one of the being the mas DMA request pin (PR)
23:25:31zeekoethe one needing food in 1 ms
23:26:04amiconnYes, but in this case, it has to deliver something, since we are recording.
23:26:12zeekoeof course
23:26:47amiconnThis pin has to be driven with different polarities depending on the recorder revision. This is determined by the hardware mask
23:27:25amiconnI.e. on some revisions Low=inactive and High=active, and vice versa on other revisions
23:27:27zeekoelike + and - ?
23:27:46zeekoeah, i understand
23:27:58zeekoeweird archos guys
23:28:08amiconnWith the old recording code, there were 2 code snippets, one for each polarity
23:29:00amiconnI unified this at the same time when I optimized the recording code, using a xor instruction to toggle the bit every time.
23:29:37amiconnThe initil state is then set much earlier, when reading the necessary polarity from the hardware mask
23:30:44amiconnThe problem with that approach is, that if some other function messes with the port, the bit value may be wrong, and this isn't even detected (only by the non-working recording)
23:31:03amiconn(but it saves half of the code)
23:31:59zeekoeand somehow that's what's different from the original rockbox
23:32:34zeekoebtw, is this correct:
23:32:36zeekoechar* text = "\%r - \%a - \%t";
23:32:48zeekoerb->write(f, text, sizeof(text));
23:33:08 Join Smooth [0] (
23:33:21amiconnYou shouldn't need to escape the % when simply using write()
23:33:28 Quit Smooth (Client Quit)
23:33:30 Join Smooth [0] (
23:33:34 Part Smooth
23:33:39 Join Smooth [0] (
23:34:00Smoothyou cannot buy an ipod till september :-(
23:34:17amiconnSmooth: Who wants a ipod??
23:34:37Smootheveryone it seems if they sell out the moment they are launched
23:36:02zeekoeamiconn: escaping is still there, because unescaped didnt work
23:36:07amiconnzeekoe: I'm pretty confident that the problems when running from rom are caused by this unification, and not by the optimized transfer routines, because I tried that unification with the old C transfer routines, which also lead to non-working recording
23:36:25zeekoei guess sizeof is broken, because when i fill in 12 manually it works perfectly...
23:36:46zeekoeamiconn: you still have the old routines?
23:37:19amiconnzeekoe: Uuuh, now I see what you did wrong... sizeof(char *) == 4, because the size of a pointer is always 4 on a 32 bit CPU
23:38:03amiconnIf you want to use sizeof, and save another 4 bytes on the way (the not-needed pointer), you'd have to write:
23:38:19amiconnchar text[] = "%r - %a - %t";
23:38:54zeekoei dont understand all this weird stuff
23:38:58zeekoethe * and the []
23:39:01amiconnzeekoe: Remember we are using cvs, so you have access to anything that was in at any given time
23:39:27zeekoeamiconn: cvs also keeps old copies? nice...
23:40:09amiconnchar * text = "blah"; defines a pointer to a string (which in turn is an array of char; not directly visible from the declaration), while...
23:40:16 Join dstar5 [0] (
23:40:40amiconnchar text[] = "blah" defines an array of char (without additionally storing a pointer to it)
23:40:49Smooth<−−−−−−−−−−−−−− AWAY
23:41:46zeekoeokay... that's clear
23:41:47amiconnzeekoe: For analyzing the recording, next I'll check the other way round: the new routines without unification.
23:42:01zeekoehave fun :)
23:42:24amiconnthanks ;)
23:42:44zeekoeyay, it works now :)
23:43:17zeekoeand when i do char text i only mean 1 char?
23:43:48amiconnyup. If you write char text = "D" the compiler should give you an error...
23:44:07amiconnbecause "" designates a string, which is null-terminated in C.
23:44:33amiconnIf you want a single char, you'll have to use 'D' (single quotes)
23:44:46amiconnIt seems that this turns into a C lesson...
23:46:46CtcpIgnored 1 channel CTCP requests in 0 seconds at the last flood
23:46:46*zeekoe need C book
23:46:56pvhGet "The C Programming Language"
23:47:03pvhby Kernighan and Ritchie.
23:47:12pvhThey invented the language, and they wrote the book.
23:47:16pvhYou really can't do better.
23:47:26zeekoei have a really old C programming book... with some floppies containing the Lattice C compiler
23:47:31zeekoefor AmigaOS 1.3 or so
23:47:57pvhIt's quite cheap as well. It has been updated a couple of times over the years, and is still in wide distribution.
23:48:37amiconnzeekoe: Do you still have an amiga too?
23:49:09zeekoeamiconn: yeah, but doesnt work well
23:49:13zeekoecustom towered
23:49:25zeekoein an old 486 tower and some wood to make it higher
23:49:44zeekoeand the old amiga 3000 frame still inside
23:49:56amiconnYeah, I have an A4000 (also towered, RBM tower). It still runs 24/7
23:49:57zeekoe030/25 + 882/25
23:50:06zeekoeyeah, you told once :)
23:50:09zeekoeor twice :)
23:50:24zeekoebut when i bump into the tower, the uh...
23:50:33zeekoewhat's "aardlek" in english...
23:51:32zeekoewell... where current&voltage thingies enter the house, there's a big thing with switches and stuff
23:51:51zeekoealso there's 2 switches for current flowing to earth/ground
23:52:08zeekoeone of that switches blows out when i bump into my custom made tower
23:52:17zeekoei should look at it, once...
23:52:42zeekoeit's been off for two years or so, i'm afraid :-/
23:55:02amiconnUrghs. When I duplicate asm blocks, I should remeber that I have to rename the labels in one of them...
23:56:23amiconnOtherwise: Error: symbol `blah' is already defined

Previous day | Next day