Zagor => Björn Stenberg linus => Linus Nielsen Feltzing Bagder => Daniel Stenberg Wavey => Stuart Martin alkorr => Alan Korr adiamas => Rob **** BEGIN LOGGING AT Tue Mar 26 07:47:01 2002 --> Bagder (~daniel@as3-3-2.ras.s.bonet.se) has joined #rockbox --- devlin.openprojects.net sets mode +n #rockbox --- Bagder sets mode +t #rockbox --> adiamas (~adiamas@as5300-9.216-194-23-156.nyc.ny.metconnect.net) has joined #rockbox hi <-- adiamas (~adiamas@as5300-9.216-194-23-156.nyc.ny.metconnect.net) has left #rockbox ("Client Exiting") --> adiamas (~adiamas@as5300-9.216-194-23-156.nyc.ny.metconnect.net) has joined #rockbox hey there. morning ;-) hehe for you ;) --> wavey (~wavey@dlan1431.dircon.co.uk) has joined #rockbox g'day wavey howdy howdy wavey hey adiamas you have the recorder or player, adiamas? recorder cool got it off of ebay for a nice cheap price.. :) does yours have any quirks? one that ive noticed so far... mine has dodgy contact in earphone socket keeps resetting when moved :( if i remember correctly it was that i couldn't save the playlist... if i edited it when i was running. only 3 months old from the player... if i do it from the command line, then transfer the file, all is well.. yeah well.. that and i had it completely barf on me last night. i think that's normal crappy firmware really? nod recoverable, i hope? dunno what it was... yeah.. but i had to boot into windows to delete the disk.. clear it all out. tsk i tried for like 4 hours in linux.. did everything i could think of... fsck fdisk fsck.vfat rm -rf hell, i even went as far as bit permisions... no go. but windows was cool with it? scary nods i did the windows "fake format" delete all :P heh so badger.. how about setting a topic eh? :) --- Bagder gives channel operator status to adiamas heheh --- Bagder gives channel operator status to wavey --- Bagder has changed the topic to: rock the box --- adiamas has changed the topic to: rock the box http://bjorn.haxx.se/rockbox/ hehehe so im waiting on addition to sourceforge to toss up version one of the FAQ cool haven't read email yet - how far is your simulator going, bagder? I didn't do much more yesterday I'm gonna attack the font code next cool to make a function that outputs similar text on the recorder and X11 groovy hm, not similar, identical really even better Jerome Kuptz posted on the list and volounteered to write a windows port for the ui sim lovely bagder you have any source i can grab to look at the sim? I added the sources to the rockbox CVS yesterday its easiest to get them off there k... ill go look it isn't very much to look at yet though ;-) it pops up a window, draws a line and outputs a text itll get there ;) adiamas: did you by any chance do some X11 programming before? nope.. but im a quick study. some mild exp with qt my modem is going to explode with all these downloads :) it's good to keep it busy ;-) yup.. esp just before i head off to bed ;) Gary's lcd code keeps a full copy of the bitmap in memory, and writes the whole thing to the lcd all the time which probably makes it easier to make a X11 version too that would make sense... has anyone finalized at all on what exactly our first target/goal is to achieve? not really, no i think we need to produce a simple menu UI first get that working on both player and recorder nods and then look at how to approach the diff UI capabilities of the two devices some kinda lib that makes ui creation pretty simple would be nice aye i havne't played with just the player.. so i don't really know the differences yet... oh.. btw ... when i post things.. forgive the spelling... i am a HORRID speller... put my mother (english teach for 20 yrs) into fits of tears :) * adiamas swells with pride player has tiny screen 3 lines or something like that instead of 8 getting a simple menu ui up and running allows the back-end firmware developers to test their stuff ahhhh so we need a) screen drawing capabilities ummm.. using cvs, how do i do a pull of all files in a dir? b) file browsing capabilities (to locate a file to play and stop, etc) adiamas: see http://sourceforge.net/cvs/?group_id=44306, replace "modulename" with uisimulator good.. just did that... and c) basic controls to start, stop, pause an mp3 the 2nd generation UI can have the visual goodies - levels, scrolling titles, etc the simple ui shouldn't take too long okay.. explain to me.. WTF would sourceforge require use of ssh1 when its known to be flawed? when not go to ssh2? flawed doesn't mean useless i guess * adiamas nods um Bagder you do realize your FILES lists a README, but there isn't one right? oops and just a question of taste... are we doing 2, 4, or 8 char tab stops? I do 8 char tab stops, c indenting with 2 spaces nods (setq c-basic-offset 2) (setq indent-tabs-mode nil) :-) i lean toward 4 myself.. but as long as i can map emacs to you im good :) * adiamas curses rh7.1 friggin X11 headers are missing. hehehe yup or :set tabstop 4 :set tabstop 8 if you use a real _editor_ hehehe hm, I wonder if using XDrawPoints() is sensible to use... I removed the FILES file now --> Zagor (~bjst@labb.contactor.se) has joined #rockbox yo boys morning have you looked at the new "mods" page I added to the web page? great sets of pics! ;-) thanks i should be a model! :-D btw Zagor, I think I go with Gary's fonts and his way of representing the lcd in memory ok the bytes are then vertical, lsb on top zagor: nice pictures can you have >8 pixel wide chars? or high, i mean Well, we'll have a complete 112x64 pic in memory so we can make whatever we want thanks, wavey we write the complete bitmap at least to start with bagder: so why do we want vertical bytes? it ends up as a lot more bit flipping to get the pixels out because that's how the lcd itself has them makes faster updates ok, so the 112x64 pixmap is vertically oriented? each byte is 8 pixels "high", byte 0 is top left, byte 1 is 2nd left etc ok. makes sense, then I'm making three files now, lcd.c with generic lcd stuff, lcd-recorder.c that writes the bitmap to a recorder and lcd-x11.c that writes the bitmap to an x11 window were staying c based for now correct? yes yes or are we going straight to c++? k... no :) damnit... way to early here... can someone remind me the name of the file that allows you to turn services on and off? i konw its not /etc/services * adiamas needs bed bad uh, redhat? /etc/inetd.conf ? thats it.. thank you. --- Bagder gives channel operator status to Zagor --- adiamas is now known as adiamas|sleeping hey it works ;-) what does? my new code, using a memory bitmap and lcd_update() nice one :) exact same pixel-setup as the recorder would get coolio very useful very tiny letters though :-) I should probably allow some zooming or somthing so, now we can write a small program using the new lcd API, and the output seen in the X11 window is what will be seen on the recorder screen as well --> Tumm (coyote@dreamhosted.borlange.se) has joined #rockbox lo excellent hiya tumm hi XDrawPoints() was all I needed well, technically, XDrawPoint() is all you needed ;) right, but one at a time turned out very slow :) surely XDrawPoints() uses a lot of XDrawPoint()? I'm running my X11-windows over ssh from a machine far away ;-) or is that naive? ah heh well, it doesn't make them appear one by one, but instead all at once and it makes a huge difference time to eat --> alankrr (jbcoax@srs03v-7-104.n.club-internet.fr) has joined #rockbox hi people happy fooding. hiya alan oh yes i forget ! :) it's time for eating :) i wonder why zagor doesn't reply but now i know ok what's up ? daniel's ui simulator is coming along he's got the same images appearing in X as will appear in the recorder lcd yes but is it using the same layout ? including characters, i think layout? i mean the way to set a pixel in LCD you mean the API? i think that's the idea ah ok it's just at the high level X is just an output alternative, the recorder's lcd is another the API is the same hopefully ;) well, there are ways to put images at pixel coordinates but ye must use a shifter table 'cause shift instructions on SH1 are not smart enough ah so it is why i asked if this simulator works by simulating the LCD layout on X but never mind, it is not an urgent thing to do :) you are the only one here ? at the moment, yep the swedes are having lunch, it seems and how many time will Bagder and Zagor be here in ? yes it's normal try again in an hour or so okay see you all later <-- alankrr has quit () --> alankrr (jbcoax@srs07v-5-60.n.club-internet.fr) has joined #rockbox are people still absent ? --- alankrr is now known as alkorr back oh good maybe you don't know me ? no I don't, who are you? ;-) arf, i know you brother in fact :) we're all a big happy family here anyway! ;-) btw, the lcd "simulator" is based on the original working recorder lcd code by Gary Czvitkovicz so it should work pretty much already yes i know, i've just reread your emails and I'm working on getting the same API to work on both the recorder and X11 and I hope to do a similar dual approach for jukebox/X11 output later well it would be very difficult :) why? with just 2 lines with only 11 characters yes, then I'll make a small X11-windows 2 lines high, 11 chars wide. that's not too difficult and each characters are seperate with at least 3 pixels so you are very limited for fx I know but that's what we have, that's not anything I can do to change for example, scrolling can only be done on basis of characters not pixel yes etc. why is that difficult then? because it is a character-LCD not a graphical LCD I'm not planning to make one single unified API for both platforms ok anyway we need a begining for a start ;) true by the way, i know very well the SH1 its advantages and disadvantages and its on-chip peripherals that's useful indeed. I've did my share of SH1 assembler, but that was some 6 years ago now :) gcc doesn't generate very well code as ia32 does :( let me explain to you there are two possibility to branch one is using jsr or jmp with a register containing the address to call or to jump another one using bsr or bra with an 12-bit immediate offset gcc don't generate brs nor bra so it will use several registers to be able to use jsr or jmp well, it should be possible to fix the gcc, even it its quite hard I figure i tried with static functions close to a function which calls those static functions without success well there several example like this which explains why I prefer not to use C for all for loops that is gonna make a difference, but for most code it is a penalty we can take, imho so you mustn't be surprised to see a lot of asm in my source i don't care for speed but for space you restrict the audience quite a lot by using asm, as not many people will be able to read it nor write it low level functions can be asm that's not a problem at all i'm speaking about low functions, not for your GUI :) screen updating code can be a complex as you wan because people will access it from C so we are okay yup indeed hoorah! * wavey chuckles * Bagder smiles it is not in my intention to do all the stuff in asm what parts are gonna start (have you started) with? LCD USB let me see my source timer lcd+backlight+led where i'm using atomic operation to set or clear port A and B so asm+c a start of ATA but i lost the main part in a harddisk crash ata is C what kind of lcd code do you have? for JBP i send you my source please do mail me at daniel@haxx.se my usb2 card has arrived! i don't send all my package I'm mainly interested in the lcd parts sright now just LCD parts and headers you could need right, thanks for JBR i don't try because i lose my JBR so i cannot try it I already have working code for the recorder I'll make a little api for the player built on your code did anyone make a table of all the available letters/characters on the player's LCD screen? yes it's on the notes page next to the recorders it's not the recorder's, it's the player versions the new and old have different charsets there is difference between old and new text-lcd in JBP i have the new one which is quite compliant with ascii table aha, it could be clarified on the web page... by the way i'm not sure about my tables :) i never test them thoroughly test? what is that? ;) and even worse for old lcd since i don't have one btw, how do we read/fetch input from the keys currently? in lcd.c there is two tables for characters translations so our api can work with new and old taxt-lcd without changing our strings to display for the moment i use a polling method in fact it is the only way i'm speaking about JBP (player) fine enough, I would just like a defined api on how to do it in the original firmware, they use the interrupt itu0 for polling keys for JBR, it is much more complicated i explain you have two pins for two groups of fours keys those two pins are analogic so you need to scan periodically their pins and translate their value to determine which key is pressed or released a way it is to use the interrupt ADC in scan mode which gives us the value and will translate them in a more practical bitmap or somethig like it another way is to use the dma to scan those pins and generate the interrupt dei to translate I don't think you understand what I want ;-) ok you want for player or for recorder ? both preferably, but one at a time is fine too i just have for player ok as you can see it isn't a generic API for keyboard but you know where to poll them is there anything that prevents us from creating a "generic" api for this? no of course i was doing that in key.c but it is not my priority in fact so we are free to do so if you need info i can help you to do so because since I want to "simulate" this on X11, it gets easier if I can simulate the API yes but we need first to know what we need and quite now I'm still unsure about it so I don't have a clear API for keyboard yes, that sounds logical ;-) keyboard event to handle for exapmle ? are you using events ? x11 events? you know like in X or Windows or in TurboVision (if you knew that ;) yes, this is x11 it uses events something which can represent input or output event to handle by several entities i'm speaking about our final rockbox I'm not ;-) if you want an API I only want a simple input api to simulate it could be changed or improved later on well there is two possibilities using keybitmap or using key buffer to use a key buffer can you send me your file so i can see the way to handle UI ? its in CVS, there are many files its really simple: lcd_update() updates the screen oh that's true ??? ok i go and download them lcd_string() outputs a string lcd_position() sets the "cursor" so far direct actions on lcd ? or using buffer ? no, they manipulate the buffer and lcd_update() writes to the lcd so why lcd_update, ok but for the player I can't see any point in keeping a buffer by the way, isn't it Linus which has started something about fat32 ? i lost 3/4 of my works on it and i'm very down to redo all the web page says Alan, is that you? ;-) yes, he has some code for it yes but i did have a crash which causes loss of files which are exceeding 4 KB ok. we'll reassign that for linus in fact my fat32 was tighly coupled with ata so what should I put efter your name, alan? :) Zagor: you could modify my "planning" to "partly working" ok name of your mudule, Badger ? uisimulator well i would like to be able to use my serial as i could do before the crash it would be more easier to test my ATA if Linus can pass me his source i can adapt or modify it to use ATA i'll tell him we want Linus's source in CVS too yes it would speed my work instead of redoing all ok got it (uisimulator) cool your headers ;) it just does one lcd_string() and then it does lcd_update() and it shows the string hehe, thanks to figlet really the figlet man :-) --> linus (~linus@labb.contactor.se) has joined #rockbox be aware with shift operation lcd-recorder.c is the recorder-versions, lcd-x11.c is X stuff and lcd.c is generic Hi folks hi linus ok hey ho Linus I'll dig up my FAT32 source as soon as I get home you don't plan to have a buffer greater than screen for having vertical or horizontal scrolling on screen ? * Zagor wants Boulder Dash 8*D blah, I "plan" all sorts of things, this is not the final complete code * linus wants Tetris and Breakout this is for setting an api to play with increasing the buffer is a piece of cake should we want that well, I2C RTC is quite slow oh soory oh sorry, forget what i said there is no connection with lcd :) Gary said he got about 20frames/sec writing fullscreen, that's not too slow I'd say ok i just want to be sure there is nothing else which can reduce time my lcd was written to have the less time between two bits sent we cannot do it better (zagor) maybe MAS I2C can be slower in JBR than in JBP because of I2C RTC maybe linus: you should bring your gdb efforts to the CVS archive, alkorr wants 'em ;-) i have some new pictures and shematics for the serial cable. coming up in a minute well so long as i don't know why my serial doesn't work any longer it wouldn't be helpful i prefer to send my binary to a person who has a JBP and a working serial to tell me if it works I have a working serial any volunteer ? well my serial port is toast, unfortunately :-( ...but the rest of the archos is fried at the moment... beuuuuuuh :,(((( ...but i can use my CPU board in Björns player. That works. oh good I will put the final touch on the stub on my trip to France next week. I'll keep you posted. okay i will prepare a simple binary which only communicate with serial line (no ata stuff or something which could lead to damage) uit <-- Zagor has quit ("Leaving") Hehe. I appreciate that... --> Zagor (~bjst@labb.contactor.se) has joined #rockbox Alan, is your serial port damaged or what? i want to be sure if it is my serial converter or my software which in pains Aaah. it is what i want to know it worked ok let me prepare the binary hey linus nice to meet you yo! okay to whom must i send the binary ? send it to linus@haxx.se ok but wait, it looks as if my strings are corrupted... it may be the reason ok anyway i suppose you won't be able to do so now no i can see on my lcd the string :/ but my terminal doesn't display my string but some "@" can appear sometimes, any clues ? nope linus, i send you the first version by dcc send sorry, Badger you cannot dcc get my files ? now the rs232 converter is up on the mods page drawings and the whole shebang linus and badger : can you dcc get my files ? i should cancel those for Badger linus is away right now hm, I think I can receive dcc so i retry 8 files I've never received files using xchat before, but nothing seems to happen have you clicked "accept" or something? i think you need to mark it and accept it that's "auto accept" and I thought I'd get a question if I don't auto-accept absolutely nothing happens odd try : /dcc get alkorr that won't work due to my firewall i retry file by file instead of sending all file in one time oh okay oh yes the firewall but still, the announcement of the dcc is done using ctcp and that is plain irc so my client should still say something well i can send to zagor but not receive from zagor, seems to be a similar problem but the main difference is i'm using mIRC on Windows Badger : for key.h, macros cannot be used with variable as parameter -> key_pressed (ON) OK but key_pressed (key) ERROR there are just for commodity in developping i also lost my memory.c which handled a block or bytes allocation (using a similar slab techniques for blocks and bytes allocation in a block) losing your memory.c is a sign of old age or too much weed lcd_string() bugs :-/ Alan, what is supposed to happen when running the program? bagder: alans files are at bjorn.haxx.se/rockbox/jox/ go fetch :-) oh sorry ok well, it displays on the lcd : <<< JBP >>> and No it doesn't OK WORKING! haha what do you get ? It hangs without displaying enything i repeat what you must have is : "<<< JBP >>>" "OK WORKING!" don't plug you serial at boot i'm going, guys. see you later. it doesn't work at this moment, firmware doesn't clean very well <-- Zagor has quit ("Leaving") if it doesn't work yet all I can see it the "JUKEBOX 6GB bla bla..." and then it hangs hummm... *** back soon *** oh where do you plug your serail ? on the line-in ? try to send '0' or '1' to turn on or off backlight I have tried that. Nothing happens. if not, interrupts are ignored and so it got an error (overrun, frame or parity error) can you dcc get ? oh by the way did you scramble the bnary ? Havenb't tried. Shoot! you must do it I have a tip. Shut off all timer nterrupts: TIERo = 0, TIER1 = 0, etc. I didn't scramble it. That must be it. Hang on! there is not interrupt for sending jsut a polling but for receiving there is an interrupt (is that way i can turn on or off backlight when receiving '0' or '1') ...still dead, even after scrambling no lcd displaying ? Nope FYI, I have firmware 3.18 Try to blink the red LED in the polling loop hummm, let me create a source package so you can modify and compile it... Great! can you dcc get ? linus ? Yup. Gimme da filez trouble ? "No file offered in SEND mode by alkorr" Alan? Alan: what is the name of the file? yes backup.tgz and now ? ok i was trying to send to Zagor :) :-) i move the sit() (enable interrupts) just after sending "Ok WORKING!" oops, sti () tabs = 2 spaces Alan, I have to go now. I will look into your stuff ASAP. CU! ok i must also to go :) <-- linus has quit ("Leaving") bye all ! <-- alkorr has quit () lcd_string() works again, time to stop for today <-- wavey (~wavey@dlan1431.dircon.co.uk) has left #rockbox **** ENDING LOGGING AT Tue Mar 26 16:43:52 2002