00:00:00 --- log: started forth/12.09.22 01:17:53 --- quit: Nisstyre-laptop (Remote host closed the connection) 01:45:05 --- join: ttmrichter_ (~ttmrichte@61.184.205.44) joined #forth 01:45:05 --- mode: ChanServ set +v ttmrichter_ 01:46:41 --- quit: ttmrichter (Disconnected by services) 01:46:43 --- nick: ttmrichter_ -> ttmrichter 01:49:53 --- quit: fantazo (Remote host closed the connection) 02:48:55 --- join: fantazo (~fantazo@213.129.230.10) joined #forth 02:48:56 --- mode: ChanServ set +v fantazo 03:50:49 --- join: MayDaniel (~MayDaniel@unaffiliated/maydaniel) joined #forth 03:50:50 --- mode: ChanServ set +v MayDaniel 03:53:46 --- quit: yiyus (Ping timeout: 268 seconds) 03:54:10 --- join: yiyus (~124271242@je.je.je) joined #forth 03:54:11 --- mode: ChanServ set +v yiyus 04:30:03 --- join: ncv (~quassel@89.123.35.0) joined #forth 04:30:04 --- quit: ncv (Changing host) 04:30:04 --- join: ncv (~quassel@unaffiliated/neceve) joined #forth 04:30:04 --- mode: ChanServ set +v ncv 06:30:31 --- quit: ncv (Ping timeout: 256 seconds) 06:43:38 --- quit: ttmrichter (Read error: Connection reset by peer) 06:44:04 --- join: ttmrichter (~ttmrichte@61.183.22.204) joined #forth 06:44:05 --- mode: ChanServ set +v ttmrichter 07:31:58 --- quit: ttmrichter (Quit: i got shot at today) 07:42:21 --- join: Onionnion (~ryan@adsl-68-254-170-33.dsl.milwwi.ameritech.net) joined #forth 07:42:21 --- mode: ChanServ set +v Onionnion 07:46:53 --- join: gnooth (~gnooth@108-249-104-182.lightspeed.sndgca.sbcglobal.net) joined #forth 07:46:53 --- mode: ChanServ set +v gnooth 10:20:05 --- join: Nisstyre-laptop (~yours@oftn/member/Nisstyre) joined #forth 10:20:05 --- mode: ChanServ set +v Nisstyre-laptop 10:32:31 --- join: swiley (~glen@199.191.58.39) joined #forth 10:32:31 --- mode: ChanServ set +v swiley 10:48:54 --- join: Onionnion|Eee (~ryan@adsl-68-254-170-33.dsl.milwwi.ameritech.net) joined #forth 10:48:54 --- mode: ChanServ set +v Onionnion|Eee 10:59:49 --- quit: fantazo (Remote host closed the connection) 11:46:15 --- join: fantazo (~fantazo@91-119-67-128.dynamic.xdsl-line.inode.at) joined #forth 11:46:15 --- mode: ChanServ set +v fantazo 12:53:36 --- quit: Onionnion|Eee (Ping timeout: 246 seconds) 12:53:36 --- quit: Onionnion (Ping timeout: 246 seconds) 13:05:34 --- join: Onionnion (~ryan@adsl-68-254-162-194.dsl.milwwi.ameritech.net) joined #forth 13:05:34 --- mode: ChanServ set +v Onionnion 13:16:02 --- quit: nottwo_ (Ping timeout: 264 seconds) 13:16:26 --- join: nottwo (~trannie@nottwo.org) joined #forth 13:16:26 --- mode: ChanServ set +v nottwo 13:20:13 --- quit: Onionnion (Ping timeout: 246 seconds) 13:31:55 --- join: Onionnion (~ryan@adsl-69-215-131-78.dsl.milwwi.ameritech.net) joined #forth 13:31:55 --- mode: ChanServ set +v Onionnion 14:07:45 --- quit: Onionnion (Ping timeout: 260 seconds) 14:21:00 --- join: Onionnion (~ryan@adsl-68-254-173-230.dsl.milwwi.ameritech.net) joined #forth 14:21:01 --- mode: ChanServ set +v Onionnion 15:00:08 --- join: SHUPFS (~user@S0106001111de1fc8.cg.shawcable.net) joined #forth 15:00:08 --- mode: ChanServ set +v SHUPFS 15:27:54 --- quit: MayDaniel (Read error: Connection reset by peer) 16:32:53 --- join: RodgerTheGreat (~rodger@71-13-215-128.dhcp.mrqt.mi.charter.com) joined #forth 16:32:54 --- mode: ChanServ set +v RodgerTheGreat 18:49:41 --- join: kumul (~kumul@adsl-72-50-90-224.prtc.net) joined #forth 18:49:41 --- mode: ChanServ set +v kumul 19:25:35 --- quit: obobo (Remote host closed the connection) 19:27:59 --- join: obobo (~chatzilla@dyn-dsl-mb-216-168-118-197.nexicom.net) joined #forth 19:27:59 --- mode: ChanServ set +v obobo 21:31:42 --- join: ttmrichter (~ttmrichte@221.234.38.61) joined #forth 21:31:42 --- mode: ChanServ set +v ttmrichter 21:54:59 --- join: KipIngram (~KipIngram@85.17.255.186) joined #forth 21:54:59 --- mode: ChanServ set +v KipIngram 21:55:13 Hey hey. Been a while... 21:55:32 howdy 21:56:01 Howdy. Whazzup? 21:56:25 just writing a video game. Usual weekend stuff. 21:56:29 you? 21:57:58 Waiting to get sleepy enough to sleep. Saw "End of Watch" earlier tonight. 21:58:08 cool 21:58:27 It was pretty good. Not quite what I expected, but alright. 21:58:43 in what way did it deviate from your expectations? 21:58:51 Member list looks different from when I was here in the pat. 21:58:53 past 21:59:27 Hmmm. 21:59:28 people seem to drift in and out 22:00:26 I was expecting it to be "major" in terms of the drug war - turns out it was more a "sidebar battle" in the drug war. Mostly about the lives of those few people - not the big picture. 22:00:35 That didn't make it bad - just not what I expected. 22:01:46 mm 22:02:02 so more a drama than a police action film 22:02:21 No - lots of action. 22:02:29 Just "local action". 22:02:33 ah 22:02:39 It was very action packed and violent. 22:02:44 Probably very, very realistic. 22:03:00 It's worth the price of the ticket. 22:03:57 I'll keep it in mind 22:04:34 the last film I saw was "the expendables 2", which was a very fun, dumb action movie 22:04:47 it delivered pretty much exactly what was advertised 22:05:02 Yes. The jokes were superb. 22:05:12 The Chuck Norris Jokes. 22:05:15 Especially the Chuck Norris joke. 22:05:17 :-) 22:05:21 Precisely. 22:05:31 and the whole intro sequence that was like 8 minutes straight of explosions 22:05:32 Though there were jokes all over the map. 22:05:44 You called it - exactly what it promised. 22:06:00 And just enough Charisma Carpenter eye candy to please. 22:06:05 Say what you want about Stallone, but the man knows how to make that kind of movie 22:06:37 I don't have anything bad to say about him. He knows what he's doing. 22:06:52 I've taken a whole lot of pleasure from his work over the years. 22:07:21 have you noticed they've started doing a bunch of remakes of goofy over-the-top action movies from the 80s as gritty, super-serious blockbusters? 22:07:38 Yes. Totally. 22:07:41 apparently they're remaking robocop 22:07:47 seems like a really bad idea 22:07:49 Yes they are. 22:07:55 They just remade Total Recall. 22:07:59 yep 22:08:14 what's next, big trouble in little china? 22:08:15 I am seeing the orignal RoboCop at the Houston Alamo Drafthouse in a week or so. 22:08:22 Part of their "Bad Ass 101" series. 22:08:28 the original RoboCop is a fantastic movie 22:08:34 Yup. 22:08:50 I just saw "Serenity" there a week or so ago. 22:08:54 Sold out a whole theater. 22:08:59 I believe it 22:09:34 We were hoping my wife's cousin and his wife would join us, but they didn't get their tickets in time 22:09:38 Oh well. 22:09:42 I just can't see RoboCop working at all if they played it straight. The zaniness and tongue-in-cheek aspects of it really made the original. 22:09:51 Totally. 22:10:19 Paraphrase, but: "How can I help you, officer?"... "By resisting arrest." 22:10:27 So cool. 22:10:33 "You called for backup?" 22:10:36 I'd buy that for a dollar! 22:10:52 :-) 22:11:04 "Would somebody call a goddamned paramedic?" 22:11:08 So is there much Forth traffic here these days? 22:11:25 ugh I don't even want to think about what they're going to do to ED-209 22:11:32 some days 22:11:43 I don't know what ED-209 is. :-( 22:11:47 the game I'm writing is made in forth 22:11:59 Good. What kind of game? 22:12:05 http://3.bp.blogspot.com/-uIgeAk2DuFU/Tuh1yJ2W3pI/AAAAAAAAAy8/K7sC89bQonQ/s1600/ED-209+with+Dick+Jones.jpg 22:12:51 I'm doing a randomly-generated dungeon adventure game in the style of "The Binding of Isaac", except you'll be controlling a squad rather than a single person 22:13:03 --- quit: nighty^ (Read error: Connection reset by peer) 22:13:43 here's a current screenshot: http://i.imgur.com/AhKEg.png 22:15:27 last time I showed my forth code here everyone thought it was hideous, though 22:17:04 Well, Forth is a very personal thing. 22:17:28 Which means you have a right to your own Forth code, and everyone else has a right to judge... :-) 22:17:38 it makes me happy when I write programs with it and that's all that really matters 22:17:39 If it runs then that's the ultimate test, isn't it? 22:17:43 true 22:17:47 Exactly. 22:18:01 It's yours - do with it what you will. 22:18:26 I definitely recommend "Thinking Forth," if you haven't read it yet. 22:18:38 It's available for free online - google it. 22:18:43 I've read both that and Starting Forth several times 22:18:49 I own dead tree copies actually 22:19:01 Me too. :-) 22:19:10 I'm dying to get my hands on a copy of "Scientific Forth" but it is exceedingly rare 22:19:31 :-| Never heard of it. I want it now that you've mentioned it. 22:19:52 it describes using Forth for scientific computation 22:19:54 Jesus. 22:20:02 First results on Amazon are over $200. 22:20:10 along the way it develops a bunch of DSLs so that that isn't insane in Forth 22:20:30 including DSLs for state machines which are in turn used to build a FORTRAN extension in Forth 22:20:56 KipIngram: yep. Totally sucks. 22:21:50 I actually did some digging around to try to get ahold of the guy to see if he'd do another printing or release the manuscript or something but he died a while back and the trail goes cold 22:22:13 reading book reviews about it just makes me salivate 22:22:38 Wow. Do you know if it takes a scaled fixed point approach or a floating point approach? 22:22:54 actually the $203 copy is new 22:23:09 hmm 22:23:27 I'm unsure 22:23:29 I may just have to spring for it. The company I work for is being acquired - I have a few options. Going to make a few $$$. 22:23:47 the fixed-point approach is idiomatically forth 22:23:57 CM was definitely a scaled fixed point kind of guy - with the approach being driven by the application at hand. 22:24:03 Right. 22:24:47 if you buy it and you have access to a book-scanner I would be in your debt for a PDF copy 22:26:12 I will let you know if I buy it. 22:27:34 godspeed 22:27:45 At the very least we could discuss the details. 22:27:52 That would be strictly legal. ;-) 22:28:24 My own special interest is the design of FPGA-based processors optimized for Forth. 22:28:44 I focus on the very low-level aspects of FPGA circuitry. 22:28:46 like the J-1? 22:28:58 Yes, but as I said, low level. 22:29:15 Not so much "how few lines of VHDL," but "how fast." 22:29:37 I'm all about maximizing clock speed and getting things to work in single-cycle mode. 22:29:44 cool 22:30:00 what sorts of applications are your designs used for? 22:31:10 Well, this is a hobby, and I've never actually gotten one into an FPGA yet. But I know enough about FPGAs to know (for sure) that what I'm thinking about would work. 22:31:26 Apps of interest to me include bitcoin mining, massively parallel processing, and stuff like that. 22:32:01 I can easily see making a 1024 or so count parallel processor built around this design. 22:32:20 Running at about 500-600 MIPS per processor. 22:32:37 Xilinx Spartan 6 based. 22:32:52 are they F18-style cores with extremely constrained stacks and program space? 22:33:45 ah, here's Noble's "FORTRAN": http://www.taygeta.com/fsl/docs/551.jvn.fall01/ftran202.htm 22:33:59 seems to use floats 22:34:19 No - this design is entirely my own. 22:34:23 From scratch. 22:34:33 ah 22:35:00 I was just asking whether you made similar design tradeoffs 22:35:04 --- part: SHUPFS left #forth 22:35:23 The stacks are in hardware, but they're asynchronous and I can have them as deep as I like. 22:35:31 Deeper just takes more of the chip. 22:35:44 16-bit address space for the programs. 22:35:57 that's quite a lot 22:36:09 32-bit address space for data and 32-bit ALU operations, but that's variable as well. 22:36:23 It's "enough." :-) 22:36:25 harvard architecture, check 22:36:44 Yes, but FPGAs generally support dual port memory. 22:37:04 So the two address spaces share the same memory. 22:37:34 ok, makes sense 22:39:05 The thing I spent the most time wrangling with was the conditional stuff. 22:39:33 I organize program memory in cells. 22:39:56 Each can contain either a jump or call instruction (conditional or unconcitional) or three five-bit opcodes. 22:40:20 How to execute the conditional stuff without slowing down the machine turns out to be a big deal. 22:40:37 yeah, pipelines suck 22:40:51 No piplelining in this design. 22:41:09 Well... 22:41:22 well most of the problems I'm familiar with resulting from branches have something to do with prefetching 22:41:25 The conditional execution is based on three-opcode cells. 22:41:47 So if *any* of the three drive a conditional "don't execute" then the entire next cell is skipped. 22:42:00 So that means if the first opcode in a cell does that, the next to execute. 22:42:03 No matter what. 22:42:26 So that's a little strange, but in Forth philosophy it's really up to the developer to keep up with stuff like that. 22:42:45 if I understand correctly that sounds like a delay slot 22:42:46 You are in control of the silicon. 22:43:10 oh the horrors of the MIPS architecture 22:43:26 Yes, but on the other hand if the third opcode is the one with the conditional then there's not a delay slot. 22:43:43 I know. 22:44:05 I don't like it completely, but alternatives slow the machine down on EVERY SINGLE CYCLE. 22:44:52 And this approach forces 2 delay slots on you 1/3 of the time, 1 delay slot on you 1/3 of the time, and 0 delay slots on you 1/3 of the time. 22:45:10 That averages out to 1 delay slot. And if you program cleverly you take advantage of it. 22:45:31 Earlier architectures I considrered avoided this at the architectural level but ran slwoer. 22:45:33 slower 22:46:08 having multiple instructions per cell is one of those things that's hairy to expose in an assembler 22:47:04 Yes - I envision an assembler in which you lay out three instruction per line. 22:47:12 So that part of things is highly visible. 22:47:15 that's one good solution 22:47:46 In a Forth-like coding style you might just insert some extra spaces between code "phrases." 22:48:00 A B C D E F G H I ... 22:48:15 I wrote a softsim of the F18 and an associated assembler and I found myself frequently writing machinecode by hand because the assembler hid information I needed 22:48:16 Haven't tried it yet. 22:48:29 of course when I say "assembler 22:48:35 " I mean a simple forth compiler 22:48:35 Right - I don't like hiding stuff. 22:48:52 It's not what Forth teaches us. 22:49:50 the F18 has four ops per word, and if one of the first three slots is a branch the remainder of the current word is used 22:50:35 this leads to some really thought-provoking layout optimization problems 22:51:20 Yeah. 22:51:23 I've read all that. 22:51:39 Those variable length effective addresses complicate the logic. 22:51:45 I only have one EA size: 16 bits. 22:51:57 I do support micro-looping, though. 22:52:05 the micronext functionality is very nice though 22:52:07 That turns out to be trivially simple. 22:52:13 Right. 22:52:36 The really neat thing is that you can implement u-next in a way that's "free." 22:53:00 You can see the u-next opcode coming and execute it ahead of time, so you wind up with an "opcode machine gun." 22:53:11 No overhead whatsoever until you terminate the loop. 22:53:17 nice 22:53:43 although in your case you only have two ops in the loop to play with to the F18's three 22:54:05 I set mine up so that I could use either one cell or two cells for that. 22:54:13 ah ok 22:54:15 So I can have up to five. 22:54:20 that could be very flexible 22:55:22 I've tinkered with this for years, but I've really made a lot of progress in the last few months, so hopefully I'll have it in an FPGA soon. 22:55:30 the F18's addressing modes (through A for example) make it very easy to do fast copies and such. Did you add offset registers like that? 22:55:36 I have a Spartan 6 eval kit under my coffee table right now. :-) 22:55:58 The architecture does support A and B addressing registers. 22:56:06 great 22:56:27 How flexible you want to be on that front turns out to affect opcode count more than anything else. 22:56:40 And since I am restricted to 5-bit opcodes I have to be a bit conservative. 22:56:45 naturally 22:56:46 Can't waste them... 22:58:45 Ok - got to sleep. Hope to chat again soon... 22:58:49 other neat thing about the F18 is how the operations are clearly chosen so that the propagation delay from the ALU is roughly equivalent. Do you have a "delay slot" in your addition operator? 22:58:55 yeah I should sleep too 22:59:16 buffer 1 22:59:33 Ooops... 22:59:36 :-) 22:59:46 Primitive console-based client. 23:00:05 haha 23:00:45 Yeah - I run my irc on a virtural server based in the Netherlands. Always on, 24/7. 23:00:51 I ssh into it with finch. 23:01:08 No - not finch. 23:01:12 weechat-curses. 23:01:23 finch is for my yahoo messenger stuff. 23:01:57 I like my fancy GUI accoutrements 23:02:12 ...even if I turn most of them off 23:02:34 'night all 23:02:40 --- quit: RodgerTheGreat (Quit: RodgerTheGreat) 23:03:52 Night. 23:52:50 --- quit: swiley (*.net *.split) 23:59:59 --- log: ended forth/12.09.22