00:00:00 --- log: started forth/04.11.01 00:17:42 --- quit: Serg_penguin ("Miranda IM! Smaller, Faster, Easier. http://miranda-im.org") 00:30:47 --- quit: warpzero (Remote closed the connection) 00:36:25 --- join: warpzero (~warpzero@dsl.103.mt.onewest.net) joined #forth 01:57:09 --- join: Serg_penguin (~Miranda@212.34.52.140) joined #forth 02:53:21 --- quit: Herkamire (niven.freenode.net irc.freenode.net) 02:53:21 --- quit: onetom (niven.freenode.net irc.freenode.net) 02:53:59 --- join: Herkamire (~jason@h000094d30ba2.ne.client2.attbi.com) joined #forth 02:53:59 --- mode: ChanServ set +o Herkamire 02:55:10 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 02:58:58 --- quit: onetom (Killed by sagan.freenode.net (Nick collision)) 02:58:59 --- join: onetom (~tom@cab.bio.u-szeged.hu) joined #forth 02:59:58 --- quit: onetom (Read error: 104 (Connection reset by peer)) 03:00:06 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 03:00:52 --- join: crc (crc@9-pool1.ras11.nynyc-t.alerondial.net) joined #forth 03:12:12 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 03:13:34 Dobry den! 03:15:08 Buenos Ares! 05:07:47 --- quit: I440r_ (Excess Flood) 05:07:56 --- quit: I440r (Excess Flood) 05:07:58 --- join: I440r_ (~mark4@216-110-82-59.gen.twtelecom.net) joined #forth 05:08:07 --- join: I440r (~mark4@216-110-82-59.gen.twtelecom.net) joined #forth 05:18:42 --- quit: tathi ("leaving") 05:24:08 --- quit: Raystm2 ("User pushed the X - because it's Xtra, baby") 05:27:07 --- join: Raystm2 (Rastm2@AC81C391.ipt.aol.com) joined #forth 05:53:58 --- quit: hefner ("I'm sorry, did I break your concentration?") 05:53:59 --- quit: Raystm2 (Read error: 104 (Connection reset by peer)) 05:55:06 --- join: Raystm2 (Rastm2@AC93F557.ipt.aol.com) joined #forth 06:18:08 --- quit: Serg_penguin (Read error: 104 (Connection reset by peer)) 07:08:06 --- join: TheBlueWizard (TheBlueWiz@modem-047.nyc-tc03a.fcc.net) joined #forth 07:08:06 --- mode: ChanServ set +o TheBlueWizard 07:27:43 --- join: Baughn (~svein@cloud.brage.info) joined #forth 07:28:03 Hi 07:28:45 Robert hiya 08:10:43 --- quit: ChanServ (ACK! SIGSEGV!) 08:10:43 --- quit: crc (Read error: 104 (Connection reset by peer)) 08:16:46 --- join: ChanServ (ChanServ@services.) joined #forth 08:16:46 --- mode: irc.freenode.net set +o ChanServ 08:17:32 --- join: qFox (C00K13S@82-169-140-229-mx.xdsl.tiscali.nl) joined #forth 08:19:38 Hi qFox 08:19:42 hello 08:20:16 my next project will be creating a script where i can enter words and info and stuff, and where this script will create a nice html manual 08:20:17 ;) 08:20:56 Yay! 08:21:09 when thats one i'll strip all the comments from core.f :p 08:21:20 that'll save me at least half 08:21:22 i think 08:30:36 but i figured that this forth was kind of meant to learn, not so much for usage (now) due to the speed 08:30:58 --- join: Klaw` (~anonymous@c-67-171-207-91.client.comcast.net) joined #forth 08:31:51 and this is the kind of forth i was looking for when i started 08:32:04 the idealistic forth for a young forther :D 08:34:05 Idealistic? :) 08:34:36 indirectly fully threaded 08:35:08 with a misc core 08:37:01 with coded examples, and explanation of the word etc 08:37:42 "Ideal" or "idealistic"? 08:37:50 ehm, you tell me 08:37:51 I'm just being a pedant here 08:37:53 :) 08:38:06 what type of forth were you looking for when you first started? 08:38:09 But I get what you mean.. I'll try to make this Forth a good one too. 08:38:13 A small one. :) 08:38:15 long long time ago :p 08:38:19 And Speuler gave it to me. 08:38:24 In like 20 lines of x86 asm 08:38:35 wow, that is small... 08:38:46 Well, of course it needed some additional features. 08:38:51 Like a compiler and stuff. 08:38:58 haha 08:38:59 :p 08:39:10 But that was all I needed to get started, and I think that was the best way to learn. 08:39:13 Anyway, food, brb 08:45:51 --- join: wincent (~wincent@void-109.pmnet.uni-oldenburg.de) joined #forth 09:35:06 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 10:06:06 where will an x86 jump after an iret? 10:06:15 i am trying to write an exception handler 10:06:49 it should return to the point where the program was interrupted (IIRC) 10:07:18 so to avoid a continuous div/0 error, i set the eip to a dummy function and wait for it to end, thus returning to the function that called the function that caused the div/0 10:08:19 ah...hmm...been ages since I last muck around with these sort of exception...no time for that right now :P 10:08:46 lol 10:08:48 funny you should mention that 10:08:59 kuF crashes when you do 20 0 / 10:09:00 :p 10:09:16 Really? Hrm. 10:09:17 that means F does too Robert 10:09:23 Odd. 10:09:31 or well, i'll verify that 10:09:42 in case its my code thats borking 10:09:52 yep, its toi 10:10:05 qFox: I am just fixing exactly this for openbios ;) 10:10:23 well, technically its not "bad" since its not allowed. but still 10:11:02 openbios? 10:11:37 oh. well i saw you talking about div0 error and figured i'd give that a shot on my forth :) 10:15:08 My Forth does not crash from division by zero. 10:15:27 "My Forth is better than yours." 10:15:38 dup if ... then 10:15:42 easily fixed 10:15:58 No. 10:16:01 qFox: http://www.openbios.org/ 10:16:29 and its written in forth? 10:16:44 qFox: it implements a forth core 10:16:45 Division is high-level. 10:16:51 and a lot of forth on top of that 10:16:51 ok nice 10:17:11 ASau> it'll fix it... 10:17:40 although mod etc will probably not 10:18:07 nope. Robert mod has same prob ;) 10:18:17 It shows "a mod 0 = a" and "a / 0 = -1". 10:18:31 It's plain and right. 10:18:42 should kinda of return an error imo :\ 10:18:48 It's right to those who knows algebra. 10:19:15 well. so far, every mathemtician i've encountered, have told me its undefined, unless in some special system. 10:19:35 like imaginary number theory 10:19:44 (i think) 10:19:58 but its implementation dependent i suppose. 10:20:16 Well, you know you don't have all integer numbers. 10:20:27 You work in finite ring. 10:20:48 not sure what you mean, but its not a discussion i feel like having right now tbh. 10:21:02 my logic homework is being a pain in teh ass enough as it is 10:21:05 hmm...I still haven't seen those definitions before, even in a finite ring. 10:21:15 qFox: Do you know how the divide by zero error interrupt works? I should rtfm on that. 10:21:23 E.g. you don't have numbers more than 2^32. 10:21:31 have to prove AxEyRxy,AxAy(Rxy>Ryx),AxAyAz((Rxy&Ryz)>Rxz) <-> AxRxx 10:21:42 --- quit: warpzero (Read error: 104 (Connection reset by peer)) 10:21:43 Robert> no clue 10:22:07 Oh, well.. 10:22:13 i only remember that some versions of the intel p2 simply crashed for div0 :p 10:22:15 I'll just teach people not to divide by zero. 10:23:30 If you take division as an operation to produce numbers the way you have "a = qd + r", you'll find how you divide by zero. 10:24:00 (oh btw, its "obvious" that its a valid expression, since the left says nothing about the direct relation of x to itself, but you have to prove this with "tablue's", and avoid the infinite loop, which i dont seem to be able to...) 10:25:03 ASau> defining div0 as an error is acceptable imo. 10:26:38 It's not if you have 2^32=0. 10:26:53 ASau: I still don't see that that works. 10:26:58 And when you're 32-bit, you have 2^32=0. 10:27:04 well, I must go...all bye 10:27:05 i stand correct. i proved it. lol 10:27:13 (the logic assignment) 10:27:21 --- part: TheBlueWizard left #forth 10:27:33 gah, nevermind, I'll shut up and think this through properly :) 10:27:47 tathi, just substitute 0 with 2^32 or 2^64 (if you're 64-bit man). 10:28:13 In your ring 0=2^32. 10:28:35 Or 2^64. 10:28:37 ASau: ok, you're saying that a / 0 = -1. 10:28:54 Yes, that's volantarily. 10:28:55 so...then you should have a = 0 * -1 + r. 10:29:02 that's what? 10:29:12 that' just seems very arbitrary. 10:29:24 Yes, arbitrary. 10:29:28 you could pick any quotient you want, you still have a remainder of a. 10:29:42 so...it's actually undefined. 10:30:01 When I pick -1, I make my algorythm easier. 10:30:13 except that -1 (as an unsigned number in two's complement math) is the largest number, so it's closest to what you actually want 10:30:17 (which is probably infinity). 10:30:20 so, I can see that. 10:30:33 Yes, it's almost \infty. 10:30:41 OK, that's what I was confused about. 10:31:20 I wasn't arguing about "a mod 0 = a" in a finite ring. 10:32:09 --- join: proteusguy (~proteusgu@24-159-109-218.cpe.ga.charter.com) joined #forth 10:32:51 Anyway, it's here anyone can feel the point where high algebra comes into our life. 10:33:19 Dobryjj vecher, proteusguy! 10:33:38 Yeah. It's very useful sometimes. 10:33:50 Had a neat one a couple of weeks back. 10:34:04 I was porting IsForth to PPC, and was having trouble with its random number generator. 10:34:24 It was supposed to produce only positive 32-bit random numbers. 10:34:40 tathi, pick any RNG from my collection. 10:34:54 But the divide instruction on x86 does floored rounding, and the PPC divide instruction does symmetric rounding. 10:35:04 So instead I was getting the full range of 32 bits. 10:35:34 im not opposed to changing the RNG in isforth to make the PPC and x86 versions identical :) 10:35:53 I440r_: I just changed / in PPC to match x86. 10:35:55 Pick any RNG without division and you get faster. 10:36:38 I440r_: which...I'm not terribly happy about, but division isn't a fast operation anyway, so... 10:36:43 E.g. Tausworthe generator. 10:36:55 yeah. 10:37:23 It does not use division, only shifts and bitwise operations. 10:38:18 It's very fast and it produces good random numbers. 10:38:22 yup. 10:38:48 ASau: you have a bunch of RNG stuff implemented in Forth, right? 10:38:53 Yes. 10:39:08 That's my current project, I'm working on. 10:39:29 http://retroforth.org/dev/asau/ 10:39:45 Ah, thanks. 10:40:28 It's still far incomplete, but you can find several working examples. 10:41:37 If you want positive random numbers, you know what to do. 10:42:45 Tausworthe RNGs generate random bit strings of length 32 actually. 10:42:45 Heh. Apparently I haven't taken a '.F' extention away from Fortran, only the lowercase one. 10:42:49 right 10:45:45 BTW, I've just uploaded current version. 10:58:32 ok. finished homework 10:58:35 what do to next... 10:58:36 Hooray! 10:58:49 qFox: Develop G. ;) 10:58:58 i worked out some stuff in some text documents at school today, but my email isnt goddamn work ;( 10:59:03 no, kuF damnit. 10:59:04 :) 10:59:13 Hehe. 10:59:27 lets see, what else do i need in order to get a working editor.. 10:59:35 or to be able to write one .. 10:59:41 Undelete the one I wrote? :) 11:01:01 dude, your editor hasnt been there since 0.02 11:01:04 :) 11:03:07 refresh my mem plz, what adr is first byte of the display 11:03:40 0xb8000 11:03:46 kk 11:04:00 Didn't I put vt100 emulation in there? 11:04:31 i dont know? 11:05:05 Hm, nope, I removed it. 11:08:28 Robert> how do i get the adr of the data of your vars? 11:08:45 i need to change base, 753664 doesnt look right :p 11:10:54 ah. i guess i'm used to (or spoiled by) dos behaviour. when you print something to the screen that way, dos will keep it in screen and scroll it up 11:11:30 but F seems to use some kind of virtual screen (right?) and the change is removed almost immediately when it writes the ok 11:11:36 (and newline) 11:12:29 What do you mean? 11:12:55 ' base 5 + <--- that's how you get the address, iirc 11:13:05 But 12 -> base should be easier 11:13:35 or well. no i was wrong. forgot that that mem uses a 2byte system per char (color/value), so i was writing on the top line, instead of the second line :p 11:13:37 ok tnx 11:14:46 is there an easy way in F to get into that smaller text mode? 11:15:07 i forgot the resolution specs, but there's one thats about twice as big in size 11:15:13 still textmode 11:17:01 I'm in 144x43 or something now :) 11:17:03 In Linux though 11:17:10 And no, there is no really easy way 11:17:26 You could use a BIOS call in the boot loader and change a variable in crt.asm 11:17:27 :( 11:19:50 --- quit: wincent (Remote closed the connection) 11:19:59 qFox, did you get your DOES> sorted out? 11:20:03 yes 11:20:03 --- nick: madwork__ -> madwork 11:20:08 Coolios. 11:20:38 I440r tried to explain his way, and even though i didnt quite get that, he did inspire me to try something, and that worked 11:20:50 will make it very very shit to debug though 11:21:45 does> will take the last defined variable (word actually), and compile a jump to here at the end of that word (an additional cell is reserved in all variables for this jump+adr) 11:22:30 after that, does> will compile a 0 in the definition he was compiled in (so in CONSTANT for isntance...), and then the does> words will be compiled. all the variables will jump to this point and continue there 11:22:35 Right, I do something similar, though it's more of an ENTER that I do. 11:23:06 Yep, cool. 11:23:18 makes for a bit of spaghetti code once compiled, but i can live with that. at least i dont need does; and does> is properly implemented as far as i can tell 11:25:18 So, what's left? 11:26:05 not quite sure, so i'm gonna try loosely on an editor 11:26:12 and see what words i'm missing 11:26:22 like BASE type of words :p 11:26:37 and just add the needed words when i discover their absence 11:31:46 perhaps i should implement a D set first... 11:32:04 hmmm or no, wait, just the 2! 2@ etc words 11:37:17 --- join: warpzero (~warpzero@dsl.103.mt.onewest.net) joined #forth 12:01:11 hm, i guess the editor will run in an infinite loop that checks for keypresses 12:03:05 qFox: If you can think of things from F to change in the new version, feel free to tell me :) 12:03:23 i havent worked in F in a long time 12:03:35 all i can think of is to change your variables to "normal" forth behaviour 12:03:48 Well, or other issues you've found when working with kuF 12:03:51 the editor, as far as i remember it, was pretty great 12:03:55 --- join: allemann454 (~allemann4@pD955E21E.dip.t-dialin.net) joined #forth 12:04:13 no i cant think of anything really. and anything i did encounter i already told you at some point 12:04:14 I was thinking more of the core system 12:04:18 oh yeah, the bios things :\ 12:04:26 Hehe, I either fixed it or forgot about it :P 12:04:28 What? 12:04:40 well i wanted to call bios ints 12:04:53 but that had something to do with pmode or whatever. i forgot 12:04:57 Ah, right... 12:05:19 I'll see if I can hack together a fix for that later. 12:05:25 yeah sure 12:05:34 Right now I'm thinking about multitasking. 12:05:55 In F that's just something thrown on top of the rest 12:05:56 did try to think about that, but so far without much useable result :p 12:06:24 i'll just be happy when i get this editor running some day ;) 12:06:51 Hehe, good luck with that. What kind of editor, just a normal text editor? 12:07:14 --- part: allemann454 left #forth 12:07:19 yes, for starters 12:07:34 but the final aim, as far as the editor goes, is something similar to what i told you about earlier 12:07:45 which should be sweet if i can manage that 12:08:32 Ah, yeah 12:08:47 That would be really cool.. I should steal your idea. 12:09:03 if i do, i'll be sure to create some kind of blockeditor and be writing code in there permananently :D 12:09:25 thats ok. as long as you add qfox>robert in there somewhere ;0 12:10:21 Hah, you know me. 12:10:26 :D 12:10:33 \ this idea I "borrowed" from qFox 12:10:42 That will be somewhere in the editor code ;) 12:10:45 but i'll still give it a serious attempt myself either way 12:10:53 Good :) 12:10:58 writing "gfx" words now 12:11:06 Oh, what kind of graphics? 12:11:19 well, the ones where i can easily write stuff to the screen :p 12:11:35 to the 80-24 mode, in colors, without much hassle 12:11:45 wont be exactly fast. but heck, its an editor, it doesnt need fast. 12:11:53 plus its already slow ;) 12:12:22 Ah, hehe. 12:12:43 Aren't there words for that in crtforth.asm? 12:12:51 uhm, i dont know. 12:13:06 havent i told you yet that i'm not using F words? 12:13:06 Just in case you need something fast. ;) 12:13:08 :p 12:13:12 Hehehe 12:13:20 or at least, as few as possible 12:13:31 Good choice 12:13:31 soon i'll be able to ditch . as well 12:13:35 :D 12:13:44 but not any time soon 12:13:47 :) 12:18:20 my constants are as fast as a word with only a literal 12:18:47 (thats because my constants ARE just that, except they have a DFA that points to the number the word puts on the stack ;) 12:19:10 this way i can easily use -> or TO 12:26:49 oh. crap 12:27:03 s" 20 constant pen" >kuf 12:27:03 s" : >pen ( color -- ) to pen ;" >kuf \ color is a byte 12:27:11 --- join: futhin (thin@bespin.org) joined #forth 12:27:11 --- mode: ChanServ set +o futhin 12:27:16 its not compiling pen >:( 12:27:28 --- part: futhin left #forth 12:28:15 because to is not an immediate, and its not parsing pen, so pen gets compiled instead, and where the heck does to write to... 12:31:22 so... either i make to and -> immediates, i make them state smart words, or i make the compiled definition of them ambigu... 12:32:34 i think i'll do the last. and add [to] that acts as an immediate that compiles the action 12:40:32 fixed. works. fine. 12:41:11 XD 12:42:00 but my printword isnt working :\ 12:42:12 Aww 12:42:25 : xy>vidmem ( x y -- adr ) 160 * 2* + vidmem + ; 12:42:29 : printxy ( b x y -- ) xy>vidmem pen swap 2! ; 12:42:32 (decimal) 12:42:48 asuming offset at 0 0 12:43:04 and vidmem is hex b8000 constant vidmem decimal 12:44:25 not quite sure what i'm doing wrong there :\ 12:45:25 oh 12:45:26 hm 12:45:42 perhaps if i swap xy after the 160 * 12:45:44 :) 12:47:04 Hihi 12:47:20 still notin 12:47:57 What does "pen" do? 12:48:03 constant 12:48:09 The attribute? 12:48:11 20 constant pen 12:48:13 yep 12:48:23 And 2!, how is it defined? 12:48:36 oh 12:48:37 crap 12:48:38 psh 12:48:41 : 2! ( n1 n2 adr -- ) tuck ! cell+ ! ; 12:48:41 :( 12:48:45 Hah. 12:48:47 : 2c! ( b1 b2 adr -- ) tuck c! 1+ c! ; 12:48:49 should be that one 12:49:42 works 12:49:43 yay :D 12:49:53 Hooray! 12:52:03 but um, shouldnt char 219 be the square? 12:52:20 its now printing the q with a double | 12:52:34 HOOOOORRAAAY! 12:52:36 Eh, depends on your computer I guess 12:52:44 oh, ok 12:52:46 stupid laptop 12:52:49 huray, Robert 12:53:47 oh. its just me mixing up pencolor and data ;) 12:58:36 hm i suddenly feel obligated to create a printascii word :p 13:15:54 going to sleep. nite. 13:15:56 --- quit: qFox ("this quit is sponsored by somebody!") 13:35:19 --- quit: tathi ("Lost terminal") 13:36:11 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 15:22:10 --- quit: tathi ("laters all...") 15:41:15 --- nick: Raystm2 -> chatralias 15:51:15 --- nick: chatralias -> kill-a-chat 15:56:44 --- nick: kill-a-chat -> Raystm2 16:04:07 --- quit: swsch__ (Read error: 110 (Connection timed out)) 16:04:36 --- join: swsch__ (~stefan@p5091E1CF.dip.t-dialin.net) joined #forth 17:57:41 --- log: started forth/04.11.01 17:57:41 --- join: clog (nef@bespin.org) joined #forth 17:57:41 --- topic: 'http://www.orangetide.com/forth/ -- Links about FORTH. I, for one, accept our new ianp overlord' 17:57:41 --- topic: set by slava on [Sun Oct 24 13:17:17 2004] 17:57:41 --- names: list (clog Hyrax hefner Sonarman slava imaginator swsch__ warpzero Klaw` @ChanServ Baughn I440r I440r_ onetom skylan @ianp ASau mur cmeme jim madgarden oxygene Stepan madwork Robert @Herkamire) 18:48:52 --- quit: imaginator ("dinnertime") 18:54:42 --- join: ows (~ows@a81-84-114-211.netcabo.pt) joined #forth 18:56:46 --- part: slava left #forth 19:50:30 --- quit: ows ("Client Exiting") 19:59:03 --- join: Raystm2 (Rastm2@ACA6130E.ipt.aol.com) joined #forth 23:26:37 --- log: started forth/04.11.01 23:26:37 --- join: clog (nef@bespin.org) joined #forth 23:26:37 --- topic: 'http://www.orangetide.com/forth/ -- Links about FORTH. I, for one, accept our new ianp overlord' 23:26:37 --- topic: set by slava on [Sun Oct 24 13:17:17 2004] 23:26:37 --- names: list (clog fridge kill-a-chat Hyrax swsch__ warpzero @ChanServ Baughn I440r I440r_ onetom skylan @ianp ASau mur cmeme jim madgarden oxygene Stepan madwork Robert @Herkamire) 23:26:58 --- nick: kill-a-chat -> chatralias 23:27:38 --- quit: chatralias ("User pushed the X - because it's Xtra, baby") 23:59:59 --- log: ended forth/04.11.01