00:00:00 --- log: started forth/02.08.26 00:28:10 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 01:38:11 --- join: Fractal (ass@h24-77-171-228.ok.shawcable.net) joined #forth 02:48:09 --- quit: Soap` (Read error: 113 (No route to host)) 04:32:27 --- join: ASau (ASau@158.250.48.197) joined #forth 04:33:42 --- quit: ASau (Client Quit) 04:41:51 --- join: ASau (ASau@158.250.48.197) joined #forth 04:41:51 --- quit: ASau (Client Quit) 04:42:30 --- join: ASau (ASau@158.250.48.197) joined #forth 04:49:38 --- quit: proteus (Read error: 110 (Connection timed out)) 05:47:32 jaja, hat bizony az ekezetekrol kicsit megfeledkeztem en is 05:59:03 Hooray for hungarian! 06:00:13 Wah! 06:00:25 Hey ASau :) 06:00:33 onetom: Are you hungarian? 06:00:45 (Yes) 06:02:14 I try to find one libretto after Miclos... I don't know how it is on Hungarian... 06:02:23 D'arfas (?) 06:02:37 Dyarfas(?) 06:03:02 Maybe you know... 06:03:20 No, heh. 06:03:46 Let me see...(1 min...) 06:08:30 I don't know hungarian spelling... 06:08:51 I know only russian translation... 06:10:33 I've seen an TV-spectacle after Miclos Dyarfas "Wake up and sing"(?) 06:10:57 approx. 1977-1978 yr of production. 06:11:39 I'd like to read an english or russian translation of the original work. 06:11:56 I'd prefer a Swedish one, but that's me. 06:13:24 I hardly found out hungarian spelling of "Miklosh" - "Miclos" (possibly with diacritics). 06:14:16 I had to dig in hungarian national web...terrible thing in case you don't know the language. 06:14:22 :] 06:14:26 Haha 06:14:28 Yeah ;) 06:15:46 Interesting test... 06:15:58 Âèäíî êèðèëëèöó? 06:16:08 Do you see cyrillic? 06:16:35 Nope, but I can switch to cyrillic mode. 06:16:43 Now I see it. 06:17:08 Äà-à-à... Òÿæåëûé ñëó÷àé. 06:17:10 But... heh. 06:17:16 Looks like nonsense. 06:17:52 Bchdmn jchpchkkch..something..s 06:17:57 That's the first row. 06:18:07 (I think) 06:18:17 I don't know cyrillic that well, heh. 06:18:52 'Ï' must look as capital greek "pi". 06:19:46 May be most signed bit is cut off? 06:20:19 îÏ ÉÄÅÁ 06:20:25 oops 06:20:41 Hrrm. 06:20:50 Hmm. What encoding do you use? 06:21:30 koi8 06:42:33 hi 06:43:17 Robert: squeak is amazing. it didnt let me sleep since i found it :) 07:22:32 --- join: Speuler (~l@p3E9B8EBE.dip.t-dialin.net) joined #forth 07:23:01 hi 07:23:43 hi 07:24:03 * onetom squeaks :) (squeak.org) 07:25:02 id like 2 c a 4thOS what is so sophisticated in inner design as squeak 07:25:44 but the GUI is unimportant. fullscreen taskswiching will b sufficient 07:25:59 * Speuler receives a battery warning: 15 min left :( 07:26:14 but stealing graphical algos from, squeak is a perfect mine 07:40:54 Squeak? Isn't that some smalltalk environment? 07:48:01 * Speuler baffled: AC off-line, battery status low: 7% (0:14:00) 08:00:46 squeak didn't let you sleep? how cruel! see how mean squeak is?! it stole your sleep! 08:00:56 --- join: XeF4 (xef4@lowfidelity.org) joined #forth 08:05:13 Hehe. 08:05:17 Hi XeF4, futhin :) 08:05:40 hi. 08:10:50 --- join: I440r (mark4@pool-63.52.218.5.ipls.grid.net) joined #forth 08:11:21 Hey I440r 08:11:54 hallo 08:13:22 hi! 08:14:22 so whussup ? 08:15:04 onetom has discovered squeak and is in rapture over the squeak model/system 08:15:27 and naturally wants something like squeak for forth.. 08:15:46 i have been working on a forthwebsite.. http://sempiternity.org/forth/ 08:16:17 and been pondering postscript in forth 08:16:45 postscript-like graphics system in forth that is 08:17:02 futh: do you mean "abstract" by "excerpt"? 08:17:22 no, it's ripped off from somewhere else 08:17:29 and i forgot the page & haven't given credit 08:17:37 its temporary 08:17:45 i'll write up my own explanation of forth 08:17:53 :) 08:27:41 Forth was kicked out of Eden just before Adam and Eve, since God hated stacks. 08:27:52 Therefor, Forth is associated with sin. 08:30:52 it gets worse. Forth is a "fourth-generation" language. I guess its creators didn't learn from the first 3 Babel towers.. :-) 08:31:21 Was there 3 towers in Babel? 08:31:35 not until CS people came along 08:31:36 * Robert only thought there was one :D 08:50:07 --- quit: XeF4 ("pois") 09:07:05 you are wrong, god loves stacks, that's why he lovingly pushed stacks out into the real world 09:13:40 If I'm right, he pushed them into the real world to destroy humankind. 09:20:47 --- quit: ASau () 09:21:32 no 09:21:47 because you said adam and eve were kicked out _after_ 09:21:48 jeez! 09:22:00 beaten by a smarter kid! 09:23:24 You know, the Bible isn't logic. 09:23:28 So why should I be? 09:23:38 nuh-uh! talk to the hand! :P 09:23:48 God kicked the stacks once, the Devil brought them back, then he pushed them to us. 09:24:49 what the hell are you yaking about 09:25:06 why have you suddenly started bullshiting about stacks being evil?!?!?!!? 09:25:07 GOD IS PUNISHING US! 09:25:08 wtf?! 09:25:09 fuck you! 09:25:11 heh 09:25:18 yeah 09:25:20 Heh. 09:25:20 no 09:25:26 C is GOD PUNISHING US 09:25:33 Forth screws people's minds. 09:25:35 OLD CRAPPY PROGRAMMING PARADIGMS IS GOD PUNISHING US 09:25:40 no 09:25:42 only stupid people 09:25:51 only stupid people with old paradigms 09:25:52 Hehe. 09:26:04 So, you and I have forth-screwed minds. 09:26:11 if forth was the _first_ programming language taught to people 09:26:17 everybody would think forth was perfectly normal 09:26:18 and easy 09:26:20 and understandable 09:26:26 No. 09:26:28 yes 09:26:37 Since they were used to algebraic notation from math :) 09:26:52 no you teach them forth when they are still doing 09:26:55 2 09:26:59 + 3 09:27:06 --- 09:27:09 5 09:27:13 btw, I was trying to write an algebraic expression parser in forth. 09:27:24 The local variables were driving me crazy. 09:27:28 that's cause you have a screwed mind 09:27:38 Too much stack magic screws your mind :) 09:27:39 Heh. 09:27:45 Maybe, yes... 09:27:48 But, heh. 09:27:52 I AGREE! too much stack magic is GAY 09:27:54 I couldn't factor it much better. 09:28:05 that's WHY I NEVER USE ANY STACK MAGIC.. hahahahaha! 09:28:09 Heh. 09:28:11 you should code better 09:28:16 stop messing with the stack 09:28:27 YES ONLY USE VARIABLEZ 09:28:31 no 09:28:34 ew 09:28:38 Factorize? :) 09:28:39 no variables, no stack magic 09:28:40 That 09:28:49 That's not always easy. 09:28:58 robert: you aren't coding forth when you are coding in forth 09:29:00 you are coding C 09:29:01 or pascal 09:29:08 or whatever previous language that's brainwashed you 09:29:16 you keep coding that even when you are coding in forth 09:29:29 How SHOULD I code instead? 09:29:47 read ultratechnology.com articles to find out how chuck moore codes 09:29:50 then do it like he does 09:29:57 Heh, OK. 09:30:00 --- join: proteusguy (~proteusgu@24-197-147-197.charterga.net) joined #forth 09:30:03 Anything special that's worth reading? 09:30:04 Hey proteusguy. 09:30:18 Howdy Robert 09:31:15 --- nick: proteusguy -> proteus-away 09:31:38 Chuck Moore's programming rules: 09:31:38 a word should not be more than 1 or 2 lines of code 09:31:38 a word should not pass more than 2 parameters by stack 09:31:38 don't manipulate more than 3 items on the stack 09:31:38 if there are more than 3 items on the stack that you need to manipulate, try solving the problem in a different way, perhaps factorize it more - the end results will be better 09:31:50 robert: follow those rules as strictly as possible 09:31:54 and you will be amazed 09:31:57 it'll be hard at first 09:32:00 but you'll get good at it 09:32:30 Hah. 09:32:32 keep the words short, and don't bother too much with any fancy identing 09:32:42 That Jeff Fox looks like a VERY sane guy. 09:32:53 he is 09:33:00 why are you trying to belittle forth? 09:33:06 or belittle forthers? 09:33:09 He's giving over-bloated programs and systems a big slap :) 09:33:12 Am I? 09:33:35 well i hope "that jeff fox looks like a VERY sane guy" wasn't sarcastic 09:33:47 It wasn't. 09:34:46 I'm just suprised how he - like not too many others - talk about how money is wasted on hardware that wouldn't be nessecary if the programs were less bloated. 09:35:19 ? 09:35:29 lots of people talk about how money is wasted on hardware 09:35:33 I know. 09:35:36 k 09:35:43 But, still too few. 09:36:08 And most of them (if not all) are programmers and computer scientists. 09:36:31 There are even programmers who don't react. 09:36:53 I just liked Jeff's text about it. 09:40:21 And... it reminds me about a project I want to do for school. 09:40:49 Make a tiny computer (maybe just with a PIC and a test board, that's about what the budget allows), and play with Forth on it. 09:44:01 * Robert imagines coding forth using binary switches.... 09:44:06 MmmMmmm...that'd be nice. 09:53:20 well that's what making forthchips is all about isn't it? :P 09:53:36 speuler coded some nands and xors and stuff in brainfuck 09:53:43 and then he started writing a forth out of them 09:53:44 i think 09:56:11 Robert - check out the Atmel AVRs. Great support community - cheap & powerful. Is well designed for forth whereas the PIC doesn't have the registers you need. 09:56:31 --- nick: proteus-away -> proteusguy 09:56:36 Yes, and the PICs are rather resouce starved. 09:56:47 Especially the 16f84. 09:57:05 That is, if you want to have Forth code in RAM. 09:57:06 well that's why you can get them for $3 :) 09:57:11 ;) 09:57:12 Yeah. 09:57:18 Well, I'll see whan I can get. 09:57:28 Anything is better than nothing :) 09:57:44 Last year my school forced me to do MS-Word excercises. 09:57:45 there is this open source forth compiler for the 16bit pics. lemme find it. 09:57:49 I think there are AVRs that have gate array packages as well. Could put your forth in there possibly... I'm just looking at them now. 09:57:51 To even hope for a PIC might be too much. 09:58:11 "Gate array package"? What is that? 09:58:40 http://mary.pepix.net/ .. the PIC that it's for it supposadly pretty decent. 09:58:51 Lets you design your own chip by laying out gates then burns to the chip and you can create your own cpu or support ic. 09:59:05 is that like an FPGA ? 09:59:10 Exactly. 09:59:18 Field Programmable Gate Array i believe. 09:59:23 correct again. 10:00:14 Oooh, neat. 10:00:47 But, please remember the only electronics I've ever done is to solder together a few components. 10:00:53 My PIC programmer didn't even work. 10:01:44 i had a lot of luck with the scenix kit at parallaxinc.com .. comes with two SX28 (like a 12-bit PIC) and a simple serial port programmer & ICE. 10:02:38 but it's pretty much impossible to do a forth on an SX28. :P 10:03:20 Never say never :P 10:03:21 Hmm 10:03:25 How much did that kit cost? 10:03:43 Robert - then I'd say get an AVR starter kit (~ $75) which comes with free Windows software to program the thing. Its a gentle entry into embedded and easy to understand. 10:04:18 proteusguy: Where can I buy one of those? If I get a programmer + chip + testing board, I'd buy it for $75! 10:05:30 hold and I'll get you a url... 10:06:07 Thanks... I'd love something that can ship to Sweden :) 10:06:14 (Without charging $50) 10:06:31 the parallax kit is $95 i think and comes with a breadboard with some lights on it:) 10:06:48 Sounds decent, too. 10:06:55 but I think AVR is more powerful chip. but SX28 is less expensive. 10:07:15 I'll take it if I can't get the AVR ;) 10:08:01 ouch. $180 for the SX kit now. they used to have this SX "university" kit for under $100 but i don't see it on thier site anymore. 10:08:12 :-( 10:08:26 *sigh* 10:08:30 Let's hope the AVR kit is better. 10:08:48 Also a simple RISC one-chip computer? 10:09:04 http://www.xess.com/ sells awesome FPGA kits for cheap. you can get a xilinx SpartanII with VGA-out and PS/2 keyboard jack and an 8042 to control it. 10:09:46 Oooooh. 10:09:49 Cheap? 10:10:24 http://www.avrfreaks.net/Tools/showtools.php?ToolID=115 10:10:40 $150 gets you a 10k-gate FPGA, 8MByte SDRAM, VGA-out, 7-seg LED, CPLD, 128KByte Flash. 10:10:46 There's the kit - it has a distributer link to find where to buy. 10:10:49 http://www.xess.com/prod027.php3 10:11:06 wait. i'm sorry. SpartanII is 50k-gate :) 10:11:08 proteusguy: Thanks :) 10:11:13 Hmmm... 10:11:19 The cheapest one is not in stock, bah :P 10:11:23 Costs $120 10:11:29 The AVR is a RISC computer and almost always gets one instruction per cycle which makes it a very nice performer. 10:11:42 yah. i think they are discontinuing that one. 10:12:06 $150 for one that is 4x larger is not a bad deal though:) 10:12:09 Wow! These things got an awful lot of RAM. 10:12:13 Hehe. 10:12:28 Robert: well realize it has VGA-out. you are going to use a big hunk of RAM as a framebuffer. 10:12:29 What's the name of that? SpartanII? 10:12:41 XS-50 is the $150 one. 10:12:47 Hehe. 10:13:01 spartanII is the name of the xilinx fpga on that board. 10:13:20 OK. 10:13:25 What's an FPGA? 10:13:58 1 mbit flash... that makes hell of a Forth dictionary :) 10:13:58 field programmable gate array. 10:14:28 How are the boards programmed? 10:14:38 Do I have to have a separate programmer? 10:14:51 robert, you write a "program" in verilog(pascal-like) or VHLD(ada-like) 10:15:01 no. this one you plug into a parallel port to program i believe. 10:15:10 OK, cool. 10:15:22 Can't I code in machine code? 10:15:26 and then you build the code and it produces the logic gates it needs 10:15:31 robert, there is no machine code here. 10:15:36 it's not a CPU 10:15:42 What is it? 10:15:44 it's a programmable circuit. 10:15:57 What kind of code does it accept then? 10:15:58 you would normally write a small cpu in vhdl or verilog. 10:16:14 robert, it accepts an array of what each "cell" does. 10:16:29 the "compiler" just takes your code and tries to route the circuits through the chip 10:16:46 Hmmm 10:16:50 I don't quite understand. 10:17:11 Robert - gate arrays are something you'll want to get into later but not as your first play with embedded stuff. 10:17:13 it's kinda neat cuz you can take whatever you write for it. and then have a xerography printed of it and they can burn it straight onto ICs at the factory. 10:17:41 Oh. 10:17:48 Well, I'll check proteusguy's link then. 10:17:48 Robert, basically it's like a wad of logic gates. but you use a high-level language to generate the gates. and it builds a circuit on the chip. 10:17:51 Gate arrays are just ways for you to design/build your own chip. Which is pretty cool. 10:18:07 Heh, nice. 10:18:11 it's apparently not that hard to do something simple. the only hard part is if you have timing bugs. 10:18:29 Those sound evil. 10:18:45 I know you hang out on the #asm channel and you will be able to get a program running on your AVR board within a few hours of getting the box in the mail. 10:18:45 oh they are:) 10:19:08 proteusguy: Hehe :) 10:19:11 those microcontroller boards are a load of fun. 10:19:47 yeah they are - and AVR's go for not much more than a PIC when you want to build your final device. 10:20:36 yah. my EE friend is always trying to get me to use Atmel stuff instead of Scenix or Microchip. I'm not sure why he's a big fan of them, i have yet to try them out though. 10:20:53 Hmmmm... 10:21:11 proteusguy: Do I need anything else than that board? No programmer? 10:22:24 That board is a programmer and talks to your host computers parallel port (or serial) with a very nice free development system under windows. Some people have written a linux support system as well. 10:23:06 It also has 8 buttons and leds for testing and plenty of plugs for your own stuff. Everything can be routed to just about everywhere. 10:23:39 Cool! 10:23:53 I got Windows on a computer, so that shouldn't be a problem. 10:23:55 Check out the .pdf literature on the site I posted and you'll see the details. Remarkably nice setup for a very low price. The architecture of the chip is very clean. 10:24:07 Yes, I'm reading one of the PDFs now. 10:24:16 Enjoy... :-) 10:24:21 $80 is quite cheap. 10:24:54 Hmmm 10:25:13 It only says it has sockets for different amtel chips. 10:25:24 Do I have to buy those separate? 10:29:00 They cost about $15 each here. 10:29:09 (ATmega163) 10:29:14 * Robert checks other ones. 10:30:06 I think it comes with one. 10:30:29 OK. 10:30:33 I'll check that out. 10:30:48 Hm, what device would you recommend? 10:31:46 There's a gazallion of them to choose from. 10:31:55 Really just gotta play with them... 10:33:03 OK :) 10:33:10 * Robert picks a few. 10:33:36 From a programmer's perspective the coding's the same - just different memory and device options. 10:34:42 OK, nice. 10:34:56 Hmm, some of them got a really nice amount of RAM/flash. 10:35:07 Yes they do - remarkably so... :-) 10:35:29 Make's it easy for us software guys to get sloppy with our prototypes... 10:37:02 I saw one with 1/2 kB of flash, and 1 kB of RAM. 10:37:15 That's enough for some Forth :) 10:38:50 My last "home forth" project was the 6809 on a Heathkit Hero-1 robot in 1986. I think we had 16k RAM. 10:43:05 Okay. 10:43:53 Well, with this..ehm..quite limited space, I think I'll write most code in assembly rather than high-level forth definitions ;) 10:44:13 Don't you think 1kB would be enough? 10:44:19 I think you can afford the bigger chip. 10:44:25 Uhm. 10:44:27 Enough to do what? 10:44:39 I think that's the biggest chip that board supports. 10:44:47 ATmega163 10:44:50 hmm?? hold on 10:44:54 Wait a few secs 10:45:52 "*The device is supported throgh ISP programming or external target or through the STK501 expantion module." 10:45:56 What does that mean? 10:46:06 * Robert english no good speek :-( 10:46:24 And on top of that, my spacebar key is almost broken. 10:46:32 * Robert will switch keyboard soon. 10:47:53 There's a seperate daughter board you buy (501 kit) that allows you to plugin the other chips. However the 500 kit directly supports the AtMega323 I think. 10:49:00 Hmm 10:49:06 They don't have any of those. 10:49:15 How much RAM/flash does the 323 have? 10:49:51 Don't have any of what? 10:50:17 I think 2KSRAM & 32k flash & 1k EEPROM 10:51:06 ELFA, my local electronics shop. 10:51:22 They don't have any ATmega323. 10:51:23 Hmm 10:51:37 Well, that's the double amount of the 163 10:51:39 oic - that could be a problem. I'd order from DigiKey. 10:51:50 Where are you located? 10:51:52 Where can they ship from? 10:51:59 Sweden, near Stockholm. 10:52:35 Cool! They have a 2MB flash card on the board. 10:52:44 Then I guess the storage isn't much problem. 10:53:15 Hrm. 10:53:54 1 kB of RAM, do you think that is enough if I got unlimited DataFlash(R)? 10:55:36 --- join: Kitanin (~clark@SCF61185.ab.hsia.telus.net) joined #forth 10:56:56 Hi Kitanin. 10:57:19 Hi. 10:59:28 * Kitanin wishes his employers would let him run the mail server, so it actually worked on occasion... 11:00:36 ;) 11:02:15 Although the fact that they've turned validation into a halting problem fascinates me... 11:05:05 We get signal! What you say? All your bandwidth... 11:10:31 --- quit: proteusguy (Read error: 110 (Connection timed out)) 11:19:08 * Kitanin could wirewrap a faster mail server than the one he's pulling email from... 11:56:38 --- quit: Speuler (Read error: 110 (Connection timed out)) 11:56:39 --- quit: Kitanin (Read error: 104 (Connection reset by peer)) 11:57:37 --- join: MrReach (~mrreach@209.181.43.190) joined #forth 11:58:40 mrreach! 11:58:46 ltns :) 11:58:51 hihi! 11:58:55 how are you? 11:59:16 not too bad, ive made a start on the isforth assembler 11:59:22 but im semit stuck again :P 11:59:27 semi 11:59:31 cool ... erm ... not cool 11:59:58 which intel processor are you targeting? 12:00:12 well ive dropped it for now, im find that if im stuck and go away when i come back i got it all figured out 12:00:24 i want 386 to p6 plus fpu, mmx, sse 12:00:28 yep, often involving a rewrite 12:00:51 heh, no wonder you're stuck @:^> 12:01:42 *HUGE* instruction set, and irregular 12:02:10 well i might need to change things a little but i dont think ill need a rewrite, ive not got enough yet 12:02:16 * MrReach hands I440r some ImmodiumAD(R) 12:02:23 no actually, its VERY regular 12:02:36 oh? ok 12:02:40 but NOBODY (including intel) wants you to know that 12:03:02 well, if intel published the opcodes the way they actually WERE, you wouldnt have ANY problems understanding them 12:03:28 cool ... that'll certainly make things easier for you 12:03:45 prolly, i still have my work cut out for me tho :) 12:04:31 you gonna do the P4+ microops, too? 12:04:54 err p4+ ? 12:05:20 wasn't it the P4 that started the alternate machine code set? 12:05:49 oh 12:06:00 as in new encodings for existing opcodes ? 12:06:41 well, as I understand it (and I might be wrong) ... one of the Pentium chips started a move towards RISC processing 12:07:04 hrm 12:07:19 where a specific escape in the machine code would cause all furthor memory to be interprested as RISC instructions 12:07:37 hrm ill hafta research that 12:07:38 am I way off in left field? 12:07:56 not sure heh 12:08:17 maybe I'm thinking of the internal RISC pipeline decoders 12:08:39 but I seem to recall an escape that changed the instruction set altogether 12:09:06 well if theres an 'alternate' i may support it in the future but to begin with prolly not 12:09:17 have you been thinking about optimisers and instuction interleaving and whatnot? 12:09:44 it's hella hard to write optimised code by hand, you know 12:10:00 nope :) 12:10:12 i disagree with optimizing at the instruction level 12:10:19 * MrReach nods. 12:10:22 its silly realy, 12:10:28 you get 2% improvements 12:10:40 oh, no, not at all 12:10:47 optimize your algorithms and you get 80% improvements or better 12:10:58 you can get 400% improvments (4x speed) 12:11:25 yes, algorithymic optimisations are more effective 12:11:55 well it depents on what algorithm you started with heh 12:12:09 you could get 1000% improvements :P 12:12:18 you're aware that if you order your instructions correctly, you can perform up to 5 instructions simultaneously, right? 12:12:42 nope, dont realy care at this point :) 12:12:51 but if you order them incorrectly, you get pipeline stalls that execute only one instruction at a time 12:12:52 isforth is DEFINATLY breaking all the rules anyway 12:13:16 i.e. instructions and data in same pages 12:13:46 * MrReach nods 12:14:05 yeah, it's a real braintwister when you get into it 12:14:27 I feel sorry for the geeks whos whole professional life is spent thinking about optimising 12:14:44 hehe 12:14:53 optimizing is FUN :) 12:14:54 but, at the same time, their compilers are beyond compare 12:15:01 even at the instruction level 12:15:13 but its not something a COMPILER should do 12:15:54 well, a human certainly can't do it 12:16:03 who/what shuld do it, then? 12:17:05 the coder 12:17:10 if he feels like it 12:17:11 heh 12:17:20 hmmm ... 12:17:49 personally, I think the coder should be thinking about algorithymic optimisations 12:18:12 s/eh shouldn't have to look at the machine code unless something has gone wrong 12:18:18 err personally i think the coder should be thinking about and be in control of EVERYTHING 12:18:49 ok, that's fair 12:18:55 heh 12:19:13 I didn't mean to imply that the coder _couldn't_ dig into the machine code 12:19:16 he doesnt need to be constantly on top of EVERYTHING but he shouldnt delegate important things to the compiler 12:19:25 only that it should be a very unusual thing 12:19:51 well, i would rather see him coding things in asm that dont NEED To be than coding things in c that REALY should be done in asm 12:21:02 there are parts of isforth that should realy be high level and parts that are but should be asm 12:21:12 when writing a forth word, should the coder be thinking about what it is going to compile to? 12:21:47 yes, when I wrote JSRForth, it ran so miserably slow that I abandoned it before really tuning it up 12:22:14 yes, i think he SHOULD know and be thinking of what it compiles to 12:22:15 it probably could have done QUITE well had I spent another 20 man-hours on it 12:22:46 Hi MrReach! 12:22:51 when I'm writing apps, it's hard for me to STOP thinking about what is getting compiled, and it gets in the way 12:22:59 greetings, Robert 12:23:26 i think the "its getting in the way" is your subconcious trying to tell you something 12:23:34 * Robert will buy an Amtel board and play with Forth on it. I've always wanted to play with some embedded stuff, and test how good forth is for it. 12:23:42 I440r: Hi to you, too :) 12:23:50 if it starts getting in the way stop, go take a walk, make a coffee, mow the lawn (in that order) then come bac :) 12:24:00 back 12:24:03 even heh 12:24:14 "Is this word a primitive? yes, it will run fast. No, it's not, is there a set of primitives I could subst for it? This word nests 5 deep, I want to avoid it ..." 12:24:54 no, thats not "it getting in the way", thats you being an absolute perfectionist. thats a GOOD thing though 12:25:03 i wish some of the c community were more like that 12:25:11 i probably wouldnt hate c so much if they were 12:25:15 no, it's in the way, because I should be focusing on the task at hand" 12:26:08 then do the stop, walk, coffee, lawn thing and come back to it :) 12:26:30 when the task is completed and runs too slow, *THEN* I should think about such things 12:26:44 it might be at that point that I decide to look at machine code 12:27:57 something I discovered when exploring machine code optimisation with speuler ... 12:28:44 is that it doesn't matter how long or how slow the optimiser is, because there's MIPS to burn and the application user will never actually experience the delays 12:29:34 heh 12:29:35 (the idea is that the coder develops on unoptimised system ... then turns on the optimiser for production code) 12:29:54 then turnkeys the optimised code to the shipped product 12:29:55 and you cant guarantee it functioning in an identical manner then 12:30:17 well, that's kinda the promise of an optimiser 12:30:32 not that they are always perfect 12:31:17 :) 12:31:50 heh, that WOULD be terrible, to have to find a bug in the optimiser 12:32:09 heh 12:32:32 discrepancies in your code due to optimizer failures are usually VERY obscure 12:32:42 but it happens occassionally, and I bet one of the reasons you're so vehement about optimisers is that it's happened to you 12:32:42 another reason im against optimizers in general 12:32:59 hehe 12:33:07 just a "guess" eh ? 12:33:24 you've never said as much 12:33:40 no it hasnt realy, i just dislike having object code that looks NOTHING like i expect 12:33:50 in any case ... I know that a software program can optimise a bit of machine code far better than I can 12:34:21 even if I were to make optimising a part of my profession, the best I could do is approach the level of the software 12:34:25 i know some people who can do it by hand. i personally think they are crazee :) 12:35:33 then how/when would you like to see machine optimization performed? 12:36:02 by hand. but only when needed 12:36:42 you can optimise as good as a good compiler? 12:37:11 lol 12:37:28 thats not important to me :) 12:37:47 ah! as long as it's "fast enough" 12:38:12 the only thing I might say to that, is that not everyone is using the same hardware as you 12:38:13 if it does the job it does the job 12:38:29 yea. the idiots :P 12:38:45 but that doesn't really rationalize full-time optimisation 12:39:26 are you on Linux or Windows now? 12:39:44 windows actually 12:40:19 ok, when was the last time you built a usable application, with a GUI user interface? 12:40:33 on either actually, it's no walk in the park 12:40:51 lol i avoid developing GUI :) 12:41:02 why is that? 12:41:34 i have all the xlib books, ill build x stuff into isforth eventually but i think developing gui is a pain 12:41:56 it *IS* a PITA 12:42:07 can forth be used to make that simpler? 12:42:16 perhaps by an order of magnitude? 12:42:46 possibly but win32 forth doesnt seem to :) 12:42:55 no it doesn't 12:43:14 in fact, Zimmer provides no GUI abstraction whatsoever 12:43:45 :) 12:43:51 basically, it's "You can call the libs, so anything you can do in C you can do in win32forth" ... and he leaves it at that 12:44:11 a classic case of passing the buck :) 12:44:16 sane :) 12:44:38 designing a "widget set" would have boosted win32forth's popularity immensely 12:44:59 p;rolly 12:45:07 but it would also have boosted his workload :) 12:45:20 in fact, I'm quite surprised that Swiftforth hasn't done it either 12:45:34 well, I guess it's because ... 12:45:51 one of Forth's major claims to fame is "small" 12:46:11 and a widget set makes for a large dictionary ... no way around it 12:46:28 heh 12:46:44 it could be kept small if you had sub vocabulary vocabularies 12:46:50 did i just invent that idea ??? 12:46:50 heh 12:47:07 how would that reduce the size of the dictionary? 12:47:27 it wouldnt, it would reduce the size of teh VISIBLE vocabulary 12:47:29 might reduce the number of visible words, true 12:48:04 good factoring might reduce the size compared to a C lib 12:48:06 thats why i finaly broke down and implemented vocabularies in isforth, the one vocabulary i had was becoming HUGE 12:48:18 specially as i also didnt have any headerless words heh 12:48:25 * MrReach nods. 12:48:27 i had all the cruft in there too 12:48:57 well, forth dictates (encourages) factoring ... which means lots of support words 12:49:13 yes 12:49:26 often words that are not reusable 12:49:32 * Robert can't factor. 12:49:52 Robert: your defs end up huge? 12:50:08 Yes, _huge_ is the word. 12:50:22 brb, my siberian attack poodle wants walkies :P 12:50:25 Sometimes almost a page (that is, 50 lines). 12:50:30 Heh. 12:50:35 what platform? 12:50:53 mine are often a page long, but there's lots of whitespace and comments 12:51:22 in fact, in my apps, there's like one compilable word per line 12:52:05 the typical code line might contain five compilable words of forth (and a resulting stack comment) 12:52:11 My sister has a siberian attack hamster. 12:52:11 MrReach: I use IsForth/gforth on Linux/NetBSD. 12:52:32 it is usually preceded by a comment line, and followed by a blank line 12:53:16 Fucking OPN lag... 12:53:16 2 minutes, irssi says. 12:53:16 I guess I'll get flooded or disconnected soon. 12:53:32 whois irssi? 12:54:27 --- join: XeF4 (xef4@lowfidelity.org) joined #forth 12:55:21 FUCK, 4 minutes. 12:56:06 --- quit: Robert (Remote closed the connection) 12:56:06 --- join: rob_ert (~robert@h237n2fls31o965.telia.com) joined #forth 12:56:10 --- join: Robert (~Robert@robost86.tsps1.freenet6.net) joined #forth 12:56:17 Bah. 12:56:28 NOW the ipv6 connected one comes back., 12:56:31 --- quit: rob_ert (Client Quit) 12:56:46 heh 12:56:50 21:51 < MrReach> what platform? 12:56:55 21:51 < Robert> MrReach: I use IsForth/gforth on Linux/NetBSD. 12:57:09 right 12:57:10 Last thing I saw from you. 12:57:16 mine are often a page long, but there's lots of whitespace and comments 12:57:19 in fact, in my apps, there's like one compilable word per line 12:57:21 the typical code line might contain five compilable words of forth (and a resulting stack comment) 12:57:24 it is usually preceded by a comment line, and followed by a blank line 12:57:31 [end] 12:58:22 I see... I'm also getting a lot of problems with variables of stack running out of control. 12:58:30 (Too many of them, often at least 3) 12:58:38 with that kind of coding style, I make no apologies for multi-page definitions 12:59:10 to many local variables? or global variables? 12:59:11 * Robert is a lousy Forth coder :-( 12:59:26 "variables" on stack. 12:59:34 I don't use alot of global vars. 12:59:44 oh! your saying the stack is too deep to work conveniently? 12:59:46 named locals or just stack cells? 12:59:56 XeF4: Stack cells. 13:00:02 MrReach: Yeah. 13:00:16 * Robert would like to know how to use names local variables. 13:00:28 in gforth? 13:00:40 I doubt isforth supports them, yet 13:00:42 Yes, for example. 13:00:48 depends on the forth, try { a b c } 13:01:16 I'm trying to code an algebraic expression parser in Forth. 13:01:27 Looking at an earlier implementation in C. 13:01:40 which "should" move 3 items from the data stack to the locals stack, addressable by names a,b,c (where a is the old datastack top) 13:02:02 OK. 13:02:22 http://www.complang.tuwien.ac.at/forth/gforth/Docs-html/gforth.html#Local%20Variables%20Tutorial 13:02:32 it's a *BIG* file 13:02:52 I just can't find a good way to handle the many functions, calling each other and recursing. 13:02:55 Oh, thanks. 13:03:24 then you probably don't understand the problem very well, yet 13:03:55 are you using a recursive descent parser? 13:04:12 I think so (not 100% sure about the name). 13:04:34 god, those gave me nightmares when I studied them 13:04:38 Do you know of any GOOD implementation in Forth? 13:04:52 no 13:04:58 :-/ 13:05:05 Well, I'll try to write one. 13:05:12 in fact, I know of precious few good implementations of anything in forth 13:05:19 One problem I had is where to keep the address of the byte going to be parsed next, 13:05:30 (And the count of bytes to be parsed) 13:05:33 why not keep it in >IN 13:05:44 >IN ? 13:05:49 --- nick: XeF4 -> XeF4pois 13:05:53 the pointer to the input buffer 13:06:02 erm ... sorry 13:06:10 the offest in the input buffer 13:06:43 it is a variable 13:06:58 What kind of input buffer is that? 13:07:17 the text input buffer 13:07:25 the main storage place for the parser 13:07:44 Is it the Forth's own storage, or for things like ACCEPT ? 13:07:47 it can be filled from any number of places ... like the keyboard or a file 13:07:52 yep 13:08:04 The former? 13:08:19 ACCEPT, sorry 13:08:24 Oh, OK. 13:08:31 didn't see the binomial nature of your question 13:08:43 It's OK :) 13:08:56 that's one possibility 13:09:11 another is to set up your own buffer, with it's own name and offset 13:09:34 Yes, but should I keep the address to it on stack during parsing? 13:09:48 Or in a variable, pointing to the next element to be parsed? 13:09:51 a recursive descent parser should work ok from the input buffer, though 13:10:39 usually, buffers are specified as address/offset combination 13:11:20 Okay, where to keep the offset then? 13:11:24 so that would be TWO variables, if you were to use them 13:11:27 hmmm ... 13:11:33 In a variable? 13:12:08 personally, I would probably have them on the stack on entry, and then immediately move them into local variables 13:12:15 at least the address 13:12:30 the offset is likely to be manipulated a lot, so I might leave that on the stack 13:12:53 local variable do have some overhead, though it's not very much 13:13:35 Okay... Then each level of the parsing has its own local variable to hold the result of the level above, which it later will apply an operator on. 13:13:54 The offset/address, and the two numbers, that's at least three items. 13:14:21 One of these need to be kept during execution of another function. 13:14:25 grrr ... I've forgotten exactly how they work 13:14:32 I got stuck there :-/ 13:14:34 Uhmm 13:14:40 I got some simple C code. 13:14:47 just a sec 13:14:55 I could paste the ~5-10 essential lines, I want to convert. 13:16:30 ok, given any position in the input buffer, you can expect 1. either a number, a subexpression, or an urnary operator 2. an operator and 3. either a number, a subexpression, or an urnary operator 13:16:51 ok, go ahead 13:18:09 * Robert looks the code up. 13:18:31 Heh, my word order is damaged from 5 years of german studies. 13:18:49 no prob 13:18:53 int ParseIntLevel1(SVariable *variablelist, SData *data, int *result) { 13:18:53 int hold; 13:18:53 char op; 13:18:58 if(ParseIntLevel2(variablelist,data,result)==-1) return -1; 13:19:11 op = data->data[data->ptr]; 13:19:11 while(op=='+' || op=='-') { 13:19:11 data->ptr++; 13:19:11 if(ParseIntLevel2(variablelist,data,&hold)==-1) return -1; 13:19:11 switch(op) { 13:19:12 case '+': 13:19:17 *result += hold; 13:19:18 --- join: Kitanin (~clark@SCF61185.ab.hsia.telus.net) joined #forth 13:19:18 break; 13:19:20 case '-': 13:19:24 *result -= hold; 13:19:25 break; 13:19:28 }; 13:19:30 op = data->data[data->ptr]; 13:19:33 } 13:19:35 return 0; 13:19:38 } 13:19:40 That uses pointers to return values. 13:19:58 Do you think a similar approach would work in Forth? 13:20:59 greets, Kitanin 13:21:08 should 13:21:33 Hmm.. 13:21:51 You need to use pointers to local variables then. 13:22:00 Maybe one based on return values would be better... 13:22:01 256 megs of sdram for 29.95 13:22:05 is that a good deal ? 13:22:20 what does pricewatch say? 13:22:26 I'd do it 13:22:30 * Robert too. 13:22:35 Only have 64 here. 13:22:38 even if it's over market value 13:22:44 Still, I think the stack easily gets full :-/ 13:23:02 That would cost more here. 13:23:29 10 pack dvd-r for same :) 13:23:35 Heh. 13:24:01 * Robert wants to wait until DVDs are next to free. 13:24:53 im not sure if my cd recorder can write dvd's 13:24:57 dont you need an dvd writer >? 13:25:03 Hah. 13:25:06 Yeah ;) 13:25:16 ok, about the parser ... 13:25:41 you're going to have an input buffer that is relatively static in location 13:26:07 so you can put that in either a global variable, or a value or a constant 13:26:49 use whichever is fastest to access 13:27:06 the offset, though, is going to be constantly changed as you parse 13:27:16 Yes. 13:27:17 so I would put it on the stack and try to keep it there 13:27:23 But do I have space for it on the stack? 13:27:48 why wouldn't you? 13:27:57 must datastacks are a meg deep now 13:28:16 Hah. 13:28:20 not sure how far I440r's goes down, but it's prob more than 100k 13:28:28 Might get a bit uncomfortable. 13:28:56 I mean, having at least 3 values on stack to care about. 13:28:58 At the same time. 13:29:06 Lots of stack magic. 13:30:06 what does this phrase mean ... "data->data[data->ptr]" 13:30:30 It's the next charachter to parse. 13:30:47 ok, so that's like 1+ in Forth? 13:30:51 (I deleted the code that skipped the spaces/line breaks) 13:30:56 ok 13:31:06 It's like c@ 13:31:21 oh! I get it 13:32:08 this might actually end up pretty simple 13:32:18 I hope so :-) 13:32:27 How would you factor out all this? 13:32:35 --- join: proteusguy (~proteusgu@24-197-147-197.charterga.net) joined #forth 13:32:41 Hi proteusguy. 13:33:06 Hey Robert - my cable modem went down so I went to lunch.. miss anything? 13:33:09 ok, given a string, we're looking at one of three possiblities 13:33:16 proteusguy: I think I'm going to buy that STK500 boart. 13:33:21 proteusguy: board* 13:33:28 proteusguy: Found it at my local store. 13:33:34 1. it's an urnary operator ... like "-1" 13:33:34 * Kitanin does the ``I got my email'' dance... 13:34:03 Hey great - must be pretty popular if there's some sitting around Sweden to be picked up! :-) 13:34:08 2. it's a number followed by a binomial operator ... like 2+3 13:34:20 3. or it's just an int 13:35:30 so I'd first start by trying to parse a number ... if it's a number, return with it 13:35:38 proteusguy: They also had a few Amtel chips. Some of them seem decent, 1kB of RAM and over 256kB of persistent data memory should be enough. 13:35:55 that leave 1 & 2 13:36:19 MrReach: That's what the code does, the highest level is parsing numbers. 13:36:37 Robert: certainly - also - some AVR's allow outside memory access I believe so you can always expand. Please keep us informed of your progress here! 13:36:40 ooops, that leaves just 1, rather 13:36:54 But first it has to pass through all the other levels, who check that there are no operators after. 13:37:25 proteusguy: Of course! I guess you can't execute (other than from a VM) RAM memory? 13:37:33 so I would skip over the operatore, and try to parse another number ... return it affected by the urnary operator provided 13:38:16 blah, I'm losing myself 13:38:23 Hehe. 13:38:24 * MrReach gets binder papaer 13:39:19 The thing it does is to call the level above to parse it to an integer, then it gets and saves the operator, then it calls the higher level again, and applies the operator to this returned number, and the number returned last time. 13:39:26 ok, I'll try to think "tokens" 13:39:32 The highest level parses an integer. 13:39:44 right 13:40:20 does it account for parenthesis and urnary operators? 13:40:38 So, my problem here is: address, number1, operator, number2, that's at least 4 stack items. 13:40:51 does it account for operator precedence? 13:40:57 Parenthesis - yes, urnary operators (negation?) - no. 13:41:15 1+(-1) would be invalid, I beleive. 13:41:20 And that's fine with me. 13:41:25 ok 13:41:29 1+(0-1) should work. 13:41:44 heh, how about -1+5 13:42:00 Write it as 0-1+5 or 5-1 13:42:17 Anyway, the parenthesis are parsed in the second highest level. 13:42:24 yes 13:42:29 ok 13:42:32 When one is found, it's calling the lowest level again. 13:42:51 yes, you have 5 items, altogether ... but that's not unmanageable 13:43:04 maybe 4 items 13:43:12 depending how you keep the operator 13:44:09 given ( adr off ) ... you eventually want to acheive ( num1 num2 adr off op ) ... right? 13:44:17 I have to keep the current offset at top of stack all the time. 13:44:37 Yes. 13:44:44 pretty much so ... until you've got the operator at hand 13:46:23 Hmm 13:46:29 I almost think I could do this. 13:46:49 * Robert tries. 13:47:06 WordThatReturnsInt -ROT WordToSkipOp WordThatReturnsInt -ROT WordToGetOp -ROT 2>R CaseOnOp 13:47:36 erm ... you could prob use some stack notes ... 13:47:41 Hehe. 13:47:53 Well, the word that skips the op should save it somewhere. 13:48:02 It might get hard to get it back otherwise. 13:48:17 ok, that's true 13:48:40 Oh, another thing, how does the ANS "case" work? 13:48:43 then you might want an end picture that looks like ( num1 op num2 adr off ) 13:49:18 Or ( num1 num2 op off ) 13:49:32 CASE 13:49:49 1 OF ... ENDOF 13:49:58 2 OF ... ENDOF 13:50:16 13:50:25 ENDCASE 13:50:29 Maybe I could just do something like: dup ReturnInt swap dup ReturnOp swap dup ReturnInt swap 13:51:06 you probably need to use -ROT instead of SWAP 13:51:30 Now I have ( num1 op num2 offset ) 13:51:33 Hmm... 13:51:39 : -ROT (n1 n2 n3 -- n3 n2 n1 ) ROT ROT ; 13:52:03 I though of WordThatReturnsInt ( offset -- n1 ) 13:52:06 ooopes, stack picture wrong 13:52:15 Well, I know what -rot does. 13:52:24 Thanks for the CASE explanation anyway. 13:52:43 you could also store intermediate stuff on return stack 13:52:52 What do you mean? 13:52:56 "intermediate" = ? 13:53:15 the first number and the operator tag 13:54:43 incidently, I'd have the words return the integer AND the new offset 13:55:05 Oops. 13:55:09 You're right. 13:55:09 ParseInt ( adr off -- adr off' num ) 13:55:17 Yes. 13:55:34 But I doubt both address and offset would be neccesary (sp?) on the stack. 13:55:36 ParseOp ( adr off -- adr off' op ) 13:55:47 Isn't adr+off or just off better? 13:56:01 no, just convenient 13:56:12 Well, convenient == good ;) 13:56:25 also, when doing the parens, you're going to be handing in segments of the original string 13:57:07 also if you do any operator precedence later 13:57:41 for example, does "3+4*5" return 35 or 23 ??? 13:58:19 23. 13:58:46 only if the * is evaled first ... not in the order it's found in the text string 13:58:53 Higher priorited operators are in a higher level. 13:59:41 So, when the 3 is found, the level above is called to parse everything it can find with the level of * and / 14:00:48 I can't remember how the textbook described how to eval the * first before the + 14:01:50 It's simple. 14:02:31 string search for * first, then pass left and right parts recursively? 14:02:42 Just have the GetInt of the higher level to parse the operators until it finds an operator of another level. 14:03:06 while(op=='+' || op=='-') { 14:03:08 Like that. 14:03:22 ok 14:03:28 While the operator is on the current priority. 14:04:10 I wrote one of these once 14:04:26 in BASIC on a C64, to give you and idea of the era 14:05:06 :) 14:05:22 * Robert sometimes codes Pascal on his old Compis computer. 14:05:40 It's from the early/mid 80s, before I was born ;-) 14:05:59 you know, I would search in order of precedence ... then call recursively with everything to the right and to the left of the operator 14:07:19 hmmm ... reverse order? 14:07:45 take "3+4*5+2" 14:07:46 Hrm. 14:08:05 should eval to "4 5 * 2 + 3 +" 14:08:48 search for the +, get 3 and "4*5+2" 14:09:13 search for the +, get "4*5" and 2 14:09:22 search for the +, fail 14:09:25 Sounds more complicated. 14:09:47 search for the *, get 4 and 5 14:10:11 that would be done recursively 14:10:17 not iteratively 14:12:17 yes, that would work nicely 14:14:17 Well, thanks for all your help. 14:14:23 I'll have to go to bed now. 14:14:26 School tomorrow. 14:14:32 did you get how that worked? 14:14:36 oh, ok 14:16:46 actually ... thank *YOU* ... it's been a while since I've thought my out of this particular paper bag ... it's good to brush up 14:17:22 :) 14:18:18 I know it seems non-intuitive to break on the lower precedence first, but it keeps the higher precedence items grouped together 14:22:09 in fact, at this point, I would think about using a table of items to search for ... and muticharacter strings in the table 14:23:20 that way you could parse "3*5+sin(2*pi)" just as easily as anything else 14:24:19 "sin(" would simply be another string to search for ... open parenthesis also 14:25:01 each entry in the table would simply call call its handler when the string was found 14:26:21 Normally, you match on ``sin'', so that ``sin 30 14:26:34 '' works as expected. Unlike, say, my keyboard. :-) 14:26:54 yes, that would work also 14:27:29 Or, you just make your users learn RPN and all the problems go away... 14:27:39 although for mathetmatical expression, I always parenthesis all function arguments 14:27:46 * MrReach laughs 14:28:14 See, I was taught that you _don't_ enclose function arguments unless necessary. :-) 14:29:11 we would probably have probs reading each others notes, for a while anyway 14:31:58 (Plus, my way is the way that Knuth does it when he explains TeX's mathematical typesetting.) 14:32:52 heh 14:33:16 * Kitanin berates himself for using Appeal to Authority to win a discussion. 14:33:22 boy, am I having a wierd day ... I actually made myself a tunafish sandwich 14:33:46 I *HATE* tunafish ... can't stand it ... *NEVER* eat it 14:34:13 Where'd you find bread that large... Teeheehee. 14:44:12 a man and a woman were getting ready to make love for the first time 14:44:43 as he took off his socks, she exclaimed "MY GOD! What happened to your feet?!" 14:45:12 "I had toesilitis as a child. It's really nothing to worry about." 14:45:26 "Ok." she said, and tried not to stare 14:45:50 as he took off his pants, she exclaimed "MY GOD! What happened to your legs?!" 14:46:10 "I had kneesals as a child. It's really nothing to worry about." 14:46:20 "Ok." she said, and tried HARDER not to stare 14:47:07 as he took off his underwear, she looked at him and said "Don't tell me. Smallcox?" 15:05:41 --- join: proteus (~proteusgu@24-197-147-197.charterga.net) joined #forth 15:05:41 --- quit: Kitanin (Read error: 104 (Connection reset by peer)) 15:06:41 --- join: Kitanin (~clark@SCF61185.ab.hsia.telus.net) joined #forth 15:18:12 --- quit: proteusguy (Read error: 110 (Connection timed out)) 15:26:56 Fascinating... It's not an inactivity timer. I'm only allowed to connect to Openprojects for two hours at a time... Hmm... 15:46:22 --- join: Kiara (~clark@SCF61185.ab.hsia.telus.net) joined #forth 15:46:22 --- quit: Kitanin (Read error: 104 (Connection reset by peer)) 15:46:30 --- nick: Kiara -> Kitanin 15:46:41 --- join: sif (~sifforth@ip68-9-70-120.ri.ri.cox.net) joined #forth 15:46:41 Type sif: (or /msg sif to play in private) 15:48:30 --- part: Kitanin left #forth 16:00:18 --- quit: proteus (Read error: 113 (No route to host)) 16:06:59 --- join: tathi (~josh@ip68-9-68-213.ri.ri.cox.net) joined #forth 16:15:01 --- join: proteus (~proteusgu@24-197-147-197.charterga.net) joined #forth 16:15:20 --- quit: proteus (Read error: 104 (Connection reset by peer)) 16:15:29 --- join: yeahright (~proteusgu@24-197-147-197.charterga.net) joined #forth 16:15:53 --- nick: yeahright -> proteusguy 16:44:10 --- join: _MrReach_ (~mrreach@209.181.43.190) joined #forth 16:44:10 --- quit: MrReach (Read error: 104 (Connection reset by peer)) 17:14:28 --- join: miket2 (Mike@62.60.64.57) joined #forth 17:16:17 --- part: miket2 left #forth 18:08:32 --- quit: tathi ("leaving") 18:19:21 --- quit: I440r () 18:26:23 --- join: ree (user@usr1-71.net-power.net) joined #forth 18:26:45 forth sucks! 18:26:45 hehe 18:26:45 hey guys 18:27:03 * ree lets the air out of #forth 18:27:21 air is here eh 18:50:08 --- join: CrowKiller (Forther@Ottawa-HSE-ppp3653012.sympatico.ca) joined #forth 18:50:12 hi 18:50:43 my roomate got some troubles with his computers and i used it to transfer files between systems and the spare hds 18:50:53 the computer ws loading then woosh 18:55:52 hehe 18:55:58 fun 18:56:28 anyway we rebooted 24 times and now it works lol 18:56:43 anyway i,ll uplaod the file to you onetom 18:58:27 if you want the asm source i got it 18:58:37 --- part: ree left #forth 18:58:38 the compiled size is 389 18:59:08 bytes 19:04:01 the specification at the start is not 100% finished and understandable but anyway ;p 19:07:52 the primitive compiling mechanism is broken, the code table is 257 bytes long and i can only index 64 of them 19:07:59 because i use 6 bits to do so 19:09:23 hmm easly fixable, but take more place ;p 19:27:48 brb 19:27:50 --- quit: CrowKiller ("User pushed the X - because it's Xtra, baby") 19:49:17 --- join: CrowKiller (Forther@Ottawa-HSE-ppp3653207.sympatico.ca) joined #forth 19:56:08 --- quit: proteusguy ("Client Exiting") 20:07:08 can a dma write to slow videomem while the processor do other things? 20:45:34 anyway maybe chuck's approach to video is the best, i'm trying to figure all those things 20:45:44 --- quit: CrowKiller ("chniak") 21:06:13 --- join: proteusguy (~proteusgu@24-197-147-197.charterga.net) joined #forth 21:22:46 --- quit: sif (Read error: 110 (Connection timed out)) 21:36:30 where is the spec for machineforth? can't seem to find it. 21:36:54 www.machineforth_specs_online.com ? 21:36:56 crowkiller, yes. dma can write to videomemory while cpu is doing things and while RAMDAC is accessing video 21:37:12 fractal, _ is not allowed in DNS protocol according to the RFC. :P 21:37:34 www.machineforth-specs-online.com I mean? 21:37:53 oh. he left. hrm. 21:37:56 fractal, stop it:P 21:38:22 www.machineforth-specs-online-2002-for-free.org ? 21:38:28 Heh. 21:40:28 hrm. http://www.ultratechnology.com/f21cpu.html seems to be close to what i'm looking for. 21:40:48 Impossible. The URL's too short. 21:41:44 shush. :P 21:41:49 Heh. 21:55:09 --- join: geakazoid (JB@adsl-63-206-89-39.dsl.snfc21.pacbell.net) joined #forth 22:05:58 * geakazoid is gone, autoaway/10m (l!on) 22:09:30 OrngeTide: yeah, that's the closest.. also www.colorforth.com has some stuff, but not as good as the ultratechnology stuff 22:26:41 Hey all :) 22:27:32 --- join: sbk_ (~kbs@dsl-65-184-98-221.telocity.com) joined #forth 22:46:18 hello 22:48:58 --- part: _MrReach_ left #forth 22:56:49 --- quit: geakazoid ("Leaving... ") 22:57:21 --- quit: sbk_ ("Leaving") 23:59:59 --- log: ended forth/02.08.26