00:00:00 --- log: started forth/04.11.28 00:58:34 --- join: Serg[GPRS]_ (~z@193.201.231.126) joined #forth 01:00:01 --- quit: Serg[GPRS]_ (Client Quit) 01:16:45 --- quit: ASau_ (Read error: 110 (Connection timed out)) 01:30:14 --- quit: cmeme ("Client terminated by server") 01:30:34 --- join: cmeme (~cmeme@216.184.11.2) joined #forth 01:30:46 --- quit: warpzero (Excess Flood) 01:31:31 --- join: warpzero (~warpzero@dsl.103.mt.onewest.net) joined #forth 01:39:38 --- join: qFox (C00K13S@82-169-140-229-mx.xdsl.tiscali.nl) joined #forth 02:16:31 --- quit: Frek () 02:17:16 --- join: Frek (~anvil@h229n2fls31o815.telia.com) joined #forth 02:18:42 --- nick: Frek -> fca 03:32:12 --- join: crc (crc@0-1pool228-30.nas19.philadelphia1.pa.us.da.qwest.net) joined #forth 05:49:04 --- join: Eggbert (eggy@user-1121vpa.dsl.mindspring.com) joined #forth 06:31:00 --- part: crc left #forth 06:44:01 --- join: ZabaQ (1000@30.120-84-212.ippool.ndo.com) joined #forth 06:44:28 --- part: ZabaQ left #forth 08:49:11 --- quit: warpzero (Read error: 110 (Connection timed out)) 08:50:05 --- join: allefant (~root@L0632P28.dipool.highway.telekom.at) joined #forth 09:28:08 --- quit: wossname (Ping timeout: 14400 seconds) 09:52:34 --- join: crc (crc@0-1pool32-60.nas34.philadelphia1.pa.us.da.qwest.net) joined #forth 09:56:30 RetroForth/Windows now has a working demo using OpenGL :-) 09:57:47 Yay! 09:58:44 Once I install Linux again, I should be able to do a demo for Linux users too 10:00:26 --- quit: allefant ("Client exiting") 10:07:44 --- quit: fca () 10:32:59 --- join: Sonarman (~matt@adsl-64-160-165-126.dsl.snfc21.pacbell.net) joined #forth 10:40:41 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 10:48:56 One thing I've been thinking about when reading about all the different caching issues on x86, is if there's any other reason to manage this caching implicitly instead of requiring the code to explicitly load data into cache, than to keep backwards compatibility. Any ideas? 10:49:48 nope 10:52:17 Err...you don't want code to have to explicitly load data into the caches, I think. 10:52:59 Why? 10:53:00 Because cache sizes etc. tend to be very processor-specific, so you don't want applications to even know about it. 10:53:48 Well, obviously only inner loop optimizers and compiler constructors would deal with this. 10:54:12 But the compiler can't deal with it. 10:54:18 And I did exclude the compatibility reasons. 10:54:28 yeah, ok. 10:54:35 But that's an ENORMOUS exclusion. 10:54:41 it's not just "backwards compatibility" 10:54:51 Yeah, I admit I didn't think of that. 10:54:52 it's backwards, forwards, and clone compatibility. 10:55:10 I was just asking for OTHER reasons. 10:55:16 On the other hand, I have the impression that x86 does do a lot of stuff that it doesn't need to. 10:55:34 RISC processors generally seem to require more explicit cache manipulation. 10:56:02 For instance, I'm pretty sure that x86 does cache snooping. 10:56:10 Which is? 10:56:36 For self-modifying code. 10:56:47 Separate instruction/data caches. 10:57:05 Mmm...self-modifying code. 10:57:07 But there's logic built into the instruction cache to check the data cache to see if you modified some of the code. 10:57:30 well...writing code to memory, period (with split caches) 10:58:00 Which, as I understand it, is why putting code/data in the same memory is slow. 10:58:20 The processor has to be constantly cross-checking to make sure you didn't modify some of the memory it's trying to execute from. 10:58:31 So you lose the benefits of having separate caches. 10:58:42 Sounds terribly complicated. 10:58:54 Yeah. 10:58:59 Wouldn't making some things explicit reduce this complexity and free some transistors for better purposes? 10:59:06 Oh, definitely. 10:59:27 On PPC if you write code to memory, you have to flush it out of the data cache and invalidate the instruction cache lines before you can run it. 11:00:08 On Linux that's part of what the mprotect syscall does (assuming you're setting the execute bit). 11:00:25 OK, I've never been coding for the PPC 11:01:05 Yeah, I think that in general RISC processors make things much more explicit. 11:02:13 I almost feel sorry for x86, has to be compatible with CPUs almost back to the 4004 11:03:20 Well, if the software companies (i.e. Microsoft) were willing to put in the effort, they could change that. 11:03:47 Apple did it. 11:04:13 Of course, the Macintosh has always been a much more closed platform, which certainly helps. 11:04:43 Microsoft would probably have to break substantially more software in a move. 11:04:50 What?! Then I won't be able to play Commander Keen on my new computer! 11:05:34 Robert: you still have a copy of that? 11:05:54 Somewhere, yes. 11:05:56 Yeah...Apple had enough of a speed jump from the 68K to the PPC that they could emulate the old hardware at the same speed, or nearly. 11:05:58 * crc hasn't played that game since he used a 386... 11:06:07 And of Chuck Yeager's Advanced Flight Simulator 2.0 from 1989. 11:06:16 cool 11:06:19 tathi: Heh, cool :) 11:06:26 I have some old DOS games on floppies around too. 11:06:41 At least one of the Commander Keen series, I think. 11:06:50 Of course, I don't have a computer I can run those on... :) 11:06:57 I have nearly 500 5.25" disks containing DOS software 11:07:05 I got like 1000 5.25" floppies for various computers, with games and...my old school's entire archive from the 80s 11:07:10 tathi: Use BOCHS :-) 11:08:15 crc: oh right. Still haven't gotten around to trying that. 11:08:23 hmm...I don't have a floppy drive though. 11:08:36 I suppose I could get someone to copy them off for me. 11:08:40 I recently tried the Bochs debugger for the first time. 11:08:47 Really helps when debugging things.. 11:08:52 have them make disk images :-) 11:09:05 No floppy drive? 11:09:09 * crc uses Bochs to test RetroForth/Native 11:09:12 Is your computer very modern or very old? 11:10:01 Robert: fairly modern. Apple, in one of their more stupid moves, stopped putting floppy drives in their boxes. 11:10:05 Mine is from about 2001. 11:10:46 Ah, OK. 11:10:58 * Robert pats his P200 from..well..before 2001. 11:11:02 :) 11:11:14 2001 is SUCH a computer-friendly year. 11:11:26 I figured I'd buy a new computer once, write my own OS for it, and then never replace it :) 11:12:31 Good idea. 11:13:02 If you use only discrete transistors for it, I'll give you an extra geek point. 11:14:02 :) 11:14:40 Well, once we get to where I can use herkforth instead of Linux, I'll start thinking about designing a computer :) 11:24:11 Do you know much about digital design? 11:24:16 * Robert knows very little. 11:24:44 * crc built a 4-bit ALU out of relays once... 11:25:12 no, not much. 11:25:22 crc: Oh, fun. 11:25:30 crc: :) 11:25:34 crc: Clock speed? ;) 11:25:38 I built a 2-bit one out of transistors 11:25:46 Robert: VERY SLOW 11:25:47 And, uhm... power consumption? 11:26:02 Hehe 11:26:03 It ate two 9V batteries in ten minutes :-) 11:26:23 You run relay computers from batteries? 11:26:30 I did back then 11:26:45 Did the doctors fix you since? 11:26:47 Batteries are cheap for me :-) 11:26:53 --- quit: skylan (No route to host) 11:27:15 How about relays? They aren't exactly free. 11:27:17 * crc works in an electrical supply center. = cost + 5-10% :-) 11:27:39 I ripped them out of old electronic kits that friends had too 11:27:55 Nasty piece of junk, but it could add and subtract fairly well. 11:30:38 Hehe, cool 11:31:43 I remember designing one of those (relay adder/subtractor) when I was younger, but I didn't have any relays. 11:31:55 :-) 11:32:13 Probably would have been too impatient, anyway. 11:32:14 I want to get a cheap FPGA board to play with 11:34:04 * tathi too (eventually) 11:34:37 Before that, I'll get a lot of nails, wire, BJTs and diodes. 11:34:54 IRCing from a home-made computer is something I don't want to miss out on. 11:35:30 lol 11:36:12 You want to make sure you fully appreciate the experience, huh? 11:36:41 Yes! 11:37:54 That would also open an entirely new dimension when it comes to complaning on IRC. I could tell people that real men debug with soldering irons, or that "I really don't trust Intel". 11:43:56 :) 11:44:25 http://paste.lisp.org/display/4010 -- the code for the OpenGL demo (also read the annotation for details on the glfw.dll that's used) 12:00:16 Robert: :) 12:00:27 Robert: the IRC client could be soldered in hardware. No joke. :) 12:00:36 Robert: thats the kind of masochism you like, eh? :) 12:02:32 I said I want to punish myself, but I'm not suicidal 12:11:32 --- join: thinfu (thin@bespin.org) joined #forth 12:11:47 --- part: thinfu left #forth 12:59:36 --- join: saon (Ecoder@c-24-129-95-254.se.client2.attbi.com) joined #forth 13:44:20 --- quit: saon ("Leaving") 13:55:15 --- join: TheBlueWizard (TheBlueWiz@modem-134.nyc-tc04a.FCC.NET) joined #forth 13:59:54 hmm... 14:00:10 * tathi wonders if his code isn't working because of some herkforth quirk that he doesn't know about yet 14:02:49 --- join: saon (~Ecoder@c-24-129-95-254.se.client2.attbi.com) joined #forth 14:03:50 hello all 14:04:10 Hi saon 14:04:25 does anybody know the minimum specs required to run RetroForth as a native OS? 14:04:56 2MB RAM, 80386, a floppy drive 14:04:58 :-) 14:05:13 keyboard, textmode capable video card 14:05:33 hard drive support is still in beta! (e.g., use with caution) 14:05:50 i think imma install that on this old 386 i have laying around then 14:06:14 i've got minix on it right now, but, i think it'd be fun to have a ForthOS type of thing running on it 14:07:09 7.6 (coming in a month or so) has a lot of bug fixes, so don't be too worried if the current one doesn't work properly yet 14:07:20 hrmm, okay 14:07:39 thanks for the help crc! :) 14:09:32 np 14:09:37 --- join: SDO (~Super@67-23-111-213.clspco.adelphia.net) joined #forth 14:09:45 any questions, please email me; I'll try to help. 14:09:55 * crc is the developer of RetroForth btw 14:11:16 --- quit: saon ("Leaving") 14:11:17 whereis RF 14:11:37 http://www.retroforth.org/ 14:11:41 nice google, down boy 14:12:40 Aha. My code wasn't working 'cause I'm not paying attention. :) 14:17:40 crc, got the rf, and fasm, installed and presto, 3 4 + . does produce 7 14:18:19 SDO, that's a good thing 14:19:05 Try 'macro words' and 'forth words' and '.version' :-) 14:19:52 --- join: thinfu (thin@bespin.org) joined #forth 14:20:03 --- part: thinfu left #forth 14:25:50 --- join: slava (~slava@CPE00096ba44261-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 14:27:42 todd@tbird:~/Downloads$ rf 14:27:43 macro words 14:27:43 s" ['] 1- 1+ | ( then >if if r> >r m: f: until again repeat : literal ; ;; [ does> forth words 14:27:43 .version version# $, ." " s0 | zt-free zt-make words >pad clear del tab space cr << 0; fill alias execute ' columns lines 2swap 2over chars char+ cells cell+ align allot pad */ /mod octal binary decimal hex +! 2drop 2dup tuck over -rot rot here constant variable, variable mod / - negate * + c! c@ ! @ not >> xor or and nip dup drop swap base d0 h0 last cmove reset parse type . macro forth : compile ] (create) create 3, 2, 1, , eval >number fin 14:27:44 d mfind syscall bye key emit .version 14:27:46 RetroForth 7.5.1 14:27:50 seems to be ok with me. 14:27:56 looks pretty healthy. 14:28:02 not bloated, just well fed. 14:28:16 The new version is smaller ;-) 14:28:32 now if I could simply remember something about forth other than RPN and 3 4 + . 14:28:40 like how to think in forth. 14:28:43 * slava looks at the message near the end of factor's bootstrap: 2193 words 14:29:10 * SDO begins to download the Morphix distro so he can play with GNUstep yet one more time, and get SenseTalk working for it, the ultimate scripting engrish-like language 14:30:32 slava, that's over 2,000 words more thhan retroforth 14:38:32 crc, unit tests are vital 14:39:11 tests don't have to be built in :-) 14:41:20 no, i meant to make sure those 2000 words work :) 14:41:29 ahh, I see 14:41:46 * crc can test his words by hand if the need arose 14:45:15 --- quit: crc (Read error: 104 (Connection reset by peer)) 14:50:46 --- quit: TheBlueWizard (Nick collision from services.) 14:51:27 --- join: TheBlueWizard (TheBlueWiz@modem-146.nyc-tc03b.FCC.NET) joined #forth 15:00:07 --- quit: TheBlueWizard (Nick collision from services.) 15:00:47 --- join: TheBlueWizard (TheBlueWiz@modem-135.nyc-tc03b.fcc.net) joined #forth 15:27:09 --- join: Zymurgy (zymurgy@NorthBay-ppp108937.sympatico.ca) joined #forth 15:44:55 is there a word for parse that takes a string as input, instead of using the TIB? 16:06:20 --- part: TheBlueWizard left #forth 16:07:53 --- quit: qFox ("this quit is sponsored by somebody!") 16:13:07 --- join: warpzero (~warpzero@dsl.103.mt.onewest.net) joined #forth 16:14:55 Hi 16:33:49 Hi.Hi. 16:35:26 HAI@$£#! HOWRU 16:36:45 IM FYNE AND U 16:37:53 I SI TEH HAI @ LOL 16:38:36 ROFL U R SO SILLY WIT DA HAI AN DA BAI 16:48:25 arke, wanna see some nice code shortening? 16:48:33 slava: sure. 16:48:33 http://paste.lisp.org/display/4015 16:48:53 i'm factoring out my crappy OOP stuff into a common place, not a lot of stuff is shorter like this 16:49:26 slava: good boy 16:49:47 heh :) 16:50:23 :) 16:56:47 --- join: crc (crc@0-1pool40-153.nas36.philadelphia1.pa.us.da.qwest.net) joined #forth 16:56:57 Hi crc 16:57:05 Hi Robert 16:57:31 hi crc 16:57:33 :) 16:57:37 Hi arke 17:10:30 --- part: slava left #forth 17:27:21 --- join: madgarden_ (~madgarden@Ottawa-HSE-ppp4082712.sympatico.ca) joined #forth 17:27:22 --- quit: madgarden (Read error: 104 (Connection reset by peer)) 17:51:56 --- quit: tathi ("booting herkforth...") 18:15:25 --- join: saon (~Ecoder@c-24-129-95-254.se.client2.attbi.com) joined #forth 18:43:16 --- nick: raystm22_ -> Raystm22 18:43:29 Hi Ray and saon 18:43:43 --- quit: Eggbert () 18:44:27 hello robert 18:53:38 --- nick: Raystm22 -> raystm22_ 18:59:51 --- quit: saon ("bed time") 19:04:21 --- quit: crc ("" Time for bed... Goodnight!" type cr bye") 20:03:37 --- join: imaginator (~George@georgeps.dsl.xmission.com) joined #forth 22:29:17 --- quit: Sonarman ("leaving") 23:59:59 --- log: ended forth/04.11.28