00:00:00 --- log: started forth/10.04.29 00:20:24 --- quit: ASau (Ping timeout: 240 seconds) 00:27:41 --- quit: gogonkt (Ping timeout: 276 seconds) 00:29:02 --- join: gogonkt (~info@218.13.55.81) joined #forth 01:43:17 --- quit: proteusguy (Ping timeout: 268 seconds) 01:56:02 --- join: proteusguy (~proteusgu@zeppelin.proteus-tech.com) joined #forth 02:18:02 --- quit: gogonkt (Ping timeout: 252 seconds) 02:20:09 --- join: gogonkt (~info@59.39.13.64) joined #forth 02:23:00 --- quit: proteusguy (Ping timeout: 245 seconds) 02:32:55 --- join: Snoopy_1611 (Snoopy_161@dslb-084-059-122-049.pools.arcor-ip.net) joined #forth 02:33:26 --- quit: Snoopy_1611 (Client Quit) 02:35:18 --- join: proteusguy (~proteusgu@zeppelin.proteus-tech.com) joined #forth 02:47:11 --- quit: gogonkt (Ping timeout: 252 seconds) 02:49:07 --- join: gogonkt (~info@116.5.48.238) joined #forth 03:32:17 --- quit: TR2N (Ping timeout: 276 seconds) 03:32:45 --- join: TR2N` (email@89-180-175-102.net.novis.pt) joined #forth 03:37:32 --- quit: alex4nder (Quit: leaving) 03:46:45 --- join: TR2N (email@89-180-185-49.net.novis.pt) joined #forth 03:49:53 --- quit: TR2N` (Ping timeout: 252 seconds) 05:03:08 --- quit: nighty^ (Read error: Connection reset by peer) 05:09:33 --- join: nighty^ (~nighty@x122091.ppp.asahi-net.or.jp) joined #forth 05:58:03 Deformative: 16 opcodes is pretty minimal. Given the limits your system puts on clock speed you may find you're slower for having to use a larger number of opcodes. But I look forward to seeing what you come up with. 06:04:40 --- quit: gnomon (Ping timeout: 245 seconds) 06:04:54 --- join: gnomon (~gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com) joined #forth 06:28:46 I think what you will find is that to stay at 16 or fewer opcodes you'll get to have only the really fundamental ones. You won't have room for anything "optimized". 06:34:04 * ASau` recalls Hoare. 08:05:36 --- quit: ASau` (Quit: ERC Version 5.3 (IRC client for Emacs)) 08:40:50 --- quit: crc (Ping timeout: 240 seconds) 08:42:54 --- join: crc (~charlesch@184.77.185.20) joined #forth 09:31:17 --- join: ASau (~user@83.69.227.32) joined #forth 09:42:36 --- join: Quartus1 (~Quartus1@74.198.8.57) joined #forth 09:47:27 --- quit: Quartus1 (Ping timeout: 276 seconds) 10:24:41 --- quit: Deformative (Ping timeout: 246 seconds) 10:35:42 --- join: Quartus1 (~Quartus1@74.198.8.57) joined #forth 10:40:06 --- quit: Quartus1 (Ping timeout: 258 seconds) 11:22:21 --- join: Snoopy_1611 (Snoopy_161@dslb-084-059-209-019.pools.arcor-ip.net) joined #forth 13:50:38 --- log: started forth/10.04.29 13:50:38 --- join: clog (nef@bespin.org) joined #forth 13:50:38 --- topic: 'The Forth programming language, etc. | Logged by clog | forth.pastebin.ca | quartus.net/search | gforth: tinyurl.com/s8uho | isforth.com | ANS Standard: tinyurl.com/nx7dx | Wiki: forthfreak.net' 13:50:38 --- topic: set by tathi on [Mon Nov 30 04:40:25 2009] 13:50:38 --- names: list (clog qFox Snoopy_1611 nighty ASau crc gnomon nighty^ TR2N gogonkt proteusguy madwork crcx maht scj yiyus madgarden foxes saper twobitsprite mathrick cataska nottwo schme TreyB johnlunney KipIngram probonono tmitt malyn) 13:50:38 -lindbohm(freenode.net)- [freenode-info] if you're at a conference and other people are having trouble connecting, please mention it to staff: http://freenode.net/faq.shtml#gettinghelp 14:32:09 --- quit: qFox (Quit: Time for cookies!) 14:54:39 --- quit: Snoopy_1611 () 14:58:23 --- join: Snoopy_1611 (Snoopy_161@dslb-088-068-214-139.pools.arcor-ip.net) joined #forth 15:38:31 --- join: alex4nder (~alexander@dsl093-145-168.sba1.dsl.speakeasy.net) joined #forth 16:24:11 --- quit: nighty^ (Quit: Disappears in a puff of smoke) 17:21:37 --- join: segher (~segher@84-105-60-153.cable.quicknet.nl) joined #forth 17:29:30 --- join: Deformative (~joe@c-76-112-68-135.hsd1.mi.comcast.net) joined #forth 17:29:50 Hooray, done with the term. 17:45:21 Cool. 17:45:24 Playtime. 17:50:41 Yep. 17:51:00 Installing quartus on linux is proving to be a pain. 17:51:04 I might just make windows my primary os. 17:51:08 But ugh... 17:52:19 Yeah. I've never had good luck getting the Linux versions to work. So I usually just run them on my work machine. I'm going to content myself with a Verilog compiler / simulator on my netbook. 17:53:37 I hav the compiler 17:53:43 No simulator or usb blaster. 18:01:08 So I've tabled my new idea for a while. It was looking good until I considered the case where I tentatively fetched into a conditional subroutine call and discovered later that was the wrong decision. Fast returns stacks (i.e., register arrays) are hard to "put right" once you've taken them into a wrong state. 18:01:30 Maybe something will occur to me. Maybe not. In the meantime I have my current processor to continue work on. 18:03:17 I do not understand. 18:03:34 Well, not "hard" to put right - more like "expensive" to put right. I'd pretty much have to snapshot the entire array at the decision point, so that I could restore it. I might have several decision points before execution got to the first one, so to make it general I'd have to have several return stack's worth of logic for that. Too expensive. 18:04:28 The gist of my idea was to store an image of the processor state (the prefetch / control flow) related parts of it) in a queue whenever I had to predict which way control would go. Then I'd make the best guess I could and keep prefetching. 18:05:09 Once execution got to that point it would *know* whether the decision had been right or not. If it was, then discard that snapshot - no longer needed. If it wasn't, then restore the snapshot and go the other way. 18:05:11 Oh, you were dreaming up an entirely different cpu idea? 18:05:19 Yes. 18:05:25 Ok, I see. 18:05:31 Yeah, sounds difficult at best. 18:05:32 The problem is that the *entire return stack* is part of what has to be imaged. 18:06:06 And I had it in mind that if I encountered a second decison point before execution reached the first one I'd snapshot again; they go in a queue. 18:06:27 So I'd have to have room to save the whole return stack multiple times. Like I said, too expensive. 18:06:43 It would be much easier if the return stack lived in RAM and was indexed by a pointer; then I'd just need to save that pointer. 18:07:08 But my returns stack is much faster than that because it's a register array. The data physically moves from cell to cell every time you push or pop it. 18:07:58 So potentially you can push or pop it in just a few nanoseconds, as opposed to the 50-60 nanoseconds required to access memory. 18:08:51 So I spent the day instead working on my perl scripts that I use to monitor / manage my stock market investments. 18:09:20 Since the market bottom back in March 2009 the market has gone up 68%. My portfolio has goine up 180%. :-) 18:10:05 I wanted to invest in arm, but my parents wouldn't let me... 18:10:17 I would have tripled my bank account. 18:10:44 Went from under 4, to 12 dollars. 18:12:06 They said it was too much money to play with. 18:12:08 Whatever. 18:13:48 What's their stock symbol? 18:14:11 armh 18:14:15 I keep my holdings entirely in blue chip stocks selected from the 30 Dow Industrials. 18:14:32 I have no idea what that means. 18:14:57 But arm is a big company, and their cores have market dominance in the entire embedded world, I don't see it changing soon. 18:15:16 So I figured that it was a good company to invest in, especially with cell phones taking off the way they are. 18:15:28 So I take it you wanted to do this back around the end of 2008? 18:15:34 Yes. 18:15:42 Blue chip == "big, high quality, respected." 18:16:50 I feel like qualcomm will be a good one to invest in soon. 18:16:54 Since they are low right now. 18:16:56 The Dow Jones Industrial Average is computed using the price of 30 stocks, selected by Dow Jones, that they believe reflect the "backbone of the economy" and that they think are of "high quality." 18:17:24 I ee. 18:17:25 My reasoning is that those companies are extremely unlikely to just collapse all of a suddden. 18:17:27 I see rather 18:17:36 Makes sense. 18:17:39 So I regard my approach as a rather conservative one. 18:17:56 So I'm very happy to have done so well with such low-risk holdings. 18:18:53 My perl scripts present a bunch of relevant information to me in a way that I've carefully worked out to let me tell at a glance when I should think about making a trade, and they tell me *exactly* what impact the potential trade will have on the earning power of my portfolio. 18:19:22 I keep it open at work all the time - most of the time I just glance at it a few times during the day because I'm not in "trading territory." 18:19:38 When I do get into potential trade situations I watch it more closely. 18:20:07 The scripts have let me do a good job of managing my portfolio on a more-or-less continual basis while still paying plenty of attention to my "real job." 18:20:25 Cool. 18:20:50 Wow, yeah, ARM just kicked butt since late 2008. 18:20:57 Yeah. 18:21:05 I expected it to. :( 18:21:35 Man, back in 1999 they nibbled at $50. 18:22:10 You sure wouldn't have wanted to buy it then - you would have lost 90% of your investment in 3 years. 18:22:34 Indeed. 18:22:48 That was back in the days of acorn computers I think. 18:23:42 Everything but desktops have an arm core in it now. 18:24:01 Ironically, origionally designed for deskops or sth. 18:24:09 But they will get there. 18:24:25 Google is playing with using them in their severs. 18:26:31 allegedly 18:27:32 Doesn't surprise me. Google funds some reasearch at my school for low power computing. And a lot of that involves arm cores. 18:27:49 Their data centers apparently use as much power as a city, and they want to cut that down. 18:52:41 Well, booting windows 18:52:43 Be back later. 18:52:48 --- quit: Deformative (Remote host closed the connection) 19:06:42 --- join: Deformative (~Joe@c-76-112-68-135.hsd1.mi.comcast.net) joined #forth 19:07:00 Hello again. 19:10:49 welcome back 19:12:04 Goodness this UI is horrid. 19:12:36 But I suppose it has a functional flash player... 19:13:13 Fonts are horrible too. x.x 19:14:53 so change the fonts :) 19:16:33 It isn't as easy as it should be. 19:16:44 I don't think windows has system wide font changing. 19:16:54 bah, get a real os 19:17:29 I have/had, but quartus won't work with it/them. 19:17:39 He has a reason for trekking to the dark side. 19:18:27 Ugh, dynamically spaced font is so difficult to read... 19:18:29 x.x 19:18:38 And all this anti aliasing garbage. 19:18:41 Looks like shit. 19:25:00 It is so annoying to have to change every font for every application to dejavu sans mono. 19:25:15 Only to find that it still looks aweful. 19:25:29 Because there is some anti-aliasing or something on. 19:31:00 Look for a way to turn off ClearType. 19:33:14 http://www.microsoft.com/typography/cleartype/tuner/step1.aspx 19:43:40 Ugh.. 19:54:21 I am going to need to boot back into linux to get a copy of my kwriterc 19:57:17 --- quit: Deformative (Remote host closed the connection) 20:10:53 --- join: Deformative (~Joe@c-76-112-68-135.hsd1.mi.comcast.net) joined #forth 20:11:00 Much better. 20:11:09 I feel like I am nearly half way to a usuable vista installation. 20:13:46 I should try installing a newer version of bblean at some point. 20:13:59 And for some reason the line spacing is terrible. 20:14:08 Characters are nearly touching. 20:16:54 Still not satisfied with cleartype. 20:16:57 I hate subpixeling. 20:17:09 I still do like smoothed fonts though. 20:24:27 Hm, better still. 21:11:01 I'm getting my iPod touch connected up with my netbook. 21:11:59 Copying all my music from my desktop, etc. I hardly go up to that office anymore - it will be much nicer to have it all on this computer. 21:20:54 I almost have a working hardware stack. xD 21:21:01 Just have a small problem with popping. 21:23:54 That was very fast - you must already have had a lot of Verilog written. 21:24:12 No. 21:24:15 It is rather simple. 21:24:18 Just a big shift register. 21:24:54 I am wondering if the problem is that the push buttons flicker or my verilog. 21:25:46 Mine's still all in C. I've run some Verilog test programs, but nothing related to my processor. 21:26:11 The pushbuttons will absolutely bounce. You have to debounce them. 21:26:39 Unless you design in an RC filter followed by a Schmidt trigger gate your switches will always bounce. 21:27:11 Hm, I thought my buttons were already debounced. 21:27:15 Guess not. 21:27:34 Did you get schematics with your kit? 21:27:49 I did. 21:28:11 It should be obvious. 21:28:29 Is there a lot pass filter between the buttons and the chip? 21:29:26 This kit doesn't say debounced buttons on the box. 21:29:33 It must have been another one I was looking at. 21:30:16 Sec, popping in dvd to check schematics. 21:31:02 Buttons go directly into fpga's pin. 21:32:29 Yup. So you need a little circuit do digitally debounce, then. 21:33:04 It always bounces exactly once? 21:33:19 No, of course not. Random number of times. :-) 21:33:23 Use a counter. 21:33:36 On every clock cycle that the switch is not active you load the counter with a big value. 21:33:47 If the switch is active you count down. 21:33:53 If it reaches zero you have a press. 21:34:01 I googled and found this: 21:34:03 q3 <= q2; 21:34:04 q2 <= q1; 21:34:06 q1 <= q0; 21:34:07 q0 <= din; 21:34:09 end 21:34:10 assign dout = !q3 & q2 & q1 & q0; 21:34:36 Your clock is 50 MHz? 21:34:41 Yes. 21:34:57 I am going to figure out how to run it through a pll to get 100 mhz sooner or later. 21:35:14 I don't have a osciliscope, so even if I managed, I wouldn't be able to know for sure. 21:35:39 Well, that cdesign will get tricked by any bounce that lasts longer than three cycles. 21:35:46 The counter method lets you require whatever solid down-time you want. 21:35:57 Oh, I understand. 21:36:00 This is a mechanical system; it's not going to oscillate at MHz. 21:36:09 More like KHz or hundreds of hz. 21:36:09 Checks to see if it has been the same for 4 clock cycles. 21:36:17 Three, actually. 21:36:42 Oh, it checks transition. 21:36:45 Yeah, three. 21:37:38 How large should I make my counter? 21:38:10 If you let a 16-bit counter go all the way then you'll be requiring just over a ms. 21:38:14 I'd do at least that. 21:38:27 It's certainly a good place to start. 21:39:35 Ok, thanks. 21:44:09 Think I'll turn in. Have fun. 21:44:10 I am going to use one counter for all 3 buttons. 21:44:18 Ok, goodnight. 21:44:20 You can't do that. 21:44:33 Why not? Buttons will not be pressed together. 21:44:34 Well, if you only push one at a time you can. 21:44:41 Yep. 21:44:45 Ok - that will work. 21:44:48 Night. 21:44:57 --- nick: KipIngram -> KipIngram-zzz 21:56:16 Wooo, debouncer works. 21:56:18 Thanks. 21:58:29 Awesome, hardware stack works too. 22:19:23 Also, I need to use 32 opcodes unfortunately. 22:19:33 I thought I could get it in 16, but I was missing dup drop swap over. :( 22:40:36 "dup drop swap over"? that is "tuck" :-P 23:56:21 --- join: qFox (~C00K13S@5356B263.cable.casema.nl) joined #forth 23:59:59 --- log: ended forth/10.04.29