--- Log opened Sun May 22 00:08:07 2011 00:08 < Farthen> you could write a small idc to do that i think 01:00 -!- posixninja [~textual@h177.56.23.98.dynamic.ip.windstream.net] has quit [Ping timeout: 240 seconds] 01:07 -!- posixninja [~textual@h83.31.23.98.dynamic.ip.windstream.net] has joined #freemyipod 01:31 < yuriks> http://pastebin.com/PDn01y7q 01:32 < yuriks> any idea why it's reading the fiq status twice in a row? 01:32 < yuriks> doesn't mention anything in the vic datasheet that that register changes value after being read 01:38 < yuriks> it would make more sense if it read the second vic's fiq status instead 01:42 -!- yuriks_ [~yuriks@189.58.188.240] has joined #freemyipod 01:43 -!- yuriks [~yuriks@opentyrian/developer/yuriks] has quit [Read error: Connection reset by peer] 01:52 -!- posixninja [~textual@h83.31.23.98.dynamic.ip.windstream.net] has quit [Quit: Computer has gone to sleep.] 01:57 -!- posixninja [~textual@h83.31.23.98.dynamic.ip.windstream.net] has joined #freemyipod 02:22 -!- TheSeven [~TheSeven@rockbox/developer/TheSeven] has quit [Disconnected by services] 02:22 -!- [7] [~TheSeven@rockbox/developer/TheSeven] has joined #freemyipod 02:24 < yuriks_> [7]: wiki seems to be down 02:58 -!- Keripo [~Keripo@c-76-28-198-27.hsd1.wa.comcast.net] has joined #freemyipod 02:58 < S_a_i_n_t> lol @ "try searching google in the meantime"... 02:58 < S_a_i_n_t> Yes, thanks, but...what if what I'm wanting to look for is *here*? ;) 03:02 < yuriks_> you can use the chached pages... (which is what I'm doing) 03:02 < yuriks_> cached* 03:26 -!- liar [~liar@clnet-p09-185.ikbnet.co.at] has quit [Quit: hallowed are the ori!] 03:42 < yuriks_> [7]: do you know what 0x38E02000-0x38E03000 is on the S5L8702? 03:43 < yuriks_> 0x38E00000-0x38E02000 are two VICs 03:43 < yuriks_> those device maps seem to show that it's "edgeic", whatever that is 03:54 -!- posixninja [~textual@h83.31.23.98.dynamic.ip.windstream.net] has quit [Remote host closed the connection] 05:00 -!- clustur [~logger@c-98-249-104-118.hsd1.tn.comcast.net] has quit [Remote host closed the connection] 05:00 -!- clustur [~logger@c-98-249-104-118.hsd1.tn.comcast.net] has joined #freemyipod 05:04 < yuriks_> this SWI handler barely makes any sense... 05:05 < yuriks_> if the swi number isn't 0xFF it immediatelly returns, if it isn't it sets the cpu to swi mode (which it should already be into? O_o) and returns 05:13 -!- kleemajo [~kleemajo@S0106001b38dab169.cn.shawcable.net] has joined #freemyipod 05:27 -!- kleemajo [~kleemajo@S0106001b38dab169.cn.shawcable.net] has quit [Ping timeout: 276 seconds] 05:55 -!- kleemajo [~kleemajo@S0106001b38dab169.cn.shawcable.net] has joined #freemyipod 06:10 < yuriks_> http://dl.dropbox.com/u/1990844/2011-05/rom_copies.png 06:10 < yuriks_> did I get something wrong or is this code insane? 06:11 < yuriks_> (rom_copy is in ram @ 0x2202_0800) 07:28 < [7]> yuriks_: heh, everyone stumbles upon this one once :) 07:29 < [7]> the code near the call to that function checks whether it's executing from the right location, and if not, calls this function to move things into place, zero the bss, and then jumps to the reset vector of the copy 07:34 < [7]> user890104: seems like you introduced a bug in your latest beeper commit :) 07:34 < [7]> if i would have written the main loop, it would look like this: 07:34 < [7]> while (count--) 07:34 < [7]> { 07:34 < [7]> if (!buf->cycles) sleep(buf->length); 07:34 < [7]> else singlebeep(buf->cycles, buf->length); 07:34 < [7]> buf++; 07:34 < [7]> } 07:35 < yuriks_> [7]: but the zeroing it's doing seems to be of the very data it just copiend :S 07:40 < yuriks_> or, actually 07:40 < [7]> i'm pretty sure that you've missed something, but I don't undestand what exactly yet 07:40 < [7]> i also needed to read that code three times to get it right 07:41 < yuriks_> it's what I was thinking, but I double-checked the whole thing 3 times already =/ 07:41 < yuriks_> *checks again* 07:41 < [7]> this is the 8702 rom? 07:42 < yuriks_> yeah 07:43 < [7]> oh, wait, i mixed things up 07:43 < [7]> this is the second one 07:43 < yuriks_> what is does befor this is just: 07:43 < [7]> this one doesn't do any copying, but only zeroes the stacks 07:44 < yuriks_> enable watchdog, disable ints, setup power and clocks, setup stacks for each mode, fiddle with the caches a bit, then this 07:45 < yuriks_> there's a comparsion there that seems to be always false (along with a bunch of redundant calculations that are also constant), so I think this weirdness comes from compile time constants 07:46 < yuriks_> that mean the code isn't needed in all cases 07:48 < [7]> http://dl.dropbox.com/u/23683845/8702-200002e8.png 07:48 < [7]> that's how this code looks like in my idb 07:49 < yuriks_> >do nothing at all 07:50 < [7]> this weirdness comes both from symbol calculations that couldn't be optimized away at compile time because they were only resolved by the linker, and from pc-relative addressing 07:50 < yuriks_> oh 07:50 < [7]> that LDR PC, =whatever is kind of an absolute branch 07:50 < yuriks_> I was thinking they weren't optimized out cause that code was in assembly 07:50 < yuriks_> but that's a better explanation 07:51 < [7]> so we know that after this, we're definitely running from ROM 07:51 < yuriks_> isn't the ldr pc, =whatever business a tail call? 07:52 < yuriks_> er, no 07:52 < yuriks_> before that 07:52 < [7]> yeah, but those are ADRs, so they are relative 07:52 < yuriks_> it does a bunch of adr lr, #continuation_0; b function 07:53 < [7]> i have absolutely no clue why they're calling those functions that way, but they've been doing this in all ROMs that i've seen so far 07:53 < yuriks_> it took me a while to realize those even WERE function calls 07:54 < [7]> yeah, ida doesn't realize that either 07:54 < [7]> so after that LDR PC, the next step is to calculate the code size (which can't be resolved at compile time for obvious reasons) 07:55 < [7]> after that they're using that size to calculate the end of code again, which is kinda dumb 07:55 < [7]> might be a leftover from symbol constants, e.g. one of the 0x20000000s might be SOURCE_BASE and the other one EXEC_BASE or something 07:56 < yuriks_> so is my rom_copy there the actual place where it copies the rom or where the stacks are? 07:56 -!- liar [~liar@clnet-p09-185.ikbnet.co.at] has joined #freemyipod 07:56 < [7]> then they calculate how much code needs to be copied to sram (which seems to be bounded by two sram symbols) 07:57 < [7]> in this case, this turns out to be nothing, as those symbols are the same 07:57 < yuriks_> cause, even if it DOES, it will be clared by the next for, unless I missed something 07:57 < [7]> so the first loop will be skipped 07:57 < [7]> the second loop will then clear the stacks and jump into main 07:57 < [7]> nah, the second loop uses the upper bound symbol 07:58 < [7]> this happens to be the same value than the lower bound symbol in this case, which is kinda confusing 07:58 < yuriks_> ah 07:58 < yuriks_> right 07:58 < yuriks_> yeah, that makes it make much more sense 07:59 < yuriks_> so rom_copy is actually bss_start 07:59 < [7]> the constant pool for this is at 200004DC 07:59 < [7]> yeah 08:00 < yuriks_> ah 08:00 < yuriks_> I was wondering whey they had two equal constants 08:00 < [7]> you'll notice multiple incarnations of that rom_copy value 08:00 < [7]> exactly 08:00 < [7]> this is another thing that was apparently resolved by the linker, as the compiler/assembler didn't know that those values are identical 08:01 < yuriks_> they should've added a ltcg optimization pass to this :P 08:01 < [7]> if you look at the code in more detail, you'll notice that the one used for the upper bound of the copying operation is the one used for the lower bound of the zeroing operation 08:03 < [7]> i guess that this whole weird code is a remnant from an option to compile a testing rom build that actually runs from ram 08:04 < yuriks_> yeah 08:04 < yuriks_> hmm, any idea about this one? 08:04 < yuriks_> 22:31 < yuriks> http://pastebin.com/PDn01y7q 08:04 < yuriks_> 22:32 < yuriks> any idea why it's reading the fiq status twice in a row? 08:04 < yuriks_> 22:32 < yuriks> doesn't mention anything in the vic datasheet that that register changes value after being read 08:04 < yuriks_> 22:37 < yuriks> it would make more sense if it read the second vic's fiq status instead 08:06 < yuriks_> if it finds no interrupt active on vic0 it... reads it again 08:07 < yuriks_> and after it's sure it really is 0 it returns 08:13 < [7]> the VIC_ADDRESS read will influence VIC_FIQSTATUS 08:13 < yuriks_> that read only happens if FIQSTATUS is 0 08:13 < yuriks_> and by that point it will branch out to the end of the function anyway 08:13 < [7]> hm 08:14 < [7]> probably a bug 08:14 < [7]> FIQs aren't used anyway, so nobody would notice if that is broken 08:15 < yuriks_> looks like it, the VIC_ADDRESS read from VIC1 may be invalid because there may be no interrupt on it 08:15 < [7]> in that case vic_address will probably be zero, which will be caught below 08:16 < [7]> but yeah, this code is very strange 09:09 -!- paulo_ [~paulo@112.204.126.69] has joined #freemyipod 09:10 < paulo_> website is down? 09:16 < yuriks_> yeah 09:16 < [7]> seems like the mysql server crashed 09:17 < [7]> Farthen isn't here currently, so there's not much we can do right now 09:17 -!- paulo_ [~paulo@112.204.126.69] has quit [Quit: Leaving] 09:18 -!- paulo_ [~paulo@112.204.126.69] has joined #freemyipod 09:36 < paulo_> join #noxOS 09:37 < paulo_> oops 09:37 < paulo_> forgot the slash 09:44 -!- benedikt93 [~benedikt9@unaffiliated/benedikt93] has joined #freemyipod 09:45 < user890104> [7]: how would i free the memory allocated at "buf" if i increment the pointer (and lose its original value)? 09:49 * user890104 found his bug 09:50 < paulo_> save the original value somewhere else 09:57 -!- n1s [~quassel@rockbox/developer/n1s] has joined #freemyipod 09:58 < yuriks_> wow, the bzero function has some nice tricks with shifts and the flags 10:08 -!- yuriks_ [~yuriks@189.58.188.240] has quit [Ping timeout: 258 seconds] 10:10 -!- yuriks [~yuriks@opentyrian/developer/yuriks] has joined #freemyipod 10:10 < yuriks> oh damn 10:11 < yuriks> crap 10:12 < yuriks> fffffffffffffffff, several hours of unsaved work 10:14 < yuriks> god damn it power company/ida 10:16 < yuriks> hmmm... the second time I tried to open it it worked 10:16 < yuriks> well, *phew* 10:18 < yuriks> [7]: how do you keep track of I/O registers in your database? 10:18 < yuriks> I made a segment for the whole IO address space, but now my db is 512mb <_< 10:20 < Farthen> wth happened? 10:21 < yuriks> power went you for 30 seconds and ida was refusing to open the unpacked db files (and I hadn't saved in a few hours) 10:22 < yuriks> oh, and the mysql server for the wiki crashed, too :P 10:23 -!- geek__ [~geek@2001:c08:3700:ffff::11:d291] has joined #freemyipod 10:25 < Farthen> oh well, that is not good 10:25 < Farthen> let me see what happened there exactly 10:26 -!- faileas [~geek@2001:c08:3700:ffff::d:2a3] has quit [Ping timeout: 264 seconds] 10:28 < [7]> yuriks: usually i don't at all, and if i do, i allocate one segment per peripheral which is only a couple of bytes 10:30 * Farthen failed at doing a software update 10:31 < Farthen> i started an apt-get upgrade but forgot it then. it stopped at some modified config file dialog while mysql was shut down -.- 10:32 < Farthen> site should be back up now though 10:32 < yuriks> [7]: I tried doing that before but it messed up the auto analysis where it wouldn't auto-tag places using that address with the symbolic name, kind of defeating the purpose :P 10:35 -!- faileas [~geek@2001:c08:3700:ffff::11:d50b] has joined #freemyipod 10:39 -!- geek__ [~geek@2001:c08:3700:ffff::11:d291] has quit [Ping timeout: 264 seconds] 10:45 -!- yuriks [~yuriks@opentyrian/developer/yuriks] has quit [Ping timeout: 246 seconds] 10:55 -!- n1s [~quassel@rockbox/developer/n1s] has quit [Remote host closed the connection] 11:00 -!- clustur [~logger@c-98-249-104-118.hsd1.tn.comcast.net] has quit [Remote host closed the connection] 11:00 -!- clustur [~logger@c-98-249-104-118.hsd1.tn.comcast.net] has joined #freemyipod 11:02 -!- geek__ [~geek@2001:c08:3700:ffff::11:daf9] has joined #freemyipod 11:06 -!- faileas [~geek@2001:c08:3700:ffff::11:d50b] has quit [Ping timeout: 260 seconds] 12:31 -!- faileas [~geek@2001:c08:3700:ffff::11:daf9] has joined #freemyipod 12:34 -!- geek__ [~geek@2001:c08:3700:ffff::11:daf9] has quit [Ping timeout: 264 seconds] 12:35 -!- geek__ [~geek@2001:c08:3700:ffff::11:eee3] has joined #freemyipod 12:38 -!- faileas [~geek@2001:c08:3700:ffff::11:daf9] has quit [Ping timeout: 264 seconds] 12:43 -!- geek__ is now known as faileas 12:48 -!- geek__ [~geek@2001:c08:3700:ffff::11:f1fb] has joined #freemyipod 12:52 -!- faileas [~geek@2001:c08:3700:ffff::11:eee3] has quit [Ping timeout: 264 seconds] 12:58 -!- geek__ is now known as failes 13:03 -!- failes [~geek@2001:c08:3700:ffff::11:f1fb] has quit [Ping timeout: 264 seconds] 13:52 -!- n1s [~quassel@rockbox/developer/n1s] has joined #freemyipod 14:06 -!- benedikt93 [~benedikt9@unaffiliated/benedikt93] has quit [Quit: "Facts do not cease to exist because they are ignored." - Aldous Huxley] 15:36 -!- posixninja [~textual@h83.31.23.98.dynamic.ip.windstream.net] has joined #freemyipod 16:01 -!- ScepticRail [~ScepticRa@host86-176-2-171.range86-176.btcentralplus.com] has joined #freemyipod 16:02 < ScepticRail> What are the advantages to running another OS on older devices like 1st/2nd/3rd gen ipods? 16:02 -!- benedikt93 [~benedikt9@unaffiliated/benedikt93] has joined #freemyipod 16:06 < Farthen> we don't support other oses for any ipod older than nano 2g 16:24 < ScepticRail> Inclusive? As in, do you support other OSes for nano 2gs but no older? 16:26 < user890104> iLoader/emBIOS/emCORE for nano 2g are supported here 16:27 < [7]> the question is "other than what?" 16:27 < [7]> other than the apple firmware, or other than both that and rockbox? 16:31 < ScepticRail> Other than the apple firmware 16:32 < [7]> and what are you calling the 1/2/3g ipods? 16:32 < ScepticRail> I meant nano, my bad 16:33 < [7]> well, rockbox is supported on the 1g/2g only 16:33 < [7]> and it offers much more features than the apple firmware, while sacrificing ease of use a little bit 16:34 < ScepticRail> What features, for example? 16:34 < [7]> you aren't tied to itunes any more, it supports dozens of codecs, things like equalizers/crossfeed/crossfade, voice UI, ... 16:34 < [7]> see rockbox.org 16:36 < ScepticRail> Okay, thanks 16:36 < [7]> especially http://www.rockbox.org/wiki/WhyRockbox and http://www.rockbox.org/wiki/FeatureComparison 16:37 * [7] notices that the latter link is seriously outdated 16:39 < [7]> but yeah, it provides a general idea about the features 16:45 < ScepticRail> But aren't the older iPods (I have a 2nd gen nano) really *really* slow if they're running anything other than the apple firmware? 16:47 < ScepticRail> And this link (http://www.rockbox.org/wiki/FeatureComparison) doesn't include Apple at all 16:56 < AlexP> No, they run fine 16:57 < AlexP> With better battery life even 16:57 < AlexP> And that page is well out of date 16:57 < AlexP> FWIW nano 2G is quite modern, in terms of hardware anyway 17:00 < ScepticRail> Oh really? 17:00 < AlexP> Compared to the older ipods, yeah 17:00 -!- clustur [~logger@c-98-249-104-118.hsd1.tn.comcast.net] has quit [Remote host closed the connection] 17:00 -!- clustur [~logger@c-98-249-104-118.hsd1.tn.comcast.net] has joined #freemyipod 17:03 -!- S_a_i_n_t [~st.lasciv@124-197-3-117.callplus.net.nz] has quit [Quit: Imagination is for turbo-nerds who can't handle how kick-butt reality is. I'm a kick-butt reality master! I would rather die, than be imaginative. I mean that.] 17:03 < ScepticRail> Wow, I always thought of it as a peace of junk which was just lying there. This may open knew doors! 17:14 < ScepticRail> *piece 17:50 -!- liar [~liar@clnet-p09-185.ikbnet.co.at] has quit [Read error: Connection reset by peer] 17:51 -!- liar [~liar@clnet-p09-185.ikbnet.co.at] has joined #freemyipod 18:47 -!- paulo_ [~paulo@112.204.126.69] has quit [Ping timeout: 264 seconds] 19:46 -!- yuriks [~yuriks@186.213.141.151] has joined #freemyipod 19:46 -!- yuriks [~yuriks@186.213.141.151] has quit [Changing host] 19:46 -!- yuriks [~yuriks@opentyrian/developer/yuriks] has joined #freemyipod 19:58 -!- Keripo [~Keripo@c-76-28-198-27.hsd1.wa.comcast.net] has quit [Quit: Leaving.] 20:10 -!- benedikt93 [~benedikt9@unaffiliated/benedikt93] has quit [Quit: Welcome to the Internet, where the men are men, the women are men and the children are agents of the FBI] 20:27 -!- [Saint] [~Saint]@124-197-3-117.callplus.net.nz] has joined #freemyipod 20:47 -!- Keripo [~Keripo@c-76-28-198-27.hsd1.wa.comcast.net] has joined #freemyipod 21:09 < yuriks> [7]: http://www.freemyipod.org/wiki/S5L8702_clock_gates 21:09 < yuriks> are those bits in PWRCON*? 21:09 < [7]> yeah 21:13 -!- ScepticRail [~ScepticRa@host86-176-2-171.range86-176.btcentralplus.com] has quit [Quit: Going offline, see ya! (www.adiirc.com)] 21:32 -!- [Saint] [~Saint]@124-197-3-117.callplus.net.nz] has quit [Remote host closed the connection] 21:34 -!- [Saint] [~st.lasciv@124-197-3-117.callplus.net.nz] has joined #freemyipod 21:53 -!- n1s [~quassel@rockbox/developer/n1s] has quit [Remote host closed the connection] 22:28 -!- liar [~liar@clnet-p09-185.ikbnet.co.at] has quit [Quit: hallowed are the ori!] 22:35 -!- mattyb123 [4586c929@gateway/web/freenode/ip.69.134.201.41] has joined #freemyipod 22:35 < mattyb123> can someone help me out with the instillation of emcore on the nano 2g? 22:36 -!- mattyb123 [4586c929@gateway/web/freenode/ip.69.134.201.41] has quit [Client Quit] 22:38 -!- posixninja [~textual@h83.31.23.98.dynamic.ip.windstream.net] has quit [Quit: Computer has gone to sleep.] 23:00 -!- clustur [~logger@c-98-249-104-118.hsd1.tn.comcast.net] has quit [Remote host closed the connection] 23:00 -!- clustur [~logger@c-98-249-104-118.hsd1.tn.comcast.net] has joined #freemyipod 23:36 -!- posixninja [~textual@h83.31.23.98.dynamic.ip.windstream.net] has joined #freemyipod 23:42 < posixninja> teuf: where have I seen your name before? --- Log closed Mon May 23 00:20:18 2011