00:00:00 --- log: started forth/02.05.27 00:25:44 --- quit: kc5tja ("[BX] Do you... BitchX?") 00:43:28 --- join: Serg_penguin (~snaga_NOI@nat-ch0.nat.comex.ru) joined #forth 00:45:05 --- quit: Serg_penguin (Client Quit) 01:46:35 --- quit: Soap` (Read error: 104 (Connection reset by peer)) 02:56:03 --- join: goshawk` (goshawk@panix1.panix.com) joined #forth 03:04:40 --- join: mur (ammu@baana-62-165-189-112.phnet.fi) joined #forth 03:53:34 --- quit: onetom ("ircII EPIC4pre2.508 -- Accept no limitations") 04:39:29 --- nick: mur -> murBBL 05:29:37 --- nick: murBBL -> mur 05:41:10 --- quit: mur ("MURR! end of file reached. continuing filling logs some other time.") 06:11:52 --- join: Serg_penguin (~snaga_NOI@nat-ch0.nat.comex.ru) joined #forth 06:24:27 * Oscarian is away: sleep time 06:33:25 :) 06:40:24 --- join: jim2 (~jim@12.240.101.86) joined #forth 06:42:12 Hi. I'd like to find out where the log of the second conversation with Mr. Moore is... Thanks. Please msg me? tnx agn... bye :) 06:42:15 --- part: jim2 left #forth 07:11:23 --- quit: Serg_penguin () 07:21:14 --- join: Serg_penguin (~snaga_NOI@nat-ch0.nat.comex.ru) joined #forth 07:23:04 --- quit: Serg_penguin (Client Quit) 07:29:37 --- join: sif (~siforth@ip68-9-58-81.ri.ri.cox.net) joined #forth 07:29:37 Type sif: (or /msg sif to play in private) 07:29:49 sif: .( :)) 07:29:51 rob_ert: : Word not found: ) 07:29:54 Bah 07:30:09 sif: : x ." Hug me!" ; x 07:30:10 rob_ert: Hug me! 07:32:00 --- join: mur (ammu@baana-62-165-189-112.phnet.fi) joined #forth 08:46:36 --- join: Herkamire (~jason@ip68-9-58-81.ri.ri.cox.net) joined #forth 08:46:43 --- quit: Herkamire (Client Quit) 08:46:59 --- join: Herkamire (~jason@ip68-9-58-81.ri.ri.cox.net) joined #forth 08:55:14 hooray 08:56:51 whooo! 08:57:24 a toybot! 09:00:28 --- quit: Etaoin ("raise KeyError, "I'll bet that's the last time you lock them in the car..."") 09:06:12 --- join: Etaoin (~david@ljk2-22.sat.net) joined #forth 09:11:46 ?' 09:17:02 ? 09:26:30 a toybot? 09:27:06 sif 09:27:26 ??? 09:27:52 sif: : saysomething ." something" ; saysomething 09:27:54 Etaoin: something 09:32:51 --- quit: Herkamire ("leaving") 10:22:10 oh fofrth bot 10:22:12 `? 10:30:54 looks like it, doesn't it? 10:32:17 --- join: I440r (~mark4@1Cust115.tnt3.bloomington.in.da.uu.net) joined #forth 10:32:22 Hey. 10:32:46 hi 10:32:48 has Oscarian said anything lately ? heh 10:32:50 ive not talked to him yet :) 10:32:56 btw ill be working on that dns stuff later today 10:33:24 have you added your stuff to my sockets code ? 10:33:41 the telnet should be in telnet.f i think 10:33:59 because http/ftp/irc etc all basically use telnet connections 10:34:23 He's sleeping now :) 10:34:32 heh i guess:) 10:34:32 --- nick: mur -> murFOod 10:34:34 Aussies are always on the wrong side of the world:/ 10:34:42 heh 10:34:49 no they are just upside down 10:34:54 :) 10:35:49 ive given isforth the ability to create headerless words 10:36:15 also added forget and empty. 10:36:23 empty forgets all user defined words 10:39:23 brb - making coffee 10:57:22 --- nick: murFOod -> mur 10:57:26 --- join: kc5tja (~kc5tja@stampede.org) joined #forth 10:59:21 hi kc5 10:59:28 re 10:59:38 i updated my 8051 disassembler to disassemble bit addresses and direct addresses symbolically 10:59:50 its on the isforth.clss web page 10:59:56 Cool 10:59:57 thers a link to the source file that is 11:00:13 im going to add the ability to create user defined symbols too 11:01:10 * kc5tja is daydreaming of building my own home computer again, entirely from TTL discrete logic. 11:01:18 (including the CPU and video display controllers) 11:03:32 lol 11:03:35 your sic:) 11:03:38 you need help :) 11:03:46 No, it's a hobby. 11:03:46 i cant do hardware... 11:03:49 ya 11:03:50 i know 11:03:56 me and hardware --> 11:03:58 I've built CPUs in the past before. 11:04:06 I just never built a whole, complete system before. 11:04:10 oh look whats... GADZZZTS.... oopts 11:04:21 Video hardware can be incredibly easy to implement though. 11:04:39 ive got code to do vidio output with an 8051 11:04:49 piddly little 4k 12 mhz thingie 11:05:04 You mean the 8051 generates the video waveform directly? 11:05:13 For NTSC or VGA? 11:05:17 not sure 11:05:23 its in the book upstairs 11:05:25 prolly ntsc 11:05:35 I really, really, really doubt the 8051 is doing it on its own. 11:05:51 dunno - it might be a circuit with an 8051 controlling it... 11:05:57 I'm willing to bet it has an external video chip it connects to. 11:05:59 i never realy looked at it 11:06:57 I don't know what Intel was thinking when they came up with the whole 8048-series of microcontrollers (of which 8051 is a member of); I mean, a 12 clock execute cycle is wholly unjustified. 11:07:04 --- join: Herkamire (~jason@ip68-9-58-81.ri.ri.cox.net) joined #forth 11:07:06 Especially for a Harvard architecture chip! :( 11:07:18 re Herkamire 11:07:24 hey :) 11:07:38 hi herk 11:07:56 kc5 i LOVE the 8051 11:08:02 I abhore it. 11:08:11 :) 11:08:31 It's got an instruction set that is even worse than the original 8008. 11:08:38 bullshit! 11:08:43 its instruction set is perfect 11:08:46 HAHAHAH! 11:08:50 :) 11:09:05 and you dont NEED to stick with harvard if you dont want to 11:09:06 I programmed the 8008, 8080, and the 8048/8051, and I can tell you the 8008 is vastly superior in performance and flexibility to the 8051. 11:09:12 I like the instruction set on the X18... 11:09:27 I440r: *I* don't select Harvard or not; Intel does. 11:09:31 my 8051 forth (unfinished) requires the select lines for external data and external code be or'd 11:09:39 kct nope YOU do 11:09:54 wire or (or gate) the select lines for external memory 11:09:56 That's a new feature then; Intel's original 8051 design was strictly Harvard. 11:10:03 kct NOO 11:10:19 Whatever 11:10:30 there are TWO select lines coming out of the 8051. tie them together and put them onto the select line of your external ram 11:10:41 code fetches and data fetches BOTH go to the same memory 11:10:53 my 8051 forth relies on this :) 11:11:03 but i never finished that forth 11:11:13 For your generation of 8051, maybe that's true. 11:11:26 That wasn't the case for the 8051 I was working on, since it could access data RAM and code space concurrently. 11:12:10 At any rate, it still doesn't excuse Intel for choosing the most god-awful instruction set in the known universe, and it definately doesn't excuse them for using a 12 clock bus cycle! 11:12:15 kct no it couldnt. not unless it could execute two instructions at the same time. one fetching from data the other fetching from code,.... 11:12:31 both of which would require a seperate DPTR 11:12:41 unless the code fetch was an instruction fetch @pc 11:13:01 That's what it was. That is the only way the 8051 can keep up with its competitors. 11:13:02 or a movc a,@a+pc 11:13:25 An instruction can be executing while it's fetching another instruction, you know... 11:13:35 and thers still nothing to stop you wire oring the select lines heh 11:13:41 of corse 11:13:59 Like I said, maybe on your specific 8051, but not on the unit I worked on. 11:14:09 but you cannot fetch from external data memory and external code memory at the same time 11:14:21 I440r: Then it's not a Harvard architecture. 11:14:24 becayse port 2 is used to select the upper 8 bits of the address 11:14:35 The one I was using was. 11:14:51 get me the part number on that 11:15:05 and i bet the datasheet will tell you you can wire or the select lines 11:15:07 --- quit: jim (Remote closed the connection) 11:15:09 I can't now -- I'm not working at that company anymore. 11:15:20 you cannot read from two different external memory locations 11:15:33 you can execute internal rom while fetching external data 11:15:50 harvard architecture is just seperation of code and data. 11:15:52 I440r: IF THE CPU HAS HARVARD ARCHITECTURE, IT CAN FETCH AN INSTRUCTION AT THE SAME TIME AS EXECUTING ANOTHER; This means that it *CAN* fetch from two different spaces concurrently. 11:15:56 internally that is enforced 11:15:59 Why must I repeat myself six hundred times? 11:16:14 kc5 dood that has nothing to do with harvard architecture 11:16:19 err 11:16:28 I440r: That is the very definition of a Harvard architecture!!!!! 11:17:03 http://www3.sk.sympatico.ca/jbayko/cpuAppendC.html 11:17:07 harvard architecure is simply a seperation of code space from data space. internally the chip has two memory areas, each with its own select line 11:17:13 you also have external address space 11:17:19 for BOTH code and data 11:17:27 which means you have to have two external select lines 11:17:31 which you can TIED 11:17:33 tie 11:17:41 * kc5tja sighs 11:17:41 you cannot however tie internal code and data 11:17:51 if you are executing INTERNAL code space 11:18:00 you can fetch external code or data at the same time 11:18:27 you CANNOT ever on any 8051 read from two different areas of external memory 11:18:31 its flat impossible 11:18:43 because port 2 is used for the upper 8 bits of the address 11:18:50 you cant have more than one value on p2 11:19:34 well - you SORT of can... but not at the same time :) 11:19:50 I440r: In case you haven't noticed, I gave up on this conversation a while ago. 11:20:03 I am not repeating myself again. 11:20:04 thers a latch - and some instructions use the latch to select the addres... others put the address directly onto P2 for the duration of the instruction 11:20:17 well you were wrong dood - i know the 8051 inside out 11:21:01 Yeah, apparently I was wrong. 11:21:07 And so was the company I worked for. 11:21:13 And the datasheets for it. 11:21:19 But, that's a non-issue. 11:21:27 Whatever. I'm through with arguing. 11:21:37 kc5 dont get bitchy with me dood. your memory of how you did what ever it was you did is FAULTY 11:21:54 you CANNOT address two different memory address spaces externally at the same time 11:22:07 not unless you dedicated port B to select addresses 11:22:22 erm p1 even 11:22:32 * Etaoin waits for insults to start flying 11:22:34 and i dont even know if that is pissible 11:22:47 possible 11:23:48 anyway time to code 11:23:51 --- quit: I440r ("Reality Strikes Again") 11:24:07 --- join: kors (~kors@nbc-2.ukr.net) joined #forth 11:24:51 evening. 11:25:22 depending on where you are... 11:25:53 Etaoin: A, really, sorry :). Good :). 11:26:55 Etaoin: There will not be any insults from me. They're not needed. 11:29:33 kc5tja: eh. it seemed like the next step. 11:29:45 kors: same to you 11:30:27 Etaoin: :) 11:30:30 --- nick: mur -> mur_away 11:32:21 * kors wonders if anyone was able to launch Moore's color forth under vmware or (even better) bochs? Or, at list, could point me to ANY FM on it... 11:32:36 s/list/least/ 11:34:40 I thought about trying that, but didn't 11:37:33 Etaoin: Seems like it works directly with AGP board. And I wouldn't mess with sources to the new dialect of language I barely remember. Was just very interested what's Chuck up to. Had a very positive experience very long ago with forth on 8-bit machine. 11:38:33 ok, another one - anyone seen an implementation of CF for standard VGA, or even better *nix console? 11:52:36 kors: Nope. 11:52:46 But it should be relatively easy to implement, I'd imagine. 11:52:57 I believe CrowKiller is working on something of that nature. 11:53:29 kc5tja: Ok, thanks. 12:03:18 Kors i taket! 12:06:42 rob_ert: ??? 12:06:59 Hehe 12:07:06 That's a swedish expression. 12:07:25 Used to express one being suprised. 12:07:48 rob_ert: :) Wow :). My nick is of other origin (russian :). 12:08:19 It means "Cross in the roof". 12:08:28 I see. Privet. 12:08:30 ;) 12:08:45 rob_ert: Privet :) 12:09:19 * rob_ert thinks it's good with ukranian IRC friends. 12:09:56 :) 12:21:01 --- join: Stepan (~stepan@p50847D99.dip.t-dialin.net) joined #forth 12:21:24 ha.. this got pretty full since i was here last time 12:21:53 :(. The sources for CF seem to be using masm syntax. And I haven't seen it for ages. 12:21:55 Hi :) 12:22:12 Hehe... I prefer NASM's syntax. 12:22:13 Hey rob_ert :) 12:22:33 * kors desperately rummages through the backups in search of the assembler from unnamed redmond horror :) 12:22:42 The original ColorForth was written using MASM, yes. 12:22:44 Stepan: hi. 12:22:49 rob_ert: me too :) 12:23:14 Portable, easier to read, more logical... 12:23:44 --- nick: mur_away -> mur 12:24:06 rob_ert: feels so strange - I'll have to use the DOS emulation to make a bootable floppy for standalone forth... 12:24:59 I finally started writing some basic IEEE 1275 forth words today... http://openbios.ph-freiburg.de/cgi-dom/viewcvs.cgi/fcode/base/ 12:25:15 kors: Haha, yeah :) 12:25:31 And may I ask what IEEE 1275 is? 12:27:48 rob_ert: afair, It has something to do with Open Firmware (boot loader used on Sparc worstations) 12:29:00 I see... 12:29:06 Never used one of those. 12:35:45 Its really nice - far more than a boot loader. Its a firmware implementation that abstracts device drivers (ie on expansion cards like gfx adapters) from the used instruction set (ie CPU) 12:36:25 by using forth. This makes Open Firmware compliant hardware work on any open firmware system, nut like broken x86 compliant hardware with intXX bios functions etc 12:36:40 Sounds very nice. I'd really like to get a compiler with something cleaner than a BIOS that's backwards compatible to the 70s. 12:36:44 it comes with a nice abstraction layer and drivers/packages 12:36:48 s/compiler/computer/ 12:37:07 rob_ert: exactly :) 12:37:25 openbios is a free open firmware implementation (well, going to be) 12:37:48 thus making it easy for everybody to enhance it or port it to a new platform 12:38:08 Sounds nice. But I think the whole PC arch. should be replaced :) 12:38:30 Why not get 2 computers if you want to run PONG from 1978? 12:38:37 * kors has a forth bootloader too. Though on i386, level 2, and serving different task. :). Open Firmware is really cool. 12:42:48 I mean the one used to load the freebsd kernel and modules. 12:43:04 kors: That's FICL. 12:43:17 http://ficl.sourceforge.net 12:45:28 kc5tja: Indeed. 12:47:07 rob_ert: the hammer architecture is really nice thoughj 12:47:25 What is that? 12:48:10 x86-64 ... the upcoming amd 64bit arch 12:48:33 it's based on x86/ia32 but it enhanced it in a really nice way... more registers etc 12:48:51 Stepan: the one from AMD? 12:48:53 its so much nicer than this itanium crap 12:48:57 64-bit mode is incompatible with 32-bit modes, though. 12:48:58 kors: jupp. 12:49:17 kc5tja: you can run all 32bit apps transparently... shouldnt be any problem 12:49:19 Does it support older modes? 12:49:24 * kors really likes AMD stones. 12:49:25 Stepan: Nope. 12:49:53 Stepan: The 64-bit instruction prefixes come from the single-byte INC instruction forms; hence, the single-byte INC EAX (or other register) will *break* when running in 64-bit mode. 12:50:39 The ability to run 32-bit and 16-bit software comes from the operating system that's running on the processor. But it definately isn't transparent. 12:51:08 And switching from 64-bit to IA-32 mode will be relatively expensive (but with today's clock speeds, few will notice). 12:51:09 kc5tja: sure,.. the OS has to support it. but thats not a problem, is it? 12:51:24 32bit apps will die out anyways 12:51:28 Stepan: I'm just saying it's not "transparent." 12:51:39 it's transparent in "user space 12:51:40 " 12:51:49 Stepan: I disagree. 99.99% of the people that use computers have no need for 64-bit software at all. 12:51:52 thats what i meant... on os level you have to do lots more stuff 12:52:10 like the syscall interface is completely different in 32bit and 64bit as well 12:52:15 Our CPUs still have 8086 support, after all. :) 12:52:20 Hmm... 12:52:50 I hope to continue like this, "old" computer being sold for for almost nothing. 12:52:58 kc5tja: agreed. but this is why i prefer hammer a lot over itanium 12:53:16 itanium is a nice philosophical implementation, but no real world use 12:53:20 I like them both, frankly. Each is nice in their own ways. 12:53:31 Well, we'll see when McKinnley hits the market. 12:53:34 If it ever does. 12:55:59 it will. i heard some birds whistling that they are delivered to some companies... not that i would be allowed to tell you we have one, if we did ;) 13:09:12 --- join: XeF4 (~XeF4@dsl-XIV-08.kotikaista.weppi.fi) joined #forth 13:09:26 Hello. 13:09:48 olleh 13:11:29 XeF4: Hi. 13:23:31 --- join: TheBlueWizard (TheBlueWiz@ip-216-25-205-204.vienna.va.fcc.net) joined #forth 13:23:31 --- mode: ChanServ set +o TheBlueWizard 13:23:34 hiya all 13:23:51 Hi :) 13:23:56 hiya rob_ert 13:25:32 TheBlueWizard: Hi, 13:26:55 hiya kors 13:41:11 --- quit: XeF4 ("pois") 13:53:19 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 13:53:47 hiya Soap` 13:54:22 --- join: rob__ert (~robert@h237n2fls31o965.telia.com) joined #forth 13:55:24 'ello 13:56:31 --- quit: rob_ert (Killed (NickServ (Ghost: rob__ert!~robert@h237n2fls31o965.telia.com))) 13:57:01 --- nick: rob__ert -> rob_ert 14:16:48 --- join: Fare (fare@samaris.tunes.org) joined #forth 14:17:16 Hey Fare. 14:17:21 gakuk 14:17:26 * Fare is sad 14:20:16 Why? :( 14:21:02 Fare? 14:21:50 hiya Fare 14:24:38 * Fare needs sentimental support 14:24:44 Huh? 14:24:49 What's up? 14:25:12 what's wrong? 14:25:22 I'd rather discuss it on #blues 14:25:50 I have to go to bed :( 14:25:56 No support for you today :( 14:26:00 Night all. 14:26:16 --- quit: rob_ert ("Nothing is real. I think.") 14:32:07 --- join: davidw (~davidw@adsl-ull-217-108.42-151.net24.it) joined #forth 14:49:20 --- nick: kc5tja -> kc-food 15:10:21 --- quit: Herkamire (Ping timeout: 14400 seconds) 15:11:49 --- nick: kc-food -> kc5tja 15:44:33 --- quit: Fare ("3053") 15:52:12 --- nick: air|cabin -> air 16:02:36 --- quit: davidw (Read error: 113 (No route to host)) 16:12:13 --- quit: kors (Read error: 110 (Connection timed out)) 16:16:07 gotta go...gonna work on my lil script :) 16:16:10 bye all 16:16:16 --- part: TheBlueWizard left #forth 16:20:01 --- join: Herkamire (~jason@ip68-9-58-81.ri.ri.cox.net) joined #forth 16:21:33 * Oscarian is back (gone 09:57:08) 16:22:15 * mur never left 16:22:34 blah thebluewizard was here 3 hours and i missed him wih 3 minutes 16:22:36 baah 16:22:45 by 3 min 16:53:00 --- quit: mur ("MURR! end of file reached. continuing filling logs some other time.") 17:26:37 --- quit: Fracta| (Read error: 110 (Connection timed out)) 18:27:10 --- join: I440r (~mark4@1Cust219.tnt3.bloomington.in.da.uu.net) joined #forth 18:43:48 --- join: CrowKiller (Vapo_Rulez@cnq5-233.cablevision.qc.ca) joined #forth 18:44:01 hi 18:44:36 re 18:44:52 * kc5tja got AHEAD, IF, THEN, and ELSE working in my target compiler. 18:53:23 --- join: Shrdlu (~david@ljk2-22.sat.net) joined #forth 18:53:28 hi Shrdlu 18:53:36 davidw ? 18:53:49 hello 18:53:59 oops. 18:54:02 I'm already on 18:54:05 --- quit: Shrdlu (Client Quit) 18:54:06 lol 18:54:09 re 18:54:20 Got the target compiler to properly handle IF THEN and ELSE. 18:54:27 cool 18:54:29 Working on BEGIN AGAIN UNTIL WHILE and REPEAT now. 18:54:37 i never used forward myself... 18:55:02 for nxt and do loops too :) 18:55:18 i called 'next' nxt because i think the word NEXT has special meaning in forth 18:55:37 i personally dont seperate out "system programming" from "application programming" 18:55:40 they are one and the same 18:59:55 * kc5tja uses AHEAD, not FORWARD...I'm not sure what you're getting at. 19:00:16 Also, since my Forth is now subroutine threaded with inlined primitives, I no longer even have a need for NEXT either. 19:03:52 i meant ahead 19:03:53 lol 19:03:56 never used it 19:04:18 Well, there's no law that says you have to. 19:04:25 But for me, it's just the tool I need. 19:05:17 heh its just not something i ever used, im not even sure how to implement it :) 19:05:33 It's just a forward branch... :) 19:05:41 It's like IF, except it's unconditional. 19:07:59 of 19:08:01 oh 19:08:31 compile branch >mark 19:08:32 kc5tja: did you watched all the aha.rm file? 19:09:13 or anybody on this chan, if you listened to that it would be great to have you thoughts on this 19:12:50 CrowKiller: No, I couldn't. 19:12:56 It crashed halfway through the file, repeatably. 19:13:09 The file is corrupted. 19:13:16 it was doing that when the file was incomplete 19:13:17 I440r: Basically, yes. 19:13:33 CrowKiller: Like I already said, I have the whole file -- all 140MB of it. 19:13:37 The file is not incomplete. 19:13:55 i know i can read you know ;p 19:13:58 And repositioning the progress bar, or using the fast forward/rewind buttons caused it to hang hard. 19:14:58 I was experiencing the very same problems but in my case it was because the file missed a few dozen megabytes ;p 19:15:34 its frustrating that only a small "notch" in the stream can cause these hangups 19:16:49 What I don't like is how just barely tapping the forward button will cause the program to rebuffer it (or so it says), even at the very beginning of the file. I just click, as fast as I can, the button while it's at the very beginning fo the file, and it hangs. 19:17:02 I literally let it sit there for an hour, and it still didn't rebuffer. 19:17:32 i can only agrre with that it did the same thing to me ;p 19:17:56 I think the lesson here is that realmedia is the spawn of the devil. 19:18:42 Soap`: No. Devilspawn at least is interactive while it ruins your life. Real doesn't even do that. It's too fuckin' stupid to be devilspawn. 19:19:40 i saw a compression scheme that was a lot better than that, its at www.kttech.com IIRC 19:20:37 --- join: CrowKilr (Vapo_Rulez@cnq5-233.cablevision.qc.ca) joined #forth 19:20:37 --- quit: CrowKiller (Read error: 104 (Connection reset by peer)) 19:20:45 --- nick: CrowKilr -> CrowKiller 19:20:51 www.kttech.com 19:21:19 maube with some reverse engineering, we could get a forth version of this algorythm 19:25:11 these algorythms are the most efficient and well done I know 19:28:13 the ceo worked for nasa - she probably knows something of forth 19:30:34 And now, BEGIN AGAIN WHILE REPEAT and UNTIL are done. 19:31:06 CrowKiller: Reverse engineering is illegal in the USA now (DMCA); you'll have to do it over in Europe somewhere. 19:32:52 what is dmca ? 19:32:55 dmca... what a shame 19:33:02 digital millenium copyright act 19:33:22 the stupidiest law ever in the information technology era 19:33:34 never heard of that? 19:33:49 there so much cases in court about the DMCA 19:34:27 any person can send a "DMCA" letter to your ISP forcing him to close your website or to face legal charges 19:35:13 lol 19:35:16 Europe is preparing an even tighter incarnation of the DMCA IIRC 19:35:28 A man from Russia had posted some information about how to decrypt Adobe Acrobat files, which is just ROT13 (basically). 19:35:32 the scientology mivement used such letters to close sites that were agianst them 19:36:07 That man gave a conference in the USA about something (totally unrelated), and was arrested right there, on the spot, as soon as he got off the plane. The charge? Violating DMCA. 19:36:17 this particular case is the most famous, he was incarcerated lol 19:36:18 He was in prison for almost two years. 19:37:04 fucking democrats 19:37:06 fucking up our country 19:37:37 Democrats? No....democrats fought violently against it. Republicans, the great lovers of monopolies and big industry, are the ones who pushed it through. 19:37:57 But since Microsoft paid everyone off in Congress, it got passed. 19:38:58 I live in canada, so maybe the DMCA isnt applicable here 19:39:18 Don't know. 19:39:52 hey can i get in trouble for reverse engineering libc??? lol 19:40:02 its open source :) 19:40:46 No; it's open source. 19:40:59 But you can get in trouble for, say, probing Windows NT to see if a security hole might be present. 19:41:21 That's half the reason Microsoft pushed the law through. Notice how, after DMCA was passed, the security violation alerts for Windows NT all but disappeared? 19:41:37 lol 19:41:54 and samba ? 19:41:54 they trying to kill taht too 19:42:38 howdy I440r...i missed you yesterday to return your greeting :) 19:42:49 hi Oscarian heh 19:42:57 thats ok - irc is like that :) 19:42:59 i was off pretending to be doing something productive...a bit like i am now 19:43:00 now everybody got their perosnnal exploits to toy with without being detected ;p 19:43:01 glibc is open source; other libcs are usually proprietary 19:43:10 plus im told your on the wrong side of the world ;) 19:43:26 well, "other" side yes ;) 19:43:40 i'm a dinky di aussie ;) 19:43:40 the UNDER side :) 19:44:00 well your in #forth so you cant be ALL bad :) 19:44:01 lol 19:44:07 (that means ridgey didge, if you didn't know that) :P 19:44:11 so you code forth ? 19:44:12 * kc5tja wants to visit Australia some day 19:44:32 no, i'm here lurking after rob_ert recommended forth to me as a language to use 19:45:07 he recommended good 19:45:51 its a little bit difficult to get your head arround at first but once you get past the basics is a piece of cake 19:46:01 hell... if i do it it has to be :) 19:47:02 Oscarian, the best place to learn about forth is htpp://www.ultratechnology.com 19:47:24 all you need to know on Forth is there, the rest is up to you ;p 19:47:28 the first thing he said was that forth is all about stacks... 19:47:38 which helped me understand stuff already 19:47:54 it is 19:48:00 there are 2 stacks 19:48:13 2 stacks...? 19:48:14 to begin with you need only bother yourself with the parameter stack 19:48:20 ah, okay 19:48:24 to pass parametrers you put them on the parameter stack 19:48:25 Actually, http://www.taygeta.com is somewhat better I think; ultratechnology.com assumes some prior knowledge of Forth. taygeta.com (or .org or whatever it happens to be this week) has tutorials and introductions on it. 19:48:26 what's the second stack? 19:48:30 2 or more. but 2 usually 19:48:41 thanks kc5tja 19:48:45 the second stack is called the return stack 19:48:48 The second stack is the return stack. 19:49:03 do you by any chance code c ? 19:49:27 i know a little C/C++ 19:49:33 c only used one stack so the return address for a function call is in the way. forth doesnt have this problem 19:49:41 1 2 [enter] 19:49:47 you now have 1 and 2 on the stack 19:49:54 do-something 19:50:03 ill explain do-something 19:50:11 in forth everything you type is one of 3 things 19:50:17 1. its a word in the dictionary 19:50:20 2. its a number 19:50:24 so, each word is a list of things to manipulate (in a group) on the stack? 19:50:30 3. its a mistake 19:50:58 no. but words are sometimes lists ill get to taht :) 19:51:02 but they arent on the stack 19:51:07 oh... 19:51:09 when you type something on the keyboard 19:51:22 forth first searches its entire dictionary to see if there is a word with that name 19:51:28 if there is it executes that word 19:51:49 if there isnt it passes the string thats not a word to the word number 19:52:17 number tryies to interpret the string as a number. if it works it leaves that nubmers value on..... 19:52:20 the parameter stack 19:52:29 1 2 3 foo 4 5 6 19:52:32 sort of thing 19:52:46 words in forth can use ANY characters in their names 19:52:47 hmm, okay... 19:52:48 + 19:52:50 is a word 19:53:00 you pronounce the name as "plus" 19:53:01 oh right 19:53:06 plus takes 2 parameter 19:53:16 it removes both parameters from the stack 19:53:23 adds them and pushes the result 19:53:23 so if you type "1 2 +" you've got two numbers and a word? 19:53:33 . (pronounced DOT is another word 19:53:47 yes heres what forth does whenyou type that 19:53:56 Quite often, you'll find that certain constants like 0 1 2 -1 and -2 are words too, but that optimization is falling by the wayside as more advanced native-code compilers are coming around. 19:53:56 first. forth accepts your line of input 19:54:28 all input in forth is SPACE delimited 19:54:32 Oscarian: No, after 1 2 +, you have only one number -- the sum of 1 and 2. 19:54:36 you cannot have a space in a word name 19:55:04 forth first parses your input for the first space delimted string. the "1" 19:55:05 * Oscarian takes all this in and tries to stop it from escaping his brain 19:55:12 this is a number so the number 1 gets put on the stack 19:55:25 then forht parses the 2 which also goes on the stack 19:55:26 Follow I440r -- he's explaining the process in detail. 19:55:44 when forth parses the + it finds it in the dictionary and EXECUTES that word 19:55:59 so when plus executes ALL of its parameters are ready for it on the stack 19:56:17 it removes its parameters, adds them and pushes the result onto the stack 19:56:30 hmm, sounds simple...and nice 19:56:35 it is simple 19:56:50 now. 19:57:00 there are quite a few words in the dictionary 19:57:04 rob_ert pointed me to an IDE controller written in forth on the 'web...it was suprisingly short 19:57:04 + - * / 19:57:14 those add, subtract multiply and divide 19:57:28 forth is all able to being the nicest (to your brain and to the computer) and the simplest you can be 19:57:31 their names are usually pronounced... plus, minus, star, slash 19:58:12 if you have an item on the stack that you need to multiply by 3 and add 5 to... 19:58:15 3 * 5 + 19:58:30 do forth compilers also store "plus", etc, as a word? 19:58:41 well 19:58:58 the forth has a whole slew of pre-existing words in its dictionary 19:59:04 PLUS is always one of them heh 19:59:11 ah, okies 19:59:18 * Oscarian wonders off for a bit...just getting a drink 19:59:25 k 20:00:00 if you're gone, we won't know it unless you tell us L) 20:00:08 s/L/:/ 20:00:36 he did tell us heh 20:01:12 I know 20:01:22 :) 20:01:56 my point is he didn't have to 20:02:14 oh heheh 20:02:14 lol 20:02:23 he could sneek out and we wouldnt know :) 20:02:30 exactly 20:03:49 mental note: Etaoin is sneaky 20:04:53 i do it all the time, it explains my latency when IRCing ;p 20:05:27 heh 20:06:37 heck, it's no different from leaving your irc client connecting while intently hacking on a new piece of code, ignoring anything anyone says 20:06:53 Like me... :) 20:07:30 lol i cant do thgat 20:07:33 that 20:07:40 if im online i gotta be chattin or whatever 20:07:44 i can never code 20:08:55 haha, i'm back! 20:09:04 i was away for longer than i thought 20:09:05 ok 20:09:12 i got sidetracked by the couch 20:09:32 you also need to learn some basic stack manipulation 20:09:32 the words that do those are 20:09:43 dup drop nip rot 20:09:45 it's easy to ignore irc if no one is saying anything interesting 20:09:59 there are others but those are the basic ones 20:10:09 duplicate, drop...what are the other two? 20:10:57 understand stack notation? 20:11:05 not really... 20:11:16 nip removes the TOS (Top of stack) and place the second item of the stack into it 20:11:24 or 20:11:25 Bzzz... 20:11:26 nip is a drop of the second stack item 20:11:29 Just the opposite. 20:11:30 without dropping the top one 20:11:34 NIP ( n1 n2 -- n2 ) 20:11:36 it only remove the seond item on stacl 20:11:36 rot rotates the third item out to the too 20:11:38 top 20:11:44 replacing it by the third 20:11:53 ah okay, so nip is like push 20:12:03 or is that pop 20:12:06 CrowKiller: nip doesnt delete the top item. it deletes the second item 20:12:12 oh 20:12:16 No, NIP is like DROP, except that it drops the second top of stack, not the topmost. 20:12:24 ah 20:13:10 so drop removes the top item, nip removes the second item, dup would create another item on the stack the same as what is currently there? 20:13:19 Yes 20:13:21 DUP ( n1 -- n1 n1 ) 20:13:24 forth has a special sort of comment that tells you what a word does with the stack 20:13:28 what does run do? 20:13:30 rot 20:13:39 ( n1 n2 --- ..... ) 20:13:44 (where did 'run' come from =-/ ) 20:13:45 the .... part im leaving blank for now 20:13:47 ROT ( n1 n2 n3 -- n2 n3 n1 ) 20:13:57 rot rotetes the third itep out to the top 20:14:09 everything on the left of the --- or -- or what ever is 20:14:10 ah 20:14:21 whats on the stack BEFORE you execute a word 20:14:35 everything to the right of the --- is whats on the stack AFTER you execute the word 20:14:41 the stack comment for + might be 20:14:49 ( n1 n2 --- n3 ) 20:15:06 the TOP of stack is always to the right 20:15:16 swaps stack comment is 20:15:21 ( n1 n2 --- n2 n1 ) 20:15:24 actually a rot is very ugly IMHO, unless its faster to do it the other way, wich is quite rare; better to push it on the return stack to use it later 20:15:48 read: unless its faster to do it THIS way 20:16:19 the return stack can be used as a second temporary data stack 20:16:21 CrowKiller: Or you can't because the return stack will get cruft put onto it from other processing steps. 20:17:07 hmmm in ugly forths, yes, but its wise to take that into account ;p 20:17:20 CrowKiller: you can't always do that. 20:17:41 could i use forth to program a PIC? 20:17:44 CrowKiller: I cite the mere existance of ROT as proof of that. :) 20:17:47 i know thats why i say its waise to take that into consideration when working on a "foreign" forth 20:17:49 or do i have to stick with asm for that? 20:18:12 oscarian, the forth methodology is great to code PICS 20:18:19 ah, good stuff 20:18:23 you can write the forth you need when you need it 20:18:33 the way you want it 20:18:52 * kc5tja isn't so sure about that, CrowKiller ... PICs don't have writable program storage... 20:18:58 Not from the PIC instruction set anyway. 20:18:58 i saw on a web page yesterday someone who had written PONG for a PIC 20:19:02 there are some PIC's that would be very difficult to code a forht for heh 20:19:11 oscar codes asm? 20:19:20 not yet, but i'm learning... 20:19:24 slowly... 20:19:33 kc5tja: pic17 can read code from exteranl ram, and otehr rom based Ucontrollers can serve as bytecode interpreters 20:19:36 i'm out of work at the moment, so i'm trying to find things to do with my spare time 20:20:18 me 2 20:20:26 u code embedded ? 20:20:30 nope 20:20:35 just fiddling with stuff in linux 20:20:40 I worked with SXs and AVRs and they can do Forth very well, even from external ram or serial stream 20:20:42 CrowKiller: I suppose so; a bit of a slow way to do it, but it would work, I guess. 20:21:04 ok :) 20:21:11 * kc5tja needs to re-organize his target compiler's source code... :/ 20:21:19 i don't know very much at all, i need to read through that online asm coding book... 20:21:34 which, i should go find again while i'm thinking of it... 20:22:04 :) 20:22:12 asm is the basic skill 20:22:26 after you learn forth and thats all dont need to learn any other language 20:22:27 ;p 20:23:37 crow asm and forth 20:23:45 i think all coders. ALL CODERS should be required to serve an apprenticeship 20:24:10 there's some neat stuff other than forth and asm. I don't mean c 20:24:14 where they are not allowed to code in ANY language other than PURE ASM for the first 10 years 20:24:14 after that they can learn forth 20:24:56 i started to code on PICs like devices and it served me well, taught me binary arithmetics and all 20:26:25 i'm also contemplating learning either LISP or Haskell 20:26:44 but i need to actually know something useful before i try to learn either one 20:29:06 lisp is awsome 20:29:14 haven't tried haskell 20:30:03 well, i have to go out...thanks for the small guide I440r, i'll find it useful i'm sure... 20:30:17 i might try out some forth this afternoon after i get back 20:30:44 catchas all! 20:30:53 * Oscarian is away: gone out for a while 20:31:12 oscar if you forget it all its ok 20:31:28 cuz if you stick with it youll remember what i said 20:37:15 --- quit: I440r ("well its time to go code some more :)") 20:44:11 --- quit: Herkamire ("goodnight") 20:56:02 brb; rebooting. 21:08:48 back 21:10:26 re 21:10:40 * CrowKiller is in the design phase of his aha-like system 21:11:51 * kc5tja is re-organizing his target compiler before he adds more features to it. 21:11:57 Cleaning up the source code. 21:19:44 my aha system is based on 8 bits token, so it can be used in microcontrollers 21:20:23 the draft is almost finished, ill polish things up and will post it on a local webserver for this chan's viewing pleasure ;p 21:21:38 Cool 21:30:57 its 60% finished, ill post it, wait a bit ill start the server 21:32:41 http://24.212.5.233 21:32:58 I cut and pasted it into Netscape Composer 21:33:08 dont look at the html source lol 21:37:09 please press reload i changed some stuff in the first paragraph 21:37:23 just in acse your viewing it lol 21:37:40 here its 1 a.m so i must get to bed 21:38:36 since I sleep beside it, I must shut down my PC, sorry for the inconvenience, it will be back tommorow, maybe even done better 21:38:41 good night all 21:38:56 --- quit: CrowKiller ("Bibi veut des fruits") 21:49:43 --- quit: Soap` () 22:11:11 --- quit: Etaoin ("raise OverFlowError, "Ewwww, now it's all over the floor."") 22:12:57 --- join: rob_ert (~robert@h237n2fls31o965.telia.com) joined #forth 22:24:54 What is a good naming convention for words that embed things into the current definition? 22:25:13 I'm already using XXX, to indicate words that compile things into the current definition. 22:25:41 My problem in particular is that I'm writing code to embed a string into a colon definition, for use with S" and ." words. 22:25:57 S, is already defined for strings, and is used by S" and .". 22:26:08 hmm... 22:26:09 * kc5tja thinks 22:32:58 Never mind -- I don't need to rename the word. It'll never be in the target compiled dictionary anyway. 22:36:36 --- join: Fracta| (zopqss@h24-77-171-228.ok.shawcable.net) joined #forth 22:38:10 Hi. 22:39:35 re 22:39:41 * kc5tja is cleaning up the source code to his target compiler. 22:48:28 --- join: Serg_penguin (~snaga_NOI@nat-ch0.nat.comex.ru) joined #forth 22:48:46 hi 22:48:59 i have a stupid question on FORGET 22:49:36 FORGET it. 22:50:01 really, i need : 22:50:25 to FORGET by cfa adress, like EXECUTE, not by name 22:50:48 I dunno. Go ask in #forth. 22:50:59 to forget the word defined after the specified word 22:51:01 This IS #forth 22:51:09 No it isn't. 22:51:15 like : USER-XTNS ; 22:51:22 My BitchX bar reads #Forth. What channel am I in? 22:51:34 FORGET USER-XTNS 22:51:37 #forth_sucks_ass 22:52:04 all beyond USER-XTNS should go hell, but USER-XTNS itself should stay 22:52:11 how can i do it ? 22:52:27 Fracta|: if you don't like Forth, why are you here? 22:52:52 When you create USER-XTNS, create USER-XTNS2 immediatley after, then FORGET that? 22:52:59 Serg_penguin: No; Forth provides no standard way to forget based on an xt or cfa. 22:53:38 i know.. 22:53:45 Ok. I'm lost. That's why I'm not in #forth, I guess... 22:54:07 but how can i deefine it ? 22:54:21 manually setting HERE and LATEST vars ? 22:54:27 Uh... : USER-EXTNS2 ; ?? 22:54:37 That would be highly compiler specific. 22:54:46 Fracta| has a better solution; or you can use MARKER. 22:55:02 MARKER, eh? I'll look into that... 22:55:13 but does MARKER go after use, or stay ? 22:55:36 It goes after it's used. But it's most often used like this: 22:55:42 FOO MARKER FOO blah blah, 22:55:58 So although FOO disappears after it's used, MARKER FOO immediately re-creates it. 22:56:25 i wanna make 2 things: 22:56:45 fdisk highly programmable&customizable 22:57:08 and a game w/ executing source pieces from world/levels files 22:57:20 for both i need what i iasked 22:57:39 ?? 22:57:53 1) i urgently need 22:58:01 If the sources are loaded in via INCLUDE or LOAD or THRU (the former being for files, and the latter two being for blocks), then MARKER solution would work for your needs. 22:58:42 2) maybe will do just as educational example 22:59:07 what if user will FORGET ;) to define marker foo at start of his script ? 22:59:10 s/INCLUDE/INCLUDED/ 22:59:41 what if levels will grow unnecessary because of extra src line ? 23:00:03 You can create a load chain. INCLUDED takes a string on the data stack, so you can create a file called "marker.fs" for example, and do this: S" myExtensions.fs" INCLUDE marker.fs 23:00:14 Where marker.fs contains the following one line: FOO MARKER FOO INCLUDED 23:01:19 Anything beyond this requires intimate knowledge of the specific Forth compiler you're writing for, unfortunately. 23:02:06 u sure dont know it - i use 2 russian forths, one dos 64k, 2nd - full dos dpmi 23:03:05 I'm not sure how to take the last message...what do you mean? 23:05:40 i am Russian... and these forths have all docs in rus, so u hardly can learn their internals 23:06:20 Hmm..that brings to mind that they're quite likely not ANSI compliant either. 23:06:24 second is no-source ;(, 1st is full-src, lots of rus comments ;) 23:06:39 In that case, instead of FOO MARKER FOO, you might want something like FORGET FOO : FOO ; to get the same effect. 23:07:09 no, both have marker 23:07:20 both claim to obey ansi 23:08:39 OK, hopefully that will work for your needs. 23:09:45 * kc5tja has a coworker from Russia where I work. It's interesting to see how Forth has a fairly high level of interest in Russia. (At least when he was still living there, back when the USSR still existed) 23:10:09 versus America, where Forth has almost zero interest. 23:18:19 * Oscarian is away: Frazzled, I'm sure 23:18:30 * Oscarian is back (gone 00:00:03) 23:18:44 oops 23:22:54 --- quit: sif (Read error: 110 (Connection timed out)) 23:26:32 * Oscarian is away: de-smelling 23:27:20 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 23:29:55 maybe, ist because poor comuter power ? 23:30:13 and 70's USA designs copiet in 90's 23:30:28 PDP-11 in home computer, 16 k ram... 23:30:59 it was 1st time i run a BASIC proggie.... 23:31:34 it was a big keyboard , not huge boxes of real pdp-11 23:32:45 and costed 550 rub while avg monthly income was 70-110 rub for 1 working man 23:34:21 it was be4 rub (and ussr) crashed... 23:34:39 hey !!!! 23:35:02 afk.. 23:36:40 Ahh 23:36:50 Sorry; I was busy hacking away on my own Forth compiler environment. 23:37:10 * Oscarian is back (gone 00:10:38) 23:37:44 I'm really pleased to see that it's coming along; however, I'm just a tad upset at the code quality it produces. But, so far, it's only 31% larger code, so I guess I shouldn't be too terribly worried yet. 23:38:09 It actually falls in line with what's to be expected between direct threaded and subroutine threaded code. 23:40:12 Most of the code bloat seems to come from the fact that 16-bit x86 code (IA-16) isn't orthogonal, and thus, many CPU instructions do the job of one Forth VM instruction. 23:40:37 The constant adding and subtracting to BP is also a problem too. 23:40:59 Those represent wasted cycles more than anything else. 23:41:25 But that's OK -- this version of FS/Forth is the very first time I've ever done any native code compilation techniques of any kind. I'm really pleased with the results overall. 23:42:11 as far as PDP-11s, I can see that happening. In America, computer power has grown so incredibly fast, that the need for good programming techniques and languages has been obscured by technological progress. 23:46:54 i just don't grasp it 23:47:17 u definitely may get more from ANY cpu by good optimisation 23:47:28 from Z80 to P4 23:48:11 --- join: davidw (~davidw@adsl-ull-217-108.42-151.net24.it) joined #forth 23:48:12 Correct; however, the Z-80 definately has its limitations. :) 23:48:57 The 6502 was easily twice as fast as the Z-80 at everything except block memory moves (and that's only because the Z-80 had a LDIR and LDDR instructions) 23:49:03 for the same clock speed. 23:49:22 demo-makers did a realtime raytracing working well on my p166 (320x200, closed room w/5-10 yextured primitives) 23:49:39 why industry did not do it even or p4 ? 23:50:07 Well, the only real difference, from a software perspective, between the P4 and the p166 is clock speed. 23:50:13 So the same code would still work on the P4. 23:50:30 Today's most advanced Pentium-class machines are still just glorified 80386 processors. :) 23:51:28 What I don't understand is why the software industry adopts a source distribution method, and let the processor the software runs on be free to change as needed. 23:52:14 Forth *excels* at this like no other language in the world (I have plans of porting my FS/Forth System I program to the Commodore 64 just as a demonstration of retargetability of the target compiler). 23:52:42 And the one-pass compiler makes compilation almost unnoticable. 23:53:02 Compared to waiting for the disk to deliver the next chunk of source text, compilation IS zero overhead. 23:53:40 s/software industry adopts/software industry didn't adopt/ 23:53:47 sorry -- I didn't catch that error until just now. 23:54:30 i wanna add in-place vocabulary edition to my forth compiler.. 23:54:52 How do you mean? Retroactive word redefinitions? 23:55:09 w/ ability to even toss out words and shrink/grow wokabulary, insert in middle (correcting all calls/branches) 23:55:21 Ahh, I see. 23:55:44 That can come in handy for if you load two or three modules, but you want to remove only the middle modules. 23:56:17 but words doing wthis must be first... 23:59:23 Right. 23:59:59 --- log: ended forth/02.05.27