00:00:00 --- log: started forth/03.08.14 00:01:13 kc5tja: did you do some fpga things? 00:01:27 Nothing involving design, simulation, or verification. 00:01:40 I know what they are, but that's the extent of my knowledge. 00:02:13 FPGAs are just plain out of my economic reach, and will be for the foreseeable future. 00:02:50 kc5tja I'm just gonna ask santa to get a kit for me :D 00:03:13 i think it's acceptable to demand a NOP in the code before a ADD if the carry should propagate far 00:03:44 gilbertdeb: I hope you know how to design digital circuits, because even the coolest programmed FPGA is useless without something to drive it. :) 00:03:56 ma_]: Agreed. It took me a while to get used to the concept, but it makes perfect sense. 00:04:04 kc5tja its gonna come on a board. 00:04:12 --- quit: ma_] (niven.freenode.net irc.freenode.net) 00:04:12 --- quit: TreyB (niven.freenode.net irc.freenode.net) 00:04:20 otherwise I'll learn. 00:04:24 I have some time. 00:04:35 --- join: ma_] (markus@lns-th2-5-82-64-69-172.adsl.proxad.net) joined #forth 00:04:35 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 00:04:36 And if he wants to implement full carry look-ahead generation, it's fully upward compatible with it. 00:04:38 I'm gonna be doing it for fun primarily. 00:04:51 * kc5tja was waiting for ma_] to come back for that one... :) 00:04:56 gilbertdeb: *nod* 00:05:02 Digital electronics is a lot of fun. 00:05:11 Sometimes expensive, but still a lot of fun. :) 00:05:16 kc5tja I think we've been gyped by all these fancy shmancy computers. 00:05:23 I'd like to simulate as many of the old ones as I can. 00:05:30 nay, BURN! 00:05:38 it is gonna be a retro toy. 00:05:52 which is why I was wondering if the chips were modularized enough to be swappable. 00:06:13 gilbertdeb: Good luck. I think the Commodore 64 and virtually the entire Apple II series can be emulated with two of Xilinx' high-end FPGAs. I seem to recall someone making a Commodore One, based on that concept. 00:06:37 kc5tja someone did a pdp-8 and a pdp-4 00:06:41 gilbertdeb: Can you be more specific by what you mean by "swappable?" 00:06:42 in xilinx. 00:06:49 pdp-8/-4 is easy though. 00:06:52 Commodore 64 is more complex. 00:06:59 kc5tja burn the FPGA, and keep it in a nice box. 00:07:02 The only thing the PDP-8 had was a bunch of serial ports. 00:07:24 so that I don't have to erase the thing for each machine I create. 00:07:26 The C64 has a SID, the VIC, the character generator ROM, the color memory, etc. 00:07:40 kc5tja that is way too complex. 00:07:43 The FPGA gets its programming from ROM at boot-time. 00:07:53 As soon as you turn the power off, it'll lose its identity. 00:08:03 hmmm. 00:08:13 so it must be incredibly fast to program! 00:08:18 Fast enough. 00:08:21 No more than a second. 00:08:27 thats acceptable then! 00:08:39 Burning the EEPROM might take longer, actually. :) 00:08:51 But loading it from ROM is pretty quick. 00:09:04 kc5tja ever seen the Blaauw and Brookes book on computer architecture? 00:09:16 gilbertdeb: Those names are unfamiliar to me. 00:09:28 brookes as in TMM-M 00:09:35 * kc5tja shrugs 00:09:41 mythical man-month? 00:09:44 I have that book, but that doesn't mean anything. 00:09:57 hmmm lemme see. 00:10:52 And as far as the C64 being "too complex," I would like to differ with you. The chips have some degree of complexity in them to overcome the 1MHz CPU limitation. These computers did a **LOT** for their day. 00:11:01 kc5tja here: http://tinyurl.com/jzdp 00:11:04 But programming these chips was very, very, very simple. 00:11:32 so if the xilinx WebPack tools don't let me do things like nop-add then thats because they are tools for sync design? 00:13:11 ma_]: No, not at all. 00:13:38 Wire the adder's inputs to the data stack elements. The adder can operate as a passive circuit. 00:14:16 After a certain number of clock cycles (counted out via NOPs), you can latch the results using ADD. 00:14:25 ma_] are you thinking of building a move machine in your fpga? 00:15:05 gilbertdeb: I think i'll spend some days/weeks to understand that more 00:15:28 * kc5tja points out that while he likes the MOVE architecture, MISC is still my all-time favorite. 00:15:48 are MISC's a subset of RISC? 00:16:02 I firmly believe in faster performance through coarser-grained parallelism. It just makes more sense to me. 00:16:22 gilbertdeb: MISC is an extremist's interpretation of the RISC philosophy. 00:16:34 Minimal instruction set computing isn't a misnomer. 00:16:46 I know. you've mentioned them. 00:16:50 The Steamer16 is the smallest MISC in the world, I believe. 00:17:20 also one where CALL and RETURN must be syntesized 00:17:21 3-bit opcodes, 3-deep data stack, no return stack, and yet still able to outperform the 80386DX processor when coded well. 00:17:52 ma_]: Yep. I tried doing that as an exercise. I came down to 12 cycles for subroutine call (same as on 386) and another 6 for return (twice as fast as the 386). 00:18:26 kc5tja I'm beginning to realize that jeff fox and chuck moore are celebrities in the extreme RISC areas. 00:18:37 Doubt it. 00:18:46 I have never heard anyone in the RISC community even mention their names. 00:18:53 extreme risc ... 00:18:56 as in misc. 00:20:16 Well, there hasn't been a lick of activity on the MISC mailing list in about a year. 00:20:22 Pity too. 00:20:28 * kc5tja loves to hear about new MISC developments. 00:21:47 one of my (nearly thrown away) ideas for a two stack machine is, to use one single ported ram and two pointers for them 00:21:55 only push and pop are accessing both stacks 00:22:32 Very true. 00:23:27 .what's the name of the bigforth creator? 00:23:33 Bernd Paysan 00:23:45 he did also a 5-bit/insn chip 00:26:50 If you use a three-stage pipeline in conjunction with caching the top of data stack in a register, you can get single-cycle execution for all your instructions, too. 00:27:39 Hmmm... 00:27:41 maybe not. 00:27:52 I'd have to think about it. And I'm not terribly awake to do that right now. 00:28:07 But certainly for most instructions, you can get 1-cycle durations on them. 00:28:57 Anyway, I need to get to bed. I'm tired, and I have a long day tomorrow. 00:29:10 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 00:30:36 gilbertdeb: ma_] too; my bed is waiting already some hours 00:30:45 here it's 9:30 00:30:46 ack. 00:30:49 where are you 00:30:53 miami. 00:31:26 hmm, when are you? (is to ununderstandable as question) :) 00:31:46 ah ... 00:31:50 3 am here. 00:31:55 EST 00:35:52 gilbertdeb: till next time 00:36:12 yes stop by again. 00:36:33 you are often here? 00:36:43 yeah. 00:36:49 ok 00:36:52 lots more to learn here ;) 00:38:13 for me too ;) 00:38:20 --- quit: ma_] ("Client Exiting") 01:32:10 --- quit: Frek (Read error: 111 (Connection refused)) 03:19:04 --- join: rk_ (~rk@ca-cmrilo-docsis-cmtsj-b-36.vnnyca.adelphia.net) joined #forth 03:19:05 --- quit: rk_ (Read error: 104 (Connection reset by peer)) 03:19:11 --- quit: rk (niven.freenode.net irc.freenode.net) 03:19:34 --- join: rk (~rk@ca-cmrilo-docsis-cmtsj-b-36.vnnyca.adelphia.net) joined #forth 03:33:51 --- join: Frek (~anvil@81-216-25-254.man2.calypso.net) joined #forth 03:36:40 --- quit: TreyB (niven.freenode.net irc.freenode.net) 03:36:45 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 03:37:41 --- quit: rk (Read error: 110 (Connection timed out)) 04:19:20 --- quit: TreyB (niven.freenode.net irc.freenode.net) 04:19:42 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 04:55:43 --- join: draq (ident@203-219-179-14-nsw.tpgi.com.au) joined #forth 05:19:19 --- join: Serg_Penguin (Serg_Pengu@212.34.52.140) joined #forth 05:21:29 --- quit: Serg_Penguin (Client Quit) 05:32:07 --- quit: TreyB (niven.freenode.net irc.freenode.net) 05:32:17 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 07:11:49 --- quit: draq (Read error: 104 (Connection reset by peer)) 07:29:04 --- quit: TreyB (niven.freenode.net irc.freenode.net) 07:29:07 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 07:32:45 --- join: wossname (wossname@HSE-QuebecCity-ppp81526.qc.sympatico.ca) joined #forth 08:22:04 --- join: Serg_Penguin (Serg_Pengu@212.34.52.140) joined #forth 08:25:13 --- quit: Serg_Penguin (Client Quit) 08:42:59 --- join: rk (~rk@ca-cmrilo-docsis-cmtsj-b-36.vnnyca.adelphia.net) joined #forth 09:17:23 --- quit: rk (Connection reset by peer) 09:17:28 --- join: rk_ (~rk@ca-cmrilo-docsis-cmtsj-b-36.vnnyca.adelphia.net) joined #forth 09:28:11 --- join: mur (murr@baana-62-165-187-177.phnet.fi) joined #forth 09:59:45 --- join: a7r (~a7r@206.72.82.135) joined #forth 09:59:53 morning 10:08:37 --- nick: rk_ -> rk 10:10:26 morning all 10:45:34 --- join: jma (~jma@h-64-105-21-62.DNVTCO56.covad.net) joined #forth 10:56:34 --- quit: rk (Read error: 104 (Connection reset by peer)) 11:04:53 --- quit: jma () 11:08:21 --- join: rk (~rk@ca-cmrilo-docsis-cmtsj-b-36.vnnyca.adelphia.net) joined #forth 12:05:27 --- quit: wossname ("follow the rain, to the dark end of the street") 13:05:34 --- join: I440r (~I440r@dialup-67.29.205.114.Dial1.Cincinnati1.Level3.net) joined #forth 13:09:07 --- join: crc (~crc@ACA16DF4.ipt.aol.com) joined #forth 13:18:28 --- quit: crc ("I was using TinyIRC! Visit http://www.tinyirc.net/ for more information.") 13:29:59 --- quit: I440r () 13:48:35 --- quit: Stepan (Remote closed the connection) 14:33:35 * gilbertdeb is away: I'm busy 14:37:54 ok 14:38:47 I suppose nobody asked how this channel is forth coming ? 14:41:27 --- quit: Fractal (niven.freenode.net irc.freenode.net) 14:41:54 --- join: Fractal (bron@we.brute.forced.your.pgp.key.at.hcsw.org) joined #forth 15:30:17 --- quit: rk ("Client Exiting") 16:03:51 --- quit: a7r (Read error: 60 (Operation timed out)) 16:42:31 --- join: Speuler (~Speuler@mnch-d9ba4bd4.pool.mediaWays.net) joined #forth 16:42:49 'morning 16:45:14 --- quit: mur ("MURR! save the http://rainforest.care2.com/") 16:54:51 --- join: rk (~rk@ca-cmrilo-docsis-cmtsj-b-36.vnnyca.adelphia.net) joined #forth 16:57:24 --- join: suprdupr (CrowKilr@64.230.120.222) joined #forth 16:58:27 i was writing forth code and thought about the return stack often called the address stack 16:59:13 i surprised myself using the top of return stack as an A register and using Rdrop and Rdup 17:00:08 @+ !+ etc make use of the rdup word to make compiling, file acess and everything much clearer 17:00:20 data on one stack, addresses on the other 17:01:13 right, in a word it works almost like a local variable 17:01:39 my @ put stuff on stack, doing @ @ is now equivalent to doing @ dup, anyway lot of novel, perhaps useful optimization possibilities 17:01:55 i tried to implement bytewide counted string and cell wide counter counted string 17:02:35 first i suprised myself going with data on top of address for !b (store byte) 17:02:50 i found it tends to complicate matters to use too many different string representation at once 17:03:13 i only wanted to get good code so i tried different things 17:03:30 i like to put strings on a string stack 17:04:00 byte counts are samller but the code is ugly 17:04:02 and have a extra set of stack operators, just for strings 17:04:15 dup$ swap$ drop$ etc 17:04:19 k but how do you save them? 17:04:26 the count is wich size? 17:04:29 s" string" push$ 17:04:32 *which? 17:04:37 cell size on string stack 17:04:58 but that's transparent 17:05:02 so you stack every char and then push the count? 17:05:18 the operators help you avoiding to deal with a count directly 17:05:34 wanna have a look ? 17:05:40 i know but im interested understanding how those words might work 17:05:45 yep of course 17:05:57 http://www.forthfreak.net/stringstack 17:06:58 my code was messy because i didnt use words like pluck 17:07:12 only dup drop swap over nip 17:08:13 have a slightly modified version (added two or three words) so it loads into ficl and pforth, that version is not on the server 17:08:21 but the mods were trivial 17:09:24 0<= u>= and cell was missing 17:11:00 freeing the data stack from strings is the major benefit 17:11:22 s" string" push$ ... pop$ to move to and fro 17:11:32 i wanted to do the same thing 17:12:04 so you got a study case now 17:12:19 hmmm not quite ;p 17:12:32 let say screen is a constant word 17:12:42 it points to the count of the string 17:12:50 or file/array/whatever 17:13:19 32 bit wide length counter -1 17:13:40 by - 1 i mean every "object" is a least one byte long 17:13:57 array on string stack is easy to emulate through pick$ 17:14:21 storing into emulated string array is not efficient 17:14:30 dont want to use pick, its like cheating ;pp 17:14:37 (into the middle of array i mean) 17:14:51 just provided as interface 17:15:10 it allows you indexing the string stack 17:15:42 in your code you use pick for the data stack 17:16:03 : pluck 2 pick ; 17:16:18 that's the only pick 17:16:25 there's pick$, ok 17:17:00 pick$ does NOT put copy string on top of string stack 17:17:17 just chars 17:17:19 ? 17:17:23 it copies addr len of string to data stack 17:17:34 kk 17:19:03 also, dup'ed strings are not copied 17:19:11 just ref'd again 17:20:02 only if you modify a dup'd string will it be copied 17:21:22 anyway i just wanted to come up with efficient words to access the "counted" object, and it came to me that there was no need for a A register, if one provides the adress stack primitives 17:22:00 i try to avoid having to deal with string count in programs 17:22:04 Rswap could be handy, though using the data stack could be enough 17:22:30 you'll tend to hardcode too much info about string organization into the source 17:22:48 rdrop exits a loop, rdup builds one 17:22:51 like, byte or cell count, 17:23:01 or, for that matter, leading count at all 17:23:23 cell wide (32 bits) count are way better, more universal 17:23:52 can't use "count" on those counts :) 17:24:00 --- join: a7r (~a7r@206.72.82.135) joined #forth 17:24:03 i wanted to use decremented count to have the full range, let say 8 bits gives me 256 bytes etc 17:24:05 hi a7r 17:25:11 and if count 0<, cell count 17:26:15 ? 17:26:52 probably misunderstood 17:27:32 you mean if count is less than zero? its unsigned... 17:28:00 0..127 / 128.255 expand to cell 17:28:48 i'd not think it would be a good idea, cause of the extra condition to detemine count size 17:28:54 * suprdupr dont understand speuler's notation 17:29:18 im not using byte counts, it was just a brainstorming 17:29:27 i tried to come up with code to do the job in both case 17:29:54 it is either a byte, or it is not 17:30:00 byte count code was ugly, so i decided to go with cell wide count (32 bits), which makes the code more universal 17:30:40 i tried *separate* byte count and cell count code, no conditionals. 17:31:25 count bytes/cells are mainly useful for string storage 17:31:35 but not for working on strings 17:31:49 how come? 17:32:14 cause if you work on counted strings, you need to know the count size in your source 17:32:33 string represented by an address 17:32:50 the string won't tell you whether it is byte or not 17:32:59 --- join: kc5tja (~kc5tja@ip68-8-127-122.sd.sd.cox.net) joined #forth 17:33:00 --- mode: ChanServ set +o kc5tja 17:33:16 it would if you use some condtion on it 17:33:25 which sounds dirty 17:33:39 why not getting rid of byte counted strings? 17:33:54 get rid of counts altogether 17:34:00 except for maybe string storage 17:34:28 but don't call it "counted strings" but "strings with length information somewhere" 17:34:39 you mean putting counts elsewhere, or using a terminated string? 17:34:45 kk! 17:35:01 best would be if your source wouldn't have to bother wherer the count is 17:35:07 * kc5tja likes the split (caddr,u) pair. :) 17:35:19 addr len 17:35:37 * Speuler too 17:35:42 --- quit: Fractal (niven.freenode.net irc.freenode.net) 17:36:16 that why i used a @count word, i dont have words needing !count right now 17:36:33 * kc5tja remembers coming up with a string module in Oberon because the language's native string functionality (about as good as C's) was abysmal, and greatly interfered with its type safety systems. 17:36:35 they only increment/decrement the count before storing it, keep code clean 17:36:37 does it work on cell- or byte count strings ? 17:37:08 --- join: TheBlueWizard (TheBlueWiz@207.111.96.42) joined #forth 17:37:09 --- mode: ChanServ set +o TheBlueWizard 17:37:17 hiya all 17:37:22 hi TBW 17:37:29 hiya Speuler :) 17:37:34 So then, TheBlueWizard says he'll give me $4096 if I could finish it for him. 17:37:36 kc5tja: since yesterday i try to do some forth coding, and came with the idea of using the top of the return stack as an a register, with primitives such as rdrop/rdup 17:37:40 Hey, speak of the devil. :D 17:37:55 * TheBlueWizard blinks ... "What?!" 17:37:58 you finish the 4096$ ? 17:38:03 suprdupr: Chuck already does this in his MISC chips. :) 17:38:13 i know lol 17:38:26 TheBlueWizard: Yeah, remember? You said you'd give me $4096 if I ever finish Dolphin. >:) 17:38:32 i didnt invented this, but its beter than the a reg imo 17:38:44 suprdupr: Each has their uses 17:38:48 kc5tja: what the heck are you talking about?! I don't remember mentioning the money 17:38:50 TheBlueWizard: I'm joking. :) 17:39:41 why not cram the a functionality in top of return stack? you get two more opcodes, @ and store use this pointer without erasing it etc 17:39:42 TheBlueWizard is probably picking his heart up off the floor and trying to re-install it again. 17:40:03 kc5tja: well, be careful when making jokes...next time around you might be a victim of joke! 17:40:25 * kc5tja has been a victim many times. 17:40:26 :) 17:41:58 :P 17:43:04 * TheBlueWizard also notes that he never had asked for any deadline regarding kc5tja's DolphinOS project 17:44:14 --- quit: kc5tja (niven.freenode.net irc.freenode.net) 17:44:14 --- quit: Speuler (niven.freenode.net irc.freenode.net) 17:44:14 --- quit: TreyB (niven.freenode.net irc.freenode.net) 17:44:14 --- quit: ooo (niven.freenode.net irc.freenode.net) 17:44:14 --- quit: rk (niven.freenode.net irc.freenode.net) 17:44:14 --- quit: ChanServ (niven.freenode.net irc.freenode.net) 17:44:14 --- quit: a7r (niven.freenode.net irc.freenode.net) 17:44:15 --- quit: ian_p (niven.freenode.net irc.freenode.net) 17:44:15 --- quit: suprdupr (niven.freenode.net irc.freenode.net) 17:44:15 --- quit: Frek (niven.freenode.net irc.freenode.net) 17:44:15 --- quit: onetom (niven.freenode.net irc.freenode.net) 17:44:15 --- quit: fridge (niven.freenode.net irc.freenode.net) 17:46:37 --- join: ChanServ (ChanServ@services.) joined #forth 17:46:37 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 17:46:37 --- join: a7r (~a7r@206.72.82.135) joined #forth 17:46:37 --- join: suprdupr (CrowKilr@64.230.120.222) joined #forth 17:46:37 --- join: rk (~rk@ca-cmrilo-docsis-cmtsj-b-36.vnnyca.adelphia.net) joined #forth 17:46:37 --- join: Frek (~anvil@81-216-25-254.man2.calypso.net) joined #forth 17:46:37 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 17:46:37 --- join: ooo (~o@jalokivi.netsafir.com) joined #forth 17:46:37 --- join: fridge (~fridge@dsl-203-33-160-130.NSW.netspace.net.au) joined #forth 17:46:37 --- join: ian_p (ian@inpuj.net) joined #forth 17:46:37 --- mode: niven.freenode.net set +o ChanServ 17:46:40 --- quit: ooo (niven.freenode.net irc.freenode.net) 17:46:40 --- quit: rk (niven.freenode.net irc.freenode.net) 17:46:40 --- quit: ChanServ (niven.freenode.net irc.freenode.net) 17:46:40 --- quit: a7r (niven.freenode.net irc.freenode.net) 17:46:40 --- quit: ian_p (niven.freenode.net irc.freenode.net) 17:46:40 --- quit: fridge (niven.freenode.net irc.freenode.net) 17:46:40 --- quit: suprdupr (niven.freenode.net irc.freenode.net) 17:46:40 --- quit: Frek (niven.freenode.net irc.freenode.net) 17:46:40 --- quit: onetom (niven.freenode.net irc.freenode.net) 17:46:41 --- quit: TreyB (niven.freenode.net irc.freenode.net) 17:46:43 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 17:46:51 --- join: kc5tja (~kc5tja@ip68-8-127-122.sd.sd.cox.net) joined #forth 17:46:51 --- join: Fractal (bron@we.brute.forced.your.pgp.key.at.hcsw.org) joined #forth 17:46:51 --- join: a7r (~a7r@206.72.82.135) joined #forth 17:46:51 --- join: suprdupr (CrowKilr@64.230.120.222) joined #forth 17:46:51 --- join: rk (~rk@ca-cmrilo-docsis-cmtsj-b-36.vnnyca.adelphia.net) joined #forth 17:46:51 --- join: Frek (~anvil@81-216-25-254.man2.calypso.net) joined #forth 17:46:51 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 17:46:51 --- join: ian_p (ian@inpuj.net) joined #forth 17:46:51 --- join: fridge (~fridge@dsl-203-33-160-130.NSW.netspace.net.au) joined #forth 17:46:51 --- join: ChanServ (ChanServ@services.) joined #forth 17:46:51 --- join: ooo (~o@jalokivi.netsafir.com) joined #forth 17:46:51 --- mode: niven.freenode.net set +oo kc5tja ChanServ 17:46:59 wb TheBlueWizard 17:47:02 That was a fun ride, eh? 17:47:47 clog stayed with me...plus a few others...but, yeah, fun fun fun!!!! 17:47:55 Well, that was a netsplit. 17:48:05 I got dumped off of two servers in succession. 17:48:12 Finally the third time, I got on, but had to kill a ghost. 17:48:24 and it is even more fun watching #debian channel so full of netsplitting and netjoining 17:48:31 Hehehe 17:48:37 * kc5tja is no longer interested in Debian Linux. 17:48:45 * kc5tja now uses Slackware for his company's Linux installations. 17:48:56 I really like Debian Linux 17:49:15 I do too, but I can't put up with the political bullcrap that goes on between the package maintainers, and with the users. 17:49:25 * kc5tja got banned from #debian a couple of times for asking how to do something. 17:49:33 Without any other provocation, at that. 17:49:56 I didn't know being clueless was such a crime, but apparently it is for them. 17:50:03 So, I've simply had it with them. 17:50:09 since #debian has more than 400 ppl there, you can imagine the result of split/join...at one point I think it went down to perhaps only 50 ppl :) 17:50:18 * kc5tja installed Slack 9.0 on my last customer's machine. It worked beautifully well. 17:51:07 Although installing CUPS was a bit of a hassle -- it was a flawless install for the main server, but there were plenty of undocumented interdependencies that I had to take care of. But, I have them documented for myself now, so I can install it in a snap now that I know what to install. :) 17:51:16 I once tried to install Slackware Linux (forgot the version, but it was an earlier version)...failed to boot up properly :/ 17:51:30 Slack has never failed me. 17:51:48 However, I will note that LILO used to be horrendously buggy in the past. 17:52:03 It would work for, like, 3 months, then something would happen and it wouldn't work anymore -- it'd hang on bootup. 17:52:17 Hence, until recently, I've always installed a small DOS partition, and used LOADLIN instead. 17:52:38 * kc5tja would prefer to use GRUB, actually. If/when Dolphin gets created, it'll use GRUB. 17:53:24 I also tried to install OpenBSD...the floppy bootup process failed for me (that was three years ago)....I then tried Debian Linux...the installation went OK, though the dselect proved very, very confusing for me...but in the end it works really nice, and I got a few help here and there :) 17:53:52 * kc5tja likes apt-get. But I like BSD ports better. :) 17:54:28 And I like Slackware's TGZ packages the best. VERY simple, very easy to manage. Their only flaw is that they don't keep track of dependencies. 17:54:29 interesting re: lilo...I never have encountered problems with lilo (though I know one has to be careful with lilo :( ) 17:54:44 Newer versions seem to be much more stable for me. 17:54:53 * TheBlueWizard nods 17:56:18 I have to admit, although I think GRUB is a superior bootloader, I think LILO is easier for someone to use. So I'm kind of torn between using GRUB and LILO. :D 17:56:42 I agree that apt-get is really great 17:57:08 The other thing is, I really don't like the whole Debian philosophy of supporting every doggone package in the world. 17:57:18 That creates a very bloated distribution. 17:57:42 Slackware still fits on a single CD-ROM, for instance. Debian doesn't, and its multi-CD installation is so buggy as to be unusable. 17:58:07 hehe...the biggest sticking point is having to keep compatible with M$ booting process....if we don't have to (for pragmatic reasons), we could do much more...or even better, redesign the BIOS level booting process 17:58:32 That's a mobo factor, not a Linux factor. 17:58:56 BIOS determines how booting is accomplished, and really doesn't depend on host OS at all. 17:59:08 * TheBlueWizard now has a multi-CD Debian distro (woody) and didn't have problems installing from that set 17:59:25 * kc5tja tried Woody, and the installer wouldn't work at all. 17:59:39 It installed the packages that were on the first CD, and that's it. 17:59:52 * TheBlueWizard nods re: booting process being a mobo (actually an architectural) factor, not Linux 17:59:56 It'll ask me to change CDs, and I would, and then it'd error out saying that /cdrom isn't accessible and all that jazz. 17:59:56 * suprdupr enjoyed reading the freebsd x86 bios dependency textfile 18:00:29 I know how the booting process work; after all, I did write a MSDOS copmpatible boot code on my own 18:01:02 --- quit: skylan (Read error: 104 (Connection reset by peer)) 18:02:05 * TheBlueWizard hmms re: kc5tja's trouble with woody installing 18:02:25 At any rate, it's a moot issue for me now. 18:02:34 And I have interest in continuing development of Dolphin again. 18:03:16 Though, I'm not 100% certain how exactly I'm going to handle it. I'm thinking writing the system in Oberon would be the best thing. 18:03:36 --- join: rk_ (~rk@ca-cmrilo-docsis-cmtsj-b-36.vnnyca.adelphia.net) joined #forth 18:04:13 One thing is definitely for sure though; it will be built on top of an exokernel. 18:04:19 what? I thought you are going 100% Forth.... 18:04:39 TheBlueWizard: I am. But Dolphin is a separate project of mine. 18:04:57 There is a niche that still needs to be filled: an open-source operating system "for the rest of us." 18:05:31 yes 18:05:36 After all these years, the Linux community still cannot find it within their hearts to address the core issues causing Linux to be an anathema to business users world-wide. 18:05:59 KDE makes a nice file manager facade. 18:06:07 Gnome has a wonderful component architecture. 18:06:08 I agree completely about the need for THE OS OS ;p 18:06:30 But they still don't cover the core issues: is it a chore for users to boot into their Linux system with these things? 18:06:35 According to my last customer, yes. 18:07:11 My rationale for choosing Oberon over Forth for this comes from a detailed study of requirements. 18:07:41 if you mean those M$-esque point-n-click interface as needed for biz world, I'm inclined to agree...but, still, a lot of biz world are brain-damaged...I personally don't care for it 18:08:05 Oberon compilers are smallish (not as small as Forth, but nowhere near as big as C), the language is simple and easily understood, it's extremely modular, it's one of the most type-safe languages in the world, and supports (fast!) garbage collection. 18:08:25 TheBlueWizard: I'm also referring to home users too. 18:08:34 There's nothing wrong with a point-n-click interface. 18:09:03 But read any text on user interface design, and you'll see that ***ALL*** the UI experts in the world *DETEST* Microsoft and Apple both for violating design guidelines that are backed with scientific studies. 18:09:54 I don't ever remember anyone being confused about AmigaOS. For as diverse as its user interface was, it was still so consistent that people knew how to use the computer right off the bat. 18:10:07 I challenge anyone to actually teach a newbie how to use Windows effectively. 18:10:09 It'll take years. 18:10:18 per se, yeah...but the main problem lies in being able to access parts (settings, data, whatever) at low level...that's where Linux excels at, compared to Winblows 18:10:36 First of all, people don't care about the low-level details. 18:10:46 Second of all, such details shouldn't even exist to begin with. 18:11:00 using windows efficiently is that when you have a browser and a game running simultaneously ? :) 18:11:30 This is the exact set of requirements given to me by my last customer: You just make it work. I want to point at this icon here, click it, and have it generate some reports. I don't care how you do it, just do it. 18:11:52 Frek: No, any monkey can do that. 18:12:23 dang, that's way above my head then :) 18:12:28 Frek: I'm talking about properly using folders, how to handle the UI discrepencies that Microsoft has between programs, the difference between closing and minimizing a window, etc. 18:12:47 i see 18:13:05 Microsoft promulgates a distinctly "hunt and peck" user interface philosophy. To them, discovery of a feature is as much a feature as the feature desired. 18:13:16 They WANT the user to be kept totally in the dark about things. 18:13:59 user illusion ;p 18:14:05 This is why there are often no less than 4 ways to do essentially the same thing under most Microsoft programs, but each has their little nuances that are just different enough to confuse the HELL out of a typical user. 18:14:11 suprdupr: Very much so. 18:14:23 But no plain ol' user is ever going to use Forth either. 18:14:43 sorry for the off-topic-ness of my question, but can anyone give a one line summary of what is controversial about Forth? Someone is asking me that now :) 18:14:50 * TheBlueWizard is stumped 18:15:00 Amiga was extremely user friendly, without being overbearing to the user. And for those users that could handle it, it offered low-level details that you could tweak if you wanted. 18:15:27 Forth solves the software problem, thats the controversy 18:15:29 TheBlueWizard: "That question cannot be answered." 18:15:44 Yeah, good recollection. 18:15:48 That'd also work, I guess. 18:15:51 Amiga was very good...but I realize there is much, much to go further 18:16:04 TheBlueWizard: Such as? 18:16:21 hold on...I am talking to someone right now 18:16:26 --- join: cleverdra (~cleverdra@205.247.28.93) joined #forth 18:17:11 --- quit: suprdupr ("must go... :o( ill try to think about efficicent way to handle interrupts/events in a simple way.... bye!") 18:18:02 --- join: skylan (sjh@vickesh01-4477.tbaytel.net) joined #forth 18:19:19 the guy has to depart...so I'm back :) 18:19:20 NICE! I got e-mail from Bill Gates! *DELETE* 18:19:26 lol 18:20:32 kc5 - but how will you know what kind of porn and/or absurd product he's offering? 18:20:34 don't delete...send him an email informing him about umm...something really icky ;) 18:20:56 --- quit: rk (Read error: 110 (Connection timed out)) 18:21:31 It's spam. 18:22:05 I know...*AND* I'm joking...there! :-P 18:23:07 on many levels. 18:24:40 I don't care to know. 18:26:03 now back to discussion about the "high and low" levels of interfaces (point-n-click and text files)...imagine a world where distinction between the two get blurred...instead of tons of canned dialogs that users view and set the parameters, turn them into a kind of HTML-based frames (so that anyone can write up a HTML to customize an interface whatever s/he likes)...and the text files should be recasted into encoded XML (it can be compact) 18:27:13 that's what I am seeing with the idea of going much, much further...and I am not thinking in bloatedness approach at all...something simple, but flexible 18:27:19 The backing store for configuration data can be anything you want. 18:27:31 I'm just saying that the average joe blow won't care, nor will want to care, about editing configuration files. 18:27:49 The problem boils down to training -- you just can't teach people who don't want to learn something new. 18:28:31 I really do not know what you're talking about. What's the difference between a set of canned dialogs and a set of canned XML files? 18:29:09 Besides, XML/HTML files don't provide instantaneous feedback. You've got to have software backing those dialogs to provide the degree of user responsiveness that users expect. 18:29:23 Amiga's preferences system is about as good as it really gets. 18:29:49 no...but writing up a simple dialog can be done and should be fun...for example, I remember my dad (he wasn't a good hacker by any stretch) wanting to have some simple pop up menu appearing from a DOS prompt (that was a while ago), and he was having that problem....it should not be a problem in my vision 18:30:00 No need for dedicated control panel applications, no need for custom build procedures to build "applets," no need for exotic execution formats, no need for a system registry, nothing. 18:31:07 * TheBlueWizard agrees...no need for silly registry...no need for environment variables, no need for (you fill it in) 18:31:09 And I absolutely adore the Amiga's method of installing software, which only MacOS X has finally learned anything from (even then, indirectly through NeXTStep): drag and drop one icon. Now wasn't that easy? 18:31:36 Unfortunately, modern AmigaOS software all seem to require installers. Bad juju -- a really bad sign. 18:31:47 yeah...I believe BeOS does one step better 18:32:22 ah yeah...those newer Amiga installers...looks like they're written in a dialect of Lisp :P 18:32:30 Scheme, actually. 18:32:38 ah 18:32:55 Same basic core as the Wack debugger engine. 18:33:06 (Wack is the only debugger I'm aware of that is scriptable in Scheme) 18:33:18 2.04 doesn't have anything like that...I think 2.1 and up starts using that strange installer thing 18:33:43 2.04 applications used the installer, but it wasn't a standard part of the system. It was distributed with the apps. With 2.1, it became system standard. 18:33:44 Ugly. 18:33:45 Very. 18:33:47 --- quit: a7r (Read error: 110 (Connection timed out)) 18:33:49 kc5tja: MacOS 9 had apps that been like that too 18:33:54 been = was 18:34:08 * TheBlueWizard doesn't have any experience with Wack, but it looks something similar to DEBUG 18:34:19 TheBlueWizard: Well, it is a debugger. 18:34:25 TheBlueWizard: But it's scriptable. 18:34:32 and the same problem is on the amiga, as soon as an application needs to install system resources it requires an installer. 18:34:32 And it's written in Scheme. :D 18:34:57 Frek: Not exactly true. 18:35:03 no ? 18:35:06 A typical install sequence is like this: 18:35:22 1. Drag/drop root directory of application to your harddrive drawer. 18:35:27 didn't know it is scriptable...interesting. My personal fave would be Apple II monitor...while it isn't so scriptable, it is really nifty in my book :))) 18:35:29 2. Open the drawer, and double click the "install" icon. 18:35:43 3. Installer *only* configures environment. It doesn't actually copy or move files anywhere. 18:35:51 sure it does 18:35:59 It only affects the relavent files in S: (user-startup usually). 18:36:01 Umm, no. 18:36:01 :) 18:36:10 I have an Amiga 500 sitting right next to me, with Kickstart 2.04 on it. 18:36:31 it copies MUI classes and configuration files, libraries and whatever it needs to system folders 18:36:39 Installing software for Kickstart 2.04 (some of them) and earlier is EXACTLY as I describe it. 18:36:49 Frek: ASSIGN LIBS: myFolder ADD 18:36:49 I have both an Amiga 1200 and a Pegasos sitting right next to me 18:36:55 It doesn't need to copy. 18:37:11 Your software must use the Commodore installer tool then. 18:37:30 None of mine or the tools I have do. 18:37:47 kc5tja: yes either way, MacOS 7/8/9 doesn't even need that 18:38:10 Plan 9's filesystem architecture eliminates the need for anything like this sort of installation too. 18:38:18 libraries can sit right in the application folder and it will be found automatically by the code fragment manager upon launch 18:38:28 It supports a "union" filesystem, which presents the union of multiple filesystems in a single directory. 18:38:41 So, /bin can be all installed binaries, and not a single file needs to be copied anywhere. 18:38:58 It'd be the union of /packages/*/bin for example, where '*' is a wildcard for all installed packages. 18:39:09 nifty 18:39:16 sure 18:39:48 yeah...of course that can be improved even more 18:39:49 but OS X doesn't do anything like that :) 18:39:50 Frek: I'm not sure what you mean by 'sure' there. 18:40:05 I mean 'sure' as in 'yes correct' 18:40:14 Frek: My point is, because I'm writing Dolphin, that I'm going to place support for something like that right in the kernel itself, proper. 18:40:26 yes sounds nice. 18:40:42 TheBlueWizard: Again, such as? :) 18:41:33 however I don't think the actual "schematics" is significantly different from MS-DOS's/UNIX PATH or aliases in MacOS 18:42:18 It's actually closer to AmigaOS' multi-directory assignments. 18:42:52 actually that's something I dislike about the AmigaOS/MorphOS all these ASSIGNS 18:42:54 Flat filesystems have been tried in the past, and without much success. 18:43:01 * kc5tja *loves* them. 18:43:07 They solve so many problems it's not funny. 18:43:08 ever experience problems with trying to organize (let's pick a popular example) pictures....you would want to organize them by "nature", by "family", etc. and then also want to organize them by some different category scheme, and then you struggle with the question of which one is deemed more important 18:43:19 kc5tja you love flat file systems? 18:43:39 * gilbertdeb is back (gone 04:10:03) 18:43:42 gilbertdeb: Ideally, yes, but I was referring to ASSIGNs. 18:43:49 TheBlueWizard: yep 18:43:50 I find ASSIGNs to be problematic in long run 18:44:38 TheBlueWizard: Yes, I have. And I admit that there is zero satisfactory solution for it, short of having multiple database indexes for each of your preferred collation sequence. 18:44:48 anyway, that's what I meant by saying that the xyz/*/bin union idea can be improved upon 18:44:56 symlinks are your friend tbw. 18:45:04 The problem is, when I add a new picture, I then have to go and update eevveerryy index that even could *possibly* reference the new object. 18:45:09 yep there's always rooms for improvements in all implementations 18:45:22 TheBlueWizard: YAGNI. 18:45:43 TheBlueWizard: Unioning multiple directories is a very elegant solution to the problem. 18:45:44 gilbertdeb: heh...but that's a stopgap solution...see Debian Linux with TONS of symlinks...not so good 18:45:57 YAGNI? 18:46:09 Yet Another great NI 18:46:26 You Aren't Gonna Need It -- the principle behind XP and Forth programming philosophies; no hooks. 18:46:29 eitherway AmigaOS may have a great way to handle the file system, but on the other hand it's a pain to use due to the lack of memory protection 18:46:30 :) 18:46:40 kc5tja thats terrible! 18:46:47 I thought YA belonged to Yet Another!!! 18:46:50 Frek: *sigh* If I only had a nickel for every time I heard such a false assumption. 18:46:55 * TheBlueWizard laughs 18:46:55 ambiguities have been introduced. 18:47:05 kc5tja: false assumption ? 18:47:32 AmigaOS . . . is a pain to use due to the lack of memory protection 18:47:41 Again, I've never had any problems. 18:47:54 My system doesn't crash on me ever unless my code is buggy. 18:48:12 All the software i have for it installed now are commercial (or commercial-grade) software. No failures since 1990s. 18:48:13 gilbertdeb: YAAYAIYA ;) [you are assuming YA is Yet Another ...] 18:48:18 no it's probably a matter of opinions, I prefer having a system that stays stable even if I have a pointer that's wrong etc 18:48:28 Frek: Stability is relative. 18:48:29 (assumptions are never false -- they can only have their foundation proven figmentary) 18:48:41 I've lost just as much data (possibly more) under Linux due to segfaults than I have under AmigaOS. 18:49:08 sure but when you get a segfault you loose application related data 18:49:35 when a non memory protected OS crash you loose all data related to everything that was running/open in the worst case 18:49:47 * TheBlueWizard had lost some data under AmigaOS, but hasn't yet under Linux so far...even with power plug literally pulled out (twice) 18:51:47 --- quit: cleverdra (niven.freenode.net irc.freenode.net) 18:51:47 --- quit: kc5tja (niven.freenode.net irc.freenode.net) 18:51:47 --- quit: ChanServ (niven.freenode.net irc.freenode.net) 18:51:47 --- quit: rk_ (niven.freenode.net irc.freenode.net) 18:51:48 --- quit: ian_p (niven.freenode.net irc.freenode.net) 18:51:48 --- quit: fridge (niven.freenode.net irc.freenode.net) 18:51:48 --- quit: Frek (niven.freenode.net irc.freenode.net) 18:51:48 --- quit: onetom (niven.freenode.net irc.freenode.net) 18:51:48 --- quit: Fractal (niven.freenode.net irc.freenode.net) 18:51:48 --- quit: skylan (niven.freenode.net irc.freenode.net) 18:51:48 --- quit: ooo (niven.freenode.net irc.freenode.net) 18:51:48 --- quit: TreyB (niven.freenode.net irc.freenode.net) 18:52:07 --- join: kc5tja (~kc5tja@ip68-8-127-122.sd.sd.cox.net) joined #forth 18:52:07 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 18:52:07 --- join: skylan (sjh@vickesh01-4477.tbaytel.net) joined #forth 18:52:07 --- join: cleverdra (~cleverdra@205.247.28.93) joined #forth 18:52:07 --- join: rk_ (~rk@ca-cmrilo-docsis-cmtsj-b-36.vnnyca.adelphia.net) joined #forth 18:52:07 --- join: Fractal (bron@we.brute.forced.your.pgp.key.at.hcsw.org) joined #forth 18:52:07 --- join: Frek (~anvil@81-216-25-254.man2.calypso.net) joined #forth 18:52:07 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 18:52:07 --- join: ooo (~o@jalokivi.netsafir.com) joined #forth 18:52:07 --- join: fridge (~fridge@dsl-203-33-160-130.NSW.netspace.net.au) joined #forth 18:52:07 --- join: ian_p (ian@inpuj.net) joined #forth 18:52:07 --- join: ChanServ (ChanServ@services.) joined #forth 18:52:07 --- mode: niven.freenode.net set +oo kc5tja ChanServ 18:52:07 nice.... 18:52:20 * TheBlueWizard sighs 18:52:31 Frek: I've reinstalled AmigaOS only once: to go from 1.3 to 2.04. :) 18:52:38 another netsplit 18:52:55 kc5tja: well personally I think it's a shame not to implement memory protection if the hardware got an MMU :) 18:53:09 even though it's non trivial 18:53:11 Well, like I said, I'm going to support it. 18:53:18 yeah I heard ya 18:53:19 Nontrivial is an understatement. 18:53:29 It also adds immense resource consumption rates to the kernel. 18:53:44 I know, I've worked with the MMU on the powerpc in a couple of applications 18:53:49 Very specialized memory allocators are needed to carefully minimize memory consumption rates. 18:53:58 * kc5tja loves the PowerPC MMU... :) 18:54:05 I love the PPC in general 18:54:08 As do I. 18:54:14 PPC and MIPS are my two all-time favorite architectures. 18:54:40 x86's -- it's "OK" in that Motorola/SPARC sort of way, I guess. But it still sucks. 18:54:41 I'm not that familar with the MIPS although I have a PS2 Dev environment 18:54:50 And oh, how I *SO* wish the computer disabled paging on an interrupt!! 18:54:56 (automatically that is) 18:55:13 the only thing I think is a bit sad about the PPC is that there's just one interrupt/exception level 18:55:22 but however it can be emulated. 18:55:29 User-level, man. 18:55:33 more interrupt levels that is 18:56:00 I'm of the opinion that no interrupt handler should take so much time for that to ever matter. :) 18:56:01 like the 68k had 7 interrupt levels which is handy at times 18:56:46 no of course not, but you probably have to spend time writing interrupt emulation anyway, cause you simply can't threat all interrupts equal so it would be nicer to have it in the hardware to begin with 18:56:52 but however it's a matter of opinion I guess 18:57:16 I can't imagine how multiple interrupt levels would be useful. 18:57:17 --- quit: cleverdra (Remote closed the connection) 18:57:28 Using the 68000 for some time, I found them to be rather annoying actually. 18:57:41 yes I'm no fan of the 68k either 18:57:58 (or any CISC CPU for that matter) 18:58:26 I love the 680x0 architecture. I think it's the best CISC architecture from a programming standpoint, ever. 18:58:43 But I have to admit a certain attachment to the 65816 CPU. :D 18:58:58 it might be the best CISC architecture, I don't like anything CISC though 18:59:21 * kc5tja wishes RISCs took over the CPU market. 18:59:24 but I guess forth is better suited for CISC :P 18:59:26 Especially the PowerPC. 18:59:34 Frek: Actually, not really. 18:59:40 Forth is best suited to MISC. 18:59:45 68K ain't bad...better than x86 IMHO...but I'm annoyed with the split An/Rn design...requires more register juggling than needed (and I don't like the new '020 addresses; it kills the pipelining) 18:59:47 MISC ? 18:59:53 Frek do you ever play with fpgas? 18:59:53 Both CISC and RISC are inefficient (comparatively) at running Forth code. 19:00:01 gilbertdeb: fpgas ? 19:00:07 MISC is Minimal Instruction Set Computing. 19:00:18 kc5tja: ic never heard of it 19:00:18 Frek field programmable gate arrays. 19:00:18 It's rare for a MISC processor to ever have more than 32 instructions. 19:00:30 gilbertdeb: no I haven't 19:00:40 ack. 19:00:44 gilbertdeb: MISC is a concept wholesale independent of FPGAs. 19:00:53 gilbertdeb: He needs to understand the concept first. 19:00:55 kc5tja I know. 19:01:09 I was digging for info. 19:01:13 The basic idea behind MISC is that the core hardware is a stack processor. 19:01:38 As a stack processor, opcodes don't require source or destination register specifications. Hence, the term "0-operand." 19:01:40 I'm not particulary into forth in general though, I just picked it up. I just made some simple OF stuff like a boot menu etc. 19:01:54 kc5tja: i see 19:01:58 Frek how did you get into it at all? 19:02:00 As a consequence, instructions are rarely more than 5 bits long. 19:02:08 Frek: then you have a lot to learn :))) 19:02:21 gilbertdeb: by reading apple's open firmware documentation 19:02:27 Frek: Now, pack 5-bit instructions into a 16-bit word, and you get 3 instructions, plus a left-over bit. 19:02:34 yeah, I mean the motivation for it? 19:02:43 Hardware is so simple and fast that pipelining isn't used. 19:02:49 gilbertdeb: I like to dig around in lowlevel stuff 19:02:56 Since fetching one memory word fetches multiple instructions, it can be interleaved with normal memory accesses. 19:03:00 kc5tja: interesting 19:03:14 aah! Frek hopefully, you'll dig low enough until you get into fpga . 19:03:22 In the case above, packing 3 instructions per word, each instruction takes a fixed 1.33 cycles to execute. 19:03:32 That number goes down with increasing numbers of instructions. 19:03:33 gilbertdeb: probably not :) 19:03:51 kc5tja: okay 19:03:57 it is as close to lowlevel as lowlevel can be without a million bucks. 19:04:55 gilbertdeb: i see. what are they used for then ? 19:04:56 For example, a 32-bit word can pack 6 instructions, plus two bits of another (giving three extra instructions you can use in that seventh slot, plus NOP). Instruction execution rate ranges between 1.14 (if you use all 7 instructions) and 1.33 cycles (if you use only the 6 full-sized instructions) cycles 19:05:29 kc5tja: alright 19:05:31 They can be used anywhere a normal CPU can be used. 19:05:58 If you really wanted to, an MMU can be built for one too, but that'd add time to its execution path. :) 19:06:04 yeah but I mean more like, what is it ? what are they used for ? 19:06:17 Forth processors are currently mostly used in satellite applications. 19:06:35 MISC M17s and RTX2000s, htough not all stack CPUs are MISC necessarily. 19:06:51 oh ok, but I'm talking about the FPGAs (unless that equals a forth processor) 19:07:13 FPGA is a field programmable gate array -- a chip with a programmable circuit on it basically. 19:07:22 They can be programmed to be microprocessors if you want. 19:07:43 think of FPGA as breadboard-on-silicon :) 19:07:52 oh I believe I get you now 19:07:53 Even some of the smallest FPGAs (read, cheapest; hobby friendly!) can be programmed with a microprocessor design that can meet or beat a comparably clocked 80486. 19:08:08 interesting 19:08:11 similar to a eprom but instead of being a memory you "burn" a chip design ? 19:08:21 Yes. 19:08:27 FPGAs are field programmable too - their memories are RAM-based. 19:08:29 ROMs are too slow. 19:08:54 Especially since, through thousands of gates internally, average input to output propegation delay for a decent FPGA is only 5ns or less. :) 19:08:55 ok, I heard of those in the college, but I never got in contact with them 19:08:58 so you program those in forth ? 19:09:02 No 19:09:07 Usually Verilog or VHDL. 19:09:13 okay 19:09:16 That program gets put through a simulator to make sure the logic design works. 19:09:40 Then the compiler generates a "netlist" for the chip, which is then fed to the placing/layout program so you can fit the logic in various spots on the chip. 19:09:46 ok, I'm pretty sure I will never get in touch with those though 19:09:54 Once that's done, then "vectors" are generated, which are sent to an EEPROM programmer. 19:10:02 The FPGA then "boots" using the burned EEPROM. 19:10:09 sorry adelphia passed out for a second there. 19:10:32 I probably won't either, but maybe when I have more resources, I can hack with one. 19:10:42 what functions can be "integerated" in a FPGA ? just logical operations I take it ? 19:10:51 Entire logical circuits. 19:10:52 Frek yeah. 19:11:00 frek so you can simulate almost any chip you want on it. 19:11:05 do they have an internal clock ? 19:11:07 and it will be as fast as the real thing. 19:11:08 Combinatorial, sequential, synchronous, etc. 19:11:16 frek yeah. 19:11:26 are they reprogrammable too ? 19:11:30 yep. 19:11:30 No, FPGAs do not have an internal clock. One must be supplied externally to the chip. 19:11:46 okay, sounds interesting 19:11:49 Frek the clocks are usually on the development board. 19:11:58 gilbertdeb: gotcha 19:12:04 gilbertdeb: Remember, FPGA is just the chip. :) 19:12:11 You still need to build logic around it to make it useful. 19:12:11 kc5tja yes it is. 19:12:28 so what's the unit price of a FPGA ? 19:12:35 Frek: I can't answer that question. 19:12:42 Check with Xilink and Amtel, among others. 19:12:43 14 bucks for a really cheap one 19:12:53 WOW. They really came down in price. What model? 19:12:54 altera has one for 14 bucks. 19:12:55 kc5tja, gilbertdeb : okay 19:12:59 (This is why I couldn't answer :) ) 19:13:06 kc5tja the Ep1c3 19:13:13 How many gates? 19:13:18 s/gates/gates equivalent/ 19:13:18 they wouldn't say. 19:13:22 it was a sales rep :D 19:13:27 I wouldn't trust them then. 19:13:35 I want to see comparable gates. 19:13:41 A MISC requires about 4000 gates or so. 19:13:54 lemme check though. 19:14:04 THough, the smallest MISC I've seen has *5* 3-bit instructions per instruction word, and fits on a CPLD (even less dense and less programmable than an FPGA!). 19:14:31 And contrary to popular belief, the chip utterly devestated a comparably clocked 80286, and was speed competitive with an 80386 at the same speed. 19:14:52 Got 1.2 cycles per instruction. 19:14:57 number of gates = number of logical operators one can perform ? 19:15:11 Frek: Number of building blocks at your disposal to build the circuit of your choice. 19:15:15 the high end cyclone has 20,060 logic elements. 19:15:23 Not all of them will be usable, depending on how circuit placement and routing goes though. 19:15:32 kc5tja: and a building block = any logical operation ? 19:15:34 Frek the cost might come from the development kit and PCB. 19:15:43 those get pretty darned expensive. 19:15:54 unless you know how to design your own digital PCBs. 19:15:57 gilbertdeb: 20,060 CLBs or gates? I'm assuming CLBs, since that's really low number. How many gates equivalent is a CLB? 19:16:00 gilbertdeb: ic 19:16:12 all very interesting! But, alas! I need to go...bye all! 19:16:21 Frek: Basically. AND, OR, NAND, NOR, XOR, XNOR, inverters, and buffers are all types of gates. 19:16:29 TheBlueWizard: Laters. 19:16:30 :) 19:16:33 bye kc5tja 19:16:50 --- part: TheBlueWizard left #forth 19:17:08 I'm not currently into hardware design, but I did some in the college (I went a electronics / computer science dedicated program) so I'm a bit familar with digital circuits , but that's about it 19:17:20 however if I ever pick it up, i will look into this it seems very interesting 19:17:23 So when you say and r1,r2,r3 on a PowerPC, that's involving at least 32 AND gates (one AND gate per bit of operand), not counting the hundreds of thousands of other gates used to even get the instruction to execute, and register read/write-back logic. :) 19:17:35 Yeah 19:17:40 kc5tja: ah Ic 19:17:41 I used to build CPUs by hand when I was a teenager. 19:18:10 dammit there is so much marketing speak to wade through 19:18:11 the most advanced thing I built was a memory module that stored like 4 bits :P 19:18:18 Now that FPGAs are starting to become a bit more hobby-accessible, it looks like I'll be hacking with those in the future instead. Just as well; I've been wanting to make my own homebrew computer from scratch anyway. 19:18:30 Hehe :) 19:18:38 kc5tja: yeah I always "dreamed" about that too 19:18:45 * kc5tja built a (non-Turing complete) 4-bit CPU that could address 256 nybbles of memory. :) 19:19:05 I was about to build a PIC based computer in the college but it never happen I made a half PIC programmer and that's about it :P 19:19:22 The problems with FPGAs is the really *funky* chip packages they come in. They're all flat-packs, BGAs, or some other VERY non-friendly form that hackers can't easily deal with. 19:19:40 flat-packs = surface mounted ? 19:19:43 Usually. 19:19:57 awe surface soldering is annoying 19:20:04 They're similar to PLCCs, but the pin spacing is something like 25 mil instead of 100 mil, and they're more brittle. 19:20:14 ok 19:20:29 --- nick: rk_ -> abcdefghijklmnop 19:20:35 --- nick: abcdefghijklmnop -> rk 19:20:36 So you can imagine, with 25 mil spacing between wires, what an "oopsie" moment would cause with the soldering iron 19:20:44 frek hear is an entry for your bookmarks -> http://www.fpgacpu.org/links.html 19:20:49 take a look at it sometime. 19:21:00 gilbertdeb: Do they have links to several MISC processors? 19:21:03 gilbertdeb: I will, thanks 19:21:06 kc5tja 'oopsie'? we thick fingered ones can't help it! 19:21:07 If not, I can find the link for the Steamer16 for you. 19:21:13 kc5tja yeah, some forth stuff's on there. 19:21:23 gilbertdeb: I have thin fingers too. Go figure. 19:21:24 but I don't think its anything you've not seen yet. 19:22:13 ah kc5tja I saw the steamer16... 19:22:29 thats what prompted my comment on the celebrityhood of Moore and Fox yesterday. 19:22:41 Oh yeah, the MSL16! I forgot about that processor. 19:22:49 alright sleep for me, g'nite 19:22:58 That has a *VERY* elegant conditional branch mechanism that eliminates the need utterly for conditional/unconditional distinction. 19:23:12 the msl16? 19:23:15 which one is it? 19:23:20 ah I see it. 19:23:20 It's on the links page you posted. 19:24:46 Frek: http://www.stringtuner.com/myron.plichota/steamer1.htm if you're still up. I didn't see a reference to the Steamer16 in the links page. 19:24:51 Yeah, I love its branching method. 19:25:08 Branches take their target address on the data stack. 19:25:14 If the target is zero, it's a no-op. :) 19:25:38 Hence, you'd write a conditional branch like this: 19:25:57 someTest targetAddress AND BRANCH 19:26:35 Multi-way branches are handled nicely too: 19:26:51 test1 addr1 AND test2 addr2 AND test3 addr3 AND OR BRANCH noneOfTheAboveCode 19:27:35 nice. 19:27:39 how originally designed it? 19:29:03 *who 19:29:37 P. H. W. Leong, P. K. Tsang, T. K. Lee 19:29:40 Department of Computer Science. 19:29:47 The Chinese University of Hong Kong 19:29:51 duh! 19:29:55 :) 19:30:00 I thought they were just trying out another idea 19:30:08 ... from somewhere else. 19:30:14 its an original design i see. 19:30:20 Yep. 19:30:30 Nice and fresh. Obviously inspired but quite original. 20:49:13 --- quit: TreyB (niven.freenode.net irc.freenode.net) 20:49:15 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 22:12:12 --- join: Serg_Penguin (Serg_Pengu@212.34.52.140) joined #forth 22:15:37 hi ! 22:16:00 hi hubbard. 22:16:27 today i'll get my fotos printed ;)) i ordered printing everything, even obviously bad 22:16:51 to see how bad they are ;)) 22:17:57 gilbertdeb: did u ever play w/ non-automatic camera ? 22:18:12 no, I haven't had the pleasure. 22:18:48 setting exposure at eye guess is real challenge ;)) 22:27:31 don't they have instruments for that kind of thing? 22:29:38 That takes all the fun out of it then. 22:30:00 its all about craftsmanship isn't it kc? ;) 22:30:20 I wonder how expensive it might be to get a pin hole camera going. 22:30:35 I think I can find a dark room in my house to develop things in. 22:31:32 Serg_Penguin what kind of camera are you using? 22:33:48 I think it is. 22:34:09 Pinhole cameras are neat, but they'll take forever to expose even a bright image. 22:34:30 And they're certainly not well suited for astrophotography. :) 22:34:43 But they actually are quite well suited for solar photography. 22:35:04 i have Zenit-W 22:35:10 old soviet SLR 22:38:14 common 35mm, shutter speeds 1/30 - 1/500, lens 50/3.8 on Pentax M42 screw 22:41:36 no flash, no light-meter, no battery at all ;)) 22:43:05 and all metal ^)) 22:43:54 * kc5tja is getting somewhat annoyed at GTK at the moment. 22:44:26 I'm trying to build a window, with a text box in it. But the text box is only coming out to be 25% the width of the window, and I can't seem to adjust it otherwise. If I resize the window, the text box stays at its 25% proportion. 22:44:37 So if I seem laggy or unresponsive, this is why. 22:44:45 * kc5tja goes back to debugging for the moment. 22:45:05 ;)) 22:45:28 yesterday i returned to coding my one-liner ASCII editor 22:47:31 BTW, today evening i'll maybe go to 'fast seduction'/'pickup' party-masterclass 22:47:44 Got it! :) 22:48:09 Text widget now lays itself out precisely the way I need it to. 22:48:19 just another bug on the wall ;)) 22:49:51 Speaking of which, I destroyed a Black Widow spider yesterday evening. Funny thing was, it had set up a web right next to my head, and had been there at least several months before I knew it was there. 22:50:13 I had no idea I was sleeping right next to one of the more poisonous spiders to mankind. :) 22:50:30 Fortunately, it didn't view me as a threat. 22:51:38 --- quit: TreyB (Read error: 60 (Operation timed out)) 22:53:18 kc5tja it is unfortunate it didn't view you as a threat. 22:53:39 now when it goes to spider heaven, they're gonna ask 'you didn't think he was harmful did you?' 22:55:41 No, it is very fortunate that it didn't view me as a threat. 22:55:52 Otherwise, I'd probably be in the hospital right about now. 22:59:22 --- join: Minute (~hss@CPE-144-137-76-189.nsw.bigpond.net.au) joined #forth 22:59:30 wow, a channel for braindead people like me! 22:59:39 heh? 22:59:42 :) 22:59:45 nothing 22:59:53 * Minute loves forth 23:00:11 do stay. 23:00:33 welcome. 23:00:56 Minute tell us about your forth experiences. 23:00:57 I haven. 23:01:04 t used 23:01:06 forth i 23:01:10 n some t 23:01:11 ime 23:01:31 Any interesting new Forth's out there? 23:01:35 plenty. 23:01:42 what was the last one you played with called? 23:02:39 it was a home-grown one 23:02:47 wow. 23:02:51 what did you write it in? 23:02:54 er, C 23:03:02 although I wrote one in Python once too 23:03:10 source? 23:03:17 nah, this was years ago 23:03:23 I don't put my code up on the web :( 23:03:29 why is that? 23:03:40 too much effort- I've got nowhere to put it 23:03:57 geocities. 23:04:16 or you might contact kc5tja, write a short essay and it can make it to: http://forth.bespin.org 23:04:23 also the forth news group. 23:05:45 so how did you come to play with forth? 23:06:28 I don't remember actually. I like minimalist things 23:06:50 So got into Forth for a while (not ANSI-Forths though) 23:07:03 ansi is 'meh'. 23:12:07 Greetings 23:12:45 * kc5tja is also writing a minimal Forth system for Linux. 23:12:59 Though my time is currently split amongst many different projects at the moment. 23:13:06 I'm only interested in Forth as a minimalist thingy, I don't think its practical :) 23:13:19 * kc5tja feels Forth is imminently practical. 23:13:30 well, it can be for many tasks 23:13:31 * kc5tja intends on using it as my primary OS once I develop it enough. 23:13:56 And taken further, I intend it to be (directly or indirectly) at the core of an OS I want to write called Dolphin. 23:14:12 Did I mention practicality :) 23:15:07 Yes, but it doesn't make sense to me. 23:15:36 It seems that you're claiming my efforts will not result in practical software. 23:16:04 Oh. I don't claim that! 23:16:09 I just assume it :( 23:16:53 I've only seen progress made by working within the bounds of work already done 23:17:47 Minute: Forth is VERY practical ;)) 23:17:51 * kc5tja has written many multitasking protected-mode kernels in the past, all of which got useful work done. 23:18:11 Remember, Linux at one point in time was "impractical" by your standards too. 23:18:23 Without dreams, why bother living? 23:18:25 Linux was a drop-in replacement Unix 23:18:31 i nearly wrote typesetter in Forth, just a few lines ;)) 23:18:41 kc5tja: I don't want to belittle your work.. 23:19:12 Serg_Penguin: Interesting. 23:19:32 * kc5tja will be writing a Desktop Publishing tool in FS/Forth when FS/Forth is ready for production use. 23:22:23 i just had not enough need 4 it, so then i stuck at a bug, i gave up 23:23:07 --- join: a7r (~a7r@206.72.82.135) joined #forth 23:24:28 i was intended to use Knuth's glue-and-springs model :) but oversimplify it 23:24:29 * kc5tja will be using it to lay out advertisements for my company. 23:24:54 That's a good model for pretty much everything, except for when you want absolute control over where items are placed on the page. 23:25:05 Glue-n-springs is also *great* for laying out user interfaces too. 23:25:08 so u wanna beat Tex ? neat ;)) 23:25:13 KDE and GTK both use something very similar. 23:25:39 neat ;)) 23:25:40 TeX is nice, but it's whole purpose in life is to separate content from presentation. The problem is, it and it alone determines presentation. 23:26:00 without writing volumes of software for TeX, I have no say in the matter. 23:26:19 XML/CSS ? 23:26:41 glue and springs? 23:26:43 whats that about? 23:27:06 gilbertdeb: read TeX book ;)) 23:27:28 it's a funny model of page layout process 23:27:40 hmmm? is it related to literate programming? 23:28:01 imagine ancient typo press w/ individual metal letters 23:28:08 no 23:28:22 Serg_Penguin: Huh? What about XML/CSS? I never said anything about those. 23:28:51 i thunk, we may use these languages to describe print materials 23:29:16 yoh 23:31:07 Serg_Penguin: It's possible to use XML to describe a typesettable document -- look at the OpenBook (??) standard. I think that's what it's called. 23:31:15 Started as an SGML standard, now it's moved to XML. 23:31:42 No need for CSS though; OpenBook uses its own mechanism. 23:32:03 * kc5tja has considered using CSS for layout purposes. But CSS really isn't geared for use for print applications. 23:32:35 We'd need to create a customized version of CSS to make it work for print. Doable, and probably "a good thing to do," but it is a detail that must be observed. 23:32:57 re a7r 23:33:09 sup kc5tja 23:33:18 Minute: So you see, I don't think everything should be started over from scratch. :-) 23:33:40 But in the specific case of Forth itself, it's so simple to do that it's sometimes worthwhile. 23:33:51 a7r: Writing a chat client for a friend. 23:33:57 werd. 23:34:00 a7r: Intended to replace IRC for his chatting needs. 23:34:05 we just got done doing mountain runs. 23:34:06 Writing it with GTK. 23:34:13 i.e. ebrake sliding turns 23:34:14 Sweet. 23:34:32 The name "Takumi" comes to mind. Now if only you had a hachi roku... :D 23:34:52 we've got a WRX instead. ;) 23:35:23 Not bad. A bit boxy, but not bad. :) 23:35:34 I understand that they're good at rally racing. 23:35:38 yah 23:36:16 Wow. 23:36:28 * kc5tja made some really good progress: got the skeleton application written in 1.5 hours. 23:36:57 Paned window; top half having a text edit field and vertical scroll bar, and bottom half the same. Nothing actually populates the fields yet. 23:37:11 The idea is the top half is the response from the server, and the bottom half is the user input area. 23:40:15 Hmm, now for my next trick, determining when the input text box has been modified. I'll do that tomorrow, I think. 23:47:37 yay 23:51:26 * Serg_Penguin is now reading on perl threads ;)) 23:59:59 --- log: ended forth/03.08.14