blob: bc2ce2fd1ee109e218d7328026fecc2865836db9 [file] [log] [blame]
**** BEGIN LOGGING AT Mon Mar 25 08:57:45 2002
--> Bagder (~daniel@217.215.72.110) has joined #rockbox
<Bagder> hey
--- adiamas has changed the topic to: hacking the Archos Jukebox http://bjorn.haxx.se/rockbox/
<adiamas> hey there...
<adiamas> i was about to call it a night and head to sleep
<adiamas> didn't expect anyone in this quick :)
<Bagder> hehe, its morning here ;-)
<adiamas> hehe i _just_ sent the email like 30 secs ago :)
<Bagder> yeps
<Bagder> hehe
<adiamas> glad to see someone saw it...
<adiamas> you located in europe...
<Bagder> yes
<adiamas> where in?
<Bagder> Sweden
<adiamas> hehe well.. your first in so.. here
--- adiamas gives channel operator status to Bagder
<Bagder> :-)
<adiamas> someone who's awake should have some control...
<Bagder> I'm Björn's brother actually
<adiamas> ahh... hehe seems he got followers pretty quickly.
<Bagder> indeed
<adiamas> and pretty varied at that... Im here in the USA.
* adiamas shrugs
<Bagder> there are 77 subscribers of the mailing list
<adiamas> wow, that was quick
<adiamas> only been 3-4 months yes?
<Bagder> yeah, since about december
<Bagder> BTW, I think making a FAQ sounds like a great idea
* adiamas smiles happily
<adiamas> im just not to sure on how technical to go on it, but i figure even something is a start
<adiamas> will you be sitting in the room most the day or you plan on logging off?
<Bagder> exactly, just start somewhere and it'll grow into place
<Bagder> I don't know
<adiamas> i really need sleep. work in 6 hours.
<adiamas> ok...
<adiamas> im going to idle till i get up for work
<adiamas> ill see you later
<Bagder> see ya
--> adiamas|sleeping (~adiamas@as5300-9.216-194-23-78.nyc.ny.metconnect.net) has joined #rockbox
--- adiamas gives channel operator status to adiamas|sleeping
<-- adiamas (~adiamas@as5300-9.216-194-23-78.nyc.ny.metconnect.net) has left #rockbox ("Client Exiting")
--- Bagder sets mode +t #rockbox
<adiamas|sleeping> what is mode +t?
<Bagder> prevent non-ops to set topic
<adiamas|sleeping> ahhh... k
<adiamas|sleeping> gotta learn that stuff...
* Bagder is an old IRC-bot author... :-)
<adiamas|sleeping> heheh i only started on irc about a year ago...
<Bagder> I stopped writing the bot many years ago...
<Bagder> first time on irc was 1993
<adiamas|sleeping> i was just getting into computers at that point
<adiamas|sleeping> i miss that old 1200 modem
<Bagder> :-)
<Bagder> now go to sleep! ;-)
<adiamas|sleeping> hehehe
<adiamas|sleeping> nite
--> wavey (~wavey@dlan1431.dircon.co.uk) has joined #rockbox
<wavey> anyone awake?
<Bagder> yeps
<wavey> coolio
<wavey> how you doing?
<Bagder> pretty good. You?
<wavey> yup
<wavey> you interested in coding for the archos then?
<Bagder> I am, and I intend to ;-)
<wavey> likewise..
<wavey> got the player or recorder?
<wavey> or both?
<Bagder> recorder, I'm Daniel who posted to the mailing list just an hour ago
<wavey> aha
<wavey> nice to meet you :)
<wavey> i mailed out a few qs to the list several weeks ago
<Bagder> name?
<wavey> stuart martin
<Bagder> right, I read them ;-)
<wavey> the archos is pretty funky, but flaky as shit
<wavey> mine's got a dodgy contact in the earphone socket
<wavey> probably going to resolder it
<Bagder> I just got mine, haven't really had time to do much yet ;-)
<wavey> i do love it
<wavey> but i just wish it had sony's build
<Bagder> I'll get the serial port hack soon and start coding it
<wavey> interesting to hear you got 8 cells..
<Bagder> Linus has a fully working gdb stub now
<wavey> yeah, very impressed to read that
<wavey> i know *no* electronics..
<wavey> i'm waiting for the low-level shit to be completed :)
<wavey> then i can start helping
<Bagder> hehe
<wavey> :)
<Bagder> I'm not *that* low-level myself, I start on assembler ;-) I can't do much electronics
<wavey> heh, assembler i'm happy with.
<wavey> working out which wire to cut, i'm not :)
<Bagder> I think that makes us on the same level more or less ;-)
<wavey> groovy
<wavey> the UI is going to be interesting
<Bagder> luckily we have those guys around us to work out those stuff
<wavey> i think we should maybe list the features we want and start prioritising them
<wavey> then start mocking up UI images
<Bagder> yeah
<wavey> should be fun working with small screen realestate
<Bagder> I would like to write some kind of UI simulator
<wavey> interesting.. go on
<Bagder> to enable us to work on UI stuff without having to bother with the actual hardware
<wavey> yup
<wavey> cool idea
<wavey> i guess we'll need to pre-empt the low level services available to the UI
<Bagder> I'm a Linux dude myself, so I'd go for a X-display
<wavey> me too
<wavey> although i find windoze usable too with enough cywin and emacs layers on top ;)
<Bagder> the UI stuff would be built-up with a minor set of graphics functions, and we could probably just replace those functions with a set that draws X instead
<wavey> is this channel logged?
<wavey> could be useful
<Bagder> I log it
<wavey> coolio
<Bagder> I think I have some basic X11-code that pops up a window and allows me to draw in it, which could be a start
<wavey> cool
<wavey> how long until it reads mail and displays webpages too? ;)
<Bagder> *g*
<Bagder> if we just get enough people to join in, there's nothing to stop us ;-)
<wavey> damn right :)
<wavey> the player/recorder screen diffs are a shame
<Bagder> yes indeed
<wavey> i wonder if project focus will be on the recorder
<wavey> or the player
<wavey> bjorn's initial investigations were on the player
<Bagder> yeps
<Bagder> but now he has both
<wavey> but he bought a recorder iirc
<wavey> yeah cool
<Bagder> and so does Linus
<wavey> cool
<Bagder> and Björn's player CPU is damaged ;-)
<wavey> heh
<Bagder> or should I say :-(
<wavey> how'd he damage the cpu?
<Bagder> the serial port is broken
<Bagder> it isn't normally used, so he hasn't noticed
<wavey> what timezone you in?
<wavey> i'm in london
<Bagder> Sweden, +1 from you
<wavey> you friends with linus and bjorn?
<wavey> or just coincidence?
<-- wavey (~wavey@dlan1431.dircon.co.uk) has left #rockbox
--> wavey (~wavey@dlan1431.dircon.co.uk) has joined #rockbox
<wavey> shit
<Bagder> yeah, Björn's my brother and Linus is an old time friend. We work at the same company
<wavey> aha :)
<Bagder> all three opf us
<wavey> i work as a j2ee consultant for a company with a swedish office
<wavey> we got some of them over here now cos the market in .se is pretty weak
<Bagder> yes it seems to be
<Bagder> I'm doing embedded/realtime programming as a consultant
<wavey> cool
<wavey> which processor?
<Bagder> right now, StrongARM
<wavey> cool
<wavey> i've only done 68K assembler but loved it
<Bagder> arm assembler in general is cool, it has conditionals on *all* instructions
<wavey> madness :)
<Bagder> hehe, yeah
<wavey> I moved into OO years ago, and wouldn't go back
<wavey> pure elegance
<wavey> (if you get it right) :)
<Bagder> hehe, so they say... :-)
<wavey> how far would you wanna see this simulator go?
<wavey> button presses triggering song launching/pausing etc?
<Bagder> it all comes down to much much we feel its worth
<wavey> aye
<wavey> i think perhaps the first stage might be to sketch UI ideas
<Bagder> we could probably make more or less a complete simulator, should we want and have the eneergy
<Bagder> yes
<wavey> and that means identifiying the key aspects
<wavey> and voting on inclusion
<wavey> or doing a bjorn and ignoring the votes :)
<Bagder> we can start on UI basics and ideas first, without even think code
<Bagder> hehe
<wavey> ok
<wavey> how about throwing that to the mail list
<wavey> give us your wants
<wavey> or perhaps we can envisage most of that already
<wavey> toggle m3u display/filename
<wavey> scrolling/non scrolling
<wavey> level meters
<wavey> time
<wavey> power
<wavey> mode
<wavey> vol
<wavey> button names
<wavey> eyecandy plugins
<Bagder> imho, we must focus on getting the basic stuff there first, to allow us to play songs as that would help the guys working on those parts (mp3, filesystem etc)
<wavey> of course
<wavey> but a basic UI is trivial
<wavey> just a button label
<Bagder> yes, that's true
<wavey> while they are developing that
<wavey> we can look to the medium term
<Bagder> right
<wavey> and of course, we need emacs ported to it :)
* Bagder grins
<wavey> i remember when i started coding for the gameboy advance people started talking about porting linux
<wavey> so so funny
<Bagder> feel free to post a summary to the list, could be useful
<wavey> but it always happens :)
<Bagder> yes it does
<Bagder> it'll happen here too soon :-)
<wavey> did you fill your 20GB capacity yet?
<wavey> i did mine in an hour and a half :)
<Bagder> heh, no, but I don't really use it yet either
<wavey> bought a usb 2 pci card
<Bagder> I stream mp3 from my home-box to work
<wavey> i haven't had mine from my side since i bought it in january
<Bagder> I've ordered a usb2 card too
<Bagder> I finally bought mine now since I was supposed to stop my project here and thus I wasn't sure I could still listen to my stream, but now I've got another assignment at the same palce so I can continue listening to it...
<wavey> heh
<wavey> typical
<Bagder> well, I want to code it anyway, so I guess that'll be my primary use for it ;-)
<wavey> i prefer to use the recorder despite being in front of a computer because it means i get more bandwidth..
<wavey> and i can get up and move around without killing the sound
<Bagder> :-)
* Bagder runs for more coffee
<wavey> i've always hated stopping music :)
<wavey> i'll leave the cd player running when i leave the house sometimes. stupid huh? :)
--> gizz (~gizz@ALyon-102-2-1-77.abo.wanadoo.fr) has joined #rockbox
<wavey> howdy
<gizz> heya !
<Bagder> g'day
<gizz> did I miss some hot talks ?? :)
<wavey> not really
<wavey> that's on #sex
* wavey chuckles
<gizz> hehe
<wavey> or perhaps #hotsex
<gizz> you => Juke hacker ?
<Bagder> we're wannabe archos hackers ;-)
<gizz> great!
<gizz> player or recorder ?
<gizz> => I'm a poor player owner,
* Bagder has a Recorder
<wavey> recorder also
<wavey> we've been discussing some ideas for the UI
<wavey> but nothing really worthy of capture yet
<gizz> ok
<gizz> problem is,
<gizz> to me player & recorder are very different
<wavey> yus
<wavey> shame
<Bagder> yes, we'll need to make two UIs as they'll be quite different
<gizz> but is it worth it ?
<gizz> I mean,
<gizz> does player owe to be supported ever ?
<wavey> well, if people here want to support it, it'll be supported..
<wavey> the underlying functions of the firmware will be mostly similar between the two
<gizz> right!
<Bagder> indeed, and except for display+keys, msot of the internals are the same
<wavey> need a UI strategy
<wavey> the recorder is likely to be supported better because it's cooler..
<wavey> (UI) anyway
<gizz> good point
<gizz> So,
<gizz> UI guys
<gizz> should make good design decision,
<gizz> in order for the to Juke-races to be supported, at least
<gizz> at low level,
<wavey> juke-races?
<gizz> races : sorts
<wavey> ok
<gizz> hmm, models.. :)
<wavey> understood :)
<gizz> .. but at UI level,
<gizz> they will be supported (very) differently,
<wavey> aye
<gizz> and of cours, recorder owners will be happier :)
<gizz> One thing :
<gizz> on my player, when pleying with custom chars (font)
<gizz> I tried to draw two bitmaps through thos custom chars,
<gizz> (as if custom chars datas where some sort of 'video memory')
<gizz> and then, I thought we could just modify this 'video memory' at will,
<gizz> to simulate some pixel screen
<gizz> but the result wasn't quite good (many pixels where too far from each other, due to space between chars)
<gizz> That's all... :)
<gizz> Did you try to draw some stuff on your recorder ?
<wavey> nope
<wavey> I compiled the player firmware on my box, but haven't tried a recorder one
<Bagder> I just got mine, I intend to get the gdb-stub approach working first
<gizz> ok; If recorder prices get lower, I think I'll move to it
<wavey> gizz: nice idea with the video memory
<gizz> vid mem : well, in all cases, that would produce an 14 * 55 screen :) (if I remember well)
<wavey> 14 pixels is pretty damn limiting :)
<Bagder> amen
<wavey> remind me what the recorder has?
<gizz> oh
<wavey> time to mock up some screens to get the juices flowing
<gizz> maybe 131 * 64 or better ??
<Bagder> 112x64
<gizz> cool resolution !!
<gizz> (slightly less than HP48 ;o)
<Bagder> can't wait to get some games going ;-)
<gizz> If only I had a recorder, I could try to port some
<gizz> nifty HP48 100% assembly games :o)
<Bagder> hehe
<gizz> (with scrolling, sprites, grey level, etc.. :)
<Bagder> it has sprites?
<gizz> Never played Columns II on HP48 ??
<gizz> sprites : yes !
<Bagder> gosh
<gizz> what about : Arkanoid, Skweeks,
<gizz> Xennon,
<gizz> or even : Doom, grey-level, with monsters, textures, and multiplayers ?
<gizz> (well, two players, with serial cable)
<Bagder> nah, let's aim for PPP over the USB and have full internet access ;-)
<gizz> LOL
<gizz> hey, I've got an idea : I'm gonna try the grey-level tricks tonight, just to see if it works :)à
<gizz> you at home, or at work ?
<Bagder> work
* gizz too :)
<Bagder> ssh'ed to home
<gizz> cool !
<gizz> => i'll back later then.. :)
<gizz> bye !
<Bagder> bye
<-- gizz has quit ("Leaving")
<wavey> damn
<wavey> missed the important bit
<wavey> sprites!
<wavey> lovely :)
<Bagder> yeah, that would be great ;-)
<wavey> i can imagine some nice visualisations coming out of this
<wavey> eyecandy is important :)
<Bagder> indeed it is
<wavey> 112x64
* wavey opens psp
<wavey> wow
<wavey> it's really really small :)
<wavey> this is going to be interesting
<wavey> are there character fonts built in to the recorder or is it purely bitmapped?
<Bagder> pure bitmaps, as I've understood it, but the font is stored as separate bitmaps
<Bagder> as the pics on http://bjorn.haxx.se/rockbox/notes.html shows
<wavey> ah yes
<wavey> the project went pretty quiet for a while
<wavey> forgot the basics
<Bagder> yeah, after the initial burst there has been some silence and hard work at the side
<wavey> so
<Bagder> intial, still very basic, ui-simulator seems to work
<wavey> hey nice
<Bagder> pops up window, can draw in it etc
<wavey> lovely
<wavey> is it worth trying to identify key functional areas, and see how they lead to a UI requirement?
<wavey> 1. start playing
<wavey> 2. pause playing
<wavey> 3. stop playing
<wavey> 4. increase volume
<wavey> 5 decrease volume
<wavey> are these the fundamental ones?
<wavey> playlist etc extend this
<Bagder> yes they're the basics
<Bagder> without them, there is no player
<wavey> ok, playlist operations are another
<wavey> and file operations are another
<wavey> level meters
<wavey> balance control
<wavey> timekeeping
<wavey> playlist on the recorder firmware is simple
<wavey> add to playlist
<wavey> play list
<wavey> play list randomly
<wavey> delete from list
<wavey> next in list
<wavey> back in list
<Bagder> hey, I haven't understood how the playlist works yet ;-)
<wavey> i figured :)
<wavey> hence the recap :)
<wavey> how much was your recorder?
<Bagder> I'm not sure... I had a friend order it for me
<wavey> point 1) above assumes a file can be identified from the hdd
<wavey> which kinda presupposes some file operations are needed at the start
<wavey> i.e. browse
<Bagder> right, filesystem support is essential
<wavey> shall we propose 2 main UI iterations, with the first being 1-5 above + browse filesystem
<wavey> and the 2nd being the one with the extra fluff like balance control, timekeeping etc?
<Bagder> sounds wise, yes
<wavey> do you have your recorder with you now?
<Bagder> no
<wavey> the level meters take up 1/4 of the screen!
<wavey> ridiculous
<wavey> i mean, who cares?
<Bagder> they're quite silly, I agree
<wavey> and the three timers are silly
* Bagder tries to get Björn here
--> Zagor (~bjst@labb.contactor.se) has joined #rockbox
<Bagder> there he is ;-)
<wavey> hey bjorn
<wavey> nice to meet you
<Zagor> hey there guys
<wavey> i'm sure daniel's filled you in on our discussions so far
<wavey> trying to identify a) the minimum UI
<Zagor> ah, no not really
<wavey> to enable testing of firmware code
<wavey> and b) a candidate full-featured UI
<wavey> with bells and whistles
<wavey> a) needs file browsing support, plus play/pause/stop file + volume control
<wavey> b) has playlist control, m3u display, balance control, etc
<Bagder> so Zagor, you ok with me creating a subdir in CVS and importing my initial X11 UI stuff?
<wavey> and a funky lil' gui
<Zagor> bagder: sure. maybe something called 'simulator' or similar, to clearly show it's not the "real" code
<Bagder> righ, I'll go for simulator
<wavey> i'd be more explicit
<Zagor> well, my first thought when i threw this item on Daniel was,
<wavey> from experience, naming becomes important in directory structures
<Zagor> that it'd be a good thing if we can have the basic menu system the same for the two models
<Zagor> not so much the graphic bits, more the underlying framework
<wavey> sure
<wavey> sensible
<Bagder> ok, so 'uisimulator' then ;-)
<wavey> sounds great to me
<Zagor> (note: i'm at work, so I'll be idle from now and then)
<wavey> likewise
<wavey> in london
<Bagder> ah, you guys work at work? :-]
<Zagor> sometimes :)
<Bagder> Zagor: with gaim, how the heck do I create an account?
<Zagor> hmm
<Zagor> i don't know :-)
<Zagor> didn't you have an account before?
<Bagder> me neither, it just asks for a name and password
<Bagder> I used icq ages ago, yes I had an account but only god knows which name and password I used then
<Zagor> you need to specify that you are using the 'oscar' protocol, otherwise it will try to log you on as an AIM account
<Zagor> ok
<Bagder> ah, I need to go and do it on a web page...
<wavey> i like the ascii rockbox logo, bagder
<Zagor> that'll probably be easiest, yes
<Bagder> figlet is cool ;-)
<Zagor> yeah, it's cool!
<wavey> figlet rocks :)
<Zagor> so, did you come up with some ideas about the GUI?
<wavey> some
<wavey> nothing graphical
<wavey> functional requirements
<wavey> and no real thought to the player/recorder split
<wavey> except that the player's size is very limiting
<Zagor> yes, indeed
<wavey> and i'd like to see some visualisation eyecandy
<Zagor> i nice big on-screen Archos would be cool :-)
<wavey> you mean a floating logo?
<Zagor> no i was thinking the simulated gui
<wavey> or a representation of the player itself
<Zagor> yes
<wavey> ah yes
<wavey> is the simulator going to simulate the screen or the player as a whole?
<wavey> and isn't that an emulator? ;)
<Bagder> I think we start with only the screen
<Bagder> and then we'll see if we're up to making it a complete emulator
<Zagor> yes
<wavey> i'll leave the sh1 emulation to others :)
<Zagor> hehe
<Bagder> I've imported the uisimulator code to CVS now
<wavey> gizz was talking about the chip being able to support sprites :)
<wavey> and porting games to it :)
<Zagor> hehe
<Bagder> actually, he said the HP48 had them
<Zagor> grand plans!
<wavey> my recorder is only 3 months old but i think tetris would kill the plasticy buttons on it
<wavey> bad: ah!
<wavey> that's a shame
<wavey> but not really suprising :)
<wavey> i'd be happy with no games but a firmware that didn't suck ass
<Bagder> did anyone make a C array of the fonts for the Recorder?
<Bagder> Zagor ?
<Zagor> not that i know
<Bagder> kind of boring work... :-)
<wavey> can't you extract the data from existing firmware as a linear array?
<wavey> or is that copyrighted
<wavey> i guess it is
<Bagder> yes it is
<wavey> but who could tell? :)
<Zagor> well we don't really need those exact fonts
<Zagor> there are tons of good fonts out there
<wavey> agreed
<wavey> but not at 5x7
<Zagor> maybe not tons, but a few at least
<Zagor> linus had some ideas, but he's not here right now
<wavey> excellent work he did with the gdb integration
<Zagor> yeah, very nice
<Bagder> that'll be *so* handy
<Zagor> he plans to write a program loader too, so we can select firmware at start. that'll be nice too.
<Zagor> he's a cool guy :)
<wavey> very nice
<Bagder> hahah, just don't tell him that ;-)
<Zagor> i wouldn't dream of it ;*)
<Zagor> btw, i think we should aim for proportional fonts on the recorder
<Zagor> there's too little room to waste it on blanks :)
<wavey> if we do it properly, we can have it as a user option
<Zagor> yes
<wavey> as a user, i'd rather have the entire display taken up with the song details, rather than the stupid level meters
<wavey> but hopefully we can cater to all tastes via options
<Zagor> yes. open season on level meters...
<wavey> especially ones that take up a quarter of the screen!
<Zagor> bagder, do you have code for font handling? i have written some if you need it.
<Bagder> I need it
<Bagder> I only have the XDrawString() but it isn't what we want ;-)
<Zagor> ok, i'll mail it to you
<Bagder> did anyone write code that draws stuff on the recorder?
<Zagor> yes, look on the rockbox front page
<Zagor> there's a link in the news swction
<Bagder> found it
<Bagder> he has a font table in there...
<Zagor> ah
<Bagder> this code is quite good
<Zagor> bagder: look at drawText() in the code I sent you. it's the relevant portion
<Bagder> this works with the included font, right?
<Zagor> yes
<Bagder> well, if we have a font defined, making it output proportional won't be hard
<Zagor> no
<Zagor> my point exactly :)
<Bagder> the trickiest part is probably to make it look the same on Linux ;-)
<Zagor> really? can't you just allocate a bitmap and pixel-write to it?
<Bagder> probably, I'm just not very good at those X-calls. I'll need to chase around a bit
<Zagor> chase around? well, that's what we're here for, innit? ;)
<Bagder> I'm not complaining, I'm only saying how it looks ;-)
<wavey> isn't raw X wrapped by gnome or something these days if you want to make it easier?
<Zagor> yeah
<Bagder> perhaps
<Bagder> I'm not sure it makes things easier at this point
<Bagder> we already pop up a window and we can draw in it
<wavey> true
<Bagder> besides, not using gtk or qt makes our program even more portable
<Bagder> not that it matters very much of course
<wavey> what's the main purpose of the ui simulator?
<wavey> to see how things look?
<Bagder> yes
<Bagder> if we make generic input functions we can drive it too
<Bagder> to try the feel too
<wavey> i'm not expressing myself clearly, i fear
<wavey> um
<wavey> does it give you more than mock ups would?
<wavey> does it give you any real code for the archos itself?
<Bagder> yes, it will
<Zagor> that's the idea
<wavey> ok cool
<wavey> just getting it clear
<Bagder> maybe not just now, but that's the purpose of it all
<wavey> cool
<wavey> coffee time
<wavey> bbl
<Bagder> sigh, our coke machine is empty...
<Zagor> bagder: where are you now? Neti, con?
<Bagder> neti
<Zagor> ok
<Bagder> they did buy my extra 300 hours, so I'm gonna be here for a while more...
<Zagor> ok
<Zagor> lucky you... ;-P
<Bagder> haha
<Bagder> at least I'm gonna be working entirely on linux this time
<Zagor> ok, that's nice
--- Bagder gives channel operator status to Zagor
<Bagder> gotta go
<Bagder> see ya
<Zagor> ok, bye
**** ENDING LOGGING AT Mon Mar 25 16:50:01 2002