IRC logs for #openttd on OFTC at 2009-08-09
⏴ go to previous day
00:20:05 *** xmakina has joined #openttd
00:22:09 *** KenjiE20|LT has joined #openttd
00:26:55 *** Coco-Banana-Man has quit IRC
00:40:23 *** Elton07937 has joined #openttd
01:20:56 *** FRQuadrat has joined #openttd
03:13:04 *** TinoDidriksen has joined #openttd
03:43:16 *** TinoDidriksen has joined #openttd
04:15:44 *** PhoenixII has joined #openttd
04:15:44 *** Phoenix_the_II has quit IRC
05:12:59 *** Phoenix_the_II has joined #openttd
06:16:57 *** z-MaTRiX has joined #openttd
07:31:22 *** Biolunar has joined #openttd
07:42:26 *** |Jeroen| has joined #openttd
08:23:08 *** Alberth has joined #openttd
08:27:18 *** Progman has joined #openttd
08:27:35 *** Brianetta has joined #openttd
08:32:54 *** Cybertinus has joined #openttd
08:42:32 *** reldred has joined #openttd
08:44:44 *** reldred has joined #openttd
09:31:45 *** Coco-Banana-Man has joined #openttd
10:20:22 <CIA-1> OpenTTD: rubidium * r17129 /trunk/src/strgen/strgen.cpp: -Codechange: also let strgen warn if the translation uses STRINGn or RAW_STRING instead of STRING.
10:20:40 *** tux_mark_5 has joined #openttd
10:25:09 *** LordAzamath has joined #openttd
10:34:29 <TrueBrain> "In order to prevent even the appearance of impropriety, my companies policy is that software engineers are to avoid inspecting (so using binaries is OK) open source code that has any kind of viral license. Therefore any open source code I myself author must have a BSD type license."
10:34:52 <TrueBrain> so to come back what I said yesterday: a company cannot force your license which you use in your own time
10:35:57 <Rubidium> it's not the company that actually enforces that his code can't be GPL
10:35:59 <Alberth> hmm, so I look at GPL code, use that knowledge in closed source code, and now I must publish the closed source? weird
10:37:07 <TrueBrain> I think it is a weird story he is giving us ..
10:37:27 <Alberth> lawyers are weird people :p
10:37:51 <Alberth> now who said that FUD doesn't work? :p
10:37:53 <TrueBrain> just the idea that a company could control my personal time .. brr ...
10:38:29 <Rubidium> and the big problem with lawyers...
10:38:30 <TrueBrain> which leads me to the next question: what to eat ...
10:38:40 <Alberth> actually in Holland, everything you make is owned by your boss, ie you cannot do a great invention just outside the boss' time.
10:38:41 <Rubidium> ... they aren't sure either what would happen in court
10:39:01 <TrueBrain> Alberth: things you do when you are on the clock, yes
10:39:08 <TrueBrain> but when I get home, get comphy, it really is all mine :p
10:39:21 <Rubidium> Alberth: good reason to start your own company and sell your time to other companies
10:39:38 <TrueBrain> what I do now ... not always the best :p
10:39:43 <TrueBrain> you can have a week with absolutely no work :)
10:40:41 <TrueBrain> k, starting my compiles again, which yesterday gave 3 system freezes ... it consumes so much IO, the rest of the applications came to a halt
10:41:35 *** KenjiE20 has joined #openttd
10:42:12 <Akoz> sounds like something made from me.. :o
10:42:13 <CIA-1> OpenTTD: alberth * r17130 /trunk/src/ai/ai_gui.cpp: -Fix [FS#3099]: Last line of output in the AI debug window did not fit entirely.
10:42:37 <Xaroth> Alberth: Only if you spent time at work to invent it.
10:43:02 <Xaroth> if you did it in your personal time, using personal resources and not using any work-bound knowledge, it's all yours.
10:43:07 <Yexo> Xaroth: if it's only slightl related to your work, you'll have a hard time proving you didn't spend work time on it
10:43:33 <Yexo> exactly, "not using any work-bound knowledge", that's the key point
10:44:08 <TrueBrain> Yexo: for that we have VCSes :)
10:44:53 <Yexo> TrueBrain: those don't prove anything about "not using any work-bound knowledge"
10:46:35 <TrueBrain> no, but they do about the part: "spend work time on it"
10:52:11 <SmatZ> that's not really surprising
10:52:55 <TrueBrain> I hate C++ .. cc1plus tends to consumes 200+ MB of memory :(
10:52:58 <SmatZ> you are paid for work, not for your personal activities ;)
10:56:34 * Rubidium wonders what the boss would think if I weren't to use any information/ideas I gathered outside of working hours
10:57:39 <SmatZ> why do they request "good C++ programming skills" when you apply for the job :-)
10:57:51 * Rubidium also wonders why smoking people get paid while smoking, especially in countries where it isn't allowed to smoke at the place you work
10:58:01 <SmatZ> when you wouldn't be supposed to use skills gained outside the job ;)
11:07:37 *** fonsinchen has joined #openttd
11:18:06 *** frosch123 has joined #openttd
11:18:12 *** Chris_Booth has joined #openttd
11:43:56 <Akoz> is there a mode to log all debug messages to file?
11:45:06 <Akoz> is it possible to toggle at runtime?
11:45:43 <TrueBrain> I once did program a small thingy that sends all debug stuff over a network
11:45:50 <TrueBrain> is somewhere in the code I believe, commented out
11:46:06 <Rubidium> TrueBrain: I don't think it's commmented out
11:46:20 <TrueBrain> oh :) Then I wouldn't know how to activate it :p
11:46:50 <TrueBrain> I just know I wrote it for WinCE debugging :p
11:46:57 <Ammler> Akoz: we use tee, so we have both
11:47:35 <Rubidium> TrueBrain: openttd -l ip:port
11:49:28 <TrueBrain> SmatZ: not BOOST, but OpenOffice takes very long for python update :p
11:49:49 <Ammler> Akoz: a tool to keep stdout but also have it piped to a file
11:51:22 <Ammler> (./autopilot.tcl | tee -a log)
12:00:25 *** Polygon has joined #openttd
12:00:29 *** lewymati has joined #openttd
12:06:12 <Eddi|zuHause> grr... how do i set antialiasing for fonts in kde4?
12:06:55 <OwenS> Under the System Settings tool :p
12:07:17 <Eddi|zuHause> yes, but where there?
12:07:31 <Eddi|zuHause> searching for it doesn't work...
12:07:41 <OwenS> Appearence -> Fonts I think
12:14:16 <Eddi|zuHause> hm... it's weird... it is active, but it doesn't get used everywhere
12:15:42 *** DJNekkid has joined #openttd
12:16:04 <DJNekkid> the grfspec wiki is down ... but what were the diesel running cost base again?
12:16:48 <Eddi|zuHause> try wiki2.ttdpatch.net
12:19:08 <DJNekkid> very ... very ... very slow, but it works ... very slow :)
12:19:34 *** Ridayah has joined #openttd
12:24:35 <OwenS> LLVM is entirely static libraries
12:24:43 <OwenS> TrueBrain: How big is too big for a dependency? :p
12:25:20 <TrueBrain> (I wonder what he really wanted to ask :p)
12:25:42 <OwenS> I suppose I should say: Is 7.3MB too big for the AI scripting language? :P
12:25:53 <TrueBrain> LLVM is too big for AI scripting language
12:26:14 <OwenS> Shame. Because it could be made hellishly fast.
12:26:27 <TrueBrain> yeah, at what cost :)
12:26:48 <OwenS> Startup time (compilation) and binary size :p
12:26:58 <TrueBrain> not to talk about cross-platform issues
12:27:34 <OwenS> LLVM JIT works on Win32, OS X and Linux for ARM, x86, x86_64; the interpreter runs everywhere
12:27:46 <OwenS> (Well, almost everywhere)
12:28:03 <TrueBrain> (do you want me to go on, or?)
12:28:43 <OwenS> [Does anyone actually use the DOS port? O_o]
12:31:10 <OwenS> Theres the much more lightweight libJIT
12:31:26 <OwenS> Again probably with platform issues...
12:31:41 <TrueBrain> any and all JITs will have platform issues
12:31:50 <TrueBrain> not a real issue perse, if you allow the JIT to work on some platforms, and not on others
12:32:09 <TrueBrain> but then you need to consider the risks of having a JIT
12:32:19 <TrueBrain> now it will be almost impossible to do anything nasty with an AI
12:32:25 <TrueBrain> you can't access, for example, any disk
12:32:37 <TrueBrain> simply because WE are in command
12:33:01 <TrueBrain> but when youuse a JIT .. the CPU is in command .. can you still guarantee that your disk won't be wiped?
12:33:21 <OwenS> I'd say the codegenerator is in command
12:33:46 <TrueBrain> or what happens when you do 1/0?
12:34:03 <TrueBrain> in other words: the complexity increases dramaticly
12:34:12 <OwenS> Div by zero: Signal handler catches it
12:34:40 <TrueBrain> and the handler needs to know where to resume the real game, while dropping the AI ..
12:34:44 <TrueBrain> I don't even want to go there :p
12:34:56 <TrueBrain> now it is simple, the VM creates an error, and it just follow the chain, which aborts the AI
12:35:17 <TrueBrain> in a VM we are in control. In a JIT we are not.
12:35:37 <OwenS> In my case I'm going to throw a C++ exception, which will cause the code to unwind itself =)
12:39:39 <OwenS> So, in other words, my exception handling system is built right on top of C++'s
12:40:34 <TrueBrain> stupid OpenOffice compile
12:40:38 <TrueBrain> consumes too much of everything
12:41:30 <OwenS> Why is it that two of the biggest open source app projects (Mozilla, OpenOffice) invented their own clone of COM (XPCOM, UNO)? =/
12:41:43 <TrueBrain> why are they both impossible to compile?
12:41:55 <OwenS> Perhaps it's related? :P
12:43:46 <Rubidium> OwenS: because othe COMs aren't portable enough?
12:44:01 <OwenS> What do they need them for however?
12:46:11 <OwenS> I suppose OpenOffice has the excuse of embedding the applications inside each other.. but Mozilla?
13:20:42 <Akoz> is there a simple way to fetch a station by station id?
13:21:28 <frosch123> or are you talking about noai? :)
13:22:00 <Akoz> no no.. was talking about that one :)
13:22:22 <frosch123> then mind the differente between BaseStation, Station and Waypoint :)
13:42:17 *** z-MaTRiX has joined #openttd
13:56:45 *** goodger_ has joined #openttd
14:18:03 *** Polygon has joined #openttd
14:29:23 *** PhoenixII has joined #openttd
14:29:52 *** Phoenix_the_II has quit IRC
14:36:39 <OwenS> Hmm... For methods, do I go with a JavaScript style implicit "this" or Python style explicit "this"...
14:36:58 <TrueBrain> Python uses 'self' :p
14:37:47 <welterde> and it seems like threads are disabled in noai :/
14:38:34 <OwenS> I think I'm gonna go JavaScript style, i.e, all function calls recieve an implcit this parameter
14:39:51 <TrueBrain> pff .. 3 cc1plus processes using a woppie 1.5 GB total
14:40:18 <welterde> any chance of getting coroutines enabled in noai? or do i have to use generators in some way instead?
14:40:57 <CIA-1> OpenTTD: smatz * r17131 /trunk/src/ (7 files in 3 dirs): -Codechange: apply coding style to some switch statements
14:45:36 *** goodger_ is now known as goodger
15:21:18 *** Chruker has joined #openttd
15:26:49 *** Elton01547 has joined #openttd
15:31:57 *** KenjiE20 has joined #openttd
15:33:33 *** Elton07678 has joined #openttd
15:47:12 *** Elton03572 has joined #openttd
15:53:52 *** Elton04382 has joined #openttd
15:58:46 <CIA-1> OpenTTD: smatz * r17132 /trunk/src/company_cmd.cpp: -Fix: comments in company_cmd.cpp
16:10:11 * TrueBrain hugs SmatZ!!!!!!!!!111111111111
16:10:48 <TrueBrain> its UNBELIEVABLE! :)
16:10:53 <TrueBrain> my vehicles move!!! :)
16:11:08 <TrueBrain> one stupid fucking retarded fuctions :)
16:11:53 <z-MaTRiX> "About to copy 9223 PBytes from /dev/urandom to /dev/hda"
16:14:25 *** orudge_ has joined #openttd
16:15:45 *** orudge_ has joined #openttd
16:16:51 *** fonsinchen has joined #openttd
16:18:46 <TrueBrain> Xaroth: NOW maybe, there is a chance OpenDune will come to live :)
16:18:55 <TrueBrain> and that all tnx to SmatZ' test application :) :) :) :)
16:19:10 <DJNekkid> am i doeing something completely wrong here, or isnt this possible?
16:20:32 <DJNekkid> or do i need to, as i've done before, have the var2 variation B4 at the end of the chain?
16:21:47 *** Polygon has joined #openttd
16:22:19 <welterde> TrueBrain: is there a list what API-methods are DoCommands? (in noai)
16:22:31 <frosch123> DJNekkid: what does not work?
16:22:39 <TrueBrain> welterde: wrong person to ask
16:23:40 <frosch123> welterde: everything that affects other clients
16:23:57 <frosch123> though I don't know about TestMode
16:23:57 <DJNekkid> frosch123: the runningcost on wagon dont change on different speeds
16:24:09 <frosch123> wagons do not have running costs
16:24:32 <welterde> frosch123: ok.. thanks :)
16:24:49 <DJNekkid> frosch123: is wagon running cost removed again?
16:25:35 <SmatZ> it seems it works for wagons
16:25:50 <SmatZ> looking at Train::GetRunningCost()
16:26:07 <SmatZ> only artic parts are skipped
16:26:14 <DJNekkid> it do work in the 2cc set, but there i did it in a more ... crappy way
16:26:23 <DJNekkid> or atleast, imho, ugly code :)
16:26:35 <DJNekkid> with lots of repitition...
16:27:29 <DJNekkid> but there is the B4 variation at the end, and not in the general callback itself
16:28:27 <frosch123> variable B4 is only valid for the front vehicle, but it does not matter where you query it inside the chain
16:28:49 <frosch123> btw. speed is a word
16:28:57 <frosch123> but maybe your vehicles are not that fast :)
16:29:37 <DJNekkid> but would that matter, as the range is at 0kpm
16:29:56 <DJNekkid> as "everything else" is not 0 ?
16:29:59 <frosch123> 256 would also be 0
16:30:21 <frosch123> don't ask me about the unit :)
16:30:38 <DJNekkid> it actually would, but still ...
16:31:02 <DJNekkid> if i used -1 * 0 02 00 B6 82 B4 00 FF 01 B8 00 00 00 B6 00
16:31:11 <frosch123> anyway, I don't think the problem is inside the code you posted :)
16:31:18 <welterde> TrueBrain: regarding coroutines too? (-:
16:31:28 <DJNekkid> at the END of the chain, where B8 and B6 are two different CB36 chains
16:31:41 <TrueBrain> welterde: anything OpenTTD (the game) related
16:32:18 <frosch123> welterde: you have to find a question about the webpage :)
16:32:36 <DJNekkid> where one of the chains had the running cost for beeing in motion, where the other one dont...
16:32:48 <welterde> TrueBrain: who to ask about that then? ;)
16:33:23 <frosch123> Yexo, but as he is not here, the forums :)
16:33:27 <DJNekkid> but i think i can see a workaround now anyway, as my capacaties are stated elsewhere...
16:33:45 <DJNekkid> but it still require some duplicated code... :(
16:34:00 <frosch123> DJNekkid: as I said, the order of checking variables makes no difference
16:34:28 <DJNekkid> thats what i thought as well, but apparently it do :)
16:35:42 <welterde> frosch123: i'll just wait.. now that a small grep told me he is just now not here ;)
16:37:18 * Alberth buys TrueBrain a bottle of champagne
16:37:37 <TrueBrain> welterde: we do have this lovely forum
16:37:44 <TrueBrain> Alberth: tnx! :) I AM SO HAPPY! :)
16:38:32 *** orudge_ has joined #openttd
16:38:33 <welterde> TrueBrain: but i would have to register on it first probably(unless i forgot that i already did that, in which case i have just to remember the password/mail)
16:39:38 <DJNekkid> is it possible to make a "storage" var2?
16:40:02 <DJNekkid> and i can insert this into several places?
16:40:30 <frosch123> depends when you want to assign it, read it and write it :)
16:40:52 <DJNekkid> when i think about it it can be made quite easily...
16:41:12 <DJNekkid> useing some dummy stuff that never go out of range...
16:41:46 <DJNekkid> current year, long format for example
16:42:05 <frosch123> anyway, there are grf paramters, temporary storage registers, varaction2 function calls and that weird user_bitmask callback
16:42:24 *** Dred_furst has joined #openttd
16:42:39 <frosch123> [18:43] <DJNekkid> current year, long format for example <- what?
16:43:09 <frosch123> do you mean var 1a?
16:43:22 <Xaroth> -18:18:44- [TrueBrain]: Xaroth: NOW maybe, there is a chance OpenDune will come to live :) <<<< may I be the first to say
16:43:25 <Xaroth> WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOT
16:43:40 <frosch123> well, but do you know 1a?
16:44:21 <frosch123> maybe you mean that one :)
16:45:08 <DJNekkid> so i can use ... -1 * 0 02 00 81 1A 00 FF 01 \b<value> 80 00 00 <whatever> 00 ?
16:46:02 <frosch123> i still do not know what you are trying to archieve, but usually it is 1A 00 \b<value> ...
16:46:21 <DJNekkid> i mean, it is ALWAYS in game mode, or editor :)
16:48:04 *** Progman has joined #openttd
16:49:33 *** Chris_Booth has joined #openttd
16:50:53 <DJNekkid> now that gave a wierd result...
16:51:27 <DJNekkid> it gave the exact result!
16:54:15 <CIA-1> OpenTTD: rubidium * r17133 /trunk/ (13 files in 5 dirs): -Codechange: generalise the code that searches for base graphics
17:07:38 <TrueBrain> Xaroth: yes you may
17:08:03 <Xaroth> WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOT
17:09:13 <Xaroth> so, you got your decompiler thingie working then?
17:09:51 <TrueBrain> because of a stupid typo mov signextend was not sign extending
17:09:55 <TrueBrain> giving all the troubles :p
17:10:14 <TrueBrain> now I am not 100% done yet, I have some hash conflicts I need to resolve
17:10:32 <Xaroth> (I have no clue but i do know the whole 1-typo-fucks-up-everything thing :P )
17:11:14 <TrueBrain> well, movws ax, al with al of 0xFF should give a ax of 0xFFFF .. instead if became 0x00FF :p
17:11:28 <Xaroth> er, I can see the issue there :P
17:11:46 <TrueBrain> the true issue comes when you do as next command: add bx, ax
17:11:50 <TrueBrain> now instead of doing -1, you do +255
17:11:59 <Xaroth> which is not really what you want :P
17:12:07 <TrueBrain> well, if it is not intended, rarely :)
17:12:33 <TrueBrain> a stupid typo, hidden in my way of structuring files .. :)
17:13:03 <TrueBrain> but never again, as it is now part of the regression :p
17:13:06 <Xaroth> it's always the typos that cause the most crap :P
17:14:09 <TrueBrain> and if it wasn't for the test app SmatZ gave me, where it showed up as the 150,000 CPU instruction after start, I would never have found it :)
17:14:19 <TrueBrain> just to highlight the things you need to go through to find it :p
17:16:10 <Xaroth> btw, did the original dune 2 use some kind of gfx lib or did they proper oldskool
17:16:28 <TrueBrain> I only know it is compiled with Borland C
17:16:30 <Alberth> (07:12:13 PM) TrueBrain: now instead of doing -1, you do +255 <--- I once used a C compiler that translated x-- like that.
17:16:41 <TrueBrain> Alberth: not really useful :)
17:16:57 <TrueBrain> Xaroth: but by the looks, they all did it themselves
17:17:03 <TrueBrain> the movies are done in a really clever way
17:17:27 <Alberth> Not really, further in the project, the standard approach was first to check compiler output rather than bug searching in our program
17:17:46 <Xaroth> TrueBrain: their lip synch thing was a wow factor for the game back in the day
17:17:47 <TrueBrain> Alberth: why not use another compiler?
17:17:55 <Xaroth> heck, most games now don't even have pure lip sync :P
17:18:01 <Alberth> we found more compiler problems than bugs in our program :p
17:18:12 <Alberth> It was a 6809 compiler for a school project
17:18:22 <TrueBrain> bad school project, I say :p
17:18:26 <TrueBrain> Xaroth: hehe, nowedays we have movies :p
17:18:56 <OwenS> Hmm... For my language, do I go for sealed classes (I.E. convert them to C structures) which are faster, or unsealed classes, which are basically hashtables? :P
17:19:29 <TrueBrain> the questions you have to ask yourself .. they keep on growing :)
17:19:32 <OwenS> Hmm... perhaps I could do a hybrid aproach? =)
17:19:45 <Alberth> implement both, let the user decide :p
17:20:09 <OwenS> If you specify it with "var" in the class definition, it goes in the struct, else you'll pay for it with the hashtable :p
17:20:12 <DJNekkid> yey frosch123... now it works as it should... it, apparently, were something with the action0 of the particular engine
17:30:24 <DJNekkid> wanna download the ugliest grf ever? but it's functions are quite nice tho :)
17:45:28 <CIA-1> OpenTTD: translators * r17134 /trunk/src/lang/ (4 files in 2 dirs):
17:45:28 <CIA-1> OpenTTD: -Update from WebTranslator v3.0:
17:45:28 <CIA-1> OpenTTD: simplified_chinese - 2 changes by Gavin
17:45:28 <CIA-1> OpenTTD: galician - 2 changes by Condex
17:45:28 <CIA-1> OpenTTD: greek - 22 changes by fumantsu
17:45:29 <CIA-1> OpenTTD: urdu - 1 changes by yasirniazkhan
17:48:54 *** FloSoft has joined #openttd
17:51:09 *** orudge_ has joined #openttd
18:04:23 <TrueBrain> WHOHO! I finished the first dune2 mission!! :)
18:04:51 <frosch123> the tutorial? build a barack?
18:04:58 <TrueBrain> no, harvest 1000 credits
18:05:15 *** Chris_Booth has joined #openttd
18:05:15 <TrueBrain> [EMU] [ INT33:07 ] Not Yet Implemented <- darn, it is always something :p
18:05:30 <z-MaTRiX> it was long time ago
18:06:06 <z-MaTRiX> in dune2 and total annihilation too
18:06:09 <frosch123> hmm, int33... is that the mouse?
18:06:29 <TrueBrain> in this case set hor min/max
18:06:39 <OwenS> Aah, Total Annihilation rocks
18:07:21 <z-MaTRiX> made an annihilator group for fun :)
18:08:46 <OwenS> I enjoyed shelling people with intimidators ^^
18:09:09 <OwenS> I just marked myself away manually Konversation. Honor it -.-
18:14:17 <Ammler> TrueBrain: finger.openttd.org still does show yesterday nightly?
18:14:32 <TrueBrain> Ammler: might have to do, I don't know, that todays nightly is not there yet?
18:14:38 <TrueBrain> just a hunch .. idea ... feeling .. not sure :p
18:14:49 <Ammler> will that written when compile is done?
18:15:33 <TrueBrain> sometimes, I really wonder about the intelligence of a question
18:15:51 <TrueBrain> Ammler: finger.openttd.org is updated when the binaries are available (at all the mirrors)
18:16:00 <TrueBrain> as it has been for almost a year :)
18:16:25 <TrueBrain> that is what finger represents: the latest available binaries
18:16:49 <Ammler> hmm, I thought it does also update, if compile failed.
18:17:13 <TrueBrain> finger, as it should, represents the actual latest available binaries
18:17:24 <TrueBrain> but then again, the compile never failed
18:17:38 <TrueBrain> (as failure would mean that even the source packages were not created)
18:17:41 <Ammler> it did once this year and finger updated
18:17:56 <TrueBrain> the CF hasn't failed since 2005
18:18:16 <TrueBrain> March 2005 .. a good month :)
18:18:34 <Ammler> it is around 2-3 months ago, at least windows bins weren't available.
18:18:47 <TrueBrain> LOL! Yes, that means that CF failed, that the windows binaries failed
18:18:53 <TrueBrain> the whole world dies when that happens
18:19:07 <Ammler> yes, it does, the world is MS
18:19:15 <TrueBrain> my mistake, really, you are absolutely right
18:19:21 <TrueBrain> CF fails when it fails to produce windows binaries
18:19:33 <TrueBrain> [20:15] <TrueBrain> sometimes, I really wonder about the intelligence of a question <- it is not only the questions I now worry about :)
18:20:02 <TrueBrain> Ammler: the CF couldn't care less if one target fails. If multiple fail, it starts to worry .. but that never happened :)
18:20:09 <Rubidium> has the compile farm generated binaries, yes? Then the compile farm didn't fail and updating finger is fine
18:20:51 <TrueBrain> Rubidium: strictly seen he even considered the log of a failure enough to publish itself :p
18:21:35 <TrueBrain> still a nice inside joke :)
18:21:59 <Ammler> is there a table like you had on the old CF?
18:22:14 <Ammler> where you see in one shot which os succeeded
18:22:15 <frosch123> yes, #openttd.notice
18:25:33 <Alberth> (08:05:21 PM) TrueBrain: no, harvest 1000 credits <-- \o/ \o/ \o/
18:26:11 <frosch123> since when do nl use am/pm?
18:26:15 *** Elton04598 has joined #openttd
18:28:08 *** LordAzamath has joined #openttd
18:29:43 <Alberth> Since I could not find a trivial way to set that differently
18:33:02 <TrueBrain> who knows how a video mode 0x0D screen has to be read? :)
18:33:29 <TrueBrain> it is written for me
18:33:46 <TrueBrain> I assumed it was equal to a 0x12 .. I was wrong :p
18:33:47 <Tefad> oh, you're doing wonky crap with dune still?
18:33:55 <TrueBrain> 320x200x16 (EGA,VGA)
18:34:11 <TrueBrain> (x16 as in: 16 colours, not 16bpp :p)
18:34:13 <frosch123> does it work the same as 640x350x16 ?
18:34:28 <frosch123> oh right, 640x350x4 :)
18:36:15 <frosch123> well, you set in some register which bits you want to read/write
18:37:40 <SmatZ> TrueBrain: reading by nibbles doesn't work?
18:37:42 <TrueBrain> lol :) frosch123: the video screen is written at 0xa0000 .. I ened to read it to represent to my SDL screen :p
18:37:49 <TrueBrain> it seems to be 2 paged memory
18:38:10 <SmatZ> or is it that interleaved XMODE?
18:38:33 <frosch123> well, 640x350x4 is basically monochrome, with 8 pixels per byte.
18:38:36 <OwenS> It's not one of those funky modes where every other row is on a different page is it?
18:38:50 <frosch123> additionally you have some register where you can mask the 'planes' you want to write
18:39:25 <OwenS> I know you could do some crazy optimizations with the VGA state machine
18:42:11 <frosch123> port 3C4, 3CE, 3CF, 3C5 seem to be the important ones
18:42:21 <TrueBrain> frosch123: again, I am trying to read from memory :)
18:42:25 <TrueBrain> not to use hardware to access data :p
18:42:32 <TrueBrain> (as I am the hardware :p)
18:42:39 <SmatZ> TrueBrain: what exactly is your problem? wrong palette, or wrong order of pixels, interleaved data... ?
18:42:47 <frosch123> yes, and you have to switch memory bases on those registers
18:43:00 <TrueBrain> SmatZ: data is cropped on the first 50 lines or so
18:43:47 <frosch123> but it is not like a page switch, but you can also access multiple pages at the same time, and write the same stuff into them
18:44:34 <frosch123> okay, I will look into a book :)
18:44:47 <CIA-1> OpenTTD: rubidium * r17135 /trunk/src/base_media_base.h: -Fix (r17133): some (older) GCCs failed to compile
18:45:49 <frosch123> hmm, I cannot locate the book :(
18:46:55 <Rubidium> try sudo updatedb ;)
18:48:03 *** Cybertinus has joined #openttd
18:50:21 <TrueBrain> okay, now I have 2x the screen, left and right
18:55:43 <OwenS> TrueBrain: #0 0x00007f0ee8347289 in ?? () The real trouble with JITed code: debugging
18:55:59 <TrueBrain> feed the symbols to gdb, and you will be fine
18:56:17 <OwenS> It doesn't generate any!
18:56:23 <TrueBrain> make it generate :p
18:56:30 <OwenS> And even if it did, GDB wouldn't know how to find them
18:56:39 <TrueBrain> there are ways to do that
18:56:48 <TrueBrain> after all, dl does it :)
18:57:06 <OwenS> It doesn't register them with the dynamic linker :p
18:57:18 <OwenS> My backtrace looks like
18:57:19 <OwenS> #0 0x00007f48eec75289 in ?? ()
18:57:29 <TrueBrain> I am looking at such backtraces all day
18:57:32 <TrueBrain> so don't tell me about it :)
18:58:18 <OwenS> I guess your familiar with (gdb) disassemble 0x7f48eec75010 0x7f48eec75010+552 also then :P
18:58:40 <TrueBrain> even more as my input is almost assembly :p
18:59:07 <Aali> come back when you have random corruption in your page tables :)
18:59:25 <Aali> that's real fun to debug
18:59:34 <TrueBrain> bah ... I sometimes hate what I am doing :p
18:59:38 <Aali> you don't even know what memory you're looking at
18:59:47 <OwenS> 0x00007f48eec75289: callq *(%rsi,%riz,1) <-- How did I know that would be the line the faults happening on?
18:59:50 <frosch123> TrueBrain: the ram is accessed as uint1 ram[plane][row][column], so 4 pages of 16kb
19:00:27 <TrueBrain> frosch123: I just found yes .. tnx :) This mode will be the most impossible one ....
19:00:32 <frosch123> but the planes share the same memory addresses (from CPU pov) :)
19:01:55 <OwenS> Judging by the structure of the code it's happening in... attempt to cast before a binary operator
19:02:36 <OwenS> Hmm... I'm gonna learn how one allocates strings in LLVM and generate some checkpoints :p
19:04:55 <CIA-1> OpenTTD: frosch * r17136 /trunk/ (bin/data/orig_win.obg docs/obg_format.txt): -Fix: Some typos in .obg stuff.
19:06:17 <CIA-1> OpenTTD: rubidium * r17137 /trunk/src/strgen/strgen.cpp: -Fix (r17129): strgen complained a lot about english.txt compiled with MSVC.
19:06:47 <CIA-1> OpenTTD: rubidium * r17138 /trunk/src/ (saveload/waypoint_sl.cpp settings_gui.cpp): -Fix: some MSVC 64 bits compiler warnings
19:07:55 <TrueBrain> frosch123: you are absolutely right :)
19:09:03 <Xaroth> TrueBrain: Hot Shots on telly
19:09:28 <TrueBrain> I only wonder ... 320x200 is just 1F40 bytes ... why do they use planes?
19:09:49 * frosch123 assumes tb means the stuff from The Hardware Book, printed in 1992, which even specfies the pin layouts of the chips
19:09:54 <TrueBrain> Xaroth: what station?
19:10:06 <Xaroth> commercial break now tho
19:10:06 <TrueBrain> frosch123: I wish I had such books .. as this annoys the hell out of me
19:10:14 <TrueBrain> I am flying blind, guessing around
19:10:21 <TrueBrain> doing with the small information I can find
19:10:35 <frosch123> TrueBrain: because 640x350 / 8 is about 64 kB
19:11:10 <TrueBrain> other modes .. that can be a good enoguh reason
19:11:19 <TrueBrain> @calc 640 * 350 / 4
19:11:27 <TrueBrain> @calc 640 * 400 / 4
19:11:35 <frosch123> but it is 8 pixels per byte
19:12:08 <TrueBrain> so it only needs 32k
19:12:17 <petern> it's 'paged' or whatever they called it
19:12:18 <TrueBrain> but okay ... I need to figure out a clever way to emulate this :)
19:12:44 <petern> 640 * 350 @ 16 colours, is 112KB
19:13:07 <frosch123> TrueBrain: there are also video pages !
19:13:21 <frosch123> that results in 64kB
19:17:55 <TrueBrain> I give up on this video mode .. impossible shit :p
19:19:11 <frosch123> make it monochrome and pick one of the 4 planes :p
19:19:34 <TrueBrain> but .. it doesn't animate
19:19:37 <TrueBrain> and I don't know why :(
19:20:00 <frosch123> maybe it read back the data to decide for the next?
19:20:20 <frosch123> or is it palette animation?
19:20:38 <TrueBrain> I don't read palette changes ..
19:20:58 <TrueBrain> and I don't read any waiting on anything ..
19:21:12 <frosch123> 16 out of 64 colours :p
19:22:39 <petern> frosch123, that's the one :D
19:23:31 <TrueBrain> 1 3C4 followed by 4 3C5
19:23:34 <TrueBrain> must be important :p
19:23:44 <frosch123> btw. did anyone here ever saw a real cga? and did it really had that weird colours?
19:25:37 <frosch123> that stores 4 in register 1
19:25:43 <DJNekkid> wow, the new opengfx signals are rather nice!
19:31:20 *** z-MaTRiX has joined #openttd
19:31:58 <OwenS> OK... why can't I call the function "as_checkpoint(i8*)" with a [2 x i8]*?
19:32:01 <Eddi|zuHause> i only remember when my father ran sokoban on a colour monitor for the first time, and went like "urgs... it's pink!"
19:32:20 <TrueBrain> the 4 colours on a CGA ...
19:32:45 <Eddi|zuHause> but that was way before i knew what CGA and VGA is
19:32:56 <TrueBrain> better than green and black :s
19:33:00 <frosch123> yeah, you can somehow pick different itensities, but it stays black, cyan, magenta and white
19:33:23 <Tefad> wasn't there a second mode that did green and orange
19:33:30 <OwenS> Wasn't there a yellow in there which the monitors converted to brown?
19:33:55 <TrueBrain> there are 2 palettes you could select
19:33:57 <Eddi|zuHause> afair CGA had 4 modes
19:34:04 <TrueBrain> both could go in high and low intensity
19:34:25 <Eddi|zuHause> each with 4 out of 16 colours
19:35:25 <glx> I liked cpc 6128 mode 0 :)
19:37:44 <Eddi|zuHause> the first computer i can actually remember already had VGA
19:37:57 <frosch123> hmm, seems like you can choose green/red/yellow, cyan/magenta/white or cyan/red/white. together with a fourth arbitrary choosable
19:38:13 <Eddi|zuHause> and we played civ all day long...
19:38:53 <SmatZ> quite soon after I started playing civ I found a way how to edit savegames
19:39:00 <Eddi|zuHause> and monkey island
19:39:01 <SmatZ> so it spoiled it for me quite a bit
19:39:07 <glx> at least VGA was standard
19:39:08 * SmatZ never played monkey island
19:39:27 <SmatZ> we had VGA computer home since 1991...
19:39:37 <Eddi|zuHause> it was totally awesome...
19:39:50 <frosch123> haha, simcity with FUNDS and earthquake after doing it too often :p
19:40:09 <Eddi|zuHause> we played the "sword fights" pver amd pver agaom :)
19:40:24 <OwenS> FUND gave you a $10,000 30% interest per week loan in SimCity 2000
19:40:28 <TrueBrain> haha :) For those who can't read that: over and over again
19:40:49 <SmatZ> ah, thanks TrueBrain :)
19:40:51 <glx> my brain failed to decipher it
19:41:07 <Eddi|zuHause> offset keyboard :p
19:41:08 <OwenS> The crash is on the first call to f
19:41:12 <frosch123> filling the whole map and driving for 20 minutes :o
19:41:25 <Eddi|zuHause> just move all right hand characters one to the side :p
19:41:38 <SmatZ> I planned to once code game like stunts, but better
19:41:43 <frosch123> and then too fast in the last corner and hit the finish :s
19:41:57 <glx> I still have it on a disk
19:42:03 <OwenS> %result = call %"struct.AlterScript::Variant" (i32, ...)* %3(i32 2, i64 1, i64 3) ; <%"struct.AlterScript::Variant"> [#uses=1] AAH!
19:42:04 <TrueBrain> SmatZ: there is a very simular project
19:42:17 <OwenS> I'm not implicit casting function call args to variants
19:42:18 * frosch123 never replaced disks, so has a working installation in dosbox
19:42:38 <SmatZ> TrueBrain: yeah, I got it installed, but it's far from being playable... ultimatestunts
19:42:56 <Eddi|zuHause> stunts was that car racing game where you could build your own route?
19:43:12 <OwenS> It works when you obey your calling convention! :P
19:43:39 <frosch123> and where the f1 car was the only one, which was fast enough to successfully jump after one piece of road
19:44:11 <TrueBrain> SmatZ: well, if you implement EXEC in my emu, it should work :)
19:44:22 <Eddi|zuHause> where you could cheat by just going around the fomosh line and the penalty was way less than the time it took to actually complete the round?
19:45:20 <SmatZ> TrueBrain: isn't exec simply doing what you do with the original image?
19:45:27 *** Chris_Booth has joined #openttd
19:45:33 <TrueBrain> SmatZ: in theory, yes, but there are a few thingies ...
19:45:35 <OwenS> SmatZ: But both have to be in memory concurrently
19:45:52 <TrueBrain> SmatZ: and I never found the guts to implement it ;)
19:46:34 <OwenS> (Well, I'm assuming EXEC is more like Win32 CreateProcess than Unix exec(2))
19:46:56 <TrueBrain> both not really related to DOS EXEC
19:47:40 <OwenS> As in, DOS Exec doesn't replace the existing process image; it loads the new one and starts executing it; when it finishes, it returns from exec?
19:47:55 <TrueBrain> in DOS, things are much more simplified
19:47:59 <TrueBrain> but there are a few thingies .. which are tricky
19:48:16 <OwenS> Incidentally... gonna support DPMI? :p
19:48:56 <frosch123> well, 1.0 is useless
19:49:15 <OwenS> Except for running old games :P
19:49:26 <TrueBrain> eitherway, EXEC makes a new PSP block, which is not as easy as you might hope
19:50:56 <CIA-1> OpenTTD: rubidium * r17139 /trunk/ (21 files in 10 dirs): -Change: add the concept of sound sets
19:52:13 <frosch123> poor files.h, it was such a nice file once :(
19:56:21 <Eddi|zuHause> *mental note* don't drop the keyboard
19:57:22 *** GhostBerg0445270 has joined #openttd
19:58:12 *** Elton09249 has joined #openttd
20:01:37 *** oskari89 has joined #openttd
20:06:49 <xmakina> Rubidium: Sound sets?
20:07:14 <glx> xmakina: yes sample.cat replacement
20:07:40 <xmakina> paving the way for OpenSounds?
20:08:17 * frosch123 imagines the number of noobs who won't get the difference between opengfx and opensfx
20:11:32 <Aali> crashed VC2008 by backspacing some text
20:11:42 <Alberth> Tefad: multiple sounds
20:12:31 <Tefad> that's understood when you say set
20:12:45 <Tefad> you don't say characters set
20:13:16 <Tefad> unless i'm from mars.. *shrug*
20:13:33 <xmakina> good lord - anyone else looking at the Cindini 2.0 thread?
20:23:10 <Eddi|zuHause> <Alberth> Sound*S* sets <- how the hell are you supposed to pronounce that?
20:23:35 <petern> in german, you'd write it as "sounds, sets"
20:24:18 <petern> and sound set is correct, anyway
20:24:19 <Alberth> I only write it, and never say it :p
20:27:20 <Eddi|zuHause> petern: you don't actually know any german, do you? :p
20:28:00 <Eddi|zuHause> Alberth: it's a set of sonds, but a sound set
20:28:52 <Eddi|zuHause> sometimes i press keys and they don't respond :(
20:29:03 <petern> Eddi|zuHause, going by the apparent german rules of 'put a comma in if you pause'
20:29:10 <Alberth> I didn't miss that u :)
20:29:31 <Tefad> Eddi|zuHause: happens to me when i use my crappy KVM
20:29:34 <petern> sound sets would be more than one sound set, and a sound set contains many sounds
20:29:39 <Eddi|zuHause> Alberth: i corrected one while typing, and missed the other
20:30:31 <Eddi|zuHause> petern: but you don't actually pause there ;)
20:30:32 <Alberth> Knowing RB, I doubt that we have a limit on the number of sets :P
20:31:34 <Eddi|zuHause> why can't you type "r[tab]" instead of a silly abbreviation?
20:32:41 <Alberth> no need to wake RB here imho
20:33:38 <Eddi|zuHause> you don't actually know if he doesn't also have a highlight on RB
20:34:17 <Alberth> on his name, chance is about 95 %
20:35:23 <Eddi|zuHause> i've seen people respond on the weirdest alterations of their nick :p
20:35:47 <TrueBrain> Eddi|zuHause: that can also be because they read this channel (I know, suprising!)
20:37:22 <Eddi|zuHause> also stuff like "i should take <more or less common word> out of the highlight list" after some random statement :p
20:37:54 <Eddi|zuHause> or one person complaining that he gets highlighted on the other person's nick :p
20:37:58 <TrueBrain> for me only TrueBrain highlights .. can't be arsed if people don't use my name :p
20:38:14 <OwenS> Eddi|zuHause: orudge says that about me :P
20:38:58 <Ammler> hmm, maybe that was the reason you changed the nick ;-)
20:40:06 <OwenS> glx: Apparently #openttdcoop is on perpeptual highlight if I'm playing (I play as Owen to avoid self highlight :P )
20:40:18 <TrueBrain> then you do all this work to make an app to work in your emu ... does it do a 21:4B :(
20:42:30 <TrueBrain> opcode 0x6B ... yeah, one of the few I couldn't find any real documentation on ...
20:43:21 *** TheMask96 has joined #openttd
20:44:11 <OwenS> IMUL reg16/32, imm8 (sign extended); first byte 6Bh
20:44:53 <OwenS> Apparently it takes 5 clocks on an original Athlon :p
20:45:03 <OwenS> (Well... has 5 cycle latency)
20:45:51 <orudge> OwenS: yes... it'd be nice if mIRC had a "don't highlight" list ;)
20:46:25 <OwenS> Signed multiply the register by the sign extended value of the immediate byte
20:49:28 <TrueBrain> the problem is the reading :)
20:50:10 <TrueBrain> 69 /r iw IMUL r16,r/m16,imm16 9-22/12-25 word register := r/m16 *
20:50:14 <TrueBrain> 69 /r iw IMUL r16,imm16 9-22/12-25 word register := r/m16 *
20:50:31 <TrueBrain> there is absolutely NOTHING I can do with that ..
20:51:11 <OwenS> Hang on, digging out AMD manuals :p
20:51:13 <TrueBrain> has 2 documented parameters
20:51:14 <Xaroth> TrueBrain: weren't you off to bed like half an hour ago :P
20:51:22 <TrueBrain> Xaroth: me? No. Albert? Yes.
20:51:56 <TrueBrain> but the start is not far away
20:52:11 <SmatZ> TrueBrain: what's the problem?
20:52:14 <Xaroth> lemme guess, for me to help will require me to learn C.. right?
20:52:16 <TrueBrain> SmatZ: see above :)
20:52:26 <TrueBrain> and at this stage: assembly :p
20:52:34 <Xaroth> I actually tried assembly once
20:52:42 <OwenS> IMUL reg16, reg/mem16, imm16 : Multiply the contents of a 16-bit register or memory operand by a sign extended immediate word and put the signed result in the 16-bit desination register
20:52:44 <Xaroth> ... untill i fubar'ed the pc i was testing thigns on
20:52:45 <TrueBrain> SmatZ: I have 69 and 6b with 2 parameters .. and I don't know what seperates them
20:52:55 <OwenS> I wanna know how it decides whether it's a register or memory operand
20:53:02 <SmatZ> TrueBrain: ? run normal address decoding
20:53:09 <TrueBrain> OwenS: that part is in the opcode, easy to decode
20:53:10 <SmatZ> then there is 2B of imm16
20:53:32 <SmatZ> as with all (many) other instructions
20:53:45 <SmatZ> except there are two more bytes of immediate operand
20:54:29 <SmatZ> MOD is the destination register
20:54:49 <OwenS> TrueBrain: 69, byte specifying registers, 2 byte immediate?
20:54:50 <SmatZ> "address" is the source register
20:55:00 <SmatZ> + 2 bytes of immediate operand
20:55:06 <OwenS> I'd guess that from the "69 /r iw", i.e, 69, byte for register, immediate word
20:55:10 <TrueBrain> SmatZ: this really is the only command with ambigous .. or the documentation is cooked :)
20:56:01 <OwenS> TrueBrain: I'd suggest grabbing an assembler and assembling some tests :p
20:56:03 <SmatZ> hmm probably it doesn't help
20:56:20 <TrueBrain> IMUL r16,r/m16,imm16 vs IMUL r16,imm16
20:56:22 <TrueBrain> that is my problem :)
20:56:45 <TrueBrain> you assume the first in all cases
20:56:46 <SmatZ> TrueBrain: it has one hidden parameter, don't care about "IMUL r16,imm16"
20:57:09 <TrueBrain> it was the only fucking command I couldn't decipher :p
20:57:13 <OwenS> AMD's doc doesn't list an IMUL r16,imm16
20:57:17 <SmatZ> the parameter is doubled when encoding to computer readable form :)
20:57:52 <SmatZ> IMUL eax, 8 == IMUL eax, eax, 8
20:58:14 <TrueBrain> then why did this stupid documentation ever documented the first case ....
21:01:07 <SmatZ> [22:55:15] <OwenS> I'd guess that from the "69 /r iw", <=== /r means the MOD is number of destination register (in this notation)
21:01:58 <OwenS> SmatZ: I'll admit not knowing much of what a MOD/RM byte is considering my lack of knowledge of x86 at that level :p
21:02:49 <SmatZ> OwenS: I just hope I remember it correctly ;)
21:03:44 <OwenS> x86 assembly I can do; with the x86_64 ABI reference handy I can remember AMD64's register calling convention (Would be much easier if x86 registers were simply numbered...)... but I don't actually know the bytes my assembler is kicking out :P
21:07:15 <SmatZ> OwenS: just %define r1 rax %define r2 rcx ...
21:07:30 <OwenS> SmatZ: There already IS an r1 :P
21:08:12 <SmatZ> well, if your assembler understands r1-r8, feel free to use them instead of rax, rcx, ...
21:08:19 <SmatZ> (hmm maybe it starts at r0
21:08:31 <SmatZ> I am used to the "old" naming
21:08:39 <OwenS> r0-r7 are the new regs, but I still have to remember that %rdi is param # 1
21:08:55 <SmatZ> hmm weird assembler you have
21:09:04 <OwenS> x86_64 has 16 regs, rax -> rsp; r0 -> r7
21:09:08 <SmatZ> nasm uses rax-rsp, r8-r15
21:09:24 <SmatZ> while maybe r0-r7 is mapped to rax-rsp
21:09:43 <OwenS> Still, it doesn't help since the numbers would jump all over :P
21:10:14 <OwenS> I'd personally be quite happy if x86 got took out back and shot
21:10:20 <SmatZ> you can %define mr0 rdi ...
21:10:36 <SmatZ> not really possible, you know ;)
21:10:55 <SmatZ> with MMX/SSE/FPU you are using numbered registers
21:10:58 <OwenS> Something RISC would be so much nicer. CISC easier to program in assembly my arse
21:11:02 <SmatZ> but they are not general purpose...
21:11:02 <Tefad> x86 isn't going anywhere any time soon
21:11:12 <OwenS> Then I use %rdi, forgetting it's %mr0, and wonder WTF is happening :P
21:12:00 <OwenS> The only nice to program CISC arch I know is m68k. And thats because it's nicely orthagonal
21:12:40 * SmatZ knows only x86 and several PICs... and IA64 a bit
21:12:58 <OwenS> I like the PICs... nice and simple
21:13:11 <OwenS> Propeller is bloody awesome also
21:13:40 <OwenS> Not only do you get 8 80Mhz (20MIPS) cores, but they have a lovely instruction set also
21:14:16 <OwenS> I'll admit it's a bit funny... each core has 2kb private local RAM which acts as both it's registers, fast RAM and program store...
21:14:52 <TrueBrain> Reg2/Mem = Reg1 IMUL Imm <- SmatZ: I got that right, not?
21:15:16 <SmatZ> TrueBrain: the other way :-/
21:15:56 <SmatZ> (that reg1 stored in the MOD field)
21:18:39 *** z-MaTRiX has joined #openttd
21:21:15 <R0b0t1> Does there happen to be a gamesave of the scene on the front screen?
21:21:25 <OwenS> R0b0t1: It is a game save
21:21:43 <OwenS> OpenTTD/data/opntitle.dat is a save file
21:22:06 <R0b0t1> I thought it was like, a movie, and not a game running.
21:22:35 <TrueBrain> k, tnx SmatZ, it seems 0x69 works .. now 0x6b .. how to make that in nasm ...
21:23:27 <OwenS> 6B /r ib - so same, except sign extended immediate byte?
21:24:15 <TrueBrain> but how do I write that in nasm ...
21:24:57 <OwenS> Multiply by a -128<=x<=127 immediate? :p
21:27:13 <R0b0t1> Sorry for another stupid question, but what is the default starting year?
21:27:23 <TrueBrain> start a game, and you will know
21:27:29 <TrueBrain> know by experience, not by asking :)
21:28:09 <R0b0t1> I had been playing with it alot :-\. Anyhow, thanks.
21:28:28 <TrueBrain> ./openttd -c empty.cfg -x
21:28:31 <TrueBrain> and you have the default settings
21:29:01 <SmatZ> TrueBrain: 6B is very similiar to 69, except there is imm8 instead of imm16
21:29:05 <OwenS> Know what would be great? A cheap managed gigabit switch. The combination of those 3 requirements seems to be unobtanium :P
21:29:14 <TrueBrain> SmatZ: well, that turns out to be false
21:29:18 <TrueBrain> there is a imm16 after it :s
21:29:44 <SmatZ> TrueBrain: then it's part of the address or so :-p
21:29:48 * OwenS wonders how TrueBrain knows considering x86 can't be deciphered like that :P
21:30:12 <TrueBrain> I wonder what OwenS tried to say
21:30:17 *** tux_mark_5 has joined #openttd
21:30:33 <OwenS> How you can know what follows an instruction without decoding it :P
21:31:15 <TrueBrain> no, I don't use them, just wanted to mention them
21:31:18 <SmatZ> Has anyone really been far even as decided to use even go want to do look more like?
21:31:42 <OwenS> TrueBrain: You can't look past an instruction without at least decoding enough to know it's length :P
21:31:46 <TrueBrain> either I need to stop touching alcohol, or you guys should start talking sense
21:31:59 <Xaroth> TrueBrain: it's not the alcohol
21:32:04 <Xaroth> unless somebody's been spiking my coke
21:32:07 * OwenS thinks SmatZ needs to stop the alcohol :p
21:32:08 <TrueBrain> OwenS: by the fact I know from what code I compiled the result, I do know :)
21:32:15 <xmakina> quick noai question - how do you get a list of all the vehicles that service a station?
21:33:05 <Rubidium> by using the right AIVehicleList
21:42:15 <TrueBrain> yippie!! Finally got it corrected ...
21:45:51 <TrueBrain> 0xC9 ... that is in general not a command an app should execute, not?
21:46:55 <OwenS> Leave... isn't that something like BP -> RSP; pop BP?
21:47:07 <SmatZ> TrueBrain: valid opcode
21:47:32 <SmatZ> compared to enter (C8 ?) with two imm8 and strange behaviour
21:47:34 <OwenS> It's equivilant to MOV xSP, xBP; POP xBP
21:47:41 <SmatZ> took me some time to understand what it does ;)
21:49:22 <OwenS> SmatZ: Enter is C8, and it's C8 iw ib :p
21:50:42 <OwenS> And SmatZ, I agree, ENTER is convoluted and probably very very slow
21:50:57 <OwenS> At least for the case where the IB is not 0
21:51:24 <SmatZ> OwenS: of course, my fault :)
21:52:35 <OwenS> For the case of the IB being 0, it's pretty much push rbp; sub rsp, IW
21:52:36 <TrueBrain> and guess what the next opcode is this app requires? :)
21:52:53 <SmatZ> OwenS: yeah, the only version I was ever using :)
21:52:58 <TrueBrain> wow! How did you guess? :p
21:53:12 <OwenS> Get the AMD docs. They have a nice C like pseudo code. You need it! :P
21:54:35 <SmatZ> the thing it copies data from stack
21:54:49 <SmatZ> was misunderstood by me for some time
21:55:00 <SmatZ> still I don't see real use for it
21:55:34 <OwenS> And I'd say that documentation sucks; the AMD ones are better
21:56:00 <TrueBrain> SmatZ: I really have a hard time following what you are trying to say :(
21:56:20 <OwenS> You'll be delighted to know that my processor design's enter is much simpler :p
21:57:24 <OwenS> push fp; sub sp, r0, N, sp would be the equivilant due to my slightly crazy 4 operand instruction format :p
21:57:39 <SmatZ> TrueBrain: looking at my emulator's code, I haven't finished enter
21:57:44 <SmatZ> the imm8 part is ignored
21:57:56 <SmatZ> so... you can (almost) safely ignore it too :)
21:58:07 <OwenS> I'd probably just assert(imm8) :P
21:58:13 <OwenS> assert(imm8 == 0) even :p
21:59:13 <SmatZ> also it seems only 5 bits of imm8 are used
21:59:23 <SmatZ> reading my code... but it can be broken :)
21:59:28 <TrueBrain> if (node->level != 0) raise NodeError(false, "Unsupported ENTER level '%d'", node->level);
21:59:34 <TrueBrain> OwenS: much more safe than 'assert'
22:00:36 <OwenS> raise NodeErorr? What language is this?
22:00:46 <TrueBrain> SmatZ: level = level mod 32, so yes
22:01:14 <TrueBrain> too much Python lately :p
22:01:40 <OwenS> Next you'll be doing try {} except(SomeException e) :P
22:03:32 <OwenS> How hard would it be to implement another code generation backend for your system? :p
22:03:34 <TrueBrain> emu_push(emu_bp); emu_bp = emu_sp; emu_sp -= this->size;
22:03:36 <TrueBrain> sounds reasonable ..
22:04:14 <TrueBrain> hahahaha :) An application that doesn't run on timer, but on how fast it can execute its shit
22:04:17 <TrueBrain> REALLY fast, I tell you :p
22:04:37 <OwenS> I think the most silly bit about the x86 ENTER/LEAVE mess is that it prevents LEAVE from being an implicit RET...
22:05:24 <OwenS> You probably don't care but that documentation doesn't state that the instruction checks that *SP is writable before it returns :p
22:05:40 <TrueBrain> this is realmode ..
22:05:46 <TrueBrain> there is no way to make sp non-readable
22:05:50 <TrueBrain> there is no way to make sp non-writable
22:06:14 <OwenS> I want to know who's stupid idea that was though... must kill optimization
22:06:29 <OwenS> Wait.. the whole instruction is stupid and unoptimizable. never mind
22:06:42 <OwenS> It probably executes in about 300 cycles of microcode...
22:07:08 <TrueBrain> k, tnx both for the help on leave/enter :)
22:07:11 <TrueBrain> another application that runs
22:08:01 <SmatZ> ENTER C8h VectorPath 14/17/ 5
22:08:09 <SmatZ> Execution latencies for nesting levels 0/1/2/3.
22:09:05 <TrueBrain> ENTER is faster than manual doing the same
22:10:42 <TrueBrain> time to play Dune2 :)
22:10:50 <SmatZ> Guide for AMD Athlon™ 64
22:11:27 <Xaroth> TrueBrain: less playing more OpenTTD :P
22:11:32 <SmatZ> umm it's 5 years old document
22:11:39 <SmatZ> guess I should fetch more recent one :-/
22:11:47 <TrueBrain> Xaroth: ghehe :) I need to play to map the application, so playing is goooooooddd!!!
22:11:52 <TrueBrain> just it no longer works .. hmm ...
22:12:12 <Xaroth> i take it you didn't compile a xp64 version did you?
22:12:17 <Xaroth> that way I can play.. and be helpful :P
22:12:41 <TrueBrain> Xaroth: haha :) I doubt this will run on Windows :)
22:12:53 <TrueBrain> did absolutely no attempt on that :)
22:13:05 <TrueBrain> see no reason why it would not work .. but .. we all know Windows :p
22:13:16 <TrueBrain> why oh why don't I get an output ... hmm ...
22:13:35 <R0b0t1> Q: I have a problem, how do I fix it? A: Get Linux.
22:16:15 * xmakina is watching JAMI build her first network
22:17:55 *** MizardX- has joined #openttd
22:18:25 *** MizardX- is now known as MizardX
22:22:36 <TrueBrain> FF 3.5 feels a bit faster
22:23:05 <TrueBrain> hmmm ... clearly somewhere I hit a bug in dune2 .... I gained money while no harvester was in its base :p
22:23:28 <Xaroth> sometimes you do get one or two credits
22:23:40 <TrueBrain> no, it just climbed to ... well .. over the 1000
22:23:43 <TrueBrain> then I completed the mission :p
22:23:58 <OwenS> TrueBrain: I have a hunch the bug isn't in Dune :P
22:24:12 <TrueBrain> also the fact it hangs after you hope to go to the second mission :p
22:24:59 <TrueBrain> I guess there is some opcode which doesn't behave as it should :p
22:26:30 <OwenS> Hmm... G++ may object if you name a variable "else"
22:27:25 <OwenS> It's most inconvinient for someone developing a programming language :p
22:27:35 <TrueBrain> bah, I guess I do need to look into support 0x66 (dword access) or find a way to make sure checkit doesn't use it :p
22:28:15 <SmatZ> TrueBrain: force 3 highest bits of flags (16bit) to be always 1
22:29:29 <SmatZ> ;vloz 2,0xcc80,1,0xf0 ; or ah,0xf0 ; 8086
22:29:31 <SmatZ> ;vloz 2,0xe480,1,0x0f ; and ah,0x0f ; 80286
22:29:50 <SmatZ> 8086 sets 4 highest bits to 1
22:30:01 <SmatZ> 80286 tests the always to 0
22:30:22 <TrueBrain> so you mean the 'iopl' and 'nt' flag? And a 'reserved' bit
22:31:30 <TrueBrain> still it wants to execute 0x66
22:31:35 <TrueBrain> (I had them all on '1')
22:32:41 <SmatZ> there are differences in sidt and sgdt...
22:32:49 <SmatZ> but it's probably not testing that
22:33:02 <OwenS> Store pointer to interrupt description table
22:33:39 <OwenS> I can't imagine any difference in that outside Protected Mode though
22:33:40 <TrueBrain> I guess I should look into a compare with DOSBox again :)
22:37:26 <TrueBrain> hmm .. it is after a keystroke
22:39:00 <OwenS> Syntax wise, if(cond) statement else statement or if cond then statement else statement?
22:41:28 <OwenS> "Rigs of Rods" always makes me think someone typo'd...
22:42:33 <Eddi|zuHause> how do you mean?
22:43:15 <OwenS> My automatic typo detector thinks rods should be roads in context... not helped by "RIgs of Rods" as a name not making sense :p
22:43:32 <TrueBrain> I was thinking about frogs :P
22:45:47 <OwenS> It's one word, bonjour :p
22:47:47 <TrueBrain> SmatZ: checkit really does use 0x66 ...
22:48:31 <Eddi|zuHause> TrueBrain: what's a "rigso frog" then?
22:48:42 <TrueBrain> but it looks like it uses it to detect if it is a 80286?
22:48:55 <TrueBrain> what happened on a 80286 when you exected 0x66 or 0x67?
22:48:57 <OwenS> TrueBrain: I'm assuming making the code also do 32-bit ops is too hard? :p
22:49:16 <TrueBrain> OwenS: well, when I considered it sooner, not really .. but now .. might be :p
22:49:41 <SmatZ> TrueBrain: int6 I guess
22:51:36 <OwenS> BTW, VirtualPC differs from real processors by supporting infinitely long instructions with lots of redundant prefixes :p
22:52:59 *** reldred has joined #openttd
22:53:31 <Aali> I doubt it supports infinitely long instructions
22:53:34 <welterde> is AITileList supposed to contain no elements, after i called addRectangle(start, end) ?
22:53:57 <OwenS> If you're smart you might get it to wrap arround :p
22:54:27 <SmatZ> doesn't it assert int6 for instructions > 16B?
22:54:31 <Aali> but then it's not a real instruction, just a bunch of prefixes :)
22:55:26 <OwenS> SmatZ: VirtualPC doesn't
22:55:39 <OwenS> It's one way of detecting it
22:56:10 <SmatZ> TrueBrain: when I force bits 12-15 to be zero for PUSHF, checkit detects 80826
22:56:27 <SmatZ> so it shouldn't EXECUTE any 0x66
22:56:35 <SmatZ> but maybe there is a jump just before that
22:56:44 <SmatZ> so you are decoding something that is never executed
22:57:22 <TrueBrain> SmatZ: at decoding, it just makes it a HALT command
22:57:27 <TrueBrain> at executing, it aborts
22:57:50 <SmatZ> it shouldn't be executed if you zero those bits
22:58:16 <TrueBrain> 00000246 <- my flags
22:59:34 <TrueBrain> so they are zero, I would say :)
22:59:51 <TrueBrain> by any chance you know where it does the check?
23:00:05 <OwenS> I'm curious... you're flags are 32-bit wide :P
23:00:12 <TrueBrain> to compare it with DOSBox
23:00:24 <OwenS> aah... which uses EFlags due to DPMI :p
23:00:25 <TrueBrain> and when I realised the 0x66 problem, I started to slowly add bits of support for it
23:00:38 <TrueBrain> no, it is pushed in ecx
23:01:23 <OwenS> is still lost what you mean :p
23:01:38 <TrueBrain> so I print my 16bit cx as 32bit
23:03:49 <SmatZ> [00:58:28] <TrueBrain> (after the pushf) <=== I mean the value pushed to the stack :)
23:04:05 <TrueBrain> SmatZ: that is what I meant too :)
23:04:23 <CIA-1> OpenTTD: rubidium * r17141 /extra/catcodec/ (13 files): [catcodec] -Add: catcodec, a simple tool to decode/encode cat files that can be used for sound replacement.
23:04:31 <CIA-1> OpenTTD: rubidium * r17140 /trunk/src/ (7 files in 2 dirs): -Change: allow higher sample rate and higher quality samples. Based on work by orudge.
23:04:32 <TrueBrain> yet still it does execute 0x66 :s
23:04:51 <SmatZ> what test does it do after pop cx?
23:05:00 <SmatZ> it does pushf, right? what then?
23:05:17 <TrueBrain> never really uses the value
23:07:02 <SmatZ> it really has to test cx
23:07:17 <TrueBrain> according to you, or according to executing checkit? :)
23:08:46 <SmatZ> why would it read the flags
23:09:04 <TrueBrain> no idea ... it later on pushed it back on the stack
23:09:36 <TrueBrain> after which I lose track of it
23:11:02 <TrueBrain> hmm .. DOSBox always runs in 386 .. there is no 286 mode
23:11:06 <TrueBrain> so he is of no use to me :p
23:11:46 <TrueBrain> SmatZ: I can't seem to find any pushf which it uses to check for 286/386 .. :(
23:12:35 <TrueBrain> okay, I take that back ..
23:13:15 <TrueBrain> (the last call is to code containing 0x66 :p)
23:13:55 <SmatZ> 1238:0000002D and ax,7000
23:14:01 <SmatZ> 1238:00000030 je 0000006A ($+38)
23:14:09 <SmatZ> I think it's pretty clear
23:14:15 <SmatZ> that jump should be taken
23:14:17 <TrueBrain> somehow the flags were activated :p
23:14:21 <oskari89> Hmmm. r17141 allows higher sound quality? :)
23:14:39 <OwenS> Interesting they used and rather than test
23:15:11 <oskari89> And as well as .grf additional sounds @ better quality?
23:15:14 <TrueBrain> 7 .. that is 1 + 2 + 4
23:15:32 <OwenS> wtf... jmp short 0000006F ... aka jump to the immediately following instruction!
23:15:43 <TrueBrain> OwenS: read careful
23:15:46 * xmakina releases JAMI to the wild
23:15:52 <TrueBrain> I never ever set iopl to 3 :(
23:16:25 <SmatZ> TrueBrain: it probably does some "mov ax, 0xffff; push ax; popf; pushf; pop ax"
23:16:48 <TrueBrain> so that test ALWAYS succeeds
23:16:58 <OwenS> I thought you did the masking in pushf?
23:17:10 <SmatZ> if you are emulating 286
23:17:17 <TrueBrain> so a 286 refuses those flags?
23:17:30 <OwenS> Unimplemented flags are forced zeros normally :p
23:17:37 <TrueBrain> I didn't expect it to react at all on it, just pipe it through the register ..
23:17:45 <SmatZ> [00:29:58] <SmatZ> 8086 sets 4 highest bits to 1
23:17:46 <SmatZ> [00:30:08] <SmatZ> 80286 tests the always to 0
23:17:51 <SmatZ> [00:30:12] <SmatZ> try that
23:17:52 <SmatZ> [00:30:23] <SmatZ> when emulating PUSHF
23:17:55 <TrueBrain> SmatZ: how should I know it FORCES that :)
23:18:00 <SmatZ> what else could I say....
23:18:18 <TrueBrain> see, there it went wrong :)
23:18:55 <OwenS> It appears pastebins still being spammed =/
23:19:17 <Eddi|zuHause> OwenS: nobody actually cares
23:20:29 * TrueBrain hugs SmatZ! SORRY! I DIDNT KNOW!!! :)
23:20:34 <TrueBrain> now it indeed skips those statements :)
23:20:46 <TrueBrain> OwenS: read back a few hours or so :p
23:21:12 <OwenS> crap 3 ongoing conversations now
23:21:38 <OwenS> What causes two people to start conversing with me at once? :P
23:22:01 <Markk> OwenS: was it you who lived i Canada?
23:22:50 <OwenS> In Canada I'd probably get better broadband :p
23:23:02 <Markk> How fast do you have now then?
23:23:22 <OwenS> 8mbit, syncs at 3.8mbit, actually about 1mbit...
23:23:36 <OwenS> Week from now I'll have 20mbit, syncing at ~16mbit
23:23:51 <TrueBrain> 100mbit, syncs at 100mbit, actually about 100mbit
23:24:22 <Eddi|zuHause> i have like 0,4mbit
23:24:40 <Markk> I have 50/10 at home, actually about 48/12Mbit
23:24:56 <OwenS> The uploads interesting there :p
23:25:13 <OwenS> So is what I'm going to :p
23:25:16 <Markk> Fastet cable in sweden I think
23:25:44 <OwenS> Who by? I know more than I ever intended to about Swedish broadband thanks to a swedish friend :p
23:25:53 <OwenS> The best in the UK is Virgin's 50/5 cable package
23:26:32 <Markk> Don't you have fibre over there?
23:26:52 <TrueBrain> SmatZ: I am already at test 7a of 12!! :)
23:27:01 <TrueBrain> btw, INT16:00 and INT16:01 work VERY different then documented :p
23:27:44 <SmatZ> TrueBrain: are you sure?
23:27:54 <TrueBrain> double checked with DOSBox
23:27:55 <SmatZ> maybe it's INT16:10:00 or so?
23:27:56 <OwenS> Markk: Nope. Virgin's is FTTC (Fiber to the cabinet - which is about 10m from my housel), BT are testing FTTP (Fiber to the pedestal - I dunno what they're using for the last mile)
23:28:11 <TrueBrain> DOSBox keeps on acting like a key is pressed with 16:01
23:28:16 <TrueBrain> which is what checkit expects
23:28:32 <Rubidium> OwenS: FTTC isn't Fibre to the CPU?
23:28:57 <Markk> Vi have ADSL, Cable (Some houses) and Fibre (Ethernet from the switch in the house I think).
23:29:06 <OwenS> Rubidium: Thats a rather absurd statement until we get optical chips :P
23:29:08 <SmatZ> TrueBrain: 16:01 - key is pressed -> ZF=0, AX=keycode; else ZF=1
23:29:20 <Markk> Fibre directly to the CPU <3
23:29:21 <TrueBrain> SmatZ: yup, DOSBox is sending a constant AX=0100
23:29:52 <OwenS> My swedish friend has BBB fiber I think
23:30:24 <TrueBrain> SmatZ: hmm .. or maybe I fucked up ZF ..
23:30:32 <Markk> BBB (Bredbandsbolaget, lit. Broadbandcompany) is now owned by Telenor
23:30:35 <TrueBrain> ZF = 0 is pressed? That might be the thing I failed to realise :p
23:31:01 <SmatZ> the failure is often between the computer and chair ;)
23:31:05 <TrueBrain> now it wants 13:8 from me ...
23:31:10 <OwenS> Markk: I thought that was the case. What did I say about knowing more about Swedish broadband than I ever intended to learn? :p
23:31:13 <TrueBrain> so I just ignore it :p
23:31:38 <Markk> Depend on how you see it
23:31:56 <OwenS> It's rather useless, unless perhaps I get an Erasmus exchange year in Sweden or something :P
23:32:30 <TrueBrain> INT13:80 ... I don't have any documentation on that :p Lol :)
23:33:13 *** Eddi|zuHause has joined #openttd
23:33:44 <SmatZ> are you sure 13:08 is XT-specific?
23:33:47 <petern> Rubidium, please see the commit message of r16784
23:33:51 <TrueBrain> SmatZ: my docs state that
23:35:44 <SmatZ> TrueBrain: my docs state otherwise... it should be AT+XT
23:35:52 <SmatZ> but I guess it doesn't hurt to ignore it
23:36:04 <SmatZ> just it may be detected as XT instead of AT
23:36:46 <Rubidium> petern: you mean that ottd should try to find the highest output of a .cat and use that as default for play rate/MxInitialize?
23:38:06 <petern> just that until the sample rate converter is improved, it will suck for 11025Hz samples
23:39:18 <OwenS> TTD used 11025Hz samples? Ouch
23:39:55 <TrueBrain> WHOHO! It is up to the Base step .. :)
23:40:33 <Rubidium> petern: that's a good incentive to get higher quality sound samples then :)
23:40:51 <TrueBrain> euhm ... why did they waste a full interrupt to getting the memory size? (INT 12) ...
23:41:51 <TrueBrain> okay, checkit runs .. I just can't nagivate :p
23:43:34 <Eddi|zuHause> i never really understood what interrupts are
23:43:42 <TrueBrain> calls to the software/hardware
23:44:13 <TrueBrain> great, now it calls 0F01 as opcode ... I don't have those implemented :p
23:44:36 <SmatZ> I guess it's some read from/to MSW
23:45:06 <SmatZ> TrueBrain: if you change that PUSHF to sets bits 12-15 to 1, it will emulate 8086
23:45:14 <SmatZ> and it will never try to execute 0F01 ;)
23:46:04 <TrueBrain> euh, 0xF we just concluded executed 0x66 ..
23:47:41 <OwenS> This architecture is so full of stupid instructions which shouldn't be available to user mode programs which are...
23:48:13 <TrueBrain> I love you SmatZ :)
23:48:46 <TrueBrain> 15 buttons mouse .. can't be right :p
23:49:52 <TrueBrain> I think I need to correct my video flags :)
23:50:11 <TrueBrain> an XT machine with VGA .. lol
23:51:14 <Eddi|zuHause> XT is 8086 and AT is 80286?
23:51:58 <OwenS> (Conviniently ignoring the 80186/80188 :P )
23:52:30 <Eddi|zuHause> did there exist such a thing?
23:52:45 <TrueBrain> I wonder where it reads the video mode from ..
23:52:52 <TrueBrain> I thought I set all bits for that correct by now :p
23:53:06 <OwenS> Eddi|zuHause: Yes. Mostly used in embedded designs
23:53:41 <Eddi|zuHause> OwenS: i never heard of it...
23:53:44 <SmatZ> Eddi|zuHause: I think there were 80286/XT
23:54:04 <Eddi|zuHause> SmatZ: then what was the distinction?
23:54:26 <SmatZ> Eddi|zuHause: I think in HDDs
23:54:32 <TrueBrain> SmatZ: I can't go left or right (those buttons don't work :(), so I can't navigate to test and benchmark :(
23:54:43 <SmatZ> ATs had 2xfloppy + 2xHDD
23:54:53 <SmatZ> but most likely the main difference was somewhere else
23:55:48 <OwenS> SmatZ: The main differences were CPU (8088 vs 80286) and bus (8-bit ISA "XT Bus" vs 16-bit ISA "AT Bus")
23:55:55 <Eddi|zuHause> my first computer was a 386
23:56:51 <Eddi|zuHause> i threw it away a few weeks ago
23:56:56 <SmatZ> XT 286 Sep 1986 286 Slow hard disk
23:59:10 <TrueBrain> int 21:52 .. those typical things I just don't want to fill in
23:59:36 <SmatZ> according to that article, the only difference was 16bit ISA bus in ATs
23:59:43 *** tokai|mdlx has joined #openttd
23:59:52 <SmatZ> I would expect some deeper difference
continue to next day ⏵