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).

Notice: Only Gecko based browsers prior to FF4 support the multipart/mixed "server push" method used by this log reader to auto-update. Since you do not appear to use such a browser, this page will simply show the current log, and not automatically update.

#rockbox log for 2005-02-19

00:00:05preglowoh well, if you managed mips, you've got my full confidence in this :)
00:00:10*linuxstb reaches for "Programming the Z80"
00:00:55HCli did, heh
00:04:14 Quit Tang ("Chatzilla 0.9.66 [Mozilla rv:1.7.5/20041108]")
00:06:09 Quit arogan ("CGI:IRC")
00:06:11Bagderamiconn: what about this approach:
00:06:21 Quit [IDC]Dragon2 (Read error: 110 (Connection timed out))
00:06:34Bagderin firmware/include/stdio.h, below the #define FILENAME_MAX 260 line
00:06:39Bagderadd #include <io.h>
00:07:23Bagderthat is, no other change at all
00:08:02amiconnWhat about the other changes introduced so far?
00:08:14Bagderremove them
00:08:20Bagdercvs diff | patch -p0 -R ;-)
00:08:40BagderI thought some more
00:08:59Bagderlet's avoid the rockbox prototypes of functions the underlying OS provides
00:09:10Bagderlike open/read etc
00:09:40Bagderit might not be foolproof either
00:11:03 Join mrmags [0] (
00:12:53amiconnBagder: Tried it. With only that single change -> failure_1. When adding the protection for ssize_t -> failure_2
00:13:52Bagderplugin.c misses read?
00:14:42preglowyo, can anyone tell me how i make rockbox makefile spam me the complete command lines as it makes?
00:15:01Bagderpreglow: the CC lines? edit tools/
00:15:01amiconnYes, exactly the same problem. Multiple "implicit declaration..." warnings, then plugin.c errors
00:15:05preglowBagder: thanks
00:15:40Bagderamiconn: where are the multiple declarations?
00:16:04Bagderthe prob #2 before was a missing read, now you have two ;-)
00:16:47amiconnNot multiple declarations, but multiple warnings about implicit declaration, i.e. missing prototype
00:17:01Bagderah, ok. gotcha
00:17:37Bagderbut plugin.c includes stdio.h that should include io.h that contains the read proto... ?
00:18:22preglowhow the hell do i make gas eat 5249 specific instructions? i tried passing it -m5249 but doesn't help squat
00:20:15 Quit mrmags ("Download Gaim:")
00:20:19amiconncygwin io.h itself doesnt
00:20:39Bagderthat explains it
00:20:41amiconnThere is another one, mingw/io.h
00:20:57Bagdertry including that then in stdio.h
00:21:00amiconnHowever, these definitions look a bit odd to me, e.g.
00:21:13amiconn_CRTIMP int __cdecl _read (int, void*, unsigned int);
00:21:42Bagderyes, that looks more win32 than cygwin style
00:21:59amiconnIncluding that doesn't work
00:22:47amiconnFirst it doesn't find mingw.h, then there is a flood of syntax error messages
00:23:00Bagdermingw/io.h you mean?
00:23:22amiconnNo, mingw/io.h fails to include mingw.h
00:23:28HClhow big is a pointer in m68k code?
00:23:30HCl32 bits?
00:23:35BagderHCl: yes
00:23:52HClwell. i can always trade mem for speed later on. i guess.
00:24:07*HCl is making a slow gentle start on a dynarec
00:24:12Bagderamiconn: so the only read() proto is in a header we can't include?
00:24:24Bagderthat doesn't seem right
00:26:11amiconnI agree. However, I didn't find another header yet
00:26:28 Quit jyp (Read error: 110 (Connection timed out))
00:27:01Bagderin linux, read() is in unistd.h
00:28:11amiconnHmm. That one exists in cygwin as well, but in sys, i.e. sys/unistd.h
00:28:34amiconnDidn't catch that one because the definition is also written in a weird way
00:28:58amiconnAH, there is plain unistd.h as well
00:29:01 Join jyp [0] (
00:29:17amiconn...which simply includes the one in sys/
00:29:32Bagderhehe, linux does the reverse
00:29:54HClcan someone tell me how i can do inline asm in gcc and refer to variables...?
00:30:20BagderHCl: check firmware/thread.c for examples
00:30:37amiconnHCl: ...or the grayscale lib
00:31:34 Join [IDC]Dragon2 [0] (
00:31:40amiconnBagder: When I include unistd.h, the build errors in the very first file
00:31:42preglowHCl: query and ask me an example, and i'll tell you directly
00:32:03amiconnCC buffer.c
00:32:03amiconnIn file included from /usr/include/unistd.h:4,
00:32:03amiconn from include/stdio.h:46,
00:32:03DBUGEnqueued KICK amiconn
00:32:03amiconn from buffer.c:19:
00:32:03amiconn/usr/include/sys/unistd.h:110: error: parse error before "read"
00:32:04***Alert Mode level 1
00:32:04amiconn/usr/include/sys/unistd.h:154: error: parse error before "write"
00:32:33HClkay, thanks
00:32:36Bagderso it requires some other include file first
00:32:40HCli dug up my old n64 dynarec code
00:32:53HCli labeled it (BROKEN) last time i altered it, apparently xD
00:33:10preglowlucky you aren't going to copy it verbatim, then
00:33:11HClat least it tells me how i used to make calls to the block
00:33:19HCl((int (*)()) ((*lop&0x03FFFFFF)<<5) )();
00:33:23HClgotta love that code :P
00:33:24preglowhahaha, holy god
00:33:31HCli casted it to afunction
00:33:33HCland called it :P
00:33:35preglowextensive evidence that c beats perl
00:34:18Bagderamiconn: I believe the "simple" fix for now would be to provide windows-style prototypes for the sim in one of the headers
00:34:21CtcpIgnored 1 channel CTCP requests in 0 seconds at the last flood
00:34:21*HCl scratches his head and remembers the design.
00:35:12HCli love that code XD
00:35:17preglowyou have good reason to
00:35:34HClmmm, it was fun building dynarec, the bugs were less fun.
00:35:41HClanyways *stops talking*
00:36:54amiconnBagder: The syntax error is most likely because of _READ_WRITE_RETURN_TYPE not being defined
00:37:16amiconnThese are defined either in sys/config.h or cygwin/config.h
00:37:46preglowhcl: but yes, say you want to add two variables with an asm add for some reason, and that would be asm("add.l %1, %0" : "=d" (variablename1) : "d" (variablename2));, and the result will end up in variablename1
00:38:08[IDC]Dragon2any statusbar expert around?
00:38:53 Quit [IDC]Dragon (Read error: 60 (Operation timed out))
00:38:53 Nick [IDC]Dragon2 is now known as [IDC]Dragon (
00:39:01amiconnBagder: Now I added both sys/config.h and sys/unistd.h to the place in firmware/include/stdio.h
00:39:10[IDC]DragonI'm trying a disk activity icon for Ondio
00:39:20[IDC]Dragonbut get no updates
00:39:58preglowHCl: simplified, but that's the gist of it, the first thing following the instruction itself is the output list, the second thing is the input list, the %0, %1 etc are aliased onto whatever gcc substitutes for them in the order they're given in the lists, in this case that'd be variablename1 and variablename2, just moved to registers, since "d" specifies a data register
00:40:15amiconnBagder: Then it warns about time_t being redefined in timefuncs.c, and errors in powermgmt.c with conflicting types for sim_sleep()
00:40:46HClthanks :)
00:40:57preglowgcc inline asm is really nifty once you get it
00:41:17amiconn[IDC]Dragon: I already thought about that. You'll need to cache the info that there was some activity until the statusbar gets updated
00:41:43*HCl scratches his head
00:42:06***Alert Mode OFF
00:42:20amiconn[IDC]Dragon: I wanted to look into that as well, but then I have many more ideas than time, and this simulator issue prevents me from doing what I intended ... :(
00:43:02amiconnI need to get the sim to work, because otherwise I can't test (and possibly fix) my necessary build extension for rockboy...
00:43:02preglowHCl: my example was wrong, btw :P you need to have variablename1 in the input list as well
00:43:13HClok :p
00:43:24preglowbut, yeah, i guess the manual will tell you that
00:43:35preglowand being a sensible person, you're of course already reading that
00:44:54Bagderamiconn: then prevent the time_t typedef in time.h, its a simulator thing anywaya
00:45:37 Join [IDC]Dragon2 [0] (
00:45:52[IDC]Dragon2this is no fun tonight
00:45:53HClis the usb interface of the iriver controllable in any way or is it directly hooked up to the harddisk?
00:46:38[IDC]Dragon2amiconn, I currently delay the LED reporting off for a while, so I get a monoflop behaviour
00:47:20amiconnYes, that should work too
00:47:30amiconn(even better imho)
00:47:57[IDC]Dragon2either the status bar is not updated periodically, or something is wrong here
00:48:12amiconnJust make sure that the delay is longer than the typical statusbar refresh cycle (that differs depending from where it is called)
00:48:17 Quit lolo-laptop ("Client exiting")
00:48:26*HCl wonders whether its safe to assume that gameboy does not have any self modifying code
00:48:46[IDC]Dragon2for the battery animation, it has to be updated quite frequently
00:48:47amiconnBagder: The time_t problem is not the big one atm, because this is "only" a warning
00:49:17preglowHCl: "yes" :P
00:49:17amiconnHCl: I would rather expect self-modifying code on such a machine
00:49:21Bagderthe sim_sleep() is a define in kernel.h in uisim/win32/
00:49:54[IDC]Dragon2self-modifying ROM, no
00:50:09preglowyou can load code in ram
00:50:37 Quit methangas (" HydraIRC -> <- Go on, try it!")
00:50:38 Quit jyp (Read error: 110 (Connection timed out))
00:53:14amiconnBagder: What am I supposed to do with the sim_sleep() declaration?
00:53:22amiconnI cannot imagine :(
00:53:40Bagderwhat's the exact error message?
00:54:09HClpreglow: from what i can tell from my specifications, gameboy roms are read only memory only
00:54:10amiconnCC powermgmt.c
00:54:10amiconnIn file included from include/stdio.h:47,
00:54:10amiconn from /home/Administrator/rb-patched/uisimulator/win32/sprintf.h:25,
00:54:10amiconn from powermgmt.c:28:
00:54:10amiconn/usr/include/sys/unistd.h:143: error: conflicting types for `sim_sleep'
00:54:11***Alert Mode level 1
00:54:11amiconn/home/Administrator/rb-patched/uisimulator/win32/kernel.h:26: error: previous declaration of `sim_sl
00:54:40preglowHCl: yes, they are, but i thought it was pretty common to copy program snippet to ram
00:54:49HClpreglow: okay, i'll keep account of it
00:54:57amiconnunistd.h line 143 defined sleep() as unsigned
00:55:12HClthen only addresses >= 0xa000 might contain self modifying code
00:55:30amiconnunsigned sleep(unsigned int __seconds);
00:55:36preglowi'm by no means sure, but don't forget it, heh
00:56:09HClheh, interesting.
00:56:31preglowthe older the cpu, the larger the odds of stumbling upon self modifying code
00:56:52preglowpeople did pretty insanse stuff to gain some clock cycles here and there
00:56:53HClwell, its really easy, i just have to check the top bit of the address
00:57:04HClif its higher, it might be self modified code, if its lower, it doesn't.
00:57:20***Saving seen data "./dancer.seen"
00:57:33preglowgb can't have bigger roms than that? or does it do some fancy back switching?
00:58:24 Quit YouCeyE ("Leaving")
00:58:36 Join YouCeyE [0] (
00:59:01amiconnpreglow: The cpu can only address 64 KB, so it requires bank switching
00:59:11 Quit [IDC]Dragon (Read error: 110 (Connection timed out))
00:59:39preglowmakes sense, yes, i've seen some pretty large roms
00:59:41preglowbut smoke, brb
01:02:07Bagderamiconn: I don't think we'll be able to solve the issues like this... :-(
01:02:54amiconnHmm. Do you have another suggestion? This is messy, but it worked before :-(
01:03:20Bagderit compiled and built, yes
01:04:00Bagderbut it was messier than now
01:04:12***Alert Mode OFF
01:04:22Bagderand no, I don't have any other way than to sit down and fix all the issues one by one
01:05:48HCltrying to code while theres a movie on tv is so not working.
01:05:49amiconnThen what do you mean with "like this"? I don't know how I could help now, other than having the problematic environment.
01:06:25Bagderamiconn: I mean this "remote-debugging" style
01:06:31Bagderit'll take ages
01:06:35amiconn...and being able to test things. I'm afraid I don't understand the overall build system completely
01:06:54amiconnHmm. What do you suggest then?
01:08:20Bagderactually, I have no idea
01:08:32BagderI could try to fix it with a cygwin on my own
01:08:37Bagderbut it'll take time
01:08:51Bagderreverting this is a very short-term fix
01:09:04amiconnYes, of course
01:09:31amiconnUnfortunately I have to hold back almost all my work until I can test it properly :(
01:10:10amiconnDo you have access to a cygwin machine?
01:10:30BagderI can install it on one
01:12:59 Join asdasopiu [0] (
01:13:16preglowHCl: switch tv off, works wonders
01:13:25amiconnBagder: I wonder why your cross-compilation for windows does work. Doesn't it have to use the windows headers?
01:13:36*[IDC]Dragon2 fails to code simple things tonight
01:13:38Bagderyes it does
01:13:48[IDC]Dragon2and better goes to sleep
01:13:49Bagderbut I believe it some kind of re-implementation or something
01:17:46HClpreglow: flatmate is watching
01:18:06HCli have actually rather high hopes of this dynarec, mainly because i can completely skip keeping account of self modifying code in range 0000-7fff
01:18:20HClwhich means the only thing that can still go wrong with it is interrupt timing
01:18:42preglowHCl: i'd guess that being able to completely disregard register allocation would be pretty cool as well, 68k has way more registers than z80
01:19:40HClpreglow: is there a way to tell gcc to not use certain registers?
01:19:47HClhow many registers does 68k have?
01:19:51HClmips had 32 :P
01:19:54preglowHCl: sixteen
01:20:11preglowHCl: you have data registers d0-d7, address registers a0-a7, where a7 also doubles as stack pointer
01:20:22preglowHCl: in most instructions, you can use them interchangably
01:20:38HCli guess thats usable
01:20:57HCli need to completely refresh my memory on dynarec techniques
01:21:06HCland plan it out a bit
01:21:09HCltv isn't helping, heh
01:21:11preglowof course
01:21:16preglowtv is seldom helping
01:22:26amiconnBagder: Now I understand the issue with sleep(). The build process must not know about the system sleep(). Unfortunately it is defined in the same include we need for getting read() and friends defined...
01:22:59Bagderright, and then we're back to my suggestion of providing those protos ourselves! ;-)
01:23:44amiconn...since we cannot include only part of a file. :(
01:23:56Bagderyes, and it has no fine-grained control of what parts to use
01:24:05Bagderwhich I can't blame them for
01:25:10BagderBTW, did you ever see a build time estimate in the cvs table?
01:27:30 Join [IDC]Dragon [0] (
01:27:38Bagderthe latest build round took over 15 minutes
01:27:53HClpreglow: you were right, the z80 does have X and Y registers, however, on the gameboy, they don't exist
01:28:05[IDC]DragonI've been fooling myself: the MMC driver does no led() calls
01:28:21preglowHCl: ?
01:28:29preglowahh, gameboy uses z80 lookalike anyway
01:28:31HClor wasn't it you who said the z80 had x and y regs o.o
01:28:32Bagderamiconn: until fixed, it might work for you as before if you just get the older versions of configure an uisim/win32/Makefile
01:28:41preglowHCl: it was me
01:29:33BagderI need to sleep
01:32:33*HCl finds an z80 instruction guaranteed to not be used in the gameboy and claims it for his dynarec :)
01:36:07 Quit [IDC]Dragon2 (Read error: 110 (Connection timed out))
01:37:14[IDC]Dragonamiconn: disk icon committed
01:37:45HClor not :X
01:38:24 Part [IDC]Dragon
01:43:27*HCl bahs, guesses he'll need a cache after all or he'll use too much memory..
01:43:46preglowcache for what?
01:44:37HClwell. i'm having a bit of a problem, since i need to somehow link a 15bit address
01:44:41HClto a memory address
01:44:58HCli could allocate an 15bit array of pointers, but that would consume 128kb of mem
01:45:31HClon the other hand, using a cache would make it possible for blocks to get recompiled even though they didn't really need a recompile
01:45:50HCland since i don't have a free() i could run out of ram while it wouldn't really be needed
01:45:56HClthink its worth the 128kb sacrifice?
01:46:09HClprolly not as bad if i allocate it in mp3buffer ram
01:46:11preglowi think you should find another way
01:46:18preglowif there is another way
01:46:30HClum, there pretty much isn't o.o..
01:46:31preglow15 bit array of pointers is pretty brute force
01:46:56HClwhat i'd need is a hardware cache in order to be able to do it efficiently, heh
01:47:04preglowthis is for translating z80 address space to m68k address space?
01:47:12HClpretty much.
01:47:21preglowwell, alot of the addresses are going to go unused
01:47:22HClevery address that can be jumped to in z80
01:47:37HClneeds to somehow be linked to a structure with a pointer of recompiled m68k code
01:47:45preglowso a lookup talbe is very wasteful
01:47:49preglowperhaps a hashtable? :P
01:47:52HClits a mem<->speed tradeof, really.
01:48:03HClwell, yea, i could expand the cache.
01:48:10HClusing a hashtable.
01:48:32HCli have no experience with building good hashes, but i can dig up my notes from my algorithms and complexity course
01:48:36preglowuse the low 8-6 order bits of the address as an index to a table, and let each entry be a linked list
01:48:46preglowwill be slower, but won't waste memory, i don't know how critical it is
01:49:13HClokay,i'll do that, its prolly better, i can always trade mem for speed later
01:49:56preglowthis is only a good idea if most of the addresses in the lookup table would be unused, and i guess that's true
01:50:19preglowhaving a #define for how many of the lower order bits is used as an index will let you easily trade off mem<->speed
01:50:30HClgood idea, i'll add that.
01:51:17HCli forgot what power was in c.. was it 2**8 ?
01:51:34preglowpow, unless it's power of two, in which case you use << and >>
01:51:45preglow2**8 is 2 << 3
01:52:08preglow2^3 = 8
01:52:57amiconn2**8 == 2 << 8
01:53:10HClthats what i thought.
01:53:17preglowtwo to the eigth power is the same as 2 shifted left three times
01:53:29preglowthat's bullshit
01:53:29HCleh, no.
01:53:44preglowdisregard me
01:54:29preglow2 << 7, btw
01:54:37preglowso you need to subtract one
01:55:15HCli'll just use 2**8...
01:55:29preglowis that even an operator in c
01:55:40HCli think so o.o
01:55:57preglowmight be, if so, i've learnt something today
01:56:04HCleasy to find out
01:56:29HClyou're right.
01:56:31HCli'm wrong.
01:56:43HCl*wonders from what language he got ** from then*
01:56:49HCli'll just use 1<<8
01:57:04preglowthat'll do the trick
01:57:21*amiconn was fooled too
01:58:38HCli know i've done a language in which it was valid
01:58:44HCli just don't remember which it was
01:58:47preglowperl? :V
01:59:09preglowperl is the only one i can think of that's gotit
01:59:14preglowbut i know there are others
02:02:57*HCl stares.
02:03:31HClhow the hell am i gonna transfer a define that says for example.. "5" into a bitpattern 0x1f ?
02:04:43*HCl adds a second define "bitmask"
02:05:10preglow(1 << 5) - 1
02:05:14preglowlike that :P
02:05:37*preglow hugs calc.exe
02:06:18HClexactly what i got
02:12:48 Join amx [0] (
02:18:14 Join Patr3ck [0] (
02:21:25 Quit Sucka ("( :: NoNameScript 3.81 :: )")
02:21:27HClthere, all done. i just have to fill in the function dynamic_recompile(struct dynarec_block *block) ;p
02:21:37*HCl leaves that for tomorrow.
02:22:41preglowi'm about to fall asleep here
02:22:41HCl :P
02:22:48HCli'm just gonna make some food and watch some tv
02:23:16HClfilling in that function has about the same difficulty as writing an interpreter core
02:23:43preglowa bit more, i'd think
02:23:52HClnah, its really quite simple
02:23:57preglowhave to be careful when writing instructions
02:23:57HClit does exactly the same thing as the interpreter
02:24:10HClonly it compiles instructions rather than executing them as C code
02:24:14preglowahh, yes
02:24:26preglowformatting an instruction wrongly is easily done
02:24:32preglowbut easy to detect as well, i'd guess
02:24:32HCland its done when it hits a jump/branch
02:24:36 Quit Hohoman ("( :: NoNameScript 3.81 :: )")
02:24:38 Join ashridah [0] (
02:24:51HClit'd be nice if i could somehow tell gcc
02:25:00HClthat its not allowed to use certain registers
02:25:05HClbut hm.
02:25:06preglowlike, at all?
02:25:16HClyea, its either that or a register cache sort of thing.
02:25:19preglowdon't think that's possible
02:25:33HClwell, it shouldn't matter too much.
02:25:37HCldynarec writing is fun.
02:25:41HCli've been thinking though.
02:25:47HClat some point i'm gonna have to debug it and erm...
02:25:58HClhow the hell am i gonna debug it ? :X
02:26:13 Join webguest11 [0] (
02:26:34HClcan i trace its execution m68k instruction-for-instruction without a bdm wiggler thing?
02:27:03*HCl is kind of fearing having to write completely bugfree code
02:27:19ashridahHCl: if you setup gdb support, and connect a serial cable
02:27:33 Quit edx (Read error: 110 (Connection timed out))
02:27:40ashridahor try and find a useful coldfire emulator to test the basics on
02:27:43HClhow would i setup gdb support
02:27:54HClmrigh. hm.
02:27:55ashridahs/setup/code/ :)
02:27:58preglowdebuggin will be hell, yes
02:28:05HCli'll try.
02:28:07preglowthat's what i'm fearing in this flac asm optimizing i'm doing as well
02:28:09HCland i'll just scream at you people
02:28:11HClif i have a bug
02:28:12HCl :P
02:28:50preglowbasically, i'm expecting to just stare at the code 'till the flaw reveals itself
02:28:53preglowthat's my plan
02:28:59HClthe most buggy part is a) getting the address to jump to right b) getting the instructions right c) getting it to return properly
02:29:06HClpreglow: eh heh.
02:29:15HClpreglow: i remember that being the death of my n64 emu
02:29:27HClwe had a coding group of 3 people, and we had a bug
02:29:38HCland we stared and double and triple and quadruple checked our code for 3 months
02:29:40HCland then we gave up.
02:29:42preglowdynarec has its own difficulties as well, but just coding on an embedded platform makes it worse
02:30:09 Nick Aison is now known as Aison|win|suxx (
02:30:27HClonce it jumps and returns properly, it shouldn't be too hard to debug
02:30:34*HCl checks on food.
02:31:37Aison|win|suxxcan I test rockbox on my iRiver IHP-140 without destroing it? ^^
02:31:46preglowAison|win|suxx: yes, but we won't guarantee it
02:32:09preglowAison|win|suxx: there's been no bricked players yet, but again, that's not a guarantee
02:32:48 Nick Aison|win|suxx is now known as Aison (
02:33:43 Join lostlogic [0] (
02:33:49Aisonyeah :)
02:35:19 Quit webguest11 ("CGI:IRC (EOF)")
02:36:53Aisonis there a good howto for installing ?
02:37:17rashercheck the wiki
02:37:26rasheruh.. somewhere :)
02:37:31rashershouldn't be too hard to find
02:37:40rasherthere we go
02:37:54preglowif you're not familiar with cvs and gcc, you should pretty much just forget it until i've finished my patcher tool
02:38:08preglowwhich i probably won't finish until rockbox is a little closer to completion :P
02:40:33Aisonwhat kind of os is rockbox? complete own os or is it based on an existing one ?
02:40:42preglowcomplete, made from scratch
02:48:38ashridahAison: it's based on a firmware the rockbox team built for the archos players, which had hardware mp3 decoders (thus the work needed to design and build decoders, buffering systems, and audio output code)
02:53:46HClcan the m68k split registers into parts of 16 bit?
02:53:54preglowyes, kind of
02:54:04HClhow? anything like x86?
02:54:07preglowyou have different versions of the different opcodes
02:54:14HClis it possible to do say.
02:54:21preglowlike add.l which adds dwords, and add.w, which adds words
02:54:39HClADD D0H, 0x1
02:54:40preglowi'm not familiar with exactly how it's done
02:54:46HClnot really, then.
02:54:48preglowbut no, not exactly like on x86
02:54:52HClits a pity ;p
02:55:02HClx86 would be sweet for gameboy, since z80 splits registers too
02:55:07HClbut ok
02:55:17preglowbut i'm not an 68k asm expert
02:57:07HClwell, inside the dynarec, i can just map the 7 gameboy registers to d0-d6.. and have sp and pc in a0-a1
02:57:24HClgee, it feels strange to have registers to spare :P n64 has 31 registers of 64bit
02:57:25***Saving seen data "./dancer.seen"
02:58:18preglowas opposed to x86, it's a bloody dream
02:58:22HClyea :P
02:59:02HClhrm. i wish i knew m68k assembly though, i'd better find a tutorial
02:59:13HCli can't even quickly figure out how to do a push ;/
02:59:22 Quit Aison ("( :: NoNameScript 3.72 :: )")
02:59:39preglowHCl: pea does pushes
02:59:44preglowpushes addresses, though
02:59:52preglowdo push registers and such, use movem
03:00:13XShocKooh damn..
03:00:19preglowXShocK: what
03:00:54HClwell, what i'm looking for is pusha/popa, really
03:01:12HCl(push every register onto the stack, pop every register from the stack)
03:01:17preglowmovem does that
03:01:25*HCl checks
03:01:26preglowthat's what it's for, more or less
03:01:32preglowHCl: have a look in thread.c
03:01:36preglowhe does that there
03:01:43XShocKhave a huuuge problem. DMA working fine, except it is extremely FAST. i mean sound that should be around 20-30 seconds comes out in 1 second..
03:01:49HClyea, you gotta do that for threads too
03:01:56preglowline 75
03:02:18 Quit Cassandra_ (Read error: 60 (Operation timed out))
03:02:31XShocKI understand it should be limited, but how to do that?...
03:02:32HClgeeze thats an odd looking instruction o.o;;;;
03:02:46preglowHCl: yes, but quite simple, just 'move this register range to this address'
03:02:55preglowor opposite
03:03:16HClmove multiple registers
03:03:17HClcool o.o
03:03:38preglowit's even better than pusha/popa, you can decide which registers you want to push/pop
03:03:58XShocKdo somebody have any manual, documentation or other material besides ColdFire user manual?
03:04:11HClthe programming manual is pretty good.
03:04:21preglowyes, but doesn't cover his needs
03:05:09preglowXShocK: apart from coldfire2 users manual and mcf5249 users manual, which is probably what you're looking at, i can't think of a thing
03:05:59XShocKi am particulary interested in cycle-steal. It would probably solve all problems with sound speed, but it doesn't work... hell knows why. :)
03:06:32preglowbut 20-30 seconds of audio in 1 second is bound to be a dma problem
03:06:42preglowdon't think the codec does it, at least
03:07:52XShocKcycle-steal will push one transfer per one request. so ech time audio interface needs additional info it wil generate that request and one more particle will be written.
03:08:23XShocKi guess it should be like that ( from my 2 days experiance :-) ).
03:08:40preglowi have no idea, i haven't done low-level stuff for a while
03:09:00XShocKmmm... does anybody have a debugged original firmware?
03:09:37HCla what? o.o
03:09:56XShocKdisassembled. :)
03:10:07preglowXShocK: you should talk to hubble
03:12:14XShocKyea. maybe he found something. but that way i need to way one more day. :)
03:12:41 Quit mecraw ()
03:15:14 Quit Patr3ck ()
03:15:52 Join Cassandra_ [0] (~christi@
03:17:17preglowbut i think i'll go sleep
03:18:46 Quit preglow ("halvt ekorn !")
03:23:04 Quit DeadMan ()
03:23:34 Quit CoCoLUS ()
03:48:36 Part amiconn
03:53:26 Quit quel|out ("KVIrc 'Realia'")
04:00:22XShocKgoing to sleep
04:00:40XShocKgood night to all
04:08:25 Join edx [0] (
04:17:01 Quit XShocK (" HydraIRC -> <- IRC for those that like to be different")
04:17:52 Join Rori [0] (
04:18:02 Nick Rori is now known as DeadMan (
04:41:10 Quit skav ()
04:49:17 Quit cYmen (Read error: 113 (No route to host))
04:53:53 Join midk [0] (
04:57:26***Saving seen data "./dancer.seen"
05:00:45 Quit midk ("Leaving")
05:02:42 Quit amx ("Client Exiting")
06:03:36 Join DMJC [0] (
06:49:56 Quit Stryke` ("Friends don't let friends listen to Anti-Flag")
06:55:29 Quit DMJC ("Leaving")
06:57:29***Saving seen data "./dancer.seen"
08:36:12 Quit DeadMan (Read error: 110 (Connection timed out))
08:42:20 Join midk [0] (
08:52:17 Join DeadMan [0] (
08:54:06DeadManDoes anyone know of a freeware task scheduler that will 'end' a task at a set time of the day (Not after X number of hours like crappy XP's task scheduler does) and relaunch the program if you restart XP or have a crash and continue to run that task until the specified time?
08:57:32***Saving seen data "./dancer.seen"
09:10:27 Join methangas [0] (
09:11:00 Quit Cassandra_ (Read error: 110 (Connection timed out))
09:11:25 Join Cassandra_ [0] (~christi@
10:01:10ashridahwhat is this 'XP' you speak of?
10:01:18ashridahi could have sworn it was something from d&d
10:31:54 Quit Hadaka (Read error: 110 (Connection timed out))
10:43:08 Join Patr3ck [0] (
10:54:32 Join Yokalosh [0] (
10:54:47YokaloshHey can any one help me?
10:55:02YokaloshI need a set of drivers for the JBR10 for windows 98
10:55:22YokaloshI recently downgraded from xp and cant find drivers for it anywhere
10:56:40ashridahYokalosh: hm. sounds like you might be able to get away with generic usb mass storage drivers. try searching for those for windows 98?
10:56:57linuxstb - drivers for win98 SE
10:57:33***Saving seen data "./dancer.seen"
10:58:38 Join ze__ [0] (
10:59:47 Part guerby ("Leaving")
11:02:10YokaloshI don't have 98se, that has been tried ;)
11:07:39YokaloshShould i be able to find the mass storage drivers on driverguide?
11:09:19YokaloshDo you think these will work?
11:09:47 Quit ze (Read error: 110 (Connection timed out))
11:09:47 Nick ze__ is now known as ze (
11:10:04YokaloshI just had a thought........I found some drivers for the JBR20 on driverguide for windows 98
11:10:13YokaloshWill these work?
11:12:22linuxstbI don't know, but they are worth trying.
11:22:24 Quit Yokalosh ("CGI:IRC")
11:36:59 Quit Nibbler ("blubber")
11:39:07 Join Nibbler [0] (
11:49:44 Join Hohoman [0] (
11:52:41 Quit Nibbler (Remote closed the connection)
11:52:55 Join Nibbler [0] (
11:58:17 Join Naked [0] (
12:01:08 Nick Naked is now known as Hadaka (
12:02:07 Quit Nibbler ("blubber")
12:04:06 Quit midk ("Leaving")
12:06:54 Join Nibbler [0] (
12:07:01 Join Aison [0] (
12:13:55 Join cYmen [0] (
12:16:21 Join ripnetUK [0] (
12:16:53ripnetUKfor the log, i have proved that Rockbox is NOT responsible for my hard disk corruption recently reported. Ive had it happen on another USB drive...
12:20:35linuxstbI've just got a vorbis2wav plugin working based on Tremor, and results are not good - 0.8% of realtime. Hopefully I've done something stupid.
12:26:20 Quit Hohoman ("( :: NoNameScript 3.81 :: )")
12:33:36ashridahripnetUK: ouch
12:33:51ashridahlinuxstb: double ouch
12:37:42*HCl stops dreaming about wifi-enabled irivers.
12:37:49*HCl dreams odd. yup.
12:40:04ashridahHCl: it'd be handy, but for what purpose? sending streaned audio? or receiving streamed audio?
12:40:26HClin my dream it was ssh and email enabled.
12:42:34 Quit Patr3ck ()
12:44:52 Join Hohoman [0] (
12:44:52ashridahyou can buy a wifi enabled palm or other tablet that'll do that far better
12:52:07 Join jyp [0] (
12:53:16 Join R3nTiL [0] (~zorroz@
12:57:34***Saving seen data "./dancer.seen"
13:00:50HCli have one.
13:20:27 Join CoCoLUS [0] (
13:35:29linuxstbIf anyone wants to play vorbis files on their iRiver, we've got some work to do - I haven't found any stupid mistakes, and Tremor is still running at about 0.9% of real-time. Which probably means about 10% of real-time at 140MHz.
13:36:00linuxstbSo far FLAC is in the lead by a long way when it comes to decoding speed.
13:37:03CoCoLUSthe good thing is, iriver somehow made it work at proper speed, so atleast we know its -possible- ;)
13:37:40linuxstbBut I thought they had problems with some bitrates (or am I confusing it with the Neuros?)
13:38:12CoCoLUSthey claim everythings under 500 kbps (which is enough imho) works fine
13:38:56linuxstbYep, anything higher than that, and you may as well use FLAC.
13:39:36linuxstbSo unless iRiver have made their own decoder (i.e. not used Tremor), it should be possible.
13:39:47CoCoLUSi don't think they did
13:39:58linuxstbIt seems unlikely.
13:40:37CoCoLUSmaybe that 500 kbps limitation is because the iriver can't get enough data in time from the disk?
13:40:47linuxstbBut anyway, the code is now all in CVS and compiling cleanly, so hopefully someone will pick up the challenge.
13:42:06 Join Sucka [0] (
13:43:16CoCoLUSwhats the progress on sound output?
13:43:25CoCoLUSwe have a nice sine wave yet? :)
13:43:31ashridahCoCoLUS: nope.
13:43:42linuxstbI think it's getting better though.
13:43:48CoCoLUSmaybe try cosine first? ;)
13:43:55ashridahmay as well worry about the infrastructure first.
13:44:13 Join Quelsaruk [0] (~kvirc@
13:44:19linuxstbYep, the actual PCM output is the easy part.
13:44:44ashridahi agree. buffering to provide smooth playback, decoding, and any added mixing features are going to be much harder
13:44:56ashridahparticularly if the emac stuff has to be done by hand
13:45:02linuxstbPlus the optimisation of the codecs.
13:45:22ashridahhm. no wonder i wasn't getting any email
13:45:36ashridahforgot to restart fetchmail after the last power outage :/
13:48:46CoCoLUSis rockboy in the cvs=
13:50:29crash__jyp: are you there ? :)
13:51:04ashridahCoCoLUS: don't think so. and cvs doesn't run at a usable speed anyway. HCl is working on building a dynarec version apparently. (or at least, looking into it)
13:51:11ashridahi imagine he'll want that done before he submits anything
13:51:17HClyea. i am.
13:51:20HCland nah
13:51:36HCldynarec = experimental where the old core = stable
13:52:06HClcall me stupid, but i don't seem to be able to find the encoding to move a 32bit immediate into a register on the m68k.. can anyone help me out?
13:53:43jypcrash__: I'm here
14:01:52 Quit R3nTiL ()
14:03:49jypcrash__: resuming sleep mode... Flash me if you can. ;)
14:20:15ashridahsolitaire appears to be broken on the iriver
14:20:34ashridahah. there we go
14:49:49 Join cicci[come-back] [0] (Emi85@
14:50:04 Join webguest63 [0] (
14:50:53cicci[come-back]this feeeeelllliiiiiiiiingggggggg
14:50:56cicci[come-back]inside meeeeeeee
14:51:09 Part cicci[come-back]
14:51:34rasherOh dear.
14:53:26 Quit webguest63 (Client Quit)
14:53:49Quelsarukhola is spanish... but cicci sounds italian
14:55:51HClanyone here around who can tell me whether this would be true on m68k:?
14:56:09HClmove.l d0,#0x8080
14:56:16HClmove.b d0,#0x40
14:56:20HCld0=0x8040 ?
14:56:27HClor would d0 be 0x40 ?
14:57:34HClanyone? :/
14:57:35***Saving seen data "./dancer.seen"
14:58:29HClits ok :/
14:58:44HClits kinda vital, at the moment i'm assuming it would be 0x8040
14:59:25Diwaymov.l #0x8040, %d0
14:59:36HClok, well, the order doesn't matter
14:59:37Diwayshould work
14:59:39HClyou get what i mean..
14:59:51Diwayorder doesn't matter ?
14:59:55HCli'm not interested in the end result
14:59:57HClits an example
15:00:07HClall i need to know if whether those two assembly lines after eachother
15:00:13HClproduce 0x40 or 0x8040
15:01:19Diway0x8040 I think, but not sure :/
15:01:31HCl ok :/
15:01:41HCli'm hoping its 0x8040
15:01:45HCl*continues with dynarec*
15:02:08HClpretty nice, means that on some z80 instructions i use no more than 1 m68k instruction to execute them
15:13:08lostlogicwhat z80 device are you emulating?
15:25:23 Nick asdasopiu is now known as thegeek (
15:35:24lostlogicgameboy was z80, I was not aware. so are the ti8[2356] calculators.
15:35:25 Quit Quelsaruk (Read error: 104 (Connection reset by peer))
15:35:34 Join preglow [0] (
15:38:28 Join quelsaruk [0] (~kvirc@
15:39:04*quelsaruk needs a new brain emulator
15:50:16 Join elinenbe [0] (
15:56:25crash__jyp: i saw that your "on" code is 100% does that mean it works == done ?
15:56:34crash__jyp: btw back again ;)
16:02:37jypyup, done
16:05:32elinenbewow... the gmini and iriver progress is coming along nicely... congrats guys!
16:05:34elinenbelooking nice!
16:13:58thegeek16:12| (thegeek)
16:13:58thegeek16:12| (thegeek) rofl
16:13:58thegeek16:13| (thegeek) "find the wrong picture"
16:14:10 Join TuDo [0] (
16:19:41 Quit ripnetUK ()
16:45:16 Join lennyk [0] (
16:45:53lennykhello, I'm quite fightened that I might have fried my iriver
16:46:05 Join bobx2001 [0] (
16:46:16lennykhow are all you doing?
16:46:42*ashridah nods
16:46:43bobx2001i am doing great
16:46:55bobx2001my chat client sucks
16:47:12CoCoLUSHCl ?
16:47:45CoCoLUSi'm asking if hcis there
16:48:20lennykanyway, rockbox boots up fine, but when I try to boot up iriver, it stops indefinately at "read file system"
16:48:43lennykit appears I have no way to listen to music or connect via usb...
16:48:51preglowanother on of those...
16:49:17rasherYes.. I wonder what happens
16:49:17preglowlennyk: it's alright, just scandisk it, charge it fully, etc
16:49:18lennyksorry to be "one of those"
16:49:32preglowpreglow: it can be recovered
16:49:33rasherlennyk: you should be able to connect via usb using rockbox
16:49:44preglowwhy am i talking to myself?
16:49:51bobx2001iriver badly need better firmware
16:49:53preglowlennyk: it's not broken or anything
16:49:55CoCoLUShit your head?
16:50:30lennykconnecting to usb with one computer didn't work, I'll try another
16:50:32linuxstbIt possibly due to the fact that Rockbox doesn't currently know the battery level, but I've found that I can happilly use Rockbox (including disk access), whilst the iRiver firmware won't even start. Charging always solves the problem.
16:50:36preglowlennyk: what's the last thing you did with it?
16:51:01preglowlinuxstb: that might be a problem, yes
16:51:02lennyklisten to music via iriver firmware, turned off, went to sleep
16:51:22lennykstarted it up this morning and you know the rest
16:51:44preglowlennyk: is it fully charged?
16:52:06 Quit jyp ("poof!")
16:52:21lennykprobably not, i'd guess about half way, but it's plugged in
16:52:42preglowlennyk: then i advice booting rockbox and scandisking it a couple of times
16:53:12lennykconnecting via usb...
16:53:22bobx2001are oyu guys going to make a boot loader
16:53:23lennykoh my! it connected
16:53:36preglowbobx2001: we've had a bootloader for weeks...
16:54:24rasherlennyk: see, it's not broken :)
16:54:48lennykthanks guys!
16:54:55lennykI'm so happy!
16:55:57linuxstbpreglow: Did you see the speed results of my Ogg decoder in the IRC log today?
16:56:10preglowlinuxstb: i did not
16:56:25linuxstbAbout 0.9% of real-time at the moment :-(
16:56:38preglowlennyk: we had the exact same case here about a week ago, ended happily
16:56:40preglowlinuxstb: :
16:56:43linuxstbWhich implies about 10% at 140MHz.
16:56:51preglowyes, we've got some work to do :P
16:56:52lennykpreglow: thanks
16:57:06lennykmaybe we should wiki this
16:57:38***Saving seen data "./dancer.seen"
16:57:46preglowwell, we don't know what the problem is
16:57:50preglowor a consistent solution
16:58:15bobx2001you are going to make firmware for the h10 right
16:58:46ashridahbobx2001: not unless you're willing to spare hardware they can dismantle
16:59:02bobx2001i wont even be getting a h10
16:59:09bobx2001not if it comes with iriver firmware
16:59:22bobx2001i would buy one then put rockbox on it
16:59:31ashridahthe h10's a markedly different beast iirc
16:59:37ashridahit's designed to be all windows happy or something iirc
17:00:19linuxstbI'm not sure exactly what the h10 is, but I know iRiver are moving to use more proprietory hardware - which means that a Rockbox port is not interesting for developers (no documentation for the chips).
17:00:21bobx2001i just dont like the h10
17:00:34ashridahthen don't get one
17:00:38bobx2001iriver are just copying apple now
17:01:15preglowthe h10 core is pretty much the same as in the ipod, heh
17:01:18bobx2001in fact
17:01:19preglowso might not be very easy
17:01:21bobx2001they copied creative as well
17:02:22bobx2001oh look here
17:03:10bobx2001lets see what happens on Tuesday
17:05:05bobx2001has anyone looked at it?
17:07:11lennyki did... think secret is know for coming up with some interesting facts...
17:07:28bobx2001the new drive sounds cool
17:07:44lennykmore like creating... but I have heard that they might come out with a 5gb, not that I would buy one
17:08:10bobx2001accord to that it would be 5 or 6 gb
17:08:15bobx2001i think they will use 6
17:08:27bobx2001just to stay ahead of competition
17:08:48lennykthat would be interesting... officially there isn't a 6gb out in that size
17:09:39bobx2001either way
17:09:45bobx2001a 1gb bump would be pointless
17:12:03lennykpreglow: i did a quick scan without scanning for bad sectors, didn't fix the problem, so I'm doing that now and it's taking quite awhile, I'll be back in awhile and thanks for all your help everyone
17:12:03 Quit bobx2001 (Read error: 54 (Connection reset by peer))
17:12:36 Join bobakkamaei [0] (
17:12:58bobakkamaeiwhat happened while i was gone?
17:13:02preglowlennyk: i don't know if windows scandisk is able to do the job, the other guy had to do quite a number of dosfscks in linux before it suddenly worked
17:13:17 Quit bobakkamaei (Client Quit)
17:14:04 Join bobx2001 [0] (
17:16:31lennykpreglow: i'm back, that't interesting
17:17:33lennykwell, i don't have linux atm but I could slap slackware on in a pinch
17:18:23lennykit looks like this windows scan might take 45 minutes ish so I'll let ya know what happens
17:19:48lennykwhen one donates via paypal, how much of the original dollar is recieved?
17:19:52bobx2001rlook at this
17:19:57bobx2001a ipod shuffle raid
17:20:54preglowlennyk: a couple of percent is claimed by paypal
17:21:24lennykjust curious
17:22:13 Quit TuDo ("Chatzilla 0.9.67 [Firefox 1.0/20041202]")
17:24:13 Join webguest41 [0] (
17:25:12 Quit webguest41 (Client Quit)
17:26:37 Quit ashridah (Read error: 110 (Connection timed out))
17:49:54 Join jorbond [0] (
17:49:54 Quit bobx2001 (Read error: 54 (Connection reset by peer))
17:50:01preglowlinuxstb: i might try out an emac enhanced version of the flac routine soonish
17:50:38preglowlinuxstb: just optimized c with emac for now, i don't know how much there is to gain by writing it in asm
17:51:34 Quit jorbond (Client Quit)
18:22:25*HCl yawns.
18:23:48CoCoLUSis it necessary that the binutils are the latest cvs version?
18:26:56preglowfor the iriver, yes
18:27:12preglowcan't compile it if not
18:27:23CoCoLUSbecause i cant compile gcc 3.3.4 with them
18:27:42CoCoLUSbails out with "statement `fmovem.l %fpcr,%d1' ignored"
18:28:23preglowwhy do you want to compile gcc with them?
18:28:36preglowthe only thing you need those binutils for are compiling rockbox and associated stuff
18:29:18CoCoLUSwell all i'm doing is following the guide from the wiki for setting up a m68k toolchain
18:29:25CoCoLUSwhich worked just fine under linux
18:29:34CoCoLUSbut now with cygwin, gcc won't compile
18:30:00preglowok, never tried with cygwin
18:32:59 Join R3nTiL [0] (~zorroz@
18:33:46CoCoLUSi've something in the irc logs
18:33:51CoCoLUSsomeone had the same problem
18:34:10CoCoLUShe solved it with compiling gcc with binutils 2.15 and then replacing them with cvs for rockbox
18:34:23HCloh, coco thingy, my sourcetree isn't yet up to date with current cvs, just so you know
18:35:39CoCoLUSyeah thx
18:36:19CoCoLUSjust copying it over my source tree and doing an cvs update should do the trick
18:36:47 Join jyp [0] (
18:37:04*HCl scratches his head
18:37:06HClhey jyp.
18:37:08HClwhat do you think
18:37:31HClshould i put 2 gameboy registers in 1 m68k reg or 1 gameboy reg in 1 m68k reg?
18:37:54jyp1 reg = 1 reg if possible
18:38:19jypI guess m68k has more regs than z80
18:38:37HClthough it doesn't give me much spare room
18:38:57HCl7 registers -> 8 registers
18:39:02HCl1 spare register
18:39:04jypSo, you're writing the emu at the asm level
18:39:16HClrather than interpretive
18:39:28HClit should be loads and loads faster.
18:39:31CoCoLUShows the dynarec progressing?
18:39:39jypWhat's dynarec ?
18:39:39HCli just started on it today. do the math.
18:39:41HCl :P
18:39:48HCldynamic recompilation
18:39:51CoCoLUSfinished? :)
18:40:09HClpretty much, you parse a z80 block
18:40:20HClcompile an m68k assembly block of it, till you reach a z80 jump instructio
18:40:29CoCoLUSto be honest, i have absolutely no clue if implementing dynarec takes a day, a week, or a year :)
18:40:33HClthen next time the emulator goes to that address, just call the block
18:40:46HClCoCoLUS: well, so far the z80 seems incredibly simple.
18:41:10jypz80 is an 8-bit machine i suppose
18:41:25HCli'm mostly wondering whether having 1 spare data register is enough.
18:41:37preglowhow do use the new decoding viewers?
18:41:59*HCl guesses he'll go rewrite it.
18:44:00preglowlinuxstb: goddamn, the vorbis decoder is slow ://
18:44:33CoCoLUSjust keep thinking "iriver made it work, i will too" :)
18:44:49preglowbut it's going to be _a lot_ of work
18:46:20CoCoLUSif it's that much work, why did iriver include it?
18:46:42CoCoLUSby the time the ihp-xxx came out, ogg wasn't exactly well known
18:48:21preglowselling point, i guess
18:48:24preglowall codecs are much work
18:48:26preglownot just vorbis
18:51:32CoCoLUShow fast is the iriver compared to the archos?
18:52:16*HCl stresses over his parents.
18:56:31CoCoLUShow interesting it is to watch a compiler compiling a compiler
18:57:42***Saving seen data "./dancer.seen"
18:57:54R3nTiL<HCl> dynarec.
18:57:55R3nTiL<HCl> rather than interpretive
18:57:55R3nTiL<HCl> it should be loads and loads faster.
18:57:55DBUGEnqueued KICK R3nTiL
18:57:55R3nTiL<CoCoLUS> hows the dynarec progressing?
18:57:55R3nTiL<jyp> What's dynarec ?
18:57:55***Alert Mode level 1
18:57:55R3nTiL<HCl> i just started on it today. do the math.
18:57:55 Quit R3nTiL (Excess Flood)
18:58:38jypCoCoLUS: What archos ?
18:58:56CoCoLUSthe one rockbox was originaly developed for
18:59:26jypMuch faster, but decoding was done by a separate dedicated chip
18:59:52CoCoLUSso only now we have the problem of slow decoders... i see
19:00:06 Quit HCl ("Lost terminal")
19:03:19 Join skav [0] (
19:04:32 Join markun [0] (
19:05:22markunI just compiled Tremor with _LOW_ACCURACY_ and get about 3.5% real-time
19:06:01 Join XShocK [0] (
19:07:35markunHi XShocK, any progress with DMA?
19:07:56***Alert Mode OFF
19:14:34XShocKjust woke up. :)
19:14:47CoCoLUSnow thats nice
19:15:12CoCoLUScalculator.c:1072: error: insn does not satisfy its constraints
19:15:54XShocKworking, but very fast, i don't really understand how to control the speed for DMA except for doing cycle-steal(but it doesn't work for some reason). it is like palying 20 second song in 2 seconds
19:16:56CoCoLUSwell who needs a calculator anyway
19:18:36 Join hcl [0] (
19:18:44 Nick hcl is now known as HCl (
19:18:49CtcpIgnored 1 channel CTCP requests in 0 seconds at the last flood
19:18:49*HCl slaps screen
19:18:50jypCoCoLUS: what compiler are you using
19:19:24 Join DrRick [0] (
19:19:40CoCoLUSgcc 3.3.4
19:20:50jypFor coldfire?
19:21:59jypWiki says you need 3.4.x
19:22:03CoCoLUSi've taken calculator.c out of the sources file, and the rest compiles just fine
19:22:38jypfine by me ;)
19:22:43jypGotta go afk
19:26:26preglow3.3.x will be just fine
19:26:28CoCoLUSi'm flashing the modified firmware
19:26:30CoCoLUSwish me luck :)
19:27:06CoCoLUSlets hope it wont fry my ihp
19:27:51preglowyou'd be the first ;)
19:28:19CoCoLUSit's writing text
19:28:32CoCoLUSloading... length... checksum... sum... result...
19:28:34CoCoLUSthen, nothing ;)
19:28:56CoCoLUSnow, how do i shutdown the player? :P
19:30:59CoCoLUSaw i guess its recalcing...
19:33:32 Join Stryke` [0] (~Chairman8@resnet-241-86.resnet.UMBC.EDU)
19:34:52 Quit CoCoLUS ()
19:35:39 Join CoCoLUS [0] (
19:35:53preglowdoes the hd led blink?
19:36:44CoCoLUSit's just "hanging" at result: 0
19:36:46preglowis there a rockbox.iriver on your player?
19:36:51CoCoLUSof course
19:37:19preglowgimme a sec, doesn't look good
19:37:20CoCoLUSit wouldn't be able to compute the checksum if there wasnt a firmware file there, i think :)
19:37:56CoCoLUSmaybe that 3.3.4 gcc wasn't a very good idea after all ;)
19:37:58preglowdidn't get that
19:38:09preglow3.3.4 gcc should do the job just fine
19:38:14preglowyou're not the only one that's used that
19:38:19preglowbut gimme a sec, i need to read some code
19:38:51CoCoLUSwell i can reset fine, and the orig firmware works, so i can replace the firmware file and nothings damaged, so i'm not worried
19:38:53 Quit lennyk ("CGI:IRC")
19:38:58 Quit skav (Read error: 110 (Connection timed out))
19:39:18preglowi'm guessing the rockbox.iriver has got something funky happening
19:39:38preglow'cause it seems like it doesn't do anything when started
19:40:22CoCoLUSi'm using cvs from 20 minutes ago, and cygwin/gcc, and that calculator.c fix
19:40:26CoCoLUSno other changes
19:40:37preglowcause Result: 0 means success
19:40:59preglowso the bootloader is healthy, it seems
19:41:06preglowi'll send you a
19:41:09preglowunzip that and try it
19:42:07preglowi know for a fact it's working, that's what i'm using now
19:42:10CoCoLUSI'll try tht
19:42:59CoCoLUSstupid question
19:43:03CoCoLUSis the .rockbox dir necessary? :)
19:43:29CoCoLUSlol so then hit me with a stick
19:43:32preglowwill do
19:43:39CoCoLUSsorry for stealing your time
19:43:43preglowno problem
19:43:54CoCoLUShowever that -should- be included on the iriverboot page of the wiki if you ask me
19:44:07preglowthen feel free to add it
19:44:36CoCoLUSyeah like "a special warning for dumb people like myself" :)
19:44:46HClit already has something like that...
19:46:29CoCoLUSwith a .rockbox dir warning?
19:46:49CoCoLUSi thought theres just some configuration in there, and if its not there, it gets autogenerated
19:49:42preglowno, it contains fonts, plugins and stuff like that
19:50:32CoCoLUSyeah -now- i know :)
20:02:51CoCoLUSyour rockbox.iriver works just fine, however, mine still hangs at the result 0
20:04:32preglowthen i guess you've got a tool chain error
20:06:04CoCoLUSseems that way
20:07:03CoCoLUSafter i worked that out i think i'll start with the very important task of porting snake2 to the larger iriver screen ;)
20:09:30preglowi can't get this bloody parallel load in mac.l to work :///
20:09:40preglowCoCoLUS: sounds like a good idea
20:12:58preglowyes i can, i'm just freaking stupid
20:13:00preglowand insane
20:13:05preglowand shouldn't be allowed to code
20:27:00preglowlinuxstb: ahoy, i've got an optimized c/asm routine for you
20:31:47CoCoLUSwhich brings us... ? :)
20:32:00linuxstblinuxstb: bring it on...
20:32:08linuxstb^preglow: :-)
20:32:10preglowlinuxstb: picking a fight with yourself again, yes?
20:33:14preglowmind you it only does up to order 8, like the arm one you sent
20:33:28preglowi probably should use emac in the default case for order as well
20:34:06linuxstbI think orders higher than 8 are quite rare - which is why the ARM version only did up to that.
20:34:24linuxstbI'll try and add it to libFLAC and see what happens...
20:34:51preglowdo so
20:34:59preglowi don't think i cam do fir filtering any faster than that
20:35:07preglowonly two instructions per tap, that's pretty good
20:35:17preglowsince mac.l can do an optional parallel load as well
20:35:43markunlinuxstb, With _LOW_ACCURACY_ I got to 3.5% real-time decoding an ogg vorbis file.
20:36:27preglowi can probably speed it up some more by not using the same registers all the time, i don't know enough about the coldfire to tell
20:37:51jypI'd be suprised if it has more than one execution unit...
20:37:55jypbut who knows
20:38:02jyp(certainly not me :P)
20:39:12HCli successfully managed to make rockboy
20:39:15HCleven slower! ;p
20:39:35HClthanks :D
20:39:51linuxstbpreglow: emac.h ?
20:39:54HClnow to continue on dynarec
20:39:58preglowlinuxstb: sorry
20:40:06linuxstb:-) No problem.
20:40:22linuxstbmarkun: Did you listen to the results of _LOW_ACCURACY_ ?
20:40:27preglowlinuxstb: it's unnecesary now, but it's in the same url if you want it for some reason :p
20:40:46preglowi tried using my mac macros, but found that doing the parallel loads would be very difficul that way
20:41:05markunNo, I forgot to listen to the result :) I will do so now.
20:41:08linuxstbIt still needs SET_MACSR() and SET_ACC()
20:41:23markunI am also trying to compile libspeex btw.
20:41:38preglowlinuxstb: it's at now
20:42:34CoCoLUSwhy won't my toolchain work
20:42:34preglowCoCoLUS: what up
20:42:40preglowi use linux myself
20:42:53preglowtried going at it once with cygwin, cursed, gave up
20:43:13CoCoLUSi'm trying it from scratch now
20:43:39CoCoLUSmaybe i fucked up with that binutils 2.15 "hack"
20:44:14preglowwho knows
20:45:16CoCoLUSwhy is the rockbox firmware so much faster at starting up than the original from iriver?
20:47:44preglowbecause it doesn't do meningless crap like sleeping for seconds while showing a logo
20:47:48preglowand it doesn't index the entire disk
20:53:26*HCl swears.
20:53:27HClcpu.c:979: internal compiler error: in emit_move_insn, at expr.c:2809
20:53:30CoCoLUSi need to kill something
20:53:40HCli can't stand internal compiler errors
20:53:47 Nick jyp is now known as JyP````````````` (
20:53:48preglowCoCoLUS: there's a president or two you can kill
20:53:57preglowHCl: what gcc?
20:54:07 Nick JyP````````````` is now known as jyp````````````` (
20:54:41CoCoLUSi would be happy if i could even -compile- 3.4.3
20:54:54 Nick jyp````````````` is now known as jyp (
20:54:59preglowjyp: fun?
20:55:16*jyp blushes
20:57:46***Saving seen data "./dancer.seen"
20:58:01jypHCl: I've hit this error trying to compile libmad for calmrisc
21:02:41linuxstbpreglow: I've done some tests, and there's a slight improvement - maybe 3% or 4%. I don't think it will be enough by itself to take us past 100% at 140MHz, but it's a start :-).
21:03:04preglowlinuxstb: sure, had to be done anyway
21:03:13HCl3.3.4 does it too.
21:03:18jypHCl: the ICE you got, is apparently a 'known problem'
21:03:20HClwhat the hell am i supposed to do now ._.
21:03:34HCljyp: any work arounds / causes?
21:03:38jypI found a workaround...
21:03:40preglowlinuxstb: lemme know if you see more spots than can take some improvement, i'll have a little look myself, after food
21:03:46HClwhat is it?
21:03:58preglowlinuxstb: and yeah, it MIGHT of course be faster if the whole thing is written in asm, but i doubt it
21:04:03jypLet me guess, there's a nested array access in in your code ?
21:04:13markunlinuxstb, I hear only static :(
21:04:25HClnot particularly.
21:04:43jypHang on a sec
21:04:46XShocKby the way, what was the decision about that mpegdec Mp3+2+1 library optimized for m68k ?
21:05:14linuxstbI think there's a "fixed predictor" version of the same function - FLAC chooses either a fixed or linear predictor for each frame, and in my test streams about 80%-90% of the blocks seem to use linear predictors. But I'll investigate and let you know. I'll also see if it's worth doing the same for order > 8.
21:05:16HClchanging the optimization doesn't help... :(
21:05:23jyp index = offset_table[bitalloc_table[offsets[sb]].offset][index - 1];
21:05:31jyp... failed
21:05:37jyp int off = bitalloc_table[offsets[sb]].offset;
21:05:38jyp index = offset_table[off][index - 1];
21:05:41jyp... works
21:05:58jypSo, split off complex expressions is my advice
21:05:59linuxstbmarkun: Yes, I tried the _LOW_ACCURACY_ (but only in the simulator) and got static as well. Were you running it on the iRiver?
21:05:59HCllet me try to comment out some code
21:06:05preglowlinuxstb: should be easyish to do some statistics
21:06:12markunlinuxstb, yes
21:06:33linuxstbpreglow: Yes, I'll do that.
21:06:52HCldidn't help
21:07:01HCli commented pretty much the only array operations i added.
21:07:35HClif i can't get gcc to not fail, i seriously can't work on rockboy
21:07:47jypThis in fact means any pointer dereferencing / arithmetic
21:08:08jypPray it gets fixed in 4.0 ;)
21:08:17jypdue for april 15
21:10:48HClthats not funny.
21:12:56 Quit HCl ("Lost terminal")
21:14:11 Join hcl [0] (
21:14:14jypHCl apparently found his NaOH
21:14:14*hcl bites screen
21:14:17 Nick hcl is now known as HCl (
21:14:26 Quit thegeek (Read error: 104 (Connection reset by peer))
21:14:38*XShocK is listening to 1. Angel Dust - Nightmare
21:14:50XShocKsorry, damn plugins..
21:17:01 Quit Cassandra_ (Read error: 110 (Connection timed out))
21:18:57HCljyp: my inline assembly is causing it
21:19:09HClwhat does the volatile statement do?
21:19:12 Join Cassandra_ [0] (~christi@
21:21:02jypVolatile tells gcc not to move/remove the asm statement
21:21:48 Join lennyk [0] (
21:21:50 Join mrelwood [0] (
21:21:50jyp, HCl.
21:22:18lennykpreglow: just wanted to say thanks and I'm back in business
21:22:41mrelwoodI'm more than grateful seeing the iRiver progress! You guys rule!
21:22:43lennykI copied all my music to my computer, deleted the ihp partition and recreated it
21:23:05lennykthanks again, got to go
21:23:32lennykdon't they, mrelwood
21:23:35 Join asdasopiu [0] (
21:23:36 Quit lennyk (Client Quit)
21:23:37 Part mrelwood
21:23:48HCladding volatile doesn't help.
21:24:02 Join _mrelwood [0] (
21:26:51 Quit markun ()
21:31:33*HCl is getting that compile bug in calculator.c too
21:31:46 Quit Stryke` (Read error: 54 (Connection reset by peer))
21:35:23preglowlinuxstb: looks like most action's happening in lpc.c
21:43:21preglowlooks like the coldfire is very sensitive to alignment issues
21:54:24linuxstbpreglow: any suggestions?
21:55:07preglowi'm looking through it now
21:55:24preglowwe're compiling with FLAC__INTEGER_ONLY_LIBRARY, yes?
21:55:48preglowand btw, what efficieny is it at now? i get around 6.5% of realtime here, with the cvs version
21:56:33linuxstbOn my test stream, I got around 7.8% before your routine, and about 8.2% afterwrds.
21:57:16pregloware we able to profile?
21:57:21preglowi guess not
21:58:35HClare we allowed to reverse engineer the original firmware under the reverse engineering for compatibility under the dmca?
21:58:54linuxstbWe don't live in the USA, so why is the DMCA relevant?
21:59:35HClthats a good point too.
21:59:44HCli guess its relevant for developers in the usa?
21:59:47HCldon't we have any of those?
22:00:07linuxstbOr maybe if any of us wish to visit the USA in the future...
22:00:25HClanyways. just saying we could always resort to reverse engineering the original firmware codecs
22:00:46linuxstbI did think about actually calling functions that are already in our iRivers
22:01:03preglowHCl: you can reverse-engineer as much as you like
22:01:19preglowcan't think of any reason to do so myself
22:01:27preglowreading disassembled code is a nightmare
22:02:25HCllinuxstb: even better idea
22:02:54preglowthat would make rockbox iriver firmware version dependant
22:02:57preglowwhich is one bad idea
22:03:22HClyou could load a file with crc/address data
22:03:26HClthat has each firmware
22:03:43linuxstbWe have only been looking at the codecs for a couple of days. I think it's a bit early to give up...
22:03:51HCli'm not giving up
22:03:52preglowyes, there are ways of doing it, but it's a hack
22:03:53HCli'm just saying
22:04:00preglowbut hell
22:04:00HClwe could do that, if all else fails
22:04:08preglowprofiling would be very, very useful here
22:04:28*HCl actually has high hopes of getting rockboy at normal speed
22:04:55preglowi think the progress we have made is pretty amazing
22:05:02linuxstbpreglow: I'm not going to have much time to spend on it tonight (or tomorrow). But I'll try and commit your optimisation (in a clean way - so we can turn it on and off with a #define) tonight.
22:05:30linuxstbpreglow: Yes, if we only wanted WAV playback, we would be finished next week.
22:06:05preglowlinuxstb: yes, i believe there already is a MCF5249 define
22:07:15preglowlet's hope people mostly have 16 bit flac files, there's not much to be done about the wide lpc routines
22:07:34preglownot in the emac apartment, at least
22:08:44preglowand i assume we won't ever use the FLAC__OVERFLOW_DETECT define?
22:08:58linuxstbOne option (for FLAC) is to disable lpc completely (this is done when you encode the file) - decoding with fixed predictors is probably already fast enough for real-time at 140MHz.
22:09:01 Nick asdasopiu is now known as thegeek (
22:09:06jypomg, the #gcc channel is pathetic
22:09:16linuxstbpreglow: No, we can't afford that.
22:09:19preglowyees, but lpc is pretty important, i think
22:09:43linuxstbAgain, I only tested one file, but lpc gave about a 10% smaller file.
22:09:56linuxstbi.e. 10MB instead of 11MB.
22:10:05preglowwill probably do nicely for us, then
22:10:20preglowbut anyway, we need to be able to play them, that's the most important part
22:11:05preglowdamn, how my head feels like it's stuffed with wool today
22:11:22linuxstbBut I think we're very close to 100% anyway with FLAC. libmad and Tremor seem the real problems.
22:21:46 Quit Diway (Read error: 110 (Connection timed out))
22:34:38 Quit _mrelwood ("CGI:IRC (EOF)")
22:41:40HClwhats the fastest way on m68k to clear a register?
22:41:48HClmoveq %d7,0 ?
22:43:10 Quit Cassandra_ (Read error: 60 (Operation timed out))
22:43:39preglowclr.x, i mean, it supports all sizes
22:57:13HClah, thanks.
22:57:48***Saving seen data "./dancer.seen"
22:59:52 Join Tulkar[AFK] [0] (Tulkar@
23:03:32HCli must say, the "quick" equivalents for m68k instructions are great
23:03:48preglowthey're useful
23:04:21preglowplease note that mov3q isn't supported on our coldfire
23:04:28preglowso don't use that
23:04:30HCli wasn't planning to use it
23:06:43 Join Stryke` [0] (~Chairman8@resnet-241-86.resnet.UMBC.EDU)
23:07:14 Join amiconn [0] (
23:08:09 Quit jyp ("poof!")
23:13:08linuxstbpreglow: Your FLAC patch is now in CVS.
23:16:02preglowisn't 3-4% speedup a wee bit on the imaginative side? :P
23:17:05preglowahh, btw, i should have thought about that, it would have been better to put the emac macros some place else
23:17:20preglowsince they can and probably should be used by all codecs
23:17:26preglowbut that can wait, i guess
23:18:03linuxstbYes, I thought about that - but we can always move them somewhere else.
23:18:52preglowbut is orders higher than eight so uncommon that you can just ignore them?
23:21:03linuxstbThe default encoding options for FLAC specifies "-l 8" - i.e. a maximum LPC order of 8.
23:21:26preglowbut i should probably add a default case in the switch some time
23:22:09*HCl sighs.
23:22:14linuxstbIt's OK, if it's encoded with order > 8, the stream_decoder.c function calls a different function.
23:22:20*preglow pats HCl on the back
23:22:27preglowthen hooray!
23:22:31preglowno bother
23:22:44preglowi just had a look at libmad
23:22:51preglowquite a lot of work to be done in layer3.c and synth.c
23:23:12linuxstb(don't forget layer12.c for my digital radio recordings...)
23:23:29preglowyes, but that doesn't use a mdct
23:23:35preglowso doesn't require as much
23:23:41preglowhave you tried timing a mpeg2 file?
23:23:46preglowmpeg layer2 file, i mean
23:24:14linuxstbI'm just doing it again now, but I don't think there's much difference.
23:24:23preglowthere really should be
23:24:42amiconnHCl: Wazzup?
23:24:49preglowif the mdct isn't a major contributor to the cpu usage, i really don't know as much as i think
23:26:42thegeekhmm, anyone heard any news from linus regarding the ata problems?
23:27:05thegeekI _really_ hope he is wrong ;)
23:28:56preglowyes, that would please me greatly
23:29:05preglowbut i get the impression he knows what he's talking about, heh
23:30:36thegeekas do I;/
23:30:36 Quit Tulkar[AFK] (Read error: 54 (Connection reset by peer))
23:30:56thegeekperhaps he can work some of his magic and fix it;)
23:31:16preglowmagic doesn't go very far in the realm of hardware problems
23:31:21preglowbut we shall see
23:33:48 Join Patr3ck [0] (
23:48:23 Join pillo [0] (
23:52:15pillohi all. I'm fiddling with the viewer plugin, anyone here can answer some questions?
23:52:37preglowjust ask
23:53:13pillothanks, i'm a newbie here (h120 owner)
23:53:52pilloi like very much the proportional fonts, but these don't work very well in the viewer because it's very column-dependant...
23:54:33pilloi have started to edit it to take into account the proportional width of the fonts, but it's going to be a huge edit
23:54:53preglowyes, and it needs to be done ;)
23:55:05pilloi thought so ^_^
23:55:50HCli swear. gnuboy has horrific code
23:55:54Patr3ckdoes anyone have idea why the iriver uisimulator using x11 stops directly after start with the error Floating point exception?
23:56:06HCl cpu.flags = 0x40 | (( (((acc).b[1][1])) ? 0 : 0x80 )) | (0x20 & ((cpu.a ^ ((b)) ^ ((acc).b[1][1])) << 1)) | ((un8)(-(n8)((acc).b[1][0])) << 4);
23:56:15pillobut i'm going to change a lot ... and i'm doing triple effort to keep it compatible with text-only displays.
23:56:18rasherHCl: Mind your language!
23:56:25HClwtf is that supposed to do?! X.x;
23:56:27HClsorry :X
23:56:40rasherThat truly was horrible.
23:56:52HClworst part is
23:56:56HCli'm gonna have to rewrite it in as
23:56:59HCland uhhhhhh
23:57:00amiconnHCl: How's your dynarec progressing?
23:57:01pillorasher: yes indeed
23:57:15HClamiconn: wanna see?
23:57:43HClthe basic layout is there, all the code hasn't been tested, but it should give you a general idea to how it works
23:57:46 Join amiconn_ [0] (
23:57:51HClit compiles too.
23:57:56 Quit amiconn (Nick collision from services.)
23:57:57 Nick amiconn_ is now known as amiconn (
23:58:00HCldid you get what i said?
23:58:18amiconnYes, from the log
23:58:24pilloanyways, do you think I should fork and create a new plugin for graphic displays' viewer? or just try to keep it 100% compatible (and bloat a lot of code)?
23:58:27amiconnI saw that you got an ice..
23:58:59amiconnI had a quick look at the cpu emu too.

Previous day | Next day