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 2005-02-16

00:00:08DMJCrockblox is going to need a large overhaul
00:00:11HClyea, just, *some* todo, we really need that.
00:00:21DMJCneeds to be rescaled, and have the direction adjusted
00:00:30*HCl thinks of more games he'll want on his iriver
00:00:38DMJCof course if you get the tetris rom for rockboy.. heh
00:00:44HCl :P
00:00:44rasherpong should probably get upscaled
00:00:52HClpong seemed to work fine on iriver
00:00:58 Join jyp [0] (
00:01:00rasheryes, but it's a bit... tiny
00:01:02HClwhen i tried it anyways
00:01:04rasheror rather, large
00:01:06HCli guess...
00:01:11HClyea, i get what you mean
00:01:13rashera 200% zoom would be god
00:01:14DMJCthe play area was a bit large..
00:01:22HClstuff like that
00:01:24DMJCactually could breakout get ported?
00:01:26HClhas to be on a todo page
00:01:28DMJCthat game is awesome
00:01:37rasherbreakout sounds fairly straight-forward
00:01:42rashercould work on recorder as well
00:02:02 Quit sox ("Snak 4.13 IRC For Mac -")
00:02:03rasheror.. well the screen's not that high
00:02:22HClhow do you add a wiki page?
00:02:33rasherJust write the address in the url bar
00:02:44rasherand it'll say "Hi, this page does not exist, wanna create it?!"
00:02:45HCli'll make an iriververbosetodo/ideas thing.
00:02:53HCljust to list things properly.
00:02:59rashermake it a table
00:03:08rasherso people can add themself if they start something
00:03:16rasheror something
00:03:18rasherlike that
00:03:26HCli'll skip the table for now
00:03:28DMJCanyone know a good html editor for linux?
00:03:30HCltill i learn how to make it a table xD
00:03:40HClchange access denied :/
00:03:41amiconnrasher: Yes, breakout should be possible on recorder. Someone even started to implement it, but didn't manage to get the collision detection right...
00:03:42BagderDMJC: emacs
00:03:44HClcan someone make a new page...?
00:03:48rasherHCl: look at the style thing
00:03:54rasherHCl: that's odd
00:04:00HClstyle thing..
00:04:06HClfor the tables.. yea.
00:04:13Bagderif get get access denied, you need to login properly
00:04:18HCli have :/
00:04:23HCli think.
00:04:43HClmaybe windows is messing again
00:04:47HCli really should get firefox
00:04:51 Join Howman [0] (
00:05:03rasherJust stop that silly habit of entering urls into explorer :)
00:05:24rasherwell, after getting firefox of course
00:05:39 Quit XShocK (Read error: 104 (Connection reset by peer))
00:05:53HClno, i can edit fine.
00:06:04rasherI'll create the page then
00:06:25rasherwhat do we call it
00:06:44HClsomething with Todo / Ideas
00:06:48rasheririverideas ?
00:06:50HCland who's working on what
00:07:11rashermaybe we shouldn't limit it to iriver
00:07:28BagderThingsTodo perhaps
00:07:36HCljust a table with a name, a description of what needs to be done, and who's working on it
00:07:45*DMJC attempts correct posture...
00:07:51*DMJC can't feel his legs
00:08:06rasherMaybe they left
00:08:09HCl :P
00:08:17*HCl goes to check on food stuff
00:08:26DMJCdamn rounded shoulders
00:09:34 Join XShocK [0] (
00:09:47 Quit Howman (Read error: 104 (Connection reset by peer))
00:12:24HClrasher: tell me when/where you made it :x
00:13:48rashernot done yet
00:13:51HClk :)
00:16:32rasherthere's nothing there yet :)
00:17:01rasherMaybe add a category too
00:17:21Bagderjust don't let it grow into another feature-request list
00:17:24 Quit jyp ("poof!")
00:17:35rasherHrm, yes
00:17:56rasherthe wording should probably be a bit less free
00:18:33 Join bnewhouse [0] (
00:18:36rashersomething like that it's primary for developers to keep track of which features they want to work on
00:18:59rasherMaybe put a "date added" column in the table
00:18:59*bnewhouse finally gets rockbox to compile somewhat
00:19:08rasherso we can quickly weed out old ones
00:19:17HCli forgot to tick release edit lock again
00:19:45HCli added three entries.
00:19:52rashercan't you just open it, save and release it?
00:19:55HClhold on
00:19:58HCli see a typo anyways
00:20:23rasherI'll see if I can hack pong
00:20:36rasherI can't with my desktop in windows that's for sure
00:20:38*rasher reboots
00:20:45amiconnlinuxstb: Am I correct that you wrote the RockboxAudioAPIProposal wiki article?
00:20:59linuxstbamiconn: yes.
00:21:17linuxstbBut I think Bagder wrote a lot as well.
00:21:52amiconnIn fact, I think the hw codec (archos) boxes have more in common with our to-be dual buffer system for sw codec than you might think
00:21:53Bagdernope, not guilty
00:22:21linuxstbSorry, just checked the diffs, it was Bjorn.
00:22:37*rasher changes the wording on ThingsTodo
00:22:46amiconnThe proposal is to have 2 buffers, one of which buffers the compressed data read from the disk, and a second (small) one to take the uncompressed data
00:23:21linuxstbI haven't really thought about it for a while, but that's the basic idea.
00:23:55amiconnThen you need to know that there is a peculiarity with the MAS based archos boxes. The MAS is fed by the CPU via SPI, but the SPI in the SH1 spits out the bits in the reverse order from what the MAS expects
00:23:57preglowdoes the codec chip have an internal buffer?
00:23:57 Quit bnewhouse (Remote closed the connection)
00:24:02preglowthat's pretty important to know
00:24:20 Quit Aison ("( :: NoNameScript 3.72 :: )")
00:24:20linuxstbamiconn: yes, I was aware of that.
00:25:03Bagderpreglow: I believe it does, but I don't know much MAS
00:25:05amiconnlinuxstb: So on the archos, we have to bitswap all mp3 data before feeding the MAS. This is currently done on load, but I think this could be the 'codec' part in our upcoming buffer system
00:25:10rasherBagder: better wording?
00:25:27BagderI think so, yes
00:25:49amiconnThe second buffer would then contain the bitswapped data, our 'equivalent' to the pcm data for sw codec based units-
00:25:52preglowif it doesn't have its own buffer, the cpu will need to hog the final buffer a very long time before it can be reused by the decoder
00:25:57Bagderamiconn: I like that idea
00:26:02preglowwhich will be very unfortunate
00:26:22linuxstbWhen you say "on load", do you mean when it is read from disk into the buffer?
00:26:48amiconnYEs, interleaved with the load and shortly after.
00:27:11amiconnpreglow: Don't think in buffer 'chunks'. Rockbox uses a ring buffer since long...
00:27:20rasherlooks like fitting pong is just a matter of changing some defines
00:27:40amiconnlinuxstb, Bagder: There are several reasons why I suggest this.
00:27:48*rasher pets Bagder
00:27:48preglowamiconn: does this even apply to the current rockbox?
00:28:14preglowamiconn: but you're talking about the mp3 buffer, right?
00:28:28preglowi'm talking about the final pcm buffer to be sent to the codec chip
00:28:33preglowunless i misunderstand completely
00:28:39amiconnYup. But there is no reason why the pcm buffer cannot be a ring buffer as well
00:28:57preglowamiconn: of course not, it just has to be long enough
00:29:01rasherI should probably change the pong defines based on lcd size
00:29:05*rasher ponders
00:29:10Bagderrasher: yes
00:29:21preglowamiconn: that or a multiple buffer scheme will probably be the wisest
00:29:27hubble* help wanted *
00:29:28hubble =)
00:29:31amiconn(1) Currently, a number of things in rockbox is tailored to storing the mp3 data bitswapped (voice ui, video playback), because the playback-from-ram engine requires it that way
00:29:43preglowhubble: what's this?
00:29:58hubbletest of uda1380+i2c driver
00:30:08preglowso, what kind of help is wanted?
00:30:20amiconnWe certainly need to change this for the sw codec based units. So it would be nice to make the hw codec based boxes behave the same
00:30:34rasherBagder: any objections to making the defines be LCD_HEIGHT * CONSTANT ?
00:30:52amiconn(2) Storing the compressed data unswapped makes parsing easier
00:30:54Bagderrasher: nope
00:31:00hubblepreglow: 1) test if rockbox.iriver in works, 2) find out why it doesn't =)
00:31:00linuxstbI'm thinking of the "PCM buffer" as being the "hw codec buffer" - i.e. storing audio data in the native format of the hardware.
00:31:10preglowhubble: will do
00:31:13amiconnlinuxstb: Yes, exactly :)
00:31:30*Bagder is going to bed
00:31:36linuxstbBut the Archos devices don't need two buffers. Or do they?
00:31:48rasherBagder: I'll just make sure the result on the recorder is the same as now, and it should be sensible on iRiver, right?
00:31:54linuxstbi.e. the data can just go from disk straight into the "hw codec buffer".
00:32:02Bagderrasher: sounds like a good approach
00:32:13*rasher goes on then
00:32:37amiconnlinuxstb: Not if you do the swap as now, and playback from disk. Yes if we want a memory playback engine that takes unswapped data
00:33:10preglowhubble: absolutely no noise
00:33:37linuxstbBut for efficiency reasons, shouldn't the memory playback engine be tied to the hardware format?
00:33:53linuxstbi.e. the sounds should be stored in the native hardware format.
00:34:16hubblepreglow: ok.. same here.. so frustrating, because I got sound out of it on sunday but then something has happend and I can figure out what ..
00:34:27hubblecan = can't =)
00:34:40amiconnlinuxstb: I don't agree. At least we would need both options.
00:34:44preglowhubble: i can understand how that's frustrating
00:34:54preglowbut in my current state, i don't think i can debug shit
00:34:55preglowi need sleep
00:35:56amiconnlinuxstb: Storing the data uncompressed would likely not fit for the voice UI. The voice file is very tight even as mp3 on archos.
00:37:04amiconnMy current voice files use MPEG2.5 layer 3 (12 kHz mono, lame vbr with -V4 and a maximum bitrate (-B) of 64 kbps)
00:37:32preglowwe should support speex sometime
00:37:33amiconnThey are ~1.3 MB depending on language & voice
00:37:42linuxstbI've been thinking about that, and maybe we could have a proper speech codec - e.g. OGG Speex
00:37:51linuxstbOr the GSM codec.
00:38:04preglowthe devel versions of speex have even got half-assed fixed point support
00:38:17preglowmight even be working support now
00:38:22amiconnNo matter what codec, this still means storing the data in compressed form
00:38:26 Quit quel|out ("KVIrc 'Realia'")
00:38:51linuxstbBut I understand your point - that we need a "play from memory" feature capable of feeding the data through the codecs layer.
00:39:43rasherhrm, pong looks slightly better
00:39:58amiconnYes, and using the 2-buffer concept on archos too would be cleaner, better matching the sw codec boxes, and allow playback of plain mp3
00:41:15linuxstbI agree it makes sense - but will it be less efficient than the current system on the Archos devices?
00:41:42preglowhubble: do you know if the codec chip has any internal buffer?
00:41:51amiconnIt may even be a bit more efficient concerning battery usage, because it allows loading with maximum speed
00:42:09amiconn..therefore switching the hd off earlier.
00:42:28amiconnCurrently the load is interspersed with swapping the first chunks
00:43:46amiconnThe current bitswap routine is tuned for in-place swapping. For better efficiency of this needs to be turned in a swap-copy routine of course.
00:43:57hubblepreglow: not sure but i don't think so (more than a few samples)
00:44:06preglownor would i
00:44:14amiconnThis would actually have another advantage - for the Ondio version
00:44:53amiconnOn the Ondio, the MMC is also hooked up via SPI. And guess what the problem is?
00:45:03linuxstbamiconn: I'm sure the main function in the codec API will be something like codec->decode_frame(char* src, char* dest) - this would fit in well with your swap-copy routine.
00:45:25amiconnThe MMC SPI also expects the bits in the reverse order of what the SH1 SPI produces
00:45:47 Quit hubble ()
00:46:56amiconnCurrently, I use memcpy() followed by bitswap(). (For writing, that is, which requires a buffer. Reading is easier, because I can read directly into the destination mem, and then bitswap in place) A swapcopy routine would also be helpful here..
00:47:38amiconnI didn't bother writing one yet. I should start doing so as soon as your new buffering system takes shape...
00:48:28linuxstbamiconn: I don't have time to write something properly in the Wiki now, but I'll make a quck note there and put a link to today's IRC logs.
00:49:02amiconn*our new buffering system, of course :)
00:50:09linuxstbActually, Bjorn wrote that part of the page :-)
00:51:06amiconnThe hw codec buffer can be rather small for archos, not more than a couple of typical DMA blocks.
00:51:22linuxstbamiconn: Is recording the same - the data is read from the MAS has to be bitswapped before writing to disk?
00:51:42amiconnNo, since reading is done via a parallel port
00:52:57amiconn..and I have to say this design is more crappy than the SPI playback. This is a parallel port designed for DMA access. The handshake has to be done in software due to the way it is hooked up...
00:54:21linuxstbAh, I see the IRC logs are on European time, so they are in tomorrow already... (I live in GMT)
00:54:45amiconnWe do have problems with that... with longer recordings, it seems to get out of synch somehow.
00:55:44***Saving seen data "./dancer.seen"
00:57:32rasherwhen you do maths in #defines, does it round up or down?
00:57:55rasheror up/down ?
00:57:59linuxstbamiconn: I've made a note on the Audio API Proposal WIki page now. Unless there is a significant performance penalty, I think it's a good idea.
00:58:20rasherlike what is the result of 160 / 56 ?
00:58:55amiconnlinuxstb: The current bitswap routine is asm optimised, and so will be my swapcopy :)
00:59:08rasherhrm, 2 by the looks of the result :)
00:59:13linuxstbrasher: What are you trying to do? I would guess the answer is 2
00:59:30amiconnrasher: Comparing lcd bitmap data sizes?
00:59:43rasheramiconn: not quite
00:59:45rasherbut close
00:59:59rasher#define PAD_WIDTH LCD_WIDTH / 56
00:59:59linuxstbCan you change the logic so there is no divide in there?
01:00:17amiconnI thought because 160 / 56 == 160*128 / 112*64
01:01:09amiconnrasher: Adapting rockblox?
01:01:14rasherno, pong
01:01:26rashertrying to make the values be the same on the recorder
01:01:30amiconnAh, was about to correct myself :)
01:01:37rasherheh, yes
01:02:35amiconnHow wide do you want it on iriver?
01:03:43rasheras wide as it'll get with the same values
01:03:48rasherthis looked fine
01:04:32amiconnIf you use LCD_WIDTH/56, it will be 2 for both archos & iriver, so you could just use '2'
01:04:44rasherhrm, true
01:04:55rasherMaybe I should change it so it'll be 3 for iRiver
01:05:43 Quit _aLF ("Leaving")
01:05:57rasherlet me test this
01:06:12amiconnSame for BALL_WIDTH and BALL_HEIGHT, I think
01:06:30midk_those are MY variables.
01:06:32midk_no stealing.
01:06:33rasherI'm basing both on lcd_height
01:06:41rasherto get a square ball
01:06:47midk_*remembers breakout.c from so long ago*
01:06:51rasheron all displays
01:07:15amiconnrasher: The ball isn't square on the archos anyway. The lcd pixels are taller than wide
01:07:39 Join Patr3ck [0] (
01:07:52amiconnrasher: Aspect ration about 0.8 : 1
01:08:46rasherI think this is sufficient
01:09:02*rasher looks at the RES variable
01:11:44amiconnIiuc this variable is for sub-pixel resolution.
01:12:16 Join ashridah [0] (
01:12:45*rasher sets it to LCD_WIDTH
01:13:00rasherthat's a bit slow on iriver
01:13:01amiconnI think it should remain constant, i.e. 100
01:13:57rasherI think that's it
01:14:23rashershouldn't the score be in the middle of the screen?
01:14:52rasherah, not too easy
01:15:42rasherI'll leave that
01:16:17*linuxstb is hoping his upcoming CVS commits won't break the build system.
01:16:43preglowcome on, what would your day be without a bit of excitement
01:18:07DMJCwhat's getting uploaded?
01:18:50linuxstbI'm incorporating libmad into the build system (for the iRiver only), and also adding my "mad2wav" viewer plugin that will convert an mp3 file to WAV.
01:19:12*rasher uploads pong diff
01:19:16preglowwhat about mpeg2wav :V
01:19:30rasher:V .. now that's one I haven't seen
01:20:03linuxstbOr I could just call it "mad" - the others are "flac" and "ac3".
01:21:06linuxstbBut I've just realised that the DOS shortname thing still hasn't been fixed, so my WAV files aren't recognised by the iRiver firmware....
01:21:49preglowbut i'll grant myself some sleep
01:21:50preglownight all
01:21:57linuxstbCan anyone think of a better name than "mad2vav" before I commit it?
01:22:03linuxstbpreglow: Goodnight.
01:22:06preglowlinuxstb: well, mpeg2wav :-)
01:22:12rasherI'm with preglow
01:22:18rashermakes more sense to me
01:22:20preglowsince you're converting mpeg files, not mad files
01:22:38amiconnrasher: The score should be in th emiddle of the screen. And it isn't hard either.
01:22:48linuxstbMaybe it's just me, but I associate "mpeg" with video - and yes, I know MPEG have both video and audio formats.
01:23:10preglowwell, yes, but i don't think 'mad2wav' is very descriptive to non-technical users
01:23:14rasheramiconn: ah.. is there a way to get character width?
01:23:21linuxstbmpa2wav for MPEG audio? mp32wav doesn't work.
01:23:45preglowok by me
01:23:52DMJCmpa2wav works
01:24:07linuxstbOK, mpa2wav it is then. Thanks.
01:24:22preglowbut then i'm off, later
01:24:27 Quit preglow ("offeti")
01:25:12amiconnrasher: w = rb->lcd_getstringsize(const unsigned char *str, int *w, int *h); and rb->lcd_putsxy(int x, int y, const unsigned char *string); are the key
01:27:33rasherwhat's the w ?
01:28:29rasherfirst one
01:31:34rasherI wonder if I got this one right
01:33:00rasherI so didn't
01:34:41amiconnw and h are both int pointers. You can supply a pointer to a variable, and the function fills in the pixel width and height.
01:35:15amiconnUsing a NULL pointer is safe if you are not interested in the respective value.
01:35:22rasherI meant the "w = " bit
01:35:34amiconnThe width is also the return value of the function
01:35:42rasherhow handy
01:36:00amiconnSo if you only need the width, just use two NULL pointers
01:36:35rasherthink I have it now :)
01:37:34*HCl greatly reduces the amount of warnings in rockboy...
01:39:03linuxstbOK, libmad should now hopefully be build for the iRiver (and nothing else)...
01:39:47rasherHurray, got it
01:39:58*rasher creates a new patch
01:49:13*HCl adds crude savegame support to rockboy
01:50:50 Join amx [0] (
01:52:30linuxstbSeems like Rockbox doesn't rescan the directory when a plugin exits. My mpa2wav plugin creates a wav file, but it's not shown unless you navigate out of the directory and back again.
01:53:06rasherthat could be fixed in two ways
01:53:17rashera) make it rescan on plugin exit
01:53:27rasherb) make a way fo the plugin to signal that a rescan was needed
01:53:37rashera) sounds like the easiest way
01:54:02linuxstbOr c) If the plugin called rb->creat, then rescan the directory.
01:54:36rashersounds like a smarter version of b) :)
01:55:03linuxstbI'll leave it for now. Maybe I should add it to the bug-tracker.
01:55:47*rasher ponders starting rockout
01:56:11rasherguess I could lift heavily from pong
01:56:26linuxstbHCl: It would be good if you could associate a saved-game with your viewer, and then "play" the saved game by selecting it in the file browser.
01:56:56HCllinuxstb: well, gameboy games have a savegame memory, which is that file, its not really a "savegame"
01:57:08HClbut i can do that with savestates, i guess, which are much more like savegames
01:57:57linuxstbSo you will just have a single "memory file" on disk?
01:59:14HClits up to the rom itself to use that effectively into sorting it into save game files
01:59:17HClmost roms do that
01:59:24HCland have about 3 save "slots"
01:59:49HClon top of that, most emulators provide the possibility of a savestate, a literal dump of the state of the emulator at any given time, allowing you to load that dump back in and continue right where you left
02:00:10 Join StrathAFK [0] (
02:04:08 Quit Patr3ck ()
02:08:52 Quit DrRick ()
02:14:21*amiconn is trying patched pong on Ondio...
02:14:31rasherhow's it going?
02:14:47amiconnIt works as expected :)
02:15:04rasherit wasn't much of a change
02:15:15*HCl added 5 more todo things to the todopage..
02:15:26HCli'm gonna go sleep
02:15:30*rasher looks
02:16:18rasherurgh, slidingpuzzle is going to take some work :)
02:16:22HClsomething went wrong there
02:16:32HClchanges i made earlier were lost :X
02:18:53HClrasher: prolly just stretching the screen would do for now
02:19:03HCli dunno.
02:19:14rasheryou mean 200% zoom?
02:19:21 Quit Strath (Nick collision from services.)
02:19:24 Nick StrathAFK is now known as Strath (
02:23:22HClsomeone should update the front page to include iriver where it mentions what models it runs on
02:23:27HClbut i'm asleep.
02:23:35amiconnrasher: Did you test your solitaire button assignments?
02:24:07 Quit Nibbler (Remote closed the connection)
02:24:08rasheramiconn: yes, from what I can see, they work
02:24:22rasherbut the controls are a bit odd
02:24:32amiconnHCl: I think it's too early to state it runs on iriver. Yes, it runs, but there's no playback...
02:25:25rasherlike you use special keys to move cards to the target stacks
02:25:31amiconnrasher: From looking at the code, there's a problem with the way you defined short/long press of select
02:25:38rashercould be
02:25:46rasherI'm not sure I played enough to use that
02:26:00XShocKhrrrrr... I think I found the error in hubble's sound code.. :)
02:26:33 Join MO-Pantsu [0] (
02:26:39amiconnIf you want to differentiate short/long, you need to do 2 things in order to not trigger the 'short press' action as well when you only want th e'long press' action
02:26:42 Join Nibbler [0] (
02:27:08rasherah yes
02:27:25amiconn(1) For the short press, trigger on the release, not the press. (2) Check if the release comes directly after the press, with no repeat events in between
02:27:40amiconnThat's what all these _PRE defines are for
02:27:54amiconnI'll change that, and then commit
02:28:05 Quit edx (Read error: 110 (Connection timed out))
02:28:05amiconnThere's always room for further improvement...
02:28:17rasherprobably better than I do it, I'm not sure I got it :)
02:28:44amiconnThe special combos for moving the cards to final stacks etc are actually shortcuts.
02:28:58*rasher tries to turn pong sideways and remove one pad
02:29:02amiconnFor iriver, you should be able to play with the joystick and rec key only
02:29:52amiconnI.e. move to the card you want to pick, press select, move to the destination, press select again to drop the card
02:29:56rasherthen forget what I said :)
02:30:21rasherindeed you can
02:30:47rasherI could've sworn I tried that at some point
02:30:48amiconnThe shortcuts are especially useful on the Ondio, btw, despite of the Ondio having only very few buttons
02:31:02XShocKSOUND WORKS! :)
02:33:05 Quit DeadMan (Read error: 60 (Operation timed out))
02:33:17XShocKif you want to, replace these lines in uda1380.c:
02:33:18XShocKunsigned char data[3];
02:33:18XShocKdata[0] = UDA1380_ADDR;
02:33:18DBUGEnqueued KICK XShocK
02:33:18XShocKdata[1] = value >> 8;
02:33:18XShocKdata[2] = value & 0xff;
02:33:19***Alert Mode level 1
02:33:19XShocKif (i2c_write(1, data, 3) != 3)
02:34:16XShocKunsigned char data[4];
02:34:17XShocKdata[0] = UDA1380_ADDR;
02:34:17XShocKdata[1] = reg;
02:34:17***Alert Mode level 2
02:34:17XShocKdata[2] = value >> 8;
02:34:17***Alert Mode level 3
02:34:17XShocKdata[3] = value & 0xff;
02:34:17***Alert Mode level 4
02:34:17XShocKif (i2c_write(1, data, 4) != 4)
02:35:14XShocKhubble probably just by occasion forgot to add register address.
02:35:28XShocKdamn.. I am happy. :)
02:36:09linuxstbVery cool.
02:36:58 Quit midk_ ("Leaving")
02:37:28DMJCsound works?
02:37:41DMJCwhat's working exactly?
02:37:57XShocKvery basic, onyl sine-wave, without interrupts.
02:39:35linuxstbCan someone with an SH1 build environment quickly check if I've broken the build for the Archos firmwares? I've just committed my mpa2wav plugin and this should only get compiled for the iRiver.
02:43:26DMJCso how does sound on the iriver work?
02:43:26amiconnlinuxstb: Updating from cvs...
02:43:39DMJCdoes the audio get uncompressed to wav, and then played?
02:44:05linuxstbDMJC: No, all my code does is convert it to WAV. That's all.
02:44:18***Alert Mode OFF
02:44:47linuxstbAnd it's not in realtime either - mainly because the iRiver is running at less than 10% of full-speed at the moment, and also because the code isn't optimised.
02:47:13 Join elinenbe [0] (
02:47:18amiconnlinuxstb: It tries to compile the plugin for recorder, and fails :(
02:47:28elinenbeblah! There is a bug with recursive insert for playlists.
02:48:06elinenbeif you try and insert a folder with folders in in, then it only inserts part of the subfolders
02:48:17MO-Pantsuwhat's with the UDA1380 being broke thing?
02:48:30 Quit Stryke` ("Friends don't let friends listen to Anti-Flag")
02:48:32HClMO-Pantsu: xshock just fixed it.
02:48:40linuxstbI'm not sure about the test in the plugins/SOURCES file
02:48:42MO-Pantsucool better update the page ;)
02:49:02 Nick MO-Pantsu is now known as DeadMan (
02:49:28amiconnlinuxstb: How is #if SOFTWARECODECS == yes in SOURCES supposed to work??
02:50:16amiconnNeither SOFTWARECODECS nor yes seem to be defined anywhere...
02:50:28linuxstbThere's a variable called SOFTWARECODECS in the tools/configure, which is set to yes only for the iRiver.
02:50:48linuxstbShould that be "yes"
02:50:59amiconnThat's an environment variable, which is a completely different thing from source #defines
02:51:23linuxstbCan you suggest a fix?
02:51:36DeadManXShocK what was that about sound works? :)
02:51:42amiconnBtw, there already is a config check option for software codecs - #if CONFIG_HWCODEC == MASNONE
02:52:28DeadManjust the same sine wave thingie :)
02:52:37amiconnlinuxstb: I'll change that, and try again.
02:52:38XShocKyes. :)
02:52:50DeadManthought it was 100% done for a moment
02:52:50XShocKIt was just my happiness coming out. :)
02:53:28linuxstbamiconn: I did see that CONFIG_HWCODEC, but that also means that my code will be compiled for the gmini. Is that what we want?
02:53:49amiconnI think so.
02:54:19amiconnHowever, it doesn't get compiled anyway for gmini atm.
02:54:33amiconn...because plugins are completely disabled
02:54:44linuxstbAh, OK. That makes sense then.
02:54:52amiconnIt will be difficult to support plugins on the gmini....
02:54:55 Quit mecraw ()
02:55:47***Saving seen data "./dancer.seen"
02:55:59linuxstbWas I right to add SOFTWARECODECS to configure and to apps/Makefile ? Or can the CONFIG_HWCODEC variable be tested in apps/Makefile ?
02:57:37amiconnCONFIG_HWCODEC should be testable in makefile
02:58:33amiconnAh no, I'm probably wrong
02:58:58amiconnBabble, better ask a Makefile expert, i.e. Bagder, when he's around
02:59:17linuxstbIs it (not) compiling OK for you now?
02:59:31amiconnIt compiles without complaints
03:00:08amiconn..and I don't get an mpa2wav plugin, as it should be
03:00:44amiconnDo you check within the plugin as well? This might be necessary due to the simulator build system still not adapted to use SOURCES
03:01:06amiconnAh, no, you don't
03:01:20CtcpIgnored 1 channel CTCP requests in 0 seconds at the last flood
03:01:20*rasher gets compiling errors in all the wrong places
03:02:41linuxstbSo what should I do in the plugin? #ifdef out everything and put in a dummy plugin_start function?
03:03:36amiconnNo. Simply #ifdef the whole plugin (of course after #include "plugin.h"). I'm just doing it.
03:03:46linuxstbOK, thanks.
03:04:11*HCl reads through the feature requests..
03:04:16HClmost of them are rather... dumb :X
03:04:20linuxstbBut it works fine in the iRiver SIM, so it should be build for that.
03:04:38HCltext editor.. how the heck are people planning to input text with +- 12 buttons at max...
03:04:49linuxstbSorry, I mean I think it will do when I adjust the makefiles.
03:05:16 Quit Diway (Read error: 104 (Connection reset by peer))
03:05:22DMJCHCL... look at a mobile phone dude
03:06:03DMJChell a mobile does it with 8 buttons
03:06:14rasherwell, the buttons are more appropriately positioned
03:06:20HCltell me, how many essays have you written on your mobile phone? >.>
03:06:25linuxstbamiconn: Yes, disable it for all simulators at the moment - the Sim makefiles don't build the codec libraries.
03:06:42HCldoes rockbox have a song database/search function?
03:06:54 Quit elinenbe (" HydraIRC -> <- 100,000+ downloads can't be wrong")
03:07:06rasherI think there's a search plugin that searches in playlists
03:07:08HCllike search by genre, artist, title, filename, album
03:07:12rasheror it may do more
03:07:27rasherI don't know, having never actually used it :)
03:07:41HCli guess i'll see once rockbox actually starts to support sound etc.
03:07:49*rasher punches randomly
03:08:09HClif it doesn't have it, its prolly a good idea to put that one on the todolist
03:08:43*rasher boggles
03:08:54rasherthe code I changed the least is the code that is now giving me grief
03:08:55*rasher sighs
03:09:18amiconnBrr, hope I got this commit right. I goofed on the order of changes, simultaneously trying to commit the solitaire adaption...
03:09:25HClwhat code?
03:09:33rasherpong.c -> rockout.c
03:09:43rasherI'm editing pong.c to change the orientation
03:09:59rasherso that it'll eventually work like breakout
03:10:28rasherBut I'll keep on prodding, it's just that I'm not too sure what I'm doing :)
03:10:55rasher"makes integer from pointer without a cast"
03:11:04rasherI could've sworn it was all ints I was passing
03:11:24amiconnThose warnings are lovely...
03:11:53rasherseriously, THIS IS AN INT! SHUT UP YOU STUPID COMPILER!
03:12:07HCl :p
03:12:18amiconnI had more such funny things when I did the const policing. "Assignment discards qualifiers from pointer target type" Grr!
03:12:42HClwell, nothing's as bad as "internal compiler error"
03:12:45HCl :X
03:12:48amiconnAh, and yes: The compiler was right!
03:12:58rasherOf course.
03:13:02rasherI'm sure it's right here as well
03:13:32rasherthis didn't fix it
03:13:37rasherbut it did make the problem worse
03:13:41rashermaybe I'm on to something
03:14:14rasheroh haha
03:14:28rasherI was looking at the wrong value
03:14:30rasherno wonder
03:14:58rasherI wonder what the hell I was even doing
03:15:49rashermuch better
03:15:57rasherit built!
03:16:44*rasher tests
03:17:35rasherthat was better than I had expected
03:18:10amiconnrasher: I also added the main help text for solitaire on iRiver. Feel free to improve :)
03:19:26HClhmm. what is to be done about the patches submitted?
03:19:31HClshould they be screened and added or ?
03:20:15HClthe feature requests is a bit out of date too.. i spotted a feature request thats covered by a patch in the patch section..
03:22:25*HCl resumes sleeping.
03:23:03*rasher blinks
03:27:49 Join elinenbe [0] (
03:33:09amiconnlinuxstb: Does mpa2wav still build for iriver target?
03:35:30 Quit Nibbler ("blubber")
03:37:31linuxstbamiconn: Yes, the iRiver target is fine. But the "apps/codecs" directory hasn't been added to the simulator makefiles, so the simulator build compile it, but the .rock won't work
03:38:05amiconnSimulator should no longer compile it
03:38:28linuxstbThe iRiver simulator does compile mpa2wav.c, but it doesn't compile libmad
03:38:53linuxstb(I'm talking X11 - I can't try the win32 sim)
03:39:43amiconnDid you update to latest cvs? The #if at the top of mpa2wav.c should stop the sim from compiling...
03:40:21linuxstbSorry, I see what's happenning - it's compiling it,. but it's compiling an empty .c file.
03:40:40amiconnYes, that's what the plugin compile does for the sim
03:40:46amiconn(both Win32 and X11)
03:41:04amiconnThis yields a plugin binary without an entry point
03:41:54amiconnSomeone with a clue about Makefiles should really update the simulator build system to use the SOURCES mechanism...
03:41:57 Quit cYmen ("leaving")
03:42:05amiconnAnyway, tts.
03:42:12amiconnNite all.
03:42:20linuxstbNite. Thanks for your help.
03:42:32 Part amiconn
03:49:54 Join Nibbler [0] (
03:51:02 Quit linuxstb (Read error: 60 (Operation timed out))
03:51:34 Quit guerby (Connection timed out)
03:53:02 Join guerby [0] (
04:06:24 Join QT_ [0] (as@area51.users.madwifi)
04:06:41 Join midk [0] (
04:09:04 Join edx [0] (
04:20:59 Quit QT (Read error: 110 (Connection timed out))
04:21:43 Join tws5 [0] (
04:33:59 Join jpburton5150 [0] (
04:37:12 Quit midk (Read error: 104 (Connection reset by peer))
04:46:00rasherI win!
04:46:37rasherI now have vertical single-player pong :|
04:46:46rashernow to add blocks, and make it breakout
04:46:48rasheror rather
04:46:52rashernot now, but later
04:46:54rashernow, sleep
04:49:25XShocKgo sleep too. bight all
04:49:45 Quit XShocK (" HydraIRC -> <- Go on, try it!")
04:55:19 Join midk [0] (
04:55:52***Saving seen data "./dancer.seen"
04:57:51 Join Lurski [0] (
05:06:55 Quit Hohoman ("( :: NoNameScript 3.81 :: )")
05:24:33 Quit Lurski (Read error: 110 (Connection timed out))
05:43:02 Quit jpburton5150 (Read error: 110 (Connection timed out))
06:13:57 Quit ashridah ("gone")
06:26:08 Join midk_ [0] (
06:34:33 Quit midk (Read error: 60 (Operation timed out))
06:45:14 Join wacky_ [0] (
06:45:30wacky_hey guys
06:46:19wacky_I'm about to finish a new plugin called 'iriverify' that takes the playlists generated by Rockbox and tweaks them so that the picky iRiver firmware can read them without error
06:46:38wacky_is that something you guys are interested in ?
06:47:27wacky_hmm.. I see :) no one here for two hours :) ok I'll come back later
06:53:31 Join mrmags [0] (
06:53:40DeadManI'll take it ;)
06:54:03DeadManheck anything iRiver don't have by default is probably of use to someone
06:54:13wacky_well I still have a problem :P the original firmware doesn't see the file created by Rockbox
06:54:47DeadManmaybe leave a note for one ot the devs when they are awake :)
06:54:52wacky_heh.. I just couldn't stand not to have on-the-fly playlists.. so I'm trying to work around.. even though Rockbox doesn't have sound support
06:55:00wacky_yet! :))
06:55:10DeadManLinus! ;)
06:55:54***Saving seen data "./dancer.seen"
06:55:55DeadManI think once there is sound things could move pretty rapidly. Then again I could be wrong :P
06:56:18DeadMandecoders are being fiddled with already though
06:56:45DeadMansomeone mentioned they was working on an AC3 decoder too
06:56:48wacky_well I take what we currently have and do what I can :) and I'm having fun .. so what to ask more ?
06:57:13DeadManmore people working on it the merrier
06:57:18wacky_hey I could go to sleep tonight and have otf playlists on my toy
06:57:33DeadManI just want MP3 playback so I can get me some of that gapless baby!
06:57:38wacky_wow :) I just love the power of open/free software
06:58:01DeadManthis is how it should be. open and everyone can make thing sbetter faster
06:58:59DeadManI really should put my spare H140 up for sale on Ebay though. I could do with the cash :)
06:58:59 Quit amx ("Client Exiting")
07:00:25DeadManI can't sleep and I have to be up for a delivery of a new double bed this faternoon...sigh
07:08:37DeadMananyone got a clue about monthly payments and 28 days in a month vs. 31 days in a month? I am clueless
07:13:26zewhat do you mean? most of the monthly payment deals i know of don't care how many days there are
07:14:33DeadManso are you paying too much one month or paying too little another?
07:14:49zei think it generally sorta averages out
07:15:13DeadManyeah well I want to know as it's part of an argument on monthly bandwidth usage caps
07:15:45DeadManas my isp is limiting to 50GB per month between the hours of 8am-1am.
07:16:10DeadManI just want to mess up their sums a bit ;)
07:16:32DeadManand get everyone bitching to the isp about it if I can :)
07:16:48DeadManI love stirring up trouble
07:17:11zewell yeah i guess it would suck to get like close to exactly 50G for a 30 day month
07:17:21zeand then get some charges or whatever just cause it happens to be a 31 day month
07:18:10DeadManMy ISP's forums are ablaze with discussion about the caps but this was not mentioned :)
07:18:57zebtw, you probably didn't see it earlier, my nick back in the day was DeadMan hehe
07:19:29zethat was on a BBS though... when i got online i found it taken various places, so it got lengthened to PsycoDeadMan
07:20:07DeadManI want the ISP to hate me and let me migrate early out of my contract if I can
07:20:19DeadManBe more trouble than I am worth is the ideal
07:20:31zecooincidentally, i caused a lot of trouble at that BBS...
07:20:54DeadManI used to runa BBS
07:21:05DeadManOddball's Diner
07:21:32DeadManhad awesome ANSI/ASCII
07:21:50DeadManI custom made a lot of stuff and nicked a lot of plugs from elsewhere
07:22:14DeadManand warezed a bit and blueboxed to the US boards to leech the latest warez
07:22:22DeadManwas fun back in the day
07:22:31wacky_ze - aware of the Rockbox code a little ?
07:22:49DeadMandual 28.8's and subscribers who send cash and hardware. neat :)
07:22:51zewacky_: not really
07:23:29zei think its actually been years by now since i even grabbed the CVS or touched an archos
07:23:44zei just hang around for the fun crowd
07:24:12*DeadMan sings "Cry my iRiver..."
07:24:39DeadManor cry me iRiver whichever suits most
07:24:55zei like my rio karma now
07:25:15zei just wish it had better firmware :p
07:25:16DeadManMy Rio Karma ran over my Rio Dogma
07:25:27zenot that its anywhere near as bad as the archos fw was
07:25:59zethis little machine just has so many more capabilities than its firmware takes advantage of
07:26:00DeadManat least Rio has gapless
07:26:22zeyeah to the extreme
07:26:25DeadManatop your moaning :)
07:26:50DeadMantime for the hell am I gonna be awake for this afternoon delivery? :P
07:27:07wacky_I have a weird bug..
07:27:14zeif regular robust take-no-prisoners gapless isn't enough, its even got crossfade
07:27:19wacky_the file created within Rockbox doesn't appear in the original firmware..
07:27:40wacky_but if I mount the drive and just rename the file twice (back and forth a temp name), it just gets recognized ok
07:27:48*ze is already drinking tea
07:28:06wacky_but of course.. I don't want to require a drive mount and double rename.. because it wouldn't be onthefly anymore :)
07:28:08zebut its just green tea and i plan on going to sleep as soon as it's gone
07:28:41wacky_and doing rockbox_api->rename() doesn't do good.. could stamps have anything to do ?
07:29:32zesorry, clueless... there something to screw with the stamps to see?
07:44:59zeDeadMan: ya know i just realized, for some reason when i'm up all night, its damn hard to stay up that day... but when i'm up all day, it's too easy to stay up that night
07:52:11 Quit DMJC ("Leaving")
08:23:11 Join webguest35 [0] (
08:24:15 Quit wacky_ ("night")
08:26:51 Join Diway [0] (~diway@
08:39:09 Quit einhirn ("Miranda IM! Smaller, Faster, Easier.")
08:55:55***Saving seen data "./dancer.seen"
09:13:27 Nick midk_ is now known as midk (
09:18:39 Join bobTHC [0] (
09:18:49bobTHChi folks!
09:21:39 Nick QT_ is now known as QT (as@area51.users.madwifi)
09:22:36 Join LinusN [0] (
09:37:52Bagdermorning L
09:42:12 Join [av]bani [0] (
09:42:12 Quit tws5 (Read error: 104 (Connection reset by peer))
09:42:33*[av]bani pokes linusn
09:50:31 Join linuxstb [0] (
09:56:03[av]baniyou need iec958 subcode info?
09:57:02[av]baniit is documented, you just need to know where to look :)
09:59:17LinusNgimme da link :-)
10:02:06dwihnoHey, that rockboy thing looks really swell :D
10:02:18 Quit webguest35 ("CGI:IRC (EOF)")
10:02:22 Join webguest36 [0] (
10:04:18LinusNoops, looks like i have set up a way too slow sdram refresh on the iriver
10:06:37dwihnooverclock the CPU so rockboy runs at 100% :)
10:08:50 Join amiconn [0] (
10:09:08linuxstbBagder: Have you looked at my changes to the build system? I'm not sure if I've done things in the best way or not.
10:09:30Bagderlooked ok to me at a quick glance
10:10:07Bagderand it seems to build fine too
10:10:29linuxstbAm I right in saying that the firmware/export/config-*.h #defines can't be checked inside a Makefile?
10:11:18linuxstbSo I was right to add a "SOFTWARECODECS" variable to the tools/configure - there is already the HWCODEC=MASNONE defines in the config files.
10:12:10dwihnolinuxstb: sure thing! :)
10:12:18BagderI prefer doing it one way now that makes things work, and then we can smoothen it out if we figure out a better way
10:12:55Bagderin this case, it makes sense to control it in the makefile since I'm not sure the Gmini guys are ready to build the codecs yet
10:13:06Bagdereven if they do sw codec
10:13:22linuxstbThe two problems left are the gmini (i.e. which, if any of the codecs do we build for that), and also the simulators - we need to change the simulator makefiles to build the apps/codecs, and it would be nice if they also used the SOURCES files.
10:13:51Bagderyes, the sim builds should be modified to use SOURCES
10:14:03Bagderfor the Gmini part, we need to ask jyp
10:14:06 Part [av]bani
10:14:42linuxstbIs the main win32 Makefile written for GNU Make as well (obviously not Makefile.vc6) ?
10:15:35linuxstbThe gmini is OK for now because plugins are disabled - so even if the codecs were built, they wouldn't be linked against anything (yet).
10:15:52Bagderlinuxstb: yes it requires GNU make, it already uses GNU extensions
10:16:07linuxstbThat's makes it easier then.
10:16:47Bagderit is/was buildable with msvc, but I don't think many people feel strongly about that
10:19:45dwihnomingw should be the main concern
10:23:06*rasher reads backlog and sees that another person was hit by the short dosname problem
10:23:33rasher<wacky_> I'm about to finish a new plugin called 'iriverify' that takes the playlists generated by Rockbox and tweaks them so that the picky iRiver firmware can read them without error
10:23:37rasher<wacky_> well I still have a problem :P the original firmware doesn't see the file created by Rockbox
10:26:53linuxstbrasher: I assume you know why files created by Roxkbox can't be seen by the iRiver?
10:27:27rasherYeah, although I don't remember the exact details
10:28:16linuxstbIt's basically that the FAT driver in Roxkbox creates a 8.3 DOS shortname with a random extension, but the iRiver only looks at the shortname extension (not the longname extension) when deciding on filetypes.
10:28:38rasherah yes, that's how
10:30:45linuxstbThe only fix is to change Rockbox, but I don't think anyone is working on that at the moment. It's sure to become an FAQ as more people try rockbox.
10:32:23Bagdersubject for addition to ThingsTodo I guess
10:32:46 Join hubble [0] (
10:33:46linuxstbBagder: OK, I'll add it (unless you are already there).
10:33:53BagderI'm not
10:35:30hubbleaa.. thanks XShock.. he found my bug =)
10:36:20 Join cYmen [0] (
10:38:37 Join Lurski4236 [0] (
10:39:12linuxstbOK, Wiki updated with "FAT driver" problem.
10:48:37hubbleiriver sound test (working) =)
10:50:08rasherrocking :)
10:50:08 Join cYmen_ [0] (
10:50:08 Quit cYmen ("leaving")
10:50:49dwihnowhat kind of test is it?
10:51:39hubbleoutputs a sinwave and you can control volume / mute ..
10:51:47hubblething is the sinwave sounds like crap
10:54:10hubblebut that is because if cpu speed and not using interrupts/DMA to output sound data (I hope)
10:55:40linuxstbIhubble: Music to my ears :-)
10:55:59***Saving seen data "./dancer.seen"
10:57:20linuxstbNice to see that the volume is fully adjustable from 0-255 (I assume it is?).
10:58:08hubblelinuxstb: yes.. and we can provide volume control of the analog mixer from 0-3f also
10:59:15Bagderyou tried max volume yet? ;-)
10:59:31hubbleno :)
10:59:40linuxstbWhat's the analog mixer currently set to?
11:00:03hubble0 is max
11:00:26hubbleawell.. have go to work now =)
11:00:28rasherSomeone should change the "" link on the frontpage to point to
11:00:44Bagderrasher: there's also a link on the docsindex page
11:00:54 Part hubble
11:00:59rasherah, I can fix that :)
11:01:18rasherbut not the front page
11:01:25BagderI'll fix the front
11:02:54rasherMmmm wiki
11:03:05rasherstill confused by the questionmark
11:03:32rasherah, found it
11:06:26Bagderthe "resumed playlist order" means that when resuming a playlist that is playing shuffled, you can use "back" to get to the previously played songs
11:07:00 Quit Lurski4236 (Read error: 110 (Connection timed out))
11:07:09 Join ripnetuk [0] (
11:11:55Bagderwe should probably also add "can create playlists"
11:12:07Bagdersince that is what lots of iRiver people miss
11:12:29LinusNi don't know about that
11:13:05LinusNi'm beginning to think that "OTF playlists" in fact means "queue"
11:13:22Bagderwell, we have that mentioned already
11:13:23LinusNbut i don't know
11:13:27Bagdertwice in fact ;-)
11:14:12BagderI would assume that iRiver doesn't support VBRI/XING very good btw
11:14:21Bagderbased on their lack of VBR estimation
11:14:30Bagderbut that's a guess
11:16:05LinusNthey just take the bit rate from the first frame?
11:16:14Bagderno, they just say "VBR"
11:16:15amiconnrasher: If 'Naming FM channels' means to associate a station name to a certain frequency, then it's a clear 'yes' for rockbox. You can save presets with a name, and if you just tune up/down and a preset matches, it also displays the name.
11:16:34LinusNBagder: so they don't bother displaying the average
11:16:35rasheramiconn: I'd guess that's it
11:16:40BagderLinusN: correct
11:16:45rasherLinusN: they display a value
11:16:48rasherat least for oggs
11:16:54Bagdernot for my mp3s
11:17:05BagderI didn't check what kind of headers though
11:17:06rasherI don't have many vbr mp3s
11:17:09rasherhaven't noticed
11:17:09LinusNBagder: maybe for vbri?
11:17:29*Bagder has thousands of VBR mp3s
11:17:47amiconnrasher: I don't know about the archos fm recorder firmware. The archos ondio fm firmware also supports presets (but I don't know if it also displays the name when just tuning up/down)
11:18:13LinusNBagder: vbri files also say "vbr" and nothing else
11:18:17amiconnBagder: Me too, and they all have a Xing header
11:18:19rasheramiconn: what do I put in archos then?
11:18:47BagderLinusN: can you ff through a song and check what it says about the playtime?
11:18:55LinusNhang on
11:19:28dwihnoAnyone know what alsa version is included in the 2.6.10 kernel?
11:19:39LinusNplaytime seems correct
11:19:40dwihnoI want to know if a realtek chip is supported
11:19:57BagderLinusN: that would indicate at least vbri support then I guess
11:20:03LinusNbut since the decoder is in software, they can count the frames correctly
11:20:03amiconnrasher: I can check for the ondio tune up/down, but probably not today; have to ask my sister. The fm recorder question has to be answered by a fm recorder owner...
11:20:07Bagder"at least some"
11:20:19rasheramiconn: okay, I'll leave it at ? for now then
11:20:25rasherall the ? should probably be neutral
11:20:42LinusNBagder: i don't think they support xing or vbri
11:20:57LinusNthey just see that the frames have different bit rates
11:21:07Bagderah, they scan all frames then?
11:21:18LinusNperhaps just a few in the beginning
11:21:32rasherso a NO for xing and vbri?
11:21:48Bagderbut surely they need header support OR scan frames to show proper playtime when FF'ing to a point in the middle?
11:22:02LinusNBagder: yes
11:22:05Bagderor just guessing ;-)
11:22:28LinusNthey are sure able to scan if they like
11:22:38LinusNthe cpu is certainly fast enough
11:23:18LinusNlunch time
11:23:35 Join ElGringo [0] (
11:23:57ElGringohi everybody
11:25:46ElGringoI'm sorry about my request, but I just build the rockbox bootloader for iHP. I would check my md5sum before flash my player and didn't find it in the wiki
11:26:40LinusNwhich iriver firmware version?
11:27:46ElGringoH120 and H140 1.63EU
11:28:57Bagderthat was a quick lunch! ;-)
11:29:21ElGringois it bad ?
11:29:45ElGringoit looks great !
11:29:56*LinusN goes to lunch for real
11:30:09 Quit ripnetuk (Read error: 104 (Connection reset by peer))
11:30:21ElGringothank you !
11:30:59ElGringomabye someone should write it on the wiki, i think i'm not the first one who ask you for that !
11:31:31Bagderplease do
11:31:53ElGringoI don't have a wiki acount
11:32:01Bagderthen get one!
11:32:07ElGringobut I'll see if I've the time create one
11:32:08 Join ripnetuk [0] (
11:32:08ElGringook, ok
11:34:03 Join Patr3ck [0] (
11:42:58 Join jyp [0] (
11:43:58ripnetukhow is the pll tuning coming along?
11:44:16BagderLinus is on lunch atm
11:44:29ripnetukmmmmmm food
11:44:48jypHello there
11:44:59Bagderfood time here too
12:03:59LinusNripnetuk: going fine, i'm working on the dram refresh
12:05:00izzyLinusN: how much you have looked into power saving possibilities in coldfire?
12:05:32Bagderseems a bit early
12:05:35LinusNnothing at all
12:05:36izzydo we have other options than stop instruction and then turning pll off?
12:05:45LinusNdon't think so
12:05:49jypWe'll most probably need a "minimon" for the Gminis...
12:06:03izzyok, that's what I've found
12:06:08jypAnything I can reuse ?
12:06:26LinusNjyp: check the "flash" modult
12:06:30izzyI was just wondering how we should use different cpu frequencies, if at all
12:06:37jypthanks ;)
12:06:55LinusNizzy: we should probably try to keep the frequency as low as possible
12:07:06izzynot necessarily
12:07:21izzyit depends how effective the possible "sleep" is in coldfire
12:08:06linuxstbI know it's not really relevant to what we do, but is it known if the iRiver changes CPU frequency on-the-fly?
12:08:13LinusNthe STOP instruction?
12:08:28LinusNlinuxstb: i believe they do
12:08:52LinusNthe iriverlounge found some code that switched pll settings
12:09:02LinusNiriverlounge *guys*
12:09:05izzySTOP yes, and if it is possible to turn off the pll on the fly or do some other things
12:09:35LinusNizzy: turn off the pll on the fly == change cpu frequency
12:12:44amiconnLinusN: Could that be checked by hooking up a frequency counter to the clock pin, or is the pll-multiplied clock only cpu internal?
12:13:11LinusNyou can check it on the bus clock
12:14:08izzyLinusN: Does that mean the same as this pll power saving bit?
12:14:26ripnetukbtw is it pll as in phase locked loop? (just out of interest)
12:14:41LinusNripnetuk: yes
12:14:51LinusNizzy: there is no "power save" pll bit
12:15:13ripnetukis there a hlt instruction?
12:15:22izzyno? then I have misread something..
12:15:27*izzy checks
12:15:28LinusNripnetuk: STOP
12:15:43ripnetukso that sleeps the processor while its not needed... cool
12:15:55LinusNizzy: there is the pll dividers, and the Bypass bit
12:16:15LinusNripnetuk: we use the STOP instruction in the thread scheduler
12:17:36ripnetukcool so its handled at the 'os' level
12:18:04LinusNif all threads are sleeping, the scheduler runs the STOP
12:18:26LinusNand it will be woken up by the next interrupt, typically the tick
12:18:41ripnetukhehe i was just asking that :)
12:18:44ripnetuk(how it wakes)
12:18:52izzyI meant that PLL power down bit, but it is the state we use now?
12:19:05LinusNthe bypass bit, yes
12:19:19izzyno, there's separate powerdown bit
12:19:26izzyin addition to bypass
12:19:36izzybit 9
12:19:42izzybypass is 0
12:20:00LinusNah, that one, silly me
12:20:57izzyI wonder if we could use that
12:21:08LinusNdoubt it
12:21:36LinusNas i see it, we won't be able to run fast enough on 11MHz
12:21:58LinusNproblem is, it takes several ms to lock the pll
12:22:16LinusNand we lose tick accuracy
12:22:34LinusNbut sure, if the power saving is substantial, we should consider it
12:22:43ripnetukwhy is lost tick accuracy a problem?
12:23:05LinusNnot really a problem, actually
12:23:29HCli use it for sleeps in rockboy, but a few ms shouldn't matter too much..
12:23:42LinusNthe only place where we would want good tick accuracy is in the wps, where we use the tick for playtime
12:23:58LinusNbut we would probably count frames in the iriver version
12:24:39ripnetukare all frames in a mp2/3 the same length (in time)?
12:24:48LinusNyes and no
12:25:06LinusNthey are all the same length within a stream
12:25:17LinusNbut different layers have different frame duration
12:25:30LinusNso mp3 and mp2 frames are not the same length
12:26:01izzyLinusN: which clock does the RAM use?
12:26:09LinusNbut we could just as well count samples
12:26:13ripnetukhmmm... i might visit wikipedia to research why there exists mp2 and mp3 - i know my digital tv card kicks out mp2... right pita that iRiver software cant play that
12:26:19LinusNizzy: the cpuclk/2
12:26:39izzyok, thanks
12:27:06izzyI need to do some work now..
12:27:22ripnetukLinus - thanks :)
12:27:28linuxstbDo any of the "unofficial" headers (lame, Xing etc) contain the total number of samples in the stream?
12:30:01LinusNno, only number of frames
12:30:46LinusNafaik, the lame header contains info about how many samples are used in the last frame, though
12:31:13linuxstbBut number of samples/frame is constant in a file?
12:31:27linuxstbDo we know how many frames?
12:32:30linuxstbSo for both Xing and lame headers, we can calculate the accurate runniing-time of the file, and lame, exclude the padding samples?
12:34:56LinusNand vbri
12:35:28 Quit xen` (Read error: 60 (Operation timed out))
12:42:31Bagderis the IrverBoot table really useful to anyone?
12:42:43HClthe md5's are
12:42:54HClcause it shows what md5s work
12:43:16ripnetukare they up to date? with LinusN's latest bootloader.bin? last time I flashed, I realised (after starting the flash) that my md5 was wrong... worked ok tho
12:43:32Bagderno, they are bound to always be out-of-date
12:43:35Bagderand thus not match
12:43:55Bagderexcept the one Linus adds himself
12:43:59LinusNi just updated the md5 sum for the 1.63e version
12:44:24Bagderyes, that's what made me start thinking about the others
12:44:26ripnetukmaybe it should be grouped into 'offical' releases
12:44:39LinusNthe only valid md5 sum comparison is with the attached bootloader.bin file
12:44:42ripnetuklike one section for the 2005-02-16 release of bootloader.bin ith the 2 md5s
12:45:09ripnetukor maybe the bootloader.bin should be zipped with a md5.txt file?
12:45:20LinusNdid we have any luck with the .ips format?
12:45:39BagderLinusN: I think we're leaning towards skipping that and making mkboot do it instead
12:45:49ripnetukwe would need to be sure that smartips (or whatever) md5 checked the result.
12:46:08HClyou should probably list what the md5sum is of exactly.. the .hex.. or the .bin..
12:46:10ripnetukI am quite willing to throw together a Delphi (Win32) port of mkboot,
12:46:27ripnetukbut I know you guys like c :)
12:46:35ripnetukBorlands Object Pascal thing
12:46:37Bagderripnetuk: it would need descramble/scramble as well
12:46:42LinusNripnetuk: i know what it is
12:46:45linuxstbHow about a "tested releases" table - the bootloader.bin versions down the left of the table, and the iRiver firmware versions going across the top. The entries in the cells are the MD5 checksums of the "new.hex" - but only if they are confirmed to work.
12:47:00Bagderlinuxstb: yes, that would make sense
12:47:01ripnetuki program delphi for my job
12:47:22LinusNthe mkboot program runs fine in windows, doesn't it?
12:47:25HCllinuxstb: sounds ok to me
12:47:27BagderI'm FOR whatever that brings a neat-looking tool on windows
12:48:25linuxstbI added the "bootloader-builder" to the ThingsToDo wiki page earlier today.
12:49:08linuxstbLinusN: I don't see why not. The suggestion in IRC yesterday was too write a Windows tool based around mkboot.
12:49:38Bagderwith a static image of bootloader.bin built-in
12:49:42linuxstbIt would have the bootloader.bin and known good resulting MD5 checksums hard-coded into it, so a new bootloader.bin release would mean a new release of the GUI.
12:49:53linuxstbYes, what Bagder said...
12:49:57 Quit lostlogic ("Going to the moon")
12:50:30LinusNmkboot.exe, scramble.exe and bootloader.bin in a zip file, together with a .bat file
12:50:43*HCl grins
12:50:43linuxstbWe're assuming that bootloader.bin releases will be very rare - but not quite as rare as new iRiver firmware releases.
12:50:46ripnetuki figure it would look for bootloader.bin and a .ini file in the same directory containing the expected md5
12:51:14ripnetukwe COULD ask iRivers permission to distribute a modified firmware...
12:52:00LinusNwhat is wrong with a bat file?
12:52:14ripnetukwould need md5.exe as well
12:52:20HClcan you provide a second download location for their unmodified firmware without getting into trouble?
12:52:26ripnetukand the user would have to check the md5's themselves :)
12:53:07ElGringoJust to say : I just tried rockbox on my H120. It will roxxx !
12:54:03ripnetuki still think a java applet on your web page that takes an original image and does the magic is the way forward... it could read the bootloader.bin and md5sum.txt from the website
12:55:04HClcan an java applet write to disk?
12:55:07linuxstbripnetuk: how do various browser security settings, firewalls, proxies etc affect java applets?
12:55:12ripnetuknot sure
12:55:25ripnetukmaybe thats not possible
12:55:30ElGringoNow that I saw compilation is really easy (I never worked with linux, cygwin, ...), I will try to do little works on iRiver porting
12:55:59linuxstbI know javascript definitely can't write to disk, and to be honest I would hope that Java applets can't.
12:56:00ElGringoA Java applet can write on a user disk, only if he is signed
12:56:01***Saving seen data "./dancer.seen"
12:56:28ripnetuki was hoping it would put up a dialog box saying 'java trying to write to disk - allow (Y/N)'
12:56:32ElGringoso : I will ask the user if he is ok to allow the applet to write on his disk
12:56:35ripnetukbut if it needs to be signed its bad
12:56:50dwihnoHow about a GUI utility which keeps a static image of bootloader.bin, capable of checking the website for checksums etc.
12:56:56linuxstbripnetuk: but how do you know what the java applet is writing?
12:57:04ripnetukyou dont
12:57:08ElGringowhy ?
12:57:08ElGringowhy ?
12:57:53ElGringoAn applet CAN'T write on a disk if it's not signed !
12:58:05ElGringohopefully !
12:58:07linuxstbdwihno: Yes, that's what was discussed in IRC yesterday - but I don't think we even need to check the website for updates - the bootloader.bin will very rarely change and iRiver aren't releasing new firmwares.
12:58:12ripnetukwe could have a xml file on the website, something like <mkboot><version20050104><url></version><md5>abcdefghijk</md5>
12:58:22*HCl agrees with linuxstb
12:58:57ripnetukok, for now, how about a straight .exe which has bootloader.bin built in (as a resource) and knows the correct md5?
12:59:09LinusNxml, now *that* solves everything :-)
12:59:12HClsounds good to me.
12:59:25ripnetuki could write that in Delphi, but there would be little or no chance of running on linux
12:59:26 Quit webguest36 ("CGI:IRC (EOF)")
12:59:29Bagdera gui-tool that asks for the iriver firmware file, then runs descramble, mkboot, scramble and then checks md5 on the output. done
12:59:41ripnetukLinus - noothing magic about xml - as good as any other format tho
12:59:48dwihnoripnetuk: well, linux people know how to use cmd line :)
12:59:59dwihnothat sounded window'ish
12:59:59LinusNhehe, or a gui tool that downloads *everything* (using curl of course)
13:00:00ripnetukand at least browsers display it in a sane format
13:00:03dwihnothe TERMINAL, I ment
13:00:12linuxstbShouldn't this tool be capable of developing into a "Rockbox Assistant" type of tool. i.e. creating the tag database, installing updates etc etc
13:00:30Bagderit depends on what people want to code
13:00:36HClfor linux.. you can just make an very simple script..
13:00:52Bagderfor linux I don't see a need for this kind of stuff
13:00:54linuxstbWe shouldn't forget Mac users though.
13:00:59 Join Cassandra_ [0] (~christi@
13:01:27*LinusN *loves* mac programming...not!
13:01:33ripnetukwe could have a very simple tool... just provide a binary resource that is a xor table to convert the original firmware to the hacked version
13:01:51ripnetukwould only work on one specific release (1.63EU say)
13:02:12Bagderthen we're back on the binary patch path
13:02:19Bagderbut yes that works too
13:02:27linuxstbmkboot.c already does the work, so why not just use it?
13:02:57ripnetuk"Because I just want to click and go"
13:03:18linuxstbYes, I am talking about a "click and go" version of mkboot.
13:03:20Bagderthere should be a gui tool wrapping it
13:06:06ripnetukhow about a Delphi tool that is distributed with the associated files, and runs them, md5ing at each stage?
13:06:40LinusNthe final md5 sum should be enough
13:06:57ripnetukmore useful to say 'wrong input file' than 'it didnt work!'
13:07:09BagderI think it sounds fine
13:07:16linuxstbOr more accurately, "unsupported input file".
13:07:21ripnetuki guess
13:07:31linuxstbe.g. the hacked iRiver firmwares that people create (changing bitmaps)
13:07:54Bagderyes, those won't work due to bad md5s
13:08:30HClcan't you make it so it'll auto download the firmware off irivers site..?
13:08:46ripnetukHCl - iriver might change the url
13:08:53ripnetuki guess it could try
13:09:02linuxstbThat also complicates things by needing http and unzip libraries.
13:09:03ripnetukare we disallowed to even distribute the original?
13:09:12Bagderripnetuk: I doubt that
13:09:22BagderI don't think we are allowed to redistribute
13:09:28Bagderbut I don't know for sure
13:09:58BagderI can't tell, I can't browse their site ;-)
13:10:03Bagderno flash plugin
13:10:16*linuxstb has the same problem
13:10:39ElGringolittle problem : I just tried rockbox, and done : "Mount ID3 infos" now, my iHP is freezed. I now there is no emergency stop with rockbox. So, I only can wait for there is no more battery ?
13:10:46*LinusN finds nothing that says that we can't distribute it
13:11:03linuxstbElGringo: The small reset button near the DC input
13:11:04BagderElGringo: there's the reset too
13:11:15LinusN"Mount ID3 infos"?
13:11:58ElGringoI translated rockbox in french, it's a "home made" english translation
13:12:18ElGringothe reset button works with rockbox ?
13:12:31 Join ashridah [0] (
13:12:31LinusNah, "montre"
13:12:44ElGringo"montre" ?
13:12:55LinusNor what is "show" in french?
13:13:08ElGringo"montrer" !
13:13:37ElGringobut in the french rockbox, it's writed "Monter Infos ID3"
13:13:44LinusNi see
13:13:51ElGringoso, I translated with "mount"
13:13:51LinusNdid the reset button work?
13:14:03ElGringosould it ?
13:14:33LinusNinsert a pin into the reset button hole
13:14:41ElGringoI done it
13:14:52LinusNthen you must have missed the button
13:14:54linuxstbDid you hear a "click" when you pressed the button?
13:14:59*HCl stares at his bash script that downloads the iriver firmware, unzips it, descrambles it, merges it with bootloader, and compares md5s
13:15:00ElGringoyou think it could be a big problem ?
13:15:06 Join Patr3ck_ [0] (
13:15:17ElGringoyes, I heared a click
13:15:31linuxstbIs the battery low?
13:15:33LinusNand it didn't reboot?
13:18:34LinusNthen you probably didn't hit the button correctly
13:18:38ElGringoI sorry, I'm so stupid : my pen was too flexible
13:18:49ElGringonow, it's okay ! :-P
13:19:51Cassandra_Right. After the current minor change I've dropped into CVS, I think that the alarm code is as good as we're going to get it without re-engineering Rockbox. I don't really feel up to that task.
13:21:48Bagderif we get a version number on the attached bootloader.bin file, it will be even easier for users
13:23:01LinusNthere is no version number for it
13:23:06BagderI know
13:23:12HCli made a linux script that eats an bootloader.bin/bootloader.md5 and poops out a new.hex with check...
13:23:15Bagderand that is making it trickier
13:23:30LinusNyes, i should add that
13:24:10HClanyone interested in it?
13:24:20linuxstbHCl: Maybe we could add that to the Makefile in the bootloader/ directory.
13:24:32linuxstb(I know how much you love makefiles)
13:25:03HCl :P
13:25:07HClhere.. i'll dcc it..
13:26:03HClonly flaw is that it leaves a new.hex even if the md5sum fails, but i'm not that good with bash scripting
13:26:42Cassandra_Eventually are we going to have a firmware that loads Rockbox direct from flash, or is that impractical on the iRiver?
13:26:51HClshould probably add -q to the diff arguments too
13:27:24LinusNCassandra_: one day we will
13:27:34Cassandra_Good. ;)
13:28:04ripnetukso is there any interest in a win tool to build the bootloader? the problem i see is i would write it in delphi, and im guessing other developers dont have access to delphi to compile
13:28:45Bagderimo, we need a windows gui tool
13:28:52LinusNthat's one problem, the other is that the scrambling and mkboot:ing code would be duplicated
13:28:53Cassandra_That'd be correct, yes.
13:29:05BagderLinusN: not if the tool uses the commands
13:29:09ripnetukLinus - i was leaning towards a shell gui program that called your exes
13:29:10Cassandra_If you have a Windows command line tool, you could integrate it into the installer.
13:29:26 Quit Patr3ck (Read error: 110 (Connection timed out))
13:29:27Cassandra_Actually, you could probably integrate a GUI tool too.
13:29:36LinusNCassandra_: nice idea
13:29:56ripnetukor, i could do it in c# - i think i could then compile your actual c source into it
13:30:17ripnetukbut it would need the .net framework installed to run...
13:30:20HCllinuxstb: better version
13:30:21LinusNshoudn't it be possible to write a vbs script to do it?
13:30:24 Join preglow [0] (
13:30:25ripnetukbut i think a lot of new software does that
13:30:34ripnetukanyone sensible has turned off vbs :)
13:30:44ripnetuktherefore 99% of win users should have it on
13:31:56ripnetukim thinking a c# tool? shall i have a go? does anyone window-using have the .net framework installed?
13:32:06preglowgo c, please
13:32:11preglowit's not that hard
13:32:13dwihnoC with Win32 API
13:32:26ripnetuknot i... never done direct c -> winapi
13:32:30preglowif all that's required is a shell that calls command line apps, i can do it
13:32:34HCllinuxstb: i think you need to delete your existing first o.o
13:32:39preglowi know that much win32
13:33:11ashridahripnetuk: build it with mono and gtk#? you should be able to get it to work in both environments then. although gtk#'s a bit of a bitch to use in windows, last time i tried.
13:33:14ripnetuki guess i could do a c one - i was hoping to include mkboot, scramble and descramble
13:33:36ripnetukash - if I stick with basic windows.forms stuff, the newest mono should just run it
13:33:49ashridahhrm. i didn't think that was functional yet
13:34:02ripnetuki thought the latest beta had it in
13:34:24preglowwhat gui would be required in this tools? a couple of input boxes and an ok button?
13:34:37ripnetuknot completely sure, but in time it will, and like someone said, Linux users know how to use the shell... i for one would trust my own md5 sums more than a program generated one
13:35:02ashridahpreglow: to build it into a firmware. maybe a leecher, maybe a file dialog. a pretty way to say 'it worked' or 'eek, it blew up!'
13:35:03linuxstbHCl: Sorry about that, can you resend?
13:35:16preglowwindows has nice ie based internet api
13:35:18ripnetukdo we even need that much? one input box with browse for original firmware, and and a go button which pops up a save dialog for new firmware
13:35:21preglowso file fetch should be easy
13:35:39preglowripnetuk: right, the bootloader is ofcourse in the exe
13:35:45ripnetukyes, as a resource
13:35:50Cassandra_preglow - you'd need to be able to grab the original firmware from within the program as well for preference.
13:36:02preglowbut this would be no problem in win32 c, i've done stuff like this before
13:36:06preglowi can give it a shot
13:36:29preglowcan we redistribute the original unmodified firmware on the rockbox site?
13:36:32dwihnopreglow: Do you create the controls by hand, or do you create dialogs?
13:36:54dwihno(using some kind of resource thinger)
13:37:13preglowdwihno: i think i've used some kind of resource thinger, but once that's made, it doesn't ever have to be modified again
13:37:21preglowso will compile fine with gnu tool
13:37:44dwihnopreglow: Yeah, I actually never use MS tools anymore when I do stuff like this...
13:37:45preglowwith so few controls, i can just as well code them by hand as well
13:37:48dwihnowindres is your friend :)
13:37:54preglowdwihno: i try to use gcc as often as i can myself
13:39:19ripnetukpreglow - theres no point in both of us trying it - if you can get a gui wokring that compiles using gnu tools and runs without an additional runtime, that is better than what I can do (easily), so go right ahead ;)
13:40:11preglowripnetuk: ait
13:40:24preglowgangster for alright :)
13:40:53ripnetukBAdger should add gangster poetry to his hex petry page :)
13:41:11preglowbut yes, i'll go fetch some food and see what i can do
13:41:22*ripnetuk returns to work project :(
13:41:49preglowthe plan is to bundle along mbkoot and the scramble boys as external exe files to minimize code duplication, yes?
13:42:01ripnetuki would compile them right in myself
13:42:06ripnetuk== simpler
13:42:09ripnetukfor users
13:42:24ripnetukthe additional object code size will be tiny
13:42:45ashridahi agree. abstract out the command line interface and whack it in a separate file and do the actual work in a lib you can compile in.
13:43:36preglowno problem either, it's just a pain if someone updates mboot and scramle
13:43:37 Join DrRick [0] (
13:43:57ripnetukyeah, but that aint gonna happen very often (if at all)
13:44:08 Join lolo-laptop [0] (~lostlogic@
13:45:31ripnetukfor descramble at least all the work is done in main(), so would need abstracting out
13:46:23ripnetukby the way, whats the reccomended way of getting a gcc for Windows that doesnt need cygwin?
13:46:38preglowthat's all i use, more or less
13:46:40preglowi hate cygwin
13:46:45ripnetuki love cygwin
13:46:50dwihnoI love mingw
13:47:00HCli love my cat o.o
13:47:20dwihnoHCl: begone, you computer-hating man! :)
13:47:24HCl :P
13:47:27ripnetuki compiled rdesktop for win32 under it - it just built and ran great (the MS client doesnt support the odd aspect ratio on my laptop screen, but rdesktop does)
13:47:56dwihnouglyness :)
13:50:15preglowif i need a unix-like environment, i use my linux box, much snappier
13:57:48linuxstbWe now have the start of the second codec in CVS - liba52. This actually runs slightly faster than libmad at the moment.
13:58:43linuxstbVery useful for digital TV rips from the US (and a small number of European channels) and DVD audio rips
13:59:33linuxstbI think there's even a Swedish radio station broadcasting in AC3 5.1 surround.
14:00:19LinusNhow doesn it handle 2 channel output?
14:00:43linuxstbIt has built-in downmixing routines. I haven't qute mastered them yet, but I'm almost there.
14:03:20HCl :)
14:03:21ripnetukDo we have any idea how much difference the optimized ram timings will make on the iriver? im guessing that twice the clockspeed == twice the speed of execution, but not sure if ram timings make a huge difference
14:03:43*HCl is wondering that too
14:04:26HClincidentally, i was wondering, does rockbox provide a menu like system for plugins to use or do plugins have to build their own?
14:04:48linuxstbThat reminds me, solitaire's menu is broken with my choice of custom font.
14:05:02linuxstbSo I assume each pliugin does its own thing.
14:05:24Bagderyes, plugins are traditionally rather simple things
14:06:01HCli don't suppose there's any general menu function in rockbox that we could adapt to work for plugins?
14:06:15linuxstbSome simple "widgets" could be useful - e.g. "Confirm Yes/No", choose an item from a list etc
14:06:32LinusNripnetuk: optimized ram timings?
14:06:49linuxstbAn extension of the "splash" function.
14:06:57ripnetuki thought you were working on dram timings? maybe /me misheard
14:07:31LinusNthe dram timing may not be optimal, but close
14:07:46*ripnetuk DID mishear
14:07:53LinusNi might have missed something in the data sheets
14:07:56HCllinuxstb: or a simple menu function with menu items and functions to be called when clicked
14:08:23linuxstbHCl: I was trying to simplify it to the bare minumum
14:08:31HClmmm, i guess
14:08:35ripnetukLinus - im only going on what I read earlier in here - i havent even dared look at the datasheets... i looked at the DAC one and that was plenty :)
14:08:37linuxstbA menu is just choosing an item from a list.
14:08:38HClmy idea was to have as much shared code as possible
14:08:55LinusNlinuxstb: it is trivial to export the menu functions to the plugins
14:09:35LinusNripnetuk: i think i remember somebody saying that the dram timing was nonoptimal, but i can't remember who and why
14:09:38linuxstbLinusN: I'm not familiar with the menu functions, so if they are already there, plugins could use them.
14:10:00LinusNyes, it's basically a matter of exporting the functions in the plugin api
14:10:22HClLinusN: could you do that with your next commit? please?
14:10:28LinusNyou are welcome to have a go at it
14:11:02HClhm, where are the functions located/what are they called?
14:11:20linuxstbapps/menu.[ch] ?
14:16:51Bagderlinuxstb: remember the FILES file when you add new subdirs
14:17:03Bagderit defines what to add to the source tarball
14:17:30Bagder(as used by the tools/release script)
14:17:58linuxstbBager: Yes, I was going to ask you about that - do we need to add apps/codecs/* to it as well?
14:18:01preglowbut if this program is supposed to contain the bootloader patch itself, download a firmware and just patch it, wouldn't a simple bat file be sufficient?
14:18:15Bagderlinuxstb: no, its enough to include the "leafs"
14:18:16preglowthe alternative is a plain windows with a button that just says 'go'
14:18:36Bagderlinuxstb: you can always test-run the script to check
14:19:50linuxstbBagder: How do I do that?
14:20:01Bagder../tools/release mooooo
14:20:11Bagderbuilds a rockbox-mooo.tar.gz file
14:20:27Bagderor perhaps you need to invoke it in the root
14:20:47Bagderyes, you do
14:21:11HClhow do i get make zip to build an extra directory in .rockbox ?
14:21:27LinusNlet the zip contain the dir
14:21:35linuxstbBagder: I've just done it, and apps/codecs/Makefile was excluded - should I add that (and liba52/*) to apps/FILES ?
14:21:47LinusNHCl: ignore me
14:21:49Bagderlinuxstb: yes
14:22:10BagderHCl: tools/ might need attention
14:22:25HClBagder: yea, found it
14:22:33HClneed a savegame dir for rockboy
14:22:49LinusNHCl: let the plugin create it
14:22:53 Quit DrRick (Read error: 104 (Connection reset by peer))
14:23:03 Quit ElGringo ("CGI:IRC (EOF)")
14:23:06bobTHCgood cvs activity this days, it's a pleasure to view how fast the project run
14:24:18linuxstbBagder: Done.
14:24:24HClLinusN: couldn't find an mkdir function in the plugin api... nor anywhere in the code, really
14:24:36*HCl searches again
14:24:56 Join webguest28 [0] (
14:25:33LinusNHCl: dir.h: int mkdir(const char *name, int mode)
14:25:54HClyea, got it, added it to the plugin api :)
14:25:55LinusNadd it to the plugin api and voila!
14:26:50 Join einhirn [0] (
14:26:56HCladding all the menu functions too
14:35:02linuxstbDoes anyone else fancy looking at some codecs? I've done FLAC (I just need to clean it up and commit it), but Tremor still needs to be added by someone. Two other interesting codecs could be musepack and wavpack.
14:35:40linuxstbWe then need to clean up the code, and start seriously thinking about the new audio system.
14:35:56jypWhy then ?
14:36:01jypWhy now now ?
14:36:23jypAlso, how about having a .wav "codec" ?
14:36:48jypit's wavpack probably :x
14:37:01linuxstbwavpack is ".wv".
14:37:40linuxstbYes, we need a .wav "codec", but I don't think there's any point writing anything until the APIs are in place.
14:38:41jypWhich brings us to my first question...
14:39:13linuxstbWhich was (specifically)?
14:39:18jypwhich should have been spelled ...
14:39:37jypWhy don't we start looking at the API/Audio system right now ?
14:40:28linuxstbI think it would be useful to have some clean demonstration code on how the different codecs work before fixing the API.
14:41:03jypIsn't having two of them enough ?
14:41:14jyp(for this purpose)
14:41:37linuxstbProbably, but my implementions could be cleaned up - that's whar I was referring to in my original sentence.
14:42:01LinusNlinuxstb: how do the codecs you've worked with so far want to output the pcm data?
14:42:20LinusNand is it a "push" or a "pull"?
14:42:29linuxstbLinusN - they both have their own internal number formats, which need to be converted to whatever the audio hardware needs.
14:43:03LinusNdo you assign a buffer and have them fill it, or?
14:43:38LinusNcan you say "i want 1152 bytes of pcm data" and let them decode just enough to fill the buffer?
14:44:19LinusNsorry, i guess i should look at the code, but since you are here...
14:45:06linuxstbThey all work slightly differently, but I think we can implement a "decode_one_frame" function for all the codecs - i.e. take one frame of compressed data and output the uncompressed PCM.
14:45:25LinusNthat should be enough
14:45:29linuxstbIf you always wanted to ask for 1152 samples, we would use wrapper functions and internal buffers.
14:45:41preglowlinuxstb: do you use the callback interface with libmad?
14:46:03linuxstbpreglow: No, for all the codecs, I'm trying to use the lowest-level interface provided
14:46:06 Join AC [0] (
14:46:06preglowlinuxstb: great
14:46:16preglowthat's what i was hoping
14:47:07preglowdo you have a rockbox icon i can use? :P
14:47:37linuxstbLinusN: I saw that you changed the Wiki page about using dual-buffers on the MAS devices. Do you think it's a bad idea?
14:47:53LinusNit's a waste of ram, imho
14:48:11 Quit elinenbe (" HydraIRC -> <- The dawn of a new IRC era")
14:48:32jyplinuxstb: I'm not sure what you mean with "decode one frame" ...
14:48:50jypbut vorbis frames overlap
14:48:50LinusNjyp: most lossy codecs are frame based
14:49:01LinusNmpeg frames too
14:49:04linuxstbLinusN Does the bit-swapping-on-load slow down the disk reading, or is it decoding at the same time as it is reading the next block of data?
14:49:16amiconnLinusN: I don't think so. It would be a much cleaner implementation, and the increased ram usage can be kept down to a minimum (thinking ~16 KB)
14:49:28linuxstbjyp: I haven't looked at vorbis yet, but so far all the codecs I've looked at are frame-based.
14:49:46LinusNlinuxstb: is bitswaps after the loading is done
14:49:56amiconnNo, it doesn't
14:50:17amiconnThe swapping of the first chunks is interspersed with the load
14:50:28LinusNamiconn: yes, but the rest is swapped afterwards
14:50:40preglowjyp: all mdct based codecs have overlapping frames
14:50:45 Quit Nibbler ("blubber")
14:50:58amiconnYes. Still, the interspersed swap slows down the loading, as the ata transfer is polled
14:50:58linuxstbWhat's an "overlapping frame" ?
14:51:25preglowwhat you expect, the mdct require a 50% frame overlap when encoding, and hence when decoding
14:51:30preglowit's nothing to worry about
14:51:33 Join R3nTiL_ [0] (~zorroz@
14:52:01amiconnLinusN: Btw, that's why I had to limit the load chunk size for Ondio. Otherwise the load would take so long that the swap couldn't cope, causing the buffer to run empty.
14:52:30LinusNamiconn: yes, it attempts to start the playback as soon as possible
14:53:19amiconnMakes sense.
14:53:33 Join ElGringo [0] (
14:53:49amiconnHowever, imho this would also be possible (and cleaner) with the dual buffer concept
14:54:14 Quit coob (Read error: 60 (Operation timed out))
14:55:04 Quit webguest28 ("CGI:IRC (EOF)")
14:55:34LinusNso the mpeg thread would swap on demand then?
14:56:05***Saving seen data "./dancer.seen"
14:56:29LinusNthe dma irq would ask for more swapped data
14:56:39 Join elinenbe [0] (~elinenbe_@
14:58:17amiconnLinusN: exactly.
14:58:35LinusNworth looking into
14:59:02amiconnThis would need a swapcopy routine instead of the current in-place swap for optimum performance.
14:59:07LinusNit complicates the track boundary checking though
14:59:32LinusNbecause it uses the buffer address
15:00:16amiconnImho this shouldn't matter, as the dma buffer is < 1 sec
15:01:01LinusNthat depends on the bit rate
15:01:25LinusNand the dma buffer must be double buffered
15:01:53amiconnImho the best solution would be to always feed whole frames on demand. This would make premature "switching" easier, as e.g. necessary for the voice UI
15:02:23amiconnThe current solution for this is rather hacky, directly accessing the DMA from application code...
15:03:49LinusNyou seriously want the mpeg thread to search for frames in the swapped data all the time???
15:04:06amiconnNo, but in the unswapped data
15:04:13amiconnHow do you think the track boundary check would be done on iRiver?
15:04:30LinusNthe iriver has a fast cpu
15:04:43LinusNand i meant unswapped, btw
15:04:55amiconnyes, okay
15:06:08amiconnThe search isn't that CPU intensive imho. At least if we use an optimised memchr to search for the 0xFF
15:06:49*HCl cut rockboy down with 50kb
15:07:05amiconnThere is that SH1 instruction for string compare gcc never uses... I already used it for my super-fast strlen()
15:07:41linuxstbHCl: Are you talking about the plugin ramsize requirement?
15:07:45LinusNamiconn: i'm sure it can be made, cpu-wise, but then we eat battery (as the SLEEP instruction will be used less), and the ui response will be slower
15:07:48HCllinuxstb: pretty much :)
15:08:00HCllinuxstb: but i'm planning to use the space i have left to build a dynarec
15:08:03HClso don't decrease it just yet
15:08:10linuxstb:-) OK.
15:08:21HCli just got out all the keymapping stuff and put in a more direct approach
15:09:57amiconnLinusN: I don't think it is that cpu intensive. We'd only have to do the full search at the very start, or whenever we loose sync. Otherwise the length of an mp3 frame is easily determined from the header, so we know where to check for the next frame.
15:10:23LinusNtrue, but why complicate things?
15:11:21HClLinusN: i can just use mkdir on an existing directory, right?
15:11:41amiconnI think the slightly higher complexity would be paid off by the benefits, plus it would better match the iriver way of doing things.
15:13:36Bagderhaving one unified system feels like a good idea
15:13:36 Quit elinenbe (Read error: 104 (Connection reset by peer))
15:15:21linuxstbDoes it simplify porting talkbox to the iRiver if we allow the data to be stored in it's original (non bit-swapped) state?
15:16:18LinusNamiconn: you may be right
15:17:49Bagderlinuxstb: I would assume so
15:17:56amiconnlinuxstb: It may be that you confuse terms here (no offense, you can't know rockbox on archos that much). 'Talkbox' means talking the dir-/filenames, which are plain mp3 clips just with a different extension
15:18:51amiconnThe voice UI (currently) uses a voice file, assembled from a number of individual mp3 clips, which are already bitswapped.
15:19:22amiconnOf course this should be changed to unswapped for iriver, and it would be nice to have archos compatible here.
15:19:48linuxstbSo there's a set of .mp3 files (with the lang strings), and those .mp3 files are already bit-swapped on disk?
15:19:51amiconnOf course it's not strictly necessary; I think we'll have different voice files for both anyway.
15:21:28jypWhy ?
15:21:53Bagderone reason can be that iRiver can have much higher quality
15:22:00Bagderdue to less space restrictions
15:22:02amiconnNot with different vocabulary, but with better quality
15:22:07ACis someone working on a Wavpack codec?
15:22:17amiconnBagder: exactly
15:22:19jypOk... Perhaps even with a different format than mp3
15:22:28LinusNeven so
15:22:29Bagderjyp: right, that too
15:23:18bobTHCthe voiceclip quality is not enough ?
15:24:11amiconnlinuxstb: The individual clips for talkbox are unswapped. The clips representing the .lang strings are bitswapped, and assembled in one single file (xxxxx.voice)
15:24:50ACok... as it seems nobody is working on the Wavpack codec... i will try it :)
15:25:01Bagderac: go ahead!
15:25:29BagderAC: Dave's existing work on codecs might serve as inspiration
15:25:51linuxstbAC: Good luck!
15:25:54HClstupid me.
15:26:48linuxstbI'm working on cleaning up my ???2wav plugins at the moment - I'll soon commit an update whcih will be easier for you to use as a basis for wavpack.
15:27:04LinusNgotta go, cu guys
15:27:09 Part LinusN
15:27:16ACjeah.. will look at dave's work
15:28:01linuxstbAC: But the first stage is just to get the decoder compiling - look in the apps/codecs/ directory - you will need to copy one of the existing lib???/Makefile files into a new "libwavpack" directory, and also add wavpack to the codecs/Makefile
15:29:49linuxstbIf libwavpack gives you different levels of access to the decoding library, go for the lowest level - i.e. you basically just want libwavpack to decode data from one memory buffer and copy the resulting PCM data into a second buffer.
15:29:58amiconnArgh, Linus left :(
15:30:34amiconnI just checked the performance figures I measured when writing the optimised strlen()
15:31:11AClinuxstb: thanks for your tipps
15:33:23amiconnstrlen() of a 1,000,000 byte string takes 0.16 sec with my optimised version regardless of alignment
15:33:38amiconn(when the routine is in IRAM)
15:33:42 Join MO-Pantsu [0] (
15:34:31amiconnstrlen.c takes 0.28 sec under the same condition when long aligned, 0.65 sec for other alignments
15:35:29linuxstbAC: No problem. One last thing - try to make (at least at this early stage) as few changes to the original source files as possible.
15:35:50 Join methangas [0] (
15:36:23ACi make only changes, that it compiles :)
15:38:18 Quit R3nTiL_ ()
15:38:45jypfyi, I can play a buffer of sound samples on the gmini...
15:39:02*Bagder hoorays
15:39:09jypThis is the application: jyp/test-sound2.c">
15:39:32jypThis would be for hubble to have a look if he was around
15:39:45Bagderhe was here earlier today
15:39:52jyp(maybe he's still in hiding ;)
15:39:59linuxstbjyp: So would you say the iRiver and Gmini ports are at roughly the same stages?
15:40:16linuxstbYou seem to be the only one working on the gmini...
15:40:31jyproughly... there's some stuff untested
15:40:53jypSpecifically I'm waiting for a hardware interface
15:41:01jypto recover from a bad flash
15:41:41jypStrath is working on it too
15:41:56 Quit DeadMan (Read error: 60 (Operation timed out))
15:41:59 Join Sucka [0] (
15:42:22jypAlso since we don't support plugins ...
15:42:33jypdecoders are not even compiled (iiuc)
15:43:11linuxstbjyp: I've added a SOFTWARECODECS variable in tools/configure - this is only "yes" for the iRiver at the moment.
15:43:27linuxstbThat controls if apps/codecs is compiled.
15:43:51jypLet's enable for gmini too then
15:43:53jyp(no fear)
15:44:00linuxstbI'll let you do that!!
15:44:18jypOk, I'm giving it a try
15:44:42linuxstbBut I they won't be linked to anything unless you enable the "viewer" plugins.
15:46:15jypThere should be a way to enable the inclusion of plugins in the main build
15:47:47Bagderits in the configure script too
15:47:52 Join Zagor [242] (
15:48:25Zagorhi fellows
15:48:34*Bagder looks into the simulator build not using SOURCES problem
15:48:37*ashridah nods
15:48:41Bagderhi Z
15:52:49amiconnBagder: "<Bagder> its in the configure script too" how do you mean that?
15:53:14amiconnIiuc jyp means a way to include the plugins in the main binary
15:53:15Bagder plugins="" # disabled for now, enable later on
15:53:30BagderI misunderstood
15:53:38 Join R3nTiL_ [0] (~zorroz@
15:54:02amiconn..because of the CalmRISC being a harvard CPU, and not having enough instruction RAM, but only ROM (flash)
15:54:08Bagderrockboy linked-in will be... interesting ;-)
15:54:48jypI didn't hope to link everything... Only some of the plugins
15:55:06Bagderyes, I was just kidding
15:56:01jypHowever rockboy might fit on the 220; 1Mo flash
15:56:28Bagderbut then you won't fit anything else... but who wants more when you have rockboy? ;-P
15:56:53*jyp grins
15:57:32ACmust go now... see you
15:58:06 Quit AC ("CGI:IRC")
16:04:06 Quit mrmags ("Download Gaim:")
16:08:46HCl :P
16:09:02Bagdernow firmware builds fine
16:09:08Bagderwith sim+SOURCES
16:09:28 Join Nibbler [0] (
16:12:03 Quit R3nTiL_ ()
16:12:09 Join pd_lulop [0] (
16:16:50 Quit pd_lulop ("Hasta pronto!")
16:17:25linuxstbjyp: If you compare my newly committed a52towav.c with the previous one, you will see what I meant by "clean up".
16:21:21 Quit ashridah ("sleep")
16:21:21 Quit methangas (Read error: 104 (Connection reset by peer))
16:22:18 Join methangas [0] (
16:25:14 Join elinenbe [0] (~elinenbe_@
16:26:07elinenbewill plugins on rockbox (iriver) allow for sound while music is playing in the background?
16:28:26Zagorelinenbe: i'd like that, yes
16:29:40 Quit Nibbler (Remote closed the connection)
16:30:08 Join Nibbler [0] (
16:30:35elinenbeI would like to listen to my mp3s in the background as I play super mario world!
16:31:05ripnetukmixed in with the gb sound of course
16:31:55Cassandra_I think that's going to be quite a hairy prospect. Doesn't sound easy to code at all. Effectively you'd need a mixer in a seperate thread.
16:32:00linuxstbiiuc, rockboy currently grabs the audio buffer to use for itself, thereby disabling the (currently non-existent) audio playback.
16:32:26linuxstbThe other issue of course is CPU speed
16:32:33Cassandra_Although TBH the idea of virtualising the audio interface and allowing multiple threads access isn't a bad one.
16:32:39Cassandra_Just a hideously complex one.
16:32:44HCland then rockboy had savegames
16:33:37ZagorCassandra_: we will need a mixer anyway
16:33:40HCllinuxstb: yea, at the moment, it does, i'm sort of planning to eventually move memory allocation to the back of the buffer though, so that codecs could remain running if they don't use more than 20mb ram
16:33:45linuxstbThe audio API will include some kind of "play this sound NOW!" function, so most of the plugins and games should be able to use it, but rockboy is a special case.
16:34:09HClin theory the iriver should have enough ram for btoh
16:34:17preglowbut cpu? :P
16:34:28HClshush! i never said anything about cpu! :P
16:34:42preglowwell, frameskip is a good thing
16:34:45HCl :P
16:34:54linuxstbGiving up part of the audio buffer may complicate things, but maybe on the iRiver it's worth the complication.
16:34:56HCli haven't resorted to that yet.
16:35:23HCllinuxstb: yea. i'm kind of assuming that most codecs won't use more than 20mb ram
16:36:37linuxstbHCl: The basic principle is to save as much RAM as possible for the buffering of compressed audio data - so we can keep the hard drive turned off.
16:36:42preglowwell, i've mashed all the scramble and boot code into a win32 app, but something crashes :V
16:36:50HCllinuxstb: mhm
16:36:59linuxstbSo I would imaging we would use about 30MB of RAM for buffering during "normal" usage.
16:37:19HCllinuxstb: well, rockboy uses roughly 600kb + romsize + memory of the rom (usually 32kb)
16:37:29HClso it doesn't have to be that much
16:37:41linuxstbSo you probably don't need the MP3 buffer at all then?
16:37:45preglowdynamically resizable mp3 buffer would be nice
16:37:54HCllinuxstb: romsize ranges from 32kb - 4mb
16:37:59Zagorpreglow: and very very complex
16:38:50linuxstbI don't know, but maybe the optimised split between compressed and uncompressed data will vary with the codec - will FLAC be the same as low bitrate MP3?
16:38:54preglowZagor: why the 'very very'? worst case is you'd have to move the entire mp3 buffer and ditch some data ;)
16:39:18Zagorpreglow: yeah. while playing that same buffer.
16:39:39elinenbeHCl: what is the current speed of rockboy on the target?
16:39:48HClelinenbe: too slow, but its at 11mhz
16:40:08HCli can't really say till linus manages to get it to 140mhz and ram waitstates are lessened
16:40:30elinenbeah, what % of realspeed at 11mhz?
16:40:46HClits going at about 1.5 frames per second
16:40:52elinenbenot bad...
16:40:54preglowbut yes, i really cherish my mp3 buffer, so would be great if it could only be resized while it's not playing or something
16:41:02elinenbeonly about 1/50th realspeed!
16:41:06preglowi don't want to sacrifice a meg of buffer just so i can play gameboy from time to time
16:41:28preglowHCl: wow, you've made progress
16:41:50HCli tried some speed optimizations.. lcd driver was rewritten..
16:42:00HClcleaned up the code, fixed the warnings..
16:42:04preglowany way i can try this newly speeded up version?
16:42:11HClyea, hold on...
16:43:06 Quit Nibbler (Remote closed the connection)
16:44:49 Join DeadMan [0] (
16:45:37 Join Nibbler [0] (
16:45:39 Join NibbIer [0] (
16:46:09preglowcan rockbox reload itself without having to reboot?
16:46:30Zagoron archos, yes
16:47:12 Quit NibbIer (Client Quit)
16:48:17preglowHCl: cool, it's a viewer :P
16:49:02HClsupports savegames now too
16:49:27preglowi can't wait to see this in 140 mhz
16:50:28bobTHCgrayscale dont already works on iriver?
16:50:40HClif it did
16:50:44HClrockboy would be even faster
16:52:01preglowbut yo, any suggestions on what this windows patching tool should do? patching is a no-brainer, download firmware should work eventually
16:52:03HClturning a 4bit grayscale into black and white is still a fairly expensive operation
16:52:26preglowHCl: isn't it 2bit?
16:52:53preglowdoesn't just checking the top bit work?
16:53:06preglowthat'd map 00 and 01 => black, 10 11 to white
16:53:35ripnetukpreglow - it should md5 the input file, ooutput file and bootloader.bin to check they are 'supported' versions
16:53:38*HCl scratches his head
16:53:42HCli guess that can work
16:53:44HCllet me try that
16:53:46preglowripnetuk: wouldn't md5 of output be more than enough?
16:53:51HClno, wait.
16:53:52preglowripnetuk: bootloader.bin is in the exe
16:53:59ripnetukok :)
16:54:00HClhm, yea.
16:54:20preglowi figured you'd want bootloader.bin in the exe to minimize chances of things screwing up
16:54:56preglowHCl: i'd say don't waste much time on it
16:55:09HClyea, doing it with just a bitshift now
16:55:11HCllet me recompile
16:55:15HClshould be a bit faster
16:55:49HCli need someone to confirm that super mario land doesn't have a savegame..
16:55:59ripnetukHCl -= it doesnt
16:56:06preglowripnetuk: right now i just use iriver.c straight as it to do the scrambling, not very pretty, but it works
16:56:07***Saving seen data "./dancer.seen"
16:56:35ripnetukthe sequal 6 gholden coins does
16:59:29HCli killed my first enemy
16:59:31HClin mario
16:59:39HCl100 points :P
17:01:05ripnetuki havent even found my first enemy yet
17:01:38HClif you walk to the right a bit
17:01:43HClit'll come walking towards you
17:01:48HClyou really gotta time well when to jump
17:01:59ripnetukwhich button is jump?
17:02:07ripnetukaha i see him :)
17:02:29preglowHCl: you are well aware that having a working gb emulator on my mp3 player is going to be the coolest thing in the world, yes? :)
17:03:00HCl :P
17:03:00ripnetukhes gonna miss :(
17:03:10HCli have a slightly faster lcd driver now
17:03:21HCland it comes with an entire new look
17:03:23HClfor mario
17:03:23HCl :P
17:03:27bobTHCit's one of the killer apps for rockbox os
17:03:50ripnetukgot him
17:03:55HCl :p
17:03:57bobTHCthe split edit is an other
17:04:00preglowbobTHC: it will most certainly show the advantages of an open source os, for sure
17:05:03HClit actually looks loads better.
17:05:11HClwhen i don't render the mid-grays to black
17:07:34ripnetuki thought the jpg viewer worked on iriver - is it not so?
17:08:19ripnetukmyabe it uses the grayscale lib
17:09:12preglowit does
17:09:56preglowso what you need to do is tempt amiconn to buy a h1x0 before it's too late, and i'm sure will see a coldfire optimized grayscale lib not long after ;)
17:12:25HCl1000 points
17:12:38ripnetukdoes anyone else want a 'reboot' function in rockbox - or do we already have one?
17:12:42 Quit MO-Pantsu (Read error: 110 (Connection timed out))
17:12:42HClpreglow: care to try the version on my ftp with the alternate 2bit->1bit color?
17:12:47HCli want one.
17:13:09Zagorripnetuk: we already have it - rolo
17:14:45linuxstbIt could be useful to be able to start the iRiver firmware from ROM (or a .hex file on disk) as well.
17:15:10linuxstbErrm, not sure why though...
17:15:15HClthats the same as reboot + holding rec
17:15:35 Join wacky_ [0] (
17:15:41wacky_hey :)
17:16:09preglowHCl: sure
17:16:35ripnetuka simple menu option 'Load iRiver firmware' would be nice
17:16:43preglowHCl: care to url me again? can't find it :)
17:18:26 Nick Lynx_ is now known as Lynx_awy (HydraIRC@
17:18:32wacky_hey is the shortname extension problem really hard to fix ?!
17:18:39HClprobably not
17:18:59HClits just a matter of using the original extension but randomizing the 8 char filename a bit
17:19:01wacky_any clue where I should start looking ?
17:19:02HClmuch like how windows does it
17:19:19wacky_I'd really like that iriverify plugin to work! :)
17:19:19HCli think you'd have to look for O_CREAT in open()
17:19:25ripnetukI was reading how windows does it earlier - aparently if you have 300000 files in a dir it gets confused and takes 8 attempts to generate a short name :)
17:19:28preglowHCl: it even looks nicer
17:19:31HClpreglow: yea
17:19:40HClpreglow: think you can make some pics?
17:19:43preglowHCl: sure
17:19:45HCli'm trying to load pokemon yellow into it
17:19:47preglowgimme a sec
17:19:50HClit didn't look all that with the old driver
17:19:54HClwondering how it looks now
17:19:58HClit takes ages to boot
17:20:14preglowanything partiulcar you want depicted?
17:20:20HCli dunno.
17:20:26HCllet it run for a while
17:20:29HClwithout touching any buttons
17:20:33HClit'll go into demo mode
17:20:37HClwhich is nice for pictures
17:20:43HClcause it makes it seem as if its playable XD
17:21:10linuxstbwacky_: It's in the firmware/drivers/fat.c file. You will need to change the "first guess" filename in create_dos_name() to use the first three characters of the extension from the longname, plus then change the part of the code that randomises it and tries again so it randomises part of the 8 characters instead of randomising the extension.
17:21:13HClpokemon yellow starts displaying at about 96
17:21:35wacky_linuxstb - gooood :) thanks!
17:23:06linuxstbwacky_: The problem is that if you don't randomise the "first guess" filename, you will get the first guess filename wrong a lot of the time. But that may not be an issue if Rockbox only rarely creates files.
17:23:32preglowHCl: approx how long until it goes demo mode?
17:24:01HClpreglow: dunno, i was just running it for a long time and i suddenly noticed it doing stuff while i wasn't touching it
17:24:44preglowyeah, i remember mario games used to do that
17:27:32*HCl wonders why pikachu is still black :/
17:27:39HClcycle 701
17:28:52preglowso i see
17:29:10HClthis is kinda cool
17:29:20HClpokemon yellow at cycle 800 = nice for pictures
17:29:42amiconnlinuxstb: I noticed you moved common code int xxx2wav.h. I once had a discussion with Linus et al about that - having actual code in .h files is badness.
17:29:57wacky_where can I get my hands on the roms ?!
17:30:00linuxstbamiconn: Yes, I know.
17:30:09preglowHCl: gimme the rom and i'll see
17:30:13HClhold on
17:30:24ripnetukwacky - usenet
17:30:28linuxstbTwo reasons: The plugin build system maps one .c to one .rock, and it's only really testing code that I think will eventually be deleted from CVS.
17:31:10linuxstbBut if you would like me to change it somehow...
17:31:32 Join mecraw [0] (~mecraw@
17:32:05HClpokemon roms
17:32:23HClnm, that one is dead :/
17:32:31amiconnlinuxstb: My suggestion would be to make these routines part of the plugin library
17:32:50preglowbut ok, that concludes my mario shooting session, it was getting a bit hard on my back :PP
17:33:08wacky_cool :) thanks :)
17:33:14preglowpokeyellow, yes?
17:33:29 Join MO-Pantsu [0] (
17:33:29HClzelda should be interesting too
17:33:33HClhaven't tried those
17:33:51jyplinuxstb: More work ahead for me; since libmad cause ICEs :/
17:33:51linuxstbamiconn: OK, I think that may work. I'll have a look at it.
17:33:54wacky_which pokemon you suggest ?
17:34:00wacky_I really don't know pokemons :)
17:34:07linuxstbjyp: What's your stack size?
17:34:07HCli dunno, i like yellow.
17:34:11HClbut like
17:34:18HClcrystal / gold is best for gameboy
17:34:26HCli'm not even sure if crystal is still for the plain gb.
17:34:28jyplinuxstb: internal gcc errors
17:34:37linuxstbAh, sorry.
17:34:42wacky_ok :) anyway .. I'll fix my plugin first
17:37:31wacky_linuxstb - is there any double check to ensure the randomised extension doesn't already exist on disk ?!
17:37:55HClthis is sweet
17:38:09wacky_HCl - ?
17:38:11HClpreglow: with pokemon yellow, after it loaded a while (600 or so) press start
17:38:33HClxD i'm getting the idea that this rom is spanish
17:38:35HClrather than english
17:38:37HClbut ah well
17:38:58HCledicion amarilla XD
17:39:00SuckaAlle ROMs are 100% English
17:39:07Suckagood to know they can spell "all"
17:39:20Suckaso they MUST be in english
17:39:34amiconnlinuxstb: A hint for the API proposal and the 'type' bits: The MAS cannot play layer 1, only layer 2 and 3. Imho we should have one bit per mpeg audio layer.
17:39:59wacky_can you guys tell me why the return codes are always *10 when returning from a function ?
17:40:31wacky_oh, it's so you can have both errors ? the function error in multiples of 10, and your errors as units ?
17:41:23*HCl tries a different rom from
17:41:55amiconnwacky_: Yes, it is implemented that way to be able to trace the "error chain"
17:42:01 Quit DeadMan (Read error: 60 (Operation timed out))
17:42:26wacky_amiconn - nice :)
17:42:31 Quit lolo-laptop (Remote closed the connection)
17:43:18wacky_linuxstb - so the randomisation occurs only once, and isn't double checked, as far as I can see ?
17:43:50preglowok, i've got a pic of pikachu
17:44:02linuxstbwacky_ search for "%03X" in fat.c - you will see it's there twice.
17:44:12wacky_so we could take the first 4 chars from the original longfilename, randomize the 4 left, take the real extension, and we would have decreased the error percentage ! :)
17:44:20wacky_by 10
17:44:25 Join lolo-laptop [0] (~lostlogic@
17:44:51preglowHCl: anything more than the title screen you had in mind? i can't get this shit to react
17:45:20linuxstbwacky_: I'm not an expert on the fat.c code, so hopefully someone else can review your patch. But I'm glad you're looking at the problem.
17:45:45linuxstbamiconn: Thanks for the Layer I tip.
17:46:04wacky_ahh.. I'll print it out for the run.. have to go soon
17:49:26HClpreglow: just the title screen with "pokemon" and pikachu at the bottom
17:49:33HCli just found the english version, by the way
17:51:04HClpreglow: on my ftp, series of english pokemon rom
17:52:31preglowsorry, pictures taken, i'm not about to wait for the title screen again, heh
17:53:00 Join Aison [0] (
17:53:28 Join phalloides [0] (
17:53:28HCl :)
17:55:01HClthats what i meant
17:55:12HClaside from it being spanish, but ok, doesn't matter XD
17:56:07phalloideshello. i have a question about low external voltage readings. Anyone feel like helping me?
17:56:08bobTHCif this picture are slashdoted , the forum will have a heavy traffic
17:56:36preglowit's not impossible, you know
17:57:44preglowwell, my box is on a 100mbit line, and i've never stress tested it thoroughly enough ;)
17:57:54bobTHCit's good to be slashdoted, but when the thing work if not, a lot of ppl will complain about
17:58:02 Quit mecraw ()
17:58:32preglowwe don't really need that kind of attention yet, no
18:02:39 Quit ripnetuk ("Leaving")
18:09:06wacky_do you know any command line utility that could tell me the short filename of a file on vfat ?!
18:09:24linuxstbwacky_: What O/S are you using?
18:09:27wacky_linux :)
18:09:47linuxstbThe only way I know is to mount it using "-t msdos" - you will then only get the shortnames
18:10:15wacky_oh good :)
18:10:58 Join Hohoman [0] (
18:11:50wacky_ouch.. the file isn't even there!
18:12:30wacky_if I enable debug in the firmware.. what kind of output will I get ? and which functions or macros triggers debug output on the device ?
18:14:05amiconnwacky_: The debug output is meant to be used with gdb, via a stub and a suitable form of communication between host & target
18:14:29amiconnOn the archos there is a gdb stub that uses serial, but there is no gdb stub yet for iRiver
18:14:58wacky_and.. nothing is logged to a file on the disk ? that would give tips at least?!
18:15:28amiconnFor that kind of stuff, you'd need to add your own debugging methods.
18:15:44wacky_is it safe to use api->splash() all the time ?!
18:15:48amiconnI often use splash() for that, especially on Ondio
18:15:56wacky_ok good :)
18:16:04wacky_even in fat.c ??
18:16:22amiconnYou shouldn't over-use splash because it immensely slows down things if called often.
18:16:36jyplinuxstb: Have you tried to compile libmad with gcc 3.4.4 ?
18:16:38wacky_well just for debugging..
18:16:51amiconnI even used splash() very lowlevel - for debugging the MMC driver on Ondio
18:17:22amiconnOn Ondio I am unable to use the gdb stub - both serial i/f are taken
18:17:29linuxstbjyp: No, I'm using 3.4.2 for Coldfire, and 3.3.5 as my native x86 compiler
18:17:30jyplinuxstb: I mean 3.4.3
18:18:01jypThe error is very strange...
18:18:09jypreturn offset_table[bitalloc_table[offsets[sb]].offset][index - 1];
18:18:15jyp... this fails
18:18:28jypunsigned short x = bitalloc_table[offsets[sb]].offset;
18:18:33jypreturn offset_table[x][index - 1];
18:18:39jyp... this works!
18:19:05 Part phalloides
18:19:06 Quit elinenbe (Read error: 104 (Connection reset by peer))
18:20:14 Join elinenbe [0] (~elinenbe_@
18:20:34linuxstbjyp: Very odd. Is that the only problem, or are there others?
18:21:15jypThere's another one
18:21:18jyp(at least)
18:22:28linuxstbWould it help if I built a 3.4.2 cross-compiler for the gmini? and tested it?
18:22:57jypUnfortunately t exists only in 3.4.3 version
18:23:43jypbackporting is to 3.4.2 seems not worth it
18:24:44jypTo be sure, I'm working on the calmrisc (gmini) port of gcc...
18:24:49Zagorjyp: tried asking in #gcc ?
18:25:19jypbut it smells like the error is in the machine independant code
18:26:01jyphmmm, I hanged in #gcc before... It was quite unhelpful
18:26:15jypThe mailing list would be the way to go
18:26:48jypBesides I just discovered the error
18:27:01jypI mean, cornered it
18:30:44jypI have to go... See you
18:30:46 Quit jyp ("poof!")
18:32:35 Join Lmcmann [0] (
18:33:01LmcmannAfternoon, all
18:33:04 Quit Patr3ck_ ("User pushed the X - because it's Xtra, baby")
18:34:14LmcmannSorry to sound like a newbie, I've been using your firmware on an FM for quite a while now.
18:34:21LmcmannLove it, of course.
18:34:54LmcmannI have a question. I've tried searching around and couldn't find the answer, so I'm trying here.
18:35:41LmcmannAfter the 120 support gets finished, is someone going to play with 320 support?
18:37:58preglowLmcmann: very probable
18:38:18preglowit's probably going to share a lot of code with the h1x0 port
18:39:14LmcmannThat's dang fine news.
18:39:41LmcmannOn a related note, does anyone know of any 120's that are being closed out?
18:39:41preglowbut of course, no guarantees
18:39:47LmcmannOf course.
18:39:56preglowclosed out?
18:40:08Lmcmannas in, cheaper than retail because they're discontinued.
18:40:18preglowno idea
18:41:20LmcmannThanks for the info. You amy now return to your regularly scheduled program <g>.
18:41:28Lmcmanner amy=may
18:41:29ZagorLmcmann: you mean the av320?
18:41:48LmcmannNope, the Iriver
18:43:01LmcmannThe av320 would be neat, but I didn't think you were working on it.
18:44:45 Quit bobTHC ("( :: NoNameScript 3.81 :: )")
18:47:09wacky_hmm.. anyone still here ?
18:47:24LmcmannI was wondering the same thing.
18:47:32LmcmannOf course, I don't count, really.
18:47:38wacky_you know the fat thing ? the naming is now okay, but the file doesn't even appear when I mount with -t msdos
18:47:47LmcmannNot that there's anything wrong with that....
18:48:14rasherwacky_: sounds like you broke something, subtly, but horribly :)
18:48:19rasherI'm of no use, sorry
18:49:19wacky_hahah ...
18:49:32wacky_I hope not..
18:50:20linuxstbwacky_: Obvious question, but does it appear with "ls -al"
18:50:49linuxstb(I hope you have a backup of anything important on your iRiver)
18:56:08wacky_linuxstb - heehee :) well yes I do have a backup
18:56:09***Saving seen data "./dancer.seen"
18:56:19wacky_and it doesn't appear on the drive mounted as msdos, but as vfat yes
18:56:29wacky_and it appears in the rockbox navi
18:56:40wacky_must the shortname have a . in it ?
18:56:49wacky_between the 8th and the 9th chars ?
18:57:09wacky_it generates: DYNA9869M3U
18:57:13 Join mecraw [0] (~mecraw@
18:57:20wacky_for an input of dynamic.m3u
18:58:11linuxstbwacky_: Looking at fat.c, I think you are right - i.e. 11 characters without a dot. But I'm not an expert on that code.
18:59:07wacky_hmm.. some weird things happen :)
18:59:13wacky_but it's alright
19:00:02*rasher stares blankly at rockout.c
19:00:23rasherThat's what I get for coding at night
19:00:27rashernone of this makes sense to me now
19:01:43wacky_ohhh :) gotcha! :)
19:01:47wacky_ohh yeah :)<
19:03:26wacky_ohhh yeah :) that's goooood
19:04:21linuxstbwacky_: Are you happy now?
19:04:22preglow_o/ |o_ _o/
19:06:32HClyay. i'm back
19:07:11wacky_ok.. I really have to go.. but I'll put up the patches on my website.. maybe some of you guys can review.. I'm not a champion in C programming.. it's been a while I've done that.. so .....
19:08:44wacky_ and .. put the second one in apps/plugins/
19:09:05wacky_see ya later :) now you have otf playlist support for your iRiver to play with right away !
19:09:40*rasher adds a link in the todo wiki
19:10:10wacky_you can get also
19:10:24linuxstbwacky_: Can you do a unified diff? e.g. diff -u3 ?
19:11:24wacky_see ya later :) and thank you for your awsome work and your awsome team
19:11:31wacky_linuxstb - ok.. updated.. check it out again
19:11:44 Join quelsaruk [0] (~kvirc@
19:11:55HClhey quelsa thingy
19:11:57HClhow goes?
19:12:00HCl :p
19:12:18quelsaruklearning interesting things :)
19:13:23quelsaruklike there's a linux version of ISTRAM software (spanish civil engineering software) :)
19:13:28linuxstbwacky_: Thanks. I'll be interested to see what others think of it - hopefully it (or something very similar) can be committed.
19:15:10wacky_see ya :)
19:15:14 Quit wacky_ ("babyye")
19:17:05amiconnlinuxstb: wacky_'s extension search looks a bit odd to me. There is strrchr() available in rockbox...
19:17:07 Quit einhirn ("Miranda IM! Smaller, Faster, Easier.")
19:18:11*HCl learned a new english word :d gobbilygook
19:18:30quelsarukHCl: and means....?
19:18:42HClum. "abacadabra" in dutch o.o
19:19:39 Quit Cassandra_ (Read error: 110 (Connection timed out))
19:19:52 Join Cassandra_ [0] (~christi@
19:20:47linuxstbamiconn: Yes, I was thinking exactly the same thing.
19:22:23linuxstbamiconn: What is the cost of a filename clash? Would it be acceptable to not randomise the "first guess" filename at all, but just fit the long name into the short name? I'm guessing that file creation will always be a rare task in Rockbox.
19:23:06amiconnThe cost is that it needs to reiterate. Shouldn't matter that much
19:23:52amiconnFile creation may be not so rare depending on the main use. Recording may create a number of files...
19:24:34amiconnBut yes, files won't be created frequently, i.e. certainly not several files per second.
19:26:44linuxstbBut thinking about it, I'm happy enough with wacky_'s logic - i.e. just randomise the second four characters in the name.
19:27:11amiconnNot randomising the first try may not even need much additional code.
19:27:33amiconnFirst, create the shortname from the longname.
19:28:07amiconnThen try if it's already taken, if yes randomise char 5..8 and retry
19:28:37amiconnIt's simply a matter of reversing the order things happen in this loop
19:29:08linuxstbDo you want to have a go at it? I'm sure you're better at writing tight C than I am.
19:30:08 Join Stryke` [0] (~Chairman8@resnet-241-86.resnet.UMBC.EDU)
19:30:27amiconnHmm. I can try.
19:37:12 Join DeadMan [0] (
19:39:41amiconnlinuxstb: There is a problem with wacky's method to always place the random part at char 5..8
19:40:11amiconnIf the shortname itself is shorter than 4 chars, there would be a space in the shortname, which is not allowed
19:40:30linuxstbIsn't it?
19:40:56linuxstbCould we just pad with "_" ?
19:41:55amiconnWe could. However, I think this should be done a little different. We can search for the place where to start the random padding.
19:42:39linuxstbOK, I was just trying to keep it as simple as possible.
19:43:59amiconnHandling the case of a .dotname is also a bit tricky. The name part of a shortname must not be empty (and in that case I think the shortname should be the part after the '.')
19:44:27linuxstbAre you regretting looking at this now? :-)
19:45:10amiconnHmm. I need a way to check the actual shortname... :-/
19:45:21amiconnWindows doesn't tell me
19:45:35linuxstbDoesn't "dir /x" do that?
19:46:12amiconnAH, of course. Should have though of 'dir'....
19:46:25linuxstbYour trusty old friend.
19:46:37quelsarukour friend :)
19:46:51amiconnAnd as I see, windows indeed uses the part after the dot for .dotnames
19:47:05amiconn.rockbox has a shortname of ROCKBO~1
19:55:20 Quit MO-Pantsu (Read error: 110 (Connection timed out))
19:57:28preglowdecrypting/encrypting a iriver firmware is never supposed to alter its length, right?
20:00:13 Join hubble [0] (
20:00:59amiconnlinuxstb: Now I have a nice-looking create_dos_name() that keeps both name and extension as much as possible.
20:01:13amiconnThe randomising will be done in another place.
20:05:31linuxstbamiconn: very nice.
20:09:49 Join webguest68 [0] (
20:10:21webguest68can someone tell me at what sysclock the iRiver H100 is running?
20:12:00webguest68Ok, thanks anyhow
20:12:07webguest68i try later; bye
20:12:09 Quit webguest68 (Client Quit)
20:16:19 Quit quelsaruk ("Instaling 1GB DDR400 more :)")
20:20:05 Join bg_ [0] (
20:21:14 Join Chamois [0] (
20:21:22bg_does the iriver HP-1XX series lcd support grayscale?
20:21:31rasherYes, 2bit
20:21:34Chamoishubble : any news about sounds on our iriver ?
20:21:45rasherbut rockbox doesn't support it at the moment
20:22:08bg_yeah... i was looking at the iriver firmware and just noticed monochrome
20:22:17bg_maybe except the boot screen
20:22:48Chamoislots of things on the iriver original firmware are in grayscale
20:23:25bg_it appears they use dithering
20:23:28bg_not grayscale
20:24:10Chamoisare you sure?
20:24:13bg_then again im only looking at the play screen
20:24:34rasherI'm quite sure they use greyscale. Especially noticable on the boot screen
20:24:36bg_oh i see it now that ive gone to the navi screen
20:24:39Chamoistay a look in the menu
20:25:05Chamoisyes in the navi screen grayscale are used
20:25:09hubbleChamois: i'm looking into DMA currently
20:25:19Chamoisok good luck
20:25:31hubbleChamois: which is needed for a working audio driver
20:25:47Chamoisi know i know
20:25:54Chamoisbut i let you work
20:26:32bg_I wish i knew enough to work on embedded systems... do most people working on this project have formal training or just years of messing around?
20:27:39Bagderand none
20:27:47Bagderall kinds exist
20:28:21hubblethis is my first embedded project i guess, so I'm learning a lot
20:29:57bg_i guess once you get past all the low level coding its not too different huh?
20:30:39Bagderyeps, most of Rockbox is just plain normal programming
20:31:35rasherI need to get an idea of what I'm doing
20:31:56 Join cabr [0] (
20:32:06rasherthis so called collision detection is annoying stuff
20:32:14cabrhello there
20:32:35cabrmy hard disk crashed
20:32:41cabrI mean the hard disk of my jukebox
20:33:04cabrdoes anyone know, if I can replace it with a 40gb hard disk?
20:33:12 Join LinusN [0] (
20:33:20Bagdercabr: yes you can
20:34:32LinusNhubble: i looked at your code
20:34:50cabrand I can use the full space?
20:34:55bg_im gonna cry the day the HD in my 140 goes. Just happened to my laptop a couple weeks ago
20:35:12Bagdercabr: yes, if you don't use (a recent) windows to format the fat partition
20:35:22Bagdercabr: I have an 80GB in my archos
20:35:33 Join XShocK [0] (
20:35:36linuxstbOops, just noticed I broke the SIM builds - but I know the solution.
20:35:58cabrso if I format it in fat32 it'll be ok?
20:36:09Bagdercabr: yes
20:36:18Bagdercabr: and make sure it has a partition
20:36:26preglowrewriting the scramble code to not interact with files is going to be pretty boring....
20:36:48cabrthanks a lot
20:38:32XShocKi am not very familliar with licensing. if there is a GPL source. If I take that source and put it in my prog, technically will it be considered illegal if I change that code a bit, and do not show who did it in the begining?
20:38:55XShocKmy prog is also GPL
20:39:13BagderXShocK: strictly speaking, yes
20:40:24XShocKok thanks. :)
20:41:05rasheryes, I'm pretty sure you need to mark it with original copyright owner
20:43:21amiconnDoes anyone have a suggestion for the best way to put a (random) hex string _in the middle_ of another string, without inserting a null byte?
20:43:39LinusNyou mean insert the string?
20:43:46 Quit cabr ()
20:44:03amiconnNo, replace 4 chars with 4 new chars. String length should remain the same
20:44:16LinusNhow hard can it be?
20:44:29linuxstbI think he's looking for clever ways.
20:44:51LinusN"clever", meaning what? fast? elegant?
20:44:58linuxstbI don't know :-)
20:45:00amiconnUsing snprintf() directly would close the hex string with a null byte, thereby chopping off what comes after that
20:45:19XShocKmemcpy I think.
20:45:21linuxstbMaybe just snprintf to a temporary string, then copy
20:45:28XShocKi think strcpy will put zero in the end
20:45:35LinusNnot strncpy
20:45:49LinusNbut *maybe* our implementation does
20:45:52XShocKaaa oh. did realize. :)
20:45:52amiconnYes, that's clear. I wondered whether there would be a better method
20:46:03LinusNthe standard implementation doesn't add a null byte
20:46:14LinusNbetter in what way?
20:46:23linuxstbOr save the 5th character and then restore it after it's overwritten with the null....
20:46:26Bagdersnprintf(buffer... "%c%c%c%c") works
20:46:53Bagderbut not very elegant
20:47:07LinusNmemcpy is probably the easiest
20:47:29amiconnYeah, the snprintf() itself is not a problem, and I'll use snprintf(buffer... "%04x") anyway
20:50:22 Join Quelsaruk [0] (~kvirc@
20:50:32Quelsaruki'm amazed
20:52:53Quelsarukhow can windows need 512MB of ram?
20:53:42Bagderit needs to fill it up so that the swap space gets used fine
20:53:56linuxstbDoes anyone know the "−−param large-function-growth limit reached" warning in gcc? I get the warning when compiling FLAC, and am wondering what the best solution is.
20:54:08 Join einhirn [0] (
20:56:12***Saving seen data "./dancer.seen"
20:56:21XShocKlinuxstb: I think you need 3.3 gcc
20:56:49linuxstbWhy ?
20:57:08preglowbecause gcc 3.4 has broken inlining
20:57:10preglowsome places
20:57:12XShocKI think I have seen this problem dicussed before. I remeber people talking that 3.4 has this problem and 3.3 doesn't have it
20:57:46linuxstbWhich version does the CVS build system use?
20:58:23Bagdergcc 3.4.1
20:58:39Bagderfor m68k
20:59:09preglowlinuxstb: it doesn't break anything, but things will run slower if it depends heavily on inlining
21:00:02linuxstbOK, I'll commit it as it is, and we can take it from there.
21:00:33amiconnlinuxstb: My shot at the extension problem adds 120 bytes to the binary size on archos. Let's see whether it works...
21:03:14amiconnBagder: There is a bug in the 'diff' linking from the 'latest cvs activity' page
21:03:35amiconnIf a file is removed, following this link gives back a 404...
21:04:01Bagderanything visible atm?
21:04:12amiconnTry with apps/plugins/xxx2wav.h 1.3
21:05:03BagderI'll work on that later
21:05:13BagderI'm on the sim build now
21:05:15amiconnPerhaps this shouldn't be a link for a removed file, same as with new files
21:05:32Bagderright, the tricky part is gonna be to detect it being a delete
21:06:05amiconnIt could even show a behind the version number ;)
21:08:01Bagderit builds
21:08:03Bagderand starts
21:08:40amiconnhrmpf. My shortname handling obviously has a bug :(
21:10:40amiconnHehe, I obviously created an endless loop...
21:14:53LinusNamiconn: did you have a look at the patch by wacky_?
21:15:06amiconnYes, I had.
21:15:18LinusNjust checking
21:16:39amiconnLinusN: See the irc log, starting ~19:15 cet
21:18:33amiconnSeems to work now. Anyone interested in a diff, or should I directly commit?
21:18:58LinusNcommit it if it works
21:20:58amiconnNow all recordings get an .MP3 extension in the shortname :)
21:23:01amiconnHmm, it looks like create_dos_name() once was supposed to return an error code, but currently always returns 0. Should I change it to void ?
21:24:35XShocKis DMA used in Rockbox in iriver now?
21:24:46HCl :)
21:25:05LinusNHCl: you must know something about the dram timing that i don't
21:27:37HCli do?
21:27:50HClno no, i'm just repeating what other people told me :x
21:29:09LinusNi can't remember claiming that the dram timing was slow
21:29:15LinusNor did i?
21:29:21preglowthink you did
21:29:28LinusNi must have been confused
21:29:36preglowoh, that's alright
21:30:01HClbut okay
21:30:05LinusNthe dram *refresh* timing needs attention, though
21:30:14XShocKLinus: I think you did say something like that.
21:30:18LinusNit is way too slow at the moment (!)
21:30:20HClhows the cpu scaling thingy going? :x
21:30:39LinusNworking on the dram refresh and the i2c clock scaling
21:30:49HCl :)
21:30:55*Sucka smooches rockbox
21:30:55bg_do you expect rockbox to extend the battery life of the iHP's?
21:31:01bg_with the scaling and whatnot..
21:31:07LinusNproblem is that a whole bunch of peripherals are affected by the pll change
21:31:22preglowi would expect the opposite, at least in the beginning
21:31:36bg_worse at first?
21:31:39LinusNbg_: the whole point of changing the cpu speed is to conserve power
21:31:59preglowbut we'll se, no way of knowing how good the iriver firmware is in that regard
21:32:02LinusNbut we will set it high and work our way down :-)
21:32:38bg_yeah, was wondering how well the original firmware handled scaling
21:36:16LinusNhubble: u there?
21:38:17 Quit Lmcmann ("CGI:IRC")
21:43:21amiconnAh, special case working too :)
21:43:41hubbleLinusN: yes
21:44:00LinusNhubble: i looked at your code
21:44:38LinusNlooks good, however, 9.8kbit/s isn't a lot :-)
21:45:20hubbleLinusN: hehe.. yes, better safe than sorry
21:45:37XShocKI am trying to make DMA working for sound.
21:46:18hubbleLinusN: I was unsure if the increase of CPU speed later would affect this
21:46:20amiconnlinuxstb: There.
21:46:27XShocKby the way, hubble, the line there contains PDOR3 = v; twice. why?
21:46:52LinusNto fill the fifo?
21:46:55hubbleXShocK: that pushes several "v" into the output fifo
21:47:36LinusNhubble: you should yield() in the polling loop
21:47:57hubbleLinusN: ok, I'll fix that..
21:48:03LinusNwhere you wait for the i2c interrupt flag
21:48:09XShocKso, it pushes the same v twice.
21:48:25hubbleXShocK: it was so the fifo would not run out of samples
21:49:30LinusNhubble: also, i think the functions should return negative values on failure, like the other rockbox functions
21:49:54hubbleLinusN: consistancy is good, I'll fix that too
21:51:21LinusNalso, the addresses for I2C_DEVICE1 and 2 should use MBAR and MBAR2
21:53:41hubbleLinusN: yep.. Btw, I was trying to check the tuner chip (which should be connected using i2c) but it did not respond on it's address (0xC0) on either of the i2c interfaces.. Have you seen a tuner-enable GPIO ?
21:54:04preglowrockbox has no O_TRUNC? :/
21:54:53Bagderit does
21:54:59preglowdoesn't seem to work
21:55:02preglowmy file isn't truncated
21:56:01amiconnpreglow: Do you close the file properly?
21:56:16preglowamiconn: yes
21:56:29preglowif by 'properly' you mean 'at all'
21:56:38preglow'cause i can't think of any way to close it improperly, heh
21:57:00amiconnyeps. It should work then.... What are you trying to do?
21:57:07preglowwriting debug data to a text file
21:57:41preglowint of2 = rb->open("/test.txt", O_WRONLY | O_CREAT | O_TRUNC);
21:57:45preglownothing wrong with that?
21:59:40amiconnHmm, looks correct.
22:00:00amiconnWhat does a filesize(of2) tell you?
22:00:07preglowright after opening?
22:01:15 Quit Hohoman (Read error: 104 (Connection reset by peer))
22:03:00 Join Hohoman [0] (
22:03:23preglowexcuse me for wasting your time, i am a fool
22:03:34preglowi've been copying the bloody .o file to the player for the last ten minutes
22:03:38preglowsmall wonder things didn't work out
22:03:45 Quit Zagor ("Client exiting")
22:03:50preglowit truncates just fine
22:04:09 Join jyp [0] (
22:08:34linuxstbamiconn: new DOS shortnames look good.
22:10:11linuxstbIt's better than the 108 warnings I've just added to the iRiver buiild with libFLAC...
22:11:26linuxstbDoes anyone have gcc 3.3.? installed for the m68k?
22:11:37preglowno, ignore me
22:12:03preglowi've got it for x86, but that won't get you far
22:12:06amiconnI wonder whether we need to bump the build cycle time soon. The automated builds already take more than half of the 20 minute cycle...
22:14:33preglowthink i've found a usb related bug here
22:14:51preglowi can now browse my mp3 player on both the computer AND rockbox
22:14:55preglowand it is connected
22:15:39HCllinuxstb: i got a binary of it.. i think.
22:16:58preglowand there i got an ata panic
22:17:54linuxstbHCl: Can you see what warnings the current CVS gives with gcc-3.3 when compiling the iRiver target? If you look at the daily builds table,. gcc-3.4 is giving lots of inlining warnings.
22:19:59HCli'm rather tired, can i just dcc you the executable?
22:20:34linuxstbHCl: Don't worry, I'll install it myself, thanks.
22:21:22preglowhmm, it seems rockbox detects the usb connection earlier than windows, rockbox goes to usb mode while windows doesn't if the plug is only halfway in
22:21:26preglowi think my crash was related to that
22:21:49preglowbut can't reproduce it
22:23:13preglowyes i can, there it paniced again
22:23:26LinusNtell me
22:23:31rasheryou're being mean to it
22:23:42preglowi've got debug info now
22:23:53preglowbut i guess this is more of a hardware related bug
22:25:02preglowrasher: i didn't mean to :/ after all the usb plugging i've done lately, my usb connector has gotten rather slack, so i unintentionally left it halfway in the first time
22:25:03 Join Patr3ck [0] (
22:29:16amiconnI just realised that the shortname creation code (both old & new) has a bug. If you hand it a longname that consists of forbidden characters only (e.g. "+++++.txt"), it'll end up with an empty name part.
22:30:56linuxstbamiconn: Should forbidden characters be replaced by something, rather than omitted?
22:31:39preglowshouldn't open return -1 in case of illegal characters?
22:32:14amiconnpreglow: I don't talk about complete illegal file names here.
22:32:45amiconnIt's about illegal characters for 8.3 shortnames
22:33:22amiconnI think omitting them is the better method.
22:33:25preglowi hate this 8.3 business, lets go ext3 :(
22:33:27preglow:) <
22:34:04preglowit would of course not go well with archos and lock out all windows users, but hey
22:34:41HClif rockboy still runs now
22:34:43HClit'll be sweet.
22:34:46*HCl goes to test
22:34:49preglowwhat'd you do?
22:34:53HClstuff >.o
22:34:56HCli'll tell you if it works
22:35:14 Join xen` [0] (
22:36:15amiconnlinuxstb: I wonder whether we should fix this at all. The file handling isn't 100% foolproof anyway, e.g. you can create longnames that start and/or end with spaces.
22:38:07Quelsarukbtw, what do you think about the new charging routine?
22:38:38linuxstbamiconn: Why don't you just add some comments to the code with the "known bugs" ?
22:40:28elinenbelinuxstb: I think amiconn's idea is better... fixing know bugs! (hey, who wants to look at the recursive insert bug?)!
22:40:49amiconnHmm, Windows replaces illegal chars by underscore, only spaces are removed.
22:40:59amiconnI think this is a good idea after all
22:41:08linuxstbOnly by chance!
22:45:43 Quit Chamois ("CGI:IRC")
22:46:13HClokay, i think i slashed rockboy down with another 170k
22:46:20HClmaking it 420k
22:46:37 Join wacky_ [0] (
22:46:53wacky_hey guys :)
22:47:27jypHCl: gratz ;)
22:48:04Bagderis it my X or is the x11 sim weird atm?
22:48:08 Join webguest93 [0] (
22:48:20amiconnBagder: ?
22:48:26BagderI can't get the menu to appear in the recorder sim
22:48:49 Quit webguest93 (Client Quit)
22:48:59Bagderfirst I thought I'd broken it, but trying a fresh cvs it still doesn't work for me
22:49:11HClgee. what fun.
22:49:16wacky_amiconn - you committed some fix for the fat bug ?!
22:49:19HCli now own pokemon yellow in japanese....
22:49:24wacky_have you guys tried the 'iriverify' plugin ?
22:49:25amiconnwacky_: I did.
22:49:30HCli want english, english!! >.<;
22:49:38HClwhats the iriverify plugin?
22:49:59HClpocket monsters yellow... hm. yea. thats what it was called..
22:50:48wacky_heh.. sorry for the lamish code.. I have to do more.. it's been some time since I coded C
22:51:30wacky_glad to have that fixed now.. that allows to create playlists in Rockbox and load them in the original firmware... until we get sound support in ROckbox :)
22:53:07wacky_whould I remove the link to my patch in the ThingsTodo wiki page ??
22:53:09QuelsarukHCl: i can translate something if it's in hiragana, but not if it's in kanjis :D
22:54:07HClQuelsaruk: mmm.
22:54:19HClQuelsaruk: well, i'm somewhat ok in japanese.. my gf is better at it..
22:54:27HClbut i want it in english, obviously
22:54:34preglowi've got it in spanish :-)
22:54:38Quelsarukdunno why ;)
22:54:42HCli finally have a rom
22:54:45HClthats named
22:54:51HCland claims to be pokemon yellow in english.
22:56:13***Saving seen data "./dancer.seen"
22:58:15Bagderwhat does 'uname' output on cygwin?
22:58:44preglowCYGWIN_NT-5.1 winglow 1.5.12(0.116/4/2) 2004-11-10 08:34 i686 unknown unknown Cygwin
22:58:47preglowthat's -a
22:58:51preglowno -a gives just the first part
22:59:01Bagderok, thanks
22:59:07amiconnMaybe it'll differ for different windows versions
22:59:14preglowthink so
22:59:16preglow5.1 is xp
22:59:18preglow5 is windows 2000
22:59:19amiconnThe 5.1 is most likely xp
22:59:25amiconn5.2 is 2003
22:59:40BagderI'll check for "cygwin*"
22:59:56amiconnWhat do you need this for?
23:00:04Bagderconditional stuff in configure
23:00:08Bagdermoved from makefile(s)
23:00:41BagderI want the makefiles as simple as possible
23:01:10BagderSOURCES-using sim build works now for x11
23:01:26Bagderat least most things
23:01:35 Join MisticJeff [0] (
23:02:02wacky_hey, finally? do you know if it's alright to have spaces in the 8 first bytes of a shortname ?
23:02:12 Join skav [0] (
23:02:23amiconnwacky_: No it's not
23:02:51preglowspaces anywhere in a shortname is illegal
23:02:55wacky_and are they needed to be upper case ?
23:02:56amiconnRather, the name has to be padded with spaces, but there must no be a space in between
23:03:04preglowi remember some old dos progs used to be able to do that, and command would understand nothing
23:03:23MisticJeffOn-The-Fly Playlists: pick songs randomly from your player and add them to a list to play whenever you'd like. Most players support multiple OTF playlists and allow you to delete songs from them, etc.
23:03:53preglowenqueue style
23:03:59amiconnActually, there is one exception to this rule: OS/2 creates a file "EA DATA.SF". Doing it that way almost guarantees that this file won't be touched by a dos program
23:04:17MisticJeffyes, just in the U.S. they don't call it a queue
23:04:29preglowdoesn't matter, rockbox has that
23:04:56MisticJeffI think Linus was looking for a correlation between queue and playlist
23:05:12wacky_MisticJeff - seen that iriverify + fat bug fixed ?
23:05:20wacky_you can have otf playlist right now for your beloved iRiver
23:05:31 Quit elinenbe (" Like's GUI? Then try HydraIRC -> <-")
23:05:41wacky_even though you have to fly between O/S to do so
23:06:10MisticJeffdon't have a clue what you're speaking of... enlighten me
23:06:47wacky_well if you run Rockbox right now.. you can use the playlist creation methods provided in there, and save a .m3u file on the drive.
23:07:07wacky_Then you pass it through the 'iriverify' plugin.. and the original iRiver firmware will be able to play the .m3u
23:07:34wacky_MisticJeff - do you have Rockbox installed on a device somewhere ?
23:08:41MisticJeffno, but you can use .m3u files already on the H100 and H300 series
23:08:56wacky_yeah but you can't create them without a computer
23:09:38wacky_God, I wanted for so long to be able to make playlists wherever I was..
23:10:10MisticJeffunfortunately i'm not tech literate enough to compile this and that and flash with rockbox... i'm the kind of guy that needs an executable to build a .hex file for me
23:10:11Bagderwacky_: what is it about the rockbox ones that the iriver firmware doesn't like?
23:11:01 Quit jyp ("poof!")
23:11:12 Quit Stryke` ("Friends don't let friends listen to Anti-Flag")
23:12:10wacky_Bagder - the iRiver firmware wants a couple of things to be happy. He wants backslashes (\) instead of slashes.. he's very picky about the driveletter if there is any, he desires a CR/LF line ending, and I _think_ it checks if the files exist
23:12:37wacky_MisticJeff - you want them ?
23:12:54wacky_come on, get your hands dirty
23:12:56Bagderok, thanks
23:13:11Bagderany idea how large playlists it can play?
23:13:17wacky_so the iriverify plugin just translates / to \ and ensures it ends with \r\n
23:13:53MisticJeffi'll wait, thanks for the offer though
23:13:56wacky_Bagder - hmm.. no.. I don't know.. and btw, my plugin isn't foolproof with large files. I don't know much about the buffer limitations so I just assumed (bad bad!) it had enough space running
23:15:29LinusNgotta go, cu around guys
23:15:59 Part LinusN
23:17:46preglowMisticJeff: i'm working on a windows tool you should be able to use :-)
23:17:50HCli got to the new game menu on pokemon yellow
23:18:22wacky_amiconn - are caps required in 8.3 ?
23:18:22preglowwhat did you do?
23:18:24MisticJeffpreglow: cool... just what a microsoft slave needs ;-)
23:18:31amiconnwacky_: yes
23:18:37preglowMisticJeff: it requires you to press a 'patch' button, that's that
23:18:40HCli just held rec and play several times
23:18:43HCland eventually it continued
23:18:48HCli also have the english version now
23:18:49HClwant it?
23:18:57MisticJeffnow we're talking... patch buttons are my friend
23:18:58wacky_so we should read "%04X" instead of "%04x" in randomize_dos_name() ?
23:19:43Patr3ckhm, current cvs does not compile
23:19:52HCl100mbit <-> 100mbit is always nice :P
23:20:00wacky_but your fix is much cleaner than mine :)
23:20:01preglowHCl: indeed
23:20:04Patr3ck*** No rule to make target `flac2wav.c', needed by `/usr/src/rockbox/rb_build/dep-plugins'. Stop.
23:20:07HCl23:18 DCC sent file [1MB] for preglow in 00:00:02 [512.00kB/s]
23:20:33bg_HC1: you mean pokemon amarilla
23:20:50HClbg_: thats the spanish version :P
23:21:09bg_i know, what are ya doin with spanish roms?
23:21:20HCli couldn't find any english ones :P
23:21:20HCltill now
23:21:22Quelsarukpokemon edicion amarilla
23:21:35Quelsarukthat's the spanish rom
23:21:50Quelsarukmy little cousin played with that game a lot :)
23:22:01Quelsaruki can't see any fun in pokemon
23:22:13HClthe story can be ok, i dunno.
23:22:21bg_actually, its a pretty good game
23:22:22preglownor can i, but i can see the fun when it's running on a h120
23:22:25bg_if you can look past the kiddy part
23:22:27 Quit Cassandra_ (Read error: 110 (Connection timed out))
23:22:33HCland its one of the few games
23:22:36HClthat'll actually work right
23:22:39Quelsaruki prefer super mario
23:22:48HClbecause you don't need diagonal for it
23:22:50 Join Cassandra_ [0] (~christi@
23:22:56preglowjust look at it! it's adorable!
23:23:03bg_im just at a loss about the controls... i cant see using the little joystick as being too effective
23:23:05QuelsarukHCl: check for Zelda
23:23:05HCl :P
23:23:11HClQuelsaruk: ?
23:23:23QuelsarukThe legend of Zelda
23:23:34amiconnHCl: Does the rockboy copy on your ftp happen to be current? Is there a .zip with only the changed files?
23:23:34HClwhat about it?
23:23:38Quelsarukyou don't need diagonal, and is a nicer game (at least for me)
23:23:47HClamiconn: only binary, want me to compose a source thing?
23:24:01HCli cleaned it up lots
23:24:12amiconnHCl: Yes, could be interesting. I'll finally try it on the archos.
23:24:20amiconnDoes it work on the sim now?
23:24:25wacky_preglow - :)
23:24:58Quelsarukamiconn: what are you going to try on archos?
23:25:12amiconnGameboy emu :)
23:25:51HClno, it doesn't work in the sim, still, no clue why :/
23:25:56bg_i wonder how hard it would be to get the linux kernel compiled for the iriver
23:26:12Patr3ckflac2wav.c is missing in cvs?
23:26:15Quelsarukcan i try?
23:26:17HCli wonder mostly what use it is to have linux on iriver
23:26:25preglowbg_: not too hard, i expect, but pretty pointless
23:26:26bg_not much, without a keyboard
23:26:28*Quelsaruk check the calendar
23:26:37Quelsarukno, it's not 1st of april
23:26:43Quelsarukso it's not a joke ;)
23:26:45amiconnQuelsaruk: ?
23:26:55HCl :P
23:26:57Quelsaruki want to try that too
23:27:12Quelsarukif possible
23:27:14Quelsarukof course
23:27:22linuxstbPatr3ck, I've just comitted it, sorry about that.
23:27:26 Quit bg_ ("Chatzilla 0.9.67 [Firefox 1.0+/20050201]")
23:27:37Patr3ckno problem :-)
23:28:10amiconnQuelsaruk: I'll need to adapt the lcd driver, and it will require a special rockbox build with a huge plugin buffer.
23:28:27amiconnFinally, it won't be able to play all roms due to lack of ram
23:28:42Quelsarukdon't worry
23:29:00amiconnOf course it'll be tad slow at the start, but I expect it to run a bit faster than on current iriver rockbox
23:29:18Quelsarukif you adapt the lcd driver and build that special rockbox version, can i see it? :D plizzzz
23:29:20wacky_ok see you guys later
23:30:46amiconnThe lcd driver needs to cut the output in half, so most likely it'll look a bit odd
23:31:53Quelsarukbut i can show a gameboy emulator to all my friends and be the coolest spanish guy ;)
23:31:53 Quit wacky_ ("thanks")
23:32:37HClamiconn: you'll need to modify vid_update in iriver.c ... and don't forget the second scanline>=128 check in lcd.c
23:33:14amiconnThis check will remain the same I think.
23:33:33 Join webmind_ [0] (
23:33:36 Quit webmind_ (Client Quit)
23:33:36amiconnI'll simply use every second scanline for a start, thereby cutting it to 80x64
23:34:00*HCl nods
23:40:05amiconnlinuxstb: Do you remember where those 5 places are that define the plugin ram size?
23:41:01linuxstbamiconn: Yes, the 3 .lds files in firmware, apps/plugin.h and plugins/
23:41:38Bagderthe shouldn't need it
23:41:49amiconnlinuxstb: Thanks. Going for 512 KB...
23:42:16linuxstbBagder: It was defined in there already, so I changed it for the iRiver.
23:42:27BagderI know, I noticed your fix of it
23:42:46Bagderbut I don't think the bootloader will run many plugins ;-)
23:43:23amiconnlinuxstb: It was plugin.c
23:43:44linuxstbamiconn: I meant to type plugin.c ...
23:43:48HClhow much ram does archos have?
23:43:53amiconn2 MB
23:44:14amiconnI'll gradually cut down plugin buffer size once it is working
23:44:27HCli don't know how big it is for archos
23:44:39HClbut in coldfire code, its 423264
23:44:46HClat the moment
23:44:59HCli've been sacrificing portability for speed/size lately
23:48:12amiconnDarn! Include problem :(
23:48:53amiconnThe same problem that I get when I try to compile it for the sim...
23:49:12HClwhat error do you get?
23:49:15amiconnCC rockboy/lcd.c
23:49:16amiconnIn file included from rockmacros.h:1,
23:49:16amiconn from lcd.c:4:
23:49:16DBUGEnqueued KICK amiconn
23:49:16amiconn/home/Administrator/rb-gameboy/apps/plugin.h:49:21: widgets.h: No such file or directory
23:49:22HClmy bad.
23:49:29HCli totally forgot that.
23:49:33HCli have a symlink
23:49:33amiconnWhat's the problem?
23:49:40HClin apps/
23:49:46HClwidgets.h -> apps/recorder/widgets.h
23:50:04HClits a .h only for the recorder, but its needed somewhere.
23:50:33HCli had a hard time adding it to the includes, so i just added a symlink to it
23:50:58amiconnFixed it in the makefile
23:51:06HClthats better
23:51:09HClwhats the new line?
23:51:12HCli'll fix it here too
23:51:14amiconnline 19:
23:51:20amiconnSYS_INCS = -I$(APPSDIR) -I$(APPSDIR)/recorder -I.. -I. -I$(FIRMDIR)/include -I$(FIRMDIR)/export \
23:51:55amiconnHmm. Of course the hard-coded button assignments need attention...
23:52:22amiconnSELECT, MODE and REC are used for what gameboy functions?
23:52:40amiconnSorry I never had a real gameboy in my hands...
23:52:43HClit kinda says in iriver.c
23:52:46 Quit lolo-laptop ("Client exiting")
23:52:57HClselect is quit
23:53:00HClmode is select
23:53:01HCland rec is start
23:53:26amiconnSo why don't you use select as select? Is there a special reason?
23:53:54amiconnI'd expect a plugin to quit with OFF on recorder, and the equivalent on iriver (STOP iirc)
23:53:56HCli dunno, its mostly because i had no buttons left on the sides and needed a button for quit and it was the only one left on the base
23:54:12HClits impractical to have any button mapping on the joypad button
23:54:17HClcause you'll end up pressing it by accident
23:54:48amiconnSo rockboy may quit by accident? ;)
23:54:52HClyes :P
23:55:44HClits a temporary solution till i map buttons to the remote.. at least, that was my idea
23:56:43 Part MisticJeff
23:57:27 Join amiconn_ [0] (
23:57:38 Quit amiconn (Nick collision from services.)
23:57:38 Nick amiconn_ is now known as amiconn (
23:57:45amiconnHCl: I'll try and hack together some conditional #defines as for the other plugins
23:57:55HCli was planning to do that
23:58:09HClbut i had more priority over cleaning up the makefile process and removing unneeded bits

Previous day | Next day