IRC logs for #opendune on OFTC at 2009-12-01
⏴ go to previous day
04:38:14 *** TrueBrain has joined #openDune
14:19:39 *** boekabart has joined #openDune
14:21:54 <boekabart> it seems he has the orig source, but that actually doesn't matter so much after JITting i suppose
15:50:21 <TrueBrain> boekabart: just skimmed over them, but it doesn't seem to contain any sane information
15:58:29 <TrueBrain> Xaroth: why did you try to tell something to Nyerguds. He knows better anyway. Just a waste of time. I considered replying something similar, but realised in time who I was talking to
15:59:18 <TrueBrain> UTF-8 extends ASCII, so he is just wrong ...
15:59:34 <TrueBrain> (UTF-8 does not extend 'extendeed-ASCII', but that is another story :p)
16:11:27 <TrueBrain> MrFlibble can be funny ... how to read this sentence: " * Main executable is again separate from music files, and will be going into the future"
16:14:22 <TrueBrain> oh, it was not text from MrFlibble himself :p
16:16:39 <TrueBrain> boekabart: btw, I still have to do my Bachelor Project, which is a 3 month long project you need to work on; I am going to put in a request to do it about the decompiler, more specific, NES games (or do you have a better suggestion?), where the focus is on optimziations of the C code after decompilation. So that should give me more time to work on libemu :)
16:16:58 <TrueBrain> but it starts in February, so
16:26:15 <DorpsGek> SVN: glx (r644) -Add: named some emu_String functions
17:13:21 <Xaroth> TrueBrain: meh, I just wanted to point out his fail :P
17:15:24 <Xaroth> and I take it making OpenDune your bachelor project will be a no-go ? :P
17:28:56 <TrueBrain> haha, I dont think there is anything to learn about that on the theoretic area
17:29:04 <DorpsGek> SVN: glx (r645) -Add: figured out a few variables
17:30:04 <TrueBrain> glx: the strstr is not really a strstr, as it triggers on $
17:31:52 <glx> there's nothing about $ in its code
17:31:59 <TrueBrain> strstr only looks for a single needle
17:32:08 <TrueBrain> and this code really suggests it can search for multiple ...
17:33:24 <glx> strstr("HUMAN$CPU", "NONE") returns NULL
17:33:39 <TrueBrain> oh, lol, they do it reversed
17:33:42 <TrueBrain> that is clever ... ghehe
17:33:49 <TrueBrain> and of course that returns NULL :p
17:33:55 <TrueBrain> I was more talking about HUMAN and CPU as input ;)
17:34:23 <TrueBrain> but it makes the key you search for the needle
17:34:27 <TrueBrain> and HUMAN$CPU is the haystack
17:34:29 <TrueBrain> so it will work out
17:34:58 <glx> the $ is just there to prevent false positive I guess
18:16:59 <TrueBrain> as good as any other
18:18:22 <glx> and the description is good enough for the future conversion I guess
19:26:00 *** Xaroth sets mode: +o TrueBrain
19:26:58 <Xaroth> TrueBrain: there's enough to learn, but yes, I doubt the profs would agree on that :P
20:56:19 <TrueBrain> Xaroth: there is always something to learn; but as said, most likely not enough in the theory department :p
20:56:30 <TrueBrain> it now is all applied science
21:24:18 <Xaroth> TrueBrain: doesn't mean the fun aint over yet :)
21:38:55 <TrueBrain> just from a theoretical point of view it is now very boring :)
21:39:04 <TrueBrain> now all we got left is a big jigsaw :)
21:52:09 <TrueBrain> if a head-tracking software follows your breast (not mine), is that a compliment or not?
21:52:13 <TrueBrain> it detected 2 eyes and a nose in it ... :p
21:52:28 <TrueBrain> (and the correct texture and dark/light)
22:26:41 <Xaroth> definately male software :P
22:27:39 <Xaroth> I take it neither of you have a G15 keyboard? :o
22:31:45 <glx> why would I buy an expensive keyboard when I already have a working keyboard?
22:31:55 <TrueBrain> on what grounds do you assume that?
22:32:00 <TrueBrain> that really is the most silliest question I read all day
22:32:05 <TrueBrain> and I read plenty :p
22:32:28 <Xaroth> because until now I haven't seen it working flawlessly on mac, and linux support is still shit :P
22:34:05 <TrueBrain> I like other things too
22:34:09 <glx> the only gadget I have is a home made usb adapter for 2 genesis pad
22:34:28 <glx> a nice pic2550 in a small box
22:34:43 <TrueBrain> I think every savegame consumes 0x33 bytes of 'header' information or something
22:35:21 <Xaroth> before I go crazy, is it or is it not possible to link C++ libraries in a C app?
22:35:30 <TrueBrain> of course it is possible
22:35:37 <TrueBrain> just you either need to export your symbols as C
22:35:39 <TrueBrain> or you have to add some glue
22:36:08 <TrueBrain> if (emu_get_memory8(emu_es, emu_bx, 0x0) == 0x5B) {
22:36:09 <TrueBrain> emu_get_memory8(emu_es, emu_bx, 0x0) = 0x0;
22:36:14 <TrueBrain> if (emu_get_memory8(emu_es, emu_bx, 0x0) == 0x5B) {
22:36:16 <TrueBrain> emu_si = emu_get_memory16(emu_ds, 0x00, 0x80B2);
22:38:23 <TrueBrain> [guessing mode] 0x1E == enter, 0x1F == esc?
22:38:48 <Xaroth> maybe they are using some kind of wierd voodoo magic that magically changes stuff? :P
22:39:52 <TrueBrain> working through the GUI code a bit
22:39:57 <Xaroth> ASCII Record Separator and Unit Separator
22:40:14 <TrueBrain> I now know where keys are handled for the edit box of a savegame name
22:40:17 <TrueBrain> just wondering about the details ..
22:42:47 <TrueBrain> from some level the 1E and 1F are coming, I just don't know which one :p
22:43:16 <TrueBrain> I think 10E4 contains text draw routines
22:43:18 <glx> oh btw the security check doesn't care about spaces and case ;)
22:43:37 <glx> all is attached and upper case
22:45:08 <glx> and passed through a simple strcmp
22:45:35 <TrueBrain> what memory address does it compare it with?
22:46:22 <TrueBrain> as I assume it is stored in the file somewhere in a encoded way
22:46:34 <TrueBrain> either way, I wish you all a very good night
23:17:48 <Xaroth> hm, thought I'd give a go at a 'long' function
23:17:53 <Xaroth> like.. f__0F3F_01A1_0018_9631
23:18:02 <Xaroth> but that's ... REALLY long
23:20:48 <Xaroth> emu_si = emu_get_memory16(emu_ss, emu_bp, 0xA);
23:20:48 <Xaroth> emu_orw(&emu_si, emu_si);
23:26:05 <Xaroth> i'll try one that doesn't have unnamed functions in it :io
23:29:40 <SmatZ> it can be useful for setting EFLAGS
23:30:01 <Xaroth> right after that it does an if != 0, yes :)
23:30:17 <Xaroth> anyways, i've given up on that one, I can't figure out what something does if it calls other unknown stuff :P
23:30:36 <Xaroth> this new one doesn't have wierd stuff... i hope
23:32:01 <Xaroth> making tons of comments to figure out what it's doing with the stack
23:32:09 <Xaroth> (which I already am...)
23:37:20 <Xaroth> it's not using flags tho
23:37:29 <Xaroth> the converted isn't :P
23:37:35 <Xaroth> the original asm obviously does
23:38:00 <Xaroth> f__0F3F_028E_0015_1153 does some weird magic
23:38:27 <Xaroth> returns a uint32, or struct variant (tile32?)
23:38:45 <Xaroth> if arg3 equals 0, it returns arg1
23:38:54 <Xaroth> else it does processing :P
23:40:50 <glx> when you see an if (xxx != 0) goto ... it was a jmp_nz
23:41:06 <glx> just the decompiler is smart enough to translate
23:41:34 <glx> and you can thanks it to translate <= and similar :)
23:41:47 <glx> it's a pain to decipher flags for that
23:42:45 <Xaroth> if(arg3 > 0xFF) arg3 = 0xFF; << that or arg3 = arg3 & stuff
23:43:14 <Xaroth> hrnf, i'll go with what it used
23:43:16 <Xaroth> see what that brings me
23:44:36 <Xaroth> overflow check, in essence
23:45:25 <Xaroth> emu_bx = emu_get_memory16(emu_ss, emu_bp, 0xA); // arg2
23:45:25 <Xaroth> emu_andw(&emu_bx, 0xFF);
23:46:22 <Xaroth> emu_al = emu_get_memory8(emu_ds, emu_bx, 0x3C4C);
23:50:41 <Xaroth> ok, now to figure out what the hell imuluw does :o
23:51:11 <Xaroth> later on: emu_al = emu_get_memory8(emu_ds, emu_bx, 0x3D4C);
23:52:16 <glx> and 0x3C4C + 0x100 = 0x3D4C
23:52:33 <glx> so you found 2 contiguous arrays
23:53:25 <Xaroth> negw turns an int negative, if possitive, and vice versa right?
23:56:16 <Xaroth> right, to find out what imuluw and sarw does :o
continue to next day ⏵