From 965058028f08153fe4920afcd0c835297bd5c68d Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Sat, 20 Apr 2002 14:23:46 +0000 Subject: four new logs git-svn-id: svn://svn.rockbox.org/rockbox/trunk@152 a1c6a512-1295-4272-9138-f99709370657 --- www/irc/rockbox-20020419.log | 547 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 547 insertions(+) create mode 100644 www/irc/rockbox-20020419.log (limited to 'www/irc/rockbox-20020419.log') diff --git a/www/irc/rockbox-20020419.log b/www/irc/rockbox-20020419.log new file mode 100644 index 0000000000..d31e3942af --- /dev/null +++ b/www/irc/rockbox-20020419.log @@ -0,0 +1,547 @@ +--- You are now known as Bagder +--> Zagor2 (~bjst@labb.contactor.se) has joined #rockbox +--- Zagor2 is now known as Zagor + aloha! + hey ho +--- Bagder gives channel operator status to Zagor + uh + y%8 should be y&7 in lcd.c + for the pixel functionss + I'll fix + yes, i realized that too. but it turns out as the same thing + when compiled? + i don't know about the code, but the logic is the same + yes, logic is the same but % is generally a much slower operation + ok +* Bagder does an "Alan" + hehe, don't be mean +* Bagder chuckles + woo new mozilla to get +--> wavey (~wavey@dlan1431.dircon.co.uk) has joined #rockbox + morn + it is a sunny and fine morning here + overcast and cool here +--> alkorr (jbcoax@srs04m-8-117.n.club-internet.fr) has joined #rockbox + for the CVS $Id, what must i put it in a source, so CVS fills it + ? + hi btw + $Id$ + hi :) + oky + :) + do we have a standard file header to include at the top? + yes + i.e the rockbox copyright and logo? + yeep + so rather than specifying the Id tag + specify the header :) + and put the tag in the herder + header + yes, that's how it is + so + why + did + alan + ask about the id tag? + ask + alan + :) +* wavey lol + because i didn't know that :) + because it isn't stated anywhere :) + alan: you changed the license for your FAT code. was that intentional? + nope at all + they were my old headers + ok, so I should change it back to GPL? + just forget to change them + if you are tempted :) + i am :) + okay + i looked at it a bit yesterday. what did you mean when you said the code is "obsolete"? + which code ? + the fat code + that you mailed me + ah yes... hum because i plan to split it and maybe a little bit more generic for PC test + ok, because I started working on it... :) + is that so ? + yes + i plan to have an image of a FAT32 disk in a file to do testing on + for your purpose ? + ? + zag: how will the main program body service user events while keeping the dsp full of data? will we just set up some sort of dma to allow the dsp to read data until complete, leaving the program thread to manipulate memory etc? + or is there some other way? + that's a good question, which among other things we will be discussing tonight :) + i need to switch tunnels, brb +<-- Zagor (~bjst@labb.contactor.se) has left #rockbox + bag: we = .se? + european people ;) + yes + me, Linus, Björn and a forth friend +--> Zagor2 (~bjst@labb.contactor.se) has joined #rockbox + ok +--- Zagor2 is now known as Zagor + cool + oh you mean off-irc, Bagder ? + we're gonna gather tonight + right + in real life + wow + there's an outside? +* wavey is scared +* Zagor is now in a clean, nice, pure ssl tunnel + you worked out the CONNECT part? + yup. found a perl script + coolio + i'll write up a twiki page + knowing http pays off B-P + seriously i see Zagor has change PAIOR and PBIOR to be ((volatile ...) + i would try to avoid such a thing + why? + sometimes to have a byte access is better than a word access + these are registers, yes? + yes but byte access is a special case + or a 32-bit access better than a 16-bit access + also a special case + this is the normal case +--> Linus (~linus@labb.contactor.se) has joined #rockbox + du to the fact, we write them in C, i don't see objections to leave them as address ant programmer to use the word access he wants + ... and let ... + it makes a mess in the code to always typecast them. this way, the registers are registers, as defined in the data sheet + register ??? + if you want to access them in a non-standard way, *then* you do special typecasts + manual says we can access such registers as well byte as word, so there is no real non-standard way + well the manual says the register is 16 bits wide, so that's how I define "standard" + I define the "standard size" to be the register size. + I would guess the the size the programmer wants would be the register size in 99% of all cases. + i try to use a homogene way to access those register, and having SI,HI or QI remove the necessity to guess what size the register is. But due to the fact i'm in minority, i suppose i can only approve your changes unwillingly + i really don't like the SI/HI/QI thing + by the way i could need the addresses of those register (DMA with SCI0 for example) + Except that noone can guess what QI, SI and HI means without searching in the header files. + yes, we probably need double macros. one with the address and one for register access + yes but i find more ugly explicit typecasting anyway + Absolutely. We will probably still nedd both ways of doing it. + explicit typecasting is good in special cases + because then it shows that it's a special case + i use GCC convention which has in internal the modes SI, HI and QI + if you could find something else, i could be okay +* Zagor has never seen SI/HI/QI in his 15 years of programming... + Yes. But I have yet to see any C source code using that convention. + but must be short anyway + Absolutely. + look at the gcc source +--> Bagder2 (~chatzilla@as3-3-2.ras.s.bonet.se) has joined #rockbox + I have looked at the GCC source code. The QI/HI/SI stuff is not C it is a pseudo language. +* Bagder2 tries chatzilla + Bagder2: good? + nah, I think I prefer X-chat + yes, your defines is not much more standard than mine anyway + actually, they are +<-- Bagder2 has quit (Remote closed the connection) + look at any microcontroller C compiler + registers are reserved uppercase symbols + i don't call them 'standard' + well no, but it's the most common way to represent registers + it is not that kind of stuff i will call standard + for me, they are libs like stdlib or stdio, no our own source + I agree, it's not a standard. but it's a style that many people have seen before + yeah.. yeah.. well.. well.. your momma! +* Zagor twitches. Adi - awake? + not really... + for what its worth.. and i know its not much... but to me... SI HI QI makes no sense... + BTW, the Archos guys have really made an odd I2C bus connection between the 7034 and the MAS... :-( + because to anyone who doesn't immediatly recognize it.. well.. they are clueless to what it means.. + but thats just my opin... + so change them for another convention + that's my point exactly + and the MAS uses a really odd I2C protocol variant... + Linus: will it set any limitations or just make it difficult? +* adi|sleep also points out he isn't attacking anyone... + A little tricky...and perhaps slower that necessary. + anyway, for me they are not really register since SH7034 use a memory map to access peripheral registers => not a register for SH, register for peripheral on-chip. +* Linus agrees with adi|sleep + Linus: what about the trouble ? + alan: it's the same thing. many controllers use memory-mapped registers + For example the PIC + and the PowerPC + Well, not the POowerPC core, but all PowerPC-microcontrollers + yes +* adi|sleep points out that your reality is nothing but lies and baldardash and he is happy to say he has know understand of it. + And the 8051, IIRC +* adi|sleep goes back to sleep + adi seems a bit... off ? + Zombie? + me? no no no.... + so, he's talking in his sleep ;-) + im on 'nuetrel' + a victim of the Umbrella Corporation? + i make a difference between cpu register and port registers that all. The way to access them is different + which is latin for "its way to fucking hot and humid outside for 0430 + " + one use direct opcode, the other use peek/poke + that's all + Agreed. You dont access the CPU registers at all in C source code. + poke 53280, 0 + Black border + a reset ? + Linus: about I²C ? + then what did the old "register" thing in C do? +* Bagder hands the award to Linus + what's the trouble +adi|atWork adi|sleep adi|atWork adi|sleep adi|sleep: it tries to allocate a variable to a register + nods + instead of putting it on the stack + okay.. now i remember. + no one uses anymore register, because a lot of C compiler implicily uses registers as possible + They have used a diode to simulate an open collector bus. That makes it tricky to communicate in both directions. +* Zagor agrees + so register is a void attribute in gcc + yup + yes + but then gcc is a mighty fine compiler + there are a bazillioin of worse ones out there +* Bagder has been hit by a few + GCC is good on some processors, worse on others. + true + but it has a good general engine + Generally, GCC wants CPU's with a lot of registers + well don't we all? + for IA32 or SH, humm + i mean.. come on.. cpus with lotsa registers are just so much more sexy + not to mention better in bed. + speaking of bed + IA64 you mean + ADI. Are you drunk? :-) + only with powerlessness +* adi|sleep cackles evilly + I bet its the heat + Linus: i'm not sure to understand, what do you mean by "communicate in both directions" ? + nods + and the lack of decent sleep. +* adi|sleep giggles furiously as he missreads sleep with sheep... + no wouldn't _that_ have been a freudian slip. + hehe + I mean that the data (and the clock in the case of the MAS) is bidirectional. Both read and write. And the diode makes that difficult. + But not impossible. Just tricky. + what's the australian definition of "safe sex"? +* wavey pats adi|sleep on the head + you X-mark the sheep that kicks +* wavey -so- needs to learn some electronics + is there a beginners bible? + I don't know + It's really simple. Just have a father that explains it to you. :-) + yes but you can read, cannot you ? + er + i'm talking to Linus :) + ah + read MAS + good :) + hahaha! + :) + Yes I can read. Ti is working. But it is slow at the moment. I will add another trick from my bag to make it faster. + it is the code or the electronic part which is really slow ? +* Bagder likes bags with tricks + Tha MAS is really nasty, as it drives the clock even when it is slave. :-( + The data line takes a lot of time to go from 1 to 0 when reading, since the line is unconnected because of the diode. I will have to discharge it explicitly to make it faster. + the MAS manual says it can held the clock to let it handle some things before reading further data + okay + Yup. And that is really nasty. + Especially since the clock is also connected via a diode. + in fact, you're telling us that MAS could run faster if the data line can discharge more rapidly + Only the I2C line. That is only used for settings and configuration. + but it only regards the I²C line + A pull-down would really help. + okay, not a real problem, just a nasty design + Exactly. + lines I²C shouldn't have pull-ups ? + Yes. On the bus side. I was talkin about the CPU side of the diode. + okay + just a note + if you disassembly the I²C part of the player firmware, they don't use the common way to set/clear the I²C lines + instead of using IN direction to set line at 1, they use OUT direction and set to 1 + that is, when setting port, always in OUT direction from the CPU + when reading (checking line status), in IN direction + daniel - you still capturing the logs? + I do + I suppose you don't use the same way to communicate with MAS (when setting 0, OUT dir.; when setting 1, IN dir.) + cool + can we automate it? + stick a bot on and pipe it to the website? + it is certainly possible + and add a search engine? :) + this is a wealth of info + i added a search form yesterday + it uses google + especially to newcomers that will come along + cool + uses google's cache or realtime search? + the cache + ok + but they index the site pretty regularly + lovely + regularly or frequently? ;) + frequently :) + i've nearly got the C++ XML library ready for inclusion + just getting the CORBA interfaces ready first + this firmware will kick ass + haha + hihi + what about the web browser? ;-) + :) + bad you will need to convert it to plain C ;) + now, this might be a ridiculous idea... + but can we use more of the limited memory buffer for audio + more? + ??? + hang on + by using the disk to store our program data? + and load it back when needed? + we have a 2 MB DRAM, whatever we can have in + or is that silly + that is silly :) + depending what you want to do + i think to understand what Wavey means + yes it could be a cool idea but not the priority + alkorr: That is why they have the diode. They don't want to set it ton IN to drive a 1 on the bus. + For some reason. + the possibility to load a game when you want to play, instead always having them in memory + yeah, keep a nucleus of program in memory, and demand load the bits we need + how large is the footprint of archos firmware? + archos apparently has no real dynamic memory + it seems to use a lot of tables + What is "real dynamic memory"? + malloc + Ah. + so their size should be fixed + i guess :) + malloc is a dynamic memory + a true dynamic memory, if you like + do i misremember malloc's free not shrinking the process memory usage? + not that it matters + that's OS dependent + wavey: that's a unix thing + with only 1 process + ok + what i mean is if we want to have the ability to load specific code at a ponctual time + you surely need a dynamic memory + so when we only use the player (or recorder) + we can use all the memory + and to prevent us to work with fixed address (so binary code not reusable with new firmware) + but you still need a code addresses relocator :) well, not the first thing rockbox will have + no one knows how large the archos firmware is in memory? + nope :) + I xould guess about 100K. + interesting :) + But I might be wrong + their firmware decompresses the mod, yes? + .ajz + in fact we can export some data in harddisk + for exemple if we have messages in different language + I guess the recorder decompreses the firmware. That would explain the long start time. + i can't see the benefit of a compressed mod + except to piss people off :) + Neither can I. + save disk space? hehehe + hehe + ooh, 60GB in your palm. + Download time on the internet? I mean if you can save 1 second... :-) + Wav. scrambling maybe + so like yeah + i remember all the things my c64 could do with 1mhz + 1mhz? or 1mb? + what interesting things can be done with a whole 12mhz of processing power + heh + ah + yes :) + i just with the player's LCD was even just a tiny bit better + like to be able to draw the blocks between characters + heh + yup, all the fun games will only be for the recorder :*) + nah + i did a rather nice little thing where you run around a map overhead + and it scrolls through the 2 lines quite nicely + i think the messages inf the firmware must take a lot of space, it could be interesting to see when removed how many it saves space in memory to have just the messages of the right langage + it's pointless till i can read levels in files and such but i just wanted to find out if it was possible to make a game playable in 2 lines + and it is + just be cooler with a little more capabilities + heh + that's might cool + +y + to have a < 64 KB code should be a good point + alkorr: yes + we have a very big advantage in that we can always compile in just the features and data that we need + Hehe. The libc code is about 30k... + ick + libc? who needs libc? + for div + or shift operations + when the shifter is not an immediate + I use it for sprintf at the moment. The string functions are there too + there's a diet libc we could check out + we can use a simpler sprintf + We have the source. We remove what we don't want. + precisely +* Bagder agrees + Actually, I think newlib ha a diet sprintf. + s/a/has/ + "ha has" ? + but due to the fact you use a library, you only integrate functions from libc you really use in your source* + heheh +* Linus has thick fingers today + Not functions, modules + Unfortunately, many finctions are located in the same .o file in the library, and they often call each other. + ah bad + But correctable. + i thought they used a .c file for each functions + Often they do. + And sprintf() is a mighty beast. + shure + I use it for debugging output at the moment. + using sprintf from linux? + Nope. In the firmware. On the GDB console. + a less capable sprintf() could of course be much smaller and still do just about what you'd want +* Linus thinks of Trio + that is not less + Linus: i know but i'm speaking about what version sprintf is + But you know how to strip it. + true ;-) + I don't know of any versions of sprintf. It's just Newlib. + Version 10.0.1, IIRC + we probably want a sprinf() for screen text formatting too + yup + one possibility + i saw a tiny sprintf for gameboy advance + Go get it. +* wavey looks + is to use a generic printf which call a function for a character + not fast + well that's how they all work + but you can directly display without have a buffer + more or less + so ? + so that is probably what we'll get + but + so when you use this function, just call this function with a callback ? + I doubt that anyway will printf() to the display + anyone + ah yeah, it is another thing for the LCD recorder + story + right +--- Zagor is now known as Zagor|lunch +--- Linus is now known as Linus|lunch + c u + bye Alan +<-- alkorr has quit (Read error: 110 (Connection timed out)) + http://www.frotz.net/gbadev/remote/printf.c + pretty tiny + yes +--- Zagor|lunch is now known as Zagor +--- Linus|lunch is now known as Linus + http://yugop.com/ver3/stuff/03/fla.html + cute + (and work safe) + cool! + http://www.oqo.com/ <= seen this? + bleh, flash + yeah + annoying site, cool box +<-- Linus (~linus@labb.contactor.se) has left #rockbox + do you know why uisimulator has a garbled window title? + no + what's the variable in emacs that says to only indent with spaces? + (setq-default indent-tabs-mode nil) + I think + ok + closing tunnel, brb +--> Linus (~linus@labb.contactor.se) has joined #rockbox + lcd_update in lcd-x11.c doesn't ever clear pixels, does it? + uh, no ;-) + i noticed :) + oops +* Zagor has been scratching his head a while over this :) + I'm not sure how to do that the best possible way though + I mean to avoid flickering + how about just redrawing the whole screen. performance is not really an issue on X + flickering only happens if you do it very frequently + or maybe have an "old" array which you compare against + well, we would need to fill the whole rect first, then draw all pixels + and then draw all new and clear all old + that's what I had in mind + so do it :) + can't do it right now + k + it'll have to wait a bit + The I2C is rocking like HELL! And fast too! +* Zagor wonders just how much hell is rocking + any sounds from the MAS yet? + Wait. There's a bunch of commands to be sent to it to configure it. +* Bagder caaaan't wait ;-) +* Linus wants to please Bagder +* Zagor can't wait for a working lcd_update... + so just clear the screen first + hmm, what does this "X11" mean? ;) +* Linus thinks Bagder is lazy +* Bagder reminds you about who wrote the uisim in the first place ;-) + so tell me, how do I clear the screen? + XDrawRect() or XFillRect() or something + ok + find a page about one of the other X* functions and click some links + that's how I've made it this far ;-) +--> alkorr (jbcoax@srs05v-2-184.n.club-internet.fr) has joined #rockbox + Hi alan! + The I2C is rocking like HELL! And fast too! + hi again + how do you do ? :) +* Zagor has a little surprise for you all... + I drive the data and clock lines low right before switching from output to input. That way I don't have to wait for the slow transition. + uh ? i mean how do you get it ? :) + okay +* Linus is waiting for Zagor + so you force discharge by this way + soon + soooooon... + Yup. Works like a charm. + hum some news from Dragan ? + uh, i haven't mailed him yet. i forgot... +* Bagder pokes Zagor with a large stick +* Linus hits him hard + alan: are you working on the fat code? + then i shouldn't be poking on it yet... :) +* Linus sees a major commit from Alan + a lot of things to add in fact + so don't rush + lots of c++ comments ;-) +* Bagder hides + hehe + sorry but there were here before you ;P + You'll be surprised how little code you need to screw up your hard drive... :-) + lol + to screew up ? you mean to destroy ? + Yup. + No, not destroy. Just screw up. + well my code never destroys or screws up ;P + Of course. Not _your_ code. :-) + but you're right. Just a lock command and you are bad under windows + hopefully i can unlock with your modified drive *relief* + driver + we need to fix something like that for the recorder too + ah yes USB 2.0 + just a precision about my fat.c, i think the main thing that will stir you is probably the ata callback mechanism +* Linus is still waiting for Zagors surprise +* alkorr too + paitence, children... :) + patience, even + alkorr: you mean except for the 1-byte arrays? ;) + to understand what is it : it is way to handle, compute, swap or format data during a read or write operation in a atomic way (we cannot have simultanous readings sectors) + yes + because BPB is a real mess : all the fields are unaligned + and using callback will create a too large function whereas I just need some fields in fact + normally i don't keep in memory any boot sectors (like MBR, BPB or FSINFO) + what's the history of the disk code we're cutting? + has it been tried and tested elsewhere? + or is it all new + yes in the obsolete fat.c i gave to Zagor + and the ones I lost during a harddisk crash + SH really dislikes misunligned accesses + I gotta go, see ya guys later +**** ENDING LOGGING AT Fri Apr 19 14:34:13 2002 + -- cgit v1.2.3