00:00:00 --- log: started forth/04.03.21 00:34:41 kc5tja: :) 00:34:48 kc5tja: There? 00:39:22 --- join: Serg (~root@193.201.231.126) joined #forth 00:40:00 hi ! 00:40:41 hi Serg 00:41:43 * Serg is again working via GPRS 00:49:12 huh.. i eradicated MOTD from every place in ircII binary, but it still gets server MOTD !! 00:49:41 hah 00:50:31 now i wanna learn how to do DVD -> MPEG4 00:50:53 take DVD from friend or video booth, code it and burn CD-R 00:52:34 i have an idea to write in Forth: TeX-like thing 00:53:04 see: we take every char from stream... 00:53:19 :) 00:53:46 if it's '/' or '@', we collect other letters after it up to space, ... 00:54:07 and call the word w/ that name, say @bold or @chapter 00:54:31 all other chars go to special vectored word, say VEMIT 00:54:44 does it make sense ? 00:55:11 i already did it, but it's buggy coz of some TIB issues, and unable to return from INCLUDE 00:55:30 :) 00:56:19 and more, by makeing 'start char' a variable , we can construct even XML processor 00:57:08 heh L 00:57:08 :) 00:57:10 just assign it '<' and define words like

00:57:24 * kc5tja is working on a circuit board layout. 00:58:23 kc5tja: how complex is the board ? layers ? space between leads ? 00:58:34 2 layers, industry standard 100mil spacing. 00:58:43 But it's moderately complex. 00:59:02 And I don't have a whole lot of space to work with. 00:59:16 The auto-router can produce a working board layout, but I'm trying to see if I can do better by hand. 00:59:28 100mil ? 1/100 of inch ? o.25 mm ? 00:59:30 * kc5tja is still learning how to use the program. 00:59:37 Yes, 0.25mm 01:00:18 * Serg fu..s inch by iridium meter ;)) 01:01:11 why don't everyone turn to SI ??? 01:05:50 :) 01:06:20 This country has no fiscal incentive for doing so, so we don't. 01:06:32 However, more and more measurements made in the electronics industry are metric. 01:06:36 fiscal what ????? 01:06:43 well, its a pretty fucked up country in the first place. 01:07:04 Which makes working with circuit boards very complicated, because for ONE thing you're using mils, and for another it's metric. I obviously prefer metric, but still. Consistency is more important to me in this case. 01:07:04 it's just like speaking common language... 01:07:26 Serg: Right. There is no fiscal incentive for doing so. 01:07:35 There's no money to be had in changing units. 01:07:36 None. 01:08:08 so what about all calculations ? 01:08:50 my hair goes erect if imagine solving basic gas equations in such damn units :(((( 01:11:22 hundred pounds on square foot.... how can i convert it to Pascals ? 01:12:45 4.45 Newtons per pound. 01:12:54 27 square feet (approximately) per square meter. 01:13:04 use 'units' 01:13:37 Serg: You are familiar with the factor-label method of solving "typed" equations, right? 01:13:59 It's basically where the types of quantities cancel in unit conversion factors. 01:14:01 For example: 01:14:07 1 mil = 0.001 inch 01:14:13 25.4 mm = 1 inch 01:14:14 So, 01:15:02 (1 mil) * (0.001 inch / 1 mil) * (25.4mm / 1 inch) == 0.0254mm 01:15:34 hmmm.. the great advantage in SI is what it requires NO multipliers 01:15:46 just put numbers instead of letters and solve 01:15:58 You do the same in both systems. 01:16:45 For example, both the erg and the Newton are units of force in the metric system. 01:16:52 But what is the conversion factor between them? 01:17:07 C++ is so weird 01:17:09 Personally, I'm too lazy to look it up. 01:17:16 "I wanna touch your privates!" "Ok, I'll declare you as my friend, then you can" 01:17:23 lol 01:18:21 OK, for the circuit that I have built, I can honestly say that the auto-router beats me every time. 01:20:11 I can't see routing PC board traces by hand for a more sophisticated circuit. 01:20:30 It'd take forever, and if you make **one** mistake, you have to start the whole board layout over from scratch. 01:22:52 --- quit: crc (Read error: 113 (No route to host)) 01:23:39 heh, paying by traffic is nice for chats ;)) 01:23:54 but for massive damnloads, i prefer time and dial-up 01:24:27 damnloads lol 01:24:41 * Serg likes wordplay 01:25:02 * kc5tja yawns -- I think I'm going to go to bed. 01:25:08 It's almost 2AM here. 01:25:16 kc5tja: no its not 01:25:20 kc5tja: its not even 0130 01:25:23 kc5tja: :) 01:25:45 here is 12:35 of day ;)) 01:25:54 oops, 12:25 01:34:31 --- part: Serg left #forth 01:34:40 night all 01:34:57 * arke is away: zZzZ 01:35:03 --- quit: madgarden (Read error: 54 (Connection reset by peer)) 01:35:13 --- join: madgarden (~madgarden@Kitchener-HSE-ppp3576712.sympatico.ca) joined #forth 01:35:35 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 01:38:46 --- join: suprdupr (CrowKilr@HSE-Ottawa-ppp234742.sympatico.ca) joined #forth 01:39:03 --- quit: suprdupr (Client Quit) 01:42:47 --- join: ayrnieu (julian@65.169.246.30) joined #forth 01:46:53 --- join: madgarden_ (~madgarden@Kitchener-HSE-ppp3576712.sympatico.ca) joined #forth 01:46:53 --- quit: madgarden (Read error: 54 (Connection reset by peer)) 01:52:10 Dobry den! 02:00:38 --- join: Herkamire (stjohns@h000094d30ba2.ne.client2.attbi.com) joined #forth 02:01:47 --- join: Downer (~Devel@host213-122-198-224.in-addr.btopenworld.com) joined #forth 02:06:32 --- join: Serg (~knoppix@193.201.231.126) joined #forth 02:07:54 re from Xchat 02:08:05 --- quit: Herkamir1 (Read error: 104 (Connection reset by peer)) 02:08:31 xchat good. 02:08:37 Privet, Serg! 02:08:43 Dobry den! 02:08:59 i work from home via GPRS (Megafon) 02:09:13 Monster! 02:09:37 in knoppix-linux, XP fails w/ it miserably 02:09:41 isnt GPRS real fsckin slow? 02:09:54 That's IRC. 02:10:03 It's not so heavy. 02:10:12 i nevermind speed - it's too xpensive to suck much data 02:11:06 How's your FeX going? 02:11:31 have no purpose for it, so do not write 02:12:03 Hm. 02:12:12 What about e-mail or news? 02:12:32 in Forth ? 02:13:00 In TeX :) 02:13:05 Of course in Forth. 02:13:13 hmmm.... forth is suboptimal at handling text data 02:13:36 I can't say that. 02:13:41 of course, one may write good libs, but it'll takes to be Larry Walsh 02:13:52 It depends on data. 02:13:59 or whoever wrote Perl 02:14:27 RFC 822 is not free form text. 02:15:09 You have no need to deal free form text. 02:15:31 Hence you need no RegEx. 02:16:12 heh, onse i beated RegEX completely in my sub-kilobyte email extractor 02:16:44 wr0tten in GPforth 02:16:58 http://cryptomancer.narod.ru 02:17:03 in RU :)) 02:18:34 I see. 02:18:53 BTW, why Apache? Linux? 02:19:51 no, Win32 apache 02:20:05 Why not acWEB? 02:20:26 I've tried it. It works. 02:20:32 coz apache was at hand on some freesoft CD 02:21:11 When you get non-GPRS take a look at it. 02:21:59 I think it's even easier than Apache. 02:22:46 damn, i got no RU input in my X ! 02:23:12 Ha! 02:23:22 I've not solved this. 02:23:34 I use Emacs. 02:23:42 C-\ 02:23:45 :) 02:23:47 Xkbd ;)) 02:23:47 everything in Cyrillic HOWTO 02:24:07 Laziness... 02:24:08 i did it , but it's not at hand 02:26:15 BTW, I'm looking at FIG portable (screen) editor sources, they're 4 screens only. 02:27:27 I'm definitly turning toward blocks. 02:29:43 damn, something sucks traffic silently... 02:29:54 X ? 02:30:31 Look into your routing tables. 02:31:37 Do pings consume traffic? I mean, are they counted? 02:31:59 i think they do 02:32:11 IRC pings you from time to time. 02:32:27 but who pings ? i do not ! 02:32:32 I think you have options in your IRC client somewhere. 02:32:41 IRC server. 02:32:42 hmm, meter goes faster than w/o X 02:34:13 BTW, there should be packet dumping utilities. 02:36:34 heh, i managed to kick out my mail, server was refusing to accept it 02:38:18 something SUCKS ;(((( 02:47:48 --- quit: Serg (Read error: 60 (Operation timed out)) 03:57:18 --- join: qFox (C00K13S@cp12172-a.roose1.nb.home.nl) joined #forth 04:35:26 Dobryjj den'! 04:51:12 --- join: l0C0 (loco@bor.gs) joined #forth 05:13:22 Hi l0C0. 05:13:28 And ASau 05:19:10 hey 05:25:55 Privet, Robert! 05:26:24 Good evening, l0C0! 05:39:06 hi 05:39:17 bor.gs, yay! 05:40:24 --- quit: Downer (Read error: 110 (Connection timed out)) 06:59:07 --- join: madgarden (~madgarden@Kitchener-HSE-ppp3576712.sympatico.ca) joined #forth 07:17:17 --- quit: madgarden_ (Read error: 110 (Connection timed out)) 07:21:50 Rushcast is online, woo! 07:32:56 http://pesnyary.com/bin/href.pl?num=31 07:33:52 Dobryjj vecher! 07:34:12 ASau, what the... 07:35:10 --- join: networm (~networm@L0626P18.dipool.highway.telekom.at) joined #forth 07:35:16 VIA "Pesnjary", madgarden 07:35:47 Guten Abend, networm! 07:36:20 guten abend :) 07:36:31 that is, it's not evening yet here.. 07:37:30 It's just evening here. 07:38:01 when does evening start? 6 pm? 07:38:25 It depends. 07:38:35 6pm is evening anyway. 07:39:07 so i have over one hour left of afternoon still 07:39:32 It's not summer now, hence 5pm is evening too. 07:39:33 One hour of afternoon Forth... enjoy it! 07:40:02 --- join: test123 (~test123@pD9EE16D4.dip.t-dialin.net) joined #forth 07:40:35 Especially, when you get up at 7 am. 07:40:50 aw, that reminds me, daylight saving time. soon i will loose one hour of time :| 07:40:51 Dobryjj vecher, test123! 07:41:09 aloha asau 07:41:54 what kind of relation is there between forth and pie once again? 07:44:05 brb 07:44:08 --- quit: test123 (Client Quit) 07:44:17 --- join: test123 (~test123@pD9EE16D4.dip.t-dialin.net) joined #forth 07:44:57 up there it's written: "And pie." 07:45:01 ?? 07:45:43 I don't know, really. 07:46:04 Ask arke. 07:46:26 Or whoever wrote it. 07:47:13 is here anybody w/ ficl exoerience? 07:47:29 *experience 07:49:24 Not me. 07:49:39 I have used FICL a bit. 07:50:00 Haven't embedded it or anything though. 07:50:54 yes, planning to embed it 07:51:54 I doubt it's very difficult. I wrote a similar embeddable system. 07:52:09 FICL has some decent documentation. 07:53:33 as a newbie, i just *hope* a good start :-) 07:53:59 madgarden: ACK, good docs 07:55:37 also, it won't be embedded into c. java instead. jorth kind of thing. 07:58:09 is here anybody who had a similar idea, or is interested in such? 07:58:35 test123, well there are some Java Forths out there... wouldn't using one be easier? 08:06:39 madgarden: do you know something real in that direction? 08:08:30 Well, I don't use Java, but here: http://www.geocities.com/dolphinconsultant/forth.html 08:08:48 I looked at the HOLONJ page before, seems interesting. 08:09:49 IIRC, there're two, three or even four known Javish Forthes. 08:10:19 Look at dmoz pages. 08:10:32 well, either compiler or pet interpreters 08:10:39 There's a good list of implementations. 08:11:21 Well, I don't know of many native compilers. 08:11:46 madgarden: ack, holon. need it realtime though 08:12:41 Hm. There're no long time awaited operations in Forth. 08:13:20 Don't use ROLL or VLIST and you get RT. 08:13:41 Ah. 08:13:59 That's compiled code interpreting. 08:14:46 Dictionary search in "unpredictable", it grows with dictionary size. 08:15:09 Or what do you mean under "real time"? 08:16:18 test123, do you mean interactive? 08:19:28 for the first, an implementation which is serious. i.e. no "demonstration". since forth's nature is interpreted, forth compiling is not the topic 08:20:16 What do you mean under "no demonstration"? 08:20:40 ok compiling could be useful for some special things, but it's not the goal 08:20:46 My real Forth has no more than 200 words. 08:21:28 Sorry, about 230. 08:21:34 asau: do you code bigger projects w/ your forth? 08:21:56 Actually, practically everything is in extensions. 08:22:48 Yes, I plan first results in autumn or winter. 08:23:10 bigger in the means of functions, complexity, distributedness etc., *not* codesize ;-) 08:23:59 I mean functionality useful to me. 08:24:25 ASau: which size of project do you aim at (or are at now)? 08:24:32 It seems I have another goals than many of forthers here. 08:25:05 Size in terms of compiled code? 08:25:11 Or source code? 08:25:39 I don't know of latter, the former would be no more than 32 KB. 08:26:00 ...will be... 08:26:01 asau: ok, an example. it's an irc# here. we all ircclients. how many use an ircclient coded in forth? 08:26:12 *use 08:26:51 I don't program TCP based things. 08:27:07 that about: other goals 08:27:09 I've not heard of any. 08:27:30 Though there is news and mail client. 08:27:40 ASau: do you understand my point? 08:27:40 TCP servers. 08:27:47 I understand. 08:27:57 I think noone. 08:28:09 AFAIR. 08:28:49 When you code IRC client in Forth, let us know. :) 08:29:35 ok, but jorth is scheduled b4 ;-) 08:30:41 If you so much want to create something practical, you have Gforth or PFE. 08:31:15 There're news, e-mail clients, spam filter, IRC client etc. 08:31:45 Practically whole GNU. ;) 08:32:00 * arke is back (gone 06:57:01) 08:32:00 Almost the whole GNU. 08:32:09 Dobryjj vecher! 08:32:17 well it's not so much about an ircclient, was just an example.. 08:32:20 arke, what does "and pie" in topic mean? 08:32:27 hiya 08:32:50 ASau: ask chandler or madgarden 08:33:16 arke, that wasn't my own question. 08:33:46 test123, how many Forth implementations' source have you revised? 08:35:53 I'm lucky not to reinvent the wheel from scratch. 08:36:38 But that's of primary concern to you. 08:36:58 Maybe it should be better not to write yet another Forth. 08:37:19 There're too many of them. 08:37:52 And they are bad or not so good in main part. 08:38:23 ok, not too much. as i sad: newbie. but my intuition is very well founded, betch'ya ;-) 08:38:39 How long are you in Forth? 08:39:56 ack reinvent. know where you are pointing to. i call it a forth koan. 08:40:00 I should say that I know my implementation very well but even there I recently have found unknown part. 08:40:10 And I don't count it's good. 08:41:06 What's "koan"? 08:42:15 the specialist on terms like koan is kc5tja ;-) 08:42:31 what _is_ koan? 08:42:41 Well, I've optimized and partially reworked the implementation I've started from. 08:42:41 term comes from zen tradition 08:43:25 OK. I've understood. 08:44:16 We maybe differ in understanding of the "koan" word meaning. Hence I won't refer to it. 08:45:03 koan is a sentence which is hardly to understand w/ the formal intellect. wisdom, derived from contemplation will understand it 08:45:22 I go on. And I have no feeling I need Forth in Java. 08:46:15 Even Forth in C is completely unneeded thing, I should say. 08:46:23 formally it expresses something contrary. the duality can be solved only on a higher level 08:46:39 No, koan is not paradoxia. 08:47:11 right. didn't say it 08:47:20 *that 08:47:30 I contains no duality then. 08:47:42 It...; 08:48:25 Koan contains nothing. 08:48:39 definitions, sigh.. better to take an example ;-) 08:48:42 ...expresses... 08:49:12 Well, I suggest us not to refer to koan. 08:49:58 I don't like philosophical disputes. Especially in English. 08:51:53 As for Forth implementation I'd like to combine approaches of Horst's ciforth and postForth. 08:53:06 do i reuse code? is a forth koan, especially in colorforth 08:53:19 Macroprocessing to get assembly. 08:53:39 oh you have some experience w/ ciforth? 08:54:24 I have experience with FIG Forth. 08:55:11 Horst go this way: FIG 1.0 -> his FIG 2.0 -> C.I.F. 08:55:19 didn't ciforth move from ansi to iso? 08:55:50 I've not read ISO standard. 08:55:57 do you have contact to horst? 08:56:02 Even never I have seen it. 08:56:07 No. 08:56:51 he tries to implement a bios decompiler in c4th atm afaik 08:57:10 or better recompiler 08:57:35 Do you mean ciforth? or ColorForth? 08:57:59 ASau: do you read the colorforth(=c4th) ml? 08:58:15 No. 08:58:25 I'm not interested in ColorForth. 08:59:14 i meant: a bios decompiler in colorforth 08:59:45 OK. 09:00:17 target is to replace the bios w/ colorforth. first of course, analyzing it 09:00:59 have you noticed horst's debugger prj? 09:02:14 IIRC, it's pretty old project. 09:02:24 Has he achived anything? 09:03:08 yes, it was paused some years. reactivated now, but in colorforth 09:03:17 Actually, I don't like Horst's asm. 09:03:23 It's the hell. 09:03:29 lol 09:03:58 If he bases on it, I won't use debugger either. 09:04:44 I don't like ColorForth too. 09:05:11 Because it's one context only. 09:05:24 explain 09:05:28 Or I don't see how it provides more than one context. 09:05:38 explain context 09:05:40 Well. 09:05:45 E.g. 09:06:01 I'm working with simple numerical model. 09:06:15 Float point numbers only. 09:06:24 Floating... 09:07:06 I don't want always to write: F* F/ F+ FOVER and so on. 09:07:30 I want write: * + / OVER DUP ... 09:07:41 I do write latter way. 09:08:05 For a minuet I need to switch, for example, to quaternions. 09:08:21 ...minute... 09:08:43 I don't want Q+ ... 09:09:31 i see your point, thanks 09:09:36 As I could with the same probability use quaternions instead of simple scalars. (See the first model.) 09:10:22 In my system I can easily live with multiple vocabularies and have both sets of words. 09:11:14 And I can't write in colour on paper. 09:11:30 I have only black inks. 09:11:54 At most I can underline words. 09:12:38 I don't see why everybody complains about that 09:12:59 if you're writing in ascii text or with a pen or whatever, you just use the normal symbols: :[] etc 09:13:13 But it seems underlining is the last thing I can do to distinguish words. No colours. 09:13:23 if you want, and you have the technology you can edit/view with the colors 09:14:04 Herkamire, then why I need colours in editor, when I don't use them on paper? 09:14:15 my forth editor uses colors (by default) 09:14:19 Here comes Occam with his sword. 09:14:29 you don't need them. that's not the point. the point is I preffer them 09:14:50 Mornin' Jason :) 09:14:55 Herkamire, do you see the difference? 09:14:58 morning arke :) 09:15:10 NO!!!! 09:15:14 arke: huh? 09:15:16 NO!!!! 09:15:17 NO!!!! 09:15:21 Me /= you. 09:15:25 you were supposed to call me chris!!!! AARGHGHFAUSDG/gjlabdgs 09:15:29 :) 09:15:49 arke, there's /nick command. 09:16:07 arke: why is your nick "arke" if you don't want to be called "arke"? 09:16:10 ASau: I called him Jason! 09:16:20 oh 09:16:20 Herkamire: I called you Jason, so thats why :) 09:16:24 * arke being silly 09:16:26 Hm. Why you call me ASau then? 09:16:26 I see 09:16:33 I didn't really notice 09:16:40 ASau: cause I don't know your first name :) 09:16:53 It's very strange. 09:17:05 Mur knows, you don't. 09:17:42 Though I can't recall how mur writes it. 09:19:50 Chuck Moore didn't write an option is his colorforth to display in ascii, but it would be easy enough to do 09:20:04 I think arke is sillier than I am. 09:20:04 I did it in mine. it took maybe an hour 09:20:21 madgarden: don't doubt it :) 09:20:25 * arke signs vital signs 09:20:33 AKRE SI TEH SILY!!!11 09:21:10 * arke H4S T3H VIT4L SIGNS 09:21:12 arke, Rushcast is online gain. 09:22:04 --- quit: test123 ("shutdown") 09:22:05 --- join: test123 (~test123@pD9EE16D4.dip.t-dialin.net) joined #forth 09:22:21 And now I must sojourn to the mall where I shall feast on low-quality food products. 09:31:00 :) 09:31:00 --- quit: test123 (Read error: 104 (Connection reset by peer)) 09:35:21 --- join: rO| (~JBouncer@pD9EE16D4.dip.t-dialin.net) joined #forth 09:36:42 ho rO| 09:36:43 hi* 09:37:11 hi arke 09:38:22 just connecting the proxy. cu in a time.. 09:38:28 --- nick: rO| -> rO|afk 09:40:15 Dobryjj vecher, rO|! 09:43:16 :) 09:43:35 --- join: kc5tja (~kc5tja@66-91-231-74.san.rr.com) joined #forth 09:43:54 --- mode: ChanServ set +o kc5tja 09:43:59 hi kc5tja 09:44:04 Hello. 09:44:38 * kc5tja is wondering if he shouldn't attempt to hand-route his circuit again, just to gain some more experience with it 09:44:44 --- quit: networm (Read error: 104 (Connection reset by peer)) 09:48:52 --- join: networm (~networm@L0654P25.dipool.highway.telekom.at) joined #forth 09:59:21 Terve! 10:01:22 oi 10:01:35 what i know? 10:03:52 ASau? 10:09:06 Why do you wonder so much? 10:09:34 because i dontbother scrolligng back :) 10:10:36 There's an annoying style in conversations here. 10:10:51 It's called "kashhenizm". 10:11:31 On any principal question one answer: 10:11:42 "But why do you ask? 10:11:54 Are you antisemit?" 10:13:00 All this was by the way. 10:13:04 Off topic. 10:13:31 BTW, what are you doing in Forth? 10:13:31 ok 10:13:35 i need to go 10:13:52 i dont know. why am i in irc anyways 10:14:02 i'm not on any channel that i was really actively doing 10:14:15 Good luck! 10:14:36 But what do you want from Forth then? 10:14:36 it is interesting. actually none of channels i'm on 3 networks 10:14:48 is what i'm doing daily 10:14:58 but cya now 10:15:21 Hm. I'm not doing anything in Forth _daily_. 10:15:35 Good luck! 11:32:46 --- join: wossname (wossname@HSE-MTL-ppp77367.qc.sympatico.ca) joined #forth 11:37:43 --- quit: scope (Client Quit) 11:52:31 --- quit: warpzero ("Tried to warn you about Chino and Daddy Gee, but I can't seem to get to you through the U.S. Mail.") 11:56:53 --- join: warpzero (~warpzero@dsl.142.mt.onewest.net) joined #forth 12:09:23 --- join: Sonarman (1000@adsl-64-169-93-172.dsl.snfc21.pacbell.net) joined #forth 12:27:30 --- quit: kc5tja ("leaving") 12:27:35 --- join: kc5tja (~kc5tja@66-91-231-74.san.rr.com) joined #forth 12:28:14 Sorry; way too much lag. 12:28:21 --- mode: ChanServ set +o kc5tja 12:29:18 hey 12:32:47 --- join: blockhead (default@dialin-202-tnt.nyc.bestweb.net) joined #forth 12:40:57 --- quit: rO|afk (Read error: 60 (Operation timed out)) 12:41:10 re blockhead 12:41:52 For those who have such software, you can get hours of entertainment from your PCB CAD tool by constricting your auto-router to just horizontal traces (when most of your components are vertically oriented). Just *WATCH* the thing attempt to converge. 12:41:56 kc5tja: hi :) 12:42:13 Amazingly enough, it DID converge on my design. But it did so with over 200 vias in a board that is only 4" by 2.5". :D 13:23:30 re again 13:23:40 terrible lag :/ 13:29:52 Dobryjj vecher, mur! 13:30:12 How was your meeting? 13:32:58 i asn't in any meeting :) 13:33:11 no, privet 13:33:19 hmm nu i shto, privet 13:33:19 hmm 13:33:29 Hm. I thought you met your girlfriend. 13:34:04 Or you were in guests. 13:34:14 how did you came up that conclusion? 13:34:33 ~~ :) <- dizzy 13:34:35 That's the most probable reason. 13:34:46 for what? 13:35:16 not probably reason for me :( 13:35:17 Or one of the most probable reasons to go somewhere in the evening. 13:35:33 i was going to hlesinki by train, i was visiting my parents the weekend 13:35:59 Ah. 13:36:17 Yes. That's also one of above mentioned ones. 13:36:47 Or you were in guests. 13:37:20 Read: you visited someone. 13:37:49 i read that as you had guests 13:38:09 Sorry for my English. 13:39:16 It's "direct" translation. "To have guests" vs. "to be guest." 13:39:57 ...word-to-word... 14:04:56 --- quit: networm ("Client exiting") 14:49:37 --- join: Downer (~Pen@host213-122-178-23.in-addr.btopenworld.com) joined #forth 14:50:03 Dobryjj vecher, Downer! 14:50:38 ullo. 14:55:17 You have now learned enough about Forth to be dangerous. 14:55:17 --- quit: Downer (Read error: 104 (Connection reset by peer)) 14:55:30 phear meh 14:55:31 :p 14:55:53 "name that tutorial" 15:00:05 --- quit: warpzero ("Tried to warn you about Chino and Daddy Gee, but I can't seem to get to you through the U.S. Mail.") 15:03:28 * kc5tja starts the schematic capture for the ForthBox 1000 device. 15:03:33 (aka ForthBox Kestrel0 15:03:36 ) even 15:05:41 :) 15:05:51 Whoa. I just fried my 4th MOSFET in a few hours. I rock. 15:06:03 mosfet? 15:06:09 Transistors 15:06:12 ah 15:11:37 qFox: SF@mhx? 15:11:42 jvn? 15:14:09 no idea what that meant. 15:14:10 :) 15:14:32 tutorials! 15:14:35 oooh 15:14:41 negative 15:14:47 damn 15:14:52 :) 15:14:56 :) 15:15:21 how do i get the working directory? :) 15:15:58 pwd? 15:16:09 gtg bye bye 15:23:04 qfox: Metal-Oxide-Silicon Field Effect Transistor :-) 15:23:28 i liked robert's answer better ;) 15:23:35 at least i understood that 15:23:42 I'm just telling you what the acronym was. 15:23:54 your's makes it sound all colorish 15:23:55 :p 15:23:58 i know, tnx 15:25:14 --- quit: proteusguy (Read error: 60 (Operation timed out)) 15:27:01 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 15:33:16 --- quit: tathi ("leaving") 15:35:45 http://www.softsynth.com/pforth/pf_tut.htm , btw 15:40:08 qFox, that tutorial is pretty basic. You should read Moving Forth or Build Your Own Forth next. 15:40:18 link? 15:40:30 i was brushing up on where i left last time i started 15:40:45 http://www.zetetics.com/bj/papers/index.html 15:40:51 tnx 15:41:10 http://www.figuk.plus.com/byof.htm 15:43:23 Also, maybe start with this one first before you read those two: http://dec.bournemouth.ac.uk/forth/forth.html 16:14:51 And "Universal Answer" (one of): read the source! 16:19:35 OMFG 16:19:35 OMFG 16:19:36 OMFG 16:19:37 OMFG 16:19:42 Sun Monitors are fucking HEAVY 16:19:46 lol 16:20:29 they got these tiny, dinky little ultrasparc boxes 16:20:41 and then these HUGE fucking ton-wighing monotors 16:25:54 Now, throw those monitors out into the middle of the 405, and observe how much damage occurs. Monitor: N, Cars: 0, where N is some integer greater than or equal to 1. 16:25:57 :) 16:26:34 I believe Sun monitors were used as bullets in midieval ballistas to rout enemies on a regular basis. :) 16:27:15 must've been strong pistoleers 16:28:15 * kc5tja notes that anyone who has ever lifted an Amiga 500, the smallest of the Amiga family, will note it's *amazingly* heavy for its size. 16:28:30 Amen. 16:28:31 BUT, it survived a rolling fall down two flights of stairs, so go figure. 16:28:43 I challenge a modern PC to do the same. 16:28:46 Ha! 16:28:49 * blockhead winces 16:29:01 You've never tried to lift DWK-2! 16:29:53 I don't know whether it survive two flights of stairs fall. 16:30:29 I hardly believe you can lift it. 16:30:48 Moreover, anyone who has ever tried to take apart an Amiga 500 will remember the near death by a thousand sheet-metal cuts you got. :) 16:30:51 So you could drop. 16:31:11 The shielding was quite thick, quite stiff, and next to impossible to take off. But the computers were rather RF quiet. 16:32:06 kc5tja: hi ther 16:32:11 kc5tja: got a Sun computer 16:32:15 a.k.a. Forthbox :P 16:32:15 i was reading a forum today, and one of the posts involved destroying an hp computer 16:32:23 hi wossname 16:32:26 they used a pair of handguns to blow it to oblivion 16:32:28 ey arke 16:32:39 conclusion: seagate harddisks are tough mothers 16:32:55 they dent a bit, but do not break easy. i recommend you try it yourself 16:33:08 wossname: heh 16:33:19 wossname: got linux on a seagate in an UltraSparc I here... 16:33:22 fun stuff 16:33:42 booting linux right now :) 16:34:00 its an ancient version of redhat, so I get to compile gcc, glibc, X, KDE .... 16:34:12 on a 167mhz 128mb ultrasparc :) 16:34:26 but, at least its running linux, and not solaris (which is SSSSSSLLLLLLOOOOOOOOOOWWWWWWWWWWW) 16:34:46 sigh, our computing culture has long since achieved decadence. 16:35:12 * ayrnieu awaits the rubble. 16:35:23 Red Hat Linux release 6.2 (Zoot) 16:35:26 Hm. SunOS is not so slow as everyone tell. 16:35:27 * kc5tja agrees totally with ayrnieu with respect to that. 16:35:33 Kernel 2.2.14-5.0 on a sparc64 16:35:34 :) 16:36:10 ASau: well, if, on the same computer, it takes solaris 5 minutes to bring up X and linux 1, then yes, SunOS/Solaris is SLOW 16:36:11 I never heard that Linux beats SunOS on SPARCs. 16:36:18 ASau: it does! 16:36:26 ASau: even the slowest kernels do 16:37:14 I have indirect access to II- or III-based system. 16:37:30 If I don't forget, I'll ask. 16:37:41 theres benchmarks 16:37:46 forgot where though 16:37:58 also, I have physically located the Aikido dojo in my town. I'll go see them next month =) 16:38:13 :) 16:38:13 woah 16:38:15 wrong window 16:38:27 but this necessitates a topic change to accomodate this 16:38:34 --- topic: set to 'A channel dedicated to the Forth programming language, its implementation, its application, and its philosophy. And pie. | topic is now "aikido"' by wossname 16:39:06 BTW, what should "And pie." mean? 16:39:24 pie makes everything nicer? 16:39:39 pie is good :D 16:40:12 hi guys 16:40:27 Dobroe utro! 16:40:37 i don't belive you guys have seen my latest hack yet: slava.kicks-ass.org:8888/see.lhtml?sort 16:40:42 hey slava 16:40:47 hi 16:40:52 click those links :) 16:40:59 arke has seen it 16:41:56 nice 16:43:01 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 16:44:19 :) 16:44:53 slava.kicks-ass.org:8888/see.lhtml?httpd lets you see the entire source of the httpd 16:44:57 its only about a dozen words 16:44:58 (!) 16:45:05 ! 16:45:23 just 3 16:45:25 thats easy 16:45:26 actually i lied 16:45:26 :p 16:45:30 40 words :) 16:45:48 it used to be about 12 before i added a lot of bloat 16:47:29 :) 16:48:00 --- join: warpzero (~warpzero@dsl.142.mt.onewest.net) joined #forth 16:48:15 hey warpzero 16:49:10 hey hey hey 16:49:13 sdhit 16:49:15 what the hell 16:49:22 why can't i untar bzip2 :( 16:49:24 OK, I'm monsterously hungry. I'll be back in a bit. 16:49:25 and glibc 16:49:27 and gcc 16:49:30 io need that sdtuff 16:50:40 http://homepage.mac.com/dark3lf/.Public/train2.avi 16:51:10 will this make ppl throw up? 16:51:14 i mean.. :p 16:51:32 not that its working or anything 16:51:36 its the live shooting of the goatse pictyr\\ 16:51:52 ah 16:51:54 oki :p 16:51:56 nice 16:54:03 heh 16:54:07 that was close 16:55:40 btw, i was kidding, i have no idea what it is :) 16:59:08 --- quit: tathi ("leaving") 17:00:40 Wah! 17:01:03 I've realized how easy screen editor is written. 17:01:19 Fixed length lines forever! 17:01:20 +later, work 17:01:33 --- quit: arke (Read error: 54 (Connection reset by peer)) 17:04:09 --- quit: TreyB () 17:04:50 It seems I can do it in one screen... 17:05:18 ASau: I wrote a line-oriented block editor in precisely one block of source. :) 17:05:49 I've never bothered before... 17:08:43 Interesting, what's more effective: type in editor, primitive asm, I/O primitives and image saving or translate everything from plain text into blocks and append to existing image? 17:09:55 BTW, does Linux allow saving plain memory dump and run it another time? 17:10:37 No. 17:10:50 To do so would require the violation of memory protection. 17:10:56 brb -- cooking now. 17:10:58 Hm. 17:11:02 rules are meant to be broken. 17:11:04 It's very bad. 17:11:08 and so is linux. 17:11:29 Well, that's one reason why I'm making the ForthBox Raven eventually. Raven is designed to serve as my desktop machine. 17:11:48 under what os? 17:12:03 "Black Raven" for luck. :) 17:12:15 Some future version of BoxOS (the same basic OS that will appear in a more limited form in the Kestrel). 17:12:32 --- quit: wossname ("fulhack") 17:12:34 that might have sounded a bit foolish, but i mean, write a vm and boot a "normal" os on it? or write a new os/use existing forth os? if any... 17:12:52 are there any real usable forth os'es? 17:12:53 qFox: I don't understand your question. 17:12:56 well 17:12:58 * slava is looking forward to BoxOS 17:13:00 qFox: I'm writing one. 17:13:06 right, but are there any? 17:13:08 qFox - I used Enth/Flux for some time on a x86. 17:14:02 qFox: I'm not aware of any. As ayrnieu indicated, Enth/Flux is there, and so is ColorForth. But these really don't make a whole lot of sense for the PC because of the porting effort required to get them running, even on machines with 99% consistent hardware. 17:14:08 * ASau sings: "Chjoryjj voron. Chjornyjj voron. // Chto ty v'jo-o-o-o-sh'sja nado mno-ojj? // Ty doby-ychi-i ne dozhdjo-osh'sja. // Chjornyjj voron, ja ne tvojj." 17:14:15 Anyway, water's boiling, so I need to go finish cooking. 17:14:59 i would like to see a gui forth os, with a interpreter that allows me to use the os current dictionairy (opposed to a "clean" instance of the dictionairy) 17:15:12 perhaps thats a bit too much to ask for though :p 17:15:13 gui forth os++ 17:15:32 os++ meaning.. 17:15:33 slava, `rm -rf /` 17:15:46 qFox, C notation :) 17:15:48 The first association with "++" 17:15:50 oh 17:16:31 The famous Barmin's Patch. 17:16:33 be glad i didn't say (incf 'gui-forth-os) :-) 17:16:52 I don't know what's "incf". 17:16:58 lisp :) 17:17:21 Isn't it "inc"? 17:17:44 inc increments a number, incf increemtns a variable value 17:17:49 Ah. 17:17:50 ohwell, and while i'm dreaming, it would have full support for windows executables and run linux programs just as easy 17:18:12 Well. Lisp is much better than "C++". 17:19:15 qFox, when I recall Glibc, I recall Barmin's Patch too. 17:19:33 yea, except, that doesnt mean anything to me :\ 17:19:42 * qFox googles 17:19:58 neither does it to google... 17:20:16 Barmin's Patch (applicable as root only): 17:20:20 rm -rf / 17:20:23 oh right 17:20:30 not too familiar with linux 17:20:39 just basic 17:20:40 :) 17:20:47 Barmin recommended it for any UNIX. 17:20:55 i need a good complete icon set 17:20:58 Especially for SCO UNIX. 17:21:00 but then yes, thats what i meant :p 17:21:16 anyone have an iconset for me? 17:21:31 is that the official name btw? barmin's patch? because google cant find it quoted.. 17:31:03 http://dibr.nnov.ru/print_issue191100.html 17:31:16 Search for "X-RealName:" 17:32:16 i'll search for a rus>eng translator first... :\ 17:32:35 http://rambler.ru/dict/ruen/ 17:33:19 got it.. 17:33:20 oh 17:33:30 does that translate websites? 17:33:37 like babelfish 17:34:21 ... i cant read that, i have no clue what the chars represent :) 17:35:33 (babelfish was sufficient) 17:36:23 back 17:38:30 qFox: What you're asking for (GUI Forth OS with current vocabularies) is very possible. However, I'll only be providing the GUI part. I'm a fan of many overlays, so I won't (initially) be providing multiple vocabulary support. 17:38:52 However, I might add it later on, depending on whether or not I/O is a bottleneck. 17:39:22 well no i mean, i kind of asume that a normal user doesnt have access to the core dictionairy the OS uses for running 17:39:44 I think that they should 17:40:02 Just my personal preference. 17:40:26 qFox, one "whole-page" translator is mentioned of forth.org.ru 17:40:37 on forth.org.ru 17:40:39 There might be some words with duplicate names, of course; only the last defined of a given name is publically available of course. 17:41:23 and how do you see protection from user interference? 17:41:33 i mean, not so much securety as protection 17:41:42 from adding or replacing a vital word 17:41:49 or forgetting.. 17:41:52 "Universal Answer: Do Not Do It!" 17:42:00 That's not UNIX. 17:42:01 Forgetting is forbidden beyond a minimum fencepost address. 17:42:19 Beyond that, if the user wants to bork the system, I won't prevent him. 17:42:29 well there could be a switch, safety mode or something 17:42:37 And that's right. 17:42:44 Most of the Forth system will actually be loaded, as needed, from block source anyway. 17:42:46 so that the user knows he can try anything without endangering a reboot.. 17:42:53 kc5tja, why this fencepost? 17:43:06 qFox. How do you think everyone lived in DOS? 17:43:10 slava: So you don't FORGET FORGET itself, for instance, or the command interpreter. 17:43:12 ASau, dangerously :) 17:43:22 kc5tja, but a reboot will fix it :) 17:43:26 Nothing dangerous. 17:43:54 slava: No, but beyond a certain point, most of the system is written in assembly language, and forgetting into that range is inconvenient, to say the least. 17:44:24 When I work in DOS I can work as long as I want. 17:44:46 ASau> i know, but its a little different from running asm from the command line and altering the meaning of the ... gah i forgot the proper name 17:44:51 pop push etc 17:44:58 kc5tja, how can you forget anything if you don't have any word there? 17:45:18 ASau: The point is, there was a word there, and after forgetting it, there isn't. 17:45:25 REMEMBER :) 17:45:35 And, for the record, I don't have FORGET, MARKER, etc. 17:45:40 I have MARK, UNMARK, and EMPTY. 17:45:41 qFox, you have VOCABULARY 17:45:58 and DEFINITIONS 17:46:36 I can patch my dictionary so that I will be unable to use any "dangerous" word. 17:47:12 Hence, you're able to do the same. 17:48:54 ??? 17:51:31 I can create VOCABULARY and modify dictionary so, that I will see only this vocabulary and nothing else. 17:52:06 If I want use @ and ! after this, I have to redefine them. 17:53:14 Yes, but the point is that @ and ! are still in the binary image. 17:53:31 Yes, they are. 17:53:37 But you can't reach them. 17:53:39 What slava was talking about is when the HERE pointer actually, physicall, undeniably enters the raw Forth core image itself. 17:53:42 :) 17:53:52 physically, even 17:54:18 Sorry? 17:54:40 When you define new words you run into stacks first. 17:54:56 : foo ; 17:54:56 here . 17:54:58 : foo ; 17:54:59 here . 17:55:06 Note the second number is *larger* than the first. 17:55:08 FORGET foo 17:55:10 here . 17:55:12 FORGET foo 17:55:12 . 17:55:14 here . even 17:55:24 Note that the HERE pointer goes backwards in the dictionary. 17:55:31 Well, what happens if you FORGET @/ 17:55:38 FORGET @? even 17:55:49 * kc5tja isn't typing well right at the moment. 17:55:57 MSG # 2 dictionary full 17:56:06 What? 17:56:16 That makes no sense what-so-ever. 17:56:27 Why is the dictionary full? 17:56:43 MSG # 21 in protected dictionary 17:56:48 EXACTLY. 17:56:57 Slava was asking, *why* does the core dictionary have to be protected? 17:57:03 So you have lower and upper bounds. 17:57:46 Well, when you use FORGET, don't you look VLIST first? 17:57:55 No. 17:58:00 I know what words are defined. 17:58:08 I know when they're defined. 17:58:16 But that's not the point. 17:58:20 I give up. 17:58:32 Well, when I don't look there, I know what I do exactly. 17:59:03 BTW, I've experimented with ' IF NFA FENCE ! 17:59:10 FORGET IF works. 17:59:55 on a different note... how can i, if even possible, get a 300 200 px window (fullscreen is fine)? and what memmory range will it have? 17:59:59 How do you like it? 18:00:25 qFox. That depends on your system. 18:00:37 creating it? 18:00:39 What you write is what you get. 18:00:41 ASau: If your Forth's memory structure can be described with a single pointer entirely, then fine. My Forth will have multiple pointers into the dictionary (since it's multitasking). 18:01:02 kc5tja. That's not a problem. 18:01:19 kc5tja. My Forth can support multiple pointers. 18:01:45 qFox: Under BoxOS, you call a BoxOS word to associate a function key to your application. When that key is pressed, your application is told that it is the currently displayed application. As long as you have permission from BoxOS, you literally draw right into the video frame buffer itself. 18:01:45 kc5tja, co-op or pre-emptive multitasking? 18:02:00 kc5tja, do you handle overlapping windows of any sort? 18:02:11 slava: Cooperative to start with, but I'm expecting it to go preemptive not too many OS versions later. 18:02:22 kc5tja, pre-emptive for non-GUI tasks at least would be nice. 18:02:39 kc5tja, however pre-emptive GUI might be tricky. 18:02:41 slava, actually it does no matter. 18:02:47 slava: Not in the core image. I will (eventually) be implementing a clone of GEM for it, so that overlapping windows are possible, BUT, they'll still all be within the context of a single application screen. 18:03:10 ok 18:03:16 will an i386 port of boxos be fasable? 18:03:20 feasable* 18:03:34 slava: Applications will receive a list of visible sub-rectangles for their windows, so they know where to update the screen; preemption shouldn't be a problem except with buggy software. 18:03:43 http://boxos.sourceforge.net/ links to a non-existant website (404) and the page on sourceforge also has a js error... 18:04:10 slava: No. I can port it to *one* specific instance of the PC architecture, but that would have less than 1% chance of successfully running on another PC configuration (especially with different video card). 18:04:45 qFox: BoxOS will not be hosted on SF. SF can go suck big donkey balls as far as I'm concerned. They pissed me off for the last time. 18:05:02 tell google... http://boxos.sourceforge.net/home/ 18:05:06 works 18:05:17 kc5tja, fair enough 18:05:17 but if it wont work on intel then nvm .. 18:05:42 kc5tja: if I may ask, how did source forge piss you off? 18:05:43 qFox: even if it did, I would never use SourceForge. Ever. 18:06:20 blockhead: They ruined my CUT site's web content, even admitted to it being a misconfiguration of their server software as being the cause, but refused to take the responsibility to recover from their backups. 18:06:37 Granted, I should have had my own backups too. Which I didn't at the time. I was still building the first version of the site. 18:06:54 But still, if *I* were the administrator, I would have at least offered to restore individual sites. 18:07:27 ok. The reason I asked is they annoyed me too. Only mildly, but I took it as a warning sign and abandonded the project. 18:07:34 on their defense, they host a gazilion sites, restoring individual sites on request would probably consume more time then they care for.. 18:07:35 But no, they instead just sloughed me off as being some kind of inept system administrator "wanna be," who didn't know "what was involved," and proceeded to deride me thoroughly for even having the balls to offer the suggestion. 18:07:50 * qFox hides 18:07:54 qFox: Irrelavent. 18:08:13 They made a mistake that affected thousands of sites. They admitted the error. They did *nothing* to offer reparations. 18:08:23 fair enough 18:08:40 so boxos wont run on intel? 18:08:47 OOPS! I just rear-ended your car. I know, because I was doing 65MPH when it happened, and you were parked on the side of the road. But, too bad, you're on your own. Fuck off, and have a nice day. BYE!!!! 18:08:53 That's basically what happened. 18:08:58 * qFox understood. 18:08:59 kc5tja: between what happend to me, and what happend to you, I'll probably never use sourceforge again. 18:09:02 qFox: It can, but the porting effort is too much. 18:09:09 ok then i wont bother 18:09:18 * kc5tja doesn't have the resources to support an infinite number of hardware configurations. 18:09:19 * blockhead thanks kc5tja for the info. 18:09:46 which still leaves me with the question how to get to a gfx display in winforth, or a different windows implementation if i must 18:09:47 blockhead: No problem. 18:10:43 qFox: Good luck. Win32 API is hairy. You might want to try and find a way to interface the Windows port of SDL to your Forth environment and code through that. SDL is much, much simpler (more limited, to be sure, but most apps won't mind if you code them right). 18:10:57 I remember bigforth having fairly simple graphics support on win32 18:11:14 oh, but not 'gfx'. 18:11:18 well 18:11:22 True, and bigForth is based more or less on an independent GUI API, if I'm not mistaken, right? 18:11:37 just a 300 200 window where i can change pixels to my liking is good enough for now 18:11:49 fullscreen or otherwise, i dont care :) 18:12:19 get linux ,enable vesa framebuffer, mmap /dev/fb0 18:13:04 unless i get a seperate box to run linux on, i wont. at this point i dont have sufficient reason yet to run linux over windows 18:13:44 * ayrnieu remembers his 'reason': "Hey, I can MUD just easily from linux, right?" 18:13:54 mud.. 18:14:19 you guys make me feel so stupid sometimes :\ 18:14:28 windows? ew 18:15:34 bigforth's gui acts funny 18:15:42 jumps all over the screen 18:15:49 actually its console 18:15:50 qFox: Don't feel stupid. everyone has to start somewhere. Only difference is, today, computers have been boxed up and wrapped in countless layers of APIs and interfaces. Back when I was learning about this stuff, I could peek/poke directly into a video frame buffer, and the results were instantaneous. 18:16:11 * kc5tja hasn't used bigForth yet. Maybe I should try some day. :) 18:16:13 yea i know, that fact doesnt help it 18:16:56 qFox: That's part of the reason for making the Kestrel and the Raven: I want systems that are 100% open and immenantly hackable. 18:17:01 i wonder if there should be a redefinement of gui at some point.... like dos-looking gui, or windows-looking gui... 18:17:23 There should be no more than *one* interface between the programmer and any hardware resource, and said interface must be easily bypassable if need be. 18:17:43 qFox: I *love* GEM. However, I'll be fixing many of its bugs that were never fixed. 18:17:53 Like the "let's wait and see if he really meant a double-click" timeout. 18:17:59 hehe 18:18:08 This is why GEM is all-too-often labeled as being slow, when it really wasn't. 18:18:16 But all those 0.1 second delays add up, you know? 18:18:20 aye 18:18:23 GEM? 18:18:30 ayrnieu: Yep. 18:18:50 ayrnieu: Graphics Environment Manager, first available for the PC, then later to become the primary GUI component of the Atari ST. 18:20:09 GEM is a great little API, really flexible, and easy to use. But, GEM lacked the facility to supply event times, and thus, applications had to wait for the AES kernel to decide, based on the number of clicks in a 0.1s interval, whether it's a click, double-click, or a drag operation. 18:20:39 It was a *silly* limitation, and that's one of the things that should have been fixed at least with TOS 2.0, if not with GEM 2.0 for the PC. 18:20:45 But, to this day, that limitation survives. 18:20:59 00:00:00 --- log: started forth/04.02.29 18:20:59 00:01:46 Dobroe utro! 18:21:04 1929? :\ 18:21:27 (google popped it up) 18:22:07 Ha! 18:22:17 What time zone? 18:22:24 hell if i know 18:22:45 hm i guess it really is hard to get into such a display mode from forth under windows, if you're unfamiliar with the windows sdk... :( 18:22:59 ASau> http://tunes.org/~nef/logs/forth/04.02.29 18:23:59 It seems that difference is more than 7 hrs. 18:24:16 5:13 here. 18:24:25 3:24am 18:24:51 how can it be .13 18:24:58 I'm in 3rd t.z. 18:25:09 Nevermind. 18:25:17 It's _local_ time. 18:25:17 * kc5tja has 18:25 on his WWV-calibrated clock. 18:25:22 On this computer. 18:25:55 (it's funny, I have this silly digital clock that I purchased for something like $1.50, and it's accurate to within a minute per year. :D Pure coincidence.) 18:26:05 Well. I can add 10 minutes. Not a problem. 18:26:29 Well, the clock I have on my desk isn't *supposed* to be as accurate as an atomic clock. 18:26:38 :) 18:26:41 It just turned out that way. 18:26:45 neither is my computer 18:26:57 Oh, the clock on my computer is off by 10 minutes after only three months. 18:27:12 opcodes! 18:27:21 thats what i meant earlier... :p 18:27:39 5:26 now 18:28:26 25 26 27 28 30 27 27 27 27 25 27 26 28 22 27 27 28 26 27 18:29:11 I hope IRC server time is better approximation. 18:29:27 Sunday March 21 2004 -- 18:29:19 -08:00 18:29:37 (server) 18:30:09 http://www.worldtimeserver.com/ 18:31:35 hm 18:31:58 windows program: http://www.worldtimeserver.com/atomic-clock/ 18:32:27 ok, from when i did a few asm codes, i remember you set bx and call an int to get into a certain graphical mode under asm (dos) 18:32:27 it syncs your computers clock over the web. rather handy 18:32:44 if i do this in forth in CODE, .... will i have my result? :) 18:32:47 OK. I'm 1 min ahead. 18:32:51 Nice. 18:33:04 i mean, can anyone tell me either this will be a futile attempt? 18:33:27 When in DOS, yes. 18:33:34 windows.. 18:33:37 winforth 18:33:47 i dont think implementation will matter much here 18:33:47 Only in full screen mode. 18:33:57 m 18:33:58 mmmmm 18:34:11 Not even. 18:34:24 You have to *get* it to full-screen mode first, and that means learning how to use the DirectX APIs. 18:34:50 That is the problem with OSes in general, and BoxOS is no exception. 18:34:54 can you even do int calls from forth? 18:34:57 You always have to play by their rules. 18:35:04 I always get switching to full screen mode when use graphic DOS programs. 18:35:13 Automagically. 18:35:16 It's just that with Windows, there are APIs after APIs after APIs that you have to learn to even get anything beyond opening a file done. 18:36:13 qFox: Not anymore. The new Windows are all based on Windows NT. 18:36:22 qFox. I'm running my DOS (actually) Forth under Windows. Nothing unnatural. 18:36:25 xor di,di 18:36:25 mov ah,00h 18:36:25 mov al,13h 18:36:25 int 10h 18:36:42 hm actually the xor'ing wasnt part of it 18:37:09 kc5tja> hm when i did my asm i was in 98se... so xp wont even have int's? 18:37:28 time to switch to *nix y'all :) 18:37:32 not even in cmd 18:37:54 qFox: microsoft doesn't want anyone to use dos, even in windows :/ 18:38:04 well ms can ... 18:38:16 as far as ms is concerned i dont use windows. 18:38:33 qFox, freedos! 18:39:08 can someone give me a quick example of the CODE syntax? 18:39:16 : crash ( -- ) 18:39:17 code 18:39:17 mov ah,00h 18:39:17 mov al,13h 18:39:17 int 10h 18:39:17 ; 18:39:21 something tells me that wont work.. 18:39:48 from forth i mean :) 18:39:49 INLINE CODE INT10 OCTAL 270 C, HEX 13 , 10CD , NEXT 18:40:08 INT10 has switched to full screen mode. 18:41:02 Are you satisfied? 18:41:41 no :\ 18:41:48 Why? 18:41:50 how where what .... 18:41:58 winforth doesnt know inline 18:42:10 and i really have no idea where to use that line of code 18:42:21 Well, in my Forth. :) 18:42:27 right 18:42:37 You possibly don't need inline. 18:42:44 ... INLINE 18:42:48 Error: NEXT unconsumed operands 18:42:56 already wondered about that :p 18:42:59 qFox: If you're running a DOS application, it sets up a DOS virtual machine environment. 18:43:02 However, Windows != DOS. 18:43:21 i'm actually hoping it'll go for the vm 18:43:27 My NEXT inlines jumping to next word. 18:43:28 If you're coding for *native* Windows, it doesn't use interrupts for talking to the OS kernel. It uses DLLs, which you would just CALL to. 18:44:03 ASau> no effect here. no error nothing. pity 18:44:14 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 18:44:18 kc5tja> yes i guess there's no other way but the windows way... 18:44:26 which i dont know. gah 18:44:42 Take FIG Forth from Taygeta and ask me for details. 18:44:57 I'm able to demostrate this in FIG Forth. 18:45:12 under windows...? 18:45:21 Yes. Under Windows. 18:45:24 there must be a fig windows implementation 18:45:30 I'm currently running MT5 18:45:32 NT5 18:45:39 2k/xp 18:45:40 'night all 18:45:44 No get DOS version. 18:45:54 --- quit: blockhead ("Client Exiting") 18:45:56 yes but i mean nt5 = .. :) 18:46:29 I can test in Win4 18:46:34 no its ok 18:46:43 what implementation are you using? 18:46:48 The same effect I think. 18:47:01 You can use FIG Forth ver. 1.0 18:47:29 I'm able to tell you how you go. 18:48:35 ok i'm in pygmy 18:48:59 Sorry, I don't know how CODE is in Pygmy. 18:49:09 code = fig ... 18:49:14 i mean pygmy is fig 18:49:25 Well. 18:49:33 : CODE CREATE SMUDGE ; 18:49:44 : INLINE ; 18:50:00 heh 18:50:04 You should know where's inner interpreter entry point. 18:50:10 he doesnt know create :p 18:50:42 Take a real FIG Forth from Taygeta or SimTel. 18:51:07 oh taht was ... i misunderstood you 18:51:09 Pygmy is definitely not FIG Forth. 18:51:11 It's cmForth. 18:51:16 it said fig 18:51:18 :( 18:51:39 It's a clone of the cmForth that appeared for the Novix NC4000 CPU. 18:51:51 It has some words in common with FIG, but it's not FIG per se. 18:52:03 ftp://ftp.taygeta.com/pub/Forth/Compilers/native/dos/ 18:52:12 figforth8088.zip 18:52:18 heh i was actually just on that ftp 18:52:22 just in the wrong dir 18:52:29 oki 18:53:09 ok 18:53:39 case sensitive? 18:53:45 Yes. 18:53:50 right 18:54:06 ok done. 18:54:10 [03:49:33] : CODE CREATE SMUDGE ; 18:54:10 [03:49:43] : INLINE ; 18:54:51 : optimize-heavily ; 18:55:06 Why are C64 tunes so cool? Somebody tell me, DAMMIT! 18:55:31 qFox. Now let's find address for NEXT. 18:55:55 Dump several bytes from SP@ 18:56:20 ' SP@ DUP C@ . 1+ DUP C@ . 1+ DUP C@ . etc 18:56:35 --- join: hefner (~hefner@pool-151-196-19-248.balt.east.verizon.net) joined #forth 18:56:37 When you see E9 it's JMP opcode. 18:56:46 Dobroe utro, hefner! 18:56:57 Hi there 18:57:00 10 55 12 18:57:26 E-e-eh. Have you performed HEX ? 18:57:33 haha no 18:59:01 Well, look at ' LIT NFA 4 - C@ . 18:59:14 D 11 F 18:59:15 If it's AD it's NEXT. 18:59:36 35 18:59:51 madgarden: Because back then, game programmers and demo writers actually had talent? 18:59:52 s/4/5/ 19:00:08 e 19:00:46 kc5tja, :) 19:01:25 Dump several bytes before ' LIT NFA 19:01:32 oh 19:01:37 6-7 bytes 19:02:05 You should find the closest to ' LIT NFA AD byte. 19:02:20 AD is for LODSW. 19:02:54 kc5tja, actually, I wonder if the more creative types are drawn to the more abstract nature of C64-like games and music. The imagination is more inspired by it. 19:02:55 still returns E 19:03:03 SP@ DUP C@ . 1+ SP@ DUP C@ . 1+ SP@ DUP C@ . 1+ SP@ DUP C@ . 1+ SP@ DUP C@ . SP@ 19:03:03 53 11 F D B OK 19:03:03 DUP C@ . 1+ SP@ DUP C@ . 1+ SP@ DUP C@ . 8 7 5 OK 19:03:03 LIT NFA 5 - C@ . E OK 19:03:16 qFox, dump _several_ up to 8 bytes. 19:03:43 : DUMP DO I C@ . LOOP ; 19:03:50 thank you.. 19:04:05 ' LIT NFA DUP 8 - SWAP HEX DUMP 19:04:27 : DUMP DO I C@ . LOOP ; OK 19:04:27 DUMP 2 37 7 OK 19:04:27 ' LIT NFA DUP 8 - SWAP HEX DUMP 83 OK 19:04:41 You should find _address_ of AD byte. 19:05:06 ASau> i dont even know what exactly lit or nfa do 19:05:16 i'm just following your instructions 19:05:21 Well. 19:05:57 You have to find the first byte equal to AD before address returned by ' LIT NFA 19:06:13 You have to find _address_ of this byte. 19:06:25 to get to the first byte of the video memmory? 19:06:37 Oh, heaven! 19:06:45 It's LODSW op. code! 19:07:12 You have to find address of this command. 19:07:40 Otherwise you hang up your DOS. 19:08:18 Well. 19:08:25 Hanging up version. 19:08:44 I.e. returns to DOS immediately. 19:08:50 : CODE CREATE SMUDGE ; 19:09:08 correct 19:09:27 CODE TEST 8 BASE ! 270 C, HEX 13 , 10CD , 20CD , 19:09:45 TEST 19:10:23 madgarden: Yeah, maybe. 19:11:19 Maybe that's why 320x200 graphics with relatively few colors is still desirable for a lot of people. It's not about being picture-perfect; it's about conveying just enough information to make things worthwhile, and keeping resources low to do it. 19:11:27 I know for a fact, that's what I miss most. 19:12:22 You may switch to HEX at start and substitute octal 270 with B8. 19:12:25 ASau> by dumping bytes, you mean: SP@ DUP C@ . 1+ ... 19:12:26 right? 19:12:35 Yes. 19:13:06 and then how do i get the address you're asking for? 19:13:25 Well. 19:13:52 ' LIT NFA 1 - DUP C@ . 1 - DUP C@ . 1 - DUP C@ . ... 19:14:09 When you see AD print address: . 19:14:26 oh k 19:14:30 This should not be very far. 19:15:01 I've optimised this routine, so my distance differs. 19:15:22 I don't remember actual. 19:15:44 ok i've got AD 19:15:56 Have you got address of this byte? 19:16:17 hmmm was it ' . 19:16:18 ? 19:16:28 to get that adr i mean 19:16:40 It should be about 130--180 (hex). 19:16:43 Yes. 19:16:57 then i did something wrong, said b88 19:17:24 Hmmm. 19:17:29 i'll try again 19:17:35 Tell your ' LIT NFA . 19:19:34 oh 19:19:36 sorry 19:19:37 161 19:20:14 That means: HEX 161 C@ . gives us AD 19:20:17 Right? 19:21:10 no, 83 19:21:29 Tell your ' LIT NFA . 19:21:38 Ah! 19:21:38 161 19:21:44 Well. 19:22:00 3 is length of LIT string. 19:22:27 Now look 160 15f 15e etc bytes. 19:22:51 159 19:22:53 is AD 19:23:00 OK. 19:23:05 yay :) 19:23:08 i guess 19:23:11 kc5tja, and that's why I pester you about TV-out for the Forthbox. ;) 19:23:14 It seems you've found it. 19:23:37 Remember, that's your NEXT address. 19:23:44 for... 19:23:45 I always hated big chunky 320x240 *square* pixels on VGA monitors back in the day. I knew it just looked like crap compared to my C64. :) 19:23:58 what will take that as the next adress? 19:24:09 dict? 19:24:22 qFox, what did you just call me!?!? 19:24:26 No, it's entry point for inner interpreter. 19:24:30 oh ok 19:24:52 madgarden> uh... sir? 19:25:02 "dict" 19:25:03 :P 19:25:19 uhu, but that has no bad evilish meaning to me tbh :) 19:25:27 HEX : NEXT E9 C, 159 HERE 2+ - , ; 19:25:43 This word inlines JMP command. 19:25:49 ok 19:25:51 done 19:26:18 : CODE CREATE SMUDGE ; 19:26:46 * qFox nods 19:27:12 CODE TEST B8 C, HEX 13 , 10CD , NEXT 19:27:27 he accepted that 19:27:34 TEST 19:27:45 oooooh leet 19:28:06 Have you seen switching to full screen mode? 19:28:08 heh that looks so big ass on a 19" 19:28:09 yea 19:28:18 I'm colonel. 19:28:25 I've won this round. 19:28:28 hehe 19:28:38 Strategy game. 19:28:49 love it 19:29:08 Congratulations. 19:29:10 but can i call the pixels from this mode? 19:29:33 You've got acquainted with good ole FIG-Forth 1.0. 19:29:46 more like copy pasted :p 19:29:57 but ye, we said hi 19:30:00 Explanation follows. 19:30:11 i somewhat understood it 19:30:36 Each machine coded primitive does JMP 159 at its end. 19:31:14 Actually there're 3 additional entry points, but main is 159. 19:31:48 CODE creates a word which contains machine code. 19:32:06 You add HEX code by C, or , 19:32:26 At the end you have not to forget NEXT 19:32:36 Otherwise you hang up. 19:32:41 yea 19:33:09 That's how I program DOS API access etc. 19:33:50 Actually, this is useful: 19:33:51 0 CONSTANT AX 1 CONSTANT CX 19:33:52 2 CONSTANT DX 3 CONSTANT BX 19:33:52 4 CONSTANT SP 5 CONSTANT BP 19:33:53 6 CONSTANT SI 7 CONSTANT DI 19:34:18 : POP 58 + C, ; : PUSH 50 + C, ; 19:34:18 : POPF 9D C, ; : PUSHF 9C C, ; 19:34:38 OCTAL 19:34:39 : INC 100 + C, ; : DEC 110 + C, ; 19:34:39 : PUSH 120 + C, ; : POP 130 + C, ; 19:34:40 : XCHG 220 + C, ; ( XCHG AX REG ) 19:35:30 Other words are added when necessary. 19:35:44 ok, once in that mode, how do i access the individual pixels? 19:36:07 how do i aquire the memmory location for that? or is it like in asm? 19:36:08 You have to look into BIOS API (INT 10) 19:36:15 It's like in asm. 19:36:24 bh00 or something 19:36:26 i'll look it up 19:36:40 0a000h 19:36:48 Actually, you're programming like in asm but directly in HEX. 19:37:33 that 4 CONSTANT SP, what will that do? 19:37:41 I use words that load registers, call INT and save registers. 19:38:12 It's for not to recall which number corresponds to SP when you need register operand. 19:38:48 The words above defined help in writing such code: 19:39:20 INLINE CODE OPEN 19:39:20 AX POP DX POP HEX 3D FUNC AX PUSH ERROR? NEXT 19:40:04 oh ic 19:40:11 FUNC inlines "MOV AH, byte; INT 21" sequence. 19:40:41 ERROR? inlines "PUSHF AX POP 1 # AX AND AX PUSH" 19:41:06 It's not effective but I'm lazy. 19:41:18 So it's very effective. 19:41:26 Paradoxia. 19:41:51 can i safely change the segment pointer without affecting forth? 19:41:57 No. 19:42:00 or will i have to save the ... 19:42:01 ok 19:42:02 :) 19:42:07 Read the source. 19:42:21 You have full list of registers to preserve. 19:42:39 yea well wouldve been easier ;) you're not the only one lazy 19:42:47 SI, DI, BP and segment ones. 19:43:06 di bp too? 19:43:14 Yes. 19:43:21 hmmmm 19:43:22 SI is Forth IP. 19:43:26 i always xor'ed si 19:43:27 oh 19:43:28 DI is Forth UP. 19:43:34 BP is Forth RP. 19:43:47 thats to keep things simple huh 19:44:05 SP is SP. :) 19:45:32 BTW, in my system: ' LIT NFA . 12C OK 19:46:10 And NEXT is at 128 (HEX). 19:46:18 Feel the difference. 19:46:28 :) 19:46:45 That's why you searched this. 19:47:00 just one more thing 19:47:15 can you load forth files from that implementation? 19:47:27 No. 19:47:30 he doesnt seem to know fload 19:47:31 oh 19:47:34 ehr :( 19:47:45 You have to rewrite KEY and ?TERMINAL 19:48:04 thats beyond me for now 19:48:05 And do not to filter LF characters. 19:48:23 I can send you my version. 19:48:39 no thats ok, i kinda should go to bed 19:48:44 4:48am 19:48:54 Dobroe utro! 19:48:58 goodnight 19:48:59 :) 19:49:03 6:50 19:49:12 pm..? 19:49:15 am 19:49:18 right 19:49:23 then so should you :p 19:51:48 --- join: Mark4 (~Mark4@204.110.225.254) joined #forth 19:52:43 --- nick: Mark4 -> I440r 19:53:39 --- quit: qFox ("if at first you dont succeed, quit again") 19:55:49 Dobroe utro, I440r! 19:58:18 hi 20:16:58 --- quit: warpzero (Remote closed the connection) 20:17:36 --- join: warpzero (~warpzero@dsl.142.mt.onewest.net) joined #forth 20:19:55 re I440r 20:20:10 kc5!! 20:20:15 i was up north this weekend :) 20:36:42 * kc5tja nods 20:36:52 Someone (forgot who) was asking about you here. 20:37:00 sidney ? 20:37:09 No, phobos I think his name was. 20:37:26 aha 20:37:35 never heared of him that i remember :) 20:37:39 Well, I think I'm going to do the unthinkable with the ForthBox Kestrel. 20:38:00 the unthinkable ? 20:38:11 ill prolly drop out soon, im at a flying j and i purchased an hours worth heh 20:38:14 My CAD program is limited because it's the free version (but I love it all the same). So I'm going to produce the Kestrel as a series of smaller PCBs, all linked together through ribbon cable assemblies. 20:39:17 As I'm currently envisioning things, there will be a CPU board, an I/O board, a RAM board, and a ROM board. The ROM connector will conveniently be labeled "Cartridge Port". :) 20:39:28 hbeh 20:40:07 This is nice because then I can offer the ForthBox with two (or more) separate operating systems. 20:40:10 One is, of course, Forth. 20:40:36 The other will be a CP/M-like operating system for the Kestrel (some folks in the ham radio channel desired this more than the Forth OS). 20:40:55 cool! 20:41:16 AND, just like the Atari ST, it'll also have a GEM clone integrated into it. 20:41:36 However, in both CP/M and GEM, I'll be fixing some long-standing bugs. :) 20:41:55 ppl still use cpm ? 20:42:03 (The *TOP* of my list is GEM's insidious "Let's wait 0.1 seconds to see if that click is really a double-click or a drag operation" bug) 20:42:29 ouch 20:42:30 I440r: Lots of people still use CP/--er--MS-DOS today. 20:43:01 lol 20:43:09 kc5tja, CP/M and DOS differs much. 20:43:10 Yeah. GEM is, in all other respects, a very well made product. 20:43:26 ASau: Gimme a break. You can't tell the difference between CP/M and MS-DOS 1.0. 20:43:45 DR-DOS *is* CP/M-86, you did know that, right? 20:44:01 It was renamed to make it sound more appealing and competitive with MS-DOS. 20:44:03 lol 20:44:06 kc5tja. Hm. Do you think many use DOS 1.0 API? 20:44:17 they are related - thats for sure :) 20:44:20 ASau: For embedded environments, where DOS has a large hold in, yes. 20:44:53 kc5tja. I've never heard of this. Everyone uses DOS 2.0 API and not 1.0. 20:45:26 ASau: Even so, look at the DOS 2.0 API, and compare against the CP/M API. They are 100% identical, including the directory management functions (which were introduced with CP/M-86). 20:45:33 I don't know anyone who likes FCBs. 20:45:46 ugh no 20:45:50 fcb's are horrible 20:45:51 kc5tja. NO! 20:46:07 kc5tja. DOS 2.0 has file handles API. 20:46:17 ASau: SO DOES CP/M 86! 20:46:26 This is what I've been trying to tell you. 20:46:49 DR-DOS couldn't run MS-DOS applications unless it did! 20:46:52 Hmmm. I thought CP/M is completely FCB based... 20:47:00 what is FCB? 20:47:03 ASau: For the 8-bit 8080 and Z-80 computers, it is. 20:47:09 File Control Block. 20:47:45 ASau: For the later versions, such as CP/M-86 and CP/M-68K, they have handle-based APIs. In point of fact, the Atari ST's TOS (which is just CP/M-68K adapted to the ST hardware platform) *only* has file handles; no FCB API at all. 20:48:20 Where CP/M and DOS really differ is in the supplied toolset. 20:48:30 --- join: arke (~Chris@wbar8.lax1-4-11-099-104.dsl-verizon.net) joined #forth 20:48:39 CP/M comes with relatively few tools. A line editor here, a couple of file copy utilities there, and that's it. 20:49:01 MS-DOS, OTOH, comes with much more, including ANSI.SYS (a must-have, I might add). 20:49:45 From Gary Kildall himself, "Ask Bill [Gates] why the string output routines terminate with a dollar sign. He doesn't know. Only I know this." 20:50:03 I have to admit, though; I wish to know this too. 20:50:16 Dollar sign is such an . . . arbitrary character to terminate with. :) 20:50:40 And one which is used just enough to be annoying to deal with. 20:51:09 definetely 20:51:41 heh 20:51:46 --- join: hovil (~hovil@CommSecureAustPtyLtd.sb1.optus.net.au) joined #forth 20:51:49 so much easier to check for 0x00 on x86 too 20:51:53 and faster, more likely 20:54:28 yuck 20:54:30 they use a $ in memory? 20:55:24 yeah 20:55:27 Yep. 20:55:32 $ for string output termination 20:55:41 I think it had something to do with the PL/M compiler that CP/M was originally written in. 20:56:03 how so? 20:56:07 and why would it be that way? 20:56:24 Well, I'm *thinking*, but I can't be sure, that PL/M stored strings in memory without null-termination. 20:56:51 Since entering a NULL was inconvenient (or impossible? I don't know) in PL/M, he chose to use the least frequently used character he could think of: $ was it. 20:57:38 Remember also that keyboards back then didn't have 104 keys on them; you were *lucky* if you had 50 to 60 keys or so. 20:57:54 (Consider; the Sinclair ZX-80/81 had around 30 or so keys on them.) 20:58:03 Consequently, characters like ~ or ` weren't available. 20:59:04 thats still stupid --- they shoulda used pascal strings 20:59:08 It seems that GNU dd is modelled after CP/M's pio. 20:59:59 arke, have you ever used Hollerite's strings in Fortran? 21:00:05 this poor sparc is in Linux bootcamp :) 21:00:10 That's the hell. 21:00:18 ASau: no, never used Fortan. 21:00:21 how do they work? 21:00:24 Kildall made right solution. 21:00:44 13HHello, World! 21:01:13 3 wtf? 21:01:14 kc5tja, NUL is not printable. 21:01:16 wtf? 21:01:30 ASau: Right, which is why he needed a printable character to use in PL/M. 21:01:33 ASau: I hope thats the hex value, not literal characters 21:01:44 kc5tja: couldn 21:01:53 kc5tja: couldn't he have expressed 0 as a char? 21:02:14 arke: PL/M isn't C. You're restricted by the compiler. 21:02:21 arke, you see how string literals were in FORTRAN IV etc. 21:02:32 kc5tja: ... 21:02:39 kc5tja: couldn't you have done something like 21:02:53 declare a short unsigned int, set it to 0, then send that? 21:03:03 arke: Send it where? 21:03:11 We're talking about laying string literals into code. 21:03:16 a = "Hello world!"; 21:03:20 --- quit: I440r (Read error: 60 (Operation timed out)) 21:03:22 in C, a becomes a pointer to a string defined thusly: 21:03:37 db 'Hello world!',0 <-- note terminating NUL is *embedded* in string 21:03:39 "Hello, World!", 0x00 21:03:44 yeah 21:03:49 he coulda done that somehow 21:03:50 Another way to write this in C is to do it manually: 21:03:54 DCL LITERAL A='Hello, World!$'; (IIRC) 21:04:02 a = "Hello world!\x00"; 21:04:24 However, PL/M *is* *not* *C*. I'm *guessing* that PL/M did *NOT* let you escape literal characters like that. 21:04:32 Hence, he had *no* way to terminate his strings. 21:04:43 Unless, that is, he used a character with low usage frequencies. 21:04:55 See ASau's example above. 21:05:33 he still coulda done them pascal 21:05:34 :) 21:05:35 Oh, and by the way, there is a good reason why PL/M and its big brother, PL/1, aren't used anymore. :D 21:05:45 arke. HOW?! 21:05:53 arke: Pascal didn't even leave the classroom when CP/M was first written. 21:06:00 See Hollerite's strings. 21:06:19 man, wtf, the X compilation has been doing nothing but "entering directory ... nothing to be done here ... leaving directory" for 20 minutes or such 21:06:33 arke: Welcome to X11 hell. 21:06:36 ASau: a little bit of manual intervention :) 21:06:40 kc5tja: heh, yeah :( 21:06:54 kc5tja: I'm soooo getting Y Windows 21:07:26 arke. That's why Hollerite's strings are met only and exclusively in very old sources. 21:07:28 Y Windows? 21:07:36 ok, and now it just switched to page after page after page of rm -rf 21:07:41 kc5tja: yeah, google for it. 21:08:23 arke. 'Cause it's very annoying to count all these characters. 21:08:56 then he shouldn't have written it in PL/M 21:08:57 :) 21:09:23 Suggest your own p.l. with small compiler. 21:09:43 what does PL stand for? :P 21:09:50 arke: It stands for Forth. :) 21:09:53 Programming language. 21:10:05 ASau: Forth./ 21:10:08 ASau: :) 21:10:12 ASau: or, assembly, or, C 21:10:36 PL/M is for any microcontroller/microcomputer. 21:10:40 C is huge. 21:10:56 Assembly is not portable. Not high level. 21:11:27 Forth is not compiler, threaded code only. 21:11:55 --- quit: arke (Read error: 104 (Connection reset by peer)) 21:12:01 Very true. PL/M reminds me of the E language for the Amiga. E let you define subroutines like C defines functions, but if you wanted to, you could easily force parameters (and even results) to be in certain CPU registers. Made for some amazingly compact programs (and damn fast too -- no freaking stack juggling to deal with) 21:12:02 --- join: arke_ (~Chris@wbar8.lax1-4-11-099-104.dsl-verizon.net) joined #forth 21:12:42 ASau: I disagree with that. Modern Forth systems do compile. I have an x86 FTS/Forth cross compiler in fact. It generates static ELF executables for the 80x86 platform under Linux. 21:12:42 ASau: well, then it shoulda bee forth :) 21:12:59 kc5tja, there're even ENABLE and DISABLE operators in PL/M. 21:13:16 ASau: Not sure what those were for. Conditional compilation? 21:13:18 kc5tja, you say _modern_. 21:13:37 ASau: I say modern, but the point is that it could have been done years/decades ago. 21:13:41 Recall when CP/M was written first. 21:13:56 kc5tja, interrupts. 21:14:21 Ahh. 21:14:49 PL/M is very specific PL/I dialect. 21:14:56 --- quit: warpzero (Remote closed the connection) 21:15:01 Especially for muC's. 21:15:14 Is it PL/I? I thought it was PL/1. Oh well. 21:15:28 Nevermind. 21:15:35 ??? 21:15:36 I can't say exactly. 21:15:40 got me all confured :) 21:15:50 arke_: We're basking in our memories. :) 21:16:07 * kc5tja would like to get a copy of the PL/M language specification, just to see how difficult it is to implement. 21:16:34 I don't think there exists one. 21:16:47 There was only one PL/I. 21:17:11 Others PL's were nonstandard, AFAIR. 21:17:21 --- join: warpzero (~warpzero@dsl.142.mt.onewest.net) joined #forth 21:17:34 hmmm...pity. 21:17:49 * kc5tja might consider writing an Oberon compiler (note: not environment!) for the 65816 for use on the Kestrel. 21:17:53 I may mistake. 21:18:45 arke_: ref Y Windows: The project looks interesting; however, he's just got to get rid of that insideously obnoxious mouse pointer. :D 21:18:51 kc5tja. You can go to dmoz pages and dig into PL/I category. 21:19:38 kc5tja. Or one for CP/M. 21:20:33 BTW. PL/M used $ in unusual (for today) way. 21:20:42 --- quit: Herkamire ("leaving") 21:21:10 ASDF$QWER, ASDFQWER and A$S$D$F$Q$W$E$R$ are the same identifier. 21:22:05 ?????????????/ 21:22:15 --- nick: arke_ -> arke 21:22:38 You can't write: DCL AA=1, A$A=2; 21:23:02 AA and A$A is one identifier. 21:23:16 AA, to be precise. 21:23:58 ...?? 21:23:58 That's like FORTRAN's: ASDF and AS DF 21:24:10 WHY THE HELL WOULD A SANE PERSON WANT TO DO THAT? 21:24:25 You're allowed to insert blanks into identifier. 21:24:56 winmx if the song is popular (you can download same song from multiple people simontaneously) , soulseek if its rare 21:24:56 I get my mp3s from the store.. it's pretty nice, they already have them burned on CD and they come with cases and booklets. 21:24:56 maddox: where? 21:25:01 I've seen that in the past; I thought that $ was a valid identifier character, like it was in assembly listings. 21:25:35 I didn't know that it was ignored. 21:25:38 It is not in PL/M. 21:25:52 It's ignored. 21:27:04 And, BTW, I may mistake in my examples. 21:27:37 I can't recall PL/M differences from PL/I in defaults and type names. 21:28:55 I can't even recall exactly if it's allowed to write concise "DCL" instead of "DECLARE". 21:31:50 Oh, that I don't know. 21:32:13 All I've ever seen in PL/M code is DECLARE. Which seems odd to me, since being in 16-bit restricted address spaces, I'd suspect that DCL is more preferable. :) 21:32:38 Maybe it's not allowed. 21:33:18 I.e. you have to write full form DECLARE. 21:47:23 Interesting comparison between C and PL/I. 21:47:39 PL/I is better. 21:47:42 (It is "PL-One", but it's written as roman numerals, as I've just learned) 21:47:51 yeah, that's basically what the comparison is leading up to. 21:47:58 http://www.uni-muenster.de/ZIV/Mitarbeiter/EberhardSturm/PL1andC.html 21:49:47 PL/I looks like an ideal language to base a hardware description language on. 21:50:21 IF THEN=ELSE; THEN IF=THEN; ELSE THEN=IF; 21:50:46 Valid PL/I operator. 21:51:53 You even do not need to declare IF, THEN and ELSE variables. 21:52:36 I've seen it written this way: IF IF THEN THEN ELSE ELSE. :) 21:54:17 http://wza.us/greenEscreen.png 21:55:21 It looks pretty good: 123212321 21:55:33 --- quit: fridge (orwell.freenode.net irc.freenode.net) 21:57:20 Correction: strings are written as DCL A CHAR INIT('xxxx'); 21:58:58 --- join: fridge (~fridge@dsl-203-33-165-6.NSW.netspace.net.au) joined #forth 22:01:31 Apparently, modern versions of PL/I support NULL-terminated strings with the VARYINGZ attribute. 22:01:48 And if you use VARYING (no Z at the end), then strings can even have NUL characters *inside* them. 22:02:21 So i'm thinking something like this: DCL HW CHAR INIT('Hello world!') VARYINGZ 22:02:38 Doggone it, where was *that* when Gary wrote CP/M? :-) 22:02:50 :) 22:02:54 kc5tja: NO NOSES ON SMILEYS 22:04:10 kc5tja, it's not PL/M. It's PL/I. 22:04:17 It's much more complex. 22:04:34 With all consequences. 22:05:05 --- quit: arke ("Leaving") 22:06:03 Well, VARYINGZ is easy enough to apply to PL/M too. 22:06:07 I'd think, at least. 22:06:14 But so far, i'm really liking what I see in PL/I. 22:06:23 There are a couple of things I'd personally do differently, though. 22:07:05 --- join: Serg (~z@212.34.52.142) joined #forth 22:09:42 Dobroe utro, Serg! 22:10:16 kc5tja. You can try to implement subset of PL/I. 22:10:48 There should be sources for XPL. 22:11:56 hi 22:12:12 How's your leaking traffic? 22:12:19 Still leaks? 22:13:57 Well, after looking at what I've seen so far, I have to wonder if PL/I has a formal specification at all. :-) 22:14:21 AFAIR, it's not BNF. 22:14:30 There should be IBM standard. 22:14:48 "Made in IBM." 22:15:35 kc5tja. Look at Algol-68. 22:15:52 It is also good language. 22:16:13 ASau: here at work it is perfectly sealed by firewall 22:16:23 at home, i gonna seal it by iptables 22:16:42 ASau: I've seen it in the past. I am a fan of Oberon, as far as Algol-derived languages go. 22:17:42 As for later algoloids, I prefer Algol-68 or Ada. 22:18:26 Algol-68 is wonderful. 22:20:24 --- quit: Sonarman (Read error: 104 (Connection reset by peer)) 22:29:09 I'm still not 100% sure how PL/I handles dynamic memory allocation though. 22:29:18 The ALLOCATE keyword appears to serve the function of malloc() in C. 22:29:32 However, it builds a stack of objects, not independent ones. 22:29:34 --- join: Sonarman (1000@adsl-64-169-95-223.dsl.snfc21.pacbell.net) joined #forth 22:29:39 So I'm a bit confused by what I've seen so far. 22:30:48 When you have CONTROLLED memory type, you build stack of objects. 22:31:07 When you have BASED memory type, you have heap of objects. 22:31:41 You may restrict yourself not to use BASED. 22:32:36 --- quit: Sonarman (Client Quit) 22:35:14 Oh, OK, I forgot about that. 22:35:27 So ALLOCATE-ing a BASED variable will create a whole new instance of a variable. 22:35:39 That's very Pascalish/Oberonish. I like that approach a lot. 22:35:53 (in fact, that's one of my all-time favorite features of Oberon) 22:39:10 Yes. ALLOCATE-ing BASED variable in PL/I is new-ing reference in Pascal. 22:39:20 Or Ada. 22:40:06 But working with CONTROLLED memory is faster. 22:41:56 Yeah, definitely. I can immediately see the benefit of a CONTROLLED variable. 22:42:02 That's really, really nice that it offers that. 22:42:22 The PL/I code I've seen in the past has been really basic compared to what is actually possible with it. 22:42:56 I can see why Gary Kildall preferred PL/M for his coding work. 22:44:46 BTW, there was one good algoloid p.l. called RTL/2. 22:45:44 AFAIK, UK military standard. 22:46:02 For embedded r.-t. systems. 23:18:41 --- join: MrReach (~spam@209.181.43.190) joined #forth 23:19:21 --- part: MrReach left #forth 23:25:06 --- join: Mark4 (~Mark4@64.3.99.130.ptr.us.xo.net) joined #forth 23:25:14 kc5 u arround ? 23:30:30 --- nick: Mark4 -> I440r 23:39:54 Yep 23:40:17 cool 23:40:33 is it possible to redirect the serial port in dos to stdin of a program ? 23:40:37 Though not necessarily for very long. 23:40:42 I have college to go to tomorrow. 23:41:07 Not without a TSR of some kind, and that is assuming that the software doesn't use BIOS or touch hardware directly. 23:41:24 ok. then a fossil will be required then 23:41:37 Setting up a BBS? 23:41:42 no 23:41:44 lol 23:41:58 difficult to explain 23:59:59 --- log: ended forth/04.03.21