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

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

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

#rockbox log for 2004-09-17

00:00:51 Join PaulS [0] (
00:03:21PaulSI'm not sure I understand the "Hardware Address Info" section of the IriverMemoryMap wiki page. There's really not all that much to say about how the system is setup at reset time. It's clear from the docs that most of this stuff needs to be setup in code. The SDRAM, for example, is completely dormant and unmapped until it's set up.
00:04:45ZagorI know noooothing
00:05:45PaulSAs I understand it there are utilities published for the Coldfire for generating the startup code for putting everything where you want it. It seems to me that the more interesting table would be where we want everthing to be mapped, or where the iRiver currently has things mapped (in the spirit of the function map in the earlier table).
00:06:38Zagori agree
00:06:44PaulSI'll probably just edit the table and add the memory map as I understand the iRiver firmware, and leave the "Hardware Address Info" table alone.
00:07:21PaulSWhoa, that didn't come out write. "I'll probably edit the page to add a new table with the memory map as I understand the iRiver firmware..."
00:09:36 Quit Bagder ("Leaving")
00:13:53 Quit methangas (" Like's GUI? Then try HydraIRC -> <-")
00:22:17kaboofahydra irc, the only irc client with enough toolbar buttons to strangle a camel
00:28:03 Join ripnetUK [0] (
00:28:09Zagori have never understood those big-screen pc irc clients. irc is a small window in the lower right corner of my screen.
00:28:39Zagorwho needs five windows and three dozen buttons?
00:29:44 Join bagawk [0] (
00:32:08 Join srn [0] (
00:35:42srnHi PaulS. I created the hardware address table. I know it is not as useful as the function map, since the hardware addresses are already in the manuals, but it will give an easy overview for 'outsiders' who might join us later.
00:46:45 Join bagawk_ [0] (
00:49:08***Saving seen data "./dancer.seen"
00:51:00 Quit srn ("CGI:IRC (EOF)")
01:02:01 Join bagawk__ [0] (
01:02:27 Quit bagawk (Nick collision from services.)
01:02:45 Join dreed75 [0] (
01:03:23 Nick bagawk__ is now known as bagawk (
01:03:23dreed75has anyone ever used any batteries besides niMH like alkalines (without hooking up the charger of course)
01:03:43dreed75cause i just got an archos and i dont want to charge it for 6 hours, i want to play
01:03:47bagawkdreed75: don't do that, they pruduce more voltage than nimh
01:03:53dreed75okay thanks
01:03:58dreed75just chacking
01:04:03bagawk(nimh=1.2v, alkaline=1.5)
01:04:06dreed75i am getting impatient to try rockbox
01:04:09bagawkthatcould be bad for the HD
01:04:20bagawkdreed75: you ordered an archos?
01:04:31dreed75i bought it off ebay
01:04:34dreed75brand new
01:04:39bagawkneat :)
01:04:43bagawkwhat unit?
01:04:44dreed75the 20 GB recorder
01:05:02dreed75do you have rockbox installed?
01:05:12 Quit bagawk_ (Read error: 104 (Connection reset by peer))
01:05:16bagawkyes, i do not know anyone that wouldn't after they tried it
01:05:29dreed75yeah i know, it sounds cool
01:05:36dreed75and looks cool
01:05:52dreed75did you flash the firmware with rockbox's firmware without any problems?
01:06:01dreed75cause i am kinda nervous about that
01:06:25bagawkyou do not have to do it if you do not want
01:06:29plokZagor, is there a theory yet on how we'll be able to rollback a buggy firmware on the iRiver?
01:06:43bagawkand you box may not be flashable any way
01:06:57dreed75also, i've got a question, I tried the simulator after editing the code and recompiling it and there aren't any menus for that just the simulator or does rockbox not record
01:07:17bagawkthat is just because it is a simulator
01:07:21dreed75it is faster with the rockbox firmware isnt it
01:07:23bagawkhow could it recorde? :)
01:07:32dreed75its a recorder
01:08:10dreed75oh yeah, i thought that it would at least have a menu even if it didnt work
01:08:15bagawkeverything is fast with rockbox
01:08:38bagawkplaylists is where it is much faster
01:08:57dreed75boot time is faster isnt it
01:09:19bagawkit would take 5 inutes are so to load a playlist in archos firmware (and a limit of just 100 songs), and rocksbox can load a playlist in just 2 seconds
01:09:36bagawkIf your unit is flashed it can boot in about 3-4 seconds
01:09:42dreed75do you know how to use a custom bmp on the screen cause i can tell it is somehow embedded in the code but I can't figure out how it is done and i heard it was possible
01:09:51bagawkwith rockbox firmware flashed, about 10 or so
01:10:17bagawkare you talking about the logo?
01:10:35bagawkyes, it is in apps/recorder/icons.c
01:11:50bagawkyou make a 112x37 bmp (in monochrome)
01:12:01dreed75oh so i just have to make my own bmp, grayscale, the same size and open it in a hex editor and paste it into the code?
01:12:07bagawkuse the tool bmp2rb, and it will give you the array as you see in the icons.c
01:12:14dreed75oh sweet, thanks
01:12:15bagawknot grayscale
01:12:34bagawkalthough with some work, you could now since greyscale has been developed
01:13:27bagawkthe logo is rockbox112x37 btw if you did not know which one
01:13:35bagawk(in icons.c
01:13:41Zagorplok: yes, we'll do something like what we have on the archos: a two-stage flash with a fallback loader in case of a problem
01:14:32dreed75thanks dude, you've been a big help..also killing time so i don't go crazy waiting to install rockbox
01:15:14bagawkdreed75: i assume oyu can write code?
01:15:18 Quit ripnetUK ()
01:15:42dreed75i am new with C but I learn fast
01:15:50dreed75i can edit very well :)
01:16:41kaboofamy eyes are thirsty as hell
01:16:50kaboofaif i have to look at another line of java i'm going to destory someone
01:16:55kaboofaand destroy them
01:17:17bagawkdreed75: you could get starting writting yourself some plugins you can see a good simple example of how to write in apps/plugins/helloworld.c
01:17:33dreed75ok thanks
01:18:23plokZagor: But what about in the development process. The archos would just load a firmware from the HDD, but the iRiver doesn't seem to do that
01:19:17Zagorsame thing: we'll write a loader to load from disk, then flash that.
01:19:43Zagorthe loader will be debugged using the bdm, which can run with even an empty flash
01:20:46plokAah I'm with you now. So the loader will work the first time it's flashed to the iRiver :)
01:21:56Zagorwell no, but we will be able to debug it using the bdm. so when it works people without bdm can use it.
01:23:23Zagorduring development a simple rolo boot is best
01:23:44plokCool. Is the plan to get iHP-100 series working first, then possibly look at the H300 series if it's close enough, or parallel development?
01:23:56Zagorh100 first
01:24:40Zagorwe'll see where we go from there when/if we get there :)
01:26:21plokOh, the blue navi button on the h300 is an actual button ctw
01:26:50dreed75bagawk: is monochrome the same as black and white in paint?
01:26:59Zagori hate it when they label the buttons...
01:27:09bagawkdreed75: yes
01:28:12 Quit AciD (Connection timed out)
01:29:50plokThey also have a button labelled "A-B" for some reason known only to them :)
01:30:29Zagorthose labels are easier, simply because they don't mean something specific. but "navi" doesn't give a lot of leeway...
01:31:49Zagorfor example, we use the ON button on the archos for various things. it's not so confusing because nobody expects it to mean "ON" when the unit is already turned on
01:32:45Zagorwith "navi" we're pretty much forced to put the file navigator on it
01:35:04amiconnAhaaa! Now I finally get clock pulses!
01:35:29amiconnReally silly mistake, btw
01:35:54Zagormost are, in hindsight :)
01:37:40amiconnNote to self: if you ever change some <REG_MACRO> &= NN; into and_b(NN, <REG_MACRO>); , put an "&" in front of the macro name. Doh!
01:38:39Zagori'm off to bed
01:38:41 Quit Zagor ("Client exiting")
01:39:01amiconnProbably a good idea. I'm off now too
01:39:33 Part amiconn
01:44:03 Quit dreed75 ("CGI:IRC (EOF)")
02:08:50 Quit mecraw__ ("Trillian (")
02:14:43 Quit _aLF (Remote closed the connection)
02:20:33 Quit bagawk ("umount /dev/brain")
02:22:11 Quit elinenbe (Read error: 104 (Connection reset by peer))
02:22:42 Join elinenbe [0] (
02:49:09***Saving seen data "./dancer.seen"
02:50:39 Join joshp [0] (
02:51:01joshpwhere do i get autostart.rock and how do i use it
02:55:43 Quit joshp ("CGI:IRC (EOF)")
03:19:02 Part scott666_
04:02:07 Quit PaulS ("CGI:IRC (EOF)")
04:22:31 Part plok
04:22:39 Join plok [0] (
04:23:26 Join macgyver2 [0] (
04:23:50macgyver2does anybody know where to get the autostart plugin
04:26:24macgyver2is anyone here
04:44:48 Quit macgyver2 ("CGI:IRC")
04:49:12***Saving seen data "./dancer.seen"
05:16:34 Join dreed75 [0] (
05:26:40 Quit dreed75 ("CGI:IRC")
05:33:59 Join maikeul [0] (
05:50:48 Quit gromit`` (Read error: 110 (Connection timed out))
06:49:16***Saving seen data "./dancer.seen"
06:50:35 Join LinusN [0] (
07:08:30 Join PaulS [0] (
07:13:01plokLinus, have you attempted to play .m3u playlists on your iRiver?
07:21:20PaulSI filled in a bit of the memory map. Hows the logic analyzer doing for you, Linus?
07:27:15LinusNplok: no, i haven't
07:27:29LinusNPaulS: fell asleep yesterday :-)
07:27:56LinusN3hrs of sleep per night takes its tribute...
07:28:22plokThat's ok, just solved my problem. On the H340 at least the playlist files don't appear when browsing. You have to press the A-B button to get a list of playlists..
07:29:51LinusNhow silly
07:34:08PaulSLinusN: I was starting to get curious about the hours you were keeping. :-)
07:38:40PaulSLinusN: I left a couple of suggestions in the logs anyways, as to how to identify the A0. I also said something along the lines of "since we know which GPIO signal strobes A0, it kinda doesn't matter that we know where it lives on the connector."
07:39:17LinusNyou haven't mentioned which gpio it is
07:39:43LinusNwould be nice to see in the wiki
07:40:15PaulSIt's GPIO1-35.
07:40:36LinusNwiki wiki wiki :-)
07:42:46PaulSComing up! I didn't put it in the description since I'm still not entirely convinced of the bit ordering on the register (datasheet doesn't make it plainly obvious). I can tell you for sure the address and bit though.
07:44:08LinusNhave to reboot, bbs
07:44:12 Part LinusN
07:49:47 Join LinusN [0] (
07:55:14 Join ashridah [0] (
08:01:41PaulSI put it in IriverPort in the LCD driver section, where I'd mentioned the GPIO pin before.
08:04:54LinusNi wonder why they didn't use an address pin for command/data selection
08:06:02PaulSSeems kinda bogus to me too. Maybe the LCD chip doesn't want to see the address pin wiggle between acesses while doing data bursts.
08:07:51dwihnoLinusN: Tonight is the night when I'll pull my keyboard completely apart! It will be an interesting ride!
08:07:57dwihnoGood morning everyone, btw! :)
08:08:52 Join methangas [0] (
08:09:07PaulSIt's only 11pm for me.
08:09:21PaulS(But good morning to you!)
08:11:29dwihnoOhayo! :D
08:22:15 Join amiconn [0] (
08:25:01amiconnG' morning
08:26:05PaulSHallo. (Not quite the 17th here yet.)
08:27:10plokNearly time to go home for the weekend here :)
08:29:03PaulSNo worries. My weekend will still be going strong while you guys start toiling away.
08:38:44LinusNdwihno: completely apart? wasn't it just the shift key?
08:40:00 Join Zagor [242] (
08:42:32 Join [IDC]Dragon [0] (
08:43:10[IDC]Dragonhi amiconn, sorry for the "&" yesterday
08:43:39amiconnMorning Jörg.
08:43:42 Join Lynx_ [0] (lynx@
08:44:16amiconn[IDC]Dragon: At least I finally found it. Now I get nice clock pulses both for reading and writing
08:45:15amiconnNext step will be trying to initialize the card to spi mode and get identification data
08:45:30[IDC]Dragonyes, that'll be nice
08:45:57[IDC]Dragonwe didn't really celebrate the full portmap ;)
08:46:17 Join AciD [0] (
08:46:39dwihnoLinusN: Well, I might as well clean the keyboard when I'm pulling it apart
08:47:51amiconn[IDC]Dragon: Btw: I found that we won't have to set TxD to high-z every time we enter usb mode, because the sh datasheet says TxD switches to the GPIO state that was active before setting up SCI everytime the transmitter is disabled (TE = 0)
08:48:10LinusNdwihno: tip: take a photo of the keys before taking it apart
08:48:33[IDC]Dragonamiconn: yes, we can save a bit on port access, I didn't optimize that
08:49:13amiconnOk. I only mention that to keep in mind. I don't bother doing that for now too
08:49:18***Saving seen data "./dancer.seen"
08:49:34[IDC]Dragonamiconn: how do we read from SPI? transmitting a stream of 0xFFs? that won't be so good for DMA
08:50:15[IDC]Dragonbut wait, I think we can tell the DMA not to increment the source address, needing only one 0xFF
08:50:33LinusNPaulS: "external termination" on the LCD CS, does that mean that the LCD glue has to generate TA?
08:50:37amiconnNo, we read by simply reading. If the receiver is enabled and RDR1 is empty, the sh outputs clock pulses on SCK1
08:51:26amiconnOne problem is waiting for the card to get ready for the next transfer. As it looks to me we need read-polling there
08:51:36[IDC]Dragonhow do we tell data apart from idle then?
08:51:50dwihnoLinusN: Aaaaaah. Smart. I was going to simply make notes
08:52:07dwihnoLinusN: Perhaps I would paint all keys yellow or something
08:52:11[IDC]Dragonif I just clock, will the cars _always_ send something?
08:52:13dwihnoThat would be really neato
08:52:17LinusNa digital camera is a blessing in those cases
08:52:32dwihnoLinusN: good idea indeed!
08:54:08amiconn[IDC]Dragon: No. The card only (and always) responds to commands, and the response format is well defined
08:54:46[IDC]Dragonah, so we read n bytes, known in advance, logical
08:55:02[IDC]Dragonfor the ready, we have the interrupt
08:55:12[IDC]Dragonbut only at the internal card
08:57:43PaulSLinusN: I didn't mean "external termination" there in the TA sense, but from reading the CS1 control register, yes that's true.
08:57:44amiconnI think we need a variable in the driver holding the card status (internal or external). We should also measure power consumption with and without CS asserted
09:01:22PaulSSpeaking of pictures, I'd like LinusN to take a shot of the IHP with the display off.
09:01:33LinusNPaulS: so the AA bit is 0?
09:02:01LinusNPaulS: as soon as i find out how to disconnect the display without breaking the connector :-)
09:02:16[IDC]Dragonamiconn: yes. do you have a MMC?
09:02:52PaulSYeep! No! AA is 1. TA is internal evil naughty Paul!
09:03:59LinusNyou scared me there :-)
09:04:18PaulSThanks for probing patiently until I realized my folly.
09:04:25 Quit ashridah ("Client exiting")
09:04:36amiconn[IDC]Dragon: No. I wanted to buy one, but at the local electronics stores they are rather expensive, so I'm currently experimenting with the internal flash only
09:04:59amiconnI'll try to get one of course
09:05:16LinusNPaulS: it really seemed fishy with external TA generation, it is very uncommon
09:05:26PaulSI'll go fix the Wiki.
09:05:52LinusNwhy not fill in the CS register values?
09:06:09LinusNso we have the waitstates etc
09:06:34PaulSIt'll get wordy, but I'll do it.
09:07:05PaulSHex values okay for you? You don't want me to break out the values and make more silly errors, do you? :-)
09:07:10LinusNit's not *that* important, but the ws is kind of interesting
09:07:17LinusNhex is ok
09:08:30[IDC]Dragonamiconn: the smallest, obsolete card will do.
09:08:52[IDC]Dragon(the kind you'll get with a digicam)
09:09:23[IDC]Dragonunless you want a real fancy 1GB card for true useage
09:09:57 Join Bagder [0] (
09:10:16LinusNhi Bagder
09:10:24amiconn[IDC]Dragon: Yup. Unfortunately my digicam, as well as those owned by other people I know, all use other card types than MMC
09:10:33LinusNBagder: i have the wiggler
09:10:41*[IDC]Dragon relocates to work, cu
09:10:46Bagderany progress with it yet?
09:10:46 Quit [IDC]Dragon ()
09:10:53amiconn(away too)
09:11:31Bagdersleeping daughter and a mug with fresh steaming coffee
09:11:41Zagorlife is good :)
09:12:08LinusNBagder: fell asleep yesterday, so no progress :-)
09:12:24Bagderexcept on the sleeping department then!
09:13:08LinusNwoo, got almost 5hrs of sleep, much better than the usual 3 :-)
09:13:24Bagderluxury! ;P
09:13:37LinusNlet's not make it a habit :-)
09:14:26 Join amiconn_ [0] (
09:18:28dwihnoLinusN: Yay! Did you wiggle last night?
09:18:46Zagoryeah, in his sleep :)
09:30:49 Quit amiconn (Read error: 110 (Connection timed out))
09:30:49 Nick amiconn_ is now known as amiconn (
09:30:51PaulSOkay. Hex values are in the MemoryMap Wiki. The SDRAM register values are the final state −− there's a dance you need to do to get everything started. That's documented in the datasheet.
09:31:11*Bagder tapdances just in case
09:31:58*dwihno does the salsa
09:35:24PaulS* Does the Macarena, which causes his IHP to execute an HCF!
09:37:52*PaulS opens a window to let out the smoke.
09:42:43 Join [IDC]Dragon [0] (
09:43:28PaulSEnter the Dragon! Morning.
09:43:40[IDC]Dragonhi again!
09:43:44 Join ripnetUK [0] (
09:46:19LinusNPaulS: are you still editing IriverMemoryMap?
09:46:59PaulSNope. All done.
09:57:02LinusNok, i take the lock then
09:58:38LinusNPaulS: since you didn't mean TA generation, what exactly did you mean with "Set up for external termination"?
09:59:21BagderZagor: have you looked at the daily build table?
09:59:38Zagoryes, and i've fixed the non-sim ones
09:59:45Zagornon-win32 i mean
10:00:03Zagorfor some reason i can't compile the win32 in my shell
10:00:21Bagderdo you have the path setup for the mingw cross-compiler?
10:00:34Zagoryes, but I get other weird errors
10:02:17LinusNlcd-win32.h:42: error: `LCD_HEIGHT' undeclared here (not in a function)
10:02:21ZagorLinusN: this could be interesting. "patch to properly assemble/disassemble coldfire mac/emac instructions".
10:02:40Zagorah silly me i haven't converted the win32 makefile
10:02:55*Zagor hits forehead
10:03:19Zagoryeah, from using defines to using config.h
10:07:44[IDC]Dragonamiconn: listening?
10:17:23PaulSOkay, it's bedtime. NIght guys.
10:17:44LinusNPaulS: please answer my question
10:19:26PaulSWhich was that, LinusN?
10:19:46LinusNPaulS: since you didn't mean TA generation, what exactly did you mean with "Set up for external termination"?
10:22:02PaulSOh, "external termination" −− I made a lazy assumption while reading the summary in the CS section of the datasheet that "termination" was talking about onboard vs offboard peripherals. And of course I distracted myself from removing the mention of termination from the wiki.. Thought I got rid of that.
10:22:21PaulSWiki thinks you're still editing that page. Is this true?
10:23:51LinusNyes, i am removing that sentence
10:24:28LinusNso you can go to sleep now :-)
10:24:43PaulSGood. I strongly approve. We agreed it was wrong earlier. I don't know what distracted me from actually getting rid of it.
10:25:05LinusNPaulS: one last thing, does the lcd routine write to the high or low byte?
10:25:14*PaulS . o O ( ZZZZZZ )
10:27:30PaulSIt uses MOVE.B <byte>, (address register containing 0xF0000000), so I assume big-endian would write to the "high" or MSB byte.
10:29:02[IDC]DragonLinusN: about some old, boring SH hardware:
10:29:35PaulS−−However−−, if the CS1 memory space was configure to be byte-wide, it would access the LSB. Let me check that.
10:29:40[IDC]DragonI heared the file system came from you, and was originally FAT16?
10:29:57LinusNPaulS: nm, i can find that out myself
10:30:03LinusN[IDC]Dragon: yes
10:30:08Zagorthat's not entirely true.
10:30:24Zagormost of it is actually rewritten from scratch
10:30:27LinusNbut it was far from finished
10:30:28[IDC]Dragonhowever, from some nice people
10:31:15[IDC]Dragonthe Ondio could seriously need a HAVE_FAT16SUPPORT
10:31:31LinusN[IDC]Dragon: forget it :-)
10:32:06LinusNif we want fat16 support, we'd be better off adding it to the current driver than trying to backport my stuff
10:32:26[IDC]Dragonyes, that's what I mean
10:32:27LinusNmy stuff wasn't finished, and probably didn't work at all :-)
10:32:54LinusNbut it shouldn't be *that* hard to add
10:33:20Zagorfat16 isn't too bad. fat12 is hell.
10:33:34[IDC]Dragonyes, we had that.
10:33:48[IDC]DragonI think FAT16 should suffice
10:35:11[IDC]Dragonbut if I understand you right, FAT16 is not as easy as tossing some old lines back into the code?
10:35:26Zagorthe code is 90% my mess
10:35:26[IDC]Dragonso nothing I can dare ask you to do?
10:35:48PaulSWell, that's interesting. It's set up for 8-bit wide port size (0x2140 in the chip select control register) although the datasheet swears "Port size should always be programmed to 16 bits".
10:36:23[IDC]DragonPaulS is sleepwalking, err sleephacking
10:36:50PaulSIt doesn't consider setting the Port Size bits to 8 bit as reserved though... There's also the note "Note: A0 is not available on the external bus" −− which might explain why they're using a GPIO to run A0. A little silly though; they could have just used A1. :-)
10:37:35*PaulS can't leave a good mystery alone.
10:38:40Zagor[IDC]Dragon: well it's not a small task, so it would obviously take time away from other things. on the other hand I agree with you that the ondio needs it. it's not reasonably to demand users to fat32-format their 128MB card...
10:38:59PaulSWith the information we've compiled before, I'm willing to go back on my initial guess and say the LCD is attached to D0-7 instead, in a not-fully-supported mode of the Coldfire.
10:39:54LinusNrather D31-D24
10:40:14[IDC]DragonZagor: ok, I'll step away with that from you guys
10:40:33LinusNbtw, i'll set it to 16-bit port size in my code
10:40:55PaulSIt's probably only unsupported from the standpoint that there's no A0 though.
10:41:58[IDC]Dragonjust wanted to avoid spending much effort on something that's a breeze for the insider
10:42:51PaulSI don't see how that would hurt anything unless they're using the other D lines for something else. Compared to the iRiver code you'll have to do a 16 bit wide assignment so things show up on D0-7.
10:43:34ZagorBagder: do you remember any particular reason why the win32 sims aren't called rockboxui like the x11 ones?
10:43:54Bagderit wasn't my decision, I believe that's just how edx named it
10:44:13Zagorok. i'm renaming it.
10:49:19***Saving seen data "./dancer.seen"
10:49:45 Quit Bagder ("Leaving")
10:50:08LinusNpersonally, i like the uixxxxxxx name better
10:50:20Zagortoo late :)
10:50:29LinusNonly because the command line completion doesn't find any ambiguities
10:50:48Zagorit doesn't now either. i'm removing the -x flag on all rocks
10:56:08 Part PaulS ("I will not drool on my keyboard.")
11:06:00ripnetUKany news on how LinusN's wiggeling went?
11:06:07LinusNhow silly, the zip file has the executable flag set
11:06:17LinusNripnetUK: no news, fell asleep yesterday
11:07:01ZagorLinusN: really? doesn
11:07:03Zagor't for me
11:07:50ripnetUKok :)
11:08:28LinusNZagor: what's your umask?
11:08:44LinusNmine too
11:09:01LinusNand "make zip" gives me a with x flags set
11:09:14Zagordid you remove it first?
11:09:37 Join ashridah [0] (
11:09:42LinusNZagor: yes
11:10:45LinusNin cygwin of course, i assume you understand that
11:11:11Zagorah, no i didn't.
11:11:46LinusNi assumed that since you were working with the win32 sim
11:12:04LinusNor were you?
11:12:20Zagori was, but in linux using mingw
11:16:52dwihnoyou cross compiled mingw?
11:23:51dwihnoneato! was it hard?
11:39:26 Join pillo [0] (
11:43:44 Quit ashridah ("Client exiting")
11:44:08 Join ashridah [0] (
12:15:19 Part pillo
12:17:47 Join [av]bani [0] (
12:17:48 Quit ripnetUK (Read error: 104 (Connection reset by peer))
12:26:39Zagordwihno: i don't remember who did it. i think it was bagder
12:35:45 Part [av]bani
12:49:22***Saving seen data "./dancer.seen"
13:23:16Zagor[IDC]Dragon: is it ok with you if I change the ondio key mapping to my ButtonAssignments scheme?
13:34:02Zagoramiconn, [IDC]Dragon: is the HAVE_POWEROFF_ON_PB5 define true for ondio?
13:35:19[IDC]DragonZagor: yes and yes
13:35:32Zagorgood, thanks
13:35:47[IDC]Dragonhow do you do the button assignment?
13:36:24Zagorusing defines. i.e. #define TREE_NEXT BUTTON_DOWN
13:41:27[IDC]Dragonan indirection won't solve the duplicate case's, if any
13:41:56Zagori know. i'm removing the duplicates, leaving only one define per value in button.h
13:42:20Zagorthe double definitions were not really well used anyway, and added confusion
13:42:39[IDC]Dragonthat will probably disable some feature for the Ondio, for now
13:43:05[IDC]Dragonin screens which react to On, others to Off, but not both
13:45:25Zagori'm fixing those cases too
13:46:02[IDC]Dragongiving them a mapping? Excellent!
13:46:21Zagormaybe not all plugins right now, but the base code anyway
13:46:55[IDC]Dragonin the ideal, protable world, we should never check for a button code, but for a mapped action
13:47:23Zagorright, that's my aim.
13:56:02[IDC]Dragonwhere do you keep all these key mappings?
13:56:30Zagorone set in tree, one in menu, one in settings and one in wps
13:56:40Zagorbasically one for each major button switch
13:57:25[IDC]DragonI was just considering a central header, but thats not such a good idea
14:01:58Zagori think having them close to the code is good, at least for now
14:06:05[IDC]Dragonyes, easier to maintain
14:07:47[IDC]DragonHow do you handle if certain actions are not possible (mapable) for that hardware, you give it som bogus define?
14:08:19Zagorno, i simply don't give it a define. then #ifdef FUNCTION in the switch
14:08:39[IDC]DragonI was about to suggest that, too
14:10:17[IDC]Dragonare you aready taking out the preliminary Player key scheme for the Ondio?
14:11:02mbr[IDC]Dragon: I have some general questions about the ondio ..
14:11:24mbris the radio reception really that worse?
14:11:34mbrsome reviews claim that ..
14:11:58[IDC]DragonI had to make a whole bunch of #if defined(HAVE_PLAYER_KEYPAD) || defined(HAVE_ONDIO_KEYPAD) to make this work
14:12:18[IDC]Dragonmbr: to be honest, I haven't tested
14:12:33[IDC]Dragontook it apart 10 min after I got it
14:12:48mbrlets try another question
14:13:12mbrdo you see any chance to support internal and external memory at the same time?
14:13:20mbror is there a hw limitation?
14:13:37[IDC]Dragona slim chance
14:13:56[IDC]Dragonno hardware limitation, but then we need to work with 2 disks
14:14:09mbrAh, OK
14:14:25[IDC]Dragonit makes no sense to RAID them together
14:15:12mbrI'm thinking about buying one, but FM should be good
14:15:28[IDC]Dragonin the near future, there may be an option to toggle which storage to use
14:15:41mbrThat would be nice also
14:16:06mbrI just dont want to plug and unplug the card for switching.
14:16:25[IDC]Dragonprobably much quicker than a menu option
14:16:25mbrso a SW switch would be sufficient
14:16:58mbrbut where to keep the card when yo are somewhere
14:17:28[IDC]Dragonyes, this big, bulky card :-/
14:17:31mbrkeeping it in the ondio would make sense to me
14:17:59[IDC]Dragonyou could extract it just a little bit, or turn it around
14:18:14[IDC]Dragonanyway, no major problem
14:18:14mbrAh, haven't known that
14:19:24mbrok, thanks for the answers, I think I order one :))
14:20:56mbrand try the FM on my own :))
14:43:33LinusNanother archos sale thanks to rockbox :-)
14:44:17mbrlike my recorder too :)
14:48:55Zagorouch. the keyboard is difficult. it uses every button on the recorders...
14:49:11LinusNthe Freescale coldfire docs are really sad compared to the standard Motorola docs for other cpus
14:49:24***No seen item changed, no save performed.
14:56:27MrMooDoes anyone here use TDT?
14:56:51MrMooTag Database Tool (iRiver)
14:57:10 Quit midk_ ("just STOP it arspy")
14:59:21ashridahnah. i use one written for linux. although i'm not sure if it works with the most recent firmware. hm.
14:59:46 Join midk [0] (
15:08:07[IDC]DragonZagor: (keyboard) even the combos are exploited?
15:08:39Zagorit's not 100% graceful, but a good start imho
15:08:45 Join midk_ [0] (
15:08:47[IDC]DragonI may do the direction key test different
15:08:56[IDC]Dragonto allow combos there
15:09:16[IDC]Dragonthe resistors form a R2R network
15:09:21 Quit midk (Nick collision from services.)
15:09:23ZagorI use menu+up/down for things. is that ok with the button decoder?
15:09:23 Nick midk_ is now known as midk (
15:09:36[IDC]Dragonmeaning, every key has its magnitude
15:10:07[IDC]DragonZagor: yes, if the first menu depress does not bring you elsewhere
15:10:15Zagorof course
15:10:49[IDC]Dragonif the tolerances allow, I could check the direction keys independently, allowing combos of them
15:11:08[IDC]Dragonbut then we better debounce
15:11:24ZagorI don't need direction combos
15:11:37[IDC]Dragonyet... ;)
15:11:40Zagordebounce when polling?
15:12:07[IDC]Dragonyet, to check for stable level
15:12:45Zagorah, for combos you mean
15:12:52Zagorno, sorry
15:13:00Zagori remember our early discussion now :)
15:13:22Zagori'd like to call it something else than debounce though. it's not quite accurate.
15:13:31ZagorI get confused ever time :)
15:13:42Zagoror just stabilising
15:14:04Zagorwhatever :)
15:14:07[IDC]Dragonjeminds me of camcorders
15:14:37Zagorhehe, yeah it's a bad name since we're not actually *doing* it. just waiting for it.
15:15:54[IDC]Dragonit's called marketing
15:16:13Zagorno swearing please :)
15:16:25[IDC]DragonRockbox with TruButton Stabilizer technology
15:16:36LinusNPatent Pending
15:17:21LinusNactually, i think the problem might be the A/D driver itself
15:17:37LinusNto begin with, we read the A/D very seldom
15:17:41Zagorah, so it's YOUR fault? ;)
15:17:46[IDC]Dragonoops, why?
15:17:55LinusNwe read one channel per tick
15:18:12LinusNso each channel takes 8 ticks to update
15:18:17[IDC]Dragonisn't it 4 now?
15:18:29LinusNi did that, but was forced to revert it
15:18:43LinusNbecause we got other weird errors because of it
15:18:57[IDC]Dragonforced by whom?
15:19:20LinusNthe users who experienced problems?
15:19:48LinusNi didn't have the time back then to debug it, so i just reverted it
15:19:52[IDC]Dragonanother way would be to measure in adc_read()
15:20:17Zagorthat would be slow
15:20:19LinusNyes, but the conversion takes 10us
15:20:29[IDC]Dragonit doesn't take that long
15:20:41LinusNnot 10us?
15:21:11[IDC]Dragonthat wasn't related to the 10 us
15:21:30 Join kurzhaarrocker [0] (
15:21:40[IDC]Dragonor the high speed solution: use the ADC interrupt
15:21:50kurzhaarrockerBTW: What is a wiggler? Bait?
15:22:04LinusNthe interrupt handling eats up a lot of cycles
15:22:17LinusNkurzhaarrocker: a bdm debugger interface
15:23:00kurzhaarrockerA piece of hardware I assume?
15:23:25LinusNkurzhaarrocker: yes
15:23:55kurzhaarrockerthx, LinusN
15:30:07[IDC]DragonZagor: these HAVE_xxx defines are mostly binary
15:30:24[IDC]Dragonwhich looks a bit funny for multiple choice
15:30:47[IDC]Dragonwhy not a CPU define with a value?
15:31:00Zagoryou mean we should have #if CPU == SFC5249
15:31:10[IDC]Dragonor MAS define
15:31:12LinusNlooks better imho
15:31:28Zagornot a bad idea. same with keypad.
15:31:36[IDC]Dragonbut let's keep a prefix
15:31:40LinusN#if DECODER == LIBMAD
15:31:53[IDC]Dragonso we know this is platform configuration
15:31:56LinusN#if DECODER == MAS3507D
15:32:30Zagora CONFIG_ prefix ok?
15:32:43LinusNwe might also want a generic macro, like PLATFORM == ARCHOS_JUKEBOX
15:32:45[IDC]Dragonshorter, CFG_ ?
15:33:08Zagorwell the files are all called config.h and config-xxx so I think calling the defines CONFIG_xx makes sense
15:33:44ZagorI'll look into it
15:33:51LinusNi don't mind CONFIG_, the "#if" lines are quite short anyway
15:34:13[IDC]Dragonnot if its a bunch of ||
15:34:50Zagorwe shouldn't need a bunch of ||. if we do we're most likely missing a variable.
15:35:49Zagorthe DECODER thing won't work quite as smoothly though, since we will probably want more than one software codec
15:37:16[IDC]Dragonfor PLATFORM we currently have multiple exclusive ARCHOS_RECORDER, ARCHOS_FMRECORDER, etc. defines
15:37:40[IDC]Dragonthe ones we should not use, but the derived flags
15:38:18[IDC]Dragonmakes sense to have one define with a value
15:38:39[IDC]Dragonsaves namespace for the compiler ;-)
15:40:59[IDC]Dragonuh, ata.c looks #ifsef cluttered now
15:42:14Zagorof course, it now supports two cpus with different register maps and io pins
15:42:35Zagor#ifdef is not intrinsically bad
15:42:50 Join ripnetUK [0] (
15:42:54*[IDC]Dragon prefers upfront definitions
15:43:15Zagorhow would you have done it?
15:43:38[IDC]DragonI haven't look deeper in ata.c
15:44:03[IDC]Dragonbut define some macros, inline functions, etc. to do the "ditrty" work
15:44:34[IDC]Dragonsuch that the code itself reads linear
15:44:40Zagori don't see how that makes things less cluttered. you just move it to someplace else which will be even more cluttered instead
15:45:08[IDC]Dragonperhaps it's personal taste
15:45:24Zagorprobably :)
15:45:34[IDC]Dragonbut if you re-use these parts, it really becomes nicer
15:45:44*[IDC]Dragon thinks
15:45:59ZagorI do reuse them, that's why both ata drivers are in a single file
15:46:41[IDC]Dragonthe little ugly harware bangers, I meant
15:47:11LinusNhiding things in macros isn't necessarily a good thing either, it makes it harder to read the "hardware banging" code
15:47:53ZagorI will probably agree with you when/if we get more different platforms and thus more code variants. but currently I think moving the code away from sight does more harm than good.
15:48:45[IDC]DragonOK, sorry for style discussion
15:49:06Zagorno problem, it's good to discuss that too sometimes
15:50:35*[IDC]Dragon feels he did that some time too often recently
15:50:57Zagorwell I don't mind anyway
15:53:28Zagordon't we have an option for voice menus?
15:53:40[IDC]Dragonwe do
15:53:57Zagorhmm, where?
15:53:58[IDC]Dragonsettings -> voice (at the bottom)
15:54:10[IDC]Dragongeneral settings, I mean
15:54:25[IDC]Dragonunless you optimized it away ;-)
15:54:49Zagormy bottom item in general settings is language
15:55:10*[IDC]Dragon doesn't have a box at hand
15:55:29[IDC]Dragonare you running 2.2?
15:55:47LinusNmy voice entry is below "language"
15:55:59Zagori must have ran the wrong version
15:56:15Zagorand it seems I broke the ata driver! :(
15:56:36[IDC]Dragonmaybe you ran the wrong CPU?
15:58:14[IDC]Dragonyou swapped freeze_lock() and identfy(), is there a reason?
15:58:28Zagoryes, I need the identify information to know if I can run freeze_lock
15:58:46Zagori'm not sure the 1.8" disks support Secure Mode
16:00:21[IDC]Dragonso that didn't break it, hopefully
16:00:41Zagorno, the bleeding edge build works. phew!
16:00:49Zagorso it's something I broke in my local build
16:01:41LinusNgotta fly, cu guys
16:01:53 Part LinusN
16:01:53[IDC]Dragonhappy wiggling
16:03:04[IDC]Dragontoo late
16:04:11amiconn[IDC]Dragon: Now I'm around
16:04:20[IDC]Dragonhey Jens!
16:04:54[IDC]DragonI forgot what I wanted 6 hours ago
16:06:28 Join R3nTiL [0] (
16:07:47[IDC]Dragonmaybe about MMC cards
16:07:58[IDC]Dragonthe mode change is a PITA
16:08:27[IDC]Dragonthe Archos firmware at some points instructs the user to replug the card
16:10:03[IDC]Dragona workaround, because unfortunately they can't switch to card's power
16:10:26amiconnMaybe when switching to usb mode when the card was used by the Ondio before. Then the card is in SPI mode and can only put back into MMC mode by power cycling
16:10:49amiconnLuckily the internal flash does have a reset pin...
16:10:59[IDC]DragonI haven't taken enough care, when this happens
16:11:32[IDC]Dragonbut the docs say only power cycle can bring it back, don't mention the reset
16:11:55[IDC]Dragonbut it seems to work
16:12:52amiconnUnfortunately the real MMC cards don't have a reset pin
16:13:38amiconnI wonder why the MMC specs don't include a "soft" switch back
16:15:24[IDC]Dragonme too
16:31:30Zagori'm away. see you guys.
16:31:32 Part Zagor
16:39:06*[IDC]Dragon leaves, too
16:39:19 Quit [IDC]Dragon ("CGI:IRC")
16:41:44 Quit R3nTiL (Read error: 104 (Connection reset by peer))
16:49:28***Saving seen data "./dancer.seen"
16:52:06 Join R3nTiL [0] (
16:52:24 Join mrka [0] (
16:54:56 Quit ashridah ("sleep")
16:58:42mrkadoes anyone know of a different firmware for the av120????????????
17:02:41methangashaven't heard of one
17:16:40 Part kurzhaarrocker
17:16:54 Join mecraw__ [0] (~lmarlow@
17:25:37mrkaanybody know of an alternate firmware for the av120/140???????????????/
17:32:57 Part mrka
17:43:36 Quit R3nTiL (Read error: 104 (Connection reset by peer))
17:45:52 Part lImbus
17:50:01 Quit ripnetUK ()
18:49:30 Join mecraw_ [0] (~lmarlow@
18:49:33***Saving seen data "./dancer.seen"
18:51:57 Join _aLF [0] (
18:52:48 Quit methangas (Read error: 104 (Connection reset by peer))
18:57:28 Join methangas [0] (
19:07:22 Quit mecraw__ (Read error: 110 (Connection timed out))
19:08:08 Join webguest33 [0] (
19:09:05webguest33Any developers here?
19:09:41 Quit webguest33 (Client Quit)
19:10:11 Join webguest09 [0] (
19:12:01webguest09I have a jukebox recorder 10, which I'd like to use at work. I don't have admin, and Windoze says I need drivers and admin to access it.
19:12:23webguest09Yet my cf reader is fine..
19:12:35webguest09what's different?
19:12:37dwihnowhen I connect the unit to a windows 2000 or xp machine, it automatically runs
19:13:05webguest09I just loaded rockbox
19:13:20webguest09same as with the orig. software
19:13:28dwihnoask your admin kindly then... might be some admin privilege required in order to install the drivers
19:13:53webguest09Big company security...
19:14:09webguest09but my cf reader is mounted w/o any drivers
19:14:39webguest09is there some difference in how devices identify themselves via usb?
19:15:01webguest09is the jukebox not "just a mass storage device"?
19:15:06amiconndwihno: Do you have recorder 20?
19:15:09dwihnoshould be
19:15:14webguest09recorder 10
19:15:17dwihnoamiconn: yup, and I love it! :)
19:15:26amiconnThat's the reason!
19:15:30webguest09btw rockbox looks awesome.
19:15:47dwihnoamiconn: the rec10 utilizes isd200?
19:15:55amiconnRecorder 10 is USB1.1 and not completely mass storage compliant, hence needs special drivers
19:16:02dwihnoit is
19:16:07dwihnoit IS ISD200 then
19:16:22dwihnoI thought all recorders had ISD300
19:16:22webguest09is that a hardware limitation, i take it?
19:16:25 Quit Lynx_ (" HydraIRC -> <- The dawn of a new age")
19:16:35dwihnowebguest09: the ISD200 needs additional drivers :/
19:17:07webguest09so i can't use it at work except standalone.
19:17:14amiconndwihno: Recorders <= 10 GB have ISD200, Recorder 20 has ISD300. Recorder 15 does exist in both versions afaik
19:17:41dwihnowebguest09: unless you coax your admin to install the ISD200 drviers...
19:17:58webguest09we don't have "AN" admin.
19:18:06dwihnoamiconn: aha. well, as far as I have ISD300... :) I've used this to backup my friends' systems more than once
19:18:15webguest09We have to call in a ticket to helpdesk, and justify need.
19:18:40amiconndwihno: Yes, USB2.0 is really nice to have. I have that too :)
19:18:42webguest09I have control over bios boot sequence :)
19:19:00webguest09maybe a lightweight linux distro booted via cd?
19:19:16webguest09just to copy files to/from cdrom
19:19:25dwihnowebguest09: would work - just make sure isd200 kernel module is loaded
19:19:37dwihnobjörn, of the rockbox fame, is the author of that driver :)
19:19:38*webguest09 makes notes
19:20:17dwihnoamiconn: yeah... I connect it everywhere :)
19:20:55webguest09i'm sufficiently impressed with rockbox so far to consider buying another device to run it on.
19:21:08webguest09I work in CT, and live in NH
19:21:15dwihnoCT? NH?
19:21:39webguest09connecticut and new hampshire (USA)
19:22:22webguest09I drive 2-3 hours every sunday night and friday night
19:22:25dwihnoamiconn: I guess the batteries wear out faster when connected, but batteries are quite cheap
19:22:46dwihnoI ride my bike for 20 minutes in the morning and 15 in the evening... That's suitable for me :)
19:23:07amiconnI always connect the charger when I copy large amounts of data. Didn't have any problems with running out of battery so far
19:23:52dwihnotrue, true
19:24:02webguest09I'm going to load the audio prompt stuff so I don't end up in a ditch.
19:24:05amiconnAnd yes, it is a really nice backup storage, especially with that 80 GB hd :)
19:25:17webguest09I was thinking of a hd upgrade, but maybe I should get a jukebox 20 first.
19:25:18dwihnobtw, do you think it will be possible to save the files from my old disk when connected to regular IDE? USB is a no-go
19:25:29dwihnowebguest09: get a recorder 20...
19:25:50amiconnThe players do all have ISD200
19:26:34webguest09I like the record function. I've been playing around saving streams at work.
19:26:35amiconndwihno: Yes, IDE should be definitely possible. I did it via USB, was rather fast & easy
19:26:54webguest09thats why I wanted to copy files off to cdrom.
19:27:47webguest09oh well. gotta get back to work. thanks for the info.
19:27:57 Quit webguest09 ("CGI:IRC")
19:29:15dwihnoamiconn: I tried dd'ing the disk directly without any success.... will a 2.5" adapter be a waste of cash?
19:30:44amiconnI have no idea. I did copy all data over to my laptop first, swapped the hd, formatted, and then copied all data back. The copying took ~30 min each direction (~20 GB)
19:31:10dwihnothis lasagna is HOT
19:50:44 Join [IDC]Dragon [0] (
19:56:48amiconn[IDC]Dragon: I though about the necessity for bitswapping and the write operation. If we want to write whole blocks with DMA, we have to copy the data into a sector buffer first, then swap, then write.
19:57:19amiconnThe copy & swap could be unified to a swap-copy routine though
19:57:57[IDC]Dragoncurrent swap is in-place only, I presume?
19:57:57amiconnFor reading this problem doesn't exist, as we can swap the data in-place
19:58:40[IDC]Dragonand since that is faster, we need a 2nd fn for copy&swap
19:59:02amiconnIt could even be done without being slower
19:59:14 Join webguest74 [0] (
19:59:21[IDC]Dragonreally? then we need only one function
19:59:37amiconn[IDC]Dragon: Though that's not possible with the table swap, since the table lookup already takes r0
20:00:21[IDC]DragonI know, you want your geek swap
20:00:53amiconnArgh! I just remembered that this approach to swap-copy would require both source & dest to be long aligned! :(
20:01:25[IDC]Dragonlet's do it simple, for a start
20:01:37[IDC]Dragonmemcpy and swap is fine
20:02:11amiconnYes of course. First we need a working version, optimization is the next step
20:02:25amiconnAnd memcpy is faast ;)
20:02:48[IDC]Dragonyes, both have been Jensified
20:03:09[IDC]Dragonor, amiconned
20:03:42dwihnosince you guys joined the project, it has been jensified and jörgilized :)
20:04:25[IDC]Dragonlol, ok, enough
20:04:59dwihnookay :)
20:05:04amiconn[IDC]Dragon: For sending commands, the data block size is rather small. I wonder if DMA will increase performance here, or if the DMA setup overhead makes it slower even
20:05:53[IDC]Dragonright now it's probably all easier without DMA
20:06:05amiconnI think we should add bitswap.h
20:06:11[IDC]Dragonon the long run, I'd prefer to have only one set of functions
20:06:39amiconnRockbox is already quite large compared to the original firmwares
20:07:09[IDC]Dragonand it even keeps the localization outside
20:07:27[IDC]Dragonthe Archos f/w has all the strings inside
20:07:27amiconnBtw: Why did you call the mmc driver ata_mmc.c and not simply mmc.c ?
20:07:54[IDC]Dragonnot too much reason
20:08:09[IDC]Dragonjust to indicate it implements the same functions
20:08:44[IDC]Dragonwe'd still have to use the ata_xxx() names
20:11:09dwihnowhat do you guys think about the ondio btw?
20:11:21 Quit webguest74 ("CGI:IRC (EOF)")
20:11:36[IDC]Dragonhaven't used it much
20:11:51[IDC]Dragonbut I like it being small
20:12:21[IDC]Dragonpeople say, it eats a lot of batteries
20:13:20dwihnoa new will fix that ;)
20:17:34amiconn[IDC]Dragon: As you talked about FAT16 support today - FAT16 support is a requirement on the Ondio. If I read the archos docs correctly, the archos firmware does only support FAT16 for the builtin flash.
20:18:27[IDC]Dragonoh, really? That's bad.
20:18:36amiconnBtw: I wonder how the original fw boots when there is a mmc inserted already. Does it load ajbrec.ajz from there?
20:18:59[IDC]Dragonno, it always boots from the internal "card".
20:20:10[IDC]Dragonhmm, how can we get out of this for a start? Maybe a 2nd partition?
20:20:53amiconn[IDC]Dragon: read
20:21:30[IDC]Dragonwhich part?
20:21:56amiconnVersion 1.31f
20:24:40amiconn[IDC]Dragon: You could try 2 things: (1) delete ajbrec.ajz from internal flash, and put a rockbox one on an mmc. Then insert the card and try to boot. If rockbox is loading, we know that it also boots from external mmc if inserted
20:24:46[IDC]Dragondo you read from this that it doesn't support FAT32 boot or that an older version got stuck?
20:25:01[IDC]DragonI already did that
20:25:46amiconnI read from this that an older version got stuck completely, but also newer versions don't read FAT32. The will merely no longer hang, allowing USB access to reformat with FAT16
20:27:49amiconnIf it boots from external MMC, you could try to format one with FAT32, put rockbox on it, then try to boot again
20:27:58[IDC]Dragonas I told, it only boots from the internal
20:28:13[IDC]Dragonbut I can retry
20:29:46amiconnIf it only boots from the internal flash, it needs to switch disks at some point.
20:35:19 Quit mecraw_ (Read error: 104 (Connection reset by peer))
20:36:09 Join mecraw_ [0] (~lmarlow@
20:49:34***Saving seen data "./dancer.seen"
21:23:00 Join elinenbe_work [0] (~elinenbe_@
21:23:11elinenbe_workhello from work!
21:24:23elinenbe_workhey, can anyone tell me the latest on the iriver front?
21:26:34dwihnolinus is wiggling it
21:32:34elinenbe_workthat's what it looks like −− I was just wondering if he got his BDM Wiggler yet?
21:32:43 Quit mecraw_ (Read error: 104 (Connection reset by peer))
21:33:15 Join mecraw__ [0] (~lmarlow@
21:41:02dwihnoI don't know jack about wiggler
21:41:09dwihnoHeck, I don't even know Jack :)
21:41:19 Quit [IDC]Dragon (Read error: 110 (Connection timed out))
22:06:20 Join [IDC]Dragon [0] (
22:31:50 Join scott666_ [0] (
22:34:41[IDC]Dragonamiconn: (FAT16 dilemma) I think we should first make Rockbox work with the external MMC, which can thenbe FAT32-formatted
22:35:41[IDC]Dragonthe only way out I could think of
22:37:25amiconnI thought Zagor or Bagder already implemented FAT16 support once, and simply took it out. Sadly, I had to read today that this is not true.
22:38:09[IDC]Dragonyes, me too :(
22:38:41[IDC]DragonI started reading about the subject, it doesn't look difficult
22:39:00[IDC]Dragonbut the question is how to test this
22:39:36amiconnErm, on a Jukebox with a FAT16 partition perhaps?
22:40:30[IDC]Dragonno, Archos (and Rockbox) can't boot there
22:40:57amiconnThere can be more than one partition
22:41:03amiconnThere is also some test code for the FAT driver in the test/ subdir. (I have to admit that I couldn't figure how to use this)
22:41:28[IDC]Dragonhaven't looked, but remember having seen it
22:42:26amiconnThere could be 2 partitions, the first being FAT32 and the second FAT16. Then, in a test build, you tell (or change) fat_mount to explicitly mount the 2nd partition
22:42:43[IDC]Dragonyes, that's good
22:43:07[IDC]Dragonbut with a PC simulation, it would be easier
22:43:09amiconnI started reading about the DMAC, and digged which timers and DMA channels are already taken in rockbox
22:43:34amiconnFortunately, we still have enough of these resources available
22:43:35[IDC]Dragonyes, there should be enough resources left
22:44:07amiconnTimers taken: 0, 1 and 4. DMA channel taken: 3
22:44:30[IDC]Dragonyou need a timer?
22:44:43amiconnThis leaves us with timers 2, 3, and DMA 0..2. I don't think I'll need a timer though
22:45:52amiconnI'd like to "reserve" DMA2 for MMC
22:46:03[IDC]Dragonfeel free
22:46:51amiconnI think I'll go for a 2-buffer approach. While one buffer is transferring, the other will be copied (for writing only) and bitswapped
22:47:41amiconnOf course, the first version won't use DMA
22:48:15amiconnI wonder if we could/should fit the write buffer(s) into IRAM
22:48:16[IDC]DragonI was thinking on how the CPU could sleep meanwhile
22:48:48amiconnThe CPU could sleep if DMA is introduced
22:49:06[IDC]Dragonbecause yield() may be inefficient, walks through all the threads, iirc
22:49:37***Saving seen data "./dancer.seen"
22:49:37amiconnThe real ata driver uses yield()
22:50:02[IDC]Dragonbut it copies the data "by hand"
22:50:29amiconnYes, and while waiting for busy/ready it yields
22:51:06[IDC]Dragonwhich is less frequent
22:51:52[IDC]DragonI'm a bit worried if a high-frequency yield (like for each sector) is efficient
22:52:07[IDC]Dragonbut this is later worry
22:52:14[IDC]Dragonwe can ask Linus
22:53:04[IDC]Dragonhow are your commands?
22:53:39[IDC]Dragonany like fromthe MMC, or what are you doing?
22:53:58[IDC]Dragonany life
22:54:18amiconnNot yet.
22:55:08amiconnBtw: you really did measure 1.5 MHz bursts with archos fw? I ask because if I don't read my scope wrong, I get 3 MHz??
22:55:44[IDC]DragonI thought so, but may of course be subject to human error
23:00:03amiconnIt looks like we can transfer 3 MBit/s
23:00:26[IDC]Dragonthat's good
23:09:32 Join PaulS [0] (
23:10:30PaulSelinenbe_work: Linus got his wiggler, but last night he didn't quite get his wiggle on, because he fell asleep. He'll presumably be back for some wiggle action tonight.
23:12:00PaulS(Assuming that's his idea of fun on a Friday night.)
23:15:40amiconn[IDC]Dragon: Just found that I need to poll for the first response byte from the card. Preparing routine.
23:16:20[IDC]Dragonwhy poll?
23:17:20amiconnIt's unknown when the card will send its answer. When the first byte is received, data blocks can be transferred without further polling
23:17:31elinenbe_workPaulS: sounds good.
23:22:07[IDC]Dragonamiconn: are you utilizing the Ulrich Radig routines?
23:23:03[IDC]DragonI mean, the wheel should be invented there
23:23:28amiconnFor reference only. These routines send every byte individually
23:23:57[IDC]Dragonreference is a good thing to have :)
23:25:01amiconnI enable/disable the transmitter/receiver before/after every send/receive, because the full duplex setting (both TE and RE = 1) are tricky to handle, and we don't need this, since SPI mode is half duplex
23:32:33[IDC]Dragonbedtime, cu
23:32:39 Quit [IDC]Dragon ()
23:45:25 Join ripnetUK [0] (
23:45:46ripnetUKany news on the wiggling?
23:50:09 Quit ripnetUK (Client Quit)
23:57:56 Join webguest82 [0] (

Previous day | Next day