summaryrefslogtreecommitdiff
path: root/www/irc/rockbox-20020430.log
diff options
context:
space:
mode:
Diffstat (limited to 'www/irc/rockbox-20020430.log')
-rw-r--r--www/irc/rockbox-20020430.log1230
1 files changed, 1230 insertions, 0 deletions
diff --git a/www/irc/rockbox-20020430.log b/www/irc/rockbox-20020430.log
new file mode 100644
index 0000000000..8413f36a2d
--- /dev/null
+++ b/www/irc/rockbox-20020430.log
@@ -0,0 +1,1230 @@
1**** BEGIN LOGGING AT Mon Apr 29 03:08:39 2002
2
3<Zagor> hiya there boys
4<calpefrosch> hi
5<Linus> Yo!
6<Bagder> I think it's about time with a status-report mail to the list Zagor
7<Zagor> hmm, yes. i'be been secretly hoping for the irc digests from adi
8<Bagder> further, have anyone thought about what document format we want?
9<Bagder> man pages? doxygen? ascii? html?
10<Zagor> html is good, i'd say
11* Bagder thinks about API docs etc
12<Bagder> well, html can be generated from man pages and doxygen for example... :-)
13<Zagor> yes, but what is the source format? how do we WRITE the docs?
14<Bagder> right
15<Bagder> doxygen might be cool, I haven't really worked with it though
16<Linus> WRITE DOCS? YUCK!
17<Linus> :-)
18* Zagor takes away Linus' coffee. See? Motivated enough now?
19<Bagder> we see more and more people asking about various APIs now
20<Bagder> it'll just grow
21<Linus> AAAAAAH! I'll write docs....please GIVE ME MY COFFEEEEEEEE!
22<Zagor> on the other hand, this is not the best time to document them since they are still changing frequently
23<Bagder> things like the file.h isn't
24<Zagor> true
25<Bagder> anyway, if we'd use doxygen, it generates docs based on function comment headers
26<wavey_> morning
27<Bagder> so it should be correct
28<Bagder> hey wavey_
29<Zagor> hi there wav. dug yourself up from under the cvs mails yet? ;)
30--- wavey_ is now known as wavey
31<Bagder> yikes, those sure came as a tsunami!
32<wavey> heh - i haven't looked since friday
33* wavey winces
34<Zagor> ooh, you're up for a treat!
35<Zagor> (in for?)
36<Bagder> been a productive weekend
37<wavey> wow - busy weekend for everyone! :)
38<Bagder> indeed
39<Bagder> no one with a life in sight ;-)
40<wavey> i've been busy too. i've written a playlist impl doc which states some fundamentals and asks some qs
41<wavey> you wanna read it or shall i throw it to the list?
42<Bagder> I'd say the list
43<wavey> i was thinking we could have a docs/ subdir
44<wavey> for complex explanations
45* Bagder agrees
46<wavey> or will the website do?
47<wavey> i also wrote about 400 lines of code
48<wavey> i'm currently hosting it my own main.c to test it
49<wavey> is the simulator at all ready to host that sort of thing?
50<Bagder> very soon
51<wavey> coolio
52<wavey> i won't check in my harness then
53<Bagder> both sims are now supporting the lcd and buttons the same
54<wavey> lovely
55<wavey> i still haven't checked it out
56<adiamas> Zagor define "irc digest"
57<adiamas> ive just been logging :)
58<wavey> and i'm busy today :(
59<Bagder> wavey: your code is mostly using the file api, right?
60<wavey> its stubbed out any actual file operations
61<wavey> still getting my high level api rite
62<wavey> right
63<Bagder> anyway, when you commit your code we'll make it run in the simulator
64<wavey> yus
65<Bagder> it has an "embryo" for an app now
66<Bagder> so we could make a playlist editor
67<wavey> cool stuff :)
68<wavey> i'll be able to do some more later thisafternoon
69<Zagor> adiamas: someone offered to write up an "irc digest", summarizing discussions and desicions. I thought that was you, but maybe it was someone else?
70<wavey> i'll work out what can be checked-in
71<adiamas> nope was't me ;)
72<adiamas> im just logging ;)
73<adiamas> which reminds me, someone is going to have to get today... i was missing a few hours
74<adiamas> either that or i just pick up where i came in
75<Bagder> a few hours more or less don't matter
76* adiamas nods
77<adiamas> anyone have an id3 tag editor that they would recommend?
78<adiamas> i can't find anything i like and im to lazy to write my own
79<Bagder> for linux?
80<adiamas> yeah
81<Bagder> I use the command line ones that come with id3lib
82<Bagder> or 'easytag' for a GUI one
83<adiamas> nods
84<Bagder> both kind of works but not extremtly good
85<PsycoXul> i use xmms interactively or just tag them when i rip them
86<Bagder> due to id3lib being rather lame :-/
87<Bagder> 800K package for reading and writing Id3 tags?!!
88<adiamas> lol
89<PsycoXul> hehe
90<Bagder> the most recent versin also fails to compile to my machine
91<Bagder> they claim I have a "too new" gcc
92<Bagder> silly persons
93<Linus> Whoo. I just tested the event queue primitives. The Alpha version works!
94<Linus> But they are not safe for interrupts to post in...
95<Bagder> good progress
96<Bagder> I suggest adding a lcd_update_rect() function, for updating only a part of the LCD
97<Bagder> (recorder)
98<Zagor> sure
99<Bagder> it would probably enable cooler stuff
100<Bagder> s/would/will
101* adiamas screams
102<adiamas> i really really hate the recorder some times
103* Bagder pats adiamas on his head and talks in a gentle tone to calm him down
104<adiamas> this rebooting thing is realkly starting to piss me off...
105<Zagor> rebooting?
106<Bagder> let's hope it is a sw issue
107<adiamas> yeah... i don't know if its my unit or what...
108<adiamas> randomly seems like the sw chokes and dies
109<adiamas> which, since its embedded and all, causes the hardware to reboot
110<adiamas> i don't get this...
111<Linus> I haven't seen it.
112<Zagor> what are you doing when it reboots?
113<adiamas> i have a perfectly valid playlist, i go to play it, it loads all 117 file entries, then on "Play" it just lists (Root)
114<Linus> "listening to music" :-)
115<adiamas> when i move to next, it reboots
116<Zagor> "I was just riding along"
117<Zagor> I've never had that happen
118<adiamas> really realy really starting to annoy me.
119<Zagor> Bagder: you should rewrite id3.c to use nonbuffered io.
120<Bagder> true
121<Zagor> unless you plan to implement it :)
122<Bagder> shouldn't be that hard
123<Bagder> adiamas: it sure sounds like a sw bug
124<Bagder> what sw version ?
125<adiamas> checking
126<adiamas> 1.25b
127<Bagder> I have that one too
128<adiamas> im really starting to think its a hw issue...
129<adiamas> because it's not related to any particular action
130<Zagor> does it only happen when you do that, or other times as well?
131<adiamas> randomly
132<adiamas> just happened now when i scrolled up the directory menu
133<Bagder> does it happen when do things that aren't disk-oriented?
134<Bagder> +you
135<adiamas> and again
136<adiamas> sees to be
137<adiamas> actually.. mis read that.. when its disk oriented
138<Bagder> or disk related perhaps
139<adiamas> im really starting to think that the guy i bought it from sold it for this reason
140<Zagor> sounds like hardware to me
141<adiamas> this keeps up and i may just buy one off shelf and crack this one open...
142<adiamas> but the idea of spend 200+ for crap hw really burns my balls.
143<adiamas> sooooo if we get any more 'donations' and ya'll feel like forwarding them along ;)
144<Zagor> hehe
145<Zagor> do you still have warranty on it?
146<adiamas> id love to break the warentee on this mf.
147<adiamas> not really...
148<adiamas> i bought it second hand off ebay, so dunno if i have a claim on it.
149<Zagor> check with Archos US. if you have it, send it to them. this is definitely a warranty issue.
150<Zagor> if you don't have warranty, crack it open and check a number of solder points
151<Zagor> s/check/resolder/
152* adiamas has _no_ experiance soldering :)
153<Zagor> it sounds like a bad connection somewhere to me
154<Zagor> ok. umm, maybe this isn't a good learning project then :)
155<adiamas> yeah.. expensive one :)
156<adiamas> nice.. and archos only gives a 90 day warranty
157<Zagor> really?
158<Zagor> I think it's a year in europe
159<adiamas> "Archos warranrts to the end user customer that Archos products will be free from defects in materials and workmanship for the duration of 90 days, which begins on the date of purchase by the customer. Customer is responsible for maintaining proof of date of purchase."
160<Zagor> gosh
161<adiamas> im reading it off their warranty card
162<adiamas> reboot again
163<Zagor> swedish law dictates a minimum two years "reclaim time"
164<adiamas> wow....
165<adiamas> that and nice hot blond chicks... im in the wrong country ;)
166<Zagor> hehe
167<adiamas> ill tell you this.. your country has one hell of a PR dept.
168<Zagor> good or bad?
169<adiamas> i have yet to meet an ugly chick from your country
170<Zagor> :)
171<adiamas> seems you only send of the hot chicks as 'opairs' or those live in baby sitters
172<Zagor> yep, we have a selection board
173<Zagor> strict regulations
174<adiamas> hehehe
175<adiamas> my mailing addresss is: 60 Collyer Ave.. send one on over
176<adiamas> i promise ill share with my gf.. no worries ;)
177<Zagor> haha, and she'd take care of...? ;)
178<adiamas> anything she wants ;)
179<Linus> ...you...?
180* adiamas nods happilty
181<adiamas> hell... id be happy to sit back and watch her and the 'wife' go at it
182* adiamas growls
183<Zagor> it's our compensation for the long dark winters
184<adiamas> LOL
185<adiamas> and high suicide rate
186<Zagor> nature always finds a balance
187<adiamas> or was that finland?
188<Zagor> that's a myth, actually
189<Linus> we mostly die of cardiac arrest being compensated for the long winters... :-)
190<Zagor> finland is higher, yes
191* adiamas is from america, home of the 'fast food, gun ordering, beer buying, convenince store drive through'
192* adiamas laughs merrily at linus
193<adiamas> Linus, I ment to ask. Just how common is your name in sweden?
194<Linus> Not very.
195<Zagor> suicide rates per 100k people: USA 11.3, Sweden 14.2, Finland: 23.8
196<Zagor> gotta love the internet :)
197* Zagor should be writing code review protocols right now. Bleh..
198<adiamas> hey, look, another reboot
199<adiamas> heheh
200<adiamas> code review protocols?
201<Zagor> yeah. medical equipment requires lots of red tape
202<adiamas> nod
203<adiamas> anyone else having a hard time loading the rockbox site?
204<Linus> No. why?
205<Zagor> hmm, it's gone blank again
206<Zagor> i don't know why that happens
207<Linus> Oh. Now i see.
208<Linus> I saw that yesterday too.
209<Linus> Itäs probably Zagors lame update cron job that fucks up.
210<Zagor> it is, but why?
211<adiamas> thats simple
212<adiamas> 42
213<ironi> ello
214<Linus> Hi!
215<adiamas> hey ironi
216<Zagor> ellooo
217<adiamas> wat append to te ''s?
218<Zagor> ah, now I get it
219* Zagor is slow
220<Zagor> tey were lost in te ash
221<Zagor> ahhh, missed one :)
222<adiamas> hehehehe
223<adiamas> tougher then it looks ;)
224<adiamas> you wanna really cook your brains? take a look at: http://orion.ramapo.edu/~rhak/misc/illusions/pic19692.gif
225<Zagor> yeah, seen it. it's cool
226<ironi> cool
227<adiamas> yes folks... rob has hit double digits on reboots
228<Zagor> yikes. your archos is next to useless
229<adiamas> ya think?
230<adiamas> it seems fine for a while, then *poof*
231<Linus> Curious. Does it happen when you have the charger connected as well?
232<adiamas> haven't tried.
233<Linus> Do it.
234<adiamas> trying
235<Zagor> good test. there's a known problem with the spirals holding the batteries
236<adiamas> how do you mean?
237<Zagor> s/spirals/springs/
238<adiamas> btw.. what time is it by you?
239<adiamas> your what, gmt+2?
240<Zagor> +1
241<adiamas> so its like 11 there?
242<Zagor> yup
243* adiamas nods
244<adiamas> stupid sunlight
245<ironi> sunlight?
246<ironi> i wish we had some
247* Zagor saw some last week
248<ironi> yep
249<ironi> well i hoped for sun tomorrow night
250<ironi> but no luck, it seems
251<Linus> Hi alan
252<alkorr> hi !
253<Bagder> we should add "tetris" in the status list ;-)
254<adiamas> nods
255<Zagor> :)
256<Bagder> we should add scores
257<Bagder> ;-)
258<adiamas> how about adding the ability for the game to end ;)
259<Bagder> that's not a bad idea! hehe
260<alkorr> adia: what do you mean ?
261--- Linus is now known as Linus|lunch
262<alkorr> the game has no "game over" ?
263<adiamas> alkorr when the blocks reach the top and you are out of room, the game keeps sending blocks :)
264<alkorr> arf quite annoying :)
265<Bagder> let's blame Björn! ;-)
266<alkorr> time for lunch, cu
267--- Zagor is now known as Zagor|lunch
268* Bagder silently points out that we *are* gmt+2 while having daylight savings time
269<wavey> because britain is gmt+1 right now :)
270<Bagder> yeps
271<Bagder> funnily enough ;-)
272<wavey> stupidly enough
273<wavey> timezones are an abortion
274<Bagder> indeedo
275<adiamas> nah.. timezones only happen because of buisness
276<adiamas> and the railroads if i remember correctly
277<wavey> what's wrong with a single hour across the globe
278<wavey> ?
279<wavey> who cares that 0500 is midday?
280<wavey> or that you wake at 1900?
281<Bagder> I bet the chinese are on our side
282<Bagder> they have one time zone
283<Bagder> for a country as wide as five or so
284<wavey> yus
285<wavey> probably the only thing they agree with us on ;)
286<Bagder> hehe
287<Bagder> very probably
288<adiamas> well, i think its part psychology...
289<adiamas> you try and convince a new yorker that 0800 is really noon
290<adiamas> or 1 depending
291<Bagder> hey ho
292<wavey> ad: you'd soon get used to it
293<wavey> even a new yorker ;)
294<wavey> when britain conquers the globe again, we'll insist it :)
295<wavey> actually
296<wavey> the only way britain could conquer the globe again
297<wavey> is if everyone else goes to mars on holiday
298--- Bagder is now known as Bagderfood
299<PsycoXul> #define file_width 5
300<PsycoXul> #define file_height 7
301<PsycoXul> static unsigned char file_bits[] = {
302<PsycoXul> 0x11, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x11 };
303<PsycoXul> /* Created with The GIMP */
304<PsycoXul> was at the top of that heh
305<PsycoXul> thats 1 char
306<PsycoXul> [duh]
307<PsycoXul> the gimp makes it easy
308<adiamas> hmmm? whats that?
309<PsycoXul> what?
310<adiamas> your bit about file_bits
311<adiamas> whats it in reference to?
312<PsycoXul> i just drew a thing in the gimp
313<PsycoXul> and saved it like that
314<PsycoXul> heh
315<adiamas> heheh okay...
316* adiamas still doesn't get it, but thats okay.. hes off to nap
317--- Linus|lunch is now known as Linus
318<PsycoXul> made a new 5x7 image, image->mode->indexed, set it to black/white (1-bit) palette
319<PsycoXul> then drew it with the pencil tool with a 1x1 brush
320<PsycoXul> and saved as an xbm
321<PsycoXul> and thats what it outputs
322<PsycoXul> i'm gonna paste it directly into some cgram code and see how they look heh
323--- Zagor|lunch is now known as Zagor
324<PsycoXul> so yeah it looks just like it does in the gimp on the player LCD
325<PsycoXul> heh
326<Zagor> nice
327<PsycoXul> its 8 custom chars though i think
328<PsycoXul> i think i said something about 11 before but if i did i think i was wrong heh
329<PsycoXul> but i tested it again and it's not detected by usb-storage with custom firmware running
330<Zagor> huh?
331<Zagor> that sounds strange. we have no control over the usb interface
332<PsycoXul> must have *some*, at least one some models if nothing else... i have to plug in the usb cable as soon as the rom version shows its boot screen and before it loads the HD firmware
333<Linus> "With custom firmware running"?
334<Linus> Recorder?
335<PsycoXul> no, player, studio 20
336<Linus> So you can't plug it in when the device is off?
337<PsycoXul> i dunno i probably can
338<Zagor> what does the linux log say?
339<PsycoXul> but once non-archos firmware has been loaded from the HD, usb-storage doesn't recognize it if i plug it in
340<Zagor> you should see a log entry from usb.c or hub.c anyway
341<PsycoXul> yeah it loads up and thats it
342<PsycoXul> it just says it loads
343<Linus> I guess the firmware must disable the ATA buffers when it senses that the USB is connected.
344<PsycoXul> so i let it boot up with archos firmware till it shows the first directory on the screen, then i plug it in, says "USB ..Active..." with the little logo, then i modprobe usb-storage, the unit clicks and in dmesg i see a bunch of output about USB and scsi and the drive info etc
345--- Zagor is now known as Zagor|away
346<PsycoXul> and then i can mount it and use it blah blah blah...
347<PsycoXul> so now i'll do the same thing with other firmware running and say what it says :p
348<PsycoXul> Initializing USB Mass Storage driver...
349<PsycoXul> usb.c: registered new driver usb-storage
350<PsycoXul> USB Mass Storage support registered.
351<PsycoXul> thats it
352<PsycoXul> the archos doesn't click or do anything either
353<PsycoXul> and when i unplug the usb cable the archos still doesn't react
354<PsycoXul> those 3 lines are every new message in dmesg after the last time i unloaded usb-storage, and includes the nothing it printed when i plugged the device in :p
355--- Bagderfood is now known as Bagder
356<Linus> It looks as if the firmware has to enable the ISD200 chip somehow.
357<PsycoXul> apparently
358<Linus> Is this a problem for you as it is now?
359<PsycoXul> no
360<PsycoXul> just interesting :p
361<Linus> OK. I'll put it to prio -7. :-)
362<Bagder> it'll be annoying not to support that though
363<Linus> Of course we will support it.
364<Bagder> when our sw is running
365<Linus> I'll just have to dust off my multimeter.
366<edx> hi
367<calpefrosch> hi man...
368<edx> heh - still at school ;)
369<calpefrosch> oh, from a computer at school ?
370<edx> yea
371* edx gets his funky rockbox tshirt today
372<edx> did you do anything to the simulator code?
373* Bagder hasn't
374<edx> i meant calpefrosch :) he wanted to change stuff (maybe)
375* Bagder understands now
376* Bagder doesn't work from home today, blaaa had to shave ;-)
377--> alkorr (alkorr@srs07v-8-105.n.club-internet.fr) has joined #rockbox
378<Linus> Hi alan
379<alkorr> Hi Linus
380* edx doesnt work from home as well
381* edx is at school and has lesson :)
382<edx> hi
383<alkorr> hi edx
384<calpefrosch> sorry....
385<edx> re :=)
386<calpefrosch> I did nothing.
387<edx> ok
388<alkorr> edx: :)
389<edx> =)
390<alkorr> what's up , guys
391<Linus> Not much. Working...
392<Linus> Welcome
393<elinenbe> Hi there.
394<calpefrosch> Hi
395<edx> ok - gotta go :)
396<edx> cya later
397<Linus> Bye
398<calpefrosch> cu
399<alkorr> welcome elinenbe
400--- Linus is now known as Linus|work
401<alkorr> well cu
402<calpefrosch> Badger: with the simulator, is there a cut between the firmware and the PC-code
403<calpefrosch> ?
404<calpefrosch> that I know where to do what ..
405<Bagder> well, the simulators offer a few APIs using the very same functionality as the firmware code will offer
406<Bagder> so that code could be written to get displayed in the simulators and then moved to real firmware
407<Bagder> without much trouble
408<calpefrosch> ok.
409<Bagder> currently we offer the lcd API and button API (recorder style) in both simulators
410<Bagder> check out the uisimulator/app.c code and you'll see how you can program
411<Bagder> code that should work in simulatorss and target
412<calpefrosch> in the button API, there must be some repeat functions
413<calpefrosch> and some function to avoid a dubble press
414<calpefrosch> double
415<Bagder> how do we make a function that avoids double press?
416<calpefrosch> we have to do it twice, I think
417<Bagder> we do know when a button is pressed and when it is released
418<calpefrosch> I don't know the english word for "entprellen"
419<Bagder> me neither ;-)
420<calpefrosch> if a button is pressed, we have to wait until it is released.
421<calpefrosch> and then recognize the next
422<Bagder> we don't have to
423<Bagder> we get separate events
424<calpefrosch> not?
425<Bagder> we can just wait until a button is released
426<Bagder> button = button_get()
427<Bagder> if(button & (BUTTON_PLAY | BUTTON_RELEASED)) yada yada
428<calpefrosch> but yout want the action when pressed, not when relased...
429<Bagder> yes
430<Bagder> then you fix that
431<Bagder> thing is
432<calpefrosch> Did you test it on the target hardware?
433<Bagder> you may want to support having the key pressed a long time too
434<calpefrosch> right
435<Bagder> so currently, if you wanna do funny checks you need to do it yourself
436<Bagder> the api returns the button-press event
437<calpefrosch> "entprellen" = "debounce"
438<calpefrosch> it is a hardware-thing if a key is debounced.
439<Bagder> the api actually checks for key-repeat if I'm not mistaking
440<calpefrosch> if not, we have to do it in software...
441<Bagder> what is debounced?
442<Bagder> released?
443<calpefrosch> ok, think about a key pressed. in digital like this: ___|----|____
444<calpefrosch> but it could be: ____|-|_|-|_____
445<calpefrosch> because there is no full contact
446<Bagder> you're worrying too much ;-)
447<Bagder> if that'll be a problem, we'll fix it
448<calpefrosch> it is only one press, but two digital signals with µs between them
449<calpefrosch> that is because I did some key-programming for a tanning bed. I had this problem there...
450<Bagder> yeah, a common problem for this kind of thing
451<calpefrosch> if I would have the hardware to test some things, I would feel better
452<Bagder> you don't have the hardware?
453<calpefrosch> sure, but I don't want to destroy it or lose the guarantee
454<Bagder> ah, you want to mess around with thw hw, I thought you meant sw
455<Linus|work> Yes, the keys must probably be debounced somehow.
456<calpefrosch> right, but can I load the firmware on the recorder? is it safe ?
457<Bagder> uuuuh
458<Bagder> safe? ;-)
459<Bagder> naaah
460<calpefrosch> I will try the simulator...;-)
461<Bagder> hehe
462<Bagder> no debounce problem there ;-)
463<calpefrosch> cool
464* Bagder curses .pac files
465<calpefrosch> do we have a message loop in the firmware?
466<Bagder> not yet
467--- Zagor|away is now known as Zagor
468<Bagder> Linus works on the message queue I believe
469<Zagor> we need no debounce, since the keys are polled an not interrupt controlled
470<calpefrosch> it is important for me to know how the key-thing will work in future
471<Zagor> so if we poll them @10Hz debounce is not really a problem
472<calpefrosch> ok, I agree
473<Zagor> yes, there are some details left to figure out
474<Zagor> Bagder's statement above holds true
475<Zagor> only there is a problem with key-release
476<Zagor> example:
477<Zagor> 1. I press and hold ON, get_button() returns KEY_ON|KEY_HELD
478--> ghssg (~fdsasf@pD9560C13.dip.t-dialin.net) has joined #rockbox
479--- ghssg is now known as edx
480<Zagor> 2. I keep pressing ON and also press down PLAY. get_button() returns KEY_ON|KEY_PLAY|KEY_HELD
481<-- edx has quit (Client Quit)
482<calpefrosch> ok, but where will the get_button be called?
483<Zagor> 3. I keep pressing ON but release PLAY. what does get_button() return?
484<Bagder> I agree
485<Zagor> calpefrosch: from the UI code. it will read from a message queue
486<Bagder> it would need a hold for each key
487<Zagor> the timer interrupt polls the keys and posts events to the message queue
488<calpefrosch> ok, I will do it in the win32 gui. the code is not working like that
489<calpefrosch> now
490<Zagor> Bagder: so, we actually have UP and DOWN events for individual keys, rather than a bitmap for all keys?
491<Bagder> calpefrosch: why does it have to work like that?
492<Zagor> calpefrosch: the events and queues is implementation specific. only the get_button() api needs to work the same.
493<Bagder> Zagor: that's possible too
494<calpefrosch> on windows it is difficult to choose one position, because it repeats the key very fast.
495<Zagor> calpefrosch: yes, that has to be filtered
496<calpefrosch> in the simulator, because edx has polled the key
497<Zagor> Bagder: well, we have to decide on a system
498<calpefrosch> I'll try this now, ok? I can send you the diff. on which adress?
499<Bagder> Zagor: yeps
500<Zagor> how does win32 handle multiple keys?
501<calpefrosch> hmmmm, I will look. wait
502<Zagor> calpefrosch: I don't have a win32 compiler, so I can't test it I'm afraid
503<Bagder> I think diffs could very well be posted to the list imho
504<Zagor> i agree
505<calpefrosch> ok
506<elinenbe> Are you sure the keys should be polled? What about a lockup?
507<Zagor> lockup?
508<elinenbe> you can always hold down the off button on the current recorder and it will always shut it off, even if there is a crash
509<elinenbe> such as a hard drive crash, etc.
510<Zagor> we have no alternative to polling. there are no interrupt lines conneted to the keys
511<elinenbe> It seems the off but at least must trigger an interrupt...
512<elinenbe> how do they currently do it?
513<Zagor> i don't know
514<Zagor> but you have to crash very hard to lockup the timer interrupt...
515<Bagder> well, we don't have to stop polling just because the drive crashes... :-)
516<Zagor> so I don't see a problem
517<elinenbe> Is that the way it is currently done?
518<Zagor> we don't have their source code, so it's difficult to say
519<Bagder> since there is no irq from the keys it is hard to figure out how else it is done
520<elinenbe> I see.
521<elinenbe> It just seems polling anything is a waste of cycles...
522<Zagor> polling has its' place
523<Linus|work> Actually, polling is a good medicine for bouncing buttons.
524<Zagor> polling in general is good when you want control of the rate of events
525<elinenbe> well, you know more then I do, so I guess.
526<Linus|work> We try hard to sound like we know something. :-)
527<elinenbe> :)
528<Bagder> sshhhh
529<Bagder> ;-)
530<calpefrosch> ok, in windows I get an event for keydown and keyup. I could send the keycode to the button.c and save it there
531<calpefrosch> and wait until the polling main programm do a get_button.
532<calpefrosch> or what ?
533<Zagor> so both X and win32 use key down/up events. I guess we should do the same
534<Zagor> calpefrosch: sounds good
535<calpefrosch> how do you do in x ?
536<calpefrosch> it
537<Zagor> the key handles remembers the last button
538<Zagor> and you get it with button_get()
539<calpefrosch> that's it. I could make my own buffer...
540<Zagor> buffeR?
541<calpefrosch> but that would be too complex, I think
542<Zagor> a queue is best
543<Zagor> we should have that on x11 too
544<calpefrosch> that's what I meant
545<Zagor> ok
546--> edx (Krutzs@p5081384C.dip.t-dialin.net) has joined #rockbox
547<calpefrosch> hi edx.
548<calpefrosch> I changeg some code for key-handling in your win32 simulator.
549<calpefrosch> Because I have much work now, I only give you the changed code. Please commit it after reformating it. :-)
550<calpefrosch> ok?
551<calpefrosch> or I send it to the mailing-list
552<calpefrosch> I have to go in 2 Minutes...
553<Zagor> don't worry about committing nonworking code
554<Zagor> in this early stage, that is ok
555<Zagor> it's a better way to collaborate than mailing code back and forth
556<calpefrosch> I can't commit. I send it to rockbox@cool.haxx.se. But it's working !!!
557<Zagor> ok
558<calpefrosch> mny tnx, bye
559--- calpefrosch is now known as calpefrosch|away
560<-- edx has quit ()
561<-- calpefrosch|away (~calpefros@62.52.174.30) has left #rockbox
562<-- Zagor (~bjst@labb.contactor.se) has left #rockbox
563--> edx (edx@pD4B9E9D6.dip.t-dialin.net) has joined #rockbox
564<edx> good afternoon
565<Bagder> hey again
566--- edx is now known as edx|
567--- edx| is now known as edx
568<edx> hi
569<-- Linus|work (~linus@labb.contactor.se) has left #rockbox
570<Bagder> I'm about to leave too
571<-- Bagder (~daniel@as3-3-2.ras.s.bonet.se) has left #rockbox
572--- edx is now known as edx|away
573--- edx|away is now known as edx
574<edx> is anybody here?
575<-- jb1081 has quit ("[x]chat")
576--> calpefrosch|away (~calpefros@62.52.174.30) has joined #rockbox
577<edx> hi
578--- calpefrosch|away is now known as calpefrosch
579<calpefrosch> hi
580<edx> check this out:
581<edx> http://codeforce.d2g.com/rockbox/tshirt2.jpg
582<edx> :)
583<edx> *checking out the code you mailed*
584<edx> that is the backlight thing?
585<edx> boolean IsButton(int key)
586<edx> {
587<edx> return (key == last_key) ;
588<edx> }
589<edx> hmmm...
590<edx> if (key & last_key)
591<edx> might be mroe than one key pressed
592<PsycoXul> and there's a tab
593<PsycoXul> :p
594<edx> yea
595<edx> not my code :P
596<edx> i replaced tabs with spaces
597<calpefrosch> right, but I had no time to make it more comfortable
598<edx> heh
599<edx> .. what is the new_key function for?
600<calpefrosch> I'M just hacking it into the machine.
601<edx> couldnt that be done within button_get?
602<calpefrosch> and I'm at work now, so we have to discuss this later. 30 Minutes ?
603<edx> ok.
604<calpefrosch> tnx
605<calpefrosch> cool shirt.
606<edx> thanks :D
607* PsycoXul wonders how he ended up on a t-shirt :p
608<edx> hehe :P
609<edx> i just had to put some names on there
610<edx> i hope you dont mind :)
611<PsycoXul> but it is cool shirt... though i can't say the same for the hair :p
612<edx> haha
613--- calpefrosch is now known as calpefrosch|brb
614<adiamas> edx.. i love the shirt :)
615--- calpefrosch|brb is now known as calpefrosch
616<calpefrosch> ok, back again
617<calpefrosch> edx?
618<calpefrosch> the main message loop of the windows programm sends every character (WM_KEYDOWN) to the new_char(int Key) function
619<calpefrosch> the new_char of the button.c stores this character. in future maybe in a loop.
620<calpefrosch> s/loop/queue
621<calpefrosch> when somewhere the get_button is called, the stored key is given to the caller
622<edx> bakc
623<edx> hmmmm
624<calpefrosch> bakc ???
625<edx> back
626<edx> :)
627<calpefrosch> oh
628<edx> the problem is that you cannot simulate that on a jukebox device.
629<calpefrosch> ok, do you understand the new_key thing?
630<edx> i understand it but you cannot use that outside the simulator.
631<calpefrosch> sure, the jukebox should so it the same way, i think
632<calpefrosch> s/so/do
633<edx> it wont.
634<edx> it will be polling the keys.
635<calpefrosch> in future the "rockbox" gets a message-loop
636<edx> also for keypresses?
637<calpefrosch> we dicussed this earlier this day
638<edx> that is new to me :)
639<calpefrosch> you has been to school ;-)
640<edx> but you must be able to press more than one button at the same time.
641<edx> return (key & last_key) ;
642<calpefrosch> right, I had no time to do it. Can you ?
643<edx> not key == last_key
644<edx> yea i'll try.
645<calpefrosch> maybe you shouldn't use this isbutton function
646<calpefrosch> i don't know
647<edx> they didnt declare the functions yet.
648<edx> hm
649<calpefrosch> is it commited ?
650<edx> ytf is nobody here (Zagor, Bagder)
651<edx> not yet.
652<edx> anyways. the simulator is not responsible for calling the new_key function.
653<calpefrosch> this method has a second effekt. the backlight is only a "nicety"
654<edx> that is still done by the firmware
655<calpefrosch> hmmm, the firmware should generate the key_down ( like windows does )message. Who polls the message_queue ??
656<edx> that is done by the thread i guess (thread.c)
657<edx> that is bagders work i think...
658<calpefrosch> and the thread should fill the button.c's button_queue, I think. We have to discuss this with Zagor and Badger
659<calpefrosch> they have the experience
660<edx> uhm..
661<edx> we should wait till they definded the functions.
662<calpefrosch> but like this it's working even with the key-repeat of windows
663<edx> the button queue.. hmm i do not think that this is a really good idea :?
664<edx> well but you cant catch multiple key presses with this message queue
665<edx> only if you poll all keys.
666<calpefrosch> we don't need it. but we should save the button til the programm wants it. async
667<edx> i fully understand. it is not a bad idea. but we still need to support multiple keyrpesses
668<edx> also, what if one process "grabs" a key and the second one doesnt get it anymore, tho it is still pressed
669<calpefrosch> yes, I know what you mean. this is a problem.
670<edx> ill wait for Zag to show up :) i'll ask him about that then.
671<calpefrosch> I think he do it in the x-version ( x-files, hehe )
672<edx> ...
673<edx> *having a look*
674<edx> not yet.
675<calpefrosch> hmmm, it is an important, I think
676<calpefrosch> thing
677<edx> its a basic.
678<calpefrosch> the hardware interface didn't allow multiple keystrokes at any compination
679<edx> well.. yes
680<calpefrosch> s/p/b :-)
681<calpefrosch> but I like the color of the backlight ;-)
682<edx> i think for the player.. to regulate noise or somethign.. there was a multiple combination
683<calpefrosch> hmm, I never saw the player. only the recorder
684<edx> i had a player before.. the lcd sucks..
685<calpefrosch> where did you buy the recorder ?
686<edx> i bought a player at Promarkt (lol) then I damaged it and sent it back - the sent me a recorder :)
687<edx> *the = they
688<calpefrosch> hey you lucky ... go and play Lotto ;-)
689<edx> hehe.. Lotto never works ;)
690<edx> tried a lot of times hehe
691--- You are now known as adi|home
692<edx> hi
693<calpefrosch> hehe
694<calpefrosch> hi
695<calpefrosch> I'll go home and eat a pice of cow.
696<calpefrosch> bye
697<edx> hehe..
698<edx> cu
699<calpefrosch> maybe we talk later
700<edx> k
701* edx cries out desperating
702<edx> where is Björn?
703--- calpefrosch is now known as calpefrosch|away
704<-- calpefrosch|away has quit ()
705<ironi> hi
706<adi|work> hey ironi
707<PsycoXul> so i wonder if you hook up IR to the serial port or whatever what kinda crazy things you can do with furbys and pda's and ir-capable printers etc :p
708<edx> morning.
709<calpefrosch> morning
710<calpefrosch> how are you ?
711<edx> ah hi ;)
712<edx> tired :)
713--- edx is now known as edx|breakfast
714--- calpefrosch is now known as calpefrosch|brb
715--- calpefrosch|brb is now known as calpefrosch
716<edx|breakfast> cya.
717<-- edx|breakfast has quit ("school")
718<-- calpefrosch has quit ()
719* adi|home pokes Bagder in the forehead
720* Bagder hrmpfs
721<adi|home> how did the background suddenly go green on the uisimulator?
722<Bagder> I changed it to look slightly more like a real recorder
723<adi|home> k... but is the width correct? seems to be wider then my screen.
724<Bagder> having white on black was too far
725<Bagder> the square is drawn outside the actual size
726<adi|home> ?
727<Bagder> actually 3 pixels outside I believe
728<Bagder> I should change that
729<Bagder> we should have exactly 112x64 within the square
730<adi|home> well... define 'square'
731<adi|home> the full app?
732<adi|home> because i don't see any boarder inside the app.
733<Bagder> you don't?
734<Bagder> wait
735<Bagder> grrr
736<Bagder> my X-redirect over ssh is not working properly
737<adi|home> sorry :(
738<Bagder> anyway
739<adi|home> if you want.. i can give you a screen shot of what i see.
740<Bagder> there's meant to be a box within the windows
741<Bagder> -s
742<Bagder> the box us meant to define the actual recorder lcd size
743<adi|home> okay.. i get the box as soon as the menu loads, but not before...
744<adi|home> which seems odd
745<Bagder> well, it might be because my silliness ;-)
746<Bagder> I mean
747<Bagder> it could possibly be fixed in the code
748<Bagder> I haven't bothered that much
749<adi|home> not really needed... was just curious :)
750<Bagder> heh, ok, I committed a little fix now that should make the box appear before the app gets called
751<adi|home> nod
752<adi|home> did you change the makefile as well?
753<Bagder> yes
754<Bagder> didn't work on Solaris
755<adi|home> heheh k... cause now it bitchs on linux ;)
756<adi|home> ill look into it
757<Bagder> ok, hang on
758<Bagder> now
759<adi|home> interesting.. dind't know you could do +=
760<adi|home> in a make... cool.
761<Bagder> I'm not 100% that is really kosher Make
762<Bagder> but we're already using gmake extensions
763<adi|home> nods
764--> Zagor_ (~bjst@labb.contactor.se) has joined #rockbox
765--- Zagor_ is now known as Zagor
766<Bagder> morning
767<Zagor> morn
768--> Linus (~linus@labb.contactor.se) has joined #rockbox
769<Bagder> morning Linus
770<Linus> Hey ho
771<adi|home> on a win machine, does sleep(1) sleep for one second or what?
772<Bagder> edx's simulator has its own sleep() that is shorter
773<adi|home> k...
774<Bagder> the x11 one will too, to better much the target sleep()
775<Zagor> to better much? :)
776<Bagder> gee
777<Bagder> match
778<adi|home> cause i was wondering if it made sense to have a sleep in uisim or so...
779* Bagder smacks himself
780<adi|home> one with #defines for win and *nix
781<adi|home> *nixs calling utime
782<Zagor> we have a sleep() in kernel.h
783<adi|home> ahh.. we do?
784<adi|home> does it work :)
785<Zagor> yes. sleep(ticks)
786<Bagder> apart from utime() not being very portable...
787<Zagor> the declaration works excellent :-)
788* adi|home giggles
789<adi|home> ummm. wtf is TIME_BEFORE?
790<Zagor> it's a wrap-safe macro to compare ticks, for timeout handling
791<Zagor> "if (current_tick < timeout)" is not wrap safe
792<adi|home> nods
793<Zagor> "if (TIME_BEFORE(current_tick,timeout))" is
794<adi|home> what exactlly does 'wrap safe' mean?
795<adi|home> and since TIME_BEFORE(a,b) is just a macro of TIME_AFTER, why not just call TIME_AFTER?
796<Zagor> it means the comparison still works if "timeout" is just below the wrap value and you compare after current_time wraps
797<adi|home> umm.. k
798<Zagor> having both macros is just to make the source a little more clear. (instead of if(!TIME_AFTER())
799<adi|home> that makes sense..
800--- Tumm is now known as coyote-
801<adi|home> do you see lcd_drawpixel being any faster then lcd_drawline
802<adi|home> if you want to draw a line :)
803<Zagor> umm, no
804<adi|home> makes more sense to call drawline, no?
805<Zagor> yes
806<adi|home> nods
807<adi|home> k, then im fixing tetris
808<Zagor> ah :)
809<Zagor> first step to scaleability
810<Bagder> Zagor: what'll be the name of the root dir?
811<adi|home> ummm, root ;)
812<Zagor> /
813* Bagder considers having a go at some directory stuff later on
814<Zagor> neat
815<Zagor> we'll support different partitions, but only one at a time for starters
816<adi|home> im gonna ask a really foolish question, but...
817<Zagor> (in fact, the fat32 code isn't working on partitioned disks right now...)
818<adi|home> considering we are working on our own kernel and file stuff...
819<adi|home> how exactly do you write, well.. 'open()' and 'readdir()'?
820<adi|home> w/o unix or win calls?
821* adi|home has never gotten that deep
822<Zagor> we have our own everything
823<Bagder> unix/posix style
824<Zagor> open() calls fat_open(), which calls ata_read()
825<adi|home> got ya...
826<Zagor> we have a severe NIH syndrome ;)
827<adi|home> and aside from peering over your shoulders, how does one go about learning this?
828<adi|home> NIH syndrome?
829<Zagor> "Not Invented Here"
830<adi|home> lol
831--> alkorr (alkorr@srs06m-3-131.n.club-internet.fr) has joined #rockbox
832<Bagder> we must document the APIs
833<alkorr> hi
834<adi|home> so were still at the: "E=mc^2 => *insert magic here* => universe is born"
835<adi|home> kinda stage
836<Zagor> learning about it... hmm, reading books about operating system design, I guess.
837<Zagor> or reading source code :-P
838<Zagor> nah, practically no magic left. we only need to glue the pieces together
839<Bagder> hi alan
840--> wavey (~wavey@dlan1431.dircon.co.uk) has joined #rockbox
841<Zagor> ah, alan! hi.
842<Bagder> 'lo wavey
843<wavey> hi guys
844<alkorr> what's up ?
845<Bagder> the x11 sim runs on solaris again :-)
846<Bagder> unfortunately, I need to work too much...
847<wavey> tell me about it :(
848* wavey considers quitting work to concentrate on rockbox
849<wavey> do you guys give sick leave? :)
850<Bagder> I should
851<adi|home> sure do...
852<adi|home> you leave...
853<adi|home> and ill make you sick
854<wavey> hehe
855--> calpefrosch (~calpefros@62.52.174.30) has joined #rockbox
856<calpefrosch> hi
857<Zagor> hi
858<calpefrosch> did you discuss the button-thing with edx yesterday?
859<Zagor> no
860<Zagor> i had to run off
861<calpefrosch> hmm, ok.
862<alkorr> ok i have some problems with my emails
863<alkorr> new commitings ?
864<wavey> nothing came thru here in the last 15 mins
865<wavey> but my company run m$ exchange, so i'm surprised when any get through
866<alkorr> i wasn't here 15 ago :)
867<alkorr> 15 mins ago
868<wavey> :)
869<alkorr> Bagder: you create x11 in uisimulator as a module ?
870<alkorr> i was forced to do a checkout instead of a update for uisimulator to get x11
871<Zagor> alan: you need to run "update -dP" to get new directories
872<alkorr> yes but that's strange
873<alkorr> because when a directory is created in firmware. With a update, i get it.
874<alkorr> so i was wondering what the difference should be
875<Zagor> strange
876<adi|home> can someone look at tetris.c and tell me if im missing something?
877<adi|home> function draw_block
878<adi|home> should be around line 126
879<adi|home> if ( (clear ? 0 : block+1) )
880<adi|home> wouldn't it just make more sense to do "if (!clear)"
881* Zagor agrees
882<Zagor> unless block is ever -1
883<adi|home> would be a little less, um... obfuscated no?
884<adi|home> shouldn't be, block should always be positive
885<adi|home> im gonna play and see
886<Zagor> I didn't write the code from scratch, I stole most of it. There, blame assigned elsewhere.
887<adi|home> ehehe
888<adi|home> im not blaming.. just wanna feel like im doing something useful, and this time of night i hove no confidence ;)
889<alkorr> adi: please, stop with obfuscating feeling
890<alkorr> adi: for me, clear ? 0 : block+1 is clear
891<Zagor> alkorr: but surely, (!clear) is even more clear
892<alkorr> adi: i suppose i are clever enough to catch it, aren't you ?
893* adi|home nods
894<adi|home> but i have to stop and think about it.
895<alkorr> sorry
896<alkorr> i mean : you are clever enough...
897<adi|home> why both with a ternary operator when "if(clear)" is obvious ;)
898<adi|home> code should only make you think when it has to...
899<adi|home> but thats just my opinion
900<alkorr> adi : sorry, but if (!clear) is not the same as if (clear ? 0 : (block + 1)) !?
901<Zagor> adi|home: go over it again. that 'block+1' has me worried. why is it even there?
902<Linus> I can't stop thinking that the ternary operator is there for a reason...
903<adi|home> thats why i asked.
904<adi|home> far as i can see, i cant see how block would be negative
905<adi|home> 0, sure, but can't see negative
906<Zagor> ok, try it. if it works, it works
907<adi|home> and if its zero, then in this case it becomes 1
908* adi|home shrugs
909<alkorr> oh well i you can give us an evidence that "block" could never be -1, okay
910<adi|home> 04:41 here...
911<Zagor> hehe
912<adi|home> thats why i asked for confrimation :)
913<alkorr> right i cannot :)
914<alkorr> now
915<adi|home> nods
916<adi|home> then we leave it be :)
917<Bagder> I'd write it (clear || (-1 == block))
918<alkorr> arf
919<adi|home> lol
920<Bagder> uh
921<Bagder> no
922<Zagor> block is the block type: 0-6
923<Zagor> it can't ever be negative
924<Zagor> it must be a late-night leftover from the author
925* adi|home points at the clock and says 'ha!'
926<adi|home> i defy you sleep!
927* adi|home slaps mr. sleep around
928<alkorr> please chech the precedency
929<alkorr> check
930<Bagder> ?
931<Bagder> that doesn't change much here
932<adi|home> the statement is: if ( (clear ? 0 : block+1) )
933<alkorr> i don't remmeber if clear ? 0 : block + 1
934<adi|home> and clear is supposedly a bool.
935<adi|home> ahh.. so what you think is that its maybe
936<alkorr> is (clear ? 0 : block +1) or (clear ? 0 : (block + 1))
937<adi|home> if (( (clear ? 0 : block) + 1))
938<Bagder> alkorr: they're the same
939<Bagder> +1 is way much higher than ?:
940<Bagder> prioritized
941<adi|home> nods
942<adi|home> either way...
943<adi|home> if clear == 1
944<adi|home> we get 0
945<adi|home> or 0 +1
946<alkorr> it doesn't make a sense
947<alkorr> what could be the value of clear
948<alkorr> if would be true
949<alkorr> it
950<alkorr> especially if block is never -1
951<adi|home> i don't get what you are saying al
952<Bagder> if block can't be -1, we can make it if(!clear)
953<adi|home> nods
954<alkorr> if clear == 0 and block >= 0, ((clear ? 0 : block) + 1) => block + 1 >= 1
955<alkorr> if clear == 1 and block >= 0, ((clear ? 0 : block) + 1) => 0 + 1 == 1
956<alkorr> so your "if" is always true !?
957<adi|home> right...
958<alkorr> unless block can be -1
959<adi|home> sooooo precidence is ((clear > 0 : (block +1))
960<Bagder> no
961<adi|home> since block can be 0
962<Bagder> if clear is TRUE
963<Bagder> the first block is NOT run
964* adi|home nods
965<Bagder> no matter what block is
966<alkorr> .me nods
967* alkorr nods :)
968>Bagder< lotsa discussion for clear code ;)
969<alkorr> uh
970<alkorr> Bagder: you said : "if clear == 1 and block == 0 ?"
971* Zagor proposes if (clear) clearpixel(); else drawpixel();
972<Bagder> alkorr: if(!clear || (-1 == block))
973* adi|home agrees with zagor
974<alkorr> hey ! we were speaking about the ternary version !!!
975<Zagor> alkorr: it's the same logic result
976<Zagor> if clear==0, it doesn't matter what block is
977<Zagor> sorry, the opposite :)
978<Zagor> baaaah
979<alkorr> nooooo
980<alkorr> if you have "if ((whatever) + 1)", this 'if' is always true except when whatever is -1
981<alkorr> now 'whatever' is clear ? 0 : block
982<Zagor> yes, but this is not the statement here. we have
983<alkorr> so for whatever to be -1, block must be -1
984<alkorr> that's all
985<alkorr> if it doesn't make a sense to have block == -1
986<Zagor> but if clear==1, block kan be whatever because it's never evaluated
987<alkorr> well i'm okay this ternary is a non sense
988<Bagder> if block would be -1, we would read outside the array anyway
989<alkorr> if clear == -1, clear ? 0 : block always returns 0, then added to 1 => 'if' is again true
990<alkorr> clear = 1
991<Zagor> now stop arguing and clean up the mess! :-)
992<alkorr> argh mistake
993<alkorr> well we aggree on the fact that this ternary is a non-sense if we are sure that block would never be -1, so "if (clear)" is the rigth thing to do
994<adi|home> already commited :)
995<Bagder> its wrong ;-)
996<adi|home> btw.. anyone know if edx is willing to make up other shirts and mail them out for a fee?
997<adi|home> is it?
998<Bagder> yes
999<Bagder> it should be if(!clear) to match the former
1000<Bagder> or switch the blocks
1001<adi|home> no it shouldn't
1002<adi|home> i did
1003<Bagder> ah you did
1004* adi|home nods
1005<Bagder> didn't spot that
1006<Bagder> sorry
1007<alkorr> lol
1008<Zagor> adi|home: you used TABs!
1009<adi|home> but i forgot to go into rockbox mode when i edited, so spacing is messed up :( ill fix it
1010<adi|home> Iknow.. im fixing it
1011* Zagor spanks adi
1012<Bagder> uh
1013* adi|home shivers with pleasure
1014<alkorr> i was afraid that you didn't aggree on the final result
1015<Zagor> wrong-sized too...
1016<adi|home> no.. only wrong sized for rockbox ;)
1017<Zagor> bah, no sane man uses TAB!=8
1018* Zagor holds The One Truth
1019<adi|home> i don't
1020<adi|home> i use 4 spaces
1021<alkorr> I use 2 spaces
1022<adi|home> you prob also use a 140 char wide display too huh ;)
1023<Zagor> i'm talking about the size of TAB, not indentation
1024<alkorr> yes we know :)
1025<alkorr> for assembly, i use a 8-space tab, for c/c++ 2-space tab
1026<adi|home> fixed
1027<Zagor> alkorr: that's criminal. why don't you just use spaces?
1028<alkorr> because in fact, tab are turned into spaces :P
1029<Zagor> ah
1030<adi|home> because there are only 2 developers in my office, we came from the same college, so we do it _our_ way...
1031* Zagor breathes a sigh of relief
1032<adi|home> so there
1033<alkorr> except for assembly code of course
1034* adi|home sticks his tongue out at Zagor
1035* Zagor takes his ball and goes home
1036<adi|home> lol
1037<adi|home> oh.. and i figured out why tetris doesn't end.
1038* Bagder smacks the "code police" stick in Zagor's forehead
1039<alkorr> lol
1040* Zagor wears it proudly
1041<Zagor> /me frenzy
1042<Bagder> sticker I meant to write
1043<adi|home> im too tired to rework it, but its basically the calls to valid position
1044<alkorr> okay i must depart, some people are waiting for me to have a lunch
1045<alkorr> see you
1046<Zagor> bye
1047<adi|home> you don't know exactly why it fails, so it just continues playing...
1048<-- alkorr has quit ()
1049<adi|home> need a seperate check to see if we reached the top line
1050<adi|home> or limit
1051<adi|home> and on that.. i bid you .... fondu...
1052--- You are now known as adi|asleep
1053<Zagor> mm, fondue...
1054* wavey cmiles
1055* wavey blinks
1056* wavey smiles
1057* Bagder got a mail from a Kjell Ericson who said he's working on a "magnifyer" for the x11 sim
1058<wavey> cool
1059* Zagor just got the donated Archos working with gdb
1060* Zagor cheers
1061<Bagder> great!
1062<Linus> Well, actually, it's a marriage between his newly-swapped Player and the donated one...
1063<Zagor> yeah, so we have the wrong flash
1064<Zagor> so the built-in firmware can't control the LCD
1065* Linus feels like Frankenstein
1066<Bagder> oh
1067<Zagor> this is great, now I can debug the ata code
1068<Zagor> how can we fix so debugf() calls are not even called in "release" code?
1069<Linus> Maybe a DEBUGF() macro?
1070<Bagder> DEBUG(("moo %d", 23)); ?
1071<Linus> DEBUGF("%d", x);
1072<Zagor> yes but that limits the use to a single line, which is not always practical
1073<Zagor> plus, macros don't have variable parameters
1074<Linus> They do in gcc
1075<Zagor> ah, ok
1076<Linus> SIngle line?
1077<Bagder> but be careful if you wanna be able to run that code in debug purpose with other compilers
1078<Zagor> Linus: you can't write:
1079<Zagor> DEBUGF("asdalkdkajsdl kasdl %d %d %d %d %d",
1080<Zagor> val1,
1081<Zagor> val2,
1082<Zagor> val3 ); etc.
1083<Linus> Ah. I thought the preprocessor recognizer the parentheses...
1084<Linus> recognized
1085<Zagor> umm, i'm sure it does.
1086<Linus> So...?
1087<Zagor> i just haven't had my piiza today
1088* Zagor hides in a corner
1089<Linus> You mean chicken?
1090<Linus> Sambal
1091<Zagor> adi promised fondue... :)
1092--- Linus is now known as Linus|lunch
1093--- Zagor is now known as Zagor|lunch
1094--- calpefrosch is now known as calpefrosch|lunc
1095--> simo (~NWO@ws2014.tu-varna.acad.bg) has joined #rockbox
1096<simo> hy
1097<simo> hi
1098<Bagder> hey ho
1099<simo> everyones
1100<Bagder> lots of people eating right now... I'm about to do that too!
1101<simo> ooo sorry
1102<simo> if you want eat
1103<simo> :)
1104<simo> do you can help me
1105<Bagder> with what?
1106<simo> do you can tell me any channel for HARDCORE music
1107<Bagder> no idea
1108<simo> ok
1109<simo> or any for hard music
1110<Bagder> nope
1111<simo> ok
1112<simo> 10x
1113<-- simo (~NWO@ws2014.tu-varna.acad.bg) has left #rockbox
1114--- calpefrosch|lunc is now known as calpefrosch
1115--- Zagor|lunch is now known as Zagor
1116<Zagor> bwahaha
1117<Zagor> my current client got som many hits from a link on my web page they have complained...
1118<Bagder> they complained on you having a link to them?
1119<Linus|lunch> Yes they did.
1120--- Linus|lunch is now known as Linus
1121<-- Bagder (~daniel@as3-3-2.ras.s.bonet.se) has left #rockbox
1122<-- Linus (~linus@labb.contactor.se) has left #rockbox
1123--> Bagder (~daniel@as3-3-2.ras.s.bonet.se) has joined #rockbox
1124* Bagder is now chatting from his home again... aaaah
1125<wavey> grrr
1126<wavey> wish i was home
1127<wavey> i keep getting interrupted from playlist coding
1128* Bagder fixes the id3.c to use the proper file api
1129<Zagor> Bagder: how about adjusting your little menu program to read a directory, parse the id3 tags and show the files?
1130<Zagor> umm, strike the id3 part. just read the dir and show the filenames
1131<Bagder> now, how did you know I was about to do that? ;-)
1132<Zagor> ah, goodie
1133<Bagder> first fix the id3
1134<Bagder> then read dir
1135<Bagder> and show it
1136<wavey> what about the lack of opendir on win32?
1137<Bagder> they need to emulate that
1138<Bagder> edx is onto that
1139<wavey> coolio
1140<wavey> i had thought cygwin had wrapped those calls, but apparently not :(
1141<Bagder> edx doesn't use cygwin
1142<wavey> 2 questions: the CONTRIB file says no 'const' and no new types.
1143<wavey> why the former, and what do you mean by the latter?
1144* Bagder redirects those sorts of questions to Zagor, the code police ;-)
1145<wavey> eg: void get_indices_as_string( char *string, playlist_info_t *playlist )
1146<wavey> does that break both rules? :)
1147<Bagder> regarding the type thing, I don't think that concerns structs
1148<wavey> damn, i mean const char *string
1149<Bagder> it's more the uint32 things etc
1150<wavey> ah, goodie
1151<wavey> i did wonder.
1152<Bagder> the const stuff, I don't know why it is said so
1153<wavey> i like to flag unchanging strings as so, to help the compiler let me know if i fuck up
1154<Bagder> the compiler can also do better optimizations when const is used
1155<wavey> yus
1156<Bagder> id3.c fixed
1157<wavey> does id3.c still have main() defined?
1158<Zagor> the reason I don't want people to use const is that many people tend to overuse it
1159<Bagder> within an #ifdef DEBUG_STANDALONE
1160--> elinenbe (~chatzilla@bgp01080511bgs.wanarb01.mi.comcast.net) has joined #rockbox
1161<wavey> b: ok
1162<Zagor> or use it wrong, so you can't (for instance) call a function with a dynamically generated string
1163<wavey> z: what is overuse?
1164<wavey> ah ok
1165<Zagor> the "new type" rule is just like bagder said. also I prefer to have structs as structs, not as typedefs
1166<Zagor> that way, it's plainly obvious it's a struct and not some other magic type
1167<wavey> oh, ok
1168<Bagder> regarding file operations
1169<Bagder> do you mind if I just come up with a relative path we use as root when simulating?
1170<Bagder> like "archos" or so
1171<wavey> z: struct playlist_info *playlist in place of playlist_info_t *playlist ?
1172<Zagor> how do you mean?
1173<Zagor> wavey: yes, preferrably
1174<wavey> ok, no prob
1175* wavey changes a millon prototypes
1176<Bagder> Zagor: I need a simulated hard drive
1177<Bagder> that opendir("/") opens
1178<Zagor> Bagder: ok. so basically the simulator defines the root as some specific directory
1179<Bagder> yes
1180<Zagor> but the application code never knows it's not the root
1181<Bagder> right
1182<Zagor> i'm all for it
1183<Bagder> the application uses / for root
1184* Bagder calculates, 112/6 = 18 letters in a single line
1185<Zagor> i was thinking, wouldn't it be a good idea to word-wrap filenames?
1186<Bagder> not sure
1187<Zagor> personally, I prefer seeing the whole name of a few rather than half the name of many
1188<Bagder> they're sometimes so extremely long
1189<Bagder> anyway, I'll start with something simple for now
1190<calpefrosch> What did you do with my code for the simulator ? btw, I'm ashamed of having tabs in the code....
1191* Bagder hrmpfs at the added #ifdef WIN32 in the app.c code...
1192<Bagder> calpefrosch: you should make diffs and mail instead
1193<calpefrosch> ok, I will do that in future. the ifdef is not my work
1194<Bagder> no, I didn't mean that either, sorry
1195<calpefrosch> ok
1196<calpefrosch> the major change it made was the different key-handling. we should talk about the right way to handle the keys ( in win32 AND firmware)
1197<Bagder> yes
1198<Zagor> i propose single-key events
1199<Zagor> just like win32 and x11
1200<calpefrosch> 1. the button is pressed, so an interrupt occure
1201<Zagor> no interrupts
1202<calpefrosch> ah
1203<calpefrosch> so you poll the ports, right ?
1204<Zagor> yes
1205<calpefrosch> ok, if a button is recognized, the thread sends a message to the main-queue
1206<Zagor> my thinking is more:
1207<Zagor> the timer interrupt polls the keys
1208<Zagor> if a change is detected (or "repeat" is triggered),
1209<Zagor> it sends a message to the UI thread
1210<calpefrosch> so a "repeat" is only one message ?
1211<Zagor> "repeat" is triggered by a key behing kept down during X consecutive polls
1212<Zagor> good question
1213<Zagor> we should probably have a defined repeat rate
1214<calpefrosch> I think in the win32-sim windows creates the messages
1215<calpefrosch> like in windows...
1216<calpefrosch> in dos 6.22 (e.g.) the keyboard generates the repeat. I thi nkin windows windows does..
1217<calpefrosch> ok, next. Let's say the timer-thread creates one message ( single, or every second if repeat)
1218<calpefrosch> what will the ui-thread do with the message?
1219<Zagor> it will get it from the queue with button_get()
1220<Zagor> then it will, well, do what applications do :)
1221<calpefrosch> tnx ;-)
1222<calpefrosch> the button_get will scan the queue for a button-event, or the application will do something if there IS a button event?
1223<Bagder> wocka
1224<Bagder> showing a dir ;-)
1225<Zagor> nice!
1226<Bagder> I'll commit
1227<Bagder> not very fancy, but it works
1228--- Disconnected (Connection timed out).
1229**** ENDING LOGGING AT Tue Apr 30 09:33:31 2002
1230