IRC logs for #opendune on OFTC at 2010-03-06
⏴ go to previous day
07:37:30 *** ChanServ sets mode: +v Yexo_
13:17:34 *** ChanServ sets mode: +v Yexo
20:38:04 <TrueBrain> I am wondering why 1.07us and stuff don't load at all ... do they differ that much?
20:38:38 <TrueBrain> hard to trace in this stage
20:43:15 <glx> maybe because it doesn't have language specific stuff some global data are not at the same place
20:43:37 <TrueBrain> it somehow seems to detect that
20:44:40 <TrueBrain> owh, I now see my test-dirs are wrong, so it doesn't read any file :)
20:47:57 <TrueBrain> k, 1.00 datafiles just crash
20:48:29 <TrueBrain> I wanted to start the JIT, but lets not do that :p
20:48:49 <TrueBrain> 1.07hs crashes the same way
20:51:18 <TrueBrain> I should pay attention to what I symlink :)
20:51:25 <TrueBrain> ln -sf does no longer what I expect it to do
20:54:01 <TrueBrain> hmm .. it makes the jit crash
20:56:17 <TrueBrain> k ... 1.07 now 'loads'
20:56:20 <TrueBrain> it does skip the intro
20:56:41 <TrueBrain> but it doesn't really work :p
20:57:45 <DorpsGek> SVN: truebrain (r941) [JIT] -Add: mapped another function
20:57:46 <Xaroth> grr, if i configure my sound to 5.1.. which i have
20:57:57 <Xaroth> ventrilo only does front speaker sounds
20:58:08 <Xaroth> windows media player, only does front speaker sounds
20:58:09 <DorpsGek> SVN: truebrain (r942) -Update (r941): update decompiled code
20:58:26 <TrueBrain> use a decoder, and use a digital output
20:58:35 <TrueBrain> after that, all my problems where gone
20:58:56 <Xaroth> I've still to figure what microsoft is seeing as drivers :P
20:59:20 <Xaroth> I mean, in xp it all worked out of the box,
21:02:40 <TrueBrain> he, Dune2 has one more debug statement as left-over
21:02:44 <TrueBrain> the rest are all cleaned up
21:02:51 <TrueBrain> I wonder if this also holds for other dune versions ...
21:03:35 <TrueBrain> in the optimal world we should decompile all other verions, and do a compare
21:03:40 <TrueBrain> who wants to take care of that? :p
21:08:04 <tneo> hello is sound working in v0.3?
21:08:16 <tneo> and if so what was the timidity command again?
21:08:31 <TrueBrain> it says the timidity command on startup, if it cant find a MIDI port :)
21:09:52 <Xaroth> hm, audtio drivers for Win7 x64
21:11:46 <Xaroth> ATK0110 driver for WindowsXP/Vista/Win7 32&64-bit
21:12:54 <TrueBrain> this is weird .. this debug line only prints the last line ...
21:12:58 <TrueBrain> that simply doesn't make sense :(
21:13:35 <glx> tneo: you have to set sound and music to 7 in config.c
21:13:58 <tneo> hmm timidity doesn't want to start :-(
21:14:08 <glx> maybe it's already started
21:14:14 <tneo> can't create mcop directory
21:16:52 <TrueBrain> yes .. then you documented this string wrong :p
21:17:51 <TrueBrain> pfew .. not going that crazy :)
21:18:15 <TrueBrain> this string is only \r
21:18:19 <TrueBrain> which linux does not like (at all)
21:18:27 <TrueBrain> well, it does what it should do
21:18:33 <TrueBrain> it goes back to the begin of the line
21:18:37 <TrueBrain> but .. not what I expect it to do :)
21:20:46 <TrueBrain> Program in memory: 274432
21:20:47 <TrueBrain> Buffer allocations: 234336
21:20:49 <TrueBrain> Misc allocations: 38640
21:20:52 <TrueBrain> DOS prompt memory free must be 547408.
21:21:23 <DorpsGek> SVN: truebrain (r943) -Fix: fix up documentation about 353F:019E
21:22:05 <glx> tneo: if your system is like my VM, timidity is loaded at boot
21:22:23 <glx> but you maybe need to connect MIDI through to timidity
21:22:46 <tneo> and how to check it is running?
21:23:03 <tneo> client 0: 'System' [type=kernel]
21:23:04 <tneo> client 14: 'Midi Through' [type=kernel]
21:23:04 <tneo> client 16: 'TerraTec DMX6Fire' [type=kernel]
21:23:06 <tneo> 0 'MIDI-Front DMX6fire 0'
21:23:08 <tneo> 32 'Wavetable DMX6fire 0'
21:23:23 <TrueBrain> besides, OpenDUNE will always pick client 14
21:24:15 <glx> hmm no it's just a MIDI plug I guess
21:25:43 <glx> btw I have 4 timidity ports at boot :)
21:26:54 <glx> and I have 0:1 (Announce) connected to 15:0 (not in the list)
21:30:25 <TrueBrain> glx: voice drivers 0 till 3 use less memory than voice driver 4
21:30:29 <TrueBrain> can you maybe tell me what it is?
21:32:12 <TrueBrain> music driver 1 uses much less memory than the others
21:32:31 <TrueBrain> well, I am currently just guessing it is memory we talk about, but I am counting numbers :p
21:32:44 <glx> Ad Lib(R) Gold Music Synthesizer Card
21:32:58 <TrueBrain> the 'Gold' part indeed gives the suggestion it is better :p
21:33:48 <TrueBrain> if (config->musicDrv == 1) {
21:33:51 <TrueBrain> } else if (config->musicDrv != 0) {
21:34:32 <TrueBrain> btw, doing the function in B480 :)
21:34:35 <TrueBrain> the main(), so it seems
21:35:05 <TrueBrain> so far I am not impressed :)
21:35:53 <TrueBrain> hehe, I played too much with DOS
21:36:02 <TrueBrain> I just understand what it does 1 block before the PSP
21:36:06 <TrueBrain> there the MSB is, with the size :p
21:44:40 <TrueBrain> maybe reverse the check and make it return?
21:44:46 <TrueBrain> less likely to cause problems later :)
21:47:40 <TrueBrain> if (g_global->variable_00A0 - memoryNeeded - 0x84530 < 0) {
21:47:42 <TrueBrain> printf("Insufficient memory by %ld bytes.\n", g_global->variable_00A0 - memoryNeeded - 0x84530);
21:48:43 <TrueBrain> @calc 0x3E80 + 0x7D0
21:48:57 <TrueBrain> no idea why that is seperated ...
21:49:37 <glx> so mouse driver and dune2, no more
21:50:17 <glx> maybe MSCDEX could be loaded too, but probably too much
21:50:43 <TrueBrain> hmm .. it first checks how big dune2.exe is in the memory, and it seems to add that to the 'available' memory
21:56:48 <TrueBrain> g_global->variable_00A0 = g_global->variable_009C;
21:56:52 <TrueBrain> if (g_global->variable_00A0 - memoryNeeded - 0x84530 < 0) {
21:56:57 <TrueBrain> memoryNeeded + 0x84530 - g_global->variable_009C;
21:57:06 <TrueBrain> sometimes I really really really do not get Dune :(
21:57:40 <TrueBrain> ah, no, A0 is wrong :)
22:00:40 <DorpsGek> SVN: glx (r944) [LibEMU] -Codechange: allow JIT to continue after loading a crash.bin
22:04:21 <TrueBrain> voice driver is indeed disabled with no XMS
22:06:07 <glx> IIRC it's disabled at 2 places
22:06:26 <TrueBrain> it tries to allocate a small piece of memroy int he XMS
22:06:30 <TrueBrain> if that fails, it disables it too
22:06:44 <TrueBrain> maybe if I uncover this a bit more, I can even write a simple XMS replacement :)
22:07:35 <TrueBrain> it tries to allocate 910k in the XMS, I think
22:13:45 <TrueBrain> it only does voice in XMS
22:13:51 <TrueBrain> all other things are done in the lower memory
22:14:32 <glx> f__23E1_0004_0014_2BC0 calls different things depending on last arg
22:15:20 <TrueBrain> but it is all related to XMS, not?
22:15:47 <TrueBrain> if we can write some temporary thing for it, you can get your voices :)
22:16:07 <TrueBrain> I have no idea how XMS works ... maybe it is VERY simple, with a few clever memcpy
22:16:12 <TrueBrain> but I don't know how it switches ...
22:16:15 <glx> well f__23E1_0004_0014_2BC0 allocates in normal memory too
22:16:50 <TrueBrain> well, the 0x40 switch :)
22:19:01 <glx> oh last arg is a flag indeed
22:19:48 <TrueBrain> the first byte in the (decoded) config is a bit weird :p
22:20:34 <TrueBrain> it always does the same, except when it is '2'
22:21:43 <TrueBrain> emu_bx = config->variable_0000 - 7;
22:21:44 <TrueBrain> if (emu_bx > 0x5) goto l__01CC;
22:22:00 <TrueBrain> so .. variable_0000 < 7 || variable_0000 > 12, goto 01CC
22:23:17 <TrueBrain> "Unrecognized graphic mode!\r\n"
22:24:13 <TrueBrain> from 7 till 12 are valid, and not 9
22:24:55 <TrueBrain> makes little sense atm
22:25:29 <TrueBrain> g_global->variable_6C76 = 3;
22:25:30 <TrueBrain> if (config->graphicDrv >= 7 && config->graphicDrv <= 11 && config->graphicDrv != 9) {
22:25:32 <TrueBrain> g_global->variable_6C76 = 3;
22:25:33 <TrueBrain> makes no sense either
22:26:34 <glx> and I guess variable_6C76 is video mode
22:26:57 <TrueBrain> I dunno what it represents .. it is always 3 :p
22:28:00 <TrueBrain> hmm .. the only valid music drivers are between 8 and 11?
22:28:14 <glx> and it's always compared to 3
22:28:45 <TrueBrain> owh, no, we never loaded it with any value between 8 and 11 ...
22:30:06 <TrueBrain> yes, not decoded :)
22:30:29 <TrueBrain> you can't configure the video mode
22:30:41 <TrueBrain> a switch causes this
22:30:45 <TrueBrain> no switch-resolving, like modern compilers
22:31:09 <TrueBrain> 8 till 12 are 'disabled'
22:31:12 <TrueBrain> it changes it to '1'
22:33:45 <TrueBrain> the soundDrv is never checked
22:34:05 <TrueBrain> stupid, this musicDrv check is after the memory allocation tsuff
22:34:11 <TrueBrain> and '1' needs less memory
22:36:57 <glx> hmm 13 should be disabled too
22:37:52 <TrueBrain> then please check the code and see if I am not going nuts :p
22:38:41 <glx> as 8 to 13 are non existant in data files
22:38:48 <TrueBrain> but please check the code
22:38:56 <TrueBrain> it does allow 13, not?
22:40:20 <TrueBrain> musicDrv - 8 <= 4, change to 1
22:40:31 <TrueBrain> so musicDrv >= 8 && musicDrv <= 12, change to 1
22:40:34 <TrueBrain> yes, 13 will pass through
22:41:37 <glx> let's see what happens if I set it to 13 :)
22:42:13 <TrueBrain> just double checked with dosbox, 13 is indeed allowed
22:43:23 <TrueBrain> haha, indeed, a bit later it resets voiceDrv AGAIN :p
22:43:31 <TrueBrain> runs, but did it load the other drv?
22:43:36 <TrueBrain> as with 12 it loads to, but switches to drv1
22:43:59 <glx> I hear sounds in intro but no music
22:44:12 <TrueBrain> weird that 'sound' is never validated
22:44:17 <TrueBrain> as it expected it to always be the same
22:45:39 <glx> if (filename == NULL || !File_Exists(filename)) return false; <-- of course it doesn't crash ;)
22:46:13 <TrueBrain> but okay .. that seemly is a bug, I think they intended to disable 13 too
22:46:27 <glx> not disable, but redirect
22:47:22 <TrueBrain> emu_get_memory16(emu_ds, 0x00, 0x6CD5) = 0;
22:47:23 <TrueBrain> emu_get_memory16(emu_ds, 0x00, 0x6CD3) = 0xFA00;
22:47:31 <TrueBrain> is it 0xFA00 or 0xFA000000
22:49:40 <TrueBrain> This: /* 6CD3(64) */ PACK uint32 variable_6CD3[8][2]; /*!< ?? Array init in f__B480_0000_0018_A09B(). */
22:49:45 <TrueBrain> is what you claim, yet I can only find [5]?
22:50:24 <TrueBrain> owh, it should even be 9 in size ..
22:54:25 <glx> 6C93 and 6CD3 are accessed the same way
22:54:52 <TrueBrain> in that case 6C93 can also be 9 long :p
22:55:25 <glx> I can't remember in what order I did it :)
22:55:45 <TrueBrain> well, I have a <= 8 here, so :)
22:56:53 <TrueBrain> emu_get_memory16(emu_ds, 0x00, 0x6C82) = 0x353B;
22:56:54 <TrueBrain> emu_get_memory16(emu_ds, 0x00, 0x6C80) = 0x20;
22:56:59 <TrueBrain> cs = 0x20, if it is a csip32 pair, right?
22:58:23 <glx> CS:IP are stored reversed ;)
22:59:57 <TrueBrain> fonts really is a hack :)
23:03:30 <glx> looks like dune2 source ;)
23:05:18 <TrueBrain> owh, I was wrong about my 9
23:05:24 <TrueBrain> despite the <= 8, it is uint32 access
23:05:33 <TrueBrain> it just accesses 4 elements
23:06:12 <TrueBrain> it is used to calculate the stats I just showed, when exiting the game
23:06:26 <TrueBrain> so it has to do with the memory manager :)
23:06:48 <TrueBrain> I am suprised by the initial values ...
23:07:24 <glx> aren't these memory area used when loading files?
23:08:20 <TrueBrain> 'Program in memory:' g_global->sizeExecutable + g_global->variable_66F4 - g_global->memoryFree
23:08:31 <glx> at least accessed in emu_File_ReadLengthFile()
23:10:36 <Xaroth> (dutch quote incomming) Als gevolg van een storing kunt u momenteel problemen ondervinden bij gebruik van onze dienst Nieuwsgroepen. Onze excuses voor dit ongemak. Wij stellen alles in het werk om de storing zo spoedig mogelijk op te lossen.
23:13:22 <Xaroth> still don't know which idiot calls one of their server after an explosion (supernova) ...
23:13:23 <TrueBrain> those 6CD3 are how many bytes are free
23:13:26 <Xaroth> that's asking for trouble!
23:18:31 <TrueBrain> Insufficient memory by -100432 bytes.
23:18:35 <TrueBrain> think I did something wrong ;)
23:21:49 <TrueBrain> ps, glx, it was 0xFA00, not 0xFA000000
23:22:29 <TrueBrain> hmm, stats when leaving the game are vastly differen :(
23:23:32 <glx> ha right, I just checked in debugger
23:23:49 <TrueBrain> ha, no, values are identical :)
23:24:14 <TrueBrain> do we want to keep this debug information ... might be useful to discover what it does? Maybe ...
23:24:19 <TrueBrain> so I need to make it non-crashing I guess
23:32:16 <TrueBrain> Program in memory: 12288
23:32:17 <TrueBrain> Buffer allocations: 37728
23:32:19 <TrueBrain> Misc allocations: 38640
23:32:22 <TrueBrain> DOS prompt memory free must be 23120.
23:32:23 <TrueBrain> not completely ....
23:33:29 <TrueBrain> no, in my conversion
23:39:51 <TrueBrain> Program in memory: 274432
23:39:52 <TrueBrain> Buffer allocations: 234336
23:39:54 <TrueBrain> Misc allocations: 38640
23:39:57 <TrueBrain> DOS prompt memory free must be 547408.
23:41:43 <TrueBrain> one crash remaining
23:44:19 <TrueBrain> not related to overlay manager ... then what?! :(
23:46:40 <TrueBrain> the very last function
23:47:50 <TrueBrain> hmm .. even a clean build should crash, when I look at the code ... :s
23:49:49 <TrueBrain> wait, possible my \r -> \n rewrite
23:50:40 <glx> rewrite without validity check?
23:50:53 <TrueBrain> the debug thing checks on \r
continue to next day ⏵