IRC log started Mon Sep 13 00:00:02 1999 [msg(TUNES)] permlog 1999.0913 12:10am -:- SignOff Mr_Wrong: #TUNES (leaving) -:- smoke [smoke@13dyn118.delft.casema.net] has joined #tunes -:- lar_away [LarMan@dialup-209.245.135.144.SanJose1.Level3.net] has joined #tunes -:- SignOff lar_away: #TUNES (Ping timeout for lar_away[dialup-209.245.135.144.SanJose1.Level3.net]) -:- Fare61453 is now known as FareNice -:- SignOff FareNice: #TUNES (Connection reset by pear) -:- tazzz [user8188@lbrg-114-31.intelos.net] has joined #Tunes -:- tazzz [user8188@lbrg-114-31.intelos.net] has left #Tunes [] -:- hcf [nef@me-portland-us930.javanet.com] has joined #tunes -:- SignOff smoke: #TUNES (Ping timeout for smoke[13dyn118.delft.casema.net]) -:- SignOff hcf: #TUNES (Leaving) -:- liar [brand@p0wer.qzx.com] has joined #tunes -:- s720 [s720@barkebille.ii.uib.no] has joined #tunes hello hi what brings u here? I thought I'd dl some kuul mP3's :) serious? -:- s720 is now known as tmf ah 02:30pm just lurking, thought the log was delayed i guess ill just turn idle back on :) liar, what name do you use in the mailinglist? what list? tunes@tunes.org? im not subscirbed ok my email is brand@qzx.com what is your relation to tunes? i try to scare off anyone that shows interest in it :) great, an undercover m$ agent - intreguing heh i am working on brix and just hang out here like everyone else with their own os It's much like a gassstation in a small town. We come and hang out discussing our bikes, chasing chicks ya too bad there hasn't been any racing lately ( all the bikes are on the drawinboard ) ya that sucks u know any C? yepp are you writing brix in C? do u have bochs? boochs? I have a few books no, bochs the pc emulator nono crap, im writing a gtk frontend for bochs to make debugging OSes really easy but something isnt working right in the pipe to bochs I once ( when writing demos on amiga ) hacked so that I could debug my demo in realtime over a null-modem - made things quite a bit simpler! 02:40pm but I don't know anything about bochs bochs is a program that runs on any OS and emulates a 386 PC nice. u can run other oses like win98 inside linux and it also has a half-ass debugger ( useful for those big-ass fuckups :) is brix intel native? the kernel is ok i will write the language in C what are the major features of brix that way it can be ported to other platforms I'm also tempted to use C due to the portability well its like tunes but it compiles the code when it first encounters it and runs the code in kernel threads instead of merging it together like tunes does well i think the kernel should be optimized for the platform it will run on and asm is the best way yeah, sure. the language will provide portability for all code what will the language be like? it will be very simple and safe and powerful and i will not allow any other language to be ported to brix :) that could be a good move! so brix is like a vitual machine ( in asm ) and the language is the instructionset" 02:50pm the code is compiled to native binaries ok, but since they must be brix binaries, you know enough about them to make the system safe? ya -:- eihrul [lee@usr5-ppp117.lvdi.net] has joined #tunes eihrul: u check out bfe? I think it sounds much like the tunes I envision. I think there all the same - different emphasizes, different stages of development, but ultimatly the same they are alike liar: not yet.... should i? no no, they are not alike, but they certainly evolve in the same direction. they arent the same on the outside they are bfe just pauses and does nothing :) but tunes does not support hardware threading, it dynamically compiles code from different threads into a single thread who the hell cares - tunes is refectional you can make it do whatever. eihrul: i know that i can send to writepipe cuz i send the quit command. but the step command isnt getting there 03:00pm eihrul: or the instruction_read() doesnt work eihrul: im trying something right now to see what is happening is the version you sent me latest? if i'm going to bother debugging it :) talks eihrul: ya but it doesnt have all my hacks -:- SignOff tmf: #TUNES (Leaving) are these hacks relevent? eihrul: they are printf's you killed my beautiful header file! :P and in C, the (void) is signifigant :) what void? n'm mmmm... prompt_read () what about it? ack! i dont think it has any problems you made my functions use global variables! you swine! ya so * eihrul/#tunes coughs... *hack* less typing but poor style :) but less typing :) i get the feeling you don't really make large systems, do you? nope im not a C programmer either and it shows... i just use C to hack together small programs quickly 03:10pm okay, now what's wrong? with bfe? not sure its not sending the step command in buttons.c i have a prompt_read() in main.c and it works fine hrmmish it puts the step number into p_step but when i do 'fprintf(writepipe, "s\n");' in buttons.c and then try to prompt_read() it locks up i had prompt_read print out every character it reads from readpipe and it doesnt print anything so i dont think the "s\n" is being sent but the 'fprintf(writepipe, "q\n");' in main.c works fine unless bochs only outputs the initial info to stderr 03:20pm nope it's not reading from STDIN... whatever it's doing or just doing it weirdly or sumtin 03:30pm stdin is stderr we know that the first prompt_read gets the data from stderr and i tried making the second prompt_read read from stdout but it didnt work i dont know where bochs is writing to after the first prompt_read() look at it the other way :) what other way? -:- MAxD [m.dentico@a111.teseo.it] has joined #tunes -:- MAxD [m.dentico@a111.teseo.it] has left #tunes [] the input isn't getting to bochs but why does the quit get to bochs? probably some signal that forces it to get cleaned up nope try removing the "q\n" part and see if it still works bochs didnt die until i added the "q\n" and it still dont hrm... gonna try some magic then what can't tell :) 03:40pm i know how i can tell if its getting input will run brix in it it's not going to stdout either but i will know if the command it getting thru hmm its not getting thru u noticed? :) 03:50pm but that damn q\n is definitely getting thry i just changed the "q\n" to "vb 0x2b:0x400000\nc\n" and it ran brix so fprintf(0 works in the destroy function but not in the others interesting i'm making quick just ufnction to see where output is going k more like a program though... since it's a main function doh! i think i know why do tell fucking line buffering hrm... 04:00pm hrmmish :) i think i got it kewl muahaha! is there a way to read from readpipe without waiting if nothing is there? like a test select () it seems removing line buffering solved half of the problem now i'm getting output in bfe but there's a bug in your code somewhere :) why dude, i'm not omnipotent i have to find bugs before i know what's causing them :) and how did u remove line buffering? setbuf (file, NULL) i found ze bug in your program double kewl you're doing: output s, input prompt, input instruction should be: output s, input instruction, input prompt nooo i already fixed that bug well it's stepping... and i just fixed your bug, again... if you already fixed it muahaha... it's ALIVE! do i do setbuf for all the pipes? i'm trying to see which pipes need it... hold on the write pipe seems to definitely need it when i figured it would be the other way around do it on both pipes 04:10pm YES it works * eihrul/#tunes claps. u da man the instruction_read is failing oh wait string_read is * eihrul/#tunes grins. coincidentally one of the functions you mangled most heh look how much smaller and faster it is tho :) it's not the only thing you changed really is the outer loop the inner loop is where speed matters and since it reads strings in large chunks, performance isn't an issue :) it just grew the buffer when a chunk was overflowed actually, why do you still have the outer for () loop? :) well bochs doesnt output instructions that big and if it did the gtk text entry wouldnt have enuf room to hold it 04:20pm i tried to make string_read () usable outside of that one particular use though :) it only needs to be used here :) u still have it if u need it in other programs 04:30pm how do i convert and integer to string? sprintf () just make sure you use snprintf () or your buffer is large enough u see anything wrong with that string_read? what's it doing? returning a 1 what is STRING_LENGTH? 128 i just had it print that out and end is 128 beyondcurrent code works fine on my end 04:50pm its printing the instruction? yes send me your latest code so i can look 05:00pm see anything? was ircing in other window :) gah... you removed my end trimmer what? that do {} while () loop trims white space off the end oh i just commented it out i suppose it doesn't matter... i was just trying to save allocated space ugh i made both returns 0 and it still fails cuz it ain't string_read i bets :) wtf i have string_read() only returning 0's and buttons.c will print the instruction if it returns 0 but it keeps saying fail which means it was not 0 so i changed the 0 to 1 and now it prints doh... you're doing something bad: what if (!string_read (...)) return (1); if (!0) return 1; therefor: if (string_read (...)) return (1); oops YAY it works kewl i have it displaying the address and instruction in the gtk window 05:10pm so when are you going to be done? :) heh u wanna write a register_read() function? gtk_entry_set_text(GTK_ENTRY(r_eax_text), (const gchar *)register_contents_string); and just call something like that for each register how do you dump the registers? in bochs debugger info registers i dumped them u just need to read them well do it in the function oh wait use dump_cpu we need ALL the registers :) how come it prints the registers' values twice? hex and decimal some are printed in hex on both lines thats cuz they are pointers but i suppose i don't really need the second number dont use info registers use dump_cpu that's ummm... monolithic :) 05:30pm heh isn't hard to parse though no yay my next button works thats the #1 reason im writing this stupid thing :) 05:40pm what doth 'next' do? is it just like 'step'? it sets a breakpoint for the next instruction, continues and then clears the breakpoint so u can jump over rep movsd and calls very nice button :) you mind if i actually use structures in this code :) since dump_cpu is long and all go ahead what do the dl and dh stand for in the segment register output? descriptor low, high and what are the low and high supposed to be together? :) how do i send ctrl-c to bochs? do u know what a descriptor is? kill -9 `pidof bochs` descriptors are 8 bytes dude that's only 4 those 8 bytes that define the segment low is 4 bytes, high is 4 cs:s=0xf000, dl=0xffff, dh=0x9b0f, valid=1 i dunno about you... but i see 8 hex digits 8 / 2 == 4 bytes cs:s=0x2b, dl=0xffff, dh=0xcffa00, valid=1 0x0000ffff and 0x00cffa00 fucking bochs u dont display high zero's :) it's not displaying full precision :( you can with a format option u should bitch to kevin about that 05:50pm ask him to add it to all the versions :) brb eating 06:00pm back if i send -9 wont that kill bochs? yes i dont wanna kill it, i wanna send ctrl-c why? to stop it during a continue ctl-c just sends a signal 06:20pm just find out what signal bochs intercepts to know to stop * eihrul/#tunes can just hear the "Never Ending Story" theme song as he slaves away on cpu_read () hehehe this could make an obfuscated c contest proud :) fscanf, how i use thee, let me count the lines! haha 06:30pm -:- NetSplit: irc.linux.com split from sterling.openprojects.net [06:33pm] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [irc.linux.com] -:- Netjoined: irc.linux.com sterling.openprojects.net -:- abi [nef@bespin.dhs.org] has joined #Tunes -:- eihrul [lee@usr5-ppp117.lvdi.net] has joined #Tunes enjoy damn yer done? yah like i said, it was a no brainer damn now i gotta make the interface just a LOOOOOOOOOONG no brainer u were suppose to take a day or two :) gah i hate gtk i added the physical address box and now the instruction box isnt big enuf to display long instructions but the address boxes have excessive wasted space there is probably some way to do what you want, and it's probably undocumented 06:40pm there is this hairy true false crap u gotta go thru to make the widgets the right size cookies suck to hell to back eh? you know... the javascriptish kind should that 'to' be 'and'? er yeah :) 06:50pm man im gonna go postal and take out everyone that developed gtk :) get in line ihow do i make %x use caps instead of lowercase you don't ugh it would look nicer if it was caps the addresses that is er wait... it's %X :) kewl one million and one format characters learned... but i have the feeling there a just as many i don't know heh i shoulda used xforms to do this program, it allows u to set the size and location of each widget why not restart? 07:00pm you don't have that much written yet hmm 07:10pm i dont know why i used gtk instead of xforms probably cuz gtk uses my .gtkrc file so it looks like my other windows 08:10pm -:- TaintKllr [tromboner@qrvl-243ppp214.epix.net] has joined #Tunes -:- TaintKllr [tromboner@qrvl-243ppp214.epix.net] has left #tunes [] -:- lar_away [LarMan@1Cust14.tnt2.sfo3.da.uu.net] has joined #tunes hello hrmm... eihrul: im almost dont converting it to xforms me is pondering how to do searching for names in my microkernel names? since if the name is destroyed while you are searching it for it you have problems... and you can't just disable interrupts for the whole time names? -:- SignOff lar_away: #TUNES (Leaving) as in naming services in my microkernel i use an external namer 09:20pm but how do you find the namer? it would have to have a hard coded identifier the start object tells the kernel where it is just like the start object tells the kernel where the ofs object is so the kernel can load/save objects and all those are done in non-kernel space threads but it's technically a kernel module at that point no its an object that that acts as a kernel extension how does the kernel interact with the namer? the kernel has a couple functions that user code can call. when called the kernel gets the namer object/method and does a normal call so basically it's a reroute :) i could just as well add a syscall to designate a naming server ya i have a kernel_extension call that lets the start object (only) set extensions for the kernel but that in itself almost seems hackish :) so hrmmm... perhaps spinlocks :) dont add naming to the kernel man not the best solution, but they will allow the lists to be traversed without fear why not? if u add naming then whats next, filesystem? networking? GRAPHICS? :) hrmm... u want the user to be able to modify as much as possible 09:30pm how do i allow hooks in the kernel for it in a clean way though? the kernel should just be a simple mechanism to coordinate the services well, again... what mechanism should i provide? :) if you can give me an adequate solution, i'd be more than happy to employ it man i gave u my solution, if i had a better way then i wouldnt be using my way it's basically a small scale naming service wherein your service just provides the location of something that can provide a name are these names stored in a file? look to the question at hand... :) how do i provide a clean way for locating services :) are these names stored in a file? it doesn't matter where they're stored if they're not in kernel hrmmm.... where's the brix syscall reference again? they are stored in a file and that file must be loaded. so now u have the kernel loading files, oh ya THATS CLEAN :) www.qzx.com/brix/api.cgi -:- _ruiner_ [nate@ppp015.wi.centuryinter.net] has joined #tunes names aren't stored in a file they'd be stored right in the thread structure <_ruiner_> hmmmmmmm....... where do they come from? <_ruiner_> liar...you there? i have more than enough room to store them there <_ruiner_> guess so... since each thread uses 512 bytes what? <_ruiner_> you never answered my questions a couple weeks ago what is this naming service for? hey ruiner <_ruiner_> hey liar.. 09:40pm what q liar: just to locate various services eihrul: various running services or various services the system has? to aid in user processes to find services provided by other user processes so these services might not be running so storing names in thread entries aint gonna do crap for u if the thread aint there <_ruiner_> is it possible for me to use a rio card without having a full fledged pc in there? don't wanna give up the space but i suppose that i can just provide predictable PID allocation behavior so that the first few tasks can count on hard coded PID's u need a dbase of names and where they are located when a they are running, a service just registers a name _ruiner_: why do u ask me shit like that? _ruiner_: dont own a rio, never have and never will eihrul: do u fire up all yer services at boot time? -:- NetSplit: irc.linux.com split from forward.openprojects.net [09:47pm] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [irc.linux.com] -:- Netjoined: irc.linux.com forward.openprojects.net -:- abi [nef@bespin.dhs.org] has joined #Tunes -:- eihrul [lee@usr5-ppp117.lvdi.net] has joined #Tunes -:- _ruiner_ [nate@ppp015.wi.centuryinter.net] has joined #Tunes <_ruiner_> ? liar: in theory atleast the naming service would have to be loaded at start up 09:50pm but how does the naming service know where services are if they dont have threads? the naming service doesn't know anything u need to store names/locations in a file and have the naming service load it the key is that other threads know ehre the naming service is ya so u add kernel calls to route to the naming service gah -:- SignOff _ruiner_: #TUNES (Leaving) 10:00pm hmm stupid g++ cant find my forms.h g++ -o xglobals.o -c xglobals.c -O2 -Wall -I/usr/X11R6/include isnt that how ya do it? oops guess it helps to add the .h 10:10pm my xforms bfe is working, now to move the widgets around so they look nice 10:20pm cool do uhave xforms? nope er wait no xforms? it has been said that xforms is a widget toolkit at http://bragg.phys.uwm.edu/xforms hrmm... to have one system call to dump information on a thread or to have many for each attribute 10:30pm i was gonna have an info() call that dumped everything but then i decided screw it and i removed it. the kernel space is visible to all user code so they can read it i will write an object that user code can request kernel info from that way if the kernel changes all the objects wont break thas what i was thinking of doing... mapping all the kernel space user-read-only i dont store anything important in the kernel so it dont matter it certainly helps me make my kernel more micro :) i've eliminated atleast 10 system calls today... muahaha yup 10:40pm this xforms bfe is nice looking 10:50pm down to 24 syscalls did u get xforms? not tonight... gotta go actually -:- SignOff eihrul: #TUNES (Leaving) 11:00pm [msg(TUNES)] newlog 1999.0914 IRC log ended Tue Sep 14 00:00:02 1999