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

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

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

#rockbox log for 2004-04-17

00:08:19 Join c0utta [0] (
00:18:21 Join midk [0] (
00:27:00 Quit scott666 ("i'll be back...eventually...")
00:31:47 Quit c0utta{afk} (Read error: 110 (Connection timed out))
00:31:49 Nick c0utta is now known as c0utta{afk} (
00:35:30 Quit midk ()
00:58:16 Quit AciD (Read error: 104 (Connection reset by peer))
00:58:16 Quit Nibbler (Read error: 54 (Connection reset by peer))
01:26:08 Join track [0] (
01:36:09amiconnSomebody with a player in here who is willing to test something?
01:36:17 Join Galik [0] (~galik@
01:36:31lImbussorry, recorder
01:36:57 Quit Galik (Client Quit)
01:37:08amiconnYes, me too, that's why I ask for a player. This is nothing that can be tested on the sim. (lcd code)
01:37:29 Quit track ("leafChat IRC client:")
01:40:15 Quit mecraw__ ("Trillian (")
01:50:43***Saving seen data "./dancer.seen"
01:57:36 Join mecraw__ [0] (~mecraw@
02:00:09 Part amiconn
02:01:42 Join [xLE]Aaron [0] (
02:03:43[xLE]Aarondo you guys deal with any of the newer archos stuff? (av300, etc)
02:04:33lImbusI am an absolute noob, but as far as I know, there have been researches ongoing for gemini
02:05:11lImbusfurthermore, a "NEO" from a complete other manufacturer is supported, or beeing supported
02:07:16[xLE]Aaronreally all I want is a device that can run wince and use winamp as its shell and display milkdrop on the lcd. is that too much to ask? :)
02:07:34[xLE]Aaronalso wireless access.
02:08:00lImbusehhh. is there a winamp for winCE ?
02:08:02[xLE]Aaronthe new archos stuff seems like the most likely candidate for hacking, but I've just started researching things so I really have no idea.
02:09:03[xLE]AaronI think there's a build for pocketpc.
02:09:34lImbusimho an existing rocbox on an archos jukebox recorder is more than winamp on CE. it even has display-plugins ;-)
02:10:56[xLE]AaronI've only just now discovered rockbox, so you're probably right. might be easier to port milkdrop to rockbox.
02:13:15lImbuswell, if you really need that as addition to your drugs ;-)
02:14:14 Quit mecraw__ ("Trillian (")
02:15:31lImbusbtw: you'd still need a winCE-edition of milkdrop. afaik winCE has a slighty modified Direct3D engine
02:19:28[xLE]Aaronfrom the nodo list: 13. Graphic frequency (spectrum) analyzer!
02:19:28[xLE]AaronWe can't access the audio waveform from the MP3 decoder so we can't analyze it. Even if we had access to it, the CPU would probably be too slow to perform the analysis anyway.
02:21:15lImbusjup. it was a little trick when I said it even had display-plugins. there are two plugins (oscilloscope and vu-meter) that do what you'd expect redaing the name.
02:21:22lImbus*reading the name.
02:22:57 Quit solaris (Read error: 54 (Connection reset by peer))
02:30:37[xLE]Aaronsounds like the av500 might be using QTopia (linux) which might make it hacktastic.
02:30:56[xLE]AaronI think that might be what the sharp zarus was using.
02:31:12lImbuswhere does it sound like that ?
02:32:51[xLE]Aaronoops.. just closed the window. hold on
02:37:00lImbusWARG !
02:37:12lImbusdoesn't look that bad, but too expensive
02:40:47 Join Nibbler [0] (
02:43:02 Join midk [0] (
02:46:57lImbusgotta go, gn
02:47:18 Quit lImbus (" HydraIRC -> <- The dawn of a new age")
02:48:17 Join top_bloke [0] (
02:48:54midkyo tops
02:49:08top_blokeyo dawg
02:51:46midksaw the update?
02:52:12top_blokeof what
02:52:32top_bloketheres an update?
02:53:04midkpatches PAGE
02:53:18midkunder plugins?
02:53:46top_blokeclock update
02:54:15top_blokeis it this one clock.cAmerican and European date formats (and a bugfix) ?
02:55:35top_blokeno thats like 2003/12/8
02:58:07 Join AciD [0] (
02:58:15midkthats it yo
02:58:39top_blokei gotta compile?
02:59:31top_blokesh-elf-objcopy -O binary /home/rockbox/make/clock.elf /home/rockbox/make/clock.
02:59:32top_blokemake[2]: *** No rule to make target `old', needed by `all'. Stop.
03:00:27top_blokei brb
03:02:36 Quit [xLE]Aaron ()
03:08:13 Join adi|home [0] (~adi|
03:11:04 Join diddystar5 [0] (
03:12:43top_blokeok back
03:12:47top_blokenow whats up with that
03:13:03midktry the one that's "fixed about 80 errors"
03:13:03 Quit BC|coding ("Trillian (")
03:13:16top_bloketo compile it?
03:13:22midkOH NO TO UM LICK IT
03:13:30top_bloke80 errors thats a lot
03:13:51midkjust do it yo
03:14:10top_blokesame thing
03:14:27midkum then it's your cygwin
03:14:41top_blokethat sucks
03:15:10midkdelete the contents of c:\cygwin
03:15:18midkand get this
03:16:43top_blokeu crazy
03:16:56top_blokei cant delete cygwin
03:17:06midkwhy noy
03:17:20top_blokecause i barely got it to work as it is
03:17:27top_blokei cant touch it
03:17:31midkdelete it
03:17:33midkget the thing
03:17:34midktrust me
03:17:40top_blokehow big is it?
03:17:45midknothing else needed
03:18:14top_blokeu dont need tools and crap
03:18:22midkneed nothing
03:18:28midkit can make tools and sim
03:18:41midkmakes the tools itself
03:18:41top_blokeand it works for u?
03:19:29top_blokei *tried* downloading some cygwin componenets to make a sim but didnt work
03:19:37midkthis will do it all
03:25:16diddystar5top_bloke, its easy
03:25:24diddystar5top_bloke, on 56k?
03:25:29midkheh i'm sure he doesn't understrand that
03:26:05top_blokei'm on 56k
03:26:08diddystar5ok top_bloke, can you give me a list of packages you have, so i can help you out
03:26:23midkheh all you need is the sdk
03:26:29top_blokeif i can find them
03:26:46top_blokelemme search
03:27:13diddystar5midk, the sdk stinks
03:27:19midkdids: why?
03:27:31midkjust cos you think it's better to go the long way around?
03:28:19top_blokei have 01/09/2004 07:15 p <DIR> ash
03:28:20top_bloke01/09/2004 07:15 p <DIR> base-files
03:28:20top_bloke01/09/2004 07:16 p <DIR> base-passwd
03:28:20DBUGEnqueued KICK top_bloke
03:28:20top_bloke01/09/2004 07:16 p <DIR> bash
03:28:20top_bloke01/09/2004 07:23 p <DIR> gcc
03:28:20***Alert Mode level 1
03:28:20top_bloke01/09/2004 10:23 p <DIR> gcc-mingw
03:28:22top_bloke01/09/2004 10:27 p <DIR> mingw-runtime
03:28:24top_bloke01/09/2004 10:31 p <DIR> w32api
03:29:09diddystar5ok gimme a sec to see what else you need
03:29:10top_blokealso binutils,libiconv and texinfo
03:29:27top_blokei dont think i installed them right though
03:37:44diddystar5do you have fileutils?
03:38:01top_blokenot that i know of
03:38:21***Alert Mode OFF
03:40:24diddystar5you will need that
03:40:59top_blokeand thats it?
03:41:18diddystar5otherwise, i cant help you, you may try to go to a univercity, or a library that has usb, or cd burners and get a full cygwin
03:41:27diddystar5im not sure, it may fix that
03:41:33diddystar5do you have a compile log?
03:41:37midkor maybe you can shut up while he does it the simpler way?
03:41:40diddystar5(so i can see better)
03:41:45midk*calming down
03:41:53top_blokefull cygwin is huge righ
03:42:05diddystar5about 350 mb for the full one
03:42:09 Quit AciD (Read error: 104 (Connection reset by peer))
03:42:49top_blokewell i guess i'll try mid's way
03:42:55diddystar5if you have your archos, just plug it in and store it on there, when cygwin setup runs, tell it to download, and tell it on your archos or wherever
03:43:17diddystar5just make sure you have those setup.log and setup.log.full files wherever you save everything
03:45:28diddystar5it will screw up if you dont when you go to install your downloaded files
03:45:38diddystar5(i have done that)
03:50:46***Saving seen data "./dancer.seen"
04:00:40 Quit Nibbler (Read error: 54 (Connection reset by peer))
04:16:12 Join ILuvit [0] (
04:33:29 Join scott666 [0] (
04:35:20 Quit top_bloke (Read error: 54 (Connection reset by peer))
04:43:53diddystar5i have to go
04:44:02diddystar5bye dude
04:45:33 Quit diddystar5 ("Leaving")
05:05:49 Join Strath [0] (
05:22:10 Quit ILuvit ()
05:44:48 Join BC|coding [0] (
05:45:45 Join Nibbler [0] (
05:50:47***Saving seen data "./dancer.seen"
06:04:17midkBC yay
06:04:28midkwow yay
06:04:31midkoyahh oyahh
06:13:33 Join AciD [0] (
06:53:00 Quit Nibbler (Read error: 104 (Connection reset by peer))
06:59:58 Quit Strath ("ChatZilla 0.9.61 [Mozilla rv:1.7b/20040316]")
07:08:38 Quit AciD (Remote closed the connection)
07:50:48***Saving seen data "./dancer.seen"
08:27:07 Join Nibbler [0] (
08:27:27 Join methangas [0] (
08:28:29 Join amiconn [0] (
08:54:56 Quit Nibbler (Read error: 104 (Connection reset by peer))
09:01:49 Join Ralle[DK] [0] (
09:07:50midkyo yo yo
09:07:58midkgod tired
09:08:04BC|codingyou still awake?
09:08:19BC|codingnot sleep typing then?
09:08:33midkheh since you last talked to me i've been solely in photoshop
09:08:40BC|codinganything fun?
09:08:44midkno sleep tyyyyyyyyyyawnnnnnping
09:09:00midkheh my um.. tall building fallapart
09:09:07midktrying to finish it up
09:09:23BC|codingthought you might have been designing new decks of cards
09:09:32midkheh nopesors
09:09:38midki'm not ALLOWED remember
09:09:47midklol jk, um not really sure what needs to be done
09:09:58BC|codingfair enough
09:11:24midkmy pic is soooooo important
09:11:28midkare you coding bc?
09:11:51midkbeen coding this whole time?
09:12:23midkcoding cardS?
09:12:40BC|codingoh yess
09:12:47midkheh really?
09:14:05Ralle[DK]any1 know a lot about flashing?
09:14:12midki do i do
09:14:15midkpick me yay
09:14:26midk*shakes hand energetically
09:14:38BC|codingwassup dude?
09:14:40Ralle[DK]when i've flashed with the _rec file... how do i then start up in the old flash?
09:14:50Ralle[DK]the archos flash
09:14:52BC|codinghold f1 when you power up
09:15:00Ralle[DK]1 more thing
09:15:03midkbc you'r eCHEAP
09:15:06Ralle[DK]when i update with ucl files
09:15:09midklet me answer this one
09:15:20Ralle[DK]what do i then do if an error occures?
09:15:32midkboot with f1
09:15:33Ralle[DK]if i turn off it dies?
09:15:37midkload up a new build and plugins
09:15:45midkrockbox will run from the ajbrec.ajz instead
09:15:46BC|codingi'm hazy on this as I don't have flash myself
09:15:47midkand you can reflash
09:15:55midki have flash pick me pick MEEE
09:16:04Ralle[DK]when i use firmware_flash is there then a risk for killing archos?
09:16:07BC|codingbut as I recall only the dirst flash does the WHOLE ROM
09:16:13midkRalle[DK]: yes
09:16:16midka small one though
09:16:18BC|codingfurther flashes just flashes the archos chunk
09:16:20midkvery smal
09:16:23Ralle[DK]i did it yesterday and it works
09:16:30Ralle[DK]can i ask you something?
09:16:36midkyou use rockbox_flash for the UCLs
09:16:39midkor just play them.
09:16:40Ralle[DK]why are you doing this?
09:16:41BC|codinghowever, you can test you code before flashing simply by running it as a real-time update
09:16:51Ralle[DK]creating such a good firmware with no moneys
09:17:01midkpoints at bc
09:17:06midkfun true
09:17:22Ralle[DK]i think i would have give 10 $ because its VERY VERY GOOD!
09:17:38Ralle[DK]im a child so i aint got that many money
09:17:44BC|codingthere are places you can donate if you feel so inclined
09:17:52Ralle[DK]hmm naah
09:18:15Ralle[DK]what do i do if i wanna add a search system to my archos?
09:18:27BC|codingcode it in c
09:18:29midki think there's a patch for it
09:18:30midkor code it yo
09:18:34midki mean yeah what bc said
09:18:56Ralle[DK]is it safe to delete ajbrec.ajz when flash is over?
09:19:34Ralle[DK]is it?
09:19:52Ralle[DK]that patck
09:19:54midknice job bx
09:20:04Ralle[DK]i need that patch
09:20:46midkum it's at the patches page if it exists:
09:21:27BC|codingARGH -;ve kiiled my compile! F&*&
09:21:30Ralle[DK]omg i love you guys :D
09:21:37midkheh bc what's wrong yo
09:21:50midkit broke?
09:22:13Ralle[DK]what is wps files?
09:22:25BC|codingwhile playing screen
09:22:44BC|codingrtfm :P
09:22:44midkMID TO TEH RESKUE
09:22:48Ralle[DK]i cant make the video program thing to work
09:22:52midkthe FM is right up there
09:23:01midkheh calm down
09:23:09midkbye bc
09:23:12midksleep good
09:23:16midkdont break the compile
09:23:22BC|codingno leaving - going to fix my code
09:23:29BC|coding<−−−− look at name :)
09:23:39midkstill here if i need you right
09:23:42midkif i need you i'll go
09:23:47midk<clears throat>
09:23:51midkBC BC BC!!!!!
09:23:55midkhow's taht
09:24:21midklinks busted
09:24:23Ralle[DK]if i play a ucl file like the search thing... does it then overwrite somethnig?
09:24:29midkhere it is
09:24:40midkthe ucl overwrites the flash
09:24:43midkthe rockbox portion
09:24:50Ralle[DK]ye but
09:25:13Ralle[DK]what do i do with this file? search[1].tar.bz2
09:25:24Ralle[DK]i cant open it
09:25:30midkyou de-bzip and de-tar it
09:25:42midkdo you have a dev environment setup
09:25:46Ralle[DK]is that a program like zip?
09:26:26Ralle[DK]can you unzip it and set it?
09:27:14midkif you haven't got a dev enviroment you probably can't use it
09:27:23Ralle[DK]what is that?
09:27:52Ralle[DK]is it a programming program?
09:28:06midkwhat you use to compile rockbox
09:28:20scott666midk: have you used BC's installer?
09:28:23Ralle[DK]i got descramble and uclpack
09:28:29midkwhat installer where
09:28:32midkthe dev sdk one?
09:28:38Ralle[DK]i just download it from web
09:28:55midksorry talking to scott
09:29:02midkum a rather complicated setup
09:29:14midkscott: the beta one right?
09:29:24scott666it still mostly works though
09:29:24midki use it
09:29:30midki thought it was someone else's
09:29:32midkoh well
09:29:34midkwhoever made it yay
09:30:14BC|codingthe latest devkit is not online
09:30:32midkthat oneworks yo
09:31:07Ralle[DK]hey i downloadet the first search thing it was zipped in gz and tar and i can open it.... what do i do with the patch files?
09:31:28midkyou have to merge them with the source and compile them
09:32:02 Join amiconn_ [0] (
09:32:07Ralle[DK]i cant do that sorry
09:32:14Ralle[DK]can you do it for me?
09:32:28midkwhich one
09:32:44Ralle[DK]just add search system to a file ill send you okay?
09:33:05Ralle[DK]wait you need the binaries or what its called right?
09:33:10Ralle[DK]i mean open source
09:33:45midklet me see
09:34:42Ralle[DK]but what do i do if i want to update the archos?
09:34:51midkupdate it?
09:34:56Ralle[DK]with a new version
09:35:08midkno easy way
09:35:16midkit's broken anyhow i think
09:35:23midki tried it once, it didn't work for me
09:35:41Ralle[DK]but do you have it on your archos?
09:35:51midki used to a year ago or so
09:36:37Ralle[DK]but if i know how do do it all could i then make it work with my archos?
09:36:54midkdidn't really work for me, so hard to say
09:37:12Ralle[DK]then i dont think i wanna do it...
09:37:40midkhopefully a better one is in the works
09:37:46 Quit amiconn (Nick collision from services.)
09:37:46 Nick amiconn_ is now known as amiconn (
09:38:35Ralle[DK]i will go now
09:38:40Ralle[DK]thanks for your time
09:38:43 Part Ralle[DK]
09:40:18midkum bye
09:41:26BC|codingoh damn I missed him -poo :(
09:41:35BC|codingmoving swiftly on...
09:41:51BC|codingI found my nasty bug
09:41:57BC|codingso Im happy again
09:42:47BC|codingconverted the cards into something closer to a framework
09:43:02midkare you utilizing the open source?
09:43:12BC|codingI reckon I will get solitaire in under 6 screens of code
09:43:21BC|codingthere's an open one?
09:43:39BC|codingsolitaire is a lot more complicated than it first seems
09:43:39midko yah
09:43:54midki could code it in about a minute
09:45:05midkcards suck
09:45:12midkdoes it work on target yet or no?
09:45:47BC|codinghas done for a coupe of days
09:50:49***Saving seen data "./dancer.seen"
09:53:07 Quit BC|coding (Excess Flood)
09:54:02 Join BC|coding [0] (
10:08:08amiconnIirc, last time you wanted to ask me something about grayscale.
10:08:33BC|codingyeah - I'm kinda heads into a bunch of code right now though :(
10:09:00amiconnOk then.
10:09:12BC|codingthanks though maybe later :)
10:09:29amiconnSomeone in here with a player who is willing to do a quick test?
10:09:49midki mean
10:09:52midkwhatever could it be
10:10:15amiconnmodified lcd code - saves space.
10:11:11amiconnIt works on the recorders, but since I don't own a player I can't test the player build
10:13:15scott666use the sim?
10:13:43amiconnThe low level lcd code can't be tested on the sim, because it's not used there :(
10:14:08 Join Ralle[DK] [0] (
10:15:39scott666ahh, right
10:16:52amiconnThere was quite some space waste in the lcd code. The lcd_write_data() function, although defined for the player, was never used on it.
10:16:55Ralle[DK]i just addet 4x2300 batteries to my archos
10:17:16scott666hood for you
10:17:25midkscott calm down now
10:17:26amiconnVice versa, the data-writing part of lcd_write() wasn't used on the recorder.
10:17:38BC|codingwell spotted ami
10:18:34amiconnSo I unified that to use lcd_write_data() for data on player & recorder, and turned lcd_write() into lcd_write_command().
10:19:54BC|codingthis code is annoying me now - ami....
10:19:57amiconnBefore I do some more tweaking on the asm code, I'd like to know if my changes basically works on the player.
10:20:01 Nick BC|coding is now known as BC (
10:21:08BCthis is only cos Im too damn lazy toread the source...
10:21:53BCThe way my code is working atm it does a COMPLETE screen redraw pretty mcuch every time ANYTHING happans
10:22:21BCbut that delay will be a killer in greyscale
10:22:32BChow do you fancy implementing a double buffer?
10:23:13BCor better still Z buffering
10:23:22CtcpIgnored 2 channel CTCP requests in 12 hours and 18 minutes at the last flood
10:23:22*midk kisses photoshop pic
10:23:26midkIT'S PERFECT
10:24:42Ralle[DK]why cant i download the recorder simulator for windows?
10:24:44Ralle[DK]why cant i download the recorder simulator for windows?
10:24:47amiconnWhat do you mean with "complete redraw"? Are you talking about issuing lcd_update() every time, or is the whole screen content changed?
10:25:44BCthe screen is redrawn - but not much will have changed
10:26:34amiconnThen it is np, since you don't need (and in fact must not call!) lcd_update() for grayscale. The grayscale display is automagically updated with every drawing operation due to the way grayscale works.
10:27:04BC"must not call"?
10:27:20BCwhat if only half the screen is greyscale - how do i update the other haldf?
10:27:20midkawho wants to see mids perfect picc
10:28:21amiconnYes, you must not call lcd_update() while the grayscale overlay is running, because the lcd is driven with an interrupt routine then.
10:28:36 Join Nibbler [0] (
10:29:05amiconnIf you would call lcd_update() and the interrupt routine kicks in while the update is only halfway through, the lcd controller would get confused.
10:29:08midkfine then
10:29:41BCcan you mutex with lcd_update?
10:30:27BCyour demo appeared to be half and half
10:30:45midkwhoever wants to see the pic come to #midk-art yay
10:30:52midki have to release it to all at the same time
10:31:14amiconnSo I have implemented a safe replacement that sets a flag and does the update of outside parts from within the interrupt routine.
10:31:16BCmk: post the url
10:31:27midkboo ok
10:32:03Ralle[DK]what is the best program for irc????
10:32:20amiconnBC: excerpt of my comment to gray_show_display():
10:32:29amiconn* DO NOT call lcd_update() or any other api function that directly accesses
10:32:29amiconn* the lcd while the grayscale overlay is running! If you need to do
10:32:29amiconn* lcd_update() to update something outside the grayscale overlay area, use
10:32:29DBUGEnqueued KICK amiconn
10:32:29amiconn* gray_deferred_update() instead.
10:32:30***Alert Mode level 1
10:32:30amiconn* Other functions to avoid are:
10:32:32amiconn* lcd_blit() (obviously), lcd_update_rect(), lcd_set_contrast(),
10:32:34amiconn* lcd_set_invert_display(), lcd_set_flip(), lcd_roll()
10:33:28BCis that the comprehensive list?
10:33:48midk original
10:33:49BCok, so, lcd_update is redundant rather than unusable
10:33:53amiconnYup. other lcd_xxx() functions are safe.
10:33:59Ralle[DK]what program do you use for irc?
10:34:02 Quit methangas (" HydraIRC -> <- Get hot chicks here!")
10:34:28midk mid's!
10:34:41Nibblermirc rocks for irc (windows)
10:34:48BCmk: cool
10:34:59BCmirc is overkill for most
10:35:39Nibblermirc maybe overkill - but its no big package and has no mem/cpu consumption....
10:36:19Nibblerim gone :-)
10:38:34 Nick Ralle[DK] is now known as Rallie (
10:40:01 Join Ralle[DK] [0] (
10:40:44amiconnBC. I really encourage you to read the comments in the grayscale framework.
10:40:58 Part Ralle[DK]
10:41:21amiconnAlthoguh it should be relatively straighforward to use, there may be some pitfalls.
10:42:31BCyes, I'm just trying to think ahead without distracting my brain from my own source code
10:42:32***Alert Mode OFF
10:42:47amiconnFor instance, the lcd_xxxrect() functions expect coordinates in (x, y, width, height) format, while gray_xxxrect() expects them as (x1, y1, x2, y2).
10:42:49BCon framework in memory at a time :)
10:43:13BCWHY why why
10:43:26 Join Ralle[DK] [0] (
10:43:27 Part Ralle[DK]
10:44:01BCthe api's were designed to clash?
10:44:35amiconnBecause this way the bound check can be done faster, and imo it is the more straightforward implementation.
10:45:32 Join track_ [0] (
10:46:11amiconnOf course it can be changed, but you still have to have a look at the parameters, since there is at least one additional parameter to give the brightness.
10:46:28BCtagged on the end?
10:46:51BCwhat about my original question?
10:47:31 Quit track_ (Client Quit)
10:47:36amiconnAbout double-buffering?
10:48:17midkoff and nite all
10:48:23BCnitey dude
10:48:25amiconnNite midk
10:48:38 Quit midk ("chex out my pix yo")
10:48:50 Join Ralle[DK] [0] (
10:49:04amiconnBC: Imo double buffering cannot be implemeted for several reasons
10:49:59amiconn(1) The plugin buffer is very tight (at least as long as you don't use the mp3 buffer) to even fit one set of bitplanes for grayscale.
10:50:32BCthe plugin could offer up it's space for as many Z planes as it wanted
10:51:54amiconn(2) The frames generated from the bitplanes are inter-dependent (that's how grayscale works!), so flipping to another set would very likely look bad.
10:53:10BCokay then
10:53:24BCi shall rethink my thunks
10:54:18BCI feel the desire for a grey_update
10:54:48amiconnTo (1). If you want 33 shades, there are 32 bitplane which take up 28,852 bytes for fullscreen, so there is no room for a second set.
10:54:58BCwrite to a BYTE based (not bit based) buffer - then it can OR and XOR them together on ussue of an update()
10:55:27BC16 greyscales will be plenty more than we can use imho
10:55:46BCother than image display
10:56:01BCwhere does the 28K come from?
10:57:03amiconnByte-based buffer: this would have to re-generate all bitmaps from that buffer when you call the hypothetic gray_update() - this would take ~ 0.8 seconds!
10:57:56BCbut if you hold the current display as a reference you onnly need update the bits that change
10:58:36amiconn28K: LCD_WIDTH * (LCD_HEIGHT/8) * number_of_bitplanes + some more bytes for precalculated bit patterns etc.
10:58:56BCwhat memory space does it occupy
10:59:23amiconnbc: whatever memory you give it, read the comment for gray_get_buffer()
10:59:29 Quit scott666 ("i'll be back...eventually...")
10:59:39BCat 896bytes per Z plane I could afford a few :)
10:59:54BC...and animation is mine :)
11:00:20amiconnNo, you need n * 896 bytes with n = (number of grayscales - 1)
11:00:42BCno you only need that for what is actually being displayed
11:01:17BCan image TO BE displayed would be 64*112 /8 bytes -each holding a greyscale value
11:02:08BCwhen you grey_update() you OR all the planes together - then & it with the old byte-buffer and plot the changes?
11:02:10amiconnThis would take 64*112 _bytes_ - you cannot fit a grey value into a _bit_, can you?
11:02:26BCoh shit!
11:03:07BCat 16 grey scales you only need 3.5K
11:03:52amiconnBtw, I already tried your idea to only update changed bits - this speeds it up by a whopping 14% (sic!) if there are no changed bits, but slows down by 6 % when all bits are changed.
11:04:13amiconnIf use use 3.5 K for 16 grayscalkes then your buffer is not byte based.
11:04:15BCi would pay that price
11:04:26BCno, i stepped down to nybbles
11:05:00BCoh hang on - 14% of 0.8 seconds?
11:05:42amiconnyes, down to ~0.7 seconds then.
11:05:46BCWhen I've finished this code - I'll see what I can actually do
11:05:52amiconnThe problem is that your gray_update() idea still has to set every pixel separately.
11:06:05BCwhat if *I* plot only changed pixels?
11:07:04amiconnOf course you could do that, but I expect slowdown if the display has changed a lot.
11:07:28BCbut change will be kept to the absolute minimum this way
11:08:23BCand of course some of the work will be being done in the plugin interrupt
11:08:36amiconnI still don't get why you would do that in the first place. If you simply draw with the gray_xxx() functions, you change exactly the same amount of pixels.
11:09:01BChow else do you overlay sprites?
11:10:39amiconnHmm, I did not think of using sprites until now. Perhaps I could implement a sprite function.
11:11:05BCI have quite a collectin of them
11:11:52amiconnThis would work similar to the bitmap function, with the addition that you would have to give a memory buffer where the original display content would be stored.
11:12:17BCat 3.5K per layer
11:12:30BC+3.5K for the "current" image
11:13:09amiconnI thought of using a memory buffer just as large as to hold the part of the display that is changed by the sprite.
11:13:45BCyes, you could implement sprites that way too - that would be even better
11:14:26BC0=white, 15=black, 1=transparent
11:14:58BCthen add sprite collision algorithms would be simple and faster this way too
11:15:03amiconnThere is a simple way if you want something like a cursor: Just invert a rectangle. If you invert again, it's gone.
11:15:19BCindeed - othelo
11:15:49BCwhat if you want to know if the two blokes have touched each other?
11:17:00amiconnThat is not part of my framework. The framework just tries to resemble the lcd_xxx() drawing functions for grayscale.
11:17:14BCfair enough
11:17:36BCjust seemed like it would be "up your street"
11:18:02amiconnBut in fact, I already thought of having something like a sprite function (though without collision detection ;-)) because I may need that for minesweeper.
11:18:34BCnick the othelo code
11:18:46amiconn(If I don't use my simple "invert cursor" idea)
11:21:18amiconnFrom another point of view, you can see my idea to implement sprites by storing away overlaid data in a dynamic buffer as some sort of "windows"
11:21:44amiconnThis would in fact also be useful for the rockbox core, at least in b & w
11:23:19BCbut pointless to implement it in b&w now
11:24:32 Quit Rallie ()
11:25:16amiconnConcerning the speed of grayscale: It depends (roughly) linear on the number of grayscales, so 16 grayscales are (almost) twice as fast as the maximum of 33.
11:26:06BChow many greys do you think a game would need?
11:26:28BCthe thing is, if you go below 16, the math becomes horrible
11:26:52amiconn8 to 16 (imo).
11:27:13amiconnWhat's the problem with the math?
11:27:45BCgetting a nibble must be more efficient than finding a triplet?
11:28:52amiconnIf you really want double buffering of course you have to do that.
11:29:23amiconnBut there is nothing that prevents you from using 4 bits even if there are only 8 grayscales.
11:30:07amiconn(only that it is a slight waste of space.)
11:30:22BCmemory -vs- speed ...the age old debate
11:32:04amiconnUsing my framework you are not restricted to use a number of grayscales that is a power of 2, you can use any number from 2 to 33.
11:32:31BCi know
11:33:17BCI think you are right - these ideas are perhaps misplaced in the grey_ stuff
11:35:03amiconnAs long as it is not placed in the grey... Nevertheless this is a good idea - to create another framework that does double buffering and sprite stuff for use in games.
11:35:40BClove to see some decent platformers - and they're not that hard to write really
11:37:01amiconnYes, platform games could be possible.
11:37:38BCwith realtime mixed audio mono :(
11:37:59amiconnBut imo it is not possible to do realtime 3D. There is simply not enough power even if you use double buffering, since with 3D almost every pixel changes evrytime.
11:38:46BCremember the old DOOM window size option - lol
11:39:11BCsaw doom on a spectrum once!
11:40:31amiconnIf you want to play Doom in an 24 x 40 pixel "window" with 16 grayscales (quick estimation), then it may work.
11:40:45BCyou might be about right ;)
11:41:19amiconnThe above figures should deliver just above 30 fps...
11:41:44BCI'd be happy with 22 (67/3) I think
11:42:21BCplus you have a black ceiling - so that's a bunch of stationary dots
11:45:00amiconnIf you ever tried video, you know that the lcd is not the fastest, so you get a lot of motion blur. It is by far worse that state-of-the-art TFT monitors, which are even considered unsuited by hardcore gamers...
11:45:46BCbut as you know - it's not about getting gamers to buy obselete kit - its about proving it can be done
11:47:07amiconnMy point is that perhaps 17 fps or even 14 fps would be sufficient.
11:50:50***Saving seen data "./dancer.seen"
11:51:58BCgotta cook brekfast my beloved now :)
11:52:33BCthanks for chatting all that through with me - I do appreciate you time and also the effort you have put in - i also promise I will read the source thoroughly before I actually use it :)
11:52:59 Nick BC is now known as BC|bbl (
11:53:07amiconnNp, and thanks for your ideas as well.
12:46:25 Join dwihno [0] (~dw@
13:18:45 Nick c0utta{afk} is now known as c0utta (
13:50:52***No seen item changed, no save performed.
13:54:45 Join AciD [0] (
13:54:45 Quit Nibbler (Read error: 104 (Connection reset by peer))
15:00:13 Quit c0utta (" Like's GUI? Then try HydraIRC -> <-")
15:28:08 Join Nibbler [0] (
15:30:26 Part amiconn
15:50:54***Saving seen data "./dancer.seen"
15:57:20 Join gon [0] (
15:57:38 Quit gon (Client Quit)
16:03:08 Quit MT (Read error: 60 (Operation timed out))
16:15:47 Join c0utta [0] (
16:17:09 Join brainlock [0] (~geshtolt@
16:17:41Ralle[DK]does any1 what your own selfcreated archos firmware?
16:19:53 Nick BC|bbl is now known as BC|busy (
16:31:30brainlockthere are no differences between the JBR20 and JBR6 for hard drive upgrades right?
16:31:53BC|busyphysically or electronically?
16:32:46brainlockboth... my friends jbr20 (w/ firmware 1.28) had his hard drive die... so i'm going to upgrade my jbr20 (firm 1.26) and then give him my old 20gig drive
16:33:11brainlockand i'm looking at the tut's for jbr6's cuz that's all i can find..
16:33:20brainlockjust wanted to make sure i'd be okay...
16:33:28BC|busyphsycially I guess the scews will all be in different places etc - electronically - just put a new hdd in it :)
16:33:44brainlockcool... that's what i wanted... thanks BC|busy
16:33:52BC|busywelcome ;)
16:34:23brainlocki've found the 2 tut's on rockbox's website... those should get me through it with no problems right? i'm reading them now.
16:36:21BC|busyother than the screws (etc) it is as easy as swapping a PC hdd - sadly I've never done it myself and although I have read everything at some point - I would not like to comment on how complete they are - I suppose logic dictates that if there were any errors someone would have shouted a long time ago :)
16:37:06brainlocki just finished a complete xbox mod.. with chip and drive... and i guess i'm just expecting things to be alot more complicated ...
16:37:16brainlocklooking at it.. i can't believe how simple it is :)
16:37:26brainlocknow i just have to find a driive i know will fit
16:44:00BC|busyif you just chipped an xbox, this will take you 45mins tops
17:25:52 Quit Nibbler (Read error: 104 (Connection reset by peer))
17:42:22 Quit Ralle[DK] (Read error: 54 (Connection reset by peer))
17:50:55***Saving seen data "./dancer.seen"
17:51:23 Part BC|busy
18:06:34 Quit AciD (Read error: 54 (Connection reset by peer))
18:36:03 Join top_bloke [0] (
18:54:16 Quit brainlock (Read error: 110 (Connection timed out))
19:10:28 Join Nibbler [0] (
19:45:11 Join silencer [0] (
19:45:20 Quit silencer (Client Quit)
19:45:55 Join silencer [0] (
19:51:00***Saving seen data "./dancer.seen"
20:03:03 Join scott666 [0] (
20:06:24 Join AciD` [0] (
20:28:35 Join MT [0] (mt@
21:26:52 Quit AciD` (Connection timed out)
21:30:59 Join facted [0] (
21:50:34 Quit top_bloke ("The mind is a terrible thing to taste. Wasted 1 hour 6 minutes and 33 seconds online.")
21:51:02***Saving seen data "./dancer.seen"
21:53:01 Join telliott [0] (
21:54:06telliottHave you guys tried the custom build that allows insert/queue with a single button.
21:56:35 Join ILuvit [0] (
22:04:40 Part telliott
22:37:00 Quit facted ("Trillian (")
22:40:12 Join zyzxx [0] (
22:46:56 Quit zyzxx ()
23:08:40 Join AciD` [0] (
23:46:26 Join cjnr11 [0] (
23:46:31 Part cjnr11
23:51:06***Saving seen data "./dancer.seen"

Previous day | Next day