00:00:00 --- log: started forth/04.03.11 01:01:34 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 01:47:49 --- quit: Serg () 02:02:29 --- part: imaginator left #forth 02:02:29 --- quit: ASau (Read error: 54 (Connection reset by peer)) 05:13:24 --- quit: ChanServ (orwell.freenode.net irc.freenode.net) 05:20:51 --- join: ChanServ (ChanServ@services.) joined #forth 05:20:51 --- mode: irc.freenode.net set +o ChanServ 05:25:22 --- join: qFox (C00K13S@cp12172-a.roose1.nb.home.nl) joined #forth 05:32:25 --- quit: fridge (Remote closed the connection) 05:32:38 --- join: fridge (~hovil@CommSecureAustPtyLtd.sb1.optus.net.au) joined #forth 05:34:22 hi 06:10:57 --- join: ASau (~asau@158.250.48.196) joined #forth 06:11:04 Hello, fridge. 06:11:10 Hello, ASau. 06:11:17 Hello, . 06:11:24 Oops! 06:11:31 God kvaell! 06:11:53 * qFox enters god 06:13:53 So what the forth is everyone up to today? 06:15:00 Mine is frozen for several days. 06:15:24 Can't you reboot? 06:15:41 I have another things to do. 06:23:18 whee, I'm taking holidays next week 06:23:39 Going anywhere? 06:24:12 parents farm for a few days, but mainly around home. my fiance is sick in hospital and is undergoing surgery tomorrow 06:24:18 so I will be visiting her most days 06:25:52 Oh... I hope she's OK! 06:29:18 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 06:30:05 madgarden, thanks. 06:31:06 I'll pass it on that some guy on the internet from the other side of the planet whom I've never met is concerned for her welfare, she'll be touched ;) 06:32:13 Hehe, I hope it helps. :) 06:32:25 What side of the planet are you on anyway? 06:32:31 the good side 06:33:00 Hmm... hot or cold right now? 06:33:09 .au 06:34:15 it is probably 19C outside 06:35:47 Nice! Well, at least you're using proper units down there! 06:36:59 292 K is in proper units. 06:39:18 I'm always confused when I hear "900 grades". 06:40:01 I always have to ask "Celsius' or Kelvin's". 06:40:57 or fahrenheit :p 06:40:57 900 grades? 06:42:06 degrees. 06:43:41 what countries use kelvin as their standard heat unit? 06:44:01 i always thought kelvin was only something to be used in physics and chemistry 06:44:19 I'm doing research work. 06:44:41 ah ok 06:44:43 qFox: None. 06:46:21 In 60-th we had meteorogical prognoses with atmospheric pressure in hektopascals. 06:46:27 --- join: networm (~networm@L0649P27.dipool.highway.telekom.at) joined #forth 06:46:35 Dobryjj vecher! 06:46:45 I'm going to name my next kid "Hektopascal." 06:46:50 Guten Tag 06:46:55 lol 06:47:05 hi networm 06:47:13 and what if its a girl? :p 06:47:15 oberheim matrix III 06:47:19 Hektopascala. ;) 06:47:42 thank god i'm not a kid of yours then :p 06:47:45 HEKTO Pascal. :) 06:48:03 networm has an almost complete F83 VM, could be used for a Forthbot in here. 06:48:05 Hector Pascal 06:48:31 Hector-Pascal, then. 06:48:44 john. 06:49:08 How'd you know my dad's name? 06:49:12 Creeeepy... 06:49:29 19 ppl. bound to be someone that knows a john one way or the other :p 06:49:30 yep, i'll try hooking my forth into an x-chat script.. it works with madgarden's Forthy already :) 06:49:51 guess it would need some work to count as a bot 06:50:16 What else does it need to do besides execute Forth? 06:50:51 return complex mathematical formula solutions 06:50:53 qFox, ;P 06:51:33 qFox, why? 06:51:36 although i guess this should be possible anyways, see definitions 06:51:51 i know that you can do it with see 06:51:56 I mean, what other bot-like abilities does it need to be considered a bot? 06:52:17 If all we want is something to communally execute Forth code on, then who needs the rest of the normal bot fluff? 06:52:18 a bot is anything that responds to an event without user interference 06:52:19 imo 06:52:27 either be opping, or text-triggers, or whatever 06:52:43 this being a forth bot, executing forth i guess. 06:52:53 exactly 06:52:57 yes, makes sense.. it should all be written in forth 06:52:58 But, it would be explicitly commanded to do so. 06:53:09 !forth ... 06:53:21 !f 06:53:29 works for me 06:53:31 >bot 06:53:31 :) 06:53:34 ;) 06:53:35 !4th 06:54:08 i would like to be able to see words, and not get stupid code's 06:54:18 except for the words that couldnt be defined any other way 06:54:19 so you need a forth written in forth first 06:54:22 ASau, do you think that FIG, F79 and F83 wordsets could be easily combined in one VM? 06:54:51 networm, either that, or special decompiler functions for code primitives. 06:55:02 hm 06:55:14 or perhaps a help.... like "!see ." would explain that its for printing to the screen or something 06:55:22 networm, You'd need that anyway for things like literals. 06:55:22 but that'll take alot of work :p 06:56:02 yep. i was thinking, something like "see rotate".. it usually gives some asm code i guess 06:56:05 qFox, that's easily done by adding .help words. 06:56:13 see.help 06:56:19 oh then go for it :p 06:56:28 ..help 06:56:29 Heh. 06:56:47 : ..help ." Prints TOS to the screen" cr ; 06:56:57 lol.... 912 spam in my yahoo box 06:56:58 :S 06:57:39 yahoo defo needs a new spamfilter 06:57:45 networm, it only gives ASM code if the decompiler can't decode the words from the dict. 06:58:05 it should have stuff like infinite loop detection 06:58:24 so that IF a user borks up with his code, the bot wont break 06:58:46 Or, a command to reset the VM if it hangs. 06:59:05 !f REBOOT! 06:59:20 !commit suicide NOW 06:59:22 Can an x-chat script restart itself in such a situation? 07:00:16 !f UR FUXX0RZ3D 07:01:31 man, seriously, does this email spamming stuff bring in ANY revenues nowadays? 07:01:51 and i dont mean like 1 stupid retard buying the product 07:01:55 It must. 07:02:29 1 retard in 1,000,000 spams sent is the projection I heard, and it makes them lots of money. 07:02:53 unbelieveable.... i just delete over 900 spams and another appears as i press delete 07:03:16 and another, same spam... wtf 07:03:33 clear! yay :\ 07:04:45 haha 07:04:59 wasn't there a forthbot here previously? 07:05:05 I recall it didn't remember words 07:05:07 heh 07:05:23 you could always make one 07:05:34 Yea, a Forthbot with a block editor would be preferable. 07:05:35 it'd probably be easy to make an IRC interface to isforth 07:05:52 chris-xp, that's not really safe. 07:06:12 The Forth would have to run in a VM. 07:06:31 true... 07:06:37 is4thbot: 0 0 ! 07:06:38 hm 07:06:44 :P 07:06:46 Heh. 07:06:52 whats the second hit for qfox on google.... 07:06:54 hm 07:06:57 who's responsible for that? :p 07:07:01 what would Forthy do with 0 0 ! ? 07:07:06 is4thbot has quit (ACK!! SIGSEGV!!) 07:07:23 networm, it wouldn't allow that... you'd get a "bad reference" error. 07:07:37 ah, ok. so my bot actually was safe, i think :) 07:07:39 well, isforth wqould just SIGSEGV 07:07:48 Just. :P 07:07:49 qfox: its clog 07:08:04 Still, we'd want to be able to crash the VM, but not the application. 07:08:17 lol 07:08:37 4thbot: 0 0 ! 07:08:43 networm, yea your Forthy bot should be safe, especially with the test wordset it had. 07:08:44 http://meme.b9.com/start 07:08:53 <4thbot> madgarden: dammit, wtf? restarting... 07:08:58 <4thbot> ok 07:09:40 <4thbot> VM CRASH: Use REBOOT command 07:10:17 All unused opcodes would be vectored to an abort function. 07:10:49 For infinite loops, it could count iterations, or track time, and give you a warning after X had passed. 07:11:03 and it should count the lines it outputs, and stop after 10 07:11:19 Or pause with a More? prompt. 07:11:23 !f y 07:11:26 !f q 07:11:32 Something like that. 07:11:39 !f u 07:11:41 :p 07:11:45 Hahga 07:11:57 !f off 07:12:30 networm, have you looked into screen/block editing at all? 07:14:34 not yet 07:15:02 It's quite simple and effective. 07:15:12 Was playing around with it in Blazin' Forth. 07:15:17 Well, not editing, but loading and viewing. 07:15:57 yes, loading and viewing seems to be simple. BUFFER and LOAD and so on.. 07:16:17 but for storing something you enter, you need some special wordset 07:16:39 i read in the Blazin' Forth docs about its editor words.. 07:18:21 Well, you're editing a 1K buffer in memory, which gets written to disk. AFAIK. 07:19:05 so there's some way to enter edit mode - and then you can just write characters to the screen? 07:19:16 then when you done, you execute "LOAD"? 07:20:57 That's how you interpret the BLK, yea. 07:21:20 That stuff is in the F83 spec... >IN, BLK, BLOCK. 07:21:35 --- join: Herkamire (stjohns@h000094d30ba2.ne.client2.attbi.com) joined #forth 07:21:36 Doesn't talk about an editor, but that part would be simple. 07:21:42 In IRC, it would have to be a line editor I guess. 07:21:57 yes, but >IN BLK BLOCK doesn't seem to help me much in my VM 07:22:11 since I don't know how to write data into the blocks 07:22:30 like, should I make the blocks be parts of an ASCII text file? 07:22:48 so i can edit it in a text editor, then load inside the Forth VM 07:24:02 networm: I make each block a seperate text file 07:24:24 I imagine the simplest way, since it's a Forth-in-C, would be to just specify a text file to line-edit or load, yea. 07:24:30 Don't need to worry about BLOCKs. 07:24:46 But that is how words would be persisted. 07:24:52 You could also save the state of the VM of course. 07:25:00 Probably also as a named file. 07:25:17 networm.fvm 07:25:19 having a textfile for every block seems like a good idea 07:25:29 block1.txt block2.txt block3.txt 07:25:52 That's one way... though, you wouldn't need to be restricted to blocks then. 07:26:24 Since a block is 1K, might just be easier and more convenient to have any size of text file. 07:26:33 Though, block emulation would be nice too. 07:27:04 yep. there could be extra words for files. i still have to look at the ANS file extension 07:27:14 * madgarden is looking for FIG spec... 07:27:50 where is it? i only have F83 and ANS.. 07:27:50 networm, they maybe don't even need to be accessed through words in the Forth system, could be bot commands. 07:28:05 I have blocks/000, blocks/001, blocks/002 etc in my src distro 07:29:05 Something like that would be good. 07:40:55 is someone getting serious about building a good forthbot for this channel? 07:46:12 It's already been done, basically. networm made a Forthbot one day using my Forthy system. He's now got an almost finished F83 VM which could probably be adapted into a bot the same way. 07:46:24 Not that I'm trying to nominate him or anything. ;) 07:47:06 if you dont i will 07:47:08 :) 07:48:36 He doesn't seem to be defending himself at the moment... go for it! ;) 07:48:37 I seccond that 07:48:46 * qFox does. 07:48:51 * qFox did. 07:49:23 hm 07:49:34 my bot is just an xchat script :P 07:49:50 so it goes down every time i log off 07:50:26 Well then... I'm afraid we can't allow you to log off. 07:50:31 Get him, boys! 07:50:35 hehe 07:51:35 you hold him while i disable is powerbutton! 07:51:37 I imagine there's a C bot framework out there that could be used. 07:52:11 probably 07:52:15 qFox, be careful, they use 240V where he comes from! 07:52:20 uh 07:52:24 where i come from you mean? 07:52:25 :p 07:52:34 Hehe, that too I guess. ;) 07:52:35 same area, same voltage 07:52:46 it would still be more interesting to have a bot written in forth.. 07:52:48 Cool, so you guys can both get together and work on the bot... GREAT! 07:52:52 so i'm used to it :p 07:52:55 well 07:53:07 like, implementing all the IRC protocol/standard 07:53:11 at is still a while to walk from nl 07:53:12 :p 07:53:23 networm, that might be a cool accomplishment, but the value of it is questionable. 07:53:35 nah thats useless 07:53:38 create a socket 07:53:49 and implement the basics to connect and interact in a channel 07:54:09 ignore any other msgs.... freenode doesnt even send out pings, it seems 07:54:39 i did such a socket once, its not very hard 07:54:47 yes, should work. but the interesting part would be, to have it all as forth code 07:54:53 or complicated :) implementing the whole irc thing will tkae more work though 07:54:53 --- quit: tathi ("leaving") 07:54:58 networm, that's called scope creep. :P 07:55:01 ok true 07:55:29 Also... if the VM managed the IRC connection, then crashing the VM would be bad. :) 07:55:45 haha 07:55:46 yea 07:55:50 hm, i wonder if i should bring wormoid here now.. it has no safety features at all 07:55:58 maybe have a VM in the VM? :p 07:56:19 qFox: freenode does do pings. and it kicks you off if you don't respond 07:56:26 mirc doesnt show them 07:56:38 networm, would be fun for a laugh. 07:56:39 or was freenode the one that did them every 5 hours or something 07:56:45 madgarden: maybe the catch/throw words could help 07:57:08 qFox: irssi doesn't show them either, but my bot I wrote last year got kicked off after 3 hours for not responding to pings. (untill I made it respond) 07:57:12 if anything goes wrong, there would be an exception 07:57:21 hm odd then. ohwell 07:57:33 so you'll have to implement pings too... o_0 :p 07:57:49 the IRC protocol is sooo easy if you have any string support 07:57:54 yep 07:58:01 networm, I just think it's kinda astray from the main goal of a forthbot. 07:58:07 the only tricky thing is flood protection 07:58:31 Forthbot should be just basic Forth, and seperated from IRC. 07:58:53 string support? i guess it's fairly easy to get a basic set of string operations 08:00:15 --- join: wormoid (~wormoid@L0649P27.dipool.highway.telekom.at) joined #forth 08:00:17 networm, I was playing with FOrht strings the other day, and suprised to see that Blazin' Forth had a very similar-minded string wordset. 08:00:21 !f 1 2 + . 08:00:22 @ 3 ok 08:00:35 that's about all it can do right now :P 08:00:35 ! maze 08:00:42 !f maze 08:00:45 !f words 08:00:45 144 words 08:00:50 Hmm. 08:00:59 thank god 08:01:07 something is broken :P 08:01:07 !f order 08:01:08 @ CONTEXT: 08:01:08 CURRENT: 08:01:45 probably freenet has some sort of flood protection :) 08:02:29 --- join: kc5tja (~kc5tja@66-91-231-74.san.rr.com) joined #forth 08:02:36 !f last 08:02:36 @ ok 08:02:36 [ ] : 0 08:02:43 --- mode: ChanServ set +o kc5tja 08:02:59 !f word.prev 08:02:59 @ ERROR at 'word.prev': underflow 08:04:00 Nuts, I need to get a word list. I guess I'll run a local Forthy. :) 08:04:28 madgarden: i can see 2 screens full of //\\ in wormoids window, as well as the words list.. freenet must have blocked it from getting here 08:04:29 hi networm, i'm a bot. 08:04:51 Oh, you are clearing the stack after every run, aren't you? 08:04:52 oh.. and all the annoying features i put into it 08:04:56 Haha. 08:05:00 wormoid 08:05:01 hi madgarden, i'm a bot. 08:05:15 What in the world is wormoid? (j/k) 08:05:32 Hey, just tack a ? after its name to prevent it from recognizing its own name, I guess. 08:05:35 xchat script to run madgardens Forthy (i wouldn't call it a bot) 08:05:43 !f : test 10 for rand . next ; test 08:05:44 @ 716866713 757828263 281999264 430563447 29496530 1344249080 1658365085 243686755 1202920217 1639638006 ok 08:06:11 last 08:06:14 !f last 08:06:14 @ ok 08:06:14 [ ] : 0 08:06:23 Oh that's right... no persistence at all! 08:06:30 !f : test 10 for rand 10 mod . next ; test 08:06:31 @ ERROR at 'mod': not found 08:06:36 You execute Forthy each time the script is called. 08:06:42 yes 08:06:49 kc5tja, sorry, Forthy has some wonky words in it. Use % for mod. 08:07:04 !f : test 10 for rand 10 % . next ; test 08:07:04 @ 8 7 5 3 4 8 2 7 3 1 ok 08:07:15 Is it well-protected against things like, : foo recurse ; foo ? 08:07:27 Those words are just the ones I used to test with. 08:07:35 Let's find out! 08:07:43 !f : foo recurse ; foo 08:07:43 !f : foo recurse ; foo 08:07:43 :D 08:07:44 @ ERROR at 'foo': overflow 08:07:44 @ ERROR at 'foo': overflow 08:07:57 No tail call in Forthy. :) 08:08:01 (yet) 08:08:14 Why it printed the error twice, I don't know. 08:08:17 I suppose hanging it right about now wouldn't be a good idea. 08:08:25 madgarden: (look just above your line... :D) 08:08:29 17:07:43 <@kc5tja> !f : foo recurse ; foo 08:08:31 17:07:43 < madgarden> !f : foo recurse ; foo 08:08:35 Same second, even., 08:08:47 Oh, heh. 08:09:03 We're a bit Forth-happy, I see! ;) 08:09:46 !f : test 1+ dup . recurse ; : test 0 test ; test 08:09:46 @ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 ERROR at 'test': overflow 08:09:50 Well, so far, the cost of parts for the ForthBox design (which, I must point out is still incomplete) comes close to 15. 08:10:20 15? I've got 15! 08:10:21 $15 that is. 08:10:22 kc5tja: Not bad. :) 08:10:28 !f see . 08:10:29 @ ERROR at 'see': not found 08:10:34 :\ 08:10:36 kc5tja: In very small quantities? 08:10:40 There is no RAM, no ROM, no I/O of any kind, and no PC board to put it together with. 08:10:41 Sorry, no decompiler yet. 08:10:51 Oh, heh. 08:10:57 That's quite a few limitations :) 08:11:17 lets see if i cna still do it :p 08:11:18 ." hello world" . 08:11:21 !f ." hello world" . 08:11:21 @ ERROR at '."': not found 08:11:28 hm 08:11:34 !f "Hello world" . 08:11:34 @ Hello world ok 08:11:38 !f " 08:11:38 @ ERROR at '"': not found 08:11:45 but.. but... :( 08:11:51 Those words could be added easily. 08:12:00 This is just my test wordset. 08:12:19 networm, I told you that Forthy wouldn't satisfy them. ;) 08:13:08 !f : test 10000000 for next ; pstart test pend / 08:13:12 @ ok 08:13:13 [ 71428592.85714285 ] : 0 08:13:33 !f : test 10000000 for next ; pstart test pend 08:13:34 @ ok 08:13:34 [ 10000003 0.14 ] : 0 08:13:51 networm, how fast is your machine? 08:14:08 That's 71M IPS. 08:14:47 P4-2.5MHz 08:15:10 er 08:15:11 GHz 08:15:22 Is that a recently new box? 08:16:03 Wow, that's fast. 08:16:21 * Robert has his Pentium 200MHz. 08:16:27 !f : test 10000000 begin 1- dup while repeat drop ; pstart test pend over over / 08:16:29 @ ok 08:16:29 [ 40000002 1.98 20202021.21212121 ] : 0 08:16:39 !f 2500000000 71428592 / . 08:16:40 @ 30 ok 08:16:53 !f 0 @ . 08:16:53 @ ERROR at '@': bad reference 08:16:59 so Forthy takes 30 instructions for one word? 08:16:59 * madgarden has a Duron 700. 08:17:22 30 instructions for one word? Eh? 08:17:47 assuming, 2.5GHz means it could do 2.5 billion instructions / sec.. 08:18:06 I don't think it's safe to assume that. 08:18:07 so if the number you got is how many iterations Forthy could do.. 08:18:16 The IPS I'm talking about is Forthy IPS anyway. 08:18:29 Robert: The EEPROM that will sit inside it will cost around $5. 08:19:20 Robert: I was planning on using a single 512KBx8 cache SRAM for it, but I'm having trouble locating the part for it. The only 512Kx8 chip I see stocked at Mouser is a 70ns (just *slightly* fast enough for the Kestrel), for $70. 08:19:50 Whoa, that's a bit expensive. 08:20:00 Do you need that much RAM? 08:20:01 Robert: But if that's all that's available.... 08:20:19 Robert: I don't want memory expansion to ever become an issue. 08:20:38 And, DRAM controllers are damn complicated to design, especially at 12.6MHz. 08:20:40 You'll never have enough RAM for all your needs. :) 08:21:30 !f ' dup 10 + 08:21:30 @ ERROR at '+': bad type 08:21:30 It would feel strange if the RAM was 90% of the total cost. 08:21:42 !f 10 ' dup execute 08:21:42 @ ok 08:21:43 [ 10 10 ] : 0 08:21:52 !f ' dup >name 08:21:52 @ ERROR at '>name': not found 08:21:58 !f ' dup name 08:21:58 @ ok 08:21:58 [ "dup" ] : 0 08:25:12 typechecking?!?! 08:25:48 sometimes the weirdest stuff happens in here 08:26:11 Robert: Well, remember the screen is stored as a bitmap. 40 bytes times 480 lines = 19200 bytes of memory. So let's say 20K. Then there is the 8K of ROM, so we're already close to 32KB (to make it a power of two) in memory space consumption. 08:26:27 Robert: There has to be *at least* 128KB of RAM. I personally won't settle for less. 08:26:40 Herkamire, it's a Forth-inspired C scripting system. 08:26:46 BBL, going for curry. 08:27:34 madgarden: ok. I don't see what that has to do with typechecking though. 08:27:52 kc5tja: I admit too little RAM is annoying, but I still think $70 is expensive for half a MB. 08:32:04 I'm back. 08:32:09 Robert: Especially only 70ns. 08:32:16 I'm sure there are cheaper sources of SRAM available. 08:32:19 There just has to be. 08:32:55 madgarden, F79 and F83 have exclusive words. See differences in PICK and ROLL (IIRC), FIND 08:33:43 madgarden, FIG Forth differs from them too. Sometimes it's close to "79", but not always. 08:34:31 madgarden. There's FIG Forth Portable Editor and "Starting Forth" Screen Editor. 08:34:38 ...are... 08:35:15 madgarden. For FIG Forth specification seek FIGINST.ZIP somewhere in Taygeta Archive. 08:35:54 madgarden, probably it's in /pub/Forth/Archive/ibm or in /pub/Forth/Archive/doc 08:36:04 Or like. 08:36:15 I don't remember spelling. 08:37:40 If you find Alan Pratt's C-Forth you'll see FIG-Forth (like) source. 08:38:14 kc5tja: Check futurlec.com, they seem to have a number of RAM chips up to 512k x 8, relatively cheap. 08:38:16 Also FIG-Forth Installation Manual (see FIGINST.ZIP) contains source blocks for 6502 FIG-Forth. 08:38:36 kc5tja: They don't specify the speed for all of them, but I'm sure google knows. 08:39:20 kc5tja: $12.90 and $3.90 for two different 512k x 8 chips. 08:46:00 DIPs? 08:46:12 * kc5tja just sent an e-mail to a friend of mine who would probably know. 08:46:50 Robert: I just get a "Site Under Construction" page (http://www.futurelec.com) 08:47:00 Without the 'e' 08:47:03 futurlec.com 08:47:21 I think they're DIPs, yes. 08:47:36 bah. some retarded spammer is using my emailaddy to send spam to various lame aol emailaddresses 08:47:45 They don't specify that either, but all of their chips seem to be unless stated otherwise. 08:47:46 and i'm getting the mail delivery failed messages :s 08:47:53 about 25 so far 08:48:02 qFox: :( 08:48:09 That's mean. 08:48:43 I'm back for a few minutes. 08:48:55 Robert: "No matches found for 512Kx8" or for 512Kx8 SRAM. 08:49:17 ASau, thanks for the info. I figure a Forthbot would need to support FIG, F79 and F83 as much as possible to satisfy people in here. 08:49:23 kc5tja: Check the "components->memory->RAM" page. 08:49:57 Herkamire, it uses type checking because it's safe. an XT isn't just a pointer to some VM memory. 08:50:19 Sorry that I couldn't give you the exact URL, but I had already closed my browser (which happended to be links, so I couldn't copy & paste anyway). 08:50:21 madgarden, you also should take a look at "netcat" utility. 08:50:52 madgarden, I've been able to run my Forth as telnet shell in LAN. 08:51:31 madgarden, there's a way to redirect stdin and stdout into tcp ports. 08:52:12 !f "networm, did you hear that? ;)" . 08:52:12 @ networm, did you hear that? ;) ok 08:53:00 BTW, if we get an IRC in Forth, everyone will be able to run his own Forth bot. 08:53:27 will they fight each other to the death? 08:53:33 two bots enter, one bot leaves 08:53:36 Does anyone know any already existent wrapper? 08:54:14 I was looking for a thin IRC bot C source, just the bare bones, but didn't find anything. 08:54:26 fridge, this should be an interesting way to test experimental features. 08:54:32 Robert: I'm not finding *anything* on these RAMs. 08:54:41 I *really* wish these folks would house datasheets for their parts. 08:54:46 something like irssi might contain it 08:55:01 like, xchat's plugin interface could be seen as a wrapper 08:55:10 but xchat is bad since it requires the GUI 08:55:28 networm, I wonder if something could be whipped up with libnet. 08:55:45 no.. could as well just use sockets 08:55:47 I imagine the basic IRC protocol isn't too difficult to implement. 08:56:00 Well, I was thinking portability. 08:56:09 Win2K here, remember. 08:56:19 sockets will work in win2k, i'm quite sure 08:56:23 Otherwise, we'd need a Winsock version. Not that they'd differ much. 08:56:26 madgarden, take a look at "netcat". 08:57:32 --- quit: wormoid ("all systems down") 08:58:00 the source of netcat is probably just some simple socket operations 08:59:59 ASau, not sure netcat would be the best approach. Might as well just take some existing bot code and add in a Forth module. 09:02:06 madgarden: I don't see what typechecking has to do with it being safe either 09:02:32 there's nothing insecure about treating an XT as an intager and adding 10 to it 09:03:40 Herkamire, there is when the XT is a pointer to memory malloced by C. 09:04:04 So in Forthy, it's just a wordref, nothing more, no value associated with it other than the word it belongs to. 09:04:26 Also, it's referenced, so if the word gets deleted while the wordref is on the stack, the reference becomes bad and won't crash when it's EXECUTEd. 09:05:01 Anyway, I don't see why this even matters. Forthy is not a rigid Forth system, it's more like Lua. 09:05:17 so you already are checking to see that the XT is valid before you use it. so why do you care if someone adds 10 to it? 09:05:42 They can't add 10 to it, it doesn't have a numeric value that they know of. 09:05:56 What would + 10 be? 09:06:25 OK, really going for lunch now. 09:06:27 it doesn't have a numeric value? I thought you programmed in C 09:06:33 :P 09:06:46 As far as the scripting side is concerned, no it doesn't have a value. 09:06:48 Now bye. :P 09:07:02 whatever 09:07:17 you're just pretending it doesn't have a value 09:16:02 Hmm. 09:16:40 It seems noone can connect into here. 09:16:46 Firewall? 09:17:46 I'm currently running http at 31337 port. 09:18:08 60080 also. 09:19:18 Is anyone able to connect? 09:20:17 I'm not... 09:20:42 nor am i.. connection is refused immediately 09:22:55 It's strange. My neighbour from subnet connects well. 09:28:26 Can you determine where connection is refused? On my machine or somewhere in between? 09:42:09 hm, no.. just the webbrowser said "connection refused" :) 09:42:09 nmap says: 09:42:09 31337/tcp filtered Elite 09:42:09 60080/tcp filtered unknown 09:42:10 so the "filtered" means probably, the request is just dropped, not refused 09:42:10 the nampage says: "Filtered means that a firewall, filter, or other network obstacle is covering the port and preventing nmap from determining whether the port is open." 09:42:10 It seems there's firewall. 09:42:10 OK. 09:42:10 tctrace ends with: 19(1) [158.250.32.18] (unreachable) 09:42:10 If you could connect I could run my Forth so you could access it with telnet. 09:42:10 Thanks. 09:42:10 Now I understand where it is. 09:42:10 ASau: so, you just can somehow redirect stdin/out of your forth to a tcp port? 12:02:18 --- log: started forth/04.03.11 12:02:18 --- join: clog (nef@bespin.org) joined #forth 12:02:18 --- topic: 'A channel dedicated to the Forth programming language, its implementation, its application, and its philosophy. kc5tja: http://216.239.57.104/search?q=cache:cWNnp2m5yzAJ:dec.bournemouth.ac.uk/forth/euro/ef99/chapyzhenka99.pdf+Transport+Triggered+Architecture&hl=en&ie=UTF-8' 12:02:18 --- topic: set by warpzero on [Tue Feb 10 23:23:11 2004] 12:02:18 --- names: list (clog ribbon networm ayrnieu_ ASau @kc5tja Herkamire fridge qFox @ChanServ skylan slava chris-xp warpzero chandler madgarden ianp Robert cmeme OrngeTide mur) 12:02:21 madgarden: oh wow. I'm suprised it's more than 32 bits. what language is this in? 12:03:29 C 12:03:48 madgarden: why didn'd you have an XT be an index into the dictionary? 12:04:17 Because not all XTs are in the dictionary. Some point to "code". 12:04:26 And, the dictionary is by default completely empty. 12:04:40 The user creates whatever language and syntax they want out of the system. 12:04:45 ok, so why not a memory address or an index into the heap? 12:04:47 Could look nothing like FOrth. 12:05:06 Because, the memory isn't contiguous like in Forth. It's allocated as its needed. 12:05:21 so? it still has unique addresses 12:05:34 I suppose that makes sense. 12:06:06 it would be hard to check if a memory address falls within one of your mallocs 12:07:43 And also, unsafe to rely on direct memory access. 12:07:43 not if you check the address first 12:07:43 In a scripting system, you shouldn't have to "check the memory address first." 12:07:43 It's supposed to be safe. 12:07:43 And easy. 12:07:43 If it was a real Forth, then it would be a different story altogether. 12:07:43 there are two ways of making a language safe. 12:07:43 one is to allow people to do anything, and check things like addresses before using them. 12:08:04 the other is to restrict the user to a model of the world that doesn't include concepts that can be unsafe. 12:08:15 My next one will be a 32-bit addressed VM written in C, with Forth system written in VM code and Forth. 12:08:40 madgarden: that sounds more like my cup of tea 12:08:44 :) 12:08:52 Forthy was my first stab at Forth, period. 12:08:58 I'm actually rather proud of it for what it is. 12:09:04 Speedwise, it's comparable to Lua. 12:09:25 And, without having to stomach some syntax you may not like. You roll your own. 12:09:36 sounds cool 12:10:04 Perfect for domain-specific extension, which is what I use it for. It's still possible to make a pretty Forthy language as a result. 12:10:18 Though, there's no return stack access... you use control-flow primitives instead. 12:10:37 what about memory access? 12:11:14 What about it? If I want to access a C variable, some memory, etc. I just export it to the Forthy system. 12:11:14 Then write access words for it. 12:12:51 That's the domain of user types. 12:12:51 And that's where it gets unsafe. ;) Can't stop them from exporting bad pointers and trying to dereference them or whatever. 12:12:51 what about WORD do you have that (or can it by written?) 12:13:06 There's a primitive for scanning text from the string being interpeted, based on pre and post delimiters. So yea, I have a ( written in exported Forthy code, etc. 12:13:40 cool 12:13:46 Actually, here's the source for it: 12:13:46 : ( 12:13:46 [ char ) ] literal word drop 12:13:46 ; immediate 12:14:28 I also allow multiple Forthy instances to share dictionaries. 12:14:35 neat 12:14:45 Have stack based vocabularies. 12:14:49 Blah de blah. 12:14:50 ;) 12:15:41 I made a safe forth (more the VM style). It's safe in that it won't crash, and has no access to the OS. But you can still send it into an infinite loop 12:16:08 have you done anything to deal with infinite loops? 12:16:21 I like that. 12:16:46 No, but the idea is that if you (the domain language creator) don't want script writers making infinite loops, you don't let them. 12:17:04 yikes :) 12:17:12 So, probably a script writer doesn't need any loop constructs. Or if they do, then it would be something like FOR/NEXT 12:17:22 Yikes what? 12:17:53 If they guy using Forthy wants to make infinite loops, then let him! :) I just give him the tools. 12:18:10 yikes to languages that don't let you do loops that might not complete 12:18:32 I prefer languages that let me write crappy code 12:18:43 Forthy's not a language, luckily. 12:18:50 But you can create such a language out of it. 12:19:03 : ( 12:19:03 [ char ) ] literal word drop 12:19:03 ; immediate 12:19:07 Oops. 12:19:10 what's that unix quote? something like "unix does not stop you from doing stupid things, because that would also stop you from doing clever things." 12:19:35 I'd say that's *more* appropriate for Forth. :) 12:20:13 Yeah.. :) 12:20:27 --- join: Nutssh (~Foo@dunwlessnat.rice.edu) joined #forth 12:20:48 --- quit: Nutssh (Connection reset by peer) 12:22:21 yeah :) 12:22:30 YEAH!! X-D 12:23:15 rm -rf temp/dir1/ temp/dir2 / 12:23:47 just an example how bad things some users can do when tired :P 12:24:17 lets hear it for not running as root :) 12:25:07 hm, well, need root quite often.. e.g. when messing with gfx card or sound card drivers 12:25:25 the example I read in connection with that quote was something like: rm -rf bla * in stead of: rm -rf bla* 12:26:09 heh 12:26:17 it won't be as bad though, since * is only the current dir 12:26:45 networm: in the case of your home dir, that can mean wiping out just about everything you have access too :) 12:26:57 and often, you have a single file with wrong permissions in some subdir.. so you just get root and do "rm -r that-dir/" 12:27:21 yes.. so again, just not beging root doesn't help much 12:27:22 networm: what? 12:27:37 mine ust says "delete write protected file? y/n" 12:27:59 also to your home dirs contents? 12:28:19 oh, i see.. it will ask for / before.. 12:28:45 hopefully it will.. the -f might just skip the question 12:29:01 for some reason I have to su to get rid of the stupid hidden directories that I get from coppying stuff off of HFS partitions 12:29:32 anyway, back to forth 12:29:49 madgarden: you said you plan on writing a forth ontop of a VM written in C. 12:29:51 yes. that's what i meant before - often there's some files only root can remove 12:30:21 madgarden: sorry if I asked this yesterday, but are you planning on doing an IRC bot with/in it? 12:35:24 Herkamire, yea, my next Forth will be a VM in C, with some pseudo assembly language so I can have code words and an assembler wordset. As for the bot... I might do that... 12:35:38 ...if networm doesn't do that first. His VM's practically done. :) 12:36:05 And some of us already nominated him. ;P 12:36:17 --- join: Nutssh (~Foo@dunwlessnat.rice.edu) joined #forth 12:39:04 i think ASau's method could be used.. 12:39:17 just use any forth reading/writing stdin/stdout 12:39:30 then get something to redirect to an IRC bot 12:40:14 the forth would then just keep running, with its input/output being forwarded by some intermediate code/script 12:46:41 And if it crashed? 12:47:18 ...I suppose the Forth VM itself could have a simple bot-like frontend. 12:51:04 networm: the problem with that is that many forths have access to the OS they run under 12:51:27 and crashing, and infinite loops 12:52:10 with gforth for example, I think you could easily send a forkbomb 12:53:49 forthbomb 12:54:18 kc5tja, do you have a webpage for your forthbox project? 12:54:50 A VM Forth with an extra outer loop wouldn't have those problems. 12:55:26 hm, yes. But the IRC access of the VM Forth could be done like that 12:55:35 so no need to study socket programming and the IRC protocol 12:55:42 yeah, I think a forth running on a VM (with a few extra things thrown in to handle infinite loops and flooding) would be perfect 12:55:57 Yep, that makes sense now. An outer-outer loop to handle the bot commands. 12:56:16 flooding seems to be checked by freenet anyway 12:56:31 Herkamire, infinite loop... !f BREAK or !f RESTART 12:56:34 at least my xchat-script refused to send madgarden's spam attempts earlier today :) 12:56:46 networm: checked? you mean they boot you, or they throttle your input so it's slow? 12:56:49 WHAT SPAM ETTEPMTS?!?!??!?1/1/1 12:56:50 WHAT SPAM ETTEPMTS?!?!??!?1/1/1 12:56:51 WHAT SPAM ETTEPMTS?!?!??!?1/1/1 12:56:52 WHAT SPAM ETTEPMTS?!?!??!?1/1/1 12:57:16 not sure.. in the script window, i could see pages of output.. but nothing was sent here at all 12:57:35 networm: probably build into xchat scripting system 12:58:10 could be.. or maybe i put it in myself and forgot. so it could be done at that layer, in any case 12:58:33 networm, didn't you restrict output because of how badly "words" spammed? 12:58:59 Anyway... I think the outer-outer loop of the Forthbot could handle excessive output with a More? prompt, like I mentioned before. 12:59:18 hm.. i coded it in python, and it's my first python code at the same time.. so it's hard to see what the script does :P 12:59:18 one thought I had for infinite loop protection, would be for it to let the vm run for a while (500 ms or something) and then halt it next time the bot recieves a command from someone. 12:59:29 Or perhaps, output it to a temporary file somewhere and give a link. 13:00:04 Herkamire, an explicit HALT should be good enough, non? We'll know if the thing is hung... it could return a "VM BUSY" message. 13:00:23 there could be a time delay on every single output character 13:00:32 like, on character takes 100ms 13:00:37 or 25ms 13:00:52 and an execution time limit of maybe 5sec 13:01:15 so it would protect against spamming as well as infinite loops 13:01:18 madgarden: but that would be annoying if you were entering definitions, and somebody else hung the interpreter on an infinite loop. 13:01:36 then it would not run your later input 13:01:42 What if there was an iterative calculation that took a while to complete? 13:01:58 some special users could use it without a time limit :) 13:02:05 madgarden: then you have to do it sometime when other people aren't using the bot. 13:02:24 That's why I mentioned multi-user bot before. 13:02:32 maybe there should be some sort of private dictionaries? 13:02:49 so you could either use the shared dictionary.. or, based on your nickname, get a separate one 13:02:54 I'm trying, but I really haven't thought of anything that we would have the bot do that would take long to compute 13:02:59 Fighting over the Forthbot could rip us all APART!! :o 13:03:22 It's my turn to make a colon definition! 13:03:29 : PRIVATE VOCABULARY networm DEFINITIONS networm ; 13:03:32 No, it's my turn! I'm compiling custom data structures!! 13:03:42 it'll be fine 13:03:43 hm, no.. that would still do it for everyone 13:03:46 wikis work 13:03:48 What about my fractal!? It's not done yet!! 13:03:58 you can't display a fractal in here too well 13:04:07 ASCII fractal. :) 13:04:39 Anyway, once the thing's working, the kinks can be worked out, right? 13:04:40 my xchat-bot actually has a function to convert a picture to ASCII :) 13:04:55 but in fear of beeing perm-banned i never used it.. 13:05:13 Oh, networm you should compile it with Allegro and link in my Speechy module. :) 13:06:55 hm.. so everyone could make it speak at whoever's server it runs on? 13:07:12 FWIW my gforth mandelbrot code generates an 80x80 mandelbrot in under 400ms 13:08:16 can i see the mandelbrot word? i could test it in my forth :) 13:08:53 http://herkamire.com/jason/8%20line%20mandelbrot 13:09:32 note: the chalange was to write a mandelbrot generator in 8 lines, so it's probably not to well factored. 13:09:52 hm.. i have no float numbers yet 13:10:44 i created a fraction in mirc once :p 13:10:48 that triangle thing 13:11:00 1/3 13:11:02 (and mirc is freaking shit in gfx ;) 13:11:03 yea 13:11:28 hm that wasnt meant for me, but w/e :) 13:11:54 qFox: you said you made a _fraction_ on mirc. 13:11:59 uhu 13:12:01 qFox: I'm just teasing you 13:12:02 well 13:12:08 ok 13:12:10 :) 13:12:11 networm, annoying, unintelligible local robot voice, yep. :) 13:12:25 I'm guessing you meant the koch curve. or maybe the sirpinski thing 13:12:30 a fraction, those infinite pretty graphical thingies 13:12:40 fractal? 13:12:47 well it creates the big triangle, with smaller triangles in it 13:12:49 qFox: fracTAL 13:12:50 oh 13:12:53 haha 13:12:53 --- quit: Nutssh ("Client exiting") 13:13:00 yes :\ 13:13:13 for some reason i always say fractions :s 13:13:44 that's called sirpinski's triangle I believe 13:14:07 --- quit: fridge ("Leaving") 13:14:11 XXXXX 13:14:12 ..... 13:14:12 ----- 13:14:12 iiiii 13:14:12 13:14:13 ***** 13:14:28 OK, so my font is fixed-width. 13:15:27 http://members.home.nl/fracthingie.jpg 13:15:38 http://members.home.nl/qfox/fracthingie.jpg 13:16:33 qFox: yup yup yup 13:16:36 :) 13:16:38 reminds me of madgarden's "maze" 13:16:54 (which is just a lot of random / and \ characters) 13:17:29 :) 13:17:50 while ( 1 ) { 13:17:50 %r = $rand(1,3) 13:17:50 %x = $calc( ( %x + %x. [ $+ [ %r ] ] ) /2 ) 13:17:50 %y = $calc( ( %y + %y. [ $+ [ %r ] ] ) /2 ) 13:17:50 drawdot -r @ $+ %win 0 1 %x %y 13:17:51 } 13:18:32 hm, even my old style scripting, with lots of redundant spaces 13:18:33 hehe 13:20:14 damn, operator spams me with ads! grrr 13:20:19 sms ads :P 13:20:30 haha 13:21:18 still getting the returned emails :\ 13:23:43 networm, when I was a kid, I typed in a C64 program from a book that drew a / \ pseudomaze. Just had to reproduce it for nostalgia's sake. ;) 13:25:52 that reminds me, i typed in a really long hex sourcecode on the amiga once which i found in some magazine (it was supposed to be a game or something).. then, after typing for hours and checking all the checksums.. it would just write in big flashing letters "April, April" 13:26:26 lol 13:26:29 Haha... 13:32:41 April? 13:36:13 April Fools. 13:36:26 yeah, here it is common to do hoaxes on April 1 13:36:42 like, newspapers report something which isn't treu 13:37:35 i didn't find that one funny though :P and it made me really glad when magazines started to come with floppies :) 13:40:25 hahaha 13:48:45 I typed in a really cool little planetarium program once, for the C64. Used to spend hours goofing with that, heh. 13:49:00 I think I will have to try to remake one of my C64 text adventure games in Forth. 13:55:35 um 13:55:40 * qFox pokes Herkamire 13:56:20 * madgarden POKE53280,14's qFox 13:56:41 hm? 13:58:43 I changed your border to light-blue. 14:00:31 16:56 * madgarden POKE53280,14's qFox 14:25:33 Heh. 14:26:24 networm: Haha! Nice joke. :) 14:26:38 c64? 14:33:23 --- quit: ribbon ("A life without distinction") 14:42:12 --- join: fridge (~fridge@dsl-203-33-166-377.NSW.netspace.net.au) joined #forth 15:03:34 --- quit: ayrnieu_ (Read error: 110 (Connection timed out)) 15:44:31 --- join: Sonarman (~matt@adsl-67-113-235-69.dsl.snfc21.pacbell.net) joined #forth 15:51:05 hi 15:52:17 hi 16:08:39 Sonarman: about your offer: thanks! 16:08:59 what's up 16:09:03 Sonarman: might not work, as it only allows 1 xon per ip or such, but I shall try ^___^ 16:09:09 slava: hi there :) 16:10:46 Hi. 16:13:31 chris-xp: or you could always ask devusb or someone else with an always-on connection for a shell account 16:15:01 chris-xp: I don't like devusb. He uses emacs. 16:15:54 talking to yourself? :) 16:17:49 Obviously. He needs to remind himself of the persons he dislike, and why. 16:17:53 slava: you don't use emacs. you use jedit ....... (i hope) 16:18:01 yes 16:18:09 Robert: you use Vi, so I like you. 16:18:26 I hate myself for using vim, but it's an old habit. :) 16:18:55 Some day I should write a good editor in Forth and start using it. 16:19:16 Vi is nice, but weird. 16:19:19 Emacs gives me cramps 16:19:24 Pico is an abomination 16:19:26 Vim is bloated. 16:19:31 Ed is something I use when I'm in a Brainfuck mood. 16:19:59 I started using vi because it's the only sane editor available in MINIX. 16:20:15 MINIX?! 16:20:30 :P 16:21:00 I need to find a TI-83 calculator cable, learn z80 assembly, then code a small unix for my ti-83 :) 16:21:57 slava: Yes. 16:22:12 I know exactly how I'd design it too 16:22:21 Well, not exactly yet. 16:22:40 A multi-user system for a calculator? 16:22:49 That doesn't make much sense, so go for it! 16:26:06 lol 16:26:09 dammit 16:26:15 z80 has no multiply 16:26:22 (not that I particularly need it, but...) 16:27:57 --- quit: networm (Remote closed the connection) 16:35:10 I'm playing with PIC emulators 16:35:29 because PIC's seem to be easier to purchase than z80's 16:36:01 You can get z80s for USD2. 16:36:14 And PICs for free, so I guess they win anyway. 16:36:37 :P 16:36:47 z80s are faster and I can use them at school 16:38:35 Z-80s are not faster. 16:38:43 and about the multi-user thing.... I can probably connect two calcs running TINIX :P 16:38:49 kc5tja: ??? 16:38:59 They take, at best (via the Rabbit 2000 series), 2 clock cycles per byte of the instruction. 16:39:11 Ouch. 16:39:13 PICs execute one instruction per cycle. 16:39:19 what about clock speed? 16:39:36 i think ti-83s have 7mhz, iirc 16:39:39 They have high clock speeds only because they *need* it to overcome their decrepit bus interface. 16:39:55 A 4MHz 6502 will show the 8MHz Z-80 who's boss any day. 16:40:07 Rather consistently, too. 16:40:43 It's a pity that the 6502 hasn't caught on in the market like the Z_80 has. I can't, for the *life* of me, figure out why the Z-80 'won the embedded' market. 16:41:12 (but, be that as it may, I know for a fact that there are several companies who are licensing WDC's 65C02 and 65C816 cores as IP and implementing them to run at up to 500MHz clock speeds.) 16:41:17 PICs execute one instruction every fourth cycle. 16:43:11 Robert: Robert: That's news to me. But then, I haven't done any serious research into PICs of late. But still, the Z-80 (especially the original Z-80 from Zilog) has *horrible* bus timings. Four clock cycles *per memory access*. And instructions can get up to 6 or 7 bytes long. Do the math. :) 16:44:07 I think what really sold the Z-80 was the fact that it supported DRAM refresh right in the chip itself. 16:44:08 kc5tja: That's bad news for those who want speed... 16:44:23 Robert: Now you know why I peddle the 6502/65816 so much. 16:44:55 kc5tja: I guess so. At least for CPU-intensive applications. 16:45:13 It's like the 680x series of 8-bit processors. Those you have to clock 4x the bus interface rate (e.g., a 1MHz 6809 system actually had a 4MHz clock crystal attached to it). 16:45:15 Like the slow TI calculators. 16:53:06 i like pie 16:54:59 Tasty. 16:57:44 yes, i dont like non-tasty pies 16:58:44 We have so much in common. 16:58:56 its like we're brothers 16:59:20 unless you're a girl with a rather unusual name 17:02:57 Robert is short for Roberta. :D 17:03:01 j/k :) 17:04:13 well that explains that then 17:05:42 --- quit: slava (Remote closed the connection) 17:09:27 --- join: slava (~slava@CPE0080ad77a020-CM.cpe.net.cable.rogers.com) joined #forth 17:12:34 kc5tja: As if I've never heard that before. :) 17:17:10 mur, yes, C64. :) 17:17:55 --- join: ayrnieu (julian@65.169.246.30) joined #forth 17:18:57 Ayrnieuld Schwartzeneuger. 17:19:16 madgarden - ha ha. Now you must die. 17:19:31 :) 17:19:44 :D 17:21:43 man 17:21:51 they shoulda used a 6502 for TI-83 17:22:16 z80 is like intel with a little more resisters 17:23:04 chris-xp: It's an Intel 8080 with one extra set of registers, and the addition of index registers and slightly better interrupt handling capabilities. 17:23:22 * kc5tja likes the Rabbit 2000 series of CPUs. They're still not as fast as a 6502 though. 17:23:31 kc5tja: well, that explains alot. 17:23:32 Well, I should compare them to a 65816. 17:23:39 Would a 16-bit-addressable Forthbot be good enough for everyone? 17:23:45 The Rabbit 2000 can address 1MB of memory, whereas the 6502 can't. 17:23:47 YES!! 17:24:02 kc5tja: you could coerce the 6502 to, I'm sure 17:24:13 chris-xp: Through external memory management hardware, yes. 17:24:22 chris-xp: But why? The 65816 addresses 16MB natively. 17:24:42 AND it's a true 16-bit version of the instruction set too. 17:24:43 :) 17:24:49 hrm 17:25:05 so, 16 bits would be 64k only though ... 17:25:07 * chris-xp thinks 17:25:26 so it has 23 bit addressing? 17:25:37 (if my calculations are correct) 17:27:02 are they? 17:27:05 No. 17:27:14 :( 17:27:15 But you're pretty close. :) 17:27:44 Remember 1MB = 2^20, so 16MB = 2^24. 17:27:48 24? 17:27:55 oh 17:27:56 duh 17:27:59 one-off error 17:27:59 lol 17:28:36 8-bit segmetn, 16-bit address 17:28:36 :) 17:29:05 Do some more calculations, soon you'll be able to tell evil numbers from good ones. 17:29:18 2 raised to a power of p, where p is a prime, is an evil number. 17:29:33 The really good ones are 2^2, 2^(2^2), etc. 17:30:01 And then we have many somewhere in the middle. 17:31:18 --- join: hp48nik (trilluser@bc-van-reg-a53-01-14.look.ca) joined #forth 17:32:20 65816 addresses memory *either* as 256 64KB banks, or as a *flat* 16MB address space. 17:32:47 For the purposes of executing software, it's segmented: e.g., the program counter is still only 16-bits wide, but the program bank register is used to determine the full 24-bit address. 17:33:09 The data bank register is used to determine the bank of memory when accessing data space. 17:33:54 However, there are instructions which treat all 24-bits of address space as a single, flat address space (e.g., JML and JSL [jump and jump subroutine long-address] instructions, and several new addressing modes designed specifically to work with 24-bit addresses). 17:34:05 kc5tja: did you ever read the thing i put in the topic? 17:34:19 warpzero: I didn't even see it. 17:34:32 its been there for like 17:34:34 a month 17:34:43 Yes, I read it years ago. 17:34:50 oh okay 17:34:57 hey Forth is on the cover of a current magazine i really like 17:35:05 --- topic: set to 'A channel dedicated to the Forth programming language, its implementation, its application, and its philosophy.' by warpzero 17:36:02 CIRCUIT CELLAR March 2004 has a theme of embedded applications 17:36:19 and one of the cover stories is "Forth-based speech synthesis" 17:36:51 the author is Ken Merk krem@telus.net ... have you heard of him? 17:37:48 i'm talking about the print magazine, but the website is http://www.circuitcellar.com 17:38:13 hp48nik: I've never heard of him. 17:38:27 he used to write for FORTH DIMENSIONS (the magazine) 17:38:45 he's from bc, canada like me... a lot of Forthians here for some reason 17:40:06 what is the correct terms? Forthians? Forthniks? Forthophiles? Forthers? 17:40:34 lol 17:41:19 i've seen a term used somewhere in print but can't remember which it was 17:41:24 hp48nik: There is no correct term. 17:41:29 I personally like Forthnik though. :D 17:41:51 i love how people who program forth is such a cohesive community 17:42:13 The Lisp community is the same way. 17:42:27 Hooray for small sects. 17:42:44 oh it's Forther 17:42:51 try googling Forther or Forthers 17:42:56 you'll find lots of hits 17:43:33 BBL... bye all 17:43:34 --- part: hp48nik left #forth 17:47:04 --- topic: set to 'A channel dedicated to the Forth programming language, its implementation, its application, and its philosophy. And pie.' by qFox 18:15:23 rofl 18:15:26 roflroflrofl 18:15:33 i found an exploit to crash msn6 18:15:34 :p 18:15:47 Another XBox for you? :D 18:15:51 sure, accidental, but hey... 18:16:06 hehe well, lets make some haste with that internship :p 18:17:09 Hmm, if I implement a serial loop interface naively, at 500kbps throughput, 5 devices will reduce the data throughput to 15625 bytes per second. 18:21:54 Maybe that would work better than my DAMA-based approach... 18:24:25 But, then I would lose the support for quality of service that I currently have with DAMA. 18:24:34 But it would make autoconfiguration absolutely and utterly trivial. 18:25:19 And if I use a ring architecture, I may as well go token ring complete with early token release. 18:25:34 damnit 18:25:50 why cant i ever have my luck :p 18:25:57 Chicks? 18:25:58 the crash doesnt cause msn to really crash 18:26:07 it causes an error box to pop up 18:26:11 when you press ok, msn closes 18:26:16 but it still functions if you dont :( 18:26:21 oh 18:26:25 but you CANT use it 18:26:25 :p 18:26:29 at least not the main window 18:27:05 but you can still chat, as long as somebody else chats first :p (those windows are seperated so dont "belong" to the error msg box) 18:27:30 ohwell, thats severe enough for me :p 18:27:42 The token ring also requires two serial ports (thus, both VIA chip's serial ports would be consumed in the implementation of the communications ring). :( 18:27:48 Maybe I should have three VIA chips then. 18:27:50 Well, it's a bug anyway. 18:27:54 yes 18:27:58 but i'm talking severity here 18:27:58 see 18:28:00 thing is 18:28:04 the higher the severity 18:28:07 the higher my reward :D 18:28:35 this wont top my previous bug though, at least i dont think it does 18:28:39 kc5tja, so add more ports. :) 18:29:11 madgarden: Each VIA chip costs $6. 18:29:58 With the current estimate of $50 for the computer without I/O (but with EEPROM and RAM), the current plan of using two VIA chips brings the cost to $62. With three, the cost goes to $68. 18:30:04 Mind you, this does not count printed circuit board space. 18:30:17 Nor does it account for my profit from the kit. 18:30:25 E.g., it's coming *awfully* close to the $100 price point. 18:31:43 Can you make the kit somewhat customizable? Basic vs. Deluxe? 18:33:14 I doubt many people will be using the box to fully harness your ideal networking features. 18:33:18 That depends on what nature of customization you're talking about. 18:33:33 madgarden: The "networking" isn't networking the box with other boxes. 18:33:49 (Although if I adopt a token ring-based architecture, it can certainly be used for that purpose!) 18:34:16 Well, I'm saying keep it very basic, and save the more "advanced" features for a supplementary kit or the Raven. 18:34:22 The problem I'm experiencing is how to handle a simple, yet auto-configurable, peripheral interconnect bus (which is implemented using the VIA's serial port). 18:34:32 Ahh, the PIB. 18:34:43 OK. 18:34:53 Currently, I'm envisioning using DAMA to prevent collisions on the bus. 18:34:59 And, in this form, it is a true bus. 18:35:41 Collisions are bad, mmm'kay? :) If a collision were to occur, a dead short will appear on the serial bus, and that will cause premature failure of the chips. 18:35:46 (especially the VIA chips) 18:36:05 Yea, don't be doing that. 18:36:25 But, if I use a loop interface (aka a ring interface), then all the links are point to point. 18:36:51 The computer sends a packet to the first device, which forwards it to the second, which forwards it to the third, . . . , which forwards it back to the CPU. 18:37:11 Once the CPU receives the packet it sent out again, then it knows it passed through all the nodes, and can safely assume the packet has been received. 18:37:37 Cool. 18:38:14 what time is in seatle right now? anyone? 18:38:38 6:38pm I think. 18:38:41 oh 18:38:47 hm k 18:42:46 I have 6:42, and it's calibrated against WWV, so the time pretty much is spot on with the atomic clocks throughout the world. :) 18:42:59 well the minutes dont really matter 18:43:04 because thats the same for you as for me 18:43:08 as for anyone... 18:43:21 It matters for me, very much so. 18:43:34 One hour represents 60 minutes, but it also represents 15 degrees of arc of sun movement. 18:43:59 Thus, *technically*, we could divide the 24 hour time zones into 60 sub-segments, each of which will observe the sun being in a different part of the sky by 15 degrees. 18:44:03 :) 18:44:08 ... o...k...? :) 18:44:36 Basic math and geometry. 18:44:46 The sun is 0.5 degrees in diameter, as viewed from the Earth. 18:45:08 About the size of your thumbnail, with your arm fully extended. 18:45:28 kc5tja, are you wetwired to Wikipedia or something? 18:45:34 No. 18:45:37 :) 18:45:40 * kc5tja is also an amateur astronomer. 18:46:16 you are man of many things mr sir 18:46:21 Hehe :) 18:46:26 :) 18:46:36 Well, right now, I'm a man of empty stomach, so I'll be off to grab something to eat, and I'll be back. 18:46:42 haha later 18:46:46 damnit 18:46:53 its 3:46 am here 18:46:59 i cant even gloat to my friends about this 18:47:03 they're all asleep :s 18:47:12 qFox: You know what's insanely fun? 18:47:15 I think, at least... 18:47:18 So, as long as my references don't slash me from below, I should have employment sometime after tomorrow. 18:47:33 is using worldwide convers servers via AX.25 packet radio at 1200bps, while it's something like 2AM or so. 18:47:40 well, i'm not gonna spend more time on my code untill i talk to that dev, so... 18:47:49 There's just something about using radio in the wee hours of the morning, especially digital radio. 18:47:59 hm, sure, if you're into it 18:48:00 :) 18:48:09 let me put it this way 18:48:10 WWC is like IRC, but for ham radio operators. 18:48:42 that is exciting to me and you, as finding those msn bugs are to a treehugger and me 18:48:51 get it? :p 18:49:00 Umm...no. :) 18:49:02 j/kk 18:49:06 anyway, I'm out. 18:49:09 Back in a few minutes. 18:49:10 (couldnt quickly think of a noncomputercharactertypename in english) 18:49:55 --- quit: chandler (Remote closed the connection) 18:49:59 --- join: chandler (~chandler@64-145-60-36.client.dsl.net) joined #forth 18:50:11 at least i get solo recognition for this bug :p 18:50:22 last time i split it with a friend 18:50:37 hm and now i'm bored 18:50:45 think i'll play some zelda 18:50:52 (my xbox still hasnt arrived :@) 18:51:00 I'm a PS2 man myself. 18:51:09 i'm a nintendo-kiddie 18:51:12 100% 18:51:17 Heh. Youngins. 18:51:24 22ins 18:51:29 Yep, youngins. :P 18:51:32 i guess so compared to some ppl in here :p 18:51:45 which is good, i'm usually the oldest in the group :) 18:52:07 Go down to the cellar and fetch me a brew, boy! 18:52:13 heck no 18:52:16 zelda is calling me 18:52:16 sorry 18:52:19 ;P 18:52:28 Oooh, I should play some Maximo. 18:52:36 hm 18:52:42 you reckon i could ask for a gamecube now? 18:52:46 :D 18:52:48 Nah, my son might be mad if I played without him watching. 18:52:54 lol 18:52:57 Oh, thought you had a gamecube. 18:53:04 Zelda, Gamecube. 18:53:05 no, i'm a poor young boy :( 18:53:08 zelda 64 18:53:09 Are you talking NES Zelda? 18:53:14 no 18:53:17 GBA? 18:53:23 [03:53:05] zelda 64 18:53:31 ocarina of timez0r 18:53:43 Ahhzorz. 18:53:45 i dont even have majora's mask :( 18:53:53 Never have played them myself. 18:53:58 zelda rox 18:53:58 :) 18:54:04 My fav. console game is probably War of the Monsters for PS2. 18:54:08 the sounds of zelda, those tunes 18:54:12 o_0 18:54:20 hm fav console game 18:54:27 Yep, Zelda is pretty spiffers. At least, the old ones I've played. 18:54:30 tough one 18:54:59 its probably zelda or mario 18:55:03 I've liked giant monsters since I was a kid, and WOTM is the only game that has even approached capturing the feel of them in my books. It did a damn good job, too. 18:55:06 oh 18:55:06 no 18:55:08 screw that 18:55:12 mario kart for the snes 18:55:14 best game ever 18:55:15 Heh. 18:55:16 d'oh 18:55:21 i wasted that game 18:55:28 so many hours :) 18:55:36 There's the GBA version, looks good. 18:55:47 if its the style of the snes sure 18:55:52 It is. 18:55:54 the 64 and gc version suck 18:55:57 Looks almost identical. 18:56:00 compared to snes 18:56:02 ah cool 18:56:07 Most GBA stuff is like SNES games. 18:56:21 the gamecube's double player version is very good though, but other then that, gameplay sux on both 18:56:27 Double Dragon Advance is pretty good. 18:56:29 probably due to limiations 18:56:37 i dont have a gba either :( 18:56:41 do have a gb :) 18:56:43 I got one for free. 18:56:47 Air miles. 18:56:47 with a 130 game cardridge :) 18:56:49 haha nice 18:56:52 Heh, whoa! 18:56:59 yar 18:57:04 got it cheap too back then 18:57:11 had some nice games, gameboywise speaking 18:57:13 has. 18:57:22 Yea, I mostly seem to want the "classic" games collections for GBA, so I have lots of choices, and not much play obligation. 18:57:26 not just jap cardgame junk :p 18:57:29 qFox: I still have a gameboy 18:57:30 Need a GBA C64 emu though. :) 18:57:35 hehe 18:57:42 speedball2, double dragon and tetris being the only games I own for it 18:57:46 tetris 18:57:49 i was good at that 18:57:53 :) 18:58:02 Heh. 18:58:03 probably not as hardcore as some ppl, but pretty good 18:58:10 Speedball 2 for GB? 18:58:14 I just need to remake all those old C64 games. 18:58:31 that reminds me... gotta go check www.remakes.org 18:58:40 omg its been so long since i played zelda 18:58:45 have to get used to controls 18:58:47 gameplay 18:58:52 dont even know where on earth i am in the game :( 18:58:59 i mean quest-wise 18:59:16 Start over! 18:59:21 hell no 18:59:22 fu sir 18:59:41 good, i ahve the horse 18:59:49 that'll save me some precious time :p 19:04:48 unless you havent got a fucking clue as to where the location was again you had to go to :p 19:05:11 Teleport. Blow your whistle! Or something. 19:05:21 nono 19:05:22 thats 19:05:23 ummmmm 19:05:27 snes and gameboy 19:05:35 i believe, at least either of those 19:05:39 i think both 19:05:46 the bird from the marketplace 19:05:46 :p 19:06:10 hm 19:06:16 how did i dismount again... 19:06:18 heh 19:06:34 oh got it 19:07:51 madgarden, yeah! I played sb2 the most 19:08:49 I would have kicked your butt at SB2 back in the day, fridge! ;) 19:09:17 i can still kick anyone's ass in super mario kart 19:09:19 :p 19:09:36 been a while though, might ahve to get back into slip corners 19:10:54 Heh, actually once I had this massively intense SB2 match with a fellow BBSer, it was hyped for months. We finally had the fabled matchup, and it was the most intense gameplay experience of my life. I won all but 1 round, but each by just a hair. Heh. 19:11:17 I can't imagine SB2 on the GB. 19:11:38 :) 19:12:04 hm ok i finished this boss. damnit 19:13:08 madgarden, I played it originally on the amiga 19:13:17 fridge, same here. 19:13:17 it was a pretty good port to GB in my opinion 19:16:01 hm 19:16:16 i appearantly misspelled my nick when i started this savegame 19:16:19 qFoy :\ 19:17:07 Heh, I like qFoy better. 19:17:14 you do not! 19:17:19 I DO. 19:17:22 :( 19:17:27 :D 19:33:37 hrm. 19:33:49 --- quit: Sonarman (Read error: 110 (Connection timed out)) 19:33:52 hardware level configurable multi-tasking 19:34:16 Just out of the blue. 19:34:27 could work well. 19:34:32 if implemented correctly. 19:34:55 the trick would be to, after setup, require no kernel interaction unless a process is started or killed or put to sleep or something 19:38:27 maven is full of snags, isnt it ? :) 19:44:36 whats maven? 19:44:43 Jihad.declare(Cheeser.getInstance()); 19:44:48 woops 19:44:48 ianp, wrong channel fool 19:44:49 haha 19:45:04 chris-xp: some build tool for java 19:45:43 ianp, if you're gonna say it, say it right! CHEESER GETINSTANCE JIHAD DECLARE :P 19:46:24 madgarden karma1+ 19:48:37 --- join: Sonarman (~matt@adsl-64-160-165-171.dsl.snfc21.pacbell.net) joined #forth 19:48:40 --- quit: chris-xp (Read error: 104 (Connection reset by peer)) 19:49:18 --- join: chris-xp (~Chris@wbar8.lax1-4-11-099-104.dsl-verizon.net) joined #forth 19:49:34 wrong button. 19:50:53 in Forth: if i have a string, and i have a value on the data stack, how would i create a constant of that value with the name stored in the string? 19:50:54 pebcak. 19:53:47 Sonarman, well it would be whatever word CREATE uses to create a word from a string address on the data stack. 19:53:50 "CREATE perhaps. 19:54:07 would i set that string to the input buffer or something? 19:54:17 Then you'd compile a value to it. 19:54:19 Um... 19:54:42 Well, you would parse it using WORD or some such. 19:55:10 BL WORD COUNT "CREATE 19:55:13 Something like that. 19:55:39 MINFORTH is a nice one for examining various word definitions. 19:56:11 "create doesn't seem to be standard. what i do is, in word word, which is called from the toplevel, i do a BL WORD COUNT BUFFER SWAP CMOVE 19:56:21 s/in word word/in a word/ 19:57:02 where BUFFER is the name of my string buffer 19:57:19 Ok. 19:57:35 Why are you moving the string to BUFFER? 19:57:42 1sec 19:58:44 what i want to do is: in a later word, which is also called from the toplevel, create a constant whose name is stored in my buffer of the value of the top elm of the stack 19:59:42 i move the string to buffer because WORD stores at HERE, so to save space i don't ALLOT i instead move it to the buffer (so the stuff at HERE later gets overwritten) 19:59:57 How much later? is the PAD going to get destroyed before then? 20:00:04 Oh. 20:01:20 so i was thinking something like: ( value -- ) SOURCE @ SWAP MYBUFFER SOURCE ! VARIABLE SOURCE ! ; 20:01:38 which i'm pretty sure is wrong 20:03:04 maybe i could have the buffer be something like "VARIABLE "(32 bytes of space) 20:04:05 and the name gotten through WORD would begin at the area of the buffer that comes after "VARIABLE " 20:04:20 then i could probably do: 20:06:16 ( value -- ) MYBUFFER EVALUATE 20:06:50 i'm just trying to write a simple struct implementation :) 20:07:09 Huh. Weird. :) 20:07:40 so: 20:07:43 struct: foo 20:07:46 ...fields 20:07:50 ;struct 20:08:00 How are fields defined then? 20:08:05 would create a constant named foo whose value is the total size of the struct 20:08:31 : do-field ( offset -- ) 20:08:32 byte a 20:08:32 word b 20:08:32 long c 20:08:58 Create , does> @ + ; 20:09:12 : field ( total #cells -- new-total ) 20:09:44 over do-field cells + ; 20:09:47 something like that :) 20:09:52 i've closed my text editor 20:11:06 so you'd do 1 field foo 20:11:13 or 3 cfield bar for chars 20:11:26 i'd probably have to check alignment and stuff 20:12:17 I don't quite understand why you can't simply use CREATE without all the crazy buffer stuff above. 20:14:45 rush - 2112 20:14:46 kickass 20:18:59 Oh, better see if the Rushcast is working again. 20:22:33 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 20:26:47 Sonarman, have you seen this? http://www.mactech.com/articles/mactech/Vol.02/02.09/ForthStructures/ 20:32:33 --- quit: tathi ("leaving") 20:38:44 dammit, I missed tathi 20:38:45 damn 20:38:45 damn 20:38:46 damn 20:38:58 madgarden: does it work again? 20:39:11 oh yay! 20:39:14 Yep! 20:39:28 :) 20:39:31 * chris-xp works on frapuar 20:43:17 madgarden: who's hosting rushcast? 20:44:51 I just grabbed it out of the Shoutcast list. 20:44:57 "All Rush Radio" 20:45:48 ;) 20:45:57 Hrm. 20:48:36 how would I best bookkeep what windows overlap which? 20:49:48 hmm 20:49:54 maintain a set of regions? 20:50:27 well, the displaying part isn't a problem, i can deal with that 20:50:35 i mean for storage 20:50:39 use a quadtree of regions 20:50:40 _my_ problem is knowing which windows are higher-order 20:50:59 slava: thats for displaying, not knowing which window is higher than another :) 20:51:57 chris-xp, oops ,-) 20:52:37 :) 20:58:19 --- quit: qFox ("if at first you dont succeed, quit again") 21:05:24 aah, cool stuffs. 21:05:40 blah = malloc(1234); 21:05:49 fassert(blah, ""); 21:06:08 Deinit_register(blah); 21:06:16 :) 21:30:45 vinyl as in a record right? 21:30:47 Yes. 21:30:50 as in 12 inches of black joy 21:30:52 like... never mind 21:42:04 anybody alive ... please? 21:49:38 --- quit: ayrnieu (Read error: 104 (Connection reset by peer)) 21:51:21 back 21:51:31 yay 21:51:38 kc5tja: cached linked lists are fun. 21:52:02 chris-xp, :) 21:52:11 --- join: ayrnieu (julian@65.169.246.30) joined #forth 21:52:28 chris-xp: Explain? 21:53:21 kc5tja: basically, at the beginning of a program, X amount of linked list cells are created and hooked together in a variable called cache 21:53:35 kc5tja: then, when somebody wants a linked list, the function takes one from the cache 21:53:57 kc5tja: when he "frees" it, its put back on the cache 21:54:05 kc5tja: if the cache runs out, a new one is created. 21:55:49 OK, so NOT the cached linked lists I was thinking of. :) 21:57:05 why, what were you thinking of? 21:59:01 Keeping a cache of the most recently searched items in the list. 21:59:14 (which is how Objective-C speeds up its method dispatch by quite a bit, I might add) 21:59:25 --- quit: Herkamire ("goodnight") 21:59:50 well, same concept, almost :) 22:00:04 only sucky part here is that I can't batch allocate 22:00:06 Your method is a means of making list *allocation* faster, not searching. 22:00:16 yeah 22:00:26 chris-xp, read about generational garbage collectors with a copy-gc nursery. 22:00:36 chris-xp, allocating a linked list node is just incrementing a pointer. 22:01:17 slava: There is a reason why Forth has lived for almost 25 years without even static memory management. 22:01:39 It's because, for the largest part, the dictionary and its single dictionary pointer has served all the memory management needs of a typical Forth program that was needed. 22:02:24 i don't buy that :) 22:02:32 Well, think about it. 22:02:36 What happens when you forget a word? 22:02:43 deallocate memory 22:02:44 The dictionary pointer gets reset to an earlier part of the dictionary. 22:02:54 Hence, it frees all the memory it formally kept allocated. 22:03:00 its too... linear 22:03:23 suppose i allocate objects A B C, and i want to deallocate B and reuse that space for the next object, which is allocated in an unrelated part of the program. 22:03:55 It would probably allocate and construct the object at the same time using , or C,. 22:04:25 --- join: Serg (~z@212.34.52.142) joined #forth 22:04:51 kc5tja, i like the forth way but sometimes it seems it forces you to design your program too much around the language, if you know what i mean 22:05:20 Well, it's not hard to implement a mark-n-compact GC using Forth's dictionary pointer. 22:05:31 So if you *really* needed it, . . . 22:06:40 :) 22:06:47 i'm very tired -- good night! 22:07:01 good night slava :) 22:22:50 --- quit: Sonarman (Read error: 110 (Connection timed out)) 22:25:31 --- join: segher (~segher@blueice4n1.de.ibm.com) joined #forth 22:32:31 --- quit: fridge ("Client exiting") 22:33:40 --- join: imaginator (~George@georgeps.dsl.xmission.com) joined #forth 22:33:49 Hi all 22:34:27 hija 22:35:03 kc5tja: are you here? I was surprised by how inexpensive your Forth box would be. 22:35:57 --- join: Sonarman (~matt@adsl-63-196-0-27.dsl.snfc21.pacbell.net) joined #forth 22:36:39 kc5tja: have you read this: http://www.kuro5hin.org/story/2004/2/27/213254/152 ? 22:39:35 --- quit: Sonarman (Client Quit) 22:48:11 Well, it's not finished yet. 22:48:22 The prices thus far are *just* for the components used to build it. 22:48:29 I haven't priced out the printed circuit board yet. 22:51:48 --- join: Nutssh (~Foo@gh-1063.gh.rice.edu) joined #forth 22:53:31 kc5tja: I'll start saving for one, assuming I can afford the finaly product :) 22:53:38 -y 22:55:20 Well, like I said, I'm striving for a nice, compact computer design. 22:55:25 Err, not compact -- cheap. 22:55:31 I may not be able to hit it. 22:55:44 There are a *multitude* of surface mount components out there that are just *so* much cheaper. 22:56:32 And, of course, there are the FPGAs, which individually cost around $15 or so, and I can put, quite literally, *the* whole computer peripheral set on *one* chip, which would rather significantly cut cost of production down by a factor of 8. 22:56:46 (4 for the electronic components, and another 2 for the smaller PC board) 22:57:13 The ForthBox Raven design was going to use FPGAs, not only for its core I/O, but also to implement it's CPU as well. 22:57:43 (ForthBox Raven is going to be a MISC architecture design, 32-bit. VASTLY more powerful than the 65816.) 23:16:40 nice.... 23:41:34 --- quit: ASau () 23:58:32 OK, well, I may not be able to avoid the use of surface mount components in building the Kestrel. :( 23:58:45 It seems that *nobody* makes a 35ns or 25ns SRAM chip in DIP form. 23:58:47 Not a one. 23:58:52 :( :( :( :( 23:59:34 Maybe a better approach would be to sell the Kestrel without RAM, and sell memory modules for it as a separate item (like buying a PC motherboard without RAM, but you can purchase SIMM/DIMM memory modules for it) 23:59:59 --- log: ended forth/04.03.11