00:00:00 --- log: started osdev/03.05.05 00:00:38 --- join: kyelewis (w00t@203.221.40.163) joined #osdev 00:00:39 heya 00:04:09 howdy 00:05:26 you know... i dont know why... but when i try to picture you, firstly i picture an old wise man (because of the nick).. and then i stop and think of "howdy" and picture a cowboy 00:07:59 --- quit: witten ("bye") 00:08:47 no, just some dude 00:16:01 --- quit: TCA (Read error: 104 (Connection reset by peer)) 00:16:12 i see 00:16:16 well, i mean, i dont see :P 00:16:22 i understand 00:16:24 :P 00:24:37 --- join: TCA (~monsters@12-224-105-86.client.attbi.com) joined #osdev 00:25:38 --- part: TCA left #osdev 00:33:01 --- nick: kyelewis -> _kyelewis 00:33:52 --- nick: _kyelewis -> kyelewis 00:34:07 yep, that's right 00:43:02 --- part: nairou left #osdev 00:55:35 --- join: gnorro (1000@ppp-229-187.25-151.libero.it) joined #osdev 00:55:40 hello 00:55:45 hi 00:56:18 where do i get an software task switch example? 00:57:05 dunno, I implemented it in my os 00:57:16 you could look at the source, otherwise I dont have a link off the top of my head 00:57:52 ah 00:58:03 what is the name of your os? 00:58:14 http://newos.sf.net/ 00:58:29 grab a source tarball 00:58:39 ok, i download it 00:58:41 the context switch for x86 should be in kernel/arch/i386/i386_asm.S 00:58:52 i386_context_switch I believe 00:59:09 it's pretty simple, you just pushall, save the old stack, set esp to the new one, popall 00:59:14 call it like a regular function 00:59:50 when you start a new thread, pre-populate the new stack for the thread with what looks like a saved set of registers 01:02:01 tnx 01:02:15 no prob 01:02:26 i have devel a similar task switch 01:02:31 but have some problem 01:02:51 do you have time for me now? 01:03:47 but 01:03:52 in your task switch 01:04:03 where do you store eip? 01:04:22 you dont 01:04:33 think about it for a second 01:05:09 since the task switch can *only* happen by calling the context switch function, it seems that eip would be implicitly stored 01:06:44 who do call yuor i386_context_switch? 01:07:04 the reschedule function 01:07:13 thread_resched 01:09:14 but 01:09:26 you use tss for eip? 01:09:33 no 01:09:41 eip doesn't need to be stored 01:09:59 i don't understand the reasons 01:10:03 hrm 01:10:21 so every time you context switch you call the i386_context_switch function, right? 01:10:34 when you call a function, you set the eip to the first instruction in that function 01:10:54 so if every thread calls that function to switch to a new one, that means when you switch back, the eip is already in the right spot 01:10:57 no need to save it 01:11:27 since when you switch to the new thread, it should have been switched from by calling the same function you are already in 01:11:33 therefore you dont need to save eip 01:11:59 bho 01:14:45 --- quit: voider|Z ("zzz") 01:16:42 so does that make any sense? 01:17:51 --- join: transgone (ieexbu@fatwire-201-205.uniserve.ca) joined #osdev 01:20:23 --- join: dax (dax@u212-239-192-121.adsl.pi.be) joined #osdev 01:22:39 hmm, guess I lost em 01:23:20 too much data for him to parse 01:23:25 anyway, sleepy time for me 01:23:27 later! 01:23:31 --- quit: geist ("outta here") 01:23:39 night geist 01:23:42 cya later 01:38:58 --- quit: gnorro (Read error: 110 (Connection timed out)) 01:47:30 --- quit: transgone (Read error: 60 (Operation timed out)) 02:57:04 --- quit: dax (Read error: 110 (Connection timed out)) 02:59:10 --- join: mors (~skywalker@64.104.136.140) joined #osdev 03:05:07 --- join: df (~yakumo@host81-132-58-57.in-addr.btopenworld.com) joined #osdev 03:14:33 --- quit: SlowCoder (Read error: 110 (Connection timed out)) 03:16:52 --- quit: alphr (Read error: 54 (Connection reset by peer)) 03:16:54 --- join: alphr (~mike@i111-181.nv.iinet.net.au) joined #osdev 03:17:07 --- quit: keyhack ("Client exiting") 03:23:46 --- join: transgone (zfoeqs@fatwire-201-205.uniserve.ca) joined #osdev 03:30:33 --- join: TB- (TB@212.59.18.97) joined #osdev 03:35:36 --- join: ReKleSS (~ReKleSS@c17565.mckinn1.vic.optusnet.com.au) joined #osdev 03:42:48 --- quit: TB- () 03:48:13 --- join: SlowCoder (~jja@194.239.250.254) joined #osdev 03:55:06 --- quit: wcstok (sterling.freenode.net irc.freenode.net) 03:55:08 --- join: wcstok (jwhite@cse-old.unl.edu) joined #osdev 04:17:10 --- join: dax (dax@u212-239-192-121.adsl.pi.be) joined #osdev 04:25:42 --- quit: transgone (Read error: 60 (Operation timed out)) 04:35:20 --- quit: EtherNet (Read error: 110 (Connection timed out)) 04:35:21 --- quit: Rico (Read error: 54 (Connection reset by peer)) 04:41:16 --- part: ReKleSS left #osdev 04:42:38 >:) 04:48:16 --- join: ReKleSS (~ReKleSS@c17565.mckinn1.vic.optusnet.com.au) joined #osdev 04:55:14 --- quit: gfafgawrg (Read error: 54 (Connection reset by peer)) 05:16:46 hi 05:17:11 heh, first thing someone's said in ~4 hours 05:17:44 you are not here since for hours 05:17:52 13:42 < Ishq> >:) 05:18:10 here it 14:17 05:18:28 hrm 05:18:50 --- join: karingo (karingo@16.portland-13-14rs.or.dial-access.att.net) joined #osdev 05:20:20 --- join: void|MATH (~voider@206.167.166.74) joined #osdev 05:21:23 stop talking so much and get coding... 05:21:48 lol 05:21:54 * lodda just came back from school 05:22:08 bank holiday here in uk. mmm day off 05:22:17 hmm 05:23:36 --- nick: kyelewis -> kyelewis_z||z 05:24:41 * kyelewis_z||z is away: suddenly... you feel a need for deep sleep... then you *bang* zzzzzzzzzzz.... zzzzzzzzzzzzzz.... 05:25:35 --- quit: IG (Read error: 104 (Connection reset by peer)) 05:26:20 --- quit: ReKleSS ("cat /dev/bullshit > homework") 05:27:30 --- join: pavlovski (~Tim@host217-44-184-5.range217-44.btcentralplus.com) joined #osdev 05:28:02 --- join: IG (~WSPro@cs2416719-143.houston.rr.com) joined #osdev 05:28:24 hello...? 05:30:01 hi Pavlovskii 05:30:44 hey pav 05:31:19 backl 05:31:23 hey df, lodda, lynx 05:31:30 hery=) 05:34:18 sup? 05:41:06 my floppy driver reads now 05:41:26 direct io or dma? 05:42:13 DMA 05:45:48 been working on my sparc32 emulator most of the morning.. 05:55:12 --- join: transgone (xavrly@fatwire-201-205.uniserve.ca) joined #osdev 06:00:45 --- quit: karingo () 06:09:14 --- join: EtherNet (~askbill@200.45.181.96) joined #osdev 06:09:20 * EtherNet is away: studying + school 06:17:46 --- quit: Divine (Read error: 60 (Operation timed out)) 06:29:19 --- quit: alphr (Connection timed out) 06:29:52 --- join: alphr (~mike@i215-213.nv.iinet.net.au) joined #osdev 06:35:03 --- join: int13h (~no@calcium.nelte.lt) joined #osdev 06:45:44 --- join: Smari (~spm@flott.rassg.at) joined #osdev 06:54:17 --- quit: pavlovski (Read error: 60 (Operation timed out)) 07:02:17 --- quit: df ("syntax: ja matte ne!") 07:07:07 --- join: cookin- (jrydberg@night.trouble.net) joined #osdev 07:19:52 --- join: zwane (User-10521@modemcable029.16-131-66.nowhere.mc.videotron.ca) joined #osdev 07:22:44 --- join: Mathis (irc@pD9EA9B57.dip.t-dialin.net) joined #osdev 07:22:56 hi 07:23:29 hey 07:23:37 hey 07:23:41 hello 07:23:44 hello 07:23:55 yo 07:23:59 no 07:24:06 so 07:24:18 ya 07:24:39 na 07:24:52 du 07:24:58 hast 07:25:07 mich 07:25:18 Wollt Ihr das Bett in Flammen sehen? 07:25:46 Willst du, bis der Tod euch scheide, treue sein für alle Tage? 07:27:14 NEIN 07:27:24 Aber an K.s Gurgel sich die Hände des einen Herrn, während der andere das Messer ihm tief ins Herz stiess und zweimal dort drehte. Mit brechenden Augen sah noch K., wie die Herren, nahe vor seinem Gesicht, Wange an Wange aneinandergelehnt, die Entscheidung beobachteten. «Wie ein Hund!» sagte er, es war, als sollte die Scham ihn überleben. 07:27:35 --- quit: transgone (Read error: 60 (Operation timed out)) 07:27:50 ihr seid scheisse. 07:28:11 Ich bin GOTT. 07:28:14 Wo gepopelt wird, fallen Tränen. 07:28:16 Now obey me, kids. 07:28:32 Auch mit Tiefkühl-Sauerbraten kann man sich verletzen, man muss nur wollen... 07:29:24 Global Office Trans-Tollpatsch *g* 07:29:26 --- join: Dipp (~Dipp@as7-3-4.hka.j.bonet.se) joined #osdev 07:29:31 G.O.T.T 07:29:33 . 07:29:35 ;-) 07:30:20 heh 07:33:06 tranky tranky 07:33:16 doppa-doppa 07:36:22 --- quit: lynx ("Client Exiting") 07:36:33 --- quit: Boney ("good night.") 07:42:26 --- join: lynx (~lodsb@pD9544132.dip.t-dialin.net) joined #osdev 07:42:27 --- quit: EtherNet (Read error: 104 (Connection reset by peer)) 07:45:08 --- join: kemu (~jonas@100.249-136-217.adsl.skynet.be) joined #osdev 07:48:47 --- quit: cookin- ("Feel the magic when I touch your breast..") 07:50:05 --- quit: kemu ("Lost terminal") 07:54:28 --- quit: lynx (Remote closed the connection) 08:00:55 --- quit: Mathis ("good night") 08:01:12 --- join: lynx (~lodsb@p50808F07.dip.t-dialin.net) joined #osdev 08:05:25 --- join: I440r (~I440r@dialup-64.154.96.254.Dial1.Cincinnati1.Level3.net) joined #osdev 08:11:24 Hey there.. anybody with any PPC bootstrapping experience awake? 08:12:34 (bootstraping a mac ppc sure sucks a lot) 08:13:56 --- quit: zwane (Excess Flood) 08:14:18 --- join: zwane (User-10521@modemcable029.16-131-66.nowhere.mc.videotron.ca) joined #osdev 08:16:21 gab: I'm not talking about a Mac. I'm talking specificly about a MPC8xx. 08:18:24 Ohh fsck. I forgot to do something very important before I came home from school.. bbl. 08:20:03 --- quit: zwane (Excess Flood) 08:20:15 --- join: zwane (User-10521@modemcable029.16-131-66.nowhere.mc.videotron.ca) joined #osdev 08:22:23 --- join: mur (murr@baana-62-165-186-143.phnet.fi) joined #osdev 08:26:31 --- quit: lynx ("Client Exiting") 08:26:50 --- quit: Dipp (Remote closed the connection) 08:34:00 --- join: lynx (~lodsb@p50809F29.dip.t-dialin.net) joined #osdev 08:37:48 --- join: minddog_ (~minddog@63.228.155.171) joined #osdev 08:38:38 --- quit: int13h () 08:47:44 --- quit: dm_ ("brb") 08:48:28 --- join: dm_ (~nak@200.152.57.185) joined #osdev 09:07:11 --- join: transgone (iuimeq@fatwire-201-205.uniserve.ca) joined #osdev 09:07:33 --- join: EtherNet (~askbill@200.45.181.96) joined #osdev 09:18:35 --- quit: IG (Read error: 60 (Operation timed out)) 09:25:23 --- join: Mathis (irc@pD9EAB64C.dip.t-dialin.net) joined #osdev 09:25:34 hi 09:25:56 hi 09:26:06 hi, hi 09:26:31 lo 09:28:09 * Smari eats lemon flavoured yogurt with chocolate covered corn flakes, and ponders breifly if the guy who had the idea of marketing such a yogurt was joking or not. 09:28:57 sounds tasty 09:29:22 it is.. 09:29:45 but it's rather silly when you think about it. ;) 09:30:00 * mur might get yoghurt with no taste but with very tasty berry part at bottom 09:30:05 * EtherNet is away: is taking a bath 09:34:00 Urg. PPCBoot is annoying. 09:34:42 Smari: why 09:35:08 I can't find any documentation on how to "get started" with it. 09:35:39 I'm actually using u-boot (0.3.0), but still... lack of docs is getting on my finest. 09:42:26 check Linux sources, it may contain PPC boot code 09:45:30 I searched.. found everything except the appropriate header. :> 09:46:54 * Smari greps for the magic number 09:52:22 Ahh! There we go.. I figured it out. ;) 09:53:00 * dax tries to find some info on sparc booting 10:31:17 * EtherNet is away: school 10:35:15 --- join: Phactorial (~Phactoria@riy-t2p2751.saudi.net.sa) joined #osdev 10:35:27 * Phactorial waves 10:38:10 hello. wave() 10:38:56 Parse error 10:39:49 --- quit: transgone (Read error: 60 (Operation timed out)) 10:44:16 --- join: bono (~bono@modemcable027.101-200-24.mtl.mc.videotron.ca) joined #osdev 10:44:35 --- join: geist (~geist@tkgeisel.com) joined #osdev 10:44:47 --- quit: Mathis (Read error: 104 (Connection reset by peer)) 10:46:43 --- join: Mathis (irc@pD9EABAF5.dip.t-dialin.net) joined #osdev 10:46:50 hi 10:47:01 hi Mathis 10:47:24 --- quit: void|MATH (Read error: 54 (Connection reset by peer)) 10:52:21 hi Mathis 10:52:38 --- join: wl (philipp@pD954E43E.dip.t-dialin.net) joined #osdev 10:52:39 hi lodda 10:52:41 hi geist 10:52:47 --- quit: I440r (Connection timed out) 10:53:17 Hey lodda, geist, Mat 10:53:41 --- join: void|MATH (~voider@206.167.166.74) joined #osdev 10:53:45 hey Phactorial 10:53:49 hi Phactorial 10:53:53 hi lodda 10:54:03 hi again Mathis 10:58:24 hey 10:58:36 sup? 10:58:55 jo, Suppe hab ich schon gegessen 10:59:08 Mathis: today? 10:59:19 ja 10:59:32 translation? 10:59:40 --- join: SLACKo (~SLACKo@62.114.149.208) joined #osdev 10:59:41 I dont know the nouns 10:59:59 geist: he talked to me ;-) 11:00:27 I'm a saaaaad pando 11:00:31 er panda 11:02:34 lol 11:02:41 geist: bored? :) 11:03:00 drinkin my coffee 11:03:18 getting ready to take on the world 11:03:33 i guess it's like 9am where you live, right? 11:03:47 (maybe later, because you have strange times to wake up) 11:04:23 11am 11:04:30 ah 11:05:19 Mathis: http://www.realhatred.flimex.hu/stuff/h4XX0R-small.jpg 11:05:55 ? 11:06:34 --- join: Phactorial[] (~Phactoria@riy-t2p2653.saudi.net.sa) joined #osdev 11:06:35 ít's funny, no? 11:07:05 no 11:07:21 hmm 11:07:41 --- quit: wl ("Quit") 11:08:06 hmm 11:11:01 --- quit: Phactorial (Killed (NickServ (Nickname Enforcement))) 11:11:08 --- nick: Phactorial[] -> Phactorial 11:12:12 TVNow! 11:14:40 advert? 11:21:54 --- quit: Mathis (Read error: 104 (Connection reset by peer)) 11:23:46 --- join: wl (philipp@pD954E43E.dip.t-dialin.net) joined #osdev 11:24:53 --- join: Dr_Evil (DSLflat@p508FF910.dip.t-dialin.net) joined #osdev 11:49:28 dax is baaack 11:52:58 * mur wants to learn swahili :) 11:53:04 --- join: transgone (ddizxn@fatwire-201-205.uniserve.ca) joined #osdev 11:53:05 WHEEE TEH DAX IS BACKO 11:53:38 geist: are you there? 11:57:01 yo 11:57:21 make it quick, what's up? 11:58:41 well, not quick enough then. gotta go to work 11:58:45 --- nick: geist -> geist-towork 11:59:06 damn :/ 11:59:07 --- join: kemu (~jonas@5-88.240.81.pwd-by.belgacom.net) joined #osdev 12:05:33 --- quit: kemu ("Lost terminal") 12:10:07 --- join: kernel2420 (1000@ppp-20-162.25-151.libero.it) joined #osdev 12:10:42 * kernel2420 saluta * 12:10:59 * mur saluta kernel2420 12:11:09 hello mur 12:16:26 --- join: silvio_ (1000@ppp-170-173.25-151.libero.it) joined #osdev 12:16:35 Hey 12:16:49 * Phactorial ponders if it is silvio_ from #C 12:17:07 no, i am kernel2420 12:17:30 oh silvio berlusconi is too into os dev! 12:17:39 :-( 12:17:40 Ah (he was from .it as well) 12:17:55 * mur does not like taht mister , though 12:18:03 kernel2420 it was joke 12:18:12 ^__^ 12:18:41 brb 12:19:38 --- join: Odin- (~sbkhh@adsl-2-216.du.snerpa.is) joined #osdev 12:30:43 --- quit: Phactorial (Remote closed the connection) 12:32:24 /whois geist-towork 12:32:36 lol 12:34:23 /whowas mur 12:34:24 --- quit: lynx ("Client Exiting") 12:34:27 --- join: lynx (~lodsb@p50809F29.dip.t-dialin.net) joined #osdev 12:34:33 clever trick ;) 12:34:44 ? 12:34:45 lol 12:35:03 mur sup? 12:35:29 i want tolearn swahili 12:35:30 :) 12:35:40 it is at open helsinki univeristy 12:35:43 summer course :) 12:36:33 --- quit: kernel2420 (Read error: 110 (Connection timed out)) 12:36:57 --- nick: silvio_ -> kernel2420 12:52:33 --- join: witten (~witten@ip-64-32-131-193.dsl.lax.megapath.net) joined #osdev 12:55:37 --- join: Ishq- (~Ishq@frm-64-4-101-210.access.ntelos.net) joined #osdev 12:55:42 --- quit: Ishq (Read error: 54 (Connection reset by peer)) 12:57:28 --- join: Divine (~john@12-246-112-182.client.attbi.com) joined #osdev 12:57:54 --- join: Ishq (~Ishq@frm-64-4-101-210.access.ntelos.net) joined #osdev 12:58:56 arghh 12:59:05 hmm 12:59:30 --- quit: Ishq- (Read error: 104 (Connection reset by peer)) 12:59:35 >:) 12:59:35 --- join: quantis (quantis@cg166.halls.umist.ac.uk) joined #osdev 12:59:38 :) 13:00:08 geist: you there? what do you think of line6 guitar ports ? 13:00:27 ello lynx 13:01:57 wah ah ah ah 13:02:37 wusp ishq 13:03:38 wassabi 13:03:47 librarian? 13:04:58 ae 13:05:08 this is my true name 13:05:23 moo 13:05:31 boo 13:05:35 boyakasha.... 13:08:56 sowhat everyone been upto today then 13:09:22 --- quit: transgone (Read error: 110 (Connection timed out)) 13:11:13 i've worked a bit on pyxir 13:11:36 foundations for the vm are about finished 13:11:49 and merged some thread code from daxos 13:12:17 and i tried to make some sense out of VHDL & Verilog code 13:12:21 but i failed at that :/ 13:14:42 takes a whille 13:14:54 its normally codee excpet for all that timing crap :( 13:16:20 --- quit: Dr_Evil (Read error: 104 (Connection reset by peer)) 13:16:30 verilog makes less sense to me that vhdl even 13:16:30 :/ 13:16:45 --- join: kemu (~jonas@5-88.240.81.pwd-by.belgacom.net) joined #osdev 13:16:47 --- quit: kemu (Client Quit) 13:17:12 surpising, they should be very very similaer 13:17:25 theres a project to try and intregrate them to a degree 13:17:49 but verilog is just using c style suntax and vhdl is based on ada 13:18:16 doesn't look that c style to me 13:19:12 also found a few nice fpga boards 13:19:15 like this one: http://www.xess.com/prod026.php3 13:19:31 wow... this Netware server software really works... 13:19:47 and these: http://www.burched.biz/products.html 13:21:39 --- join: inspectorg[a]dge (~WSPro@cs2416719-143.houston.rr.com) joined #osdev 13:22:18 netware is class 13:22:27 shame theres not an opensource version of it 13:22:33 * dax really wants some fpga fun 13:22:35 :p 13:22:49 quantis: quite right 13:22:56 i don't know much about cpu design though 13:22:56 quantis: I have an emulator though, it works fine and dandy 13:23:43 dax: that xess board how much is it? 13:24:10 $280 13:24:51 the burched one is nice too though 13:25:02 and only $180! 13:25:11 ill have a look 13:25:18 file:what you playing with netware for? 13:25:59 the burched board is just the fpga though. 13:26:15 quantis: more secure than Microsoft File and Print Sharing 13:26:19 plus I like the logon screen ;) 13:26:56 aww they even have an ide add-on board :p 13:26:57 which version you using? 13:27:09 quantis: this isn't Netware :) it's an open source emulator 13:27:20 of netware!!!! 13:27:24 since when!!! 13:27:27 hasn't been worked on in 3 years though :\ 13:27:37 but it allows me to share stuff (like folders/cdroms) 13:27:39 and print 13:27:45 is there a website? 13:27:51 yes, but it's in another language 13:28:02 well thats jsut dandy :( 13:28:25 http://systemhaus.gkdmedien.de/mars_nwe/ 13:28:30 there you go 13:28:58 dax: the value pack looks cool but it 300+ $ :( 13:29:04 yes :/ 13:29:24 comes with cf card and all :p 13:30:27 file: bloody germans... 13:30:42 so its a version 4 emulator 13:30:50 is it an os or hosted on another os? 13:31:07 quantis: it's a Linux program :) 13:31:17 thats cheating.... 13:31:41 quantis: isn't it pretty cheap for a 300k fpga? 13:31:52 300k? 13:32:02 thouhg it said 100k on the website 13:32:16 http://www.burched.biz/b5x300.html <-- 300k 13:32:17 nope that was the one before 13:32:19 :) 13:32:23 sorry 13:32:41 i should read things first ratherthen look at all the pretty pictures with there seductive cables... 13:32:50 it's on the picture too :D 13:32:55 cheating can sometimes be effective :p 13:33:15 hhmm it's a spartan IIE 13:33:33 --- join: keyhack (keyhack@216-190-244-176.nrp3.mon.ny.frontiernet.net) joined #osdev 13:35:35 ashame they are kinda made of unaffordium for me :/ 13:36:54 dax: im blined by the buety and elegance of the thing... 13:37:16 dax: well it id be about a year im guess before wed need to use them anyways 13:37:46 file:cheating is never right... however it can be fun .... 13:38:17 lol 13:40:09 especially when it involves making fools of ppl you dont like... 13:45:40 --- join: Mathis (irc@pD9EA9928.dip.t-dialin.net) joined #osdev 13:45:52 hi 13:50:22 http://www.welovetheiraqiinformationminister.com/images/microsoft.jpg 13:50:42 lol http://xmms.org/ <-- hacked 13:52:08 heh, that pic is great :-) 13:54:02 --- nick: inspectorg[a]dge -> IG 13:55:32 lynx haha, it's from my isp! 13:55:39 it's tiny isp ! :D 13:55:49 --- join: cookin (~jrydberg@204.ppp135.rsd.worldonline.se) joined #osdev 13:55:50 lol 13:56:14 lynx: ive bough t a guitar port :) 13:56:27 wussaT? 13:56:36 www.guitarport.com 13:56:45 --- nick: IG -> inspectorgadget 13:57:12 --- nick: inspectorgadget -> IG 13:57:28 quantis: neat :P 13:57:34 quantis: are you good at playing guitar? 13:57:43 might acutally learn how to play sutff now :) 13:57:48 nh im absolutly shiot 13:58:02 * mur dislikes analog guitars for rest of the life! 13:58:07 3 years of pain 13:58:11 aargghh :( 13:58:19 analog? 13:58:28 apart form variax they nearly all are 13:58:30 lol 13:58:32 even the electric ones 13:58:43 quantis: i play for 11years and still have lessons :) 13:59:09 only ever had 3 lessons 13:59:11 :) 13:59:33 nah im not so bad, got timing sorted, fingers can stretch to most chords now 13:59:45 pretty slick on pentatonic runs 13:59:53 just never sit down to learn any songs :( 14:02:34 is it possible to make a Netware mounted drive appear as a CD-Rom drive? 14:02:58 it is on netware 14:03:09 * file means client side 14:06:52 dam dam 14:07:20 no 14:07:22 --- quit: Ishq ("Sic Semper Tyrannis!") 14:07:41 also it is not possible to remove all bugs in Microsoft products... 14:10:03 Is it just me, or does anyone else has problems reaching farm.gnu.org? 14:10:41 is it just me or does anyone else has problems to understand why cookin is asking? 14:11:23 I'm asking if farm.gnu.org is down or if it is just my connection that has problems. 14:12:11 ping is fine here 14:13:47 ok 14:13:54 what is ok? 14:14:13 that is works for you 14:14:21 --- join: demigod (~a@modem-716.panther.dialup.pol.co.uk) joined #osdev 14:14:46 I am not interested in that site 14:15:49 You prefer sourceforge ? 14:16:17 everyone bow down to your master the demigod.... 14:16:35 * quantis pokes demi to say something grandiose and god like... 14:16:37 --- mode: ChanServ set +o cookin 14:17:22 thank you... but i don't deserve such kind words... 14:17:44 bye 14:17:53 --- part: kernel2420 left #osdev 14:18:05 * quantis begs forgiveness for his sins... 14:19:44 --- join: Kurt (~kmw@oc-nas-11-s56.cinergycom.net) joined #osdev 14:20:35 --- quit: cookin ("Client exiting") 14:21:27 --- join: Ishq (~Ishq@frm-64-4-101-156.access.ntelos.net) joined #osdev 14:21:41 >:) 14:23:19 <|> 14:24:17 ->|<- 14:24:28 <<-|->> 14:24:54 <<- ->> 14:25:10 | | | | | 14:27:06 |/-\|/-\|/-\|/-\| 14:27:39 []_ (0) []_ 14:28:38 |_/{[()]}\_| 14:30:11 * quantis kicks every ones butt who started the ascii art attack 14:30:27 * quantis limps away after getting his foot stucking in his own butt... 14:30:31 Ishq 14:30:33 heh 14:30:40 mathis 14:30:49 heh 14:30:51 ishq 14:31:08 bleh 14:31:27 <-- victim of circumstance 14:33:22 --- quit: wl ("Quit") 14:33:27 wow ive learnt a riff in ten mintues 14:33:42 this calls for a takeaway to celebrate.... i rock!!!!!!! 14:33:48 i wish!!!!!!! 14:34:41 drop d is the tuning of lamers, i love it !!!! 14:35:25 --- nick: geist-towork -> geist 14:36:05 geist what do you think of line 6 guitar ports ? 14:36:12 ports? 14:36:19 yeah 14:36:23 what is a port? 14:36:25 you mean pod? 14:36:28 little box you plug into computer 14:36:30 no port 14:36:34 www.guitarport.com 14:36:50 oh cute 14:36:56 I dunno, never used one 14:37:01 --- join: transgone (tkeizl@fatwire-201-205.uniserve.ca) joined #osdev 14:37:04 I have a guitar pod, which is a little amp simulator 14:37:06 use it for everything 14:37:07 bumped into a guitar show today and they were selling them chep 14:37:16 yeah i got a kord ax1000 14:37:26 but the software on this kicks arse 14:37:39 just wish they had more tracks with tabs on em :( 14:37:54 they aint got any pumpkins the tight fisted mutter%^%^% 14:38:24 any ways hows the powerpc port going ? 14:38:58 I fooled with it some more last night 14:39:07 trying to figure out the optimal path for booting 14:39:24 which order do I bring things up in to optimze the amount of utility from the openfirmware 14:40:28 any lookis theredic helping any? 14:40:29 nope 14:40:38 I'm doing all my work on ibook right now 14:40:39 have u asked ? 14:40:42 they have been absolutely no help 14:40:56 yep, I've sent numerous emails and chatting with em on irc 14:41:02 * quantis lost another pick :( 14:41:17 I'll probably end up writing my own netbooter 14:41:21 arse 14:41:24 and loading it and then having it load the next stage 14:41:50 so is there not really any firmware bootingsupport then? or have they just copied the pc's idea 14:42:05 they have openfirmware, it just doesn't understand any cards 14:42:14 and it certainly doesn't understand the floppy 14:42:14 cards? 14:42:17 nics 14:42:19 ahh 14:42:32 now, maybe if I had a nic with openfirmware drivers on it 14:42:37 :) 14:42:55 but their version of the of on the board doesn't have the drivers for the built in via nic 14:43:09 could build your own, realtek dont seem to hard to program.... 14:43:13 right 14:43:22 it is more a developers board though 14:43:24 what I'll probably do is write a simple netbooter program 14:43:43 there main thrust seems to be settop boxes by the look of the website 14:43:44 I can boot it by writing it to a linux partition and specifying the path to it on the OF command line 14:43:56 OF understands a bunch of different filesystems 14:44:03 night 14:44:08 night lodda 14:44:24 so its like grub just biosed 14:46:10 --- quit: SLACKo ("[x]chat") 14:47:04 --- join: air (~brand@12-254-199-58.client.attbi.com) joined #osdev 14:47:15 ugh 14:47:53 finally got my car fixed 14:48:17 $140 for someone to open my dash and repair a ground wire 14:48:26 haha 14:48:45 I had to get a charger this morning for mine 14:48:49 looks like the battery is shot 14:48:59 well, the dealership, no one other mechanics would look at it 14:49:32 --- quit: keyhack ("Client exiting") 14:49:33 the bettery in one of my bikes is shot 14:49:48 yeah, they're always out 14:50:08 having a charger around is totally useful 14:50:08 sucks using the kick starter 14:50:19 heh, couldn't kick mine through 14:50:35 the battery is so shot it wont charge 14:50:40 my dad got one of these special starter batterys 14:50:47 bought the size of a laptop 14:51:01 can start a big van 14:52:00 now i just gotta get my car registered and i can drive it again 14:52:02 air: aww, a battery for a bike is like 20$ 14:52:12 also got the lockout code for my radio today 14:52:20 sucked not having a radio in it 14:52:45 geist: $20 and a trip to the store 14:52:53 took my dad three years to get someone to get his lockout code sorted 14:53:06 radio? what was it again? ;-) 14:53:38 this is the second time i've had to get a lockout code 14:53:56 wish i could remember the damn password i put in the radio :) 14:54:26 Ctrl+Alt+Del 14:54:36 Del...Del...Del 14:54:38 Reset... 14:54:39 ;-) 14:55:01 I should probably write down my mom's Alero lockout code... 14:55:06 i dont think the radio uses windows 14:55:21 im sure ive seen some that do 14:55:39 wasnt there like a bmw or mercedes car all wired up with ce ? 14:55:47 yes 14:55:51 --- join: jsr (www@du-12-23.ppp.telenordia.se) joined #osdev 14:55:56 I dont even think, this radio has Ctrl and Alt and Del... 14:56:04 dunno if its radio also used windows tho 14:56:05 hope the power steering wasnt hooked in... 14:56:08 but soon it will have it, believe me ;-) 14:57:03 Mathis: my calculator does :) 14:57:08 oh geezus, someone sent an email at work about why tab indenting code is bad 14:57:14 and so it begins... 14:57:21 and it will ask you for an activation code... 14:57:33 and that you have 30 days left to activate the OS in it... 14:57:51 geist: tabs vs spaces? 14:57:56 tabs! 14:58:08 better to navigate with 14:58:17 air: yeah 14:58:41 but he works on service side stuff, so I never touch their code 14:58:55 why does he think tabs are bad? 14:59:01 spaces are evil 14:59:05 everyone on my team, which is the only people that touch the native C code + asm on the device does the same thing 14:59:07 quantis: they are 14:59:17 the argument he has, which holds some merit is 14:59:30 had one editor (think it might have been an emacs) converted my tabs to spaces 14:59:31 \tstuff = foo(arg, arg, 14:59:33 got right on my tits 14:59:38 \t\targ, arg); 14:59:41 screws up 14:59:46 but that's about right 14:59:52 er that's about it 15:00:03 screws up? 15:00:12 if someone looks at it with tabs set to something else 15:00:26 easy... 15:00:29 if you try to align the split arguments to the start of the function or something 15:00:29 but \t is an embedded control code, shouldnt afffect the source 15:00:40 geist: u mean the second line doesnt align? 15:00:41 simply write into a file that the reader has to set the tabs to a specific size 15:00:46 air: right 15:00:49 pfft 15:00:50 yeah buit ppl use diffent amount of spaces as well 15:01:00 i dont align my code 15:01:06 i do 15:01:09 where spaces screws up is if someone uses non-monospace fonts 15:01:12 which I've seen people do 15:01:13 i keep losing track of braces otherwise 15:01:20 tabs assure that everything lines up, spaces dont 15:01:20 C64 BASIC rulez! ;-) 15:01:27 --- join: KWeber (~kmw@oc-nas-11-s42.cinergycom.net) joined #osdev 15:01:36 tabs you can change a lot easier then spaces 15:01:57 but anyway, it's not that I dont agree with him, it's just that trying to convert people from one to another company wide is dumb 15:02:13 I'm a tab fan myself 15:02:28 I'm a little undecided about the proper spacing on assembly between the opcode and arguments 15:02:32 and tabs or not 15:02:37 i space them 15:02:45 space is the only thing that always works 15:02:48 but it's a pain 15:02:58 looks nicer tab 15:03:10 but you sometimes lose which goes with which :( 15:03:11 in general I try to only use tabs for leading edge 15:03:32 --- quit: Kurt (Killed (NickServ (Ghost: KWeber!~kmw@oc-nas-11-s42.cinergycom.net))) 15:03:35 --- nick: KWeber -> Kurt 15:03:38 after a word or something, spaces are the only thing that works right 15:03:45 and never works right for non monospace fonts 15:03:49 those guys are screwed 15:04:09 why do we bother with spaces in general? lets write without any whitespaces! ;-) 15:04:22 k 15:04:48 --- join: demisatan (demigod@russtill.force9.co.uk) joined #osdev 15:05:01 the editor should handle indentation internally, and not save it to file 15:05:07 no line separations anymore! freedom for the one-line-operating system! ;-) 15:05:14 then everyone would be happy :) 15:05:20 thing is people code in different ways 15:05:28 unless yer sucky editor doesnt support it 15:05:48 every editor i know that tries that annoys me for some reason or another 15:06:01 tries what? 15:06:13 im not talking about autoindent 15:06:28 no like postioning { at end ofcuntions 15:06:31 right, people code in different ways, so it's nice to at least make it so that other people can see it how they want to 15:06:33 or underneth them 15:06:39 which is a great reason to use tabs 15:06:43 or autoformating ifstatements etc 15:07:00 using leading spaces forces other people to see it your way 15:07:32 all hail the xml based code format... 15:07:39 geist: it sucks more when two ppl work on the same file and one uses spaces while the other uses tabs 15:07:45 yes 15:07:54 geist: and yer tab isnt the same width as his 15:08:09 every time I look at linux or any large project's source code I have to adjust my tab width 15:08:13 its cold autoside... no kind of atmosphere... all alone ... fun fun ... drinking fresh 15:08:19 because someone indented to 8 spaces or something 15:08:28 I'm a 4 tab spacer myself 15:08:42 --- quit: demisatan (Client Quit) 15:08:56 8 spaces is just a waste, couple of functions in and you off the screen :( 15:09:17 i will pass no judgement on people's tab width 15:09:23 unless you got a 28inch widescreen monitor you batards.... 15:09:26 I just wish people would use the same thing thing 15:09:34 :) 15:09:35 oh well, back to work 15:09:38 not getting anything done 15:09:46 thing in is they use tabs you can change it yourself 15:09:53 just by using a unique editor system would make most things easier... 15:10:04 I am using NEdit, so you all have to use it too! ;-) 15:13:09 --- join: n0vice (~n0vice@pcp02102499pcs.towson01.md.comcast.net) joined #osdev 15:13:15 the project NEdit seems to be freezed 15:13:21 if you on widnows check out crimsonediotr... 15:13:37 --- part: n0vice left #osdev 15:13:42 what? 15:13:55 have a link on it? 15:14:23 nano is the best editor :) 15:14:25 www.crimsoneditor.com 15:14:26 ? 15:14:30 if you're on windows, give source insight a whirl too 15:14:52 it's the #1 reason I use windows for development 15:14:57 my first some months writing an OS were done in Windows 98 15:15:04 even if I'm just editing files over a samba share on a unix box 15:15:18 until Windows freezed and killed my whole data partition including the only one existing version of it... 15:15:30 what a dumbass 15:15:36 Mathis: heh 15:15:37 ??? 15:15:42 ALWAYS keep your source code on a source depot 15:15:44 since then I was using Linux and backing it up regulary 15:15:45 or back it up 15:16:03 I have absolutely no sympathy for these people that lose their code 15:16:05 my Makefile script has a builtin backup function ;-) 15:16:11 good for you 15:16:18 and also back it up to another machine 15:16:23 and check the backups regularly 15:16:23 heh, that first version of my OS was shit pure... 15:16:23 i still think we should have an osdev public cvs :) 15:16:35 must have been easy to make 15:16:47 wake up in the moring... sit on the computer... 15:16:50 I had a linux box corrupt all my backup files once 15:16:52 heh 15:16:53 really pissed me off 15:17:15 since then I built scripts to calculate md5 hashes on all my backup files 15:17:22 and periodically go back and verify 15:17:33 floppy disks are very nice for backing up small projects... 15:17:40 also my website 15:17:47 and then I rsync all my backups to three different machines at different physical locations 15:17:50 i have a cvs wrapper that commits, creates tarball, copies tarball to sf, copies tarball to another drive on this machine and burns tarball to a cdrw 15:17:54 geist, this source insight is expensive :/ 15:17:56 and each of them verifies the md5s when they come in 15:18:03 Ishq: totally worth it 15:18:14 gesit isnt that a listtle extreme... 15:18:22 --- join: rebdlue (star@ppp090.216-96-207.sherb.mt.videotron.ca) joined #osdev 15:18:25 can have too many copies of something as important as OS code 15:18:25 for geist that is normal... 15:18:31 can never have... 15:18:34 hah 15:18:34 quantis: I dont have the personally do it. :) once you set it up the machine does all the work 15:18:40 that's what computers are for, computing stuff 15:18:54 er I dont have to do it I mean 15:19:03 just the upgrade is $99 15:19:08 but you had to set it up... 15:19:19 yea but if you work with code aqll the dya stuff like that is worth it 15:19:21 Mathis: took about 30 minutes one day to write the scripts 15:19:34 and of course I put all my source on perforce and then back that up nightly 15:19:35 if you know how... 15:19:46 and keep tarballs of old versions once a day 15:19:57 though those are about 300MB a piece, so I have to prune them 15:19:59 I would have to check out everything first... 15:20:07 that would take about one day up to one week 15:20:43 for a while I wrote it all out to tape, but the amount of crap got bigger than my poor tapedrive 15:20:59 tapedrives suck 15:21:16 they kind of do, for the price 15:21:18 floppy drives rulez ;-) 15:21:21 they tend to be too expensive 15:21:25 especially the 8" ones ;-) 15:21:32 got one for my old system 15:21:37 lasted about 6months 15:21:47 wasnt as if it got used that much either :( 15:21:56 or write them to a CD-RW 15:22:04 anyway, point is you can't back stuff up enough 15:22:14 same thing with my mp3s, I have them rsynced to about 5 machines 15:22:19 works great 15:22:23 heh 15:22:30 how about a RAID system? ;-) 15:22:38 what about sending a satelite packed full of harddisc out to space to keep it aqway from any natural disaters .... 15:22:39 if one HD crashes, others take over 15:22:50 RAID is kind of a pain 15:22:58 yeah but a sledghameer cant fix that... 15:22:59 if you dont know how, sure 15:23:04 you're much better off with multiple machines at multiple locations 15:23:12 barring that, a raid 5 might be nice 15:23:21 how about printing out all sources to paper? ;-) 15:23:22 but if you do it, you have to make sure you do it right 15:23:27 a friend of me really did it 15:23:32 --- quit: demigod (Connection timed out) 15:23:36 doing a crappy raid 5 is worse than not 15:23:42 because it gives you a false sense of security 15:24:03 and plus, you're much much more likely to lose all your data because you fucked up and accidentally erased it 15:24:10 or your host os screws up and clobbers it, etc 15:24:21 heh, my host OS is perfect ;-) 15:24:25 keeping multiple copies everywhere helps 15:24:29 dont use software raid 5 its fucking shit 15:24:37 like I said, I had a linux box that fucked up all my backups 15:24:44 because a memory stick developed a bad cell 15:24:49 central backup servers are bad 15:24:51 and linux always used that as it's cache 15:25:01 so as data was copied around bits would flip 15:25:12 I eventuallyf ound it by creating a big file of zeros 15:25:13 software raid is worthless period 15:25:22 and then copying it around 15:25:30 and eventually a bit would get set in the file 15:25:54 oh also, if you want to be able to partially restore a backup, *never* gzip or bzip a .tar file 15:25:58 always store the original tar 15:26:04 how about writing all the sources into your brain? 15:26:09 if you corrupt a gzip or bzip, you lose the entire tar file 15:26:29 instead of just the inner file the corruption happens on 15:26:33 anyway, enough. back to work 15:26:42 back to bed... 15:26:45 afio doesn't have that problem 15:26:48 sleep required 15:29:39 --- quit: rebdlue (Read error: 60 (Operation timed out)) 15:31:09 gesit: if you need a new amp and want a bit of headroom check out the marshall mode 4 OMG!!!! 350 watts 15:31:18 was at a marshall demostration today 15:31:24 i swear i nearly came... 15:31:36 * quantis blushes 15:32:19 cute 15:32:25 hey 15:32:32 oooh 15:32:38 * quantis runs and hides 15:32:47 i'm offered free trip to france :) 15:32:53 --- quit: Kurt ("Connection reset by deer") 15:32:59 mmmm garlic 15:33:26 free trip to france? no catch? 15:33:27 my amp is a marshall one built in ' 79 15:33:38 you git 15:33:39 quantis: very good sound, like 75 watts 15:33:44 git = ? 15:33:46 mines 15 15:33:57 quantis: nah, I mostly use a line6 pod amp simulator and a pair of studio monitors 15:34:01 woudl you pay my trip from finland? :) 15:34:06 mur: that's possible 15:34:07 git = polite form of you great big mutterfucking arsehole :D 15:34:09 lets me keep it quiet and still sound like a big amp 15:34:19 mur : lol 15:34:22 but the studio monitors will get suprisingly loud (350 watts a piece) 15:34:26 but this mode 4 is like 6ft !!! 15:34:26 heh.. 15:34:38 quantis: you had a batterword for arse 15:34:43 but does it go up to 11 ? 15:34:43 quantis: better 15:34:49 quantis: sumfin with p 15:34:57 my amp goes to 0 15:35:02 from -infinity 15:35:17 mmm none more black.... 15:35:42 alright so no one got hte spinal tap refs... 15:35:49 --- quit: Mathis ("good night") 15:36:09 sure I did 15:36:17 * quantis goes to smell a glove.... 15:36:23 quantis: posterior ! 15:36:33 derier 15:36:33 oh shit the glove reference is almost there 15:36:45 glove referencEe? 15:37:03 another spinal tap reference 15:37:03 yeah but what you dont know, is i hav brests, and tied to a table and on a leseh.... 15:37:22 second and should be an an .... 15:37:32 or even an am 15:37:47 okay, again I'm not getting anything done 15:37:53 more drastic measures... 15:37:55 later folks! 15:37:56 --- part: geist left #osdev 15:38:02 hahaha 15:38:53 hah 15:41:57 --- join: rebdlue (star@ppp035.216-96-207.sherb.mt.videotron.ca) joined #osdev 15:42:13 * quantis hits himself on the head for killing the conversation again... 15:42:19 hmm 15:42:40 quantis your crime records will grow endlessly! 15:42:46 i did a shitload of thinking this weekend and now i gotta rewrite crush 15:42:55 heh 15:42:57 uh oh 15:42:58 why? 15:43:17 is that why you had all those weird questions and then would vanish? 15:45:00 uhhgg $250.. cant afford this on my peanut income 15:45:24 (= a 1) (= [a b] 1 2) (= a [.slot1 .slot2] 1 2) 15:45:24 (set a 1) (set a b = 1 2) (set a [.slot1 .slot2] = 1 2) 15:45:32 which line do u guys prefer? 15:45:35 heh lisp 15:45:50 first one 15:45:53 not reverse polish notaiton 15:46:09 all seem good 15:46:18 (set a b = 1 2) is perhaps best 15:46:27 air: second one 15:46:28 (= a 1) is fastest to write 15:46:33 rpn makes writing compilers easier 15:46:35 less wordy 15:46:36 mur: i agree but the first line is shorter 15:46:38 first one that is 15:46:40 er, are they 6 options, or 2? 15:46:50 witten: 2 15:46:51 anyone ever program on the specie 15:46:54 witten: set or = 15:46:54 second option then 15:46:58 you should make 1, 2 and (set possible to use 15:47:01 even though state is evil :) 15:47:03 witten: er set and = or just = 15:47:19 air: "=", IMO, should only ever be infix 15:47:20 witten: evil but sometimes needed 15:47:24 (. a = 2 ) >:) 15:47:26 air: true 15:47:37 arc will use = 15:47:42 arc? 15:47:54 new lisp dialect by paul graham 15:47:55 air's revised crush ? 15:48:08 ahh 15:48:15 * witten has been using haskell lately 15:48:17 it rocks 15:48:23 paul graham flours 15:48:30 cant stand functional languages 15:48:39 quantis: takes a bit to wrap your head around 'em 15:48:53 my heads not that flexable 15:49:05 getting to old to learn new stuff 15:49:10 langauges should be designed by humanists! 15:49:16 at least largely used ones 15:49:18 look at cobol... 15:49:33 you shoudl have lisp ((())) notation and text writing style 15:50:11 and basic etc dont declare variables style, or declare with one common word 15:50:15 the only time you should ever have that many parenthesis is to write: ((( IN STEREO WHERE AVAILABLE ))) 15:50:16 never really played with lisp 15:50:26 :) 15:50:49 its hard to design a lagugage that minimses them 15:51:33 ok so everyone likes second line better? 15:51:57 i do 15:52:00 its more convetion 15:52:06 albeit less effcient 15:52:35 hmm 15:52:51 what? 15:52:52 air: why not use infix "="? 15:53:22 witten: i will when i add syntax 15:53:41 well I'd prefer = infix over set 15:53:50 should i throw in the first (= a 1)? 15:54:05 hm? 15:54:08 the second two examples on the first line are hard to read without the infix = 15:54:19 yup 15:54:26 but the first example would be ok 15:54:42 I guess 15:54:49 i could alias = to set and allow (= a 1) or (set a 1) or (set a = 1) 15:54:51 if you're used to HP-48s 15:55:08 but the multiple set examples would all requires (set * = *) 15:55:25 do you use ? reserved word? 15:55:26 eh? 15:55:39 mur: ? 15:55:52 as = is reserved word to assign, is ? used 15:56:01 crush has no reserved words 15:56:07 well function 15:56:10 :) 15:56:17 SET is the name of a macro, = would be macro alias 15:56:48 the = inside the SET is just something set scans for 15:56:49 ah 15:57:09 in (foo arg arg) is foo used in some functional element, such as macro or function? 15:57:49 ya 15:57:53 the current crush assumes foo is a macro, function or type 15:58:12 and u would use (call foo ...) if foo is a lambda 15:58:17 uh 15:58:21 i meant something else 15:58:23 but the new crush will use a single namespace for everything 15:58:36 if foo is "?" is "?" macro or function used somewhere? 15:58:45 so u can call lambdas with (lambda_variable ...) 15:59:15 (? arg arg) defined, i mean.. 15:59:21 is it? 15:59:23 and (1 2) will just return a list 15:59:29 no 16:00:00 why? 16:00:52 just curious :) 16:01:08 it ´could be e.g. test 16:01:15 (? a > b) or such 16:01:29 thats what IF is for 16:03:42 --- quit: jsr (Read error: 60 (Operation timed out)) 16:04:15 but even c has the ? : shortcut 16:04:35 thats cuz C's if sucks 16:04:41 :) 16:04:50 c# got it as welll .... 16:04:59 (if (> a b) true else false) 16:05:11 If will return a boolean 16:05:28 in that example, it can return anything 16:05:32 er 16:05:50 in that example it returns boolean, but it can return any type 16:06:07 ij 16:06:09 ok 16:07:20 so can match, which is like C's switch 16:10:03 isnt match from vb ? 16:10:35 dunno 16:10:46 lisp has a match 16:11:13 so you basicaly just writing a lisp clone? 16:11:29 no 16:11:51 whats differnt 16:11:55 you even use the same macros 16:12:04 not really 16:12:27 some of them are named the same but only because they were good names 16:12:36 crush doesnt use cons cells 16:12:45 so its not a lisp dialect 16:13:01 just cuz crush uses sexps dont make it a lisp 16:13:27 --- quit: mur ("MURR!") 16:14:01 okay fair enogh 16:15:19 and im thinking about shortening some of the macro names just as arc is doing 16:15:20 --- quit: HeavyJoost (Read error: 104 (Connection reset by peer)) 16:15:54 like what? 16:16:03 common stuff 16:16:37 arc uses = instead of set, fn instead of lambda, def instead of defun 16:16:55 but i'll keep set for multisets 16:16:55 what does lambda mean 16:17:03 i keep seing it in stuff 16:17:08 ok 16:17:12 u know what defun does? 16:17:45 actualyl no, i imagine it reutrns a funtion address but thats just my twisted view on the world 16:17:54 lambda defines an anonymous function 16:18:01 it creates a function, it assigns a name to a code object 16:18:08 ahhh 16:18:13 lambda just creates the object, without a name 16:18:15 so its like a function pointer 16:18:26 oh right 16:18:27 sorta 16:18:41 but u actually create a new function, just no name 16:18:43 so its like creating a reference object in jave ? 16:18:45 #java 16:18:51 okay 16:18:58 with parameters? 16:19:11 (lambda (x) (+ x 1)) 16:19:33 then you can assign a function to it 16:19:40 (set a (lambda (x) (+ x 1))) 16:19:49 it's just declaring a function in the middle of an expression 16:19:53 and anything that recognise the lambda can recognise the funtion? 16:19:59 (set b (a 1)) 16:20:13 b = 2 16:20:21 anything that can recognize a function can recognize a lambda expression 16:20:37 ahh right i think i get it 16:20:48 its like a thing called a delegate in c# 16:22:21 c# is the language i was using for my final project, so its the one im most familiar with at he moment 16:22:34 so sorry if i keep relating everything back to it 16:22:39 heh 16:24:02 its better then java , c++ by a long long way 16:25:51 learn more 16:25:56 heh 16:26:06 wli: u prefer short or long names? 16:26:12 short 16:26:47 i guess all good programmers would probably prefer short, and long for newbs 16:27:41 --- join: HeavyJoost (~HeavyJoos@a213-84-139-110.adsl.xs4all.nl) joined #osdev 16:28:17 No idea. But it's worth getting more perspective. 16:28:42 --- join: asm (~asm@dsl-213-023-238-227.arcor-ip.net) joined #osdev 16:29:01 --- quit: minddog_ ("Lost terminal") 16:29:40 true 16:29:59 better would be if there is a short or long version for stuff 16:30:25 prehaps a bit like the command line switchs on comppilers /v -verbose type things 16:31:06 well that kind of stuff is superficial 16:31:14 --- join: inspectorg[a]dge (~WSPro@cs2416719-143.houston.rr.com) joined #osdev 16:31:17 syntax is, too 16:31:24 --- quit: IG (Read error: 54 (Connection reset by peer)) 16:32:09 true 16:32:20 but bad syntax makes for a bad language 16:32:41 the was thing on openeos newsletter abut a semantic language 16:32:41 bad syntax is just an ugly face 16:32:46 im thinking about adding an alias flag for short and long 16:32:53 where you draw the trees and has no syntax as such 16:33:17 lisp has no syntax 16:33:27 raw sexps 16:33:30 well Lisp is a syntax tree dump 16:33:43 which is not especially good or bad 16:33:49 really? 16:33:54 il have to look at it again 16:34:12 it was meant to have syntax but nobody ever added it 16:34:14 last time i look at lisp was about 10years ago and i couldnt really program that well at the time 16:34:26 plus it ran on very limited machines 16:34:40 adding sysntax wasnt feasable at first i guess 16:34:49 sure it was 16:34:55 and probably ended up as if it aint broke dont fix it 16:35:02 anyway 16:35:12 it came before cobol and i think fortran 16:35:41 no 16:35:46 wasnt even ment to be a language 16:35:48 Fortran was before Lisp 16:35:54 wasnt sure on that one 16:36:06 Fortran was 1954; Lisp was 1958 16:36:11 ahhh 16:36:20 A-1 was 1951 16:37:33 whats a-1? first primative assembler? 16:38:42 Grace Hopper's language 16:38:55 Don't know what it looked like offhand 16:39:24 she formed the cobol commite 16:39:27 it's not discussed much so it must have had some serious deficits, e.g. lack of symbolic expressions. 16:39:31 Yes. 16:39:34 but that started in the 60's didnt it 16:39:43 --- join: keyhack (keyhack@216-190-244-176.nrp3.mon.ny.frontiernet.net) joined #osdev 16:39:52 No. The 40's, if not the late 30's. 16:39:54 wonderwhy they had her doing it 16:40:06 cobol? in the 40's i think not 16:40:30 She was obviously babysitting vacuum tubes in the 40's, not designing COBOL. 16:40:47 She's no spring chicken (in fact I think she's dead). 16:40:58 died in the 80's i think 16:41:25 think she was retiered or retired from the navy just after cobol 16:41:25 she even coined the word "bug", from her doing maintenance on vacuum tube machines. 16:41:42 yeah i heard that 16:41:59 cause they used to crawl around the backs and short things out and stuff 16:42:11 vacuum tubes were dead by the 50's, so the starting in the 60's is a decade or two off. 16:42:54 no starting the cobol project in the 60's 16:43:01 by '55 at latest everything was mercury delay lines and so on 16:43:06 oh 16:43:06 maybethawts just when the first commercial compiler was released 16:43:25 well transistor was designed in 1947 (kjust after roswell :) ) 16:43:29 nobody cares about COBOL except ppl trying to either sell it or avoid having to buy it again. 16:43:36 :) 16:43:39 i like cobol 16:43:46 bit useless these days 16:43:53 IHBT, later 16:43:54 and i can see why its a bad language 16:44:00 IHBT? 16:50:04 i have been talking to much ? 16:50:58 maybe you weren't trolling 16:52:20 no i tried learning some cobol a couple of years back when i saw a book on it with a cd in a my local libary once 16:52:45 an i can see why it became so popular 16:52:54 for small apps it was quite handy 16:53:22 you can write an address book in quike quickly but its not realyl a heavyweight development system in my opinon 16:56:29 --- quit: keyhack ("Client exiting") 17:02:01 --- quit: lynx ("Client Exiting") 17:29:09 --- join: keyhack (keyhack@216-190-244-176.nrp3.mon.ny.frontiernet.net) joined #osdev 17:35:07 --- quit: Ishq ("Sic Semper Tyrannis!") 17:36:12 --- join: Ishq (~Ishq@frm-64-4-101-156.access.ntelos.net) joined #osdev 17:36:27 --- quit: transgone (Read error: 110 (Connection timed out)) 17:57:08 --- quit: keyhack ("Client exiting") 18:00:05 --- quit: quantis () 18:10:43 --- quit: asm (Read error: 104 (Connection reset by peer)) 18:10:44 --- join: asm (~asm@dsl-213-023-238-227.arcor-ip.net) joined #osdev 18:18:13 --- join: Xeon (~ask@cs6668188-147.austin.rr.com) joined #osdev 18:18:48 Hey, can anyone point me to a practical MM tutorials? 18:19:10 brix-os.sf.net/library <-- search for memory 18:19:22 AIR!!! 18:19:26 Cool. 18:24:51 Hrm 18:25:10 What have you guys found to be the "best": 18:25:10 First fit 18:25:10 Buddy system 18:25:10 Suballocators 18:25:11 ? 18:25:50 buddy 18:27:10 Yea 18:27:13 the allocator im using temporarily is good if u dont wanna implement on right now 18:27:20 I'm seeing that a lot. 18:27:51 Cool. I'll take a look at it, though I am going to do it right now. One step at a time... 18:28:01 --- join: geist (~geist@tkgeisel.com) joined #osdev 18:28:06 page map all yer memory in one big block, use two globals: next and limit. set next to the beginning of the block, and limit is size of block in bytes 18:29:12 *nod* Now I just need to learn what to do to page my memory... 18:29:13 malloc(bytes){ base = next; next += bytes; limit -= bytes; return base; } 18:30:38 only problem is u cant free memory 18:31:10 --- quit: Xeon (Read error: 104 (Connection reset by peer)) 18:31:18 he 18:31:20 heh 18:31:29 he's always losing the connection 18:31:33 ya 18:31:41 im not talking to him anymore :) 18:32:09 --- join: Xeon (~ask@cs6668188-147.austin.rr.com) joined #osdev 18:32:14 I kind of stopped the other day too 18:32:17 Arg, disconnected 18:32:24 :) Stopped what? 18:32:32 Xeon: we decided to not bother talking to you anymore since you're always dropping the connection 18:32:34 air: The buddy system looks so easy 18:32:38 so get a better connection 18:32:58 I'm very sorry :( 18:33:03 Xeon: ya, unless u got better things to code 18:33:06 I have a very volatile connection 18:33:18 I can't help it 18:34:17 Please forgive me :( 18:34:39 I know you try to help out 18:34:49 I wish I could somehow show my appreciation 18:35:04 cut your arm off and take pictures 18:36:19 Ok 18:36:42 http://poetry.rotten.com/cannibalisme/ -- Thats me 18:37:44 --- quit: zwane (Read error: 60 (Operation timed out)) 18:39:16 What book do you guys recommend I should start out with that will help me the most? 18:39:28 (Or more, if you can think of more.) 18:41:05 :( Nobody want to talk to me? 18:42:01 heh 18:42:28 Xeon: http://citeseer.nj.nec.com/cs 18:42:37 Xeon: search for memory related papers 18:43:59 --- join: notten (root@bgp423523bgs.union01.nj.comcast.net) joined #osdev 18:44:04 hey guys 18:44:14 notten!! 18:44:40 sup air? 18:45:31 notten: u ever shot anyones head off with an unzoomed sr8? 18:45:46 air: yeah 18:46:02 kinda feaky 18:46:03 air: in 2.5 i discovered the worst bug ever introduced in UrT 18:46:04 freaky 18:46:10 it's called taping 18:46:27 what you did is you'd take a small piece of tape (2mmx4mm) and switch to a pistol 18:46:35 you'd tape it on top of your corsshair 18:46:44 heh 18:46:44 then you'd switch to unzoomed sr8, crouch, and shoot 18:46:45 --- join: zwane (User-10521@modemcable029.16-131-66.nowhere.mc.videotron.ca) joined #osdev 18:46:50 it was CRAZZZY accuracy 18:47:05 im not putting tape on my screen 18:47:33 air: Hrm, how would a free work on a buddy system? Woulden't there be a lot of fragmentation? I.e. if all you have is 100 8K memory blocks, but need one 10K block... ouch 18:48:38 Xeon: u have bins with different block sizes 18:49:09 Ah, like pictured at http://www.memorymanagement.org/articles/alloc.html#buddy.system 18:53:36 i wonder if there's still ascii porn around 18:53:52 i'd like some right now since the highest res my compy can do is 80x25 18:54:16 hehehe 18:54:18 thats sad 18:55:09 so u cant urt? 18:55:13 cant play 18:55:51 nahhh 18:55:55 not till i get a new p3 733 18:56:11 bummer 18:56:32 blahijklmnop 18:56:58 --- join: Boney (~paul@dsl-203-113-192-142.VIC.netspace.net.au) joined #osdev 18:57:05 god damn it, i need alot of coke 18:57:14 i can't stay up so i can code and then go to school anymore 18:57:26 heh 18:59:47 air: where are ya from? 18:59:54 utah 19:00:03 ahh... how are coke prices there? 19:00:16 depends where u buy it 19:00:35 grocery store = good, gas station = bend over 19:00:47 lol, ass 19:00:51 stop kidding 19:01:09 wallmart has 2 liters for about 99 cents 19:01:17 walmart 19:01:22 hhehehe 19:01:28 for real though 19:01:40 eh? 19:02:02 pop or crack? 19:02:06 --- join: transgone (jivvoj@fatwire-201-205.uniserve.ca) joined #osdev 19:02:13 just blow 19:02:21 heh 19:02:26 * air doesnt do drugs 19:02:29 pop == poppers? that shit is terrible 19:03:30 yer a weak person if u need drugs to feel good 19:04:01 i don't need drugs to feel good.. i need drugs to keep me awake ;p 19:04:30 get some antidepressants 19:04:43 don't keep me up 19:04:51 the ones i had do 19:05:11 i have half a bottom left if u wanna buy some :) 19:05:17 heh, i can get em 19:05:24 antidepressants are generally drugs too btw 19:05:35 one pill, u can easily go 48hrs before even starting to get tired 19:07:18 Selective serotonin reuptake inhibitors (SSRIs) 19:07:22 thats the kind u want 19:07:53 and wtf cant i remember the name of them 19:08:02 why not do coke then? 19:08:13 all coke does is fuck with your serotonin levels anyways ;p 19:08:25 Celexa 19:08:29 thats the stuff 19:09:30 coke is good shit... prolly easier to get... like candy but for your nose 19:09:54 --- quit: Boney ("bbl") 19:10:33 but coke has side effects 19:11:41 like? 19:11:44 Man 19:12:18 I wish there was just ONE practical tutorial on how to implement paging...If I can't find one, I'm certainly going to write one. 19:13:07 (Once I figure out how...) 19:13:16 heh 19:14:37 --- quit: Odin- (Read error: 60 (Operation timed out)) 19:16:50 Xeon: u ready? 19:17:39 --- join: Odin- (~sbkhh@adsl-2-216.du.snerpa.is) joined #osdev 19:17:43 probably disconnected :) 19:23:27 Hah 19:23:31 Yes I am 19:23:44 I am ready that is. 19:25:17 im writing up a tutorial for u 19:25:32 Oh. Awesome, thanks air. 19:27:15 bespin.org/~qz/paging.txt 19:29:18 notten: when i play urt tonight u want me to make a demo, save it to mpeg and then convert to a series of ascii images? :) 19:32:09 lol 19:32:10 sure 19:36:46 air: ermm. maybe i'm not ready... 19:36:55 --- quit: bono ("leaving") 19:43:17 I'm thinking about getting Unix Internals 19:54:50 --- quit: inspectorg[a]dge (Operation timed out) 19:55:24 Op Sys Doc Proj? Hrm 20:00:16 --- quit: witten ("bye") 20:01:50 Xeon is talking to him/herself a lot. He/She wrote over 5 lines in a row 10 times! 20:02:32 . 20:09:07 --- join: minddog_ (minddog@ip68-98-84-14.ph.ph.cox.net) joined #osdev 20:09:39 yawn 20:13:00 --- quit: transgone (Read error: 110 (Connection timed out)) 20:25:46 * EtherNet is away: sleeping 20:44:16 --- quit: Xeon (Read error: 110 (Connection timed out)) 20:44:25 --- quit: rebdlue ("Happiness isn't something you experience; it's something you remember. -OL") 20:59:09 --- join: Xeon (~ask@cs6668188-147.austin.rr.com) joined #osdev 20:59:14 Hah 20:59:38 I'm gonna die out there in the real world if I can't even figure out how to set up paging 21:00:25 if you say so =P 21:00:40 paging is easy though 21:01:38 Yea well 21:02:31 You have any idea how hard it is programming an OS with no background in...well...the older days of DOS, asm programming, and the boom of amature OS makers? 21:02:41 yes 21:02:57 All I know is what is given to me by people of this generation 21:03:09 uhh 21:03:12 --- join: Boney (~paul@dsl-203-113-192-142.VIC.netspace.net.au) joined #osdev 21:03:19 did u read that paging.txt file? 21:03:24 *nod* 21:03:30 and u dont understand? 21:04:00 I'm sure I'll understand it once I understand whats needed to understand it. 21:04:09 do u understand that the page directory is a 4k table that has pointers to 1024 page tables? 21:04:18 (Wow that was worded badly.) 21:04:35 Yes. I don't quite understand WHERE it's located at 21:04:40 anywhere 21:04:54 mov cr3, address of page directory 21:05:13 mov cr3, 0x0000 21:05:15 mov cr3, 0x1000 21:05:17 mov cr3, 0x2000 21:05:23 anywhere on a 4k boundary...cr3 points to it 21:05:23 its up to u, the OS designer 21:05:45 each process can have its own page dir 21:06:01 so the scheduler just reloads cr3 when it changes tasks 21:06:03 process? you mean once i actually get proceses? 21:06:11 hell, each process could have 5 if it wanted to for some sick twisted reason 21:06:31 u heard of multiple address spaces? the page dir IS the address space 21:06:46 multiple (mas) means each process has its own page dir 21:06:59 single (sas) means all processes share the same page dir 21:07:06 vas? 21:07:16 vas? 21:07:21 what's vas? 21:07:28 (I've seen it before.) 21:07:39 no idea, forget u saw it 21:07:46 OK 21:07:49 Whats "addr:20, avail:3,g:1, RES:1,d:1,a:1,pcd:1, pwt:1,u:1,w:1,p:1 21:07:51 ? 21:07:54 ok 21:08:20 all pages are on 4k boundaries 0x0000, 0x1000, 0x2000, etc 21:08:34 so the lower 12bits of each pointer are used for flags 21:08:47 20bit address, 12bit flags = 32bit entry 21:09:03 the meaning of each flag is listed there 21:09:33 you don't want to drop the other...more 'interesting'...paging styles on him? hehe 21:10:00 heh 21:10:07 anyway 21:10:30 the page dir points to 1024 page tables, each of which map 1024 pages 21:10:39 so each page table covers a 4meg region 21:10:57 the first page table is 0-4meg, second table is 4meg-8meg and so on 21:11:40 u pick any physical address and plug it into a page table entry and its maps to that location 21:12:27 for sanity and beginner's sake, you may as well use identity mapping 21:12:41 ya 21:13:49 Yea...perhaps I should go back to my game programming, heh 21:13:50 for(d=0, t=0, p=0; d < 1024; d++, t++, p+=0x1000) pgdir[d][t] = p+7; 21:13:52 Ok 21:14:25 er 21:14:31 that should be two for loops 21:14:44 one for d and the other for t 21:17:02 Xeon: s/blobal/global/ in that file :) 21:17:49 whats p+7 supposed to represent? 21:18:06 p is the pointer, 7 is the flags 21:18:20 u:1,w:1,p:1 21:18:21 hmm 21:18:26 user, writable, present 21:18:33 * wcstok 's been using 0x103 for flags *shrug* 21:18:41 u can do 3 if u dont want user code to touch it 21:18:44 --- quit: minddog_ ("/me owns fleenode.net") 21:19:00 user code to touch the page? 21:19:10 wcstok: global pages??? 21:19:13 or page directory? 21:19:53 yeah, well, I'm still not clear on wtf that does yet, heh 21:20:03 the flags let u have fine grained perms for each page 21:20:11 wcstok: cache thing 21:20:30 wcstok: u shouldnt make all pages global 21:20:56 but being as I spent 3 days getting a barely workable memory allocator working, it probably doesn't break too much just yet 21:21:08 damn allocators =/ 21:21:24 so kernel pages should be + 3, user pages should be + 7 21:21:32 wcstok: and u need to to check cpuid to see if the processor supports em 21:21:42 Xeon: yes 21:21:50 only if you want em to be marked as present 21:22:03 Xeon: in mas u map kernel pages as 3 and app pages as 7 21:22:03 marking page 0 as not present can be helpful for debugging purposes 21:22:24 the present bit is for swapping out to disk 21:22:46 it can also be used to catch things like wild pointers 21:22:47 if the app accesses a non-present page it throws an exception and u can swap the page back in to ram 21:22:54 for(d=0, p=0; d < 1024; d++, p+=0x1000) for (t=0; t < 1024; t++) pgdir[d][t] = p+7; 21:23:12 where does mov cr3, (p) come in to play? 21:23:14 Xeon: no, increment p in the t loop 21:24:59 that's after you have the tables setup and just before you enable paging 21:26:44 u should also map the pgdir to one of its entries 21:27:00 pgdir[1023] = pgdir+3; 21:27:31 that one line of code handles auto-mapping of ALL page tables 21:27:37 I can't wait to get past these initial stages :( 21:28:15 u can access every page table in the last 4meg of address space 21:30:14 http://x86.ddj.com/articles/2mpages/2mpages.htm 21:31:50 wcstok: PGE determines whether moves to CR3 flush all of the PTE's from the TLB, or only those whose G-bit (global bit) is not set. 21:32:19 hrmm 21:32:34 kernel would be good to have g set 21:32:35 well that's exactly the opposite of what I wanted...anyways, that's disabled now 21:32:42 Perhaps I should wait 'til college. I don't see any other 16 yr. olds trying to write a kernel. I feel like I'm just being introduced to C again...a really, really, really hard version of C though :P 21:33:14 Xeon: uhh 21:33:23 Ok 21:33:25 So 21:33:35 Xeon: i know some pretty smart <16yr olds writing OSes 21:33:37 try it with c++...lots of insanity to be had there =P 21:34:01 air: Really? Cool. 21:35:20 i started brix when i was 15 21:37:29 its just taken me 14 years to design it 21:39:36 what is pgdit supposed to be? 21:39:41 pgdir* 21:39:53 (type wise i mean :P) 21:40:06 (i haven't been ignoring the WHOLE conversation) 21:40:16 an array of 1024 32 bit objects 21:40:18 1024 uints 21:40:43 same with each page table 21:40:52 12 bits for the flags and 20 for the address 21:42:18 yup 21:43:21 --- join: transgone (scactc@fatwire-201-205.uniserve.ca) joined #osdev 21:44:40 How am I going to do tell the cr3 where my page table is? 21:45:11 mov thepagedir,%cr3 or whatever asm syntax you prefer... 21:46:52 Xeon: (asm ia32 (mov a: 0x2003) (mov cr3 a)) :) 21:48:29 and u cant move directly into cr3, gotta mov to gp reg and then to cr3 21:49:36 errm, yeah..silly x86 21:50:08 why did you plug 0x2003 into it though? 21:55:32 fun, actual osdev discussions 21:55:41 * geist has become to jaded to help people anymore 21:55:46 I guess I'm just burned out 21:56:41 :( I hope I wasn't the cause. 21:57:55 no 21:58:58 Man. I would make a good OS programmer, if I only new the x86 architecture... 21:59:46 * wcstok pokes that one with a 10ft pole 22:00:49 that should belong in some quotes library 22:01:01 < Xeon> Man. I would make a good OS programmer, if I only new the x86 architecture... 22:02:26 :) 22:02:35 heh 22:02:58 I'm serious! I have some good ideas, just no way to implement them. I too stupid to understand the intel manuals...I mean, they're manuals, not something to teach you about the architecture. I need a good book... 22:03:48 Xeon: get an 8086 asm book 22:03:51 hmm. you have company Xeon. I'm trying to get multitasking working. ugh, its gonna take time.. 22:04:11 mors: what problems are you having? 22:04:14 Xeon: once u know the basic x86 stuff then u can learn the 32bit stuff 22:04:18 this is something I'm more inclined to help 22:04:42 air: 8086? isnt that oldish? 22:05:13 Xeon: yes, but its the core of ALL x86 processors 22:05:39 air: Good idea. 22:06:04 geist: mostly troubles due to lack of reading. I'm just trying to understand how TSS works and then I ought to start off. 22:06:16 damnit, no one is playing urt tonight, im gonna have to code instead :( 22:06:22 I guess TSS is one of the complex stuff in 80x86 22:06:22 mors: dont use TSS 22:06:32 geist: Where did YOU start out? I mean, you coulden't have just woken up one morning and said: "I think I'll program an OS!" (Like I did...), because you look like you know your stuff 22:06:33 it's not needed, much cleaner and simpler to task switch by hand 22:06:36 oh can you do multitasking with TSS ? 22:06:39 ohh. 22:06:44 without^ 22:07:00 Xeon: i started out with 8086, using a tandy 1000 22:07:01 Xeon: took me years and years. I started reading the intel manuals when I was in highschool 22:07:16 then was always casually interested in os dev, read every book I could 22:07:27 I didn't undertstand the manuals for the longest time 22:07:34 but every time I read it I got a little bit more 22:07:42 Can you mention some of the better ones that actually taught you? 22:07:49 then I got into os development via writing file systems drivers for Be, which is really a pretty high level book 22:07:56 er high level operation 22:08:20 then while working at Be, I looked at the beos which was a lot cleaner and easier to read than any other open source os out there 22:08:30 and I worked with the guys that wrote it, so I asked em questions all the time 22:08:37 then about a year or two later i started hacking on my os 22:08:47 for real actually, I had hacked a bootloader together years earlier 22:09:06 but by the time I really got to newos (about 2-3 years ago) I basically knew what to do 22:09:33 Lucky. I don't have anyone to talk to... I'm way over my comp. sci. teachers head... I mean, hes done asm before, but a long time ago... 22:09:51 99.9% of what I learned I did on my own 22:09:57 yeah, thats really lucky. to have someone to ask to. 22:10:00 I would just ask overall questions to some be engineers 22:10:32 stuff like 'well what do you do if you take an interrupt and you need to do this but the other cpu is inside the same int handler, etc' 22:10:36 to do stuff with just a book and comp can take lotsa time, i say 22:10:45 most of it I just figured out on my own 22:10:50 hmm 22:10:55 geist: any pointers to that 'task switch by hand' method? the Intel manual speaks only of the TSS method i guess... 22:10:56 Ok, I guess I better delve into 22:11:03 mors: easy 22:11:15 the intel manuals 22:11:25 push all registers onto stack, save old stack pointer, restore new stack pointer, pop all registers 22:11:37 a single function, written in asm 22:11:40 context_switch: 22:11:44 pushall regs 22:12:00 ohh. just like a function call with the addition of stack handling? 22:12:00 save old esp into thread structure (save point passed in to this function) 22:12:09 restore old stack pointer (another argument) 22:12:12 popall regs 22:12:13 ret 22:12:15 geist: which manual should I _really_ begin with? 22:12:24 Xeon: I dont know 22:12:45 hmm thats nice, geist. but dont you think TSS method would be faster? 22:12:46 Hrm. 3 looks good... systems programming guide 22:12:59 or else.. why would Intel have such a complex structure (TSS) 22:13:02 mors: and since all task switching is done by calling this function, the eip is implemicitly saved 22:13:07 TSS is slower 22:13:11 dont use it, it was designed 20 years ago 22:13:14 no one else does 22:13:15 because they're insane 22:13:19 oh 22:13:29 now it's all implemented in microcode, plus it saves much more data than is needed 22:13:37 unless you're doing crazy 4 ring stuff, etc 22:13:55 all you really need to save is the stack pointer 22:13:58 nah, I just want to do the normal ring0 and ring3 22:14:00 geist: do you know of any logical expenation (I know you don't work for intel) why the Segment Descriptors are so obfsticated? 22:14:02 oh okay 22:14:03 the 'state' of the thread is really the stack for that thread 22:14:06 4 rings? how do you get 4? :} 22:14:11 Boney: x86 is 30 years old 22:14:19 I mean a 32 bit value inside the 64bit structure, is broken into 3 parts? 22:14:19 layers and layers of cruft 22:14:32 geist: but they wouldn't have had it like this to begin with? 22:14:40 sure they did 22:14:42 was there any other goofy processor with more than 2 rings...was there anybody who actually used 'em? 22:14:46 goddamn, 22:14:50 vax and alpha 22:15:02 x86 copied the idea from vax 22:15:15 geist: hrm. yay 4 Ia64! 22:15:16 any os on vax that actually used it though? 22:15:22 VMS 22:15:43 but it's an old concept, not really useful anymore 22:15:48 YEP! manual #3's for me 22:16:00 nowadays the supervisor vs user is pretty much all you need 22:16:10 it says directly in the book its for making an os basically 22:16:13 only x86 is left with 4 rings, and no os uses it 22:17:09 the real trick with x86 is figuring out what is needed and what isn't 22:17:25 x86 has lots of overlapping functionality, and lots of it is old and not useful/slow 22:17:40 most people that read volume 3 think they somehow need to use it all 22:17:58 and sometimes people do, so they end up with an obfuscated and non-portable and confusing system 22:18:04 * Xeon looks up... 22:18:11 * Xeon closes the manual. 22:18:13 ahem 22:19:13 now some x86 stuff you have to at least give lip service to. ie, you have to set up at the minimum 4 segment descriptors from 0 - 4GB to effectively disable it 22:19:23 and you need a TSS per cpu if you want to use multiple ring levels 22:19:43 but for the most part that's stuff you set up once and leave alone 22:20:15 geist: do other architectures impliment interrupts. or somthing similar? 22:20:30 you bet. 22:20:43 all modern architectures do a few things: (lemme see if I can list em) 22:20:46 i wish there was a simple, fast RISC processor :( 22:20:50 I'm trying to write very generic code. 22:21:13 1) paging. the concept of splitting virtual and physical address space into pages and mapping them at will is an old concept 22:21:30 2) interrupts. all cpus have interrupts 22:21:36 3) user vs supervisor mode 22:22:00 and since my memory managment and sheduler modules are seperate from the kernel I'm wondring if I should have another "system managment" module to manage all the clunky things on x86. and to do interrupts. or If I should just put them in the kernel. 22:22:02 4) memory cache 22:22:14 Boney: writing a portable system is hard and fun 22:22:25 I did on newos, and it really forces you to design it right from the get go 22:22:34 I'm in the middle of porting it to PPC right now, and I already ported it to SH-4 22:22:48 yeah, I'm also one of those slow coders that will want things to be right the first time. 22:22:54 that's cool. I am too 22:23:00 geist: yes. I've been reading your souce :-) 22:23:12 Xeon: simple fast risc processors are a total bitch to write system code for 22:23:20 it's nice and good. quite easy to follow. so I can see what I have to do. 22:23:35 Boney: great! if i helped at least one person with the source then I'm happy 22:23:48 I should comment it more, I've gotten lazy lately 22:23:55 geist: I'm not copying, only reading it to see how certain things are done. like malloc() 22:24:02 and started to regret it, because I go back and read code I didn't remember reading 22:24:10 Boney: I have absolutely no problem if you copy it or anything 22:24:15 i oftern have more comments than source. 22:24:28 geist: err, my project may not be open source. (I havn't read your licence either) 22:24:34 just BSD 22:24:38 I am yet to decide what I want to do with it. 22:24:43 you can pretty much do what you want with the source 22:24:51 nice. 22:25:06 geist: bitch as in bitchen, or bitch as in derogatory bitch? 22:25:11 Xeon: the hard truth is that x86 is pretty much the simplest cpu to write an os for 22:25:22 it has a lot of cruft but it does a *lot* of things for you 22:25:29 most risc machiens require a lot more supper system code 22:25:33 er support 22:25:38 damn, I can't type now 22:25:48 geist: I'm in split minds weather I should open mine or not. but if I did, it wouldn't be untill I have somthing I can show. 22:25:56 Boney: not a bad idea 22:26:31 so apologies to all GNU hippies who are offended by my capitalisum. 22:26:33 :-) 22:26:37 heh 22:26:51 Stallman will come kill you in your sleep 22:27:07 I have a problem with the idea that somone else can take my work. fork it and call it their project (not their work) and gain sucess from it. 22:27:30 GNU hippies are funny 22:27:35 they make me laugh 22:27:49 I don't mind not having sucess myself, provided that no-one else does. 22:28:23 OSS software is all about fame in its most basic form 22:28:27 but if somone else is being sucessfull from my work, and I'm not. then that's unfair. 22:28:35 Xeon: true. 22:29:13 I did get an e-mail for somthing I'd writen years ago. and GPLed. saying that they loved it and it made their life better. 22:29:19 made me feel soo good inside. 22:29:33 got that e-mail just recently. 22:29:43 Hell, I'll admit it, the only reason I make my software OSS is to dream about one day having my website crashed b/c slashdot linked to it, or maybe some college seeing it and giving me a scholorship or something :) 22:30:06 Xeon: yeah. I deam of the day I get /.ed. 22:30:21 it's not that great 22:30:26 geist: been /. 'ed 22:30:27 ? 22:30:29 the emails you get are pretty amazing 22:30:30 yep 22:30:32 It's a great honor. *eyes tear up* 22:30:38 two years ago for newos 22:30:43 may 20, 2001 22:30:54 true, I don't like ./ and don't read it. 22:30:54 no wait, may 21 22:31:13 but it's gotta be so warm and fuzzy. 22:31:20 : /.'ed or happy email? 22:31:30 it was cool, and it got me an article in dr dobbs 22:31:35 which paid $$ too 22:31:42 $$ is good. 22:31:44 Whoa 22:31:51 $$$ is better 22:32:01 geist: what's your ocupation now? 22:32:54 if it's not a rude question. 22:33:03 software 22:33:18 I work on an operating system for a handheld device our company makes 22:33:29 ahh, cool. 22:33:50 geist: does having newos on your Resue' work well? 22:33:58 I'd think it would. 22:34:08 it helps, though i hven't been in the business of looking for a new job since 22:34:11 resume'* 22:34:27 heh, 22:34:28 cool. 22:34:34 * Boney is a student atm. 22:34:50 anyway. My meat pie is done. 22:34:55 bbl fooding. 22:35:19 are you a top worker or something, geist? 22:35:43 not really 22:35:56 HAHAHAHA! 22:36:24 I should apply for a job at Danger, just to see the expression on your face when I waltz in... 22:36:56 Yea....that would be funny. I'd be like, "Hey geist" you'd be like, "Ummm. do i know you?" 22:41:52 right... 22:43:50 ah, another random person sends me an email about newos with the intention of talking about how much MS or whatever sucks 22:44:11 what people dont understand is not *everyone* that works on an os is doing so to replace windows or linux or whatever 22:44:21 Hah 22:44:21 sometimes people do it for fun, or to sell, or whatever 22:44:27 Tell them that 22:44:33 What exactly did they say? 22:44:37 I do, they dont understand 22:45:21 not what they say, they just immediately start talking about how the next big thing needs to happen, desktops are dead, windows sucks, good work on newos wheres the screenshot 22:46:00 :/ 22:46:07 I'll send you a good e-mail 22:46:11 :) 22:48:04 Man I want to see e-mails like that 22:53:03 --- nick: kyelewis_z||z -> kyelewis 22:53:53 geist... 22:53:58 yes 22:54:04 I just spotted a problem in my architecture. 22:54:08 i mean 22:54:09 design 22:54:30 hi kyelewis 22:55:12 if everything is in the libc, then it would be compiled into applications which would HAVE to be running in ring 3 which could therefore be a very nasty thing, right? 22:55:26 yes 22:55:40 *if* you chose to do a multiple addres space thing 22:55:45 ie, all apps seperate from each other 22:56:09 in that case, putting lots of functionality into libc doesn't make much sense, since the system wouldn't be visible from the library 22:56:17 yo 22:56:17 since the lib code is running in the context of the application 22:56:30 hi lodda 22:56:51 is there another way, where the kernel and apps have the same priviledges? 22:57:20 there are an infinite number of ways, but most of them dont really make any sense 22:57:28 K 22:57:30 or have enough gains to outweigh the negatives 22:58:23 ...hrm... 22:59:15 what if an app was essentially its own kernel...meaning that more than one kernel would be running at once and could communicate some way (don't know how, maybe a communicator app :/) 22:59:33 I'm sorry, I dont have the time tocomment on each of your ideas 23:00:22 Yea, your right 23:00:27 That was a stupid idea 23:02:34 Comment whenever: Whats a typical place to place the page dir and tables? 23:02:52 memory 23:03:27 Haha 23:03:46 HAH 23:03:52 well what do you mean by the question 23:03:53 ? 23:03:59 memory location 23:04:15 virtual? physical? 23:04:43 physical (I don't quite understand the concept of virtual yet.) 23:04:48 obviously the pagedir and pagetable have to be in physical memory, and they really can be allocated anywhere 23:04:55 so that doesn't matter 23:05:05 since you dont understand virtual, any further discussion of this is dumb 23:05:15 let air finish explaining it to you 23:05:20 heya geist, Xeon 23:05:44 K 23:05:47 Hey kye 23:06:06 All I know is virtual kinda maps onto physical 23:06:42 like if you only had 32 mb of mem and you specified to put something at 4gb, it would map onto the appropriate phys addr I think. 23:06:43 this is a level 2 question, I only answer level 5 and above 23:06:53 Heh, K 23:07:02 others may answer though 23:07:06 anyone want to help him? 23:07:52 hehe 23:08:38 hmm, i gotta go to a visit of a company bleh 23:19:41 --- nick: geist -> geist-tohome 23:22:19 Anyone read Assembly Language for Intel-Based Computers (4th Edition) ? 23:36:58 --- join: TheStar (~star@nsw39-adsl-046.tpgi.com.au) joined #osdev 23:50:01 cya 23:50:05 --- quit: Xeon () 23:50:11 bye Xeon 23:59:59 --- log: ended osdev/03.05.05