00:00:00 --- log: started osdev/02.08.31 00:00:28 okay 00:01:31 what's the difficult part when you degisn the newos? 00:01:55 just the design or design & implementation? 00:02:04 for me, it's the critical problem. 00:02:05 both. 00:02:28 well, implementation isn't hard for me 00:02:58 I'm an experienced enough programmer that the actual process of developing isn't a problem 00:03:00 because you have strong knowledge of cpu and os. :-p 00:03:20 the difficult part is balancing my life with how much time to spend on osdev and how much to spend elsewhere 00:03:28 haha.. :-) 00:03:31 of course. 00:04:45 I think the difficult part is how to design the framework of echo component, and let them work for each other. 00:04:58 'echo component'? 00:05:53 for example, the thread, process, hardware resource, cpu resource, and so on. 00:06:18 'echo component'? how does that == thread, process, etc? 00:06:25 'echo component' doesn't make any sense 00:07:07 sorry, maybe I used the wrong word. :Q 00:07:12 yeah 00:07:51 as far as core os stuff is concerned, designing a good memory management system is terribly hard 00:08:05 and how the rest of the system deals with it 00:08:19 stuff like threading or context switching or that is trivial 00:08:31 --- join: DorkPunk (~rajiv@cs6625167-251.austin.rr.com) joined #osdev 00:08:37 wow.. 00:08:42 right, mm is hard. 00:09:26 if you want having a good mm, maybe it will use more cpu time and space. 00:09:29 delphinus - My memory manager *makes* me hard. So does my process scheduler. ;-) 00:10:01 but what is really hard is debugging a running system that has most of the easy bugs worked out 00:10:04 scheduler is simpler than mm. :-p 00:10:13 the kind of bugs that happen only after running for days, etc 00:10:16 delphinus - I disagree. 00:10:23 delphinus - The two problems are comparable, I think. 00:10:32 One allocates space, the other allocates time. ;-) 00:10:36 schedulers? simple 00:10:37 DorkPunk why? would you give me an exmple? 00:10:46 scheduling stuff is very localized 00:10:51 delphinus - An example of...? 00:10:53 it's really easy to get a simple one working 00:11:04 geist - Just like it's really easy to whip out a simple memory manager. 00:11:06 it's not easy to get a fully featured mm working 00:11:10 geist - Single address space, all pages identity mapped. 00:11:21 geist yes. agree it.. 00:11:35 ah, but for a more complex set of features, the mm starts getting exponentially harder to deal with 00:11:47 whereas a scheduler doesn't really have to do much more than schedule 00:12:02 you can make it more efficient, but it doesn't change the problem that is has to solve 00:12:03 geist - I don't know. You can do some pretty crazy stuff with scheduling... 00:12:10 yeah but you dont have to 00:12:27 whereas for a big system you *have* to implement a basic set of vm stuff, and that's hard 00:12:29 geist - Just like you don't *have* to do anything remotely complex in a memory manager. For example: Win95/98/ME. 00:12:39 well, never mind 00:12:41 DorkPunk just do it as simple as possible, FIFO. :-) 00:12:50 I have other stuff to do 00:12:59 geist - I meant no offense by my views. 00:13:01 dont feel like arguing tonight 00:13:10 geist - I understand that there are many opinions, and mine is just as wrong as any other. ;-) 00:13:14 no no I'm not offended at all 00:13:30 * delphinus found it's the weekend. :-) 00:13:35 I'm just saying 'I need to do something else right now than chat on irc' 00:13:39 * DorkPunk nods. 00:13:49 geist - I look forward to bickering with you in the future, then. ;-) 00:14:11 right, most of the time I'm in the mood 00:14:15 but not right now 00:15:08 * DorkPunk nods. 00:15:17 geist knows more than I do. 00:15:20 A lot more. 00:15:30 I still can't implement DMA/floppy controller/filesystem code. :-( 00:16:25 I haven't done it yet either 00:16:32 but that's because newos isn't ready for it yet 00:16:51 and I know how much of a pain in the ass it will be, how much of a time sink it is 00:17:18 I just wish I could find a concise, clear reference. I think I am going to write a book. 00:17:26 after spending two years of my working life writing file systems, I approach it knowing full on how much work it takes 00:19:07 Maybe that's the reason some people hate file systems :) 00:19:51 * geist fires up his mac with a sun type 6 keyboard plugged into it 00:20:02 this'll be interesting 00:22:08 * dax is configuring a new linux kernel 00:22:55 hmm, seems to work fine 00:23:56 btw i have a nice & secksey configure script for daxos :) 00:24:49 bitchin, the sun power key maps to the apple power key 00:24:59 hehe 00:25:01 :) 00:25:20 but, there is no eject key or volume up/down 00:25:30 there is a volume up down, but the mac doesn't see it 00:26:49 hmm, this is actually kind of useful now 00:35:08 Is there a good DMA/floppy controller/filesystem HOWTO? 00:37:32 there are no good howtos on anything that is complicated 00:37:37 that has been my experience 00:37:44 geist - I agree. I want to write a book. 00:39:04 go for it 00:43:34 * geist gets the mac building newos again 00:43:35 --- quit: delphinus (Read error: 54 (Connection reset by peer)) 00:43:40 I forgot how slow it was 00:44:13 --- quit: Robert (Read error: 110 (Connection timed out)) 00:45:13 --- join: Robert (~Robert@robost86.tsps1.freenet6.net) joined #osdev 00:45:29 geist - How many KB of code? 00:45:52 --- quit: toadx () 00:46:25 what? 00:48:18 newos? 00:48:32 I ran wc on find . -type f in the newos dir 00:48:42 blade:~/ossrc/newos$ find . -type f | xargs wc | grep total 00:48:42 84699 263473 2250279 total 00:48:42 28865 108817 870066 total 00:48:58 for some reason wc produces a total field after so many files 00:49:02 so add those two columns together 00:49:42 --- quit: I440r (No route to host) 00:50:52 I see. Wow. 00:50:59 That's a lot of code. 00:51:20 yes, and especially considering how little it does 00:51:26 What does it do? 00:51:31 boots 00:51:37 And...? 00:51:42 runs a kernel 00:51:45 Virtual memory manager? 00:51:48 Process scheduler? 00:51:49 with basically no user space 00:51:54 yes yes all of that 00:52:03 Any drivers? 00:52:04 there just aren't many apps on top of it 00:52:14 Wow, you're already to app writing? 00:52:26 You've supported a filesystem? And supported an executable format? 00:52:27 couple of net card drivers, a video driver or two 00:52:31 Wow! 00:52:31 sure 00:52:42 TCP/IP? 00:52:47 yeah 00:52:51 :-( 00:52:55 How long have you been working on this? 00:52:59 mobius is the most advanced of os projects, it already has a virus :) 00:53:00 bout a year and a half 00:53:09 cool 00:54:08 I have been working on mine since February/March, and I only got multitasking working last month. :-( 00:54:31 Multiple address spaces, preemptive multitasking (just a simple round-robin scheduler with no priority for now). 00:54:38 it takes quite a while to get to that stage 00:54:53 And now I am stuck. LoL 00:54:57 n00bOS. 00:55:33 * geist learns not to minimize a terminal window in macosx 00:55:48 since the little icon in the dock has to keep updating, it slows the system to a crawl 00:56:16 DorkPunk: grab a copy of the source code at http://newos.sf.net/ 00:56:28 geist - Is this for Mac only? 00:56:35 geist - Or have you ported it to IA-32? 00:56:41 x86 and sh4 00:56:45 SH4? 00:56:47 haven't finished the ppc port 00:56:57 hitachi sh-4 (www.superh.org) 00:57:00 used in the dreamcast 00:57:20 Was it originally written for IA-32? 00:57:24 Or SH4? 00:58:17 BRB. 00:58:36 ia-32 01:00:03 hmm been working on the new daxos for 1 month now 01:00:16 cool 01:00:53 * geist notices the snapshots on the newos web page are way out of date 01:00:54 * geist fixes that 01:01:10 DorkPunk: dont feel bad, i've been working on brix for over a decade and only have a boot sector :) 01:01:44 hmm i think there is some serious bug in my slab allocator 01:01:46 :/ 01:02:16 and daxos really needs a slab allocator :/ 01:02:28 (all memory is allocated from caches 01:05:30 oh well 01:05:57 i have a nice scheduler, decent multithreading/tasking, basic ipc, basic smp/apic/ioapic code 01:06:07 still need to do most of the memory management though 01:06:13 yeah, I need to do a good slab allocator 01:06:15 but for 1 month i think this is pretty nice 01:06:25 yeah 01:06:36 11000 lines of C/asm 01:06:44 good 01:06:54 with kernel debugger and all 01:07:20 yeah, the second or third attempt at an os always goes smoother 01:07:30 I've thought from time to time about restarting the whole deal 01:07:33 but not yet 01:08:33 i'll try to setup my smp rig asap so i can start using gdb for debugging 01:08:51 yeah 01:09:23 11735 total 01:09:24 hmm 01:09:27 alot of lines 01:09:29 for 1 month 01:09:56 378.55 lines/day 01:10:25 and most likely i'm going to release it under a bsd style license 01:12:47 * air only has 7497 lines over 1.5yrs, 13.7 lines/day and a little under half of those arent even my lines :( 01:12:59 :) 01:13:17 --- quit: BC_V_brb ("Client Exiting") 01:14:32 hmm 01:14:39 of course those 7497 lines are for the worlds most advanced compiler :) 01:14:43 i think i should rewrite my slab allocator 01:14:58 they can be tricky 01:15:05 yea 01:15:10 and you may want to do some per-cpu tricks that solaris does 01:15:22 like what? 01:15:33 well, they keep seperate pools of pages per cpu 01:15:54 so that multiple cpus aren't invalidating each others cache as they walk through the list and modify it 01:16:16 solaris has lots of little things like that 01:16:18 yea but that's something you can add later, no? 01:16:30 pretty much useless for small smp systems 01:16:41 really really useful at 8+ proc boxes 01:16:48 yeah 01:16:59 they also do the per-cpu run queue thing, which lots of smp systems do 01:17:42 yea i know 01:18:01 but again, those are optimizations that a relatively localized 01:18:17 it's the global optimizations that are worth at least thinking about earlier on 01:18:34 what happens when taskA allocates from cpuA and then later gets run on cpuB and frees the block? 01:18:45 does it go into B's pool or A's pool? 01:18:55 probably B's pool 01:19:13 since B has to stick it in a list somewhere 01:19:19 it may as well be it's own list 01:19:29 geist: which global optimizations? 01:19:57 well lets see 01:20:04 there are tons of TLB-related optimizations 01:20:05 --- join: witten (~witten@adsl-gte-la-216-86-199-140.mminternet.com) joined #osdev 01:20:14 also fun things like cache coloring 01:20:25 pre-paging 01:20:39 my cash is green, at least for the foreseeable future 01:20:50 also stuff like current thread lookup 01:20:56 though that's not that global 01:21:04 witten: eh? 01:21:11 air: bad joke :) 01:21:21 Fortunately or unfortunately, I am still alive. 01:21:51 also, deciding on the interrupt handler strategy is kind of important up front 01:21:57 geist: problem is, i have most of those slab optimizations (coloring/...), it's about 1200 lines, and SOMETHING doesn't work about it... it's a bit too complex 01:22:08 better would have been keep it simple and optimize it later on 01:22:29 ie, take the interrupts on the current kernel stack and handle them there, or start up a thread to handle the interrupt or DPC 01:22:49 solaris does the 'one thread per interrupt level' trick 01:22:49 yea i know 01:22:56 hmm 01:23:09 it's one of those scalability things 01:23:40 how about handle all exceptions in the kernel and pass the other interrupts to attached threads? 01:23:59 hmm 01:24:15 possibly 01:24:35 the gotcha is trying to reduce the overhead a system like that adds 01:24:42 yea 01:24:55 geist: they don't call it slowaris for nothin :) 01:25:30 solaris does a nasty trick by basically running on the context of the current thread until someone does a blocking operation. then it switchs the structures around and starts treating it like the new thread 01:25:41 I want Slowaris running on a StinkPad. ;-) 01:25:50 witten: the word 'slowaris' really irks 01:25:52 irks me 01:26:05 I've heard so many people say it, and 99% of them have never even seen it running 01:26:07 hmm like slowdows? 01:26:29 geist: probably just a bunch of linsux users :) 01:26:39 linux sucks 01:26:40 hmm 01:26:41 bigtime 01:26:45 apparently a bit of history about that phrase: it was apparently starting being used when they were redoing it from sunos 1.x to 2.x 01:26:51 dax: unix sucks :) 01:26:56 well no 01:26:56 they did a big rewrite then, and initially the new system was a lot slower 01:27:08 so the word 'slowaris' is at least 10 years ago 01:27:11 old even 01:27:19 afaik solaris is a pretty optimized system 01:27:28 the ia-32 port is kind of lame though 01:27:33 sort of half-assed 01:27:48 i ought to get that solaris inside book 01:27:49 but lots of the kernel is optimized around sparcs, so it doesn't work as well on ia-32 01:27:54 that solaris inside book rules 01:28:02 buy it for me :) 01:28:03 hmm 01:28:05 geist - Is NewOS a microkernel? 01:28:08 nope 01:28:21 my big problem atm is my vm (again) 01:28:29 i wonder how to handle multiple page sizes 01:28:36 geist - What does "multithreaded" mean? And how is it different from "multitasking?" 01:28:49 multitasking includes unix 01:28:59 dax - Why do you care to implement multiple page sizes? 01:29:04 which can only have one thread per process (traditional unix) 01:29:11 DorkPunk: because it IS worth it. 01:29:13 multithreading means you can start multiple threads per process 01:29:35 geist - Is Linux multithreading? 01:29:38 multithreading is a fine grained multitasking 01:29:47 I've got a data structure that is different sizes depending on how much physical memory is in the system, but for various reasons, I can't have it use a variable amount of virtual memory -- only a fixed amount. any ideas? 01:29:52 dax: yeah, that's a hard problem. basically the upper layers of the vm need to expose to the lower layers a lot of data 01:30:06 DorkPunk: I think recent ones are 01:30:12 geist: yea... 01:30:17 no 01:30:23 geist - What is the advantage of multithreading, over simply just multitasking? 01:30:36 i looked for some papers about it, but i only some crappy stuff about converting a classic one-page-size vm to one supporting multiple 01:30:39 linux uses a hack to make threads 01:30:49 witten - Figure out the largest possible virtual space that the structure could take, and give it that much default. 01:30:58 air: but the end result is essentially threads 01:31:00 witten - Or you could make it a compile-time option. 01:31:13 DorkPunk: that's a LOT of virtual space 01:31:23 witten - I see. Make it a compile time option, then. :-) 01:31:27 DorkPunk: so you have to recompile your kernel every time you put more ram in your system? :) 01:31:39 witten - Why not? 01:31:43 cool found a cracked version of the arm development suite 01:31:47 DorkPunk: that's just silly 01:31:53 geist: yes but its still a hack, each thread has its own pid 01:32:02 witten - Hmm. Those seem to be the only two solutions that I can think of right now... 01:32:14 witten - Does it just take a lot of *virtual* space? Or would it have to take that much *physical* space as well? 01:32:25 DorkPunk: anyway, unix has traditionally not been multithreaded. A lot of the design is made to get around that as well 01:32:42 DorkPunk: it takes a lot of physical space, and it would take a lot of virtual space only if all of that physical space is mapped into virtual memory all at once 01:32:45 geist - I see. What is the advantage of multithreading, over simply multitasking? 01:32:52 solaris does multithreading pretty well, linux has a terrible hack to get it to work, freebsd and as far as I know *bsd dont have kernel level threads yet 01:33:05 DorkPunk: lots. especially when it comes to gui programming 01:33:27 daxos is multithreading from the ground up 01:33:29 since you can have multiple things going on in your app at once, stuff like seperating the ui thread from the work thread work very very well 01:34:06 also, it lets you break up your work into parallel tasks, which lets you utilize more than one cpu at a time 01:34:12 and you can have nice things like a multithreaded kernel heh 01:34:14 like daxos :) 01:34:18 yep 01:34:23 Multitasking was almost too complex for me, heh. I don't think I'll worry about multithreading just yet. 01:34:34 windows 95+ is multithreaded, beos was very very multithreaded 01:34:44 I *finally* got hardware task switching to work, after about 3 weeks of suicidal depression. 01:34:56 macos finally got it with macosx (though it may have had it before, but I doubt it) 01:35:09 solaris has had it for a long time 01:35:27 DorkPunk: hm, actually, it's ~32 mb of virtual memory on a 32-bit system. that may not be too bad 01:35:27 currently 1 idle thread/cpu, 1 reaper thread 01:35:30 hmm 01:35:38 get some more in there 01:35:39 and about 200 test threads 01:35:51 witten - If I knew the specifics of your problem, I may be able to help you more... 01:35:52 heh, macos prior to X was coop 01:35:57 witten - I am fairly creative when it comes to these things. 01:36:08 air: but in theory you could be multithreaded and coop 01:36:20 but I doubt it was multithreaded 01:36:46 DorkPunk: well the physical memory page manager has a fair amount of metadata, and in order to access the metadata and allocate physical pages when paging is enabled, it needs to be mapped into virtual memory.. 01:36:56 macos 9 or earlier was uhm... CRAP. 01:37:21 DorkPunk: but the amount of this metadata mapped into virtual memory changes size from one boot to the next if the amount of physical RAM changes 01:37:26 witten - Like a free physical page stack, that you can pop pages off of, and push pages onto? 01:37:28 dax: be nice. I'm sure it had some good stuff somewhere in there 01:37:40 I know that audio folks love it 01:37:40 geist: like what? the tcp part? 01:37:49 DorkPunk: well, it's a bit more involved than a stack, but it accomplishes the same thing 01:38:01 since you can effectively get the os out of your way and get to the audio hardware directly 01:38:07 the same dos vs windows argument 01:38:17 witten - Would you like to see my solution? (I use a simple stack for free pages, and used pages.) 01:38:28 macos was unresponsive and unstable if you aks me 01:38:28 --- join: spyck (~spyck@i80.ryd.student.liu.se) joined #osdev 01:38:30 ask 01:38:34 DorkPunk: so the problem is that virtual addresses are persistent across boots.. so it would be no good if some persistent object at address 0xdeadbeef gets overwritten when the physical page allocator metadata overwrites it.. 01:38:53 DorkPunk: I've already got a working solution for a page allocator.. thanks tho 01:38:54 witten: u should talk to spyck 01:39:03 DorkPunk: it uses a buddy allocator.. 01:39:08 air: whosat? why? 01:39:11 downloaded the netbsd source 01:39:12 I see, I don't know what a buddy allocator is. :-( 01:39:23 witten: he is writing an OS similar to yers 01:39:26 DorkPunk: well if you're interested, have a look at my source :) 01:39:32 witten - URL? 01:39:33 air: hm ok. I haven't talked to him 01:39:37 DorkPunk: torsion.org 01:39:38 witten: he is online right now in #brix 01:39:41 witten - Thank you. 01:39:46 air: cool 01:39:57 morning.. 01:40:34 he is also in #osdev :) 01:40:46 DorkPunk: pagealloc.cc and pagealloc.h are the buddy allocator 01:40:49 air: oh :) 01:40:53 spyck: hey whassup 01:41:16 spyck: you making an page-based persistent OS? 01:41:29 * dax really wants to port daxos to some other architecture 01:41:32 witten: yep, seems so. :) 01:42:04 spyck: how do you get around the problem of variable-sized kernel metadata growing from one boot to the next and overwriting persistent virtual memory addresses? 01:42:37 spyck: you got a web page? :) 01:42:45 witten: no 01:43:14 I have 4 different kind of addresses. virtual address, physical address, persistent "virtual" address, and persistent physical addresses. 01:43:18 --- join: kemu (~kemu@52.124-136-217.adsl.skynet.be) joined #osdev 01:43:18 witten: link yer kernel data together 01:43:34 air: what do you mean? 01:43:40 spyck: okay.. 01:44:03 hmm 01:44:03 So I use page wise pointer swizzling to map persistent virtual address to virtual addresses. They can be mapped to different addresses between boots. 01:44:26 witten: so if it grows u can realloc a new chunk of space for it and update link 01:44:29 spyck: oh I see.. I wasn't planning on doing any swizzling 01:44:31 No web page yet though. 01:45:19 air: this isn't data that's compiled into the kernel. this is data structures allocated anew on each boot 01:45:22 witten. Ok, how do you handle persistent stores bigger than 4 Gb(if you use IA32 hardware) 01:45:42 spyck: I don't. by the time this is done, I'll be on 64 bit :) 01:45:58 dax: well then port it 01:46:06 I'm compiling ppc-newos toolchain right now 01:46:08 spyck: virtual page address swizzling is an interesting idea tho 01:46:15 now that I have my mac hooked up again... 01:46:15 geist: hmm... i can't decide which arch :/ 01:47:02 shit or get off the pot 01:47:08 * geist loves that phrase 01:47:13 dax: whatever you can get cheap 01:47:29 witten: You should look at "pointer swizzling at page fault" or rather papers on the persistent store Texas. 01:47:52 For example "Texas: An Efficient, Portable Persistent Store" 01:48:04 spyck: doesn't Texas do object-based pointer swizzling on page fault? 01:48:17 hmm 01:48:31 witten: there must be some better than other to port to 01:48:54 dax: anything 64 bit, I say :) 01:49:08 witten: Yes, the memory has to be typed. 01:49:27 spyck: yuck :) 01:49:31 witten: 64 bit != cheap 01:49:36 witten: But you don't plan to use your system on 32 bit? 01:49:43 dax: you can get used alphas pretty cheap 01:49:45 dax: sure it is 01:49:46 dax: the fact that you can't find anything to port too pretty much proves ia-32's dominance 01:49:48 hmm 01:50:04 geist: it isn't that i can't find it, it's that i can't decide what to get :) 01:50:10 witten: well, I must have that anyway when I connect my garbage collector. 01:50:12 spyck: well I'm developing it on ia32, but I know it's not realistic to expect anyone to stick to 4 MB of storage 01:50:26 --- quit: HeavyJoost (Read error: 104 (Connection reset by peer)) 01:50:50 dax: I thought we talked about this the other day, and it was a cost thing mostly 01:50:53 spyck: that's true. I guess I wasn't thinking of language-level requirements quite yet 01:50:54 alphas aren't that easy to find... dunno 01:50:58 otherwise you would have just picked up an ultrasparc 01:51:03 geist: well yea i don't want to spend too much 01:51:15 dax: nec vr5432 is 64bit and about $20 01:51:25 I just picked up an ultrasparc, but I have a lot of disposible income 01:51:28 vr5432? 01:51:38 dax: its mips 01:51:48 yea i guessed that :) 01:51:56 that's like the only chip nec makes afaik 01:52:08 holy **** 01:52:36 miro: indeed 01:52:45 anyone know what the page size is on alpha or sparc? 01:52:46 air: and how much for the eval board? 01:52:47 dax: but u will also need a mobo for it 01:52:55 dax: dunno 01:52:59 witten: 8k + 01:53:02 $2000 ? 01:53:06 sparc is 4k 01:53:06 dax: haha 01:53:11 hm ok 01:53:14 ultrasparc 8k+ 01:53:18 witten: eew, c++. *checking at your code* :) 01:53:20 ia64 has alot of pages up to 256M 01:53:21 alpha is 8k definitely 01:53:31 spyck: that's only temporary :) 01:53:34 ultrasparc supports quite a few as well 01:53:46 witten: what is your future plans? 01:53:51 air: it wouldn't supprise me... you ever saw the prices of those devel boards? 01:54:23 dax: http://www.timesys.com/hardware/index.cfm?type_id=17 01:54:36 spyck: finish integrating the new physical memory code, add a disk cleaner, etc 01:54:45 spyck: what about yours? 01:54:56 dax: u can even download the motherboard for free :) 01:55:02 heh 01:55:44 air: those are most likely 4-6 layer boards 01:56:03 and that's the linux distro afaik 01:56:13 I wish I could download food. 01:56:35 witten: Right now it has a working persistent store that you tranparently allocates all objects too. So you can reboot and continue running. 01:56:51 dax: do a search for "nec rockhopper" 01:56:53 ok, I don't think mapping the entire physical page allocator's metadata into virtual memory is gonna work on a 64-bit arch.. it'll take 131,072 terabytes :) 01:56:59 s/too/to (my english if offline this early in the morning.. :) 01:57:01 air: i would REALLY like one of those cute mips boards though... 01:57:02 spyck: awesome :) 01:57:31 spyck: how do you handle persistence in the kernel? 01:57:40 witten: with a hard disk driver and some other small stuff. 01:58:01 sorry. I meant.. how do you handle persistence *of* the kernel? 01:58:03 NEC. Rockhopper. Price: $3,000 01:58:28 witten: the kernel's datastructures isn't persistent. excepts some of them that are saved in the store just like the other objects. 01:58:48 Since it's no point to save the page table for example. 01:59:24 spyck: right.. so since the kernel itself isn't persistent, how does the it know where in the store to look for those kernel data structures that are persistent? 02:00:20 Versions of the RockHopper hardware and software development kit based on NEC's VR4131, VR5432 and VR5500 microprocessors are available now from Rachis Corp. with prices beginning at $2,500. 02:00:24 dax: hmm 02:00:36 air: kinda expensive, no? 02:00:54 buy the chip and build yer own damn mobo 02:01:05 witten: well the only persistent structure it uses for the moment is the header of the persistent store (which isn't so hard to find) and the table with mappings from persistent virtual addresses to persistent physical addresses (which it gets hold on, from the pstore header) 02:01:05 lol 02:01:22 air: those chips come in very anoying packages most of the time 02:01:40 witten: And in the pstore header there is a root-pointer into the pstore. 02:02:08 spyck: I see.. similar to my setup 02:02:15 "What I'd really like to see is a relatively cheap (under $1000?) MIPS-based motherboard configured to handle multiple MIPS CPUs" 02:02:16 me too 02:04:24 208-pin QFP 02:04:34 alot of fun making a mobo for that 02:04:35 witten: Ok, will look at your code and see if I should find any great ideas to use. :) 02:04:53 spyck: haha good luck :P put up your code on a web page so I can do the same :) 02:05:41 witten: I'll do that in a couple of weeks. Must release my "master thesis" (I think it's called that) before I can release the source code. 02:06:35 ah I see 02:06:56 dax: its called N64 :) 02:06:58 witten: Been writing on that report for some weeks now. Kindow boring.. :( 02:07:17 spyck: I bet coding is a lot more fun 02:07:24 grr, the gcc make system isn't parallelizable 02:07:30 make -j2 screws up 02:07:51 geist: dont use make or gcc 02:08:03 tip of the week: never run make -j on a 486 02:08:03 air: i don't want one... 02:08:09 oh simple, why didn't I think of that 02:08:40 witten: yes, you are very correct. :) 02:08:54 maybe get an indy or indigo 02:09:09 my indy is pretty neato 02:09:10 spyck: well I wish you luck with your report.. if only so that you can put up a web page sooner :) 02:09:16 and relatively well documented 02:09:20 at least enough 02:09:27 dax: get a ps2 02:09:32 naj 02:09:34 nah* 02:09:38 --- join: cookin (~jrydberg@d212-151-84-249.swipnet.se) joined #osdev 02:10:05 c00k1n 02:10:10 which mips chips are 64 bits? 02:10:33 * spyck buys some breakfast. back in a jiffy. 02:11:40 spyck: when u get back wanna add indent parsing to crush for me while i sleep? :) 02:13:12 air: Hmm, if it's lisp-syntax. Then a friend already implemented it in the interpreter he is writing on top of my system. :) 02:13:35 * spyck is away: out 02:13:44 witten 02:13:54 dax: consult the internet 02:13:55 spyck: could u send me the parser code? 02:14:04 dax: I know my r5k is 02:14:07 ah 02:14:13 r5k and r10k iirc 02:14:24 everything r5k or higher afaik 02:14:45 hi geist 02:14:48 geist - Which docs or example code did you look at to implement DMA/floppy controller/filesystem code? 02:15:02 gee, i'm nervous. I have my final exam in 50 minutes :/ 02:15:06 I haven't implemented that yet 02:15:17 howdy cookin 02:15:21 you'll do fine man 02:15:28 I hope so. 02:15:32 if not, i'm toasted. 02:15:40 you're gonna get drunk? 02:15:56 if I fail it, I will not make it to the university. 02:16:00 i really need a kvm 02:16:02 cookin: u are usually drunk when in here, are u drunk right now? 02:16:03 oh wow 02:16:17 cookin: just make sure you get drunk AFTER the exam, not BEFORE. 02:16:29 :) 02:16:39 right 02:16:47 taking an exam while drunk does not work 02:16:56 my friend, keef (a crazy american) will buy me drinks tonight. 02:17:00 most of the time not hmm 02:17:11 --- quit: nbsp ("-_-.zZ") 02:17:28 so I will get drunk some time during the day, belive me when I say that :) 02:18:43 well. i gotta go. i fuckin' hate this. 02:19:10 i think the icfp rules are bs 02:19:11 * dax wubs his python configuration script 02:19:16 see yah 02:19:18 --- quit: cookin ("Client Exiting") 02:19:37 crush code will never be able to be entered into the contest 02:20:13 unless i run brix in a vm on top of linux which will slow it down 02:21:17 anyone here working on icfp? 02:21:30 --- quit: pengo ("got to go -- can't keep the orphans waiting") 02:24:59 * geist finishes compiling a ppc-newos toolchain 02:25:05 * geist starts on sh-newos 02:25:21 * dax is integrating his new configuration script with daxos 02:26:58 hmm 02:27:09 this years contest is kinda kewl 02:27:22 air: _can_ you actually write crush code that runs for the moment? 02:27:24 * spyck is back (gone 00:13:49) 02:27:31 spyck: yes 02:27:36 *searching for my friend with the parser* 02:28:17 crush can compile everything in test.cr (all 134 lines) 02:29:56 air: He seems to be offline for the moment. Maybe I can give you a indentation-sensitive syntax to the LISP reader of scheme instead? Implemented in scheme that is :) http://redhog.org/Projects/Programming/Current/Sugar/index.html 02:33:23 hmm 02:34:42 but I'll get it to you when he wakes up or wherever he is. (If he wants to release the code, which I'm pretty assure of) 02:35:20 what is the code written in? 02:35:51 In C. And I think it has the same functionality as that Scheme code. 02:36:01 ok 02:39:47 --- join: delphinus (~peter@218-160-2-181.HINET-IP.hinet.net) joined #osdev 02:40:07 --- quit: witten (Remote closed the connection) 02:40:07 well, can't you hand in compiler and crush code to the contest? ;) 02:40:07 --- join: witten (~witten@adsl-gte-la-216-86-199-140.mminternet.com) joined #osdev 02:47:47 no 02:48:12 u can use any compiler u want but it must run on linux 02:48:57 but crush is not designed to work on other OSes 02:49:10 it is tightly integrated with brix 02:49:26 Ah, darn. 02:50:58 maybe they will make an exception :) 02:52:24 well, is bochs installed on the linux box? ;) 02:52:38 ya but they judge based on speed 02:53:46 Ah, just makes the challenge bigger and better doesn't it? *evil grin* 02:56:33 * DorkPunk reads about voltage cores, and capacitance in the DMA controller, but still can't figure out how to program it. :-( 02:57:22 --- quit: kemu (Remote closed the connection) 02:57:30 --- join: crg (~crg@server.sisk.reset.net.pl) joined #osdev 02:57:35 back 02:57:38 anyone wants to play netris? ;) 02:57:41 but kinda afk again 02:57:44 gotta fone gf 03:01:42 boe 03:02:13 What? Who is boning his girlfriend? ;-) 03:02:29 ? 03:02:31 lol 03:02:38 roofles 03:02:47 ahahahaha 03:03:55 back 03:04:02 not boning her 03:04:15 phoning her 03:04:17 hmm 03:04:18 Heh. 03:04:41 i was intermixing dutch & english again and i put a f instead of a ph 03:04:43 so what 03:04:46 it's still no b 03:04:58 Damn. 03:06:57 --- join: eirikn (~eirik@ipv6.eirikn.net) joined #osdev 03:11:13 --- quit: crg ("leaving") 03:11:22 DorkPunk: dma is easy 03:11:39 air - How did you learn about DMA? 03:11:59 well 03:12:27 http://www.qzx.com/docs/OSDP/x86/dma/ 03:12:55 air - Thank you. Is that your site? 03:13:01 yes 03:15:32 yay!!! 03:15:37 googlebot is finally back 03:18:31 --- join: HeavyJoost (HeavyJoost@a213-84-139-110.adsl.xs4all.nl) joined #osdev 03:23:33 --- quit: eirikn ("Segmentation fault") 03:29:11 * HeavyJoost is away: ..:: (fast+break) / 2 ::.. 03:29:36 For the floppy, should I use 8-bit DMA, or 16-bit DMA? 03:31:47 "Firms with valid Microsoft site licences cannot legally install Windows on PCs bought without the operating system, Microsoft has warned." 03:31:48 rooofles 03:32:46 DorkPunk: thats not a choice u need to make 03:32:59 well, not one u get to make 03:33:11 http://www.qzx.com/docs/OSDP/x86/dma/dma-at.html 03:33:27 air - I see, DMA channel 2 is for the floppy. 03:33:31 the first table shows that floppy uses channel 2 which is 8bit 03:33:56 air - I just saw it. Thank you. 03:35:31 i am screwed up 03:36:00 ? 03:36:12 im yawning so hard and so much that it hurts yet im not tired and couldnt go to sleep if i wanted to 03:36:40 air: you scare me! 03:36:43 air - That sucks. 03:37:06 this drug is more powerful than caffeine but yawning is a side effect :( 03:37:40 Which drug? 03:37:52 citalopram hydrobromide 03:37:59 Ah. 03:38:07 I don't understand this... 03:38:32 "To do a DMA transfer, you only need know the address of the start of the data to transfer, and how much to transfer." Well, how does the DMA decide *where* to put this data on the destination device? 03:38:51 no 03:39:00 u need to tell the device where to put it 03:39:19 How do I tell the device where to put it? 03:39:23 hehe 03:39:28 floppy driver baby 03:39:54 are u coding in C or asm? 03:39:54 Oh I see. So I need not worry about that just yet. 03:39:59 C. 03:40:09 Of course, I have some inline assembly, for things like inb() and outb(), etc. 03:40:16 oh well 03:40:25 Why oh well? 03:40:35 i woulda given ya some asm 03:40:47 air - Oh, okay. Thanks anyways. 03:41:11 air - I never learned assembly. :-( And I started teaching myself C about a year ago. 03:41:30 Mostly, for my inline assembly, I look at examples, or go with trial and error. 03:41:43 my floppy driver is easy to read 03:41:44 RW_SETUP 03:41:44 RW_COPY 03:41:44 RW_ACCESS 03:41:44 RW_LOOP 03:41:44 RW_END 03:45:51 well 03:46:23 u wanna turn on the floppy motor, enable irq6 and dma 03:46:59 then wait for 500ms while the motor comes up to full speed 03:48:18 convert sector to chs unless u use chs to access sectors 03:48:50 u will need a structure with floppy info 03:50:31 then u need to seek to the sector, wait for irq6, then wait for 30ms for head to settle 03:51:08 init dma controller and give floppy the read command 03:51:35 or write 03:51:48 easy! 03:52:03 wait for irq6 and yer done 03:52:23 and u can then read the status from the floppy to see if it worked 03:53:01 i really need a kvm... :/ 03:53:03 when finished turn off floppy motor, disable irq6 and dma 03:54:37 --- nick: geist -> geist-sleep 03:56:59 * DorkPunk thinks... 03:57:28 dax: I wanted to buy one too a while ago, good ones are way too expensive, cheap ones barely support any stuff well. 04:00:01 --- join: eirikn (~eirik@ipv6.eirikn.net) joined #osdev 04:00:29 hmm 04:00:37 Rico: define "cheap" and "expensive" 04:06:16 ... 04:06:20 * spyck is away: writing an exam.. 04:07:27 ... 04:12:28 --- quit: eirikn ("Segmentation fault") 04:16:17 kvm? 04:16:58 --- quit: lynx ("Reconnecting") 04:16:59 --- join: lynx (~lynx@p508088CC.dip.t-dialin.net) joined #osdev 04:20:03 * HeavyJoost is back (gone 00:50:52) 04:20:24 lynx: kvm = keyboard, video, monitor 04:20:31 ok 04:20:31 aka one of those switch thinggies 04:20:40 i understand 04:20:50 aka expensive bitches 04:29:48 --- quit: DorkPunk ("BitchX: now with Olestra!") 04:37:35 --- join: lodda (lodda@p508FE02A.dip.t-dialin.net) joined #osdev 04:38:11 how to implement IPC? as a syscall whic transfers data or as a shared memory segment? 04:48:46 --- part: lodda left #osdev 04:49:55 omgf foundry fastiron 24 port switch for £100 05:12:46 --- join: Mathis (Mathis@gstw-d9b89f1a.pool.mediaWays.net) joined #osdev 05:13:06 heh all 05:13:07 oh my god fucking ? 05:13:10 dax, you're insane 05:13:14 well, I found one for 250 euro with 4 ports. the monitor could reach 1600x1200x32 at 70Hz, though I run run on the same res at 72Hz and they recommended not to run at the top screen resolution. 2nd the switch supported ps/2 and microsoft mouses, it wouldn't support my ligitech scroll functionality. 3rd, my logitech keyboard hotkeys weren't supported either 05:13:14 --- join: Ghiottone (~alex@ppp-95-9.27-151.libero.it) joined #osdev 05:13:47 * oink will have a new laptop soon 05:14:01 * Rico too 05:14:26 * Rico pets oink and himself 05:14:36 * oink kicks Rico 05:14:59 I will have a GF4 in my laptop :P 05:15:05 I will not 05:15:24 15", 1600x1200 :P 05:15:25 my laptop will suck 05:15:47 I think I'll stay with 1280x1024 though 05:16:06 what brand/model? 05:16:14 Dell 05:16:15 hm 05:16:29 which one? 05:16:51 Inspiron 8200 05:17:36 oink: why am i insane? 05:17:39 what specs? 05:19:04 15" UXGA, 256MB DDR (I'll buy more foreign) - 20GB - PIV 1.8GHz, GeForce 4 64 MB, 05:19:58 I'll need something to use my workstation hard drive.. 05:20:03 (which is 60GB) 05:20:54 and a 802.11b kit 05:22:24 oh, and I'll have to ask them to refund me their Windows CD/License since I won't use it 05:22:56 they'd do that? I doubt it 05:23:07 any can give me a suggestion? 05:23:27 I'm looking for an libc which can be moved on my kernel. 05:23:51 it's illegal in france to not give a detailed invoice, and to force someone to buy something 05:23:57 oink: your laptop is 2500 euro (incl. taxes) here in holland 05:24:05 aw 05:24:11 it's 3000 EUR there :( 05:24:23 hmmm, maybe I missed over some specs 05:24:35 holland does have 19% tax over products 05:24:41 same here 05:24:45 delphinus: you're not gonna write your own ? 05:25:38 well, compared to your laptop, mine really sucks ass :) 05:26:01 we have ze leet 21% taxes 05:26:13 and some extra for electronic components 05:26:41 oink yes, I will, but cooperate is best. 05:26:45 I'm buying a budget laptop, the Asus L2400d, 1600+, 256mb sdr, sucky in chip video :) 05:27:31 Rico asus? it comes from taiwan. 05:28:10 no, it comes from my reseller :) 05:28:17 2573.97 EUR (incl. BTW) 05:28:18 shit 05:28:28 what? 05:28:36 it's 500 EUR cheaper there 05:28:48 * delphinus lives in TW, but uses IBM notebook. 05:28:53 hehe, isn't holland great?!? :D 05:29:04 it is, and now, not only for weed :) 05:29:09 germany is even cheaper than holland 05:29:23 13% taxes there :o 05:30:06 should I name my specs? 05:32:45 do :) 05:32:51 Mobile Athlon 1600+, 256 mb srd-ram, 20 gb hd, 14" XGA, sis 730s chipset (incl. sis 300/301 graphic chip), dvd-rom, 2 years pickup and return, +free carrybag and usb optical mouse 05:33:23 it can run quake on 800x600x16 with 25fps :( 05:33:55 Rico : quake3? 05:34:00 yes 05:34:06 well huh 05:34:14 quake2 runs like that on my box:P 05:34:31 well, which one do you have? 05:34:44 indigo2@195 mhz 05:34:55 duhh!! 05:35:24 and i have only 1MB texture ram :P 05:35:41 I don't even know the specs of my video chip :) 05:35:52 how much did you pay for the book? 05:35:58 but it uses shared memory completely 05:36:02 1500 euro 05:36:08 not bought it yet 05:36:12 fiar price :) 05:36:14 fair 05:36:28 yeah, it is. 05:36:37 but you get a book with a geforce mx for 200e more 05:36:45 or an ibook 05:36:50 with radeon 05:37:06 my classmate got the Asus L3800s P4 1.8GHz for 1900 euro 05:37:20 I'm gonna buy it in .de :) 05:37:23 I'll save 800 EUR 05:37:26 I can get the Asus l3400s for 1720 euro 05:37:32 well 05:37:41 if you ever had the new ibook in your hands... 05:37:47 this is how a book should be 05:37:53 it is EXTREMLY well built 05:38:09 and it is quite robust 05:38:12 it has an ati raedon mobile with 32 mb ram 05:38:16 just the cpu isnt that good 05:38:20 g3@700mhz 05:38:32 hrm 05:38:35 lynx: yes, I heared really nice stories about it 05:38:48 Rico : and it has up to 5 hours stamina 05:39:07 the new notbooks are shit.. they usually just run 2 hours maximum if you have a good battery 05:39:19 and the ibook runs 3 hours at last :P 05:39:35 hrm 05:39:45 well, this athlon mobile runs 2.5 to 3 hours max, 05:39:52 also... if you are "on the road", you usually want a smaller notebook 05:40:38 well 05:40:55 but this L2400d fulfills my needs, I can still play qauke3 decent on 640x480 :), so a one time fraggame is possible :) 05:41:01 personally i prefer a better looking notebook with less cpu performance but more stamina 05:41:26 lynx: is there one like that on the pc laptop market? 05:41:36 moo 05:41:49 Rico : but you can trust me, pc notebooks are all cheap except some toshiba/samsung ones for 4ke+ 05:42:05 Rico : yes, samsung notebooks but they are expensive 05:42:06 but then you're talking :) 05:42:16 Rico : i searched for a notebook like 2 months 05:42:25 everythign was unsatisfactory 05:42:39 I know, I had the same problem 05:42:39 since i wanted a notebook that had the same production/quality standard as the ibook 05:42:42 --- join: xS2x (~x2Sx@adsl-dyn-5-70.adsl.easynet.fr) joined #osdev 05:42:58 lynx: come in my bed now! 05:43:10 * Rico bitchslaps miro 05:43:15 You're cheating on me?!? 05:45:15 --- join: eirikn (~eirik@ipv6.eirikn.net) joined #osdev 05:45:21 but hey, I don't have 4ke available 05:45:35 I have max 2ke 05:48:00 --- join: eks (~eks@h24-82-197-140.wp.shawcable.net) joined #osdev 05:48:11 eks! 05:48:15 * Rico humps eks 05:48:20 * Rico pets eks afterwards 05:48:21 hello ;) 05:48:24 huhuh.. 05:48:40 hi eks! 05:48:46 hello Ghiottone 05:49:10 what are you doing today? 05:49:43 going to play a bit of djembe in about 2 hours, when I come back probably work a bit on Uuu 05:49:53 eks: can I help 05:50:16 Rico: if you can make NIC or Video drivers 05:50:19 playing djembe I mean 05:50:33 lol 05:50:36 :) 05:50:43 I can give you a small tambourine to play on ;) 05:50:47 yay! 05:51:01 tshick, tshick! 05:51:29 --- join: lynx_ (~lynx@pD954488C.dip.t-dialin.net) joined #osdev 05:51:52 what are you going to do on Uuu? 05:51:59 good morning lynx_ 05:52:26 Ghiottone: checking out the status of the thread engine 05:52:29 AAAAAAAAAHHHHHHHHH 05:52:31 I HATE freenode 05:52:37 freenode suxass 05:52:49 eks : how is uuu goin? 05:53:21 lynx_: Uuu PCI is in good shape, worked on every controller it has been tried on 05:53:35 w00t! 05:54:20 Rico : what was the last line i sent? 05:54:37 since i wanted a notebook that had the same production/quality standard as the ibook 05:54:42 bah 05:54:50 i brabbled like one page more 05:54:53 :/ 05:54:54 lol 05:55:02 private chat it to me :) 05:55:02 and then the shit client reconnected 05:55:13 nah 05:55:16 DAMNIT 05:55:17 okay 05:55:20 freenode sux 05:55:33 it is 3 times mimumum like that every day 05:55:41 * lynx_ is annoyed 05:55:50 not counting the netsplits of yesterday 05:55:56 --- quit: lynx (Killed (NickServ (Ghost: lynx_!~lynx@pD954488C.dip.t-dialin.net))) 05:55:58 --- nick: lynx_ -> lynx 05:56:04 yeah 05:56:15 i would prefer going to oftc 05:56:51 but that community isn't that big yet.. 05:57:09 --- quit: Mathis ("User pushed the X - because it's Xtra, baby") 05:57:23 i know 05:57:33 but if we all move over... 05:59:06 --- quit: x2Sx (Read error: 110 (Connection timed out)) 05:59:24 damn 05:59:31 my ISP gets more expensive 06:03:34 if we all move over, yes, but that won't go that fast.. 06:04:13 I'm there now :) 06:05:19 --- quit: delphinus () 06:05:21 ok 06:05:28 lemme open a new shell 06:05:29 hrm 06:05:39 i could compile bitchx on my fancy indigo 06:05:41 moment 06:08:14 lynx: lynx lynx lynx lynx lynx lynx lynx 06:08:25 can you do me a favor please ? :) 06:08:30 depends 06:08:37 what favor? 06:08:47 Suck me dick! 06:08:59 oink : mplayer bitched around when comiling, so did xine-ui 06:09:09 I'm trying to find where I could buy a MediaBank MT in germany 06:09:09 i think it was an error in the libpng or so 06:09:29 oink : www.geihals.at 06:09:34 geizhals.at 06:09:37 (it's an external little case for 3.5" IDE hard drives with a firewire port) 06:09:46 hm 06:09:47 click on the german flag 06:10:01 its a list of the cheapest stores 06:10:09 i will help you later with that, ok? 06:10:12 --- join: pskyboy (~Peter@public1-cosh1-4-cust27.cosh.broadband.ntl.com) joined #osdev 06:10:15 i have to say goodby to my dad 06:10:23 --- quit: pskyboy (Read error: 104 (Connection reset by peer)) 06:10:37 Es konnten keine passenden Einträge gefunden werden! 06:10:38 Geben Sie bitte nur einen Suchbegriff ein, der in den Artikelbeschreibungen enthalten sein soll oder den Namen eines Händlers darstellt (z.B. Celeron oder TNT2 oder Plug). 06:10:41 :( 06:10:44 ok 06:10:51 tnx :) 06:11:43 HAHAHAHA 06:11:49 MIRO 06:11:53 OINK 06:11:54 HELP ME ! 06:12:01 with w00t? 06:12:08 scroll up :) 06:12:12 w00t 0ink is h3r3. 06:13:08 Robert:) 06:13:25 --- quit: dax ("Client Exiting") 06:13:35 oink: repeat what ya need 06:13:39 hmmm, my laptop is there for 1550 euro, :\ 06:13:45 a MediaBank MT 06:13:51 (an external little case for 3.5" IDE hard drives with a firewire port) 06:13:57 is it only austria? 06:14:29 Rico: click on the germany flag 06:14:43 you'll have the list of german shops 06:14:46 aha :) 06:15:40 there the same laptop is 1450, 50 euro cheaper than where I can get it 06:15:53 Hoi, Rico! 06:15:59 :| 06:16:01 miro: ! 06:16:09 miro: help ! 06:16:48 Hmmm 06:16:56 It couldn't find anything... 06:16:59 Hoi, Robert! 06:17:10 Give just one word to search for... 06:17:17 heh 06:17:26 Which should be in the article dewdescriptopn. 06:17:29 description* 06:17:35 :( 06:17:49 PH33R MY GERMAN SKILLZ 06:18:05 it's $189.95 in .us wow 06:18:24 I'm sure it'd be like $100 in germany 06:21:29 I will get a wireless pc card for my laptop for school 06:21:36 okay nevermind 06:21:43 I found other products :) 06:21:49 they got a wireless network since now, it's w00t! 06:21:55 :) 06:22:51 but they require a cisco card, since they use a special encryption that is still yet implented in cisco cards only :( 06:22:54 http://www.cooldrives.com/usb20firox91.html 06:22:59 those are cheap! 06:23:01 errrr 06:23:02 heh 06:23:04 expensive 06:23:26 can't this "encryption" be made by software ?!?! 06:23:29 wtf 06:23:40 no drivers are available yet 06:23:47 the guys in your school fooled you :) 06:23:50 only for linux, but I'm a windows user 06:23:55 ah 06:24:08 too bad for you :) 06:24:11 it is an opensource encryption standard 06:24:50 yes, I know what you're talking about :) 06:24:57 I thought they made their own standard for a moment 06:26:22 TEA IS TEH BEST ENCRYPTION!!1 06:27:00 ^-- one of 06:27:10 woops, missed three spaces :) 06:27:17 Bah, no... I don't trust it :) 06:27:21 But, it's fast and easy. 06:28:13 er 06:28:16 I read AES :)))) 06:28:31 Pffff.... 06:28:42 AES is the new american encryption standard? 06:28:54 s/american/advanced/ 06:28:59 Oooh. 06:29:18 also known as rijndael 06:29:22 I saw the americans were looking for something better than 56-bit DES :P 06:29:35 rotfl 06:29:40 like, twenty years ago ? :) 06:31:04 Well, they've realized it's "a bit" old. 06:31:26 I think it's still the official standard. 06:32:23 moo 06:34:29 b00! 06:34:59 :) 06:36:11 grr 06:36:16 grr 06:36:26 * oink grr's with indigo 06:37:04 Murr. 06:38:25 * indigo wonders why his code keeps segfaulting 06:38:41 i suspect gnome canvas... 06:39:00 :-/ 06:39:33 :-/ indeed 06:40:07 http://geizhals.at/de/?cat=hdzub&a=28750 <- I need that 06:40:11 but for 3.5" HDD :) 06:42:14 --- quit: spyck (Read error: 110 (Connection timed out)) 06:42:24 --- join: spyck (~spyck@i80.ryd.student.liu.se) joined #osdev 06:51:56 grr 06:54:23 how do you tell gcc to make debugging syms? 06:54:45 -g[1-3] 06:55:03 generates gdb debugging symbols 06:55:52 use -gdwarf if you want dwarf debuggin symbols :) 06:56:38 or dwarf+, they are generally supported by gdb 06:58:33 hm 07:00:36 Program received signal SIGSEGV, Segmentation fault. 07:00:36 [Switching to Thread 1024 (LWP 14019)] 07:00:36 0x402bdb1e in Glib::ObjectBase::is_derived_ () from /usr/lib/libglibmm-1.3.so.15 07:00:41 :/ 07:00:47 eww 07:00:50 internal glib error 07:00:56 well, time to get ready for the day :P 07:01:17 well, it's probally because gnomecanvasmm is doing something stupid 07:01:21 as is usually the case 07:01:39 anyway, /me is gone 07:02:22 :) 07:07:10 --- quit: spyck (Read error: 110 (Connection timed out)) 07:11:24 --- join: cookin (~jrydberg@d212-151-43-221.swipnet.se) joined #osdev 07:12:19 ey! 07:12:26 Anyone tried out Cosmoe ? 07:14:20 --- join: Spindle (~SpindleTe@12-249-145-77.client.attbi.com) joined #osdev 07:14:36 ugggg 07:22:17 --- join: crg (~crg@server.sisk.reset.net.pl) joined #osdev 07:22:22 hey 07:22:27 anyone is developing pascal-os? 07:22:34 don't think so. 07:22:42 most people here use C and/or assembler. 07:22:54 yes, I know 07:23:15 --- quit: gpf|venus ("Client Exiting") 07:23:19 hey cookin =) 07:23:27 cookin : how are you? long time no see? 07:24:10 hey lynx 07:24:35 Rico : no it is germany/europe 07:24:39 hey crg :) 07:24:47 what`s cooking , dudz? 07:24:52 ;) 07:24:55 :) 07:25:42 lynx? 07:26:23 hmmm 07:26:35 Rico : geizhals 07:26:51 lynx: I passed my final exam today, so on monday I will start reading computer science. and you? 07:26:58 * indigo thinks he knows the problem... 07:27:28 --- quit: xS2x (Remote closed the connection) 07:29:52 cookin : well, coding some stuff for radiator.sf.net, else than that i have vacation and after that my final year starts 07:30:15 cookin : how is your djing going? 07:31:59 --- quit: Robert (Remote closed the connection) 07:32:15 --- join: Robert (~Robert@robost86.tsps1.freenet6.net) joined #osdev 07:32:17 osdev in pascal.. 07:33:59 crg: what a crazy thing! :) 07:35:00 (: 07:35:01 yup 07:35:02 ;> 07:38:21 got to leave 07:38:29 bye all 07:38:32 --- part: Ghiottone left #osdev 07:41:36 hi all 07:48:43 bbl - food time 07:58:07 hey 07:59:39 --- join: mur (jukka@baana-62-165-187-227.phnet.fi) joined #osdev 08:02:25 --- join: EtherNet (~ethernet@lu9dcn.ampr.org) joined #osdev 08:02:50 * mur tervehtii 08:03:10 --- join: Downix (downix@AC9A94CB.ipt.aol.com) joined #osdev 08:04:06 morning 08:04:12 yo 08:04:41 ".. you look like a fool to me .." 08:04:45 what's up? 08:06:20 ".. why'd have to go and make the things so complicated? .." 08:07:26 it's #osdev kareoke night I see 08:07:35 Downix: hehehh... 08:07:46 I was joking... because I am watching a music video 08:08:20 hehe 08:08:31 pity, she's got 1-hit wonder written all over her 08:08:45 Downix: do you know that song ? 08:09:05 yes 08:09:14 Downix: hehe that's cool 08:09:14 well-parodied at the VMA's 08:09:24 I have the Live Video (Much Music) and Clip 08:09:37 ok 08:09:42 * Downix shrugs 08:09:50 right now I'm more concerned about HDL deficiencies 08:10:00 heheh 08:11:20 --- quit: cookin (Read error: 113 (No route to host)) 08:12:00 cookin : woo 08:12:02 woo 08:12:04 wooooo 08:12:10 * lynx is sweaty 08:13:48 --- part: EtherNet left #osdev 08:14:14 * Downix throws lynx a tower 08:14:16 erm, towel 08:14:23 thanks :) 08:14:27 hrm 08:14:49 --- quit: HeavyJoost (Read error: 54 (Connection reset by peer)) 08:17:49 hm 08:18:17 How come all of the HDL material I find is on SPICE or VHDL? 08:18:47 dunno 08:20:20 hdl? 08:20:32 spice? 08:20:38 vhdl? 08:20:48 Hardware Description Language 08:20:59 whichcisd 08:21:00 SPICE is a very old one, VHDL is a fairly new one 08:21:08 HDL's are used to design hardware 08:21:20 * Downix is getting fustrated with VHDL's limitations, too close to Pascal 08:21:29 * file is waiting for a darn call 08:22:49 call? 08:23:01 yes 08:23:02 I 08:23:04 er 08:23:10 I'm supposed to be going to get my laptop fixed/painted 08:25:57 --- quit: crg ("Lost terminal") 08:28:33 --- join: jdrake (jptd@CPE014410113717.cpe.net.cable.rogers.com) joined #osdev 08:28:41 i have managed my first triple fault ! 08:29:45 Congratulations! 08:33:29 cool 08:33:33 freebirth for IRIX 08:34:04 Hey lynx :) 08:35:12 hey Robert :) 08:35:15 now I have to figure out exactly why 08:35:53 does anything look wrong to this? destination = (char*)(0xb8000 + (x + (y * 160))); 08:36:27 followed by *destination = c; 08:36:28 what happens ? 08:36:31 doesn't compile ? 08:36:43 it boots 08:36:58 nothing is wrong with the syntax then :) 08:37:10 it just puts crap on the screen, and then triplefaults 08:37:30 vmware tells me it triple faults :-) 08:37:38 Hehe. 08:37:45 what comes first in text mode the attribute or the character 08:37:58 Charachter. 08:38:21 and is (x + y * 160) the proper way to figure out an offset from b8000? 08:38:41 how do I put a GUI in my os? i mean if its text bases 80x25 how do I make it pixel based? 08:38:55 Spindle, you have to switch to graphics mode 08:38:58 woah cool 08:39:00 that is fancy 08:39:13 which I haven't ventured in to yet 08:39:30 i want to have it be 800x600x16 hehe but i heard vesa is a bitch? 08:39:46 i don't think you will be using vesa... 08:40:04 isn't vesa a bios standard rather than a card standard? 08:40:26 it's a video display standard 08:40:29 from BIOS to card 08:40:33 yup 08:40:44 so you would want to do it directly into the hardware 08:40:49 and VESA 3.0 was actually pretty nice 08:41:06 do you recomend it? 08:41:15 unless you like the s&m of switching back and forth between real mode and protected mode 08:41:26 nope, nobody supports the VESA standards 08:41:42 except for old-school cards like the Trident and Cirrus Logic 08:41:48 well then how the hell do people have high res guis in their os! =P 08:42:00 Spindle: proprietory video standards 08:42:00 Spindle: They write a driver for each card. 08:42:05 i think it would be extreamly hard to write a driver for a GeForce card 08:42:36 Spindle: Hence why most people consider drivers the biggest impediment to a new OS. 08:42:39 Spindle: yes it is, as people have been trying for years and have yet to make one without serious bugs 08:42:51 hehe 08:42:54 * Spindle punches nVidia 08:42:55 The best course for any new OS is to not play the driver-hell game 08:43:05 Applications come after time... but if you don't have enough drivers you can't grow your userbase. 08:43:09 what kinda game is that 08:43:19 limit the hardware, make sure your customers buy only that hardware, and you'll do well 08:43:24 about the only way I think you could get away with it is have a lot of money to pay the devil on your way to hell 08:43:27 Apple. 08:43:27 Apple does that quite well 08:43:56 any new startup (aka NeXT) that tries that won't work very well 08:44:11 jdrake: it might, depends on how they go about it 08:44:23 Be tried proprietary hardware too, didn't work. 08:44:35 nobody knew who they were 08:44:40 Magik: Actually it did, Be's most profitable years were the years of the BeBox. 08:44:57 The entire package must be somethign people are willing to drop cash on. Not just geeks. 08:44:58 Be dumped it for the CHRP standard motherboard, and then Apple could kill them 08:45:06 i know ReactOS is a windows clone would they be able to use nVidia's driver for windows on that os? 08:45:30 Spindle: no. It's a windows-API clone, not a full Windows clone 08:45:43 * Downix was part of the ReactOS team back when it was Freedows95 08:45:55 Knowing the hell that windows drivers are, I question the sanity of anyone attempting to reproduce that. 08:45:56 Egads I feel old now 08:46:20 what about being able to disassemble the drivers 08:46:32 I wish it was otherwise, but the best way to get an OS off the ground is open source or some similar model. 08:46:35 jdrake: that's how Linux has as many drivers as it does 08:46:41 It's just waaaaaaay to expensive to develop an OS. 08:47:04 You can do proprietary novel OSes, but you better be flush. 08:47:16 Magik: the other idea is to not develop an OS, but a package of an existing but unknown OS and package it with hardware that'll attract customers 08:47:25 --- join: miro_ (~miro@pD9E4C1E6.dip.t-dialin.net) joined #osdev 08:47:28 i would like to be able to figure out how my Xerox WorkCentre XE80 works, but they even have a special program they use that actually sends crap to the actual printer, you can't even use a usb to parallel cable 08:47:52 Well, yeah. That still doesn't change the OS development part of it. 08:47:57 Amiga does that with TaoOS. 08:48:13 Magik: Amiga's not making an OS, nor a system. 08:48:23 They're making a development environment - I know. 08:48:31 They're making an OS that you can host on other OSes (: 08:48:34 No they're not, Tao made the development environment 08:48:42 Amiga makes content for Tao's environment 08:48:44 why isn't Amiga dead yet? 08:48:56 jdrake: idiot investors 08:48:58 I loved my Amiga.... that's a common thread among Amiga owners. 08:49:25 I loved my Amiga 08:49:32 --- join: tirloni (~gpt@1-085.mganm700-1.telepar.net.br) joined #osdev 08:49:37 this Amiga, Inc has nothing to do with my Amiga other than the name 08:49:49 anyways, must get on the road. 08:49:50 later all 08:51:23 * Downix sighs. Amiga gave up on the OS route once they realized TaoOS was ill-suited to what they wanted. Now they just make silly games for Tao's OS 08:55:06 now i know what my problem was, i wasn't doubling x to account for the two bytes per character 08:57:06 --- quit: tirloni (card.freenode.net irc.freenode.net) 08:57:06 --- quit: jdrake (card.freenode.net irc.freenode.net) 08:57:06 --- quit: Spindle (card.freenode.net irc.freenode.net) 08:57:06 --- quit: witten (card.freenode.net irc.freenode.net) 08:57:06 --- quit: file (card.freenode.net irc.freenode.net) 08:57:45 --- join: tirloni (~gpt@1-085.mganm700-1.telepar.net.br) joined #osdev 08:57:45 --- join: jdrake (jptd@CPE014410113717.cpe.net.cable.rogers.com) joined #osdev 08:57:45 --- join: Spindle (~SpindleTe@12-249-145-77.client.attbi.com) joined #osdev 08:57:45 --- join: witten (~witten@adsl-gte-la-216-86-199-140.mminternet.com) joined #osdev 08:57:45 --- join: file (joshnet@65.166.122.14) joined #osdev 08:59:49 --- quit: tirloni ("Reconnecting") 08:59:51 --- join: tirloni (~gpt@1-085.mganm700-1.telepar.net.br) joined #osdev 09:00:30 --- quit: jdrake () 09:00:37 --- join: jdrake (jptd@CPE014410113717.cpe.net.cable.rogers.com) joined #osdev 09:01:28 --- quit: tirloni (Client Quit) 09:03:25 --- quit: miro (Read error: 110 (Connection timed out)) 09:05:37 would DOS be considered an 'exokernel' where it doesn't abstract much 09:06:04 Nope 09:06:04 there's a kernel in there 09:06:23 --- quit: Spindle (Read error: 60 (Operation timed out)) 09:06:43 but things like video memory can be done directly, avoiding the kernel 09:07:02 yes 09:07:07 it's direct hardware interface 09:07:20 not properly a kernel nor an OS as we understand it today 09:08:05 caveman os? 09:08:56 right 09:09:02 command-interpretation OS 09:09:06 like CP/M 09:10:17 if somebody made a flat real mode operating system (using that fake real mode or whatever to make full memory access), would it effectively be similar to macos? 09:11:02 jdrake: pre 10.x? 09:11:03 nope 09:11:07 would be closer to DOS 1.0 09:11:11 yes pre10 09:13:14 damnit 09:13:18 hrmpf... 09:13:22 * file twitches 09:14:55 somebody should code a better divx player than IRIXDIVX ... 09:15:01 hrm 09:15:11 i should give xine a try again and videolan 09:19:20 hmmmmmmmmmm 09:19:33 how long you think, lynx, the trasfer takes 09:19:59 what? 09:20:04 what transfer? 09:20:51 to graphician 09:21:04 i have no idea, darling :/ 09:21:09 hehe 09:21:21 hups i have forgotten something.. 09:21:27 it's at least 6 hours late :/ 09:21:42 br 09:23:37 woah 09:23:42 mur : did you ever try Eclipse? 09:23:46 it is a gfx proggy 09:23:47 donuts! 09:23:48 quite cool 09:23:48 brb 09:23:54 for win+IRIX 09:23:58 it rocks on my indigo :)) 09:30:33 --- join: Spindle (~SpindleTe@12-249-145-77.client.attbi.com) joined #osdev 09:33:49 --- quit: ctkrohn ("Client Exiting") 09:35:31 shit 09:35:34 eclipse rox! 09:37:50 eclippse? 09:37:53 what is it, no 09:38:00 uhmm.. what kind of 09:38:03 pgy 09:38:03 ? 09:39:21 hrm 09:39:34 it is like coreldraw comined with photoshop 09:39:57 if you dont want to pay you will have to use the demo which restricts your resolution to 1600x1600 max 09:40:00 --- join: ctkrohn (~ctkrohn@ip68-100-176-44.nv.nv.cox.net) joined #osdev 09:40:24 url? 09:40:59 hrm 09:41:03 i dont remember 09:41:06 ask google 09:41:11 "eclipse IRIX" 09:41:13 or soemthing 09:42:31 woah 09:42:34 i LOVE eclipse 09:42:44 did i mention that i love my box/irix, too ? 09:43:52 how old is irix now? 09:44:22 hrm 09:44:31 12 years or so 09:44:37 no 09:44:37 more than that 09:44:40 17 or so 09:44:47 i think they released it 1985 09:44:47 * Downix nods, more like it 09:44:48 is it one of the original unices? 09:44:55 ye 09:45:00 jdrake: nope, UNIX is 30 09:45:12 well 09:45:13 it's one of the original commercial unices tho 09:45:24 hrm 09:45:33 was unix written directly onto computers or were there punch cards involved 09:45:33 althought motif is kinda ... old-looking 09:45:48 jdrake: magnetic tape 09:46:01 punch cards 09:46:07 directly onto machines 09:46:19 all of the above, depending on the component 09:46:19 well I should get to work 09:47:21 file : work? 09:47:26 yes 09:47:35 I'm rewriting my web browser to use "smart redrawing" 09:48:29 meaning... what changes on the screen? 09:48:52 erm 09:48:56 currently I redraw everything 09:49:08 with this new thing, I'll only draw what has changed 09:49:11 WTF? 09:49:13 duh 09:49:40 file : are u using any engine for your webrowser? 09:49:53 lynx: I wrote everything 09:49:59 file : nice :)) 09:50:02 all I'm using is commands to draw text/squares/pixels 09:50:18 file : what gui kit are you using? 09:50:51 does anyone have ps/2 ram with parity? 09:50:58 i need it baaadly 09:51:03 afraid not 09:51:09 check ebay or crucial 09:51:09 :/ 09:51:14 yeah.. well... 09:51:15 lynx: this is for a PDA... 09:51:21 file : oh 09:51:23 file : ok :) 09:51:53 i suppose if you buy it, you would be paying out of the nose for it 09:52:18 i had old simms at one point 09:52:28 --- join: Kurt (~kmw@gc-nas-01-s227.cinergycom.net) joined #osdev 09:52:29 out of the nose ~ expensive? 09:52:33 how would you like a 386 with 4mb of ram... 09:52:38 lol 09:52:44 yes out of the nose is expensive 09:52:49 ok 09:52:52 oops, make that 386 with 16mb of ram 09:52:59 well... 09:53:07 i need at least 128 MB more 09:53:11 4x32MB or so 09:53:27 and a scsi->ide converter 09:53:29 to extend that.... how about a 486 running at 180mhz... 09:53:40 180? 09:53:41 pew 09:53:43 lynx: I figure out where all the items go on screen however, relative to where every other item is 09:53:47 i just know about the AMD 120mhz ones 09:54:30 there was this board known as a tomato board, it was a SWEET 486 board with 3 pci slots, and using a 5x86 133mhz (which in fact is a 486 chip) i was able to get it upto 180 09:54:48 wow 09:55:02 was ist one of the amd k5 ones? 09:55:06 jdrake: my system is a 5x86 133MHz 09:55:15 no, just before the k5 09:55:28 no PCI though 09:55:29 file, i feel sorry for you 09:55:33 hrm 09:55:37 just ISA 09:55:51 file : shal i send you a p100 or p133 ? 09:55:53 ah 09:55:58 you live in canananada :/ 09:56:10 I've got a p133 09:56:17 ok 09:56:22 my laptop :) 09:56:27 * Downix needs to get his athlon out of storage 09:56:27 file : if have a spare dual celeron here 09:56:33 but it's a slot-A athlon 09:56:41 so hard to get newer CPU's for it 09:56:46 burn it! 09:56:54 jdrake : the celeron? 09:56:55 Socket 3... sucks to be me 09:57:05 file : celeron? 09:57:09 file : dual 466 09:57:13 pickup a socket 6 09:57:33 well 09:57:38 * file sighs 09:58:46 --- join: spyck (~spyck@i80.ryd.student.liu.se) joined #osdev 09:59:05 damn 09:59:10 i am really in love :/ 09:59:16 i love this purpil box 09:59:21 purple 09:59:23 lol 10:00:23 gee 10:00:33 2.1 gigs isnt enough 10:03:17 fulpill 10:03:31 it would be if you could use them 10:03:34 --- join: acme (acme@pD9544F93.dip.t-dialin.net) joined #osdev 10:03:38 what's your memory and I/O speed? 10:03:58 what? 10:04:00 do you guys know anything about how to change the position of the cursor using ports? I have the docs that say which ports, but it only says the cursor location high and low 10:04:11 Downix : do you mean me? 10:04:21 lynx: That 2.1Ghz won't do you a lick of good if your memory and I/O systems can't keep the pipelines filled 10:04:41 Downix : i am talking about my fancy diskspace 10:04:52 Oh, ok 10:05:14 * Downix is used to seeing people going "2.1Ghz isn't fast enough" and the problem is an errant I/o device slowing down the CPU 10:05:48 heh 10:06:16 i find it all the time so funny when ppl say that servers/wokrsations like the sgi ones are outdated and too expensive 10:06:32 "I've got a 2.8Ghz Pentium 4" "what's your RAM speed" "RAMBUS 400Mhz!" "In other words, 50Mhz effective memory speed... and you're wondering why you can't get the system faster?" 10:06:39 I do too 10:06:44 I have an Alpha XP1000, 500Mhz 10:06:58 it runs circles around any desktop you can find 10:07:18 it runs circles = ? 10:07:35 can out-do in a real world scenario 10:07:46 that 256-bit wide memory bus does come in handy 10:08:00 * jdrake wants a system where the cpu (2.x ghz say) is the bottleneck 10:08:34 jdrake: can't happen. Intel's pushed CPU's so far that I/O won't catch up for 20+ years 10:09:03 * lynx nods 10:09:06 well 10:09:18 How can you get performance out of a 2Ghz CPU when it has to wait for a 4.5Mhz keyboard? 10:11:46 does C have anything for access ports, but safe to use in my kernel? 10:12:28 hrm 10:12:36 400MB/s on a 50mhz bus isnt bad 10:12:48 i don't remember what they were... 10:12:57 lynx: No, 50MB/s on a 400Mhz bus 10:13:05 Downix : lol 10:13:12 Downix : i mean my fancy indigo3 10:13:14 indigo2 10:13:19 she is ev0l 10:13:23 RAMBUS runs at 100Mhz clock-quadrupled 10:13:27 lynx: oh, ok 10:13:33 Indigo is nice 10:13:36 Downix : it uses ps/2 :P 10:13:36 Downix, last I recall the alpha is a 64bit processor right? 10:13:39 * Downix wants an SGI 10:13:40 uhh where are the tutorials on this page ... http://www.vesa.org/tutor.htm? 10:13:42 jdrake: yes. 10:13:54 you can't easily compare them to desktops then 10:13:55 lynx: SGI's also don't bother the CPU with low-bandwidth I/O calls 10:13:56 and whre can I find info in Vesa 3.0! =) 10:14:07 Downix : yeah 10:14:09 scitech 10:14:13 Spindle: try the VESA website 10:14:19 i did 10:14:26 vesa.org is their website 10:14:38 jdrake: actually yes you can, since there are other 64-bit desktop CPU's 10:14:38 Downix : and most x86 dudz say that sgi boxes are outdated because they just runb on 600mhz at the moment 10:14:39 nothing in on the tutorials page 10:14:55 lynx: they're on Mhz-mindset 10:15:01 * lynx nods 10:15:13 lynx: Amadahl's law prooves the Mhz myth 10:15:13 Spindle... http://www.vesa.org/vbe3.pdf 10:15:13 Downix : look at my r10k cpu for example 10:15:20 thanks 10:15:24 lynx: r10k... drool 10:15:25 Spindle: qzx.com/docs/OSDP/x86/video/ 10:15:26 195 mhz but 5 pipelined and superscalar 10:15:29 that is what we call googling 10:15:41 Downix : that is pure evil for 1996 technology 10:16:04 --- join: dax (~you@u212-239-207-153.adsl.pi.be) joined #osdev 10:16:04 lynx: even for modern, the r10k is a real competitor for actually delivering performance 10:16:07 heya 10:16:20 mmm r10k.... 10:16:25 GIMME GIMME 10:16:27 Downix : hrm 10:16:41 Downix : well, why do you say that? 10:16:55 lynx: I know many 3D companies still using them for modelling 10:17:11 Downix : i know the mips is fast but only if you calculate the performance independant of the mhz it is running at 10:17:13 r10k HAS ZE POWER. 10:17:19 rendering is not a real performance measurement, modelling is. Rendering is just number crunching. 10:17:30 yes 10:17:37 lynx: I'm calculating using what the system can do. 10:17:49 thats why many gfx companies use sgi for modelling and cheap x86 for rendering 10:17:57 * Downix nods 10:18:04 * spyck is away: at the pub. 10:18:09 all these Ghz monsters are good for is number crunching 10:18:13 yes 10:18:20 pity computing is more than just numbers 10:18:22 they have a very good cpu performance 10:18:41 SGI's have more than just CPU's going for them tho 10:18:44 a computer is more than the CPU 10:18:45 but what the ppl should get is that cpu performance is worth shit if your whole i/o memsys is sucky 10:18:50 yep 10:18:52 right 10:19:25 why do Apples impress people? The I/O system is much better. Sure, Apples memory system stinks, but even a better I/O impresses folk 10:19:41 dax : i send you my dual celeron mainboar dif you get me 128MB ram from ebay for my box and a scsi-ide converter 10:19:49 (Apple can't even get 40% performance out of their CPU's due to memsys issues) 10:19:56 * lynx nods 10:20:02 lol 10:20:09 lynx: sDRAM or DDR ram? 10:20:15 and then they swithc to rambus but cut the l2 cache on the new systems 10:20:16 lol 10:20:19 only nerds want powerful computer, normal users woudl rather use working interface and hardware 10:20:35 mur: normal users don't understand what makes a computer useful 10:20:54 Downix : well... the "ease of use" makes them useful 10:21:00 for most users 10:21:00 lynx: RAMBUS was actually a smarter move. Less latency issues with PowerPC than x86. 10:21:01 normal people are stupid anyways :P 10:21:14 Downix : hrm 10:21:15 Downix: what do you mean by that 10:21:28 hardware is useless if you dont have anythiang to use it to 10:21:29 Downix : the new fuel uses rambus :/ i think 10:21:29 lynx: indeed. But how "ease of use" would the Apple be if the mouse hung 10:21:32 or was it ddr ? 10:21:52 Downix : they use modern technology 10:21:58 apple is using ddr 10:22:07 mur: PowerPC has latency issues itself, similar to those in RAMBUS's case. As a result, compiler designers have optimized the hell in order to minimize those issues. 10:22:15 Downix : they kicked old i/o long time ago 10:22:49 lynx: I'm not talking the old I/O, I'm talking how they handle the I/o they have. 10:22:57 Downix : oh 10:23:03 Downix : i hardly know anything about that 10:23:28 lynx: Apple's always kept the I/O away from the processor, in order to minimize the impact. 10:23:47 Downix : hrm 10:23:48 ok 10:23:58 It's a solution you can't do with x86, since the 8086 lineup of chips demands I/O handled one way or else programs won't run 10:23:58 Downix : do you know anything about GIO64 and such? 10:24:16 GIO64 is a bus, not quite the same thing as we're talking 10:24:21 i know 10:24:26 it just popped into my mind 10:24:37 ok 10:24:45 I just know a little bit, honestly 10:24:47 what header is outw in? te man page isn't talking 10:25:10 can't help 10:25:20 I just know that it's SGI's old bus 10:25:22 Downix : heh, i know many demosceners use x86`s slow io to make sure the demo runs at the same speed on faster cpus 10:25:26 thats pity 10:25:33 lynx: it's needed. 10:25:52 --- join: pavlovski (TimRobinso@modem-234.abra.dialup.pol.co.uk) joined #osdev 10:25:56 hrm... 10:26:01 lynx: the more dispariate the speed difference between the fastest and slowest parts of a machine are, the more chance of hangups 10:26:04 hi :) 10:26:12 * lynx nods 10:27:07 * Downix loads the GIO64 manual to take a look himself 10:27:46 "dax : i send you my dual celeron mainboar dif you get me 128MB ram from ebay for my box and a scsi-ide converter" 10:27:49 --- join: Mathis (Mathis@gstw-d9b89f1d.pool.mediaWays.net) joined #osdev 10:27:49 hmm 10:27:54 only the board? 10:28:00 with cpus 10:28:01 and ram 10:28:07 hiyall 10:28:10 and the v3 10:28:11 i got a stick of 128MB around here 10:28:11 why 10:28:17 i crashed vmware :-) 10:28:26 that isn't too hard :) 10:28:28 dax : i need ps/2 ram with parity ... 4x the same modules 10:28:36 --- join: HeavyJoost (HeavyJoost@a213-84-139-110.adsl.xs4all.nl) joined #osdev 10:28:43 ps/2 ram with parity? 10:28:46 yes 10:28:50 36bit one 10:28:54 for my indigo2 10:28:55 you got an auction wit that? 10:29:03 i tried outputing a to ports 3d4 and 3d5 to set the cursor position, but it didn't work 10:29:19 * lynx looks at the GIO bus docs 10:29:29 dax : no... but there are plenty of it 10:29:46 hmm 10:29:57 i guess i did it in the wrong order 10:30:07 ram+ide->scsiII and the celeron is yours 10:30:21 lynx: sims? 10:30:24 edo? 10:30:25 hmm 10:30:31 fpm? 10:30:40 hrm 10:30:45 well... 10:30:53 i think it is fpm+parity 10:31:02 i NEED parity else the sys wont recognize the modules 10:31:11 like 4x 32MB modules 10:31:13 I have some parity ram 10:31:13 ok 10:31:14 lemme see 10:31:30 http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=2049368162 10:31:33 it's old tho, 4x16 10:31:44 30-pinners 10:31:52 i set the cursor, just in the wrong position 10:32:20 lynx: would that be ok? 10:32:26 dax : lemme see... 10:33:29 bah, I write really stupid code 10:33:41 dax : yes 10:33:49 --- quit: spyck (Read error: 60 (Operation timed out)) 10:34:00 dax : i saw german auctions with buy it now for 59e 10:34:36 http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=2049627923 10:34:38 dax : but i think scsiII-> ide is expensive :/ 10:34:50 like ... 75-85 euro new :/ 10:35:33 http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=2048857881 10:36:13 http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=2049150151 <-- that one? 10:37:04 yes 10:37:09 all those should work 10:37:13 why don't you buy it yourself btw? 10:37:24 because i am saving money for my dj set 10:37:27 I write *really* stupid code 10:37:28 and i dont want to touch it 10:37:33 ah 10:37:37 but i need the parts badly 10:37:44 dax : would it be okay for you? 10:37:51 ram+ ide-scsi converter? 10:37:53 so i buy the ram & one of those convertors 10:37:59 and you ship the celeron? 10:38:04 you will get the mobo, cpus, v3 and ram if youwant 10:38:26 yes 10:38:29 scsi-ide converter might be hard to find 10:38:33 wahey! 10:38:35 well 10:38:39 i know where to get it new 10:38:43 where? 10:38:48 but it is 75 euro/85 euro 10:39:04 and i think only the 85 euro one would work really fine 10:39:06 :/ 10:39:54 http://www.scsi2ide.com/ ? 10:40:12 well, it was a german reseller 10:40:18 they are german 10:40:21 yes 10:40:27 but afaik they produce the expensive ones 10:41:21 www.com-discount.de 10:41:29 or pc500.net for uk 10:42:05 and the adapters are from acard.com 10:42:17 the ARS-2000FU would be REALLY gorgeous 10:42:37 because it would fit on my drive sled , i dotn know abotu the other one 10:42:45 ah 10:42:47 lemme see 10:43:15 2000FW ? 10:43:36 gah... I got an headache.. that sucks.. 10:44:25 * lynx amasses eks 10:44:28 on the head 10:44:29 damned expensive 10:44:36 dax : 2000FU 10:44:48 scsi2 10:44:52 ultra scsi -> ide 10:45:05 109e 10:45:11 where? 10:45:17 com-discount.de/ 10:45:18 i saw it for 85 euro 10:45:20 hrm 10:45:24 lemme look at it again 10:45:48 85 euro 10:46:53 59 + 85 euro for that celeron... i dunno 10:46:55 dax : not the FW but the FU 10:47:05 dax : you decide 10:47:19 nah 10:47:23 ok 10:47:23 hmm 10:47:29 already have a nice smp rig 10:47:34 :) 10:47:37 =) 10:48:08 would be more interested in a mac/sgi/sun/whatever 10:48:58 well, i sold my indigo2 already to a friend 10:49:23 the old one 10:49:33 i know 10:49:41 * Downix would be more interested in tools to finish his hw design 11:07:08 --- nick: geist-sleep -> geist 11:09:19 hey geist 11:09:37 --- quit: mur (Read error: 110 (Connection timed out)) 11:09:48 * Spindle waves at pavlovski 11:09:55 --- join: mur (jukka@baana-62-165-187-227.phnet.fi) joined #osdev 11:10:21 yawn 11:10:24 * geist wakes up 11:10:26 --- quit: mur (Client Quit) 11:10:32 --- join: mur (jukka@baana-62-165-187-227.phnet.fi) joined #osdev 11:10:58 * Downix shoots geist with a tranq dart! 11:13:11 --- quit: Downix ("Client Exiting") 11:15:40 --- quit: ^ChAoS (Read error: 60 (Operation timed out)) 11:18:48 hm 11:18:49 moo 11:19:08 ammuuu 11:19:10 * indigo finds bugs with electric fence and gdb 11:19:13 ammuu sanoo lehmä 11:19:53 yah, what you said 11:20:07 you guys know the format of the word you send to vga to set the cursor position? I can't figure it out, nor find anything on the format 11:20:28 ammuu says cow 11:20:29 that is 11:20:30 yah...1 sec 11:20:31 finnish 11:20:42 jdrake: to raw vga hardware? 11:20:45 yes 11:21:03 you dont 11:21:14 you simply start writing to a different location in the framebuffer 11:21:19 sure you do 11:21:22 text mode 11:21:30 oh the cursor you mean 11:21:33 yes 11:21:33 // move the vga cursor 11:21:35 like the blinky thing 11:21:37 asm volatile ( 11:21:41 "mov $0x0E, %%al;" 11:21:47 "mov $0x03D4, %%dx;" 11:21:49 "mov %%ch, %%ah;" 11:21:52 "out %%ax, %%dx;" 11:21:54 "inc %%eax;" 11:21:56 "mov $0x03D4, %%dx;" 11:21:59 "mov %%cl, %%ah;" 11:22:01 "out %%ax, %%dx;" 11:22:10 : 11:22:13 : "c" (cur_pos >> 1) 11:22:15 : "edx", "eax" 11:22:17 ); 11:22:23 there you have it :) 11:22:44 or 11:22:45 static void update_cursor(unsigned int x, unsigned int y) 11:22:45 { 11:22:45 short int pos = y*columns + x; 11:22:45 out8(TEXT_CURSOR_LO, TEXT_INDEX); 11:22:45 out8((char)pos, TEXT_DATA); 11:22:47 out8(TEXT_CURSOR_HI, TEXT_INDEX); 11:22:49 out8((char)(pos >> 8), TEXT_DATA); 11:22:51 } 11:22:53 #define TEXT_INDEX 0x3d4 11:22:55 #define TEXT_DATA 0x3d5 11:22:57 #define TEXT_CURSOR_LO 0x0f 11:22:59 #define TEXT_CURSOR_HI 0x0e 11:23:04 bah...my version is better :) 11:23:42 this is what I have been doing... 11:23:43 void k_gotoxy(char x, char y) 11:23:43 { 11:23:43 unsigned location; 11:23:43 location = x + (y) * 80; 11:23:43 outb(0x0E, 0x3D4); 11:23:45 outb(location >> 8, 0x3D5); 11:23:47 outb(0x0F, 0x3D4); 11:23:49 outb(location & 0xF, 0x3D5); 11:23:51 } 11:23:57 it doesn't work 11:24:26 switch 3d5 and 3d4 11:24:39 wait 11:24:42 no 11:25:14 make for darn sure you're passing the arguments to outb in the correct order 11:26:07 moo 11:26:17 our versions look the same to me 11:26:29 the difference is that I'm writing the hi byte first 11:26:31 try that 11:26:43 and make sure you're using your outb macro in the right order 11:26:58 9/10 when somethign doesn't work for me it's because I pass it in the other order 11:26:58 outb(0x3d4, 0x0f); 11:26:58 outb(0x3d5, (pos/2) & 0xff); 11:26:58 outb(0x3d4, 0x0e); 11:26:58 outb(0x3d5, (pos/2) >> 8); 11:26:58 no, you are writing the high byte first 11:27:01 that's mine 11:27:11 and i set the lower thing first :) 11:27:18 port comes last 11:27:24 i am using 11:27:26 you are sure? make sure 11:27:40 i crashed vmware at first because I had it in the wrong order 11:27:50 okay, well then I dont know 11:28:00 looks fine to me 11:28:51 hum 11:29:02 anyone know how to demangle function names in gdb? 11:29:18 i'm just not sure what is_derived___CQ24Glib10ObjectBase is :) 11:29:20 c++ functions? 11:29:22 ja 11:29:28 hold on, there's a program for it 11:29:44 * indigo holds geist 11:30:18 try running c++filt 11:30:25 pass the string to it 11:30:28 dax, how to you calculate pos 11:31:15 uhm 11:31:22 --- quit: Zenton (Read error: 54 (Connection reset by peer)) 11:31:30 (x + 80*y) * 2 i guess 11:31:57 why *2 11:32:01 or pos = x + 80 * y and remove the /y from the outb 11:32:06 cool! 11:32:18 geist: you 0wnz0r 11:32:22 --- join: Zenton (~vicente@8.Red-80-34-35.pooles.rima-tde.net) joined #osdev 11:32:25 oh due, I didn't see the /2 11:32:29 er duh 11:33:14 grrr 11:33:17 fucking bug 11:33:19 grr! 11:34:44 0x8(%eax) in gas means [eax+8] right? 11:35:00 dax, it works :-) 11:35:15 indigo: yes 11:35:17 or is it [eax*8] ? 11:35:19 ahh 11:35:20 oki 11:35:20 jdrake: hmm... what did you change? 11:35:23 hmm 11:35:23 indigo: +8 11:35:40 eax = 1 :/ 11:35:55 it's tring to access memory at 0x9 11:36:03 which is kernelland... 11:36:28 aagck! 11:36:34 0x402bdb1e : cmpl $0x0,0x8(%eax) 11:36:40 why not test eax, eax? 11:36:47 * indigo hates C! 11:36:53 that would be test [eax+8], [eax+8] 11:36:55 it's so fucking stupid! 11:36:57 which doesn't work 11:36:57 --- quit: Spindle (Read error: 104 (Connection reset by peer)) 11:37:05 oh... 11:37:06 ahh 11:37:07 i see 11:37:11 * indigo curses gas syntax 11:37:14 so fucking lame! 11:37:19 it is 11:37:19 uhm 11:37:27 i prefer at&t over intel 11:37:28 :) 11:37:30 dax, i just reversed the order of the functions to make it compatible with the outb i am using 11:37:33 * indigo curses dax 11:37:36 so fucking lame! 11:37:44 makes more sense... 11:37:44 at&t looks wierd, but I better learn it 11:37:49 lol 11:37:54 #!#/me &*(#@!*#*(7curses (@##*@!%)*(#$dax 11:38:07 jdrake: told you! make sure you're using it in the right order 11:38:10 dax, it doesn't make more sense, it just helps optimize code better 11:38:15 #!@*()#()*i &*(#@&!*(don't @!*(#@*(!!know @(*#&*(!@$&(how *(&%&*(#&$@(*#you *@)#&*%!(*)@#can &@#*(%&*(#(&)@#read @&(*#&*(!@!#this &#*(@!(&)#&()shit 11:38:15 "it took the power of three c64s to fly to the moon, it takes a 486 to boot windows" 11:38:17 lol 11:38:19 cursel %me, $dax 11:38:23 indigo : wut? 11:38:28 jdrake: i was talking bout intel/at&t 11:38:39 indigo: well i write most of my assembler in at&t 11:38:51 dax: *)(@#you @#*)!@*#()are #*@#*&()%@insane 11:38:53 haven't done any intel style stuff the past few years 11:38:55 so... 11:38:58 anyone worked out segment overrides in AT&T? 11:39:02 geist, i swear dax's code does the exact same thing I do, but with /2 11:39:15 but you said you swapped the order and it works now 11:39:29 what does this look like in AT&T: mov word [es:0b8000h], 1234h 11:39:31 uhum 11:39:35 i swapped the order of dax's code because my outb is the reverse of his 11:39:42 oh I see 11:39:45 never mind 11:39:46 well, this is bad... 11:41:44 pavlovski: uhm... afaik it's just movw $0x1234, (0xb8000) 11:41:45 hmm 11:41:55 hrmph 11:41:56 --- quit: zensox (Connection timed out) 11:42:15 dax: where does the ES: go? 11:42:19 * indigo curses bugs 11:42:33 pavlovski: afaik gas doesn't support that 11:42:40 * The AT&T assembler does not provide support for multiple section 11:42:40 programs. Unix style systems expect all programs to be single 11:42:40 sections. 11:42:40 great! 11:43:15 so the GNU assembler doesn't support basic x86 features? 11:43:25 pavlovski: that's correct :) 11:43:30 segment overrides are necessary in system code even in a flat memory model 11:43:35 seriously? 11:43:44 pavlovski: it doesn't support human interpetitaion either 11:43:55 pah 11:44:04 * pavlovski continues to use Nasm 11:44:11 pavlovski: in fact, using a hex editor is prefered over gas 11:44:18 :) 11:44:21 as far as human readability anyway... 11:44:22 more error checking 11:44:42 gas's COFF support is bugged enough to make it unusable with gcc 11:44:43 i prefer gas over nasm. 11:44:45 heh 11:45:00 COFF debug info support, that is 11:45:00 you see, gas was written by a bunch of idiots who couldn't write a decent tokenizer 11:45:47 because they couldn't figure out that "eax" is a register and "2" is a number, they needed prefixes for them, as such: %eax $2 11:46:09 hmm... apparently normal AT&T syntax doesn't need % on registers 11:46:18 I've seen PPC code that has literal register names, right in there 11:46:29 what's more, they can't handle simple algebraic manipulation, so the "human" syntax of [eax*2+4] would not work 11:46:45 pavlovski: it does 11:46:56 indigo: only for x86 11:46:57 pavlovski: when you embed it GCC, it needs %% 11:47:14 dax: how is it done on other platforms? 11:47:16 when you embed it in GCC inline assembly blocks that have %n parameters 11:47:29 because the GCC parameter prefix (%) collides with the gas register prefix (%) :) 11:47:45 right because they are idiots 11:47:49 indigo: most other archs work without the % prefixes 11:47:56 * pavlovski wants to bash Richard Stallman's head against a wall 11:48:02 dax: and why is that? 11:48:18 dunno 11:48:23 heh 11:48:27 ESR: "Let's write a really good compiler and assembler!" 11:48:32 aparrently, the authors of gas wern't thinking 11:48:37 RMS: "Nah, let's just write gcc and gas" 11:48:47 heh 11:48:50 I LIKE GAS 11:49:10 I like Gas too... it allows me to cook food 11:49:18 I don't like the GNU assembler though 11:49:21 i like it 11:49:42 dax: using gas is like speaking (interogitive)why (conditional)would (pronoun)you (verb)do (noun)that (punctuation)? 11:49:55 it's insane 11:49:59 lol 11:50:03 * geist has no problem with gas 11:50:14 it's just another syntax. 11:50:19 you like it or you don't 11:50:24 it's great to be pretty consistant with other cpus 11:50:29 if you don't, use nasm & stop complaining 11:50:29 neither do I... nm 11:50:31 (pronoun)you (verb)are (adjetive)insane (punctuation). 11:50:37 yes i am. 11:50:41 got any problems with that? 11:50:48 (affirmitive)yes 11:50:55 i prolly qualify for quite a few mental disorders... but who cares? 11:51:04 indigo: (adj)insane (verb) is, (noun) dax 11:51:20 yoda that way speak too 11:51:22 it's like having typesafe variables wasn't enough...they had to have typesafe TOKENS 11:52:06 i think it was because they couldn't write a decent tokenizer 11:52:33 well... geist has a point... it's pretty consistant with other cpus 11:52:44 while the intel syntax is the oposite of other cpus 11:52:50 I personally dislike intel syntax 11:53:03 you guys are all insane! 11:53:03 Intel syntax for an Intel CPU 11:53:24 asm is not supposed to be portable :P 11:53:43 geist: join the club. 11:53:48 well 11:53:49 bbl 11:54:47 LAHLAHLAH 11:54:50 I AM INANE 11:54:54 INSANE* 11:54:56 --- join: Amon-Re (ddefreyne@D5E064F6.kabel.telenet.be) joined #osdev 11:55:00 amon. 11:55:01 you're inane too :) 11:55:04 d4x 11:55:04 lol 11:55:12 --- nick: Amon-Re -> amon_re 11:55:30 BOOM. 11:55:37 h0nkh0nk 11:55:37 i should assemble my smp rig... 11:55:53 I should stick another cpu back in mine and see if it'll work 11:56:15 geist: what cpu? 11:56:20 LAHLAHLALHLAHLALHALHLALHALH 11:56:27 inane! 11:56:27 fuck da is al donker 11:56:31 joo! 11:56:33 't is nog geen 9 uur :( 11:56:42 woops 11:56:56 dax->revert_to(languages::english); 11:57:04 Omg dax don't speak nederlands in hier aub, will je? 11:57:12 :) 11:57:30 dax: my 1337 bot can translate that for you 11:57:31 :O!! 11:57:32 neitneit! possibly 11:57:45 dax: But it doesn't translate anything in an non-empty channel >:) 11:58:00 this channel is empty 11:58:02 got some nice static x music 11:58:04 you again just imagine 11:58:05 yes it is 11:58:14 we are all inane 11:58:17 insane* 11:58:19 mur: emtptptptptyypt channels don't exist 11:58:25 Because channels are groups of users 11:58:32 you again just imagine 11:58:34 And a group of users without users doesn't exist 11:58:34 we dont exist 11:58:39 * amon_re has no mind 11:58:47 * amon_re can therefore not imagine 11:58:49 * mur forgets everythign right now 11:58:51 AND BTW IT'S MY BOT. 11:58:53 dont confuse me more 11:59:00 Mb I will teach my bot yoga 11:59:00 !!! 11:59:01 i am not coding thus i don't exist. 11:59:12 Very good, dax 11:59:25 dax is stil inane 11:59:26 DAX ASL 11:59:28 <|101st|-Whypick1> that i can deal with, it's the fact that backing up 60gb of stuff will be a PITA 11:59:28 <|101st|-Whypick1> especially when i don't have direct access to a burner 11:59:28 upload it to a server somewere 11:59:28 ibm disc? 11:59:28 <|101st|-Whypick1> the only FTP that i have unrestricted access to i can't connect to thx to AT+fucking T 11:59:29 <|101st|-Whypick1> plus, cable upload bites 11:59:31 hmm 11:59:33 floppies? 11:59:36 amon_re: no pron for you 11:59:42 15/MAIL/GENT 11:59:45 dax is too yung for your stuphs 11:59:51 hes's 16 11:59:53 duh 12:00:00 2^2^2 12:00:10 o_^ KEKE 12:00:11 amon_re: you are 3 layered 12:00:12 :D 12:00:14 --- join: trash (~trash@pe165.zgora.cvx.ppp.tpnet.pl) joined #osdev 12:00:22 mur: I am a piece of shit 12:00:23 I MEAN 12:00:25 he hasn't got laid 3 times though. 12:00:31 so 12:00:33 not 3-laid. 12:00:37 "haha" 12:00:41 lol 12:00:42 hmm... 12:01:02 "if i use strings and pass pointers on channel, i will save memory. damn i'm such wise!" 12:01:19 lol 12:01:21 Tssk 12:01:35 0x24812FE2 12:01:57 --- join: Tezzeu (usuario@baydeh2-154.baydenet.com.br) joined #osdev 12:02:03 why dont you reply? 12:02:06 i said 12:02:08 --- join: Spindle (~SpindleTe@12-249-145-77.client.attbi.com) joined #osdev 12:02:08 0x24812FE2 12:02:17 Yeah, while you guys are communicating in hexadecimal pr0n ascii language, I will write an app to decode it 12:02:20 get the strings from pointer 12:02:22 "dcode" 12:02:24 :) 12:02:42 dcod 12:02:45 COD 12:02:48 dc 12:02:48 PLAICE 12:02:49 hm 12:02:50 TROUT 12:02:50 d 12:02:58 D(str) str 12:02:59 DADADADADA 12:03:08 dax is jammed 12:03:11 anyone know how to write plot pixel function for VGA! 12:03:12 no 12:03:14 inane 12:03:16 Jax is damned 12:03:17 insane* 12:03:20 i feel like plotin pixels@! 12:03:21 LOLOLOL 12:03:22 fuck i can'tspoll 12:03:30 oh my 12:03:31 your gigners are inane, dax 12:03:39 fingers 12:03:42 Spindle: can i plot your pixels? *wank* 12:03:44 WINK* 12:03:45 woops 12:03:49 Spindle: I know how to 12:03:50 Hah 12:03:55 aax:) 12:04:04 * amon_re feels like MUDding 12:04:16 * amon_re is a level 35 palladin 12:04:21 Paladin? Palladin? Paladdin? 12:04:22 well do I just write to A00000h or something and do like an x + (width * HEIGHT) maybe? 12:04:24 Palladdin? 12:04:29 alladin? 12:04:32 aladin? 12:04:36 allahdin 12:04:37 p-aladin 12:04:43 wow, there sure is a lot of background noise here today 12:04:44 Spindle: if you're in 256 colour mode, yes 12:04:45 *pAladin 12:04:46 pAlladin 12:04:51 geist: just what I was thinking ;) 12:04:51 a pointer to aladin 12:04:55 k 12:05:00 yes 12:05:03 He is my Pal--ala-din 12:05:08 FRENSH MB 12:05:09 amon_re: paladin 12:05:11 palaladin? 12:05:14 lol 12:05:16 Spindle: in 16-colour mode you need to deal with individual bits and planes 12:05:19 Palaloladin 12:05:21 palalalalalalalalaA/LALALALALLAalalalaladin. 12:05:23 Anyway, I'm MUDding 12:05:31 DTFU!! 12:05:32 pwned 12:05:33 Piemeldin. 12:05:33 geist: and pavlovski if you had SETI program you might find intelligent life! 12:05:42 where? 12:05:47 not in this room though 12:05:52 dax: what is the result of that palalalalalalalalaA/LALALALALLAalalalaladin. ? 12:05:52 no kidding 12:05:57 Aardwolf Aardwolf Aardwolfmud 12:05:58 later guys, too much noise 12:06:00 --- part: geist left #osdev 12:06:04 lol 12:06:04 --- part: oink left #osdev 12:06:06 dax: do you mUD? 12:06:08 MuD? 12:06:09 TEH TRANCe IS TEH NOIZE 12:06:10 Mud? 12:06:11 not atm 12:06:12 MUD? 12:06:15 DUMMUDUMUDUM 12:06:21 i IRC 12:06:22 Boom. 12:06:23 dax: Check cut AardwolfMUD 12:06:27 OUT 12:06:27 IRCCIRRICIRICI 12:06:28 nah 12:06:28 wtf? it's like being in a channel with JeffK 12:06:31 ircII 12:06:35 jeffk? 12:06:38 IRSIIIII 12:06:47 pavlovski: yes and you feeli like joineniing inane conversatoin? 12:06:56 come on 12:06:56 Mwaaahah JEFF K SI MYE PFREIND MB#@!! 12:07:00 this is geekphun. 12:07:03 omg 12:07:09 Windrider eats a juicy steak 12:07:10 who is that guy? 12:07:14 * dax wants to use another thing 12:07:16 "You drink water from a bottle of beer" 12:07:17 irc client 12:07:21 lynx: amon? 12:07:24 dax: telnet! 12:07:25 Jeff kenedy pers of usa? 12:07:27 formedr 12:07:30 mur: no thanks 12:07:36 why? 12:07:59 because I've got better things to be doing :) 12:08:35 hah so you join seems, since you have weird sentence structured 12:08:36 s 12:08:46 to be doing 12:08:48 hehe 12:09:01 lol 12:09:03 HEHE. 12:09:05 HIHI. 12:09:18 amon_re just cleaned his room. 12:09:25 he moved everything to the corridor. 12:09:26 lol 12:09:38 ROTATE_LEFT eat 12:09:45 ate 12:09:47 ROTATE_LEFT ate 12:09:50 tea 12:09:58 insteresting inst't? 12:10:18 dax fu 12:10:24 :< 12:10:36 dax: I *did* clean my room 12:10:40 Hmmm 12:10:45 + "not very well" 12:10:46 :( 12:10:51 hmmmm 12:10:51 NO MUD FOR ME 12:11:03 TAART. 12:11:04 we have to clean rooms in place X every dfamn day 12:11:08 and very too well 12:11:09 :/ 12:11:19 and corridor too 12:11:21 tr44t 12:11:25 that is not inces 12:11:26 nice 12:11:29 ic 12:11:31 even there are 10 ppl to do that 12:11:44 For one single room? 12:11:45 wtf 12:12:14 --- join: Ghiottone (~alex@ppp-136-19.27-151.libero.it) joined #osdev 12:13:04 i dont wish to talk about that 12:13:21 because i'm not there voluntarily 12:13:29 k 12:13:38 bah 12:13:41 * pavlovski is there voluntarily 12:13:41 though i suppose it's getting much better once i get transfer to graphician post 12:13:54 pavlovski: in conscription army? >:) 12:13:56 --- join: dax__ (~dax@u212-239-207-153.adsl.pi.be) joined #osdev 12:14:00 ok, not technically the same place 12:14:02 HI. 12:14:06 no, volunteer reserve 12:14:08 LO 12:14:13 HI DAX 12:14:14 --- join: jbreker (~jbreker@HSE-Ottawa-ppp236719.sympatico.ca) joined #osdev 12:14:14 volunteer reserve? 12:14:19 HI TO YOU TOO DAX 12:14:22 Y 12:14:25 the British Territorial Army 12:14:26 ES HI TOOO 12:14:28 HI 12:14:28 dax 12:14:30 HI 12:14:32 etc 12:14:34 etc 12:14:35 I didn't know you were that lame 12:14:39 i am. 12:14:41 dax: You look like a bot 12:14:45 i am. 12:14:46 Bot 1: BOO 12:14:48 Bot 2: BOO 12:14:50 Bot 1: BOO 12:14:52 etc etc 12:14:55 --- quit: Spindle () 12:15:00 dax: You saw it, didn't you? 12:15:10 amon_re: i fart in your general direction! 12:15:14 hmm 12:15:14 pavlovski: why? 12:15:19 "grbot bwaahahah is bwaahahah" 12:15:30 And then start 2 bots and type "bwaahahah" in the channel 12:15:30 mur: because I want to 12:15:34 because I enjoy it :) 12:15:45 pavlovski: why woudl anyone want to kill other volunterily 12:15:45 heh 12:15:48 baaad. 12:15:56 FUCKIT 12:16:01 DIE XINE DEVS, DIE 12:16:06 i don't like fucking scooters 12:16:12 mur: I don't intend to kill anybody 12:16:30 pavlovski: hah! that is what they teach in army 12:16:35 to kill others if needed 12:16:42 amon_re: moo 12:16:59 dax: moo 12:17:00 %kRED 12:17:05 hmm 12:17:06 not really 12:17:53 "The pile of gold coins is showing a few grazes" 12:17:55 Wtf 12:18:00 I'm fighting a pile of gold coins 12:18:01 GAY 12:18:06 amon_re: kick its ass! 12:18:07 FOOBAR 12:18:12 what was the name of the game, amon_re :) 12:18:15 "The pile of gold coins needs a hospital" 12:18:23 mur: Aardwolf, a MUD 12:18:27 url? 12:18:34 www.aardwolfmud.org 12:18:37 I think 12:18:38 Hmm 12:18:51 telnet aardwolfmud.org 4000 12:18:53 * pavlovski reminds dax, dax__, amon_re and mur that the topic of discussion is "OS Development", not MUDs 12:19:05 you guys got to see this... http://cgi.ebay.com/ebaymotors/ws/eBayISAPI.dll?ViewItem&item=1855415508 12:19:08 "The gold bar should be a fair fight!" 12:19:11 Dude 12:19:15 This MUD is gay 12:19:17 pav: Right 12:19:21 I will STFU. 12:19:41 hah 12:20:10 pavlovski: SO? it's lame to stop others talking abuot somethign else if there is nothing to say related to topic 12:20:22 * pavlovski ...and STAR WARS KIT CARS! :D 12:22:13 the only problem with that car is what happens when it rains... 12:22:43 --- quit: dax__ ("leaving") 12:22:51 --- join: dax__ (~dax@u212-239-207-153.adsl.pi.be) joined #osdev 12:24:57 moo 12:25:00 --- quit: dax ("Client Exiting") 12:25:02 --- nick: dax__ -> dax 12:25:45 hehe aardwolf has lottery 12:25:46 :) 12:27:39 --- quit: dax (Client Quit) 12:28:31 --- quit: trash ("leaving") 12:28:49 --- join: dax (~you@u212-239-207-153.adsl.pi.be) joined #osdev 12:32:48 .. 12:32:50 AMON. 12:32:54 I WUB THEE. 12:33:28 --- quit: HeavyJoost (Read error: 54 (Connection reset by peer)) 12:35:48 --- join: lar1 (~lar1@adsl-63-204-132-74.dsl.snfc21.pacbell.net) joined #osdev 12:38:03 --- quit: pavlovski (Read error: 60 (Operation timed out)) 12:43:16 uhhh 12:43:25 dax, amon_re ... that mud has spell 152 Get Flu 12:43:33 amon_re: dfif uou cast that on me? 12:43:33 OOOH. 12:43:34 :) 12:44:00 hmm 12:44:06 i dunno where to get mp3s from anymore :( 12:44:17 and spell 293 Purge Memory 12:44:56 mp3? 12:46:09 hehe more nice spells :) sorry 12:46:30 325 Speak With Boring Monsters 326 Speak With Dead Plants 327 Speak With Grateful Dead 328 Speak With Living (components: two tin cans and a string) 329 Speak With Mud 330 Speak With Self 12:47:20 The Grateful Dead = OWNZ 12:57:27 hm 12:57:43 * indigo is learning a fleetwood mac song :) 13:01:12 --- quit: Tezzeu (Read error: 104 (Connection reset by peer)) 13:02:47 does freebsd support smp? 13:04:11 --- join: stormbind (~stormbind@pD9E617FB.dip.t-dialin.net) joined #osdev 13:05:46 --- join: cookin (~jrydberg@d212-151-38-177.swipnet.se) joined #osdev 13:12:40 --- join: I440r (~mark4@1Cust25.tnt3.bloomington.in.da.uu.net) joined #osdev 13:14:21 vcoookin 13:14:27 joor 13:14:46 moo 13:14:55 dax: i'd hope so :) 13:14:58 intiko 13:15:08 hmm 13:15:31 amon_re is dead 13:15:56 hmmm 13:16:25 --- join: trans (~trans@fatwire-201-229.uniserve.ca) joined #osdev 13:16:43 boo! 13:17:17 terve trans 13:17:30 terve? 13:17:50 evret? 13:18:08 * amon_re wants to play Marathon 13:18:16 --- join: Spindle (~SpindleTe@12-249-145-77.client.attbi.com) joined #osdev 13:20:19 hey 13:20:27 hey 13:22:17 how can I switch from text mode to graphics mode (VGA) 13:23:02 Spindle: http://atschool.eduweb.co.uk/camdean/pupils/amac/vga.htm 13:23:32 thanks witten =) 13:23:44 hummaummooooooooo 13:23:45 sure 13:23:48 google is your friend 13:24:04 mMmm...google 13:25:22 --- join: Aardappel (wvo96r@p508C71DA.dip.t-dialin.net) joined #osdev 13:25:45 --- quit: Aardappel (Client Quit) 13:26:00 humph 13:28:15 terve = finnish greeting 13:28:36 amon_re: ever tried to play death? ;) 13:28:41 Nope 13:28:56 What is Death? 13:29:41 death is transformation 13:30:13 death is pleasure. death is something i want. 13:30:13 hmm 13:30:28 omfg i love my sennheiser headphones 13:30:38 which headphones? 13:30:55 sennheiser ones :) 13:30:59 I have some of those 13:31:03 I never use them though 13:31:04 dax : WHICH ones? 13:31:17 model? 13:31:23 --- quit: Ghiottone (Read error: 110 (Connection timed out)) 13:32:04 lynx: dunno 13:32:14 bah 13:34:58 --- join: nbsp (g@ip68-14-60-55.no.no.cox.net) joined #osdev 13:35:07   13:36:14 umm can someone explain to me what REGS regs (ok so its regieters but...) is? is this in bios.h and can I include it in my os or I have to duplicate it 13:41:07 it's probably a dos/windows thing 13:41:13 just do assembly directly 13:42:08 ok doky it shound't be that hard to port =P 13:44:18 witten: it's easier to add space by pressing space bar :) 13:44:27 What is a witten? 13:45:00 ^^ 13:45:09 ^C 13:45:14 ^> 13:45:20 < ^ > 13:45:27 ^ > < 13:45:29 hmmm 13:45:48 * mur goes to sauna 13:45:49 :) 13:48:26 moooooooo 13:48:35 * indigo curses bugs 13:48:40 --- quit: amon_re () 13:52:26 --- join: HeavyJoost (~HeavyJoos@a213-84-139-110.adsl.xs4all.nl) joined #osdev 13:53:20 --- join: pavlovski (TimRobinso@modem-1226.babbelas.dialup.pol.co.uk) joined #osdev 13:53:36 pavlovski! 13:53:42 has your flatmate moved to Lund yet? 13:54:19 cookin: yes, he went at the start of the month IIRC 13:54:23 haven't heard from him since :/ 13:54:33 :/ 13:54:38 I move there tomorrow. 13:54:43 what does he study? 13:55:03 I think he's going to do some Control subject 13:55:07 related to Electrical Engineering 13:55:27 before he starts, he's doing a course on Sweden first 13:56:14 do you know if he will be studdying at LU or LTH ? 13:56:29 the name LTH rings a bell... probably there 13:56:39 what do LU and LTH stand for? 13:56:51 cookin: where do you move? 13:57:01 Lu = University of Lund, LTH = Lund Institute of Technology. 13:57:07 :) 13:57:18 hmm, LTH I think 13:57:28 Well, I'm moving to Malmoe, but I will do my studying in Lund. 13:58:00 pavlovski: well, let me know if you're going to visist him. I'll buy you a beer (if I have any money left) 13:58:13 will do :) 13:58:23 and if you ever come to London, I'll do the same 13:58:37 ah. sounds good. 13:58:56 How's things with your OS ? 13:59:27 looking good 13:59:40 over the last week or two, I've been fixing some bugs that have been annoying me for a while 13:59:45 any new cool features? 13:59:47 now I'm writing a user-mode console daemon 13:59:53 hrm 13:59:56 networking is cool 14:00:21 I'm improving the console stuff too -- for the first time tonight, you can run multiple shells on different consoles and type into each of them 14:00:34 before, when you typed, your text would appear in each console -- not good 14:00:41 hehe 14:00:56 any tty-like emulation or such? 14:01:13 yes, the kernel-mode console driver has done ANSI codes from the start 14:01:41 that's not what I ment. do you implement terminal stuff (ie unix-like /dev/tty??) ? 14:01:55 oh, you mean like the ability to log in over a serial line? 14:02:50 no. i mean stuff like control characters (sending signals to active process), and such 14:03:00 ah, not really 14:03:29 you will? 14:03:43 probably -- Posix requires that behaviour, doesn't it> 14:03:44 ? 14:03:54 I'm going to do a Posix layer soon to make porting programs easier 14:04:21 ah, ok. 14:05:21 bbl 14:08:39 * lynx goes to compose a song 14:11:30 is it safe to use va_list in my kernel? 14:11:48 sur 14:11:48 e 14:11:51 blah 14:11:57 Yes, jdrake, sure it is 14:12:28 on the x86, the va_list and the va_xxx macros just fiddle the stack 14:12:38 good 14:12:53 so you're OK if SS==DS, and you're OK to use a standard implementation if you have an expand-down stack 14:13:12 i would love a way to create automatic lists in C, ... is useful but unsafe 14:13:27 like std::list but for C? 14:13:35 more like python 14:13:54 you can do [x, y, z] and it would be a list (in this case it would be an array probably) 14:14:12 humm 14:15:46 --- join: Ghiottone (~alex@ppp-136-19.27-151.libero.it) joined #osdev 14:16:02 I feel like releasing Mobius to the public soon 14:16:11 what cool newbie features should I put in? 14:16:22 what is mobius 14:16:30 * pavlovski 's OS 14:16:36 http://www.themoebius.org.uk/ 14:17:25 thats the one with the boot disk crashes my emulator i think 14:18:25 hmm, the other releases are quite out of date 14:18:34 one of them had a big problem with hard disks 14:18:43 the latest SDK releases should be a lot more stable 14:18:48 can it fit on a floppy image? 14:19:04 yes, although it depends on what drivers and programs you want 14:19:15 want to make a floppy for me to load up? 14:19:21 ok :) 14:19:41 can anyone tell me any good url about vga info? 14:19:58 here is some stuff... http://ringzero.free.fr/os/video/Vga/IBM-VGA.TXT 14:20:26 thnks jdrake ;) 14:20:49 pavlovski, the emulated hardware I am using... and S3 Inc. 86c764/765 [Trio32/64/64V+ 14:20:58 Digital Equipment Corporation DECchip 21140 14:21:03 (ethernet) 14:21:09 everything else should be pretty generic 14:21:21 you have an S3 Trio64! brilliant 14:21:27 so do I, so I wrote a driver :) 14:21:38 i don't physically, only emulated 14:21:42 i actually use a radeon 14:21:42 hmm, I only support RTL8139 for network atm 14:21:51 ah, "emulated hardware" 14:21:53 that shouldn't matter 14:22:19 all i would need is a straight image of a floppy (dd will work) 14:23:00 my stuff boots onto a floppy that has a fat12 file system, using the bootf boot sector that boots you into protected mode 14:23:35 sure, np 14:23:50 winimage will work as well, any others I am not sure 14:23:55 I'll prepare a Bochs image, make sure that it works on Bochs and a real PC, and send it off 14:24:46 is the image going to be compatible with an actual floppy dump? 14:25:02 yes, I'll send you a 1.40MB FAT12 image 14:25:11 that would be great 14:27:39 with VGA i can have 16 colors in 640x400 mode correct? 14:27:47 640x480 14:27:53 and yes 14:28:36 --- quit: cookin ("Client Exiting") 14:28:49 I just realised I was building a hard disk image instead of a floppy one 14:28:57 --- quit: Kurt ("Connection reset by rear") 14:29:09 umm what the hell is a far pointer 14:29:10 =P 14:29:49 its a pointer that includes the segment 14:30:22 rather than jumping near (in segment) it would jump far (out of segment) - assuming you are jumping of course 14:30:32 ahh 14:30:34 thanks 14:32:23 far pointers have a segment and an offset 14:32:35 in real mode far pointers are 32 bits; in protected mode, far pointers are 48 bits 14:32:36 --- join: DrSpock (Spock@ool-182cc22f.dyn.optonline.net) joined #osdev 14:32:44 --- quit: jbreker ("Client Exiting") 14:34:24 hey, I fixed a bug, and I didn't realise! 14:34:26 life is good 14:34:45 does gcc (3.2) by default include debug information? 14:34:57 (esp when using -O4) 14:35:08 don't think so -- you have to specify -g for that 14:35:18 god 14:35:20 good i mean 14:35:30 454 bytes for my kernel so far 14:35:44 lookin' good! :) 14:36:13 pavlovski, want to look at my source so far? (not so much protected mode stuff yet, but getting console stuff started) 14:36:22 sure... do you have a site? 14:36:34 or will you dcc it? 14:36:35 hmm, no i don't have a site 14:36:36 dcc 14:36:42 k 14:36:45 this will be interesting... 14:36:59 i am developing this thing inside an actual virtual machine 14:37:35 you're testing it on a virtual machine, or the OS *is* a virtual machine? 14:37:46 testing it on a virtual machine 14:38:15 i am using windows xp, running virtual pc 5 so I can develop it in linux, and then using vmware to actually test the thing 14:38:32 ah 14:38:36 done any testing on a real PC yet? 14:38:56 --- nick: gab -> gab[dfx] 14:38:57 no, it isn't worth it, it only outputs something to a console 14:39:25 hmm, you should do -- often people who only test on an emulator find that it's impossible to get their OS to work on a real machine 14:39:39 virtual pc 5? 14:39:45 yes 14:40:33 --- join: _root____ (~root@CPE014410113717.cpe.net.cable.rogers.com) joined #osdev 14:40:49 root. 14:40:56 its my virtual machine 14:40:57 good job _root____ 14:41:10 someone gave root to the entire channel ;) 14:41:15 hi eks 14:41:18 eks : damn... i think my audioboard is br0ken 14:41:19 it doesn't matter much, i need root privs. anyways to do half the stuff 14:41:25 lynx: :( 14:41:27 hello file 14:41:46 i wonder if dcc will work 14:41:48 work called me in on another project, spent the last 3 hours creating a GUI 14:41:49 eks : i gonna send an email to the SGI ddue whom i bought my parts from 14:42:01 pav, did you get a dcc request? 14:42:10 yep, thanks 14:42:15 if jdrake == _root____ 14:42:17 * file sighs 14:42:20 yes 14:42:24 so close to being done 14:42:25 lynx: was it "guaranteed to not be DOA?" 14:42:33 hmph 14:42:39 i wonder... can you guys actually telnet to that thing? 14:42:40 jdrake: can you try again pls? 14:42:45 jdrake: done in asm or c? 14:42:47 eks : i dont know :/ 14:43:01 C with a single asm loader (call kmain) 14:43:12 eks: how's your box enjoying that new RAM? 14:43:24 eks : well it is only the audioinput 14:43:51 file: the box is dancing all day, so much more engergy now 14:43:59 jdrake: yuk, it's not connecting 14:43:59 hehe 14:44:10 eks : when i switch on four channel recording i hear a r... how is it called? switching 14:44:24 I feel so alive! 14:44:28 eks : then the sound works, but i cannot play surround sound with my two speakers :/ 14:44:28 for the very first time 14:44:34 eks : so i am unable to hear it 14:44:34 --- join: Javanx (~javanx@213.45.18.185) joined #osdev 14:44:34 I can't deny you I feel so alive 14:45:29 this channel is pretty busy! 14:45:29 file: huhuh 14:45:39 Rico : no... onyl your mom is 14:45:40 pavlovski, i am going to try a local transfer 14:45:45 then transfer it from here 14:45:50 Rico: up until about a month, "rico" meant the guy in #osdev, but now when someone says "rico" I immediately think of the fat black guy with rastas in his beard and hair :p 14:45:50 jdrake: ok 14:46:38 eks : why do you say that? 14:46:46 eks: Djembe? 14:47:16 lynx: there's a guy at the community center where we play djembe called rico :P 14:47:31 lol 14:48:36 --- join: smaffy (smaffy@d212-151-33-67.swipnet.se) joined #osdev 14:49:05 eks: so you have seen my photo?!? 14:49:36 okay 14:49:38 Rico: not sure, do you mean that 12 y/o guy with a diaper? 14:49:50 --- nick: Rico -> Joey_ 14:49:52 jdrake: w00t 14:49:55 pav, that is actually a bz2 file 14:49:57 from now on my name is Joey! 14:50:02 mirc screwed up 14:50:13 actually i should say tar bz2 14:50:56 my main focus is in console.c some of the code is really crappy in there, k_puts causes a triple fault for no apparant reason 14:51:53 jdrake: hmm, gotta go 14:51:58 bbl -- I'll look at your source 14:52:03 k, thanx 14:52:14 --- quit: pavlovski ("Client Exiting") 14:52:34 has anyone ever heard of something called RevOS before? 14:52:38 --- quit: Javanx (Read error: 104 (Connection reset by peer)) 14:53:32 --- quit: DrSpock ("Warning: Using IRC on a Windows machine is a violation of international law. Please come back UNIX loaded.") 14:54:58 --- join: Javanx (~javanx@213.45.18.185) joined #osdev 14:58:02 argh 14:58:18 i am sure there are like a zillion spellingfaults 14:58:34 --- quit: Javanx (Read error: 104 (Connection reset by peer)) 14:58:37 --- quit: _root____ ("BitchX: ribbed for her pleasure!") 14:59:21 *sigh* 14:59:24 DAX! 15:00:08 is there any reason why access a string that is passed as a literal to a function would cause a crash? that is apparantly what happens in this one case I am seeing. 15:00:39 does anyone know an AlphaStation emulator? 15:00:46 that can run OpenVMS 15:01:01 * indigo sighs and prepares a gnomecanvasmm bug report 15:02:29 eks : ok, i sent my mail, i EXPECT the part to be replaced 15:02:44 * file is almost finished his latest project 15:02:56 atleast the GUI... which is what I was assigned for tonight 15:05:33 --- quit: trans (Read error: 104 (Connection reset by peer)) 15:08:19 --- join: trans (~trans@fatwire-201-121.uniserve.ca) joined #osdev 15:13:29 --- join: darkito_ (darkito@62-37-122-210.dialup.uni2.es) joined #osdev 15:13:37 hihi 15:18:03 hi 15:21:32 --- quit: I440r ("Reality Strikes Again!") 15:29:36 --- quit: file ("My damn controlling terminal disappeared!") 15:30:08 --- join: file (joshnet@65.166.122.14) joined #osdev 15:32:29 --- join: geqo (~geqo@as7-1-5.kp.g.bonet.se) joined #osdev 15:33:37 Bah. 15:33:42 bah? 15:33:45 :) 15:33:46 YES: 15:34:13 you shouldn't hold down shift when you press that . button 15:35:46 tr 15:35:48 re 15:35:51 * mur b 15:36:32 geqo: YES I SHOULD; U KNOW THAT LOL OMG!!!;:#O 15:36:45 ;#0 <-- snygg. 15:36:51 jucka! 15:36:56 Robert: underbar 15:38:37 juKka 15:38:44 spell it correctly immediately! 15:38:48 bah 15:38:51 okay then 15:38:53 Hejsan lille vän. 15:38:54 jukka jukka jucka 15:38:58 no 15:39:03 redo, keko 15:39:13 ? 15:39:18 :) 15:39:19 Robert: :) 15:39:40 Ja. 15:39:40 hejsan Robert, du två tid så stor som jag om man tittar på nick 15:39:57 Va? 15:39:58 BAH 15:39:59 "två tid"? :)) 15:40:01 school tomorrow :( 15:40:09 Are you using babelfish or something to translate? 15:40:16 dax: Sunday? 15:40:23 it is sunday 15:40:25 Or, do you mean, Monday? 15:40:33 i mean monday 15:40:37 dax: u sux lol omg.. I know it is, but I'm not THAT pedantic. 15:40:49 i suck... bah 15:40:53 thx for saying that 15:40:55 Yes. :-) 15:41:00 No problem, dear. 15:41:03 i really needed to heard that 15:41:06 15:41:10 --- quit: stormbind (Read error: 110 (Connection timed out)) 15:41:50 --- quit: smaffy (Read error: 113 (No route to host)) 15:42:13 Robert: woudl babelfish have swedish ? :) 15:42:42 Robert: betvivlar du juckas enorma svenskakunskaper? 15:42:44 --- nick: darkito_ -> darkito 15:43:12 just det, du är så irriterande, Robert, alla vet att jag är bäst! 15:43:19 aack! 15:43:25 * dax smacks Robert 15:43:33 someday /me is going to come over there and learn sweedish and kick your ass 15:43:38 dont 15:43:43 indigo: do it now! 15:43:44 do not learn swedish 15:43:48 learn finnish 15:43:53 and kick all swedes ash 15:43:56 finnish is strange 15:43:59 heheh 15:44:00 or at least norwegian 15:44:05 * indigo is going to learn them all! 15:44:06 paina läppä sisään ja avaa 15:44:19 geqo: maybe to you because you have learnt norwegian clone 15:44:24 and use to too much 15:44:29 norwegian is fine, easier to understand than finnish at least 15:44:35 if you woudl learn finnish you'äd think it's superioir too :) 15:44:39 well, /me has a not-working example of a bug in gnomecanvasmm 15:44:43 http://www.geocities.com/thelastproject/ 15:44:54 or a working example...however you look at it :) 15:45:06 last projecvt? 15:45:08 da? 15:45:43 wtf 15:45:49 a site on comiting suicide? 15:45:52 yea 15:45:53 lol 15:46:01 well its not that funny 15:46:59 it kinda is 15:47:00 imo 15:47:30 eheh cool site. 15:47:34 geqo: Ja. 15:48:09 in cvs how do you get those things that it inserts at the top of some files with revision info? 15:48:16 --- join: pavlovski (TimRobinso@modem-1226.babbelas.dialup.pol.co.uk) joined #osdev 15:49:21 hey all 15:49:25 hey pav 15:49:30 i got a cvs up 15:49:44 on sf 15:49:53 jdrake: I've got a working Mobius floppy disk image 15:49:53 I'm uploading it now 15:49:59 cool, cvs :) 15:50:00 nice 15:50:06 do you use cvs? 15:50:20 yes 15:50:28 my project page is at http://sf.net/projects/mobius/ 15:50:42 not http://www.themoebius.org.uk/ ? 15:50:45 do you know those line(s) that sometimes appear at the top of sourcefiles from cvs? (how do you get those) 15:51:05 that's the project main site -- the SourceForge project page is different 15:51:20 jdrake: put /* $Id$ */ or // $Id$ 15:51:21 awww 15:51:30 cvs will fill replace the $Id$ with various info 15:51:36 there's a few other codes too 15:52:11 pav: how about some screenshots? 15:52:36 there are some recent-ish screenshots at www.themoebius.org.uk 15:52:53 but none of the latest changes have been good for screenshots :( 15:53:05 hmm, lez test the floppy image 15:53:14 heh this site is interesting 15:53:56 is the image up? 15:54:10 ah, nearly 15:54:58 whee! 15:55:10 http://www.themoebius.org.uk/mobius-micro-20020831.img.gz 15:55:22 this image is ready for writing to a disk, or using in Bochs 15:55:34 it's really basic... the only program apart from the shell and the console server is hello.exe 15:55:50 and it includes only the TTY, keyboard, floppy and FAT drives 15:55:50 *drivers 15:56:00 moo 15:56:04 no GUI? 15:56:08 * indigo watches his bug sit in bugzilla 15:56:28 not yet 15:56:29 pavlovski did you use vesa for your gui? 15:56:33 indigo: you shoudl have inserted a bug with wings! 15:56:35 no usable GUI, anyway 15:56:35 really interesting 15:56:53 Spindle: no, because my test PC's video card doesn't support VESA 1.2 15:56:55 pavlovski: is it a floppy or disk image? 15:57:00 I wrote an S3 Trio driver instead 15:57:06 I'm using VBE for my GUI 15:57:08 Ghiottone: 1.40MB floppy 15:57:10 Bochs supports it 15:57:17 pavlovski how do you do graphics? i thought there was high res shots at mobius? 15:57:25 btw: if you're using Internet Explorer, it might decompress the file as you download it 15:57:32 i think thats what your os was called 15:57:35 if so, rename from .img.gz to .img 15:57:42 pavlovski, page fault 15:57:44 Spindle: yes, I was playing with the Mobius graphics layer 15:57:57 but I'm not sure whether to use C or C++ for the API 15:58:04 use C++ 15:58:05 jdrake: what's the address? 15:58:28 how do I know if my card supports vesa (without coding if it has it)? 15:58:38 Mathis: then what will people use who want to program in C or asm? 15:58:43 Spindle: by checking the VESA Bios 15:58:53 pav: a GUI in asm??? 15:59:13 Mathis: why not? 15:59:17 hmm.. 15:59:23 you need metalangauge, pavlovski 15:59:23 VESA BIos? 15:59:34 vesabi, wasabi 15:59:37 hmm.m.. 15:59:45 mur: like an interface description language? 15:59:58 description language generally 15:59:58 pav: a GUI is a complex thing 16:00:09 otherwise you'll burden yourself 16:00:14 some simple might do 16:00:18 is vesa and vbe the same thing? 16:00:19 even macros 16:00:32 Mathis: yes, and C++ is a nice language to implement it 16:00:36 Spindle: goto www.vesa.org and download their vbe3.pdf 16:00:39 however, it could be possible to have an asm interface to it 16:00:42 k 16:00:44 thanks 16:00:53 pav: you dont know the complexity of it 16:01:02 _windowdescription: 16:01:10 Mathis: what do you mean? 16:01:21 why should a GUI be any more complex than a file system? or a network stack? 16:01:30 why is there NO tutorials on this page... http://www.vesa.org/tutor.htm? 16:01:37 pav: see gtk-sources, MFC, Borland C++Builder API, blah blah blah 16:01:39 hmm 16:01:42 are woudl be better world to use, Spindlei 16:01:44 --- quit: jdrake (Excess Flood) 16:01:51 --- join: jdrake (jptd@CPE014410113717.cpe.net.cable.rogers.com) joined #osdev 16:02:00 it's as complex as you want to make it 16:02:02 Spindle: you dont need a tutorial, you need the specification 16:02:24 it's not hard to put some windows on the screen, clip graphics, pump user input 16:02:27 i know i was wondering if the page was just empty for me 16:02:29 pavlovski: mobius hangs! 16:02:30 pav: if you want something like Windows 1.0 or so, you can use asm, if you want something like Windows XP, use C++ 16:02:42 eks?????? 16:03:10 Mathis: the Windows GUI (USER) has changed little since the early days 16:03:17 file: ? 16:03:22 in terms of architecture and operation 16:03:24 eks: wazzup? 16:03:36 file: do you suffer of ADS? 16:03:40 pav: I know but only some Windows guys are coding in C 16:03:42 no 16:03:45 I've just got good news 16:03:46 pav: most of them use MFC 16:03:48 --- nick: dax -> dax|zzz 16:03:56 file: such as? 16:04:08 Mathis: you'll find a lot of Windows guys coding C 16:04:22 pav: but it's not that readable as C++ code 16:04:30 the number of posts with the words "no MFC" in news:comp.os.ms-windows.programmer.win32 is suprisingly high 16:04:55 a RAD application needs something like OO and C++ 16:05:03 as a class library, MFC is severly outdated -- which is not surprising, considering it was designed shortly after C++ came into general use 16:05:10 --- quit: Ghiottone ("Uscita dal client") 16:05:14 STL, ATL and WTL are the way to go -- 16:05:25 pav: now you're able to do a better thingy 16:05:27 a thin layer over the APIs, giving you full control over your application 16:05:37 but please please no Asm or C 16:05:37 --- join: crg (~crg@server.sisk.reset.net.pl) joined #osdev 16:06:02 heu 16:06:17 sorry 16:06:19 was making up my bed 16:06:27 Mathis: the interface should be language neutral 16:06:33 s/should/could/ 16:06:43 eks: when the products that I helped create are launched, I've been invited down for a celebration in Alexandria, VA 16:06:49 anyway - gotta finish my pillows... 16:06:53 pav: if you want so... 16:06:54 eks ;-* 16:06:58 if you put the right hooks in, you can make 'nice' native interfaces from pretty much any language 16:07:04 pavlovski: ! 16:07:09 you could wrap it with C++ classes, or you could write a set of C procedures 16:07:14 wait wait wait wait everyone wait! ok maybe not but how many cards do have the vesa 2.0 standard? or even 3.0? 16:07:26 Spindle: unknown 16:07:43 * Spindle giggles 16:07:50 file: cool, do they pay the plane ticket? 16:07:56 Spindle: but there are alot of cards supporting it 16:07:57 eks: yes 16:07:57 do you think a geforce2 card would support 1.2 at least 16:08:06 sw33t 16:08:07 Spindle: try it 16:08:44 i want to see if i support it before i bother with a doc and I don't feel like coding anything there has to be somehting on nVidia or vesa.org or on my settings about it? 16:08:50 Spindle: I have a GeForce 256 and unless I'm really screwed, it supports VBE 2.0 16:09:25 yippe! 16:10:12 is there a 2.0 doc or should i read 3.0 ~_~ 16:10:17 * Spindle needs mental help 16:10:35 there's VBE/VESA docs for every version 16:10:40 dunno where they all are though 16:12:23 pav: I recommend using C++ for the GUI (using it too) 16:12:34 * Spindle spanks vesa but the only way on getting good gfx withough disasembling nVidia's drivers 16:12:35 including messaging system 16:12:52 that's my preference so far 16:12:57 an alternative is a COM-/CORBA-style system of interfaces 16:13:10 Spindle: nah, you could use the free nvidia drivers coming with the linux kernel 16:13:12 pav: dont know what it is... 16:13:27 Spindle: all done in C (obviously) 16:13:49 really 16:14:03 do you know where I can download the kernel 16:14:13 ftp.kernel.org 16:14:27 www.kernel.org 16:14:28 and also isn't there bugs in the drivers people make that DO NOT come from nVIdia? 16:14:34 eks: ah yes, the elusive Open Source nVidia drivers ;) 16:14:53 Spindle: AFAIK this driver was developped _BY_ nVidia 16:15:11 drivers would be the correct way to go i tink (versus vesa that is) 16:15:22 pavlovski: I admit they aren't easy to understand and not too well commented 16:15:41 --- quit: crg (Read error: 60 (Operation timed out)) 16:16:18 --- quit: Mathis ("User pushed the X - because it's Xtra, baby") 16:16:32 * Spindle looks at kernel.org whre the hell is it! 16:17:47 Spindle: IIRC ftp.kernel.org/pub/linux/kernel/2.5.x/linux-2.5.*.tar.bz2 16:18:05 and its not a patch? 16:18:23 eks doesn't worky 16:18:27 24MB, better not be a patch 16:18:38 eks: but there's actual nVidia driver source code? 16:18:45 pavlovski: yes 16:18:55 where where 16:18:59 * Spindle loooks in room 16:19:01 pavlovski: the open sources one aren't doing any accel though :( 16:19:26 hmm 16:19:27 awww poop 16:20:23 Spindle: ftp://ftp.kernel.org/pub/linux/kernel/v2.5/linux-2.5.33.tar.bz2 16:20:58 thanks eks 16:20:59 ~28MB 16:21:07 <-- cable 16:21:09 hehe 16:21:39 i can't ever seeing my kernel be 28megs! 16:21:45 i mean right now its around 13kbs haha 16:23:06 28MB for a kernel?! 16:23:09 --- join: sliv3r (doc@phenix.rootshell.be) joined #osdev 16:23:15 hi 16:23:30 hi doc 16:24:12 pavlovski i tink so but there might be other crap in it =P 16:24:51 heh :) 16:25:02 * indigo remembers how long gtkmm takes to build :( 16:25:24 --- join: crg (~crg@server.sisk.reset.net.pl) joined #osdev 16:26:02 crag 16:26:05 /linux/drivers/video/riva 16:26:13 yo ;> 16:26:14 :& 16:26:29 hej eks 16:26:42 hej hej indigo 16:26:57 indigo: 16:27:14 crg! 16:27:20 --- quit: file ("My damn controlling terminal disappeared!") 16:27:24 file! 16:27:28 crg: who are you? :P 16:27:45 holy moly... 16:27:52 hahaha 16:27:52 * indigo can compile linux in less time than this 16:27:56 dont remmber me? 16:27:57 :> 16:28:01 hm... 16:28:04 * indigo checks 16:28:08 nope, i don't remember you 16:28:15 and your whois isn't very helpful 16:28:29 :) 16:28:31 huh.. 16:28:34 :< 16:28:36 too bad 16:28:40 eks: who is this guy? 16:28:43 * mur = jukka 16:28:45 and remembers crg 16:28:52 yo jukka :> 16:28:59 he must be sweedish... 16:29:01 old #v2os on efnet.. 16:29:02 ;P 16:29:17 * indigo was never "indigo" in those days... 16:29:23 eks : /linux/drivers/video/riva in the ftp or the tar.bz2 16:29:25 yay! it's done with an error! 16:29:26 yay! 16:29:38 Spindle: the tarball :p 16:29:42 he was 16:29:50 tell him 16:30:02 hehe thoughts so =) thanks its still extracting@!@@ 16:30:02 haha 16:30:21 * indigo listens to anylulu 16:30:54 yay! 16:31:01 it's done, finally! 16:32:20 * indigo moves on to gnomecanvas 16:32:25 --- join: file (joshnet@65.166.122.14) joined #osdev 16:33:16 --- quit: sliv3r ("brb, i guess") 16:33:23 hey 16:33:25 anyone from usa 16:33:26 =? 16:33:26 ? 16:33:29 here now online 16:33:38 and has graphical browser 16:33:40 * file puts his video output on two displays 16:33:41 ahhhh, neat 16:34:24 mur: yes, but you are proally going to trash anyone who admits it :) 16:34:39 hehe 16:34:44 *gasp* 16:34:47 indigo: i come from poland.. 16:34:48 it's done building already! 16:34:53 eks is riva the driver/ 16:35:01 --- join: gpf|venus (~ben@h0020af25039b.ne.client2.attbi.com) joined #osdev 16:35:07 i just want to know if you can access wantedfonts.com and if you can, is "crisp" named font there and is it "normal" looking font 16:35:56 hm 16:35:59 seems to be dead 16:36:06 hi indigo 16:36:13 seems everywhere 16:36:15 ok 16:36:17 tahnkoyo 16:37:24 hm... 16:37:38 i'll try tomorrow again 16:37:39 hmm... 16:38:10 :/ 16:39:43 Spindle: the riva driver works with most (all?) nvidia cards 16:44:12 http://cgi.ebay.com/ebaymotors/ws/eBayISAPI.dll?ViewItem&item=1855415508 <_- I want it! 16:44:31 what is it?= 16:44:35 it went up in price 16:44:36 i will in a bitsky but i wanted to make my own driver not just use someone elses =P 16:45:11 what is it? 16:45:27 mur: a Starwars Land Speeder.. 16:45:39 car? 16:45:44 yes 16:45:46 --- join: sliv3r (doc@phenix.rootshell.be) joined #osdev 16:45:49 look at it damnit :p 16:45:54 i.e. you can drive this thing on the road 16:46:24 new starwars are plain dork 16:46:28 this guy is going to get a shit load of money for it 16:46:46 jdrake: indeed 16:47:02 if all it takes is about 2 hours to gain $2000, and there are 8 days left... 16:47:41 jdrake: it was just /.'d, it won't go up 2,000$/hr continuously 16:48:16 yes i know it was /. :-) 16:49:32 * eks is thinking of bidding 10K on it, I'll be overbid but I could say that I had the highest bid on it for a while ;) 16:49:52 what is it? 16:50:06 file: a street legal Starwars Land Speeder 16:50:18 sweet 16:50:48 heh 16:50:56 cool :) 16:51:02 chick dig it :) 16:51:07 lol, yuip 16:51:18 * file claims it as a company expense 16:51:25 * eks thinks you would have as many males around the card though.. 16:52:35 eks: think you could? 16:52:50 "I need this Starwars Land Speeder to speed around the office delivering mail" 16:53:01 "Ok sir, here's that $20000 for it. Have a nice day" 16:53:05 ehehe, good luck ;) 16:53:21 I think it will be sold for more than 20K 16:53:46 we should say that it is street legal where it is being sold, not necessarily where you are 16:53:55 what do you do if it rains? 16:53:55 anyone netris? 16:54:05 jdrake: it can be made convertible, it's an option 16:55:21 amazing 16:55:41 :) 16:55:46 s/:)/:(/ 16:55:52 delivery only in US :( 16:56:22 * file puts a jet engine in it 16:56:27 * file wires up a Turbo button 16:56:47 ooh... NOS 16:57:37 hum 16:57:40 eks: imagine... 16:58:02 ugh 16:58:18 they want me to use gtkmm and gnomecanvasmm from cvs :/ 16:59:08 only 4 cylinder 16:59:26 hey dude, it's a ford escort '88, don't ask too much ;) 16:59:41 hehe 16:59:55 mmm 17:00:15 I still like my mom's Alero... it was just washed too so it looks sweet 17:01:08 I still like my running shoes, they were just worn too so they still smell hot :p 17:01:21 eks: that's not hot smell, it's stinky feet 17:01:40 chicks dig it ;) 17:02:05 yeah - right 17:04:41 --- part: crg left #osdev 17:11:22 mooooooooooo 17:11:52 indigo: regretting getting a Helio yet? 17:12:25 --- quit: mur ("*( )3:o -[mur mur]") 17:13:16 * eks feels sleepy.. 17:13:30 if sleepy, sleep 17:13:46 well said file 17:13:47 curses... Aad-aware is eating all the resources on droid 17:13:50 much better 17:14:01 no spyware found 17:17:32 --- quit: acme (Read error: 110 (Connection timed out)) 17:22:11 whats the dpmi registers? 17:22:48 in what context? 17:23:03 i was looking at some vesa tuts 17:23:10 and they use them 17:23:24 there's no special 'DPMI registers' 17:23:30 oh 17:23:40 well it was like this __dpmi r; r.x.ax = 0x4F00; 17:23:42 but you can invoke an interrupt in pmode through DPMI, and you pass it the registers you want given to the interrupt 17:23:59 can't i just do asm { insert code }? 17:24:05 no! 17:24:09 * Spindle cries 17:24:10 you're in protected mode, right? 17:24:25 yup 17:24:27 i tink 17:24:50 ok, and the BIOS was designed long long ago, way before the 286 and protected mode, right? 17:25:07 so you can't use BIOS interrupts directly from protected mode without some extra effort 17:26:28 i might be in real mode i dunno what grubs puts me in 17:26:37 yep, you're in protected mode 17:26:50 the best way is to use Virtual 8086 mode to call the VESA interrupts 17:27:02 hehe well that solves that problem. but now with the extra effort 17:27:19 alternatively, a good thing about the recent VESA specs is that some useful routines will run directly in protected mode 17:27:27 anyway, read http://osdev.berlios.de/v86.html 17:27:31 k.. 17:28:39 and switching to Virtual 8086 mode is the only way? 17:30:51 not the *only* way 17:31:05 you could do it by temporarily switching back to real mode, doing the interrupt, and going to pmode again 17:31:13 but V86 is a lot more efficient, and imho easier 17:31:23 ahh 17:31:49 i have no switch to pmode and back functions yet =P its still a basic kernel i just wanted to plot a pixel to the screen! 17:32:05 pavlovski :: do you have any links that might show an implementation of v86 switching, and returning to pmode ? 17:32:12 well thanks pavlovski i think i will start out with vga first =) 17:32:59 sliv3r: do you know Alexei Frounze's tutorials? 17:33:09 I use grub to boot my os, and i actually do not know how to switch the darn video mode 17:33:17 i'll check them know 17:33:24 i have the address somewhere 17:33:31 if you want to stick to VGA modes, you can program the registers directly 17:33:37 that's pretty easy 17:33:50 can you be more specific ? 17:33:56 those 4 regs ? 17:34:20 you have a big ol' array of numbers, and you poke them into the registers on the VGA card in sequence 17:34:37 see if you can track down a copy of the Tauron VGA Utils 17:35:01 i'll search, thank you 17:35:57 can someone explain to be exactly what the vga card is 17:36:05 is it automatically with every comp 17:36:17 yes 17:36:21 you know a graphics card, right? 17:36:25 is it really a card 17:36:26 haha 17:36:30 well, yes :) 17:36:38 pavlovski i am a game developer 17:36:43 have you ever taken the lid off your PC? 17:36:49 i tink i know a graphics card, but dunno what vga really is 17:36:59 yes I have taken the lid off 17:37:01 * eks blinks 17:37:02 its so sexy underneath 17:37:03 K :) 17:37:25 IBM shipped the VGA graphics card with its PS/2 range of computers 17:38:12 * file erms 17:38:15 stupid bug... 17:38:17 my original card that came with the comp is a Intel810 thats a svga card though right? now i have a gf2 i use 17:38:20 I hate reusing global variables 17:38:36 --- join: _avlovski (TimRobinso@modem-499.aerodactyl.dialup.pol.co.uk) joined #osdev 17:38:45 <_avlovski> bah, got d/c'd 17:38:47 <_avlovski> anyway 17:38:57 <_avlovski> PC clone makers took the specs and made their own graphics cards compatible with the VGA 17:39:10 <_avlovski> so any modern graphics card supports at least the VGA feature set 17:39:14 --- nick: _avlovski -> pavlovskii 17:39:55 but i head there is some cards today that have nothing to do with vga 17:40:01 heard* 17:40:20 they must be compatible slightly, or you wouldn't see anything until [X] Windows came up 17:40:31 what are these cards? 17:40:31 ahhh 17:41:10 i dunno i was skimming something in vesa vbe3.pdf and saw something on it 17:41:21 hmm, unlikely 17:41:37 pavlovski, something happen to your connection? 17:41:41 any modern card is almost 100% backwards compatible with all the old cards 17:41:45 well maybe just maybe i see things that aren't there!!! 17:41:47 jdrake: yes, I get disconnected every 2 hours 17:42:00 why? 17:42:13 pavlovskii :: i finally got the archive & i quite understand the code; thanks again 17:42:16 I'm on a modem connection 17:42:30 paid internet? 17:42:34 although BT give me a flat rate connection, they limit it to two hours at a time 17:42:36 pavlovski lets say mode is 0x13 would this be correct to switch to gfx mode... asm { mov ah, 0 mov al, mode int 0x10 }? then all i need to do is write to mem and bammo we have a pixel? 17:42:53 erm... that will only work if you're in real mode 17:42:58 mmm 17:43:03 in protected mode, it will vector to whatever interrupt 10h is 17:43:12 now my program won't exit... 17:43:20 BT is that big bad sort of monopoly in britain isn't it 17:43:23 which is some exception IIRC 17:43:33 jdrake: not technically a monopoly, but virtually 17:43:46 how do i know which interrupt to use in pmode? 17:43:56 they're generally pretty good for voice, but they're way behind on Internet connectivity 17:44:00 Spindle: you don't 17:44:06 well for the love of macaroni and cheese... 17:44:07 this is the point of the discussion -- 17:44:10 * jdrake won't move to britain 17:44:12 --- join: spyck (~spyck@i80.ryd.student.liu.se) joined #osdev 17:44:17 you either use V86 mode to execute a BIOS interrupt, 17:44:19 hi spyck 17:44:23 or you program the hardware directly 17:44:28 * Spindle cries, poops, and runs in circles 17:44:30 hi! :) 17:44:44 program hardware directly means drivers, correct? 17:44:47 i have a booting floppy and I am able to print single characters at any location on the screen :-) 17:44:51 yes 17:45:02 you will need to write drivers for every other piece of hardware you want to use, too 17:45:15 Spindle: stick with getting a good, reliable kernel first, then start playing with graphics 17:45:18 i see 17:45:26 once you have a good kernel, graphics will come naturally 17:45:47 if only nVIdia suplied a driver for my os =P 17:45:49 jdrake: wee. non-computergeeks doesn't understand when you proudly show the blinken-texts.. nice that #osdev exists then :) 17:46:19 spyck: :) 17:46:26 anyone know how to positively identify a FAT32 volume? 17:46:49 pavlovskii my kernel is crappy really i mean it just past a "i can print to screen kernel" =) i just wanted to plot a pixel i am gonna work on mem management tonite 17:47:42 Spindle: stick with text, graphics isn't worth it yet 17:47:53 or put in some simple mode switch code 17:47:56 yeah 17:48:00 Spindle, can I have a look at your code? (i would like to see what you got and compare it to my own) 17:48:01 did you get the Tauron utils? 17:48:02 oh I know why 17:48:05 * file mumbles to himself 17:48:29 yea pavlovski 17:48:35 got them 17:48:43 did Spindle get them? :) 17:48:53 ahh 17:48:55 sorry 17:49:06 get what now! =P? 17:49:14 * sliv3r is half sleepy 17:49:14 Tauron utils? 17:49:15 the Tauron VGA Utilities 17:49:22 got a linky to em? 17:49:25 VGA drivers 17:49:32 I think Google has a link :) 17:49:37 anyway, sliv3r seems to have a copy 17:49:41 here is the link http://alexfru.narod.ru/miscdocs/ega_vga/tauron30.zip 17:49:50 ya 17:49:59 thanks 17:50:14 anytime 17:51:01 omg dling at 625bytes a sec and I have cable 17:51:14 it is very slow 17:51:28 small file though so its cool 17:51:35 Average speed 902 B/s, current speed 846 B/s 17:52:12 went about to 888 =) 17:52:14 wee 17:52:17 Spindle :: check out http://alexfru.narod.ru/emiscdocs.html 17:52:24 what do that tauron thing do? ( iknow it is vga utilities, but that is all i know) 17:52:59 it's got code for switching to about any VGA mode 17:53:14 Tauron utilities. Utilities show how to setup any standard VGA modewithout calling BIOS services. Just a direct port I/O. Sample programs provided both for Turbo C and TASM. 17:53:21 goes to 640x480x4 and as far as 4??x3??x8 17:53:27 silver i have seen that link before! there was so many reousrce on it but its slow as hell =P 17:53:29 this is the description from the 'official' site 17:53:44 okay Spindle 17:57:41 away -== eating ==- 17:58:17 darn 17:58:48 --- quit: pavlovski (Read error: 110 (Connection timed out)) 17:59:19 --- join: tirloni (gpt@neutron.tirloni.org) joined #osdev 18:00:39 --- join: dax__ (~you@u212-239-163-14.adsl.pi.be) joined #osdev 18:07:23 --- quit: eirikn ("Segmentation fault") 18:07:51 hey guys! just another question, i guess i asked this yesterday but there was no conclusive answer 18:08:08 where can i find resources about kernel scheduling ? 18:08:18 i tried google ! :) 18:08:26 a book 18:08:58 online ... 18:09:17 scan in a book and upload it :p 18:09:49 hehe 18:10:35 of course there are good points in the linux src, but i want to see other docs ... 18:11:26 Tanenbaum covers scheduling in "Operating Systems: Design and Implemetation" 18:11:32 you will learn a *lot* from reading a book 18:11:44 or "Modern Operating Systems", by the same author 18:11:49 you guys know any way of disabling that stupid pc speaking under linux? (it is really really annoying...) 18:12:03 yes i know those books 18:12:57 i tried to buy them but they do not ship into my country 18:13:38 is there such a thing as www.amazon.be ? 18:13:53 if not, you could try amazon.co.uk, amazon.fr or amazon.de 18:13:58 and surely amazon.com will ship from the States 18:14:06 amazon.com only ships to the US 18:14:24 k 18:15:49 you should be able to find them in a shop for university literature. if there is a university in your city.. 18:17:22 nigt all 18:17:22 why do computer books have to be so expensive? 18:17:26 --- quit: pavlovskii ("Client Exiting") 18:17:46 --- quit: dax|zzz (Read error: 110 (Connection timed out)) 18:18:29 * spyck is away: some sleep or two. 18:33:43 --- nick: gab[dfx] -> gab|dfxxxxxxxxxx 18:34:28 --- quit: sliv3r ("My damn controlling terminal disappeared!") 18:36:16 WOOO 18:36:35 --- quit: lynx ("Reconnecting") 18:36:36 --- join: lynx (~lynx@pD954488C.dip.t-dialin.net) joined #osdev 18:37:44 woo 18:37:46 hey? 18:38:20 i think i just set my virtual memory too low in windows, quake3 just crapped out 18:38:29 lol 18:38:29 haha 18:38:35 --- mode: ChanServ set +o lynx 18:38:37 if quake3 craps out i feel bad man 18:38:48 yet i had 300mb free physical 18:39:53 actually it was q3f2, its more memory intensive than quake3 stock is 18:40:23 woo 18:41:58 how much stack should be good enough for a kernel? 18:42:14 * file offers lynx a no-bake cookie 18:43:02 * lynx gladely accepts it and hugs file 18:43:33 * file feels loved 18:43:48 "all is full of love" 18:43:52 get out of here you hippes, go back to the 70s 18:44:04 i have ops. 18:44:07 you don`t. 18:44:25 isn't that against opn policy? 18:44:33 --- mode: lynx set -o lynx 18:44:36 which policy? 18:44:44 one moment... 18:45:30 ugh 18:46:29 it was in the docs for opn, maybe freenode dropped it 18:47:42 jdrake : ;) 18:48:07 this makes a mention: http://www.freenode.org/catalysts.shtml 18:48:54 it doesn't directly say anything though (it seems to describe love to all) 18:49:08 I've got a headache 18:49:13 and it aches 18:49:20 here it is 18:49:20 Don't keep channel operator privileges. Displaying these privileges on your nick with a "+o" attracts participants who are interested in gaining them and using them actively. Have your nick added to the channel access list and op yourself only when needed. 18:49:23 http://www.freenode.org/channel_guidelines.shtml 18:49:38 he doesn't, normally 18:49:46 * lynx nods 18:49:52 i op others instead. 18:49:58 :-) 18:50:02 like eks! 18:50:05 eks??? 18:50:09 or like file 18:50:14 what/who is clog 18:50:16 I've never been opped, have I? 18:50:41 --- mode: ChanServ set +o file 18:50:48 --- mode: file set -o file 18:50:51 sure. 18:51:02 file: ? 18:51:08 eks: wow - you responded, freaky 18:51:11 eks: DJEMBE! 18:51:14 lol 18:51:18 eks : wucha doing? 18:51:47 djembe? 18:51:54 lynx: working on 'existence' uuu distro 18:51:55 sounds like a board game 18:52:00 Spindle: it's a drum eks plays 18:52:01 Spindle: african drum 18:52:07 cool! 18:52:21 eks : what are its features? 18:52:46 * indigo thinks he's getting sick 18:53:01 indigo: oh, I didn't mention I sneezed on the Helio many times? 18:53:08 lynx: just a cleaned up version of frustration, I have to rework the thread engine and make a new database fs and I don't want to break the current cvs 18:53:21 databse fs? 18:53:23 ja 18:53:26 a new fs? 18:53:27 like SQL 18:53:32 fancy 18:53:36 i am amazed. 18:53:41 i want you. 18:53:43 every applications are registered and stored in a database rather than a standard directory 18:53:55 eks : oh.. sounds brixish 18:53:59 lol 18:54:05 dunnno if it's brixish 18:54:17 but I know that I'll be able to use a remote SQL server as my primary fs :p 18:54:17 ask air :) 18:54:24 lol 18:54:30 eks : via network? 18:54:32 ja 18:54:41 so you need network shite, too? 18:54:44 start_menu_generation: 18:54:54 SELECT name FROM apps ORDER BY name; 18:54:55 :p 18:54:58 ja 18:55:08 eks : are you working on that? or is there anyone else? 18:55:16 the 3com drivers already work, so I only have to write the UDP/IP layer 18:55:22 I'm working on that 18:55:29 well, ok 18:55:49 eks: if you can get networking in uuu, i'll write a 3d network game :0 18:55:50 :) 18:56:03 indigo: nah, you should be busy with io, not a Uuu game ;) 18:56:15 eks : rtl8139 is needed though 18:56:25 eks: why, you want to use io too? :P 18:56:32 can't make the drivers myself (for rtl) without a card 18:56:37 indigo: ja :p 18:56:40 eks : well... 18:56:50 eks: ah... 18:57:07 eks : maybe i have some time, but i am sure i won`t 18:57:12 eks: i could make one though 18:57:13 eks: oki then, after i'm done with io, i'll write a 3d network game for uuu and you should have udp done by then :) 18:57:24 ehehe, hopefully 18:57:32 eks : why not try to port uip? 18:57:43 shit 18:57:47 * eks runs in wide circle trying to flee his fart.. 18:57:49 i might have to call in to work tomorrow :( 18:57:56 eks : eew 18:57:57 lynx: too big ;) 18:58:13 heh, ok 18:59:29 indigo : radiator is better anyway >:) 18:59:36 lynx: whatever 18:59:41 how do you test the stability of a kernel? 18:59:52 jdrake: you run apps on it ;) 18:59:54 indigo : does your gui work ? 18:59:57 jdrake: let my cousin work on it 18:59:59 lynx: ja 19:00:14 indigo : nice site, btw :) 19:00:22 iosynth.sf.net? 19:00:26 ja 19:00:29 more than ours 19:00:31 oh, glad you like it 19:00:37 i didn't do it :) 19:00:47 i saw that. 19:00:53 Dustin 19:01:07 indigo : is he working with you ? 19:01:10 ja 19:01:45 nice 19:02:16 indigo : i wanna see screenshots :) 19:02:50 hmm... 19:05:40 * indigo builds gnomecanvasmm from cvs 19:07:52 i'll be damned 19:08:00 they fixed it, and they didn't even tell me! 19:08:14 fixed what? 19:08:18 they told you to use cvs :P 19:08:24 the bug 19:08:30 or one of them at least 19:08:34 let's see about the others :P 19:09:39 heh 19:09:42 now it's worse... 19:10:01 it's not even buggy; it just segfaults the instant i make an element :) 19:10:14 --- join: geist (~geist@dsl-65-191-44-105.telocity.com) joined #osdev 19:10:35 hey geist =) 19:10:40 howdy 19:10:46 installed linux on my imac 19:11:01 makes a pretty decent linux box 19:11:20 heh 19:13:16 lol 19:13:52 just reading something.... why would the A20 gate (belonging to memory) be controlled by the keyboard (an input device) 19:14:58 jdrake: it's not controlled by the keyboard 19:15:02 but by the keyboard controller 19:15:09 which is always on board on a chip 19:15:19 it was a terrible hack back in the day 19:15:41 grr 19:15:49 the whole reason you need to enable the a20 line is due to a bug in the 286 that people used 19:16:07 so they had to leave it in 19:16:08 geist: I still think they would have been better using a port reserved for it, sending either "1" or "0". 19:16:26 I forgot why they needed to do that. I remember there being a reason for it 19:16:28 geist: what bug? 19:16:41 the bug was that a20 is the 21st address line 19:16:49 used to reference memory +1MB 19:17:03 the 8086 only had 20 address lines 19:17:09 well, i know that.. ok 19:17:33 and so when you're in real mode (which acts like a 8086) and you reference a segment that starts right under 1MB, it should wrap around to zero 19:17:51 the bug in the 286 made it not wrap around, and it actually extends into 1MB memory 19:18:04 so you can basically get an additional 64k - 16 bytes of memory 19:18:50 so to make it look like a 8086 should, they did a hack to disable the a20 line externally to the cpu to make it wrap 19:19:10 but then they put in a backdoor to let you enable the a20 line anyway 19:20:31 I'm sure I'm inaccurate on at least one count, but that's the gist of it 19:20:51 remember 'high memory' in dos? 19:20:56 that was that 64k - 16 bytes 19:23:00 ERROR: VOiD 200 is required by at least osw.o but found no provider. 19:23:00 Linking failed. Errors: 1 Warnings: 0 19:23:06 ehehe, good old error messages :p 19:30:04 hrm 19:30:13 eks : how can i see where my app segfaults? 19:30:40 i mean.. how could i debug it? 19:30:45 lynx: use gdb 19:30:55 lynx: don't forget to compile with -g 19:31:25 gdb?! 19:31:26 hrm 19:31:32 i never used it 19:31:46 time to learn :P 19:31:55 wow, it's astonishing how fast my imac actually is 19:32:08 after running macosx you start thinking the computer is a total pile of shit 19:32:28 with linux, it's pretty quick 19:32:38 eheh 19:33:48 shit :( 19:34:10 i'm sick, gnomecanvas is buggy, and i have to make the bed... 19:34:16 ugh :/ 19:34:38 nothing is going right! 19:36:47 the only guy that seems interested in fixing the bug is aparrently asleep... 19:37:13 augh! 19:37:21 * indigo wonders if he should work on XGS 19:37:42 nah, fix the bug in gnomecanvas ;) 19:37:46 get your name in the sources ;) 19:37:48 heh 19:37:58 i'd have to dig through C :/ 19:38:07 debugging asm is fun... 19:38:16 debugging C is an endless nightmare 19:38:34 ehehe, some ppl in this chan would think otherwise :p 19:38:52 I dont have to worry about either 19:38:54 well, that's because they arn't good enough :P 19:38:58 I just get the code right the first time 19:39:11 geist: lmao 19:41:53 --- join: pengo (xtofu@p364-tnt1.mel.ihug.com.au) joined #osdev 19:45:28 --- quit: jdrake () 19:46:35 HRMPF 19:46:41 at least it doesnt segfault anymore 19:48:03 the database backend of Uuu will make it ueber easy to do a whole bunch of things ^-^ 19:49:32 does anyone know tuts on implementing a memory manager? 19:49:51 tuts? 19:49:56 --- join: DorkPunk (~rajiv@cs6625167-251.austin.rr.com) joined #osdev 19:49:59 oh, tutorials 19:50:01 tutorials 19:50:09 Greetings. 19:50:21 my experience is that anything with any amount of complexity does not have a tutorial to cover it 19:50:29 ie, only easy things have tutorials 19:50:34 aww poo 19:50:49 otherwise it's too hard to make a tutorial, and since people do tutorials for free... 19:51:09 well there is tuts at http://osdev.neopages.net/docs.php but i was wondering if you guys new any other resources 19:51:12 your best bet is to read books like crazy 19:51:24 geist i have Modern Operating Systems 19:51:26 but 19:51:30 i am in the middle of chap 2 19:51:32 Spindle: i'd say to read malloc.c or whatever 19:51:42 and mem manger isn't till chap 4 hehe 19:51:46 understand how VMs like UVM, NT, solaris work 19:51:55 the 4.4 BSD book talks a little bit about it as well 19:51:57 the book is 1000 pages!!! 19:52:19 Modern Operating systems doesn't cover it really 19:52:28 it just sort of talks about what vms have todo, and then moves on 19:52:47 o 19:52:53 you could write whole books on it. a good VM is terribly complicated 19:52:59 dude din't you recommend that book to me 19:53:01 or was that eks 19:53:09 not I 19:53:18 not to say there isn't any good data there 19:53:25 i know i know 19:53:26 that's a great book to start, it gives you the background 19:53:35 just mistaked you for someone else i think was eks 19:53:35 but it is very light on implementation details 19:54:20 i am not looking for a complex mem manager =P just a basic one but thats even hard to write i guess 19:54:28 time for my friend google 19:54:37 okay 19:54:47 --- join: jdrake (jptd@CPE014410113717.cpe.net.cable.rogers.com) joined #osdev 19:54:49 but remember that lots of os development is not documented very well 19:54:57 people seem to get bogged down looking for howtos 19:54:57 did i mention that i love you all? 19:55:04 my code is definately is triple faulting, i tried it on my actual computer 19:55:09 i don't get why though 19:55:19 this is the only code I am running... http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/gaat/kernel/liberty/kernel.c?rev=1.3&content-type=text/vnd.viewcvs-markup 19:55:26 jdrake: well, you know what a triple fault is right? 19:55:43 so first thing you should do is make sure you have an int handler on every interrupt vector 19:55:48 at least something to catch it 19:56:16 interrupts should be disabled right now 19:56:25 you cannot disable exceptions 19:56:37 geist, right now my kernel boots from grubs... and it can basically just print out text to the screen, any recomendations on what to do next? how did you go about developing the beginings of NewOS 19:56:38 cli and sti only disables external interrupts 19:56:47 aghuhoahu 19:57:12 --- join: EtherNet (~ethernet@lu9dcn.ampr.org) joined #osdev 19:57:21 Spindle: well, the first thing I did was put together a piece of code that initializes the serial port, so I can trace what's going on with a simple outb 19:57:41 secondly I put together at least a simple heap so I can malloc/free 19:57:51 --- part: EtherNet left #osdev 19:58:04 then I started working on threading, some way to do a thread context switch 19:58:12 ahh 19:58:31 then I started working backwards and starting building a simple VM 19:58:48 one that deals with virtual space allocation (like carving up virtual space into regions) 19:59:05 i have a outb|w inb|w functions but how do you init the serial ports or does grubs do that for me? 19:59:11 and wrote some code to start tracking physical pages in use (so the vm can allocate physical pages to map to particular virtual addresses) 19:59:21 I dont know anythig about grub 19:59:30 initting a serial port is trivial, look around 19:59:35 Spindle: i doubt grub iti's the serial ports... 19:59:36 involves a couple of outs 19:59:41 k 19:59:45 inits even 19:59:56 no flow control, just spin on it when you want to output a character 20:00:01 * air likes these drugs 20:00:11 nice thing about that is you can write to the serial port from anywhere in the kernel 20:00:11 air drugs are bad! 20:00:15 * Spindle spanks grubs 20:00:18 i mean 20:00:21 drugs* heh 20:00:22 I think it's medication 20:00:34 yeah proabably 20:00:34 where is a good place to but the gdt and ldt and such? 20:00:38 but a drug is a drug 20:00:48 awake 16 hrs yesterday, slept 4hrs last night and been awake 11hrs today 20:00:50 jdrake: RAM is your best bet ;) 20:00:54 jdrake: anywhere is fine, map them into kernel space somewhere 20:00:55 jdrake in your entry asm kernel 20:01:04 and im just starting to get tired 20:01:09 thats where its set up for me at least 20:01:09 how big should they be 20:01:13 or staticly put them in the kernel 20:01:18 and i was busting ass today 20:01:23 Microkernels 0wn me. 20:01:28 I allocated a page in kernel space and stuck em there 20:01:43 but as long as they're always present somewhere, it doesn't matter 20:01:44 jdrake: that depends on how many segments you expect to create 20:02:00 well, the idt needs to be 256 entries long 20:02:18 i am not entirely sure on how the gdt exactly works (its scope mainly, and where the ldt fits in) 20:02:18 is linux/windows a mircokernel? 20:02:19 the gdt, I think 6 entries minimum 20:02:25 Spindle, monolith 20:02:31 hmm 20:02:34 i can take a pill before i sleep tonight and it will make me wake up after a few hrs of sleep and be wide awake all day tomorrow 20:02:38 super human drugs 20:02:42 lol 20:02:53 Spindle, because the drivers execute in the kernel space (i tihnk that was it) 20:02:54 20hr days 20:03:04 air: as long as you dont turn green and start busting down walls, you're okay 20:03:15 jdrake: the gdt's scope is global (global descriptor table), the ldt is local to a task 20:03:18 yeah your right jdrake 20:03:42 indigo, does an ldt have to have a corresponding gdt entry? 20:03:52 you dont need an ldt at all 20:03:54 ldt is optional 20:03:55 jdrake: no, you don't even need an ldt 20:04:18 would it be quicker to just have an gdt? 20:04:21 and I recommend using the gdt as minimally as possibly 20:04:34 x86-64 pretty much disables it in 64-bit mode 20:04:41 geist - Why do you recommend using the GDT as minimally as possible? 20:04:46 jdrake: that depends if you are using segments or not 20:04:46 since no one really uses the segmentation stuff anymore 20:05:03 microsoft uses it 20:05:06 DorkPunk: because segmentation is an old idea. Not needed anymore 20:05:09 geist - What about hardware task switching? 20:05:11 indigo: not NT 20:05:20 indigo: or at least not any more than you need 20:05:32 ah 20:05:36 DorkPunk: dont use that either. it's slow 20:05:37 so do I make a gdt entry to do the entire memory space? 20:05:43 jdrake: yep 20:05:57 jdrake: ja, you need one for data, and one for code 20:06:03 is it ok if data and code have similar entries? 20:06:04 and use the mmu's paging structures to protect kernel memory from user code 20:06:11 jdrake: yep. I created 4 entries 20:06:14 user code/data 20:06:16 kernel code/data 20:06:18 jdrake: no, they must be seperate 20:06:40 geist means 20:06:42 user code 20:06:44 how do you make the user code / data separate wheny ou don't know how much they willreally need? 20:06:44 user data 20:06:46 kernel code 20:06:49 kernel data 20:07:00 jdrake: you make them cover all 4GiB 20:07:05 just make all the entries start at 0, 4GB in size 20:07:15 geist - Do you think that hardware task switching will be supported in x86-64? 20:07:27 gdt[0] = 0; 20:07:27 gdt[1] = 0; 20:07:27 gdt[2] = 0x0000ffff; // seg 0x8 -- kernel 4GB code 20:07:27 gdt[3] = 0x00cf9a00; 20:07:27 gdt[4] = 0x0000ffff; // seg 0x10 -- kernel 4GB data 20:07:28 gdt[5] = 0x00cf9200; 20:07:30 gdt[6] = 0x0000ffff; // seg 0x1b -- ring 3 4GB code 20:07:32 gdt[7] = 0x00cffa00; 20:07:34 gdt[8] = 0x0000ffff; // seg 0x23 -- ring 3 4GB data 20:07:36 gdt[9] = 0x00cff200; 20:07:38 DorkPunk: it is not 20:07:44 geist - :-( 20:07:48 each of those gdt entries are 32-bits long 20:07:54 what is the odd entries in there 20:07:55 the first entry has to be zero 20:08:04 each gdt is 64-bits long 20:08:06 geist - I don't know assembly very well, that is why I used hardware task switching... I only needed one inline assembly macro... ljmp()... 20:08:17 the odd number array parts, they are all different 20:08:19 well, the x86-64 doesn't support it in 64-bit mode 20:08:37 DorkPunk: software task switching is much simplier 20:08:56 wouldn't hardware switching be faster? 20:09:08 jdrake: it is not 20:09:10 jdrake: not usually 20:09:15 everyone read this: 20:09:17 http://sempiternity.org/articles/x86_sts.php 20:09:27 and be silent :) 20:09:45 yep 20:09:55 software switching is really very easy 20:09:59 ignore the spelling and typos 20:10:02 unfortunately on ia-32 you have to have gdt 20:10:02 i know they are there 20:10:06 and yes, i know it's not done :) 20:10:13 and you have to have at least one tss segment descriptor and tss structure per cpu 20:10:50 * indigo plays some quake and goes to bed 20:10:59 because the cpu uses the current tss to point to the ring0 stack segment and stack pointer to switch to if it takes an interrupt in a higher ring (in other words, if it takes an interrupt in user space) 20:10:59 indigo - This is a great article. I wish I would have read this before I spent 5 months figuring out hardware task switching. LoL 20:11:17 DorkPunk: I recall telling you months ago not to do HTS 20:11:22 geist - You did... 20:11:24 a few of us told you that 20:11:28 geist - And I tried software task switching first... 20:11:30 but you said you wanted to figure it out 20:11:34 what about task switching with loadall 20:11:43 geist - Yes. And now I am going to go back to software task switching. LoL 20:11:53 geist - I did figure it out. 20:12:08 geist - And it works quite well in my system... But as you have said, it is not as easily portable, or anything like that. 20:12:09 jdrake: loadall 20:12:22 geist - And I will have to learn more IA-32 assembly, to implement software task switching. 20:12:41 it takes about 8 lines of asm to STS 20:12:45 DorkPunk: heh, that's why i wrote it :) 20:12:47 pusha 20:12:58 What is the difference between pusha and pushad? 20:12:59 * indigo is gone: *poof* 20:13:00 movl esp,[save pointer] 20:13:08 movl new pointer,esp 20:13:10 popa 20:13:16 DorkPunk, 16 bit vs 32 bit 20:13:22 jdrake - Ah, I see. 20:13:32 Does the "d" in "pushad" stand for "double?" 20:13:37 yep 20:13:41 Ah, okay. 20:13:47 in ia-32 parlance, double words == 32-bit 20:13:53 * DorkPunk nods. 20:14:10 Ah well. I am happy with my task management so far. I will at some point switch back to software task switching. 20:14:32 I am surprised that x86-64 will not support hardware task switching, even for reasons of backwards compatibility. 20:14:58 I am also a bit surprised that modern Linux kernels still use LDTs on IA-32... 20:15:52 has anyone heard of any x86 platform (even -64) that uses something different than the standard bios? 20:16:46 maybe some embedded stuff 20:18:21 DorkPunk: x86-64 does support ia-32 backward compat 20:18:31 but when you switch it into 64-bit mode, thigns change 20:19:00 do you guys have a good thing in your 'favorites' that refers to gdt and idt? 20:19:21 geist : how can i access an object in a class ? 20:19:43 geist - I see. 20:20:25 lynx: what? 20:20:55 geist : i have a class that is called BLah in which i use a fancy object derived from wxShape 20:20:58 now... 20:21:19 since i am using another evt handler i have to give the handler the object in my class 20:21:24 I assume this is c++? 20:21:26 how can i do that? 20:21:28 yes 20:21:45 like Blah.evilThing ? 20:21:56 this fancy object is a member of your class? 20:22:03 but that returned me errors that evilThing is no wxShape 20:22:05 ie, class foo { 20:22:11 fancyObject mOBj; 20:22:13 }; 20:22:14 ? 20:22:24 ya 20:22:55 wxRectangleShape *RectangleShape; 20:23:08 so if fancyObject is truly derived from wxShape 20:23:24 you should be able to 20:23:32 RectangleShape = &mObj; 20:23:52 These Intel documents are not helping me at all... :-\ 20:23:56 yes yes 20:23:58 --- quit: spyck (Read error: 110 (Connection timed out)) 20:24:04 --- quit: gpf|venus (Read error: 104 (Connection reset by peer)) 20:24:12 I don't care about the capacitance and grade of silicon used in the DMA chip. LoL 20:24:14 --- join: Delphinus (~peter@218-160-2-223.HINET-IP.hinet.net) joined #osdev 20:24:17 geist : hrm... 20:24:22 hey guys. 20:24:33 geist : i mean.. i have to access the object externally 20:24:41 not from within the class itself 20:24:42 --- nick: Delphinus -> delphinus 20:24:42 okay 20:25:06 excuse, where can I fund the full list of unix system call spce.? 20:25:41 so you should be able to do RectangleShape = &classobj.mObj; 20:25:45 --- join: gpf|venus (~ben@h0020af25039b.ne.client2.attbi.com) joined #osdev 20:25:56 where classobj is a instance of your container class 20:26:19 geist : doesnt work :/ 20:26:30 what is the error? 20:26:40 http://quaff.port5.com/syscall_list.html 20:27:08 request for member "rectangleshape" in "theShape" , which is of non-aggregate tyoe "wxShape*" 20:27:20 if you get your gdt up and running, how do you tell it where the actual physical memory is 20:27:54 sounds like one of the two things is a pointer when it shouldn't be 20:28:22 jdrake: the GDT pointer is always given as a physical address 20:28:25 eks thanks. 20:28:38 np 20:29:08 but if you tell it to use 0 base with a 4gb limit, I am not understanding how that goes into physical memory, what would happen if you tried to address something larger than your actual ram 20:29:36 then the return value is undefined 20:29:53 dont address something larger than actual ram 20:29:59 or not part of a memory mapped device 20:30:14 pci devices tend to map themselves into physical ram at around 3.5 GB and above 20:30:36 but hardly anyone would have 3.5gb of physical ram... 20:30:42 it doesn't matter 20:30:52 physical memory will be from 0 - size of physical memory 20:30:55 jdrake: that's exactly the point, so that the device memory space doesn't overlap/shadow real memory 20:31:09 then after that there will be a hole where you shouldn't write 20:31:23 then up at the top of memory there will be a place where pci devices are mapped 20:31:51 that's the reason my motherboard only sees 3.5 GB even if I stick 4GB of ram in it, for example 20:32:09 ok, if there is 4gb of physical memory mapped to an application, how do you prevent it from accessing the pci memory or another applications memory 20:32:22 ah, now we get to the real meat of your misunderstanding 20:32:30 you have not taken paging into account 20:32:39 i don't even knowhow paging works 20:32:39 basically any modern cpu has a paging unit 20:32:43 jdrake: you can either use the page mechanisms and mark the areas not to use as "not present" 20:33:03 jdrake: or you can avoid using a 4GB flat memory model, and use different segments to describe the devices, the ram, etc. 20:33:06 what a paging unit lets you do is map any 'page' of physical memory to any 'page' of what the cpu really sees 20:33:15 a page is typically defined as a fixed size, like 4k 20:33:26 eks: dont confuse em. :) 20:33:39 so in the case of a 32-bit x86 20:33:55 there are basically 1024*1024 4k pages of physical address space (4GB / 4k) 20:33:57 * eks shuts up and let geist explain 20:34:09 ok 20:34:16 you can map them to any or many 1024*1024 4k pages of 'virtual' address space 20:35:09 so you could, for example, map physical page 0, which would be starting at physical address 0, to every virtual address page 20:35:22 in which case you'd see the same 4k of memory repeating itself over and over 1024*1024 times 20:35:37 that's what the paging unit on an x86 does 20:35:51 do you update the paging unit everytime you task switch? 20:36:03 segmentation operates on top of that, so when you are talking about base and length on a segment, that's referring to virtual address space 20:36:05 jdrake: yes 20:36:32 in a multiple address space system, you change the mmu context, which changes the physical->virtual page mappings on every context switch 20:36:39 * jdrake headache is starting to go away 20:36:57 that's how you can have multiple processes operating with their own pointers and own protected memory 20:37:31 i think have it understanding a little more 20:37:47 one of the reasons I say to get rid of segmentation is because no other cpu supports anything like that 20:37:54 but they prettymuch all support paging 20:38:12 segmentation was basically the approach cpus used before paging was invented 20:38:19 and that was like 30 years ago 20:38:40 nite 20:38:45 as far as hardware is concerned,it's much much easier to supprt segmentation, and so the early versions of the x86 supported just segmentation 20:38:56 that gdt you pasted up a while, can I put it into nasm 'dq' statements verbatim? 20:38:56 and then in the 386 they added paging so they could play with the big boys 20:39:22 and they have left the segmentation stuff in for backwards compatibility 20:39:45 jdrake: probably. those are 32-bit words. put them in that order 20:40:08 do i have to worry about intel's whoring of the byte order? 20:40:20 probably not, I think nasm will do that 20:40:22 (which I never understood that too much either) 20:40:31 just another way to do it 20:40:52 when everybody else does it the other way? 20:40:53 some cpus are little endian, some are big. big is easier for humans to deal with, but aside from that it doesn't matter 20:41:03 not all of the others do that 20:41:13 lots of them are configurable 20:41:18 hmm 20:41:23 arm, sh4, ia-64, powerpc 20:41:27 they can all do it either way 20:41:38 WTF? 20:41:54 is there any performance difference between ring 0,1,2,3? 20:42:03 nope 20:42:06 mips, too 20:42:10 and mips 20:42:26 so it wouldn't make a difference if I had device drivers running at 1 or 2 rather than 3? 20:42:28 some cpus are configurable by software, some are just made that way 20:42:30 pff 20:42:51 jdrake: well, I said there was no difference in running in ring 0, 1, 2, 3 20:43:03 why have so many 20:43:05 getting to ring 1, 2, 3 may take time 20:43:13 jdrake: another feature that no one really uses 20:43:22 just stick with ring 3 and 0 20:43:34 just stick with ring 0 and save a lot of time 20:43:49 then apps can do bad things right? 20:43:54 nope 20:43:54 or some folks like to run it all in the same address space. that's another design methodology that some like 20:44:02 we do it at work in our os 20:44:14 and run all the 'user' code in java, and thus protects the system 20:44:29 a lot of trust to put into java 20:45:04 well, we wrote the java interpreter too 20:45:14 nice 20:45:14 and the compiler 20:45:17 how long did that take 20:45:19 and the linker, and all the java libs 20:45:23 and the os 20:45:35 geist, how long have you been doing this for? 20:45:36 about 6 months or so 20:45:40 thats it? 20:45:50 6 months was response to the java question 20:45:55 hmm, my apache is segfaulting like crazy 20:45:56 oh :-0 20:45:58 I've been messing with newos for about a year and a half 20:46:17 before that I was working at Be on BeOS for about two years 20:46:26 and before that I was in college 20:46:34 how are those beos clones doing anyways? 20:46:56 so I've been doing os work for all my professional career 20:47:03 which is about 3 years 20:47:18 jdrake: they're all doomed by incompetence 20:47:20 so would you be in your mid 20s? 20:47:23 yep, 25 20:47:33 you got about 4 years on me :-) 20:47:47 --- quit: eks ("zzzZzz") 20:47:52 i am curious though - os development in college? that sounds more like a university thing 20:48:18 wtf, nimda is up to 61 hits per attack now? 20:48:21 college == university 20:48:32 air: it's getting stronger 20:48:39 amassing it's numbers 20:48:39 ah, in canada (at least ontario) college is definately not university 20:48:44 the undead army 20:48:49 geist: stronger? 20:48:56 jdrake: well, I really meant university 20:49:15 is nimda going to be around for the lifetime of the internet? 20:49:16 air: now it's 61 attacks per hit. Pretty soon it'll break down the gates 20:49:35 apache is straining hard. how can't it survive? 20:49:40 we're all doomed! 20:49:57 it's gonna bust in here and rape and pillage 20:49:59 we must flee 20:50:19 in theory couldn't a widely spread virus like that make a rather large neural network and start thinking...? 20:50:49 trouble is it'd think so slowly that it wouldn't matter 20:50:59 you need extremely fast links between the nodes 20:51:05 internet2? 20:51:24 jdrake: u been watching too much xfiles :) 20:51:26 faster links only gets you more bandwidth 20:51:33 doesn't reduce the delay 20:51:48 we are getting better computers month by month 20:52:01 there's still a fixed 30ms (I think) delay between one side of the US to the other, for example 20:52:05 you can't really get around that 20:52:08 you also need some sort of complex structure. the human brain does _not_ start off as just a massive random neural network. 20:52:32 latency is pretty much fixed for the time being 20:52:44 and something like a massive neural net needs that to be low 20:53:40 yeah, 30 is about right 20:53:42 i remember this movie that was made during the 70s i think... 20:53:50 --- quit: lynx (Remote closed the connection) 20:53:51 30ms == 5580 miles at the speed of light 20:53:56 --- join: lynx (~lynx@pD954488C.dip.t-dialin.net) joined #osdev 20:53:58 jdrake: I know which one you're thinking of 20:54:01 it had a us computer and soviet one 20:54:15 based on a book called 'the adolescence of p1' 20:54:21 oh, actually that's a different movie then 20:54:23 interesting 20:54:57 that's one of the problems with high speed links that go long distances 20:54:58 i like post-apocalyptic movies 20:55:05 goodnite! 20:55:05 the network capacity is very high 20:55:17 nite lynx 20:55:20 nite 20:56:04 if you have a gigabit link, for example, you can transfer 30 megabits of data in that 30 ms it takes for it to get just across the US 20:56:24 geist, do I do an lgdt and then do a far jump? 20:56:40 or can I just call it 20:56:43 I think so, assume all of the other things that you have to have right are right 20:56:49 lgdt and far jmp 20:57:00 er assuming 20:57:07 can I do a far jmp to say kmain (my entry point) 20:57:26 sure, as long as everything is is okay 20:57:42 there are like 10 things that have to be set up right before that'll work 20:57:46 the gdt is just one of them 20:57:58 some stuff is already setup for me 20:58:07 i am using that bootf02 boot sector 21:04:15 --- quit: DorkPunk ("[BX] *PHEAR MY BITCHX-NESS!* BOW TO ME!") 21:04:55 if I am not going to be using hardware task switching does it mean that I don't use LTR or TSS? 21:06:40 you need tss after a while 21:06:52 if you do user and supervisor code 21:07:00 but dont worry about it for at least 6 months or so 21:07:13 for the beginning, stick to one address space, ring 0 21:07:34 after a while you can decide if you want to do multiple address spaces, and/or user and supervisor code 21:09:21 what do you think would be done in 6 months? 21:11:51 it took me 6 months to get threading and a decent vm in place and a good framework upon which to build a system 21:12:43 --- join: Kurt (~kmw@gc-nas-01-s65.cinergycom.net) joined #osdev 21:12:52 self hosting? 21:19:56 no way 21:20:04 wont be self hosting for a while 21:20:12 since I'm not particularly excited about posix 21:20:31 it takes a *lot* of work to be able to run gcc or something like that 21:20:32 do you know how to have a multiline db statement in nasm? 21:20:37 nope 21:20:45 I dont use nasm, and therefore know nothign about it 21:20:56 anyway, good luck to ya. I'm gonna bail and go do some work 21:21:00 i am saving myself some pain of gas 21:21:10 gas is fine for me. I use it all the time 21:21:14 night 21:21:20 i don't like the syntax of at&t 21:21:26 get used to it 21:21:33 you'll need to use it for inline asm 21:21:36 maybe someday 21:21:38 and other cpus 21:21:41 later 21:21:42 --- part: geist left #osdev 21:23:56 * HeavyJoost is away: ..:: non-awaking ::.. 21:40:14 --- nick: Kurt -> Ranger^ 21:43:15 how do I select what my selector will be when I do a far jump? I am trying to do a far jump to the next instruction with a selector into the 2nd entry in the gdt. 21:46:40 --- quit: delphinus () 21:46:51 --- nick: Ranger^ -> Kurt 22:19:02 --- join: geist (~geist@dsl-65-191-44-105.telocity.com) joined #osdev 22:27:33 --- quit: trans (Read error: 60 (Operation timed out)) 22:37:50 geist, are you around? 22:47:13 yeah 22:47:31 --- part: geist left #osdev 22:47:42 --- join: geist (~geist@dsl-65-191-44-105.telocity.com) joined #osdev 22:48:26 * geist is starting work on making the newos console a vt100 terminal 22:49:14 yuck 22:49:41 why recreate linux? 22:49:57 making a vt100 console != recreating linux 22:50:00 i think i have figured out why I am triple faulting 22:50:06 I suppose I could invent a new terminal 22:50:17 but it works well enough. 22:50:22 and works for remote logins 22:50:52 I have my global data, and when I do something like os[1] = 'J' it will triple fault, but when reading it, it won't triple fault (in a single test mind out) 22:51:03 write a new a terminal and a posix client for other OSes so they can access yer new terminal 22:51:17 I have better things to do than fuck with writing a new terminal 22:51:28 some things I do because I want to try something out 22:51:38 other things I do so I can get it done and move on 22:51:43 vt100 is the latter 22:52:01 and make the terminal work over udp 22:52:04 and eventually I'll do a gui system and it'll be not as important anyway 22:52:23 why the hell would I want to make it work over udp? 22:53:05 smaller packets 22:53:18 oh good one 22:53:22 geist, that gdt you wrote, specifically the 3rd entry for kernel data, will I have to do anything to get my global data to be mapped properly into it? 22:53:28 so who does the congestion control? 22:53:35 nagle's algorithm? 22:53:46 because now accessing my global variable memory location triple faults 22:53:54 doing some character by character protocol over udp != smaller packets necessarilly 22:54:07 you have to end up adding overhead to the system to make it work effectively 22:54:11 which means you reinvent tcp 22:54:44 jdrake: I dunno. Sorry man 22:55:13 geist, do you use a linker script by chance 22:55:36 yes I do 22:55:58 does .data relocate to any specific location? 22:56:07 nope 22:56:19 it's wherever the linker sets it to 22:56:29 usually after the read-only sections 22:56:57 I modified the linker script to align the program segments on page boundaries, but it's pretty standard 22:57:08 can I see your linker script? 22:57:18 my source is free 22:57:19 BSD 22:57:23 http://newos.sf.net/ 23:00:15 that is some linker script 23:00:25 which one did you look at? 23:00:39 you probably want to look at kernel/arch/i386/kernel.ld 23:00:43 yes 23:00:45 thats the one 23:01:06 what is bss 23:01:08 the kernel is non-relocatable 23:01:24 do you load it up at a specific location? 23:01:45 yes 23:02:06 what is all of this: .rel.got : { *(.rel.got) } 23:02:27 another segment 23:02:34 for what 23:02:42 probably not necessary for a non-relocatable binary 23:02:52 a section to deal with relocation 23:02:59 what makes it non relocatable 23:03:09 the way I link it 23:03:32 hold on 23:03:39 --- part: geist left #osdev 23:03:59 --- join: geist (~geist@dsl-65-191-44-105.telocity.com) joined #osdev 23:04:05 better 23:04:22 I was for shits and giggles useing an irc app under macosx that sucks 23:04:32 anyway 23:04:35 --- quit: tirloni ("ircII EPIC4-1.0.1 -- Are we there yet?") 23:05:34 does static have any effect on anything? 23:05:41 what? 23:05:50 static what? where? 23:06:10 i noticed that you have some static data near the top of your main,c 23:06:53 yes 23:07:07 does that just make it private to the module? 23:07:32 yes 23:07:39 same with static functions 23:07:59 i am really at a loss as to why this is crapping out 23:08:36 fire it up in bochs, learn how to use the debugger 23:08:43 bochs is great for this initial bringup 23:09:01 whats that address for it? 23:09:26 bochs.sf.net 23:09:33 and dont ask me how to use it 23:09:38 it's complicated and a pain in the ass 23:10:27 is bochs 'fast' or slow as hell? 23:12:51 slow, it emulates an x86 and the pc around it 23:13:12 but that means you can do stuff like set a breakpoint and step through the cpu, and watch the cpu triple fault on you 23:15:40 that could be very useful 23:17:30 http://deathrow.vistech.net/ 23:17:46 free accounts on vms cluster 23:19:27 1.4mb dump from bochs 23:20:22 i think i know one possible problem 23:20:34 SS:0000( 0000| 0| 0) 00000000 0000ffff 0 0 23:21:40 although I set SS already 23:22:08 along with FS and GS, but those are reset too 23:46:26 --- quit: Kurt ("Connection reset by fear") 23:46:44 --- join: stormbind (~stormbind@p50834B93.dip.t-dialin.net) joined #osdev 23:56:57 hmm, the vt100 console does some strange things when it comes to setting up a scroll window and then moving the cursor outside of it 23:57:17 or at least securecrt does 23:58:05 i found some C code to load up a gdt, and update registers, i will be trying that 23:59:02 i really really really need to understand at&t syntax, it looks like a lisp-perl combined language at the moment to me 23:59:57 makes a lot more sense to me than intel syntax 23:59:59 --- log: ended osdev/02.08.31