00:00:00 --- log: started forth/04.07.11 00:00:25 I like being able to compile machine instructions anywhere 00:00:29 So do I. 00:01:13 But when a simple + becomes four 32-bit instructions (even if it does effectively execute in a single cycle), the space-savings of a direct-threaded implementation becomes appealing. :-) 00:02:10 (well, that's an exaggeration; a + operation can be described in as little as 2 TTA instructions, provided the compiler is smart enough to optimize out the data stack manipulations that goes along with it.) 00:02:34 what's tta? 00:02:43 Transport Triggered Architecture 00:02:52 what's that? 00:03:08 It's a CPU architecture (relatively recent as of 1990) that works not by specifying operations, but by data flows. 00:03:48 For example, the PowerPC add r2, r3, r4 would be encoded like this in a TTA: 00:04:11 R3 -> add_o, R4 -> add_t ;; These two moves operate in a single cycle 00:04:28 add_r -> R2, ...etc... ;; This operates in the subsequent cycle. 00:04:50 what do O and T stabd fir? 00:05:05 add_o is the first operand register to the integer adder unit. 00:05:25 add_t is the second operand to the adder unit; however, writing to it also triggers (hence the _t) the adder to begin its work. 00:05:30 add_r is the result register. 00:05:36 i mean, is there a reason why they're called add_o and add_t instead of, say, add_o1 and add_o2? 00:05:44 Yes. 00:05:49 oh, nm i see now :) 00:05:55 I can write to add_o *all day long*, and the adder would never generate a result. 00:06:00 i typed too soon, sorry :) 00:06:07 :) 00:06:36 kc5tja: very cool 00:06:48 i hate this fucking patent business, though 00:06:48 (of course, in my design, I would make the adder an asynchronous unit, so changing either one would result in an addition result being generated. But for other things, like a multiplier, which is inherently pipelined, it's good to have a distinct trigger register.) 00:06:55 so each different math unit has it's own input regs that you copy operands to? 00:07:01 Yes. 00:07:13 and you can have any number of units, as long as you can fit them in the CPU's internal register space. 00:07:37 as long as you have room in your instructions to address that many registers 00:07:43 The number of (source, destination) pairs you can fit in a CPU instruction word determines how much data per cycle you can move around inside the CPU. 00:08:21 kc5tja: so with TTA you can do everything with just register copying? 00:08:26 Right. But you can play read-only and write-only register tricks (e.g., overlapping read-only and write-only registers to save space). 00:08:38 Herkamire: Yes. 00:08:46 fascinating 00:09:15 And there is no reason why all move-slots have to address the same set of registers either, or have the same number of bits. 00:09:37 TTA is just a concept, and it is proven to work. It's actually more powerful than VLIW. :D 00:10:16 could you move a cell directly from a result register in a unit to an operand register in a different unit? like moving the result of an addition directly to the address bus? or does everything have to go through an intermediate register set? 00:10:40 "same set of registers".... you mean like you could have a way to switch execution over to a different bank of registers? 00:10:46 Sonarman: Yes. This is one of its biggest advantages. There is reduced need for 32 general purpose registers because of this. Eight should be plenty. 00:11:27 ok, so if you have 16 registers, then you could have 8-bit instructions 00:11:39 4bits specifies source, 4bits for dest register 00:11:39 Herkamire: If you want. Usually different slots are hard-wired to different register banks. One architecture I've seen used slot 0 to manage the instruction pointer and return stack while slots 1, 2, and 3 were used for general purpose data processing. Made for some interesting programs. :) 00:12:17 slot, meaning which bits in a word the instruction is found in? 00:12:26 Right. Assuming you can fit the requirements with that. 00:12:31 Yes. 00:12:47 wow 00:13:09 For example, if I define a TTA that has 5-bit source and destination fields, then a (source, destination) pair is 10 bits wide. In a 32-bit word, I can fit 3 such pairs in at the same time, leaving two more bits left over for other uses. 00:13:42 and I think you were also saying this: there can be a different mapping from the source register bits in the instruction to actual register used, than the mapping of the destination bits to actual register 00:14:14 Another alternative would be to use that 8-bit slot for managing the instruction pointer and return stack, while leaving the remaining 24 bits available for two 6-bit-addressed register move operations. 00:15:14 Not generally recommended that happen, but yes, it is possible. For example, you'd like to think that add_t and add_o are write-only -- you already know what the operand values are, so why would you want to read from them? 00:15:35 Well, when an interrupt occurs, you'd like to be able to preserve the contents of the add_t/add_o registers, so you can restore them later on. :) 00:16:25 But then this opens up another possibility: if you have hardware interrupts disabled, and therefore no interrupt can occur guaranteed by the hardware, then the hardware can remap other read-only registers to add_t/add_o's space. :-) 00:16:29 sounds like a very cool architecture 00:16:31 So you can play all sorts of dirty tricks. :) 00:16:51 heh heh 00:16:58 makes perfect sense to me 00:17:10 It is a very cool concept. 00:17:22 writing could go to operands and GPRs 00:17:29 reading would go to results and GPRs 00:17:29 Writing software for one that actually runs efficiently and makes maximum use of all the available slots, now that is a harder question. 00:17:50 I don't even think it would be too confusing in many cases. 00:17:58 * kc5tja nods 00:18:09 eg if register 5.. when you write to it would be addition input, and read from it it would be addition result 00:18:32 it would appear that register 5 transforms a value you stick in there 00:18:36 I figure this: if I restrict my TTA's register set to only 32 registers, then switching contexts between tasks and/or interrupt handlers would be no more time consuming than it would be on an existing RISC. 00:19:11 interrupts are a bit too much for me to think about ATM 00:19:11 Yes, but as I've detailed above, you probably don't want to do that. 00:19:33 Instead, you'll want to overload the add_r (which IS read-only, no matter what). 00:20:18 right. because of interrupts 00:20:24 anyway, more questions :) 00:20:29 The nice thing about a TTA also is that it uses very, very little transistors. 00:20:29 :) 00:20:41 But unlike a stack processor, it does use more wires. 00:20:45 would it be easy to have concurrent executions of some of the moves specified in an instruction word? 00:21:03 Suppose I have a 32-bit word, with 3 10-bit slots. 00:21:19 Every clock cycle, assuming a memory fetch or store didn't occur, all three moves would occur in parallel. 00:21:42 This is a critical requirement for the TTA in order to compete with existing RISCs on code density and on speed. 00:23:14 oh, they always execute at the same time 00:23:18 Yes 00:23:42 so if one operation uses the results of another, they must be placed in seperate instruction words 00:23:52 That is correct, yes. 00:24:12 so would the stack be in memory for this architecture? 00:24:18 stacks 00:24:44 I would still have the stacks on-chip for this architecture, personally, for no other reason than to keep the bus free and clear. 00:25:00 cool 00:25:18 Unlike the stack architecture, the bus will ALWAYS be in use, since it can dispatch up to three move instructions per clock cycle. Lots of instruction traffic. 00:25:44 This means references to and from memory will be slow; 2 cycles instead of 1. 00:25:49 (except for instruction fetches) 00:26:13 wait 00:26:22 the bus is used in register moves? 00:26:24 Unless, that is, I use a Harvard architecture cache (split data and code cache). 00:26:37 or the bus is busy because you have to fetch an instruction word every cycle? 00:27:07 There would be four buses. The first bus talks to external memory, and attaches to the instruction register. Then there are the three *internal* buses which lets the internal registers talk to each other, under control of the instruction register. 00:27:44 Since one full 32-bit word gets executed per cycle, it needs to be refilled every clock tick. 00:27:58 (otherwise, the execution stalls until it's reloaded again.) 00:28:11 right 00:28:34 is it possible to fetch a data word and an instruction word the same cycle? 00:28:48 Herkamire: only with separate code and data caches. 00:29:16 If a unified cache is used, it would need to have twice as many read ports, which is actually more expensive than having split caches. 00:29:32 If there are no caches used, then no -- it'd have to arbitrate access to the bus, just like a DMA device would. 00:29:49 is this how you fetch from memory? -- move the address you want to fetch from into the address register. then (in the next instruction) move from another register (wherever fetches come in from the address register) 00:30:03 Yes. 00:30:35 you must have a seperate address register for soring, and fetching then right? 00:30:39 You could have the A register, which holds the address, and maybe MA and MA++ registers, both of which provide the fetched data, but one is a trigger to post-increment the A register. 00:30:52 Not necessarily. 00:31:06 Depends on what your requirements are when building the CPU. 00:31:30 oh, right, the fetch/store is triggered by asking for data _from_ the fetch-destination register (or store-source) 00:31:55 (or could be) instead of (as I was thinking) when you put the address in the address register 00:32:09 Actually, there are advantages to the latter. 00:32:24 that would have some advantages. like you could use the address more than once. 00:32:34 If you're working with slow memory (e.g., SDRAM), you can place an address in a dedicated fetch-address register, and then wait the required number of clock cycles before reading the fetch-data. 00:32:40 In the mean time, you could be doing other things. 00:32:52 right 00:33:04 I was thinking that a while back 00:33:40 So, clearly, while the stack architecture is clearly superior for the Kestrel, moving to the TTA is not a total loss, despite the code density issues. 00:34:42 oh, never mind. I was thinking it would be cool to have the trigger when you move from the fetch-destination, because then you could (eg) add something to the value, and store it back to the same location by moving your value to the store-source register 00:35:11 but it would be just as easy to change the value, and move the address from the fetch-address register to the store-address register 00:36:00 (I think you were talking about this before I understood much of it) 00:36:17 :) 00:36:19 seems to me there is a tough decision to make about how many bits each instruction within the word should have 00:36:42 if you make more small instructions, then you have more concurency, but each is more limited in what it can do. 00:37:01 I think TTAs work best when there is a separate code cache. This way, compact instructions can be pre-decoded into TTA sequences and stuffed into the (potentially much wider) internal code cache. 00:37:11 you must specialize so slots can do certain things. 00:37:44 Well, with dedicated stack units, I can approximate a single Forth operation in a single 32-bit word. 00:38:03 cool 00:38:08 I know for a fact that I can for +, -, AND, OR, XOR, COM, NEG, 2*, 2/, etc. 00:38:30 but with harvard architecture, you can't have your forth compile native code right? 00:39:05 Yeah, I can, but the cache system is more complex, because there is a separate instruction cache and a data cache. 00:39:25 So the CPU basically has two bus masters inside of it, and the bus interface unit has to constantly decide who to grant the bus to. 00:39:27 so there is some way to alter the code cache? 00:39:47 like PPC where you have to say that a certain block in the code cache is invalid 00:39:48 I would just do what other CPUs do, and have a means of invalidating code and data cache lines. 00:40:00 * kc5tja nods 00:40:40 I have to deal with the seperate caches in herkforth. 00:40:54 it seemed a bit complex to implement at first, 00:41:00 but I rarely think about it 00:41:23 * kc5tja nods 00:41:28 ; takes care of it 00:42:01 THEN has to flush the cache for the instruction IF compiled 00:42:09 How does ; know where the beginning of a word starts? Is that just a state variable somewhere? 00:42:44 I keep a value that is the highest address that has been flushed (wherever HERE was last time I called flush) 00:42:58 the flush routine flushes from there to HERE, and updates the value to the current value of HERE 00:42:58 Gotcha. 00:43:26 That makes perfect sense. 00:43:38 that works for everything except THEN which must flush a particular address, which could well been flushed already 00:44:00 eg like so: if drop ; then 00:44:07 But as long as IF and THEN appear in the same definition, wouldn't ; take care of it? 00:44:13 AHH. 00:44:15 Gotcha. 00:44:23 I do that a lot 00:44:25 no else 00:44:30 Likewise. :) 00:44:55 In fact, in my target compiler, I don't even have any support for interactivity, so I don't bother defining any new interpreters or compiler loops. 00:45:19 ': foo blah blah prim, prim, prim, blah blah ;' <-- all is *interpreted* directly by gforth. 00:45:43 foo is defined by ': using CREATE and DOES>. :D 00:45:51 huh? 00:46:06 ': does not enter a distinct "compile mode." 00:46:34 All it does is creates the word in gforth's dictionary, makes sure all the addresses are properly aligned, and initializes the tail-call optimization state variables. 00:46:37 That's it. 00:46:40 I can do stuff like: 00:46:48 ': foo 3 4 + . ;' 00:46:55 and it will literally print 7 to the screen. 00:47:03 Mean while, foo will just be composed of a return instruction. 00:47:34 why? 00:47:38 do you want it that way? 00:47:43 Because it takes only 50 lines of code to do it that way. 00:48:29 It's trivially simple to implement, and while inconvenient for the programmer, it's also very fast. 00:48:36 Note also that this is a cross-compiler/assembler. 00:48:50 I don't get it. how do you compile code or make definitions? 00:49:02 I just said, 'foo' is defined with CREATE and DOES>. 00:49:12 : ': create DOES> @ call, ; 00:49:38 So when foo is invoked, it compiles a call instruction to the word's target address. 00:49:52 (which is stored in the word's parameter field by ) 00:50:40 I'm too tired 00:50:53 Herkamire: Download my code, and study it. that's the only way to see the big picture. 00:51:02 kc5tja: ok. 00:51:10 right now I gotta go to bed though 00:51:14 should have 2 hours ago 00:51:17 It's how Chuck Moore implemented his first MachineForth compiler. 00:51:25 :) 00:51:31 Okies. I should too. 00:51:31 :) 00:51:34 Night! 00:51:41 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 00:51:57 --- quit: Sonarman ("leaving") 00:52:01 --- quit: Herkamire ("bed") 01:14:08 * Tomasu is away: dlrrp 01:20:50 --- quit: skylan (Remote closed the connection) 01:21:13 --- join: skylan (~sjh@vickesh01-4466.tbaytel.net) joined #forth 02:08:11 --- join: qFox (C00K13S@cp12172-a.roose1.nb.home.nl) joined #forth 02:33:09 --- quit: aum () 03:36:54 --- join: crc (crc@0-1pool176-5.nas6.philadelphia1.pa.us.da.qwest.net) joined #forth 03:55:08 --- quit: foobar (Read error: 110 (Connection timed out)) 05:08:17 --- quit: crc (Client Quit) 08:37:36 anyone awake ? 08:41:32 no 08:41:36 i meran 08:41:39 i mean 08:41:40 yes. 08:44:00 lol 08:44:05 make yer mind up :P 08:44:32 hm 08:44:55 hard to do. just got home from repainting the stairs, and cleaning up the rest of the house 08:45:09 Hi 08:45:10 my mind says yes, my body says no...thing 08:45:25 ahwell 08:45:27 sup? 08:45:27 :) 08:45:44 It's amazing how many serious bugs that can be hidden in a Forth that looks like it's working fine. 08:46:05 you mean like a hidden 2 stack depth initialization at boot? ;) 08:46:26 Nah, worse 08:46:32 like? 08:46:56 The doconstant word being completely wrong? :P 08:46:58 well i KNEW robert would be awake :P 08:47:02 hah 08:47:17 which forth ? 08:47:26 The DOS forth I discovered. 08:47:32 named ? 08:47:35 tforth 08:47:38 url ? 08:47:44 Hah, forget it :P 08:47:49 lol 08:47:51 Not until I fix the bugs. 08:47:58 It's kinda neat though. 08:48:04 you discoverd or created ? 08:48:06 * qFox passes it on to I440r behind his back 08:48:07 Just have to find this one bug... 08:48:09 I440r: Both :) 08:48:11 psst. 08:48:13 lol 08:48:16 hehe 08:48:17 thanx 08:48:25 It's on robert.zizi.org/tforth.html 08:48:28 * I440r looks at roberts code and lafs 08:48:32 But that version DOES contain a lot of bugs. 08:48:33 Bah 08:48:40 I stole most of it from you 08:48:44 rofl 08:48:44 So don't laugh too much :P 08:48:47 hehe 08:48:49 thief! 08:48:58 :P 08:49:05 maybe we should create a forht development page 08:49:09 you do know that i already ported isforth to dos right? 08:49:09 like 08:49:13 not for one forth 08:49:14 totally unreleased tho :) 08:49:19 I440r: Neat. :) 08:49:21 but with subpages for each forth 08:49:28 I440r: Well, this one is a little bit smaller ;) 08:49:29 like a sourceforge type of page 08:49:35 (and others...) 08:49:50 but then just for forth(ish) development 08:50:12 I guess we could use the forthfreak.net wiki for that. 08:50:38 hm no i think a wiki is not sufficient 08:51:32 * Robert thinks about floating-point numbers. 08:51:41 dont 08:51:41 If I only had some code to read/print those. 08:51:43 hehe 08:51:44 :D 08:51:53 I know they're not 60s enough for you, qFox 08:51:57 i dont even want to think about the float set myself 08:52:10 oh no, i'll have the float set 08:52:31 they are needed in a programming language, no doubt 08:52:38 or should be available anyways 08:56:15 i think i HAVE figured out how to do it though. create words in F that do primitive actions (mostly fetch store operations, and the +-/* AND OR XOR words), and compile the xt of those words and create a word in my new forth, that calls F's execute 08:57:09 that will prohibit the user to use any other lowlevel code (unless these words are added before my forth starts), but i dont think that'll be a problem 09:10:11 --- join: Herkamire (~jason@h000094d30ba2.ne.client2.attbi.com) joined #forth 09:47:27 anyone interested in seeing my 8051 forth ? 09:47:41 --- join: kc5tja (~kc5tja@66-74-218-202.san.rr.com) joined #forth 09:47:47 --- mode: ChanServ set +o kc5tja 09:50:04 kc5 wanna see my 8051 forth ? 09:50:25 i just put the tar.gz for it on isforth.clss.net under the 8051 link 09:50:51 * kc5tja nods 09:51:08 I still want to know how to get around PTSC's patent. 09:51:50 My TTA design will work (assuming there are no TTA patents -- however, I can't find any), but it'll pop 32-bit wide instructions faster than a rock star pops pills. 09:54:04 heh i gotta go. 09:54:07 bbl tho 09:54:23 ok 10:04:26 I fiddled with the recursive fib in herkforth some more. made an asm word just for it. 10:04:31 down to 5secconds 10:04:47 gcc with optomizations on was 6.8 10:05:33 I think the only difference between the code generated by herkforth, and what I would code in asm by hand, is that I would swap two instructions for better timing 10:06:00 * kc5tja nods 10:06:44 Herkamire: Nice. :) 10:07:01 Herkamire: What kind of threading/optimization/etc. does HerkForth do? 10:09:30 (!!) 10:09:46 Herkamire: I'm not too sure on this, but I think I just figured a way to work around the patent issue. 10:09:53 Keep the current, dense instruction encoding. 10:09:56 kc5tja: cool! 10:10:21 But, internal to the chip, have an instruction pre-decoder that translates the MISC opcodes into equivalent TTA operations, which are then executed by the TTA core. 10:10:23 Robert: it compiles native code. 10:10:51 Robert: not a whole lot of optomization, but I did a few tricks to see what it would take to beat/match gcc 10:11:03 It adds lots of transistors to the design, and almost certainly requires pipelining to work right, so I'm not sure how much of a performance gain I'd get. 10:11:49 Herkamire: OK, cool. :) 10:11:56 kc5tja: cool idea 10:12:36 What patent is it that you have to get around? 10:12:49 But the instruction pre-decoder can recognize certain instruction pairs, and do math between the functional units without ever touching the data stack, for example. Thus, it should at least compare to a regular MISC in overall performance. 10:13:15 U.S. 5,809,336 10:13:18 cool 10:13:44 What, "the use of numbers above three" ? 10:13:54 * Robert wonders if everything can be patented. 10:14:14 Robert: PTSC has a valid patent. It's a hardware patent. 10:14:29 And it seems MISC is obvious to us NOW, but back in 1992/1993, it wasn't. 10:15:11 lets patent de dot on the i! 10:15:13 Is the patent about MISC itself? Or some technical detail? 10:15:40 It describes the Patriot Scientific ShBoom! processor, which is the world's first MISC CPU. 10:15:52 dont patents run out after 5 years? 10:15:59 qFox: 5? You mean 20, right? 10:16:04 yes 10:16:05 :p 10:16:16 [19:15:51] dont patents run out after 20 years? 10:16:22 see 10:16:42 kc5tja: But isn't the patent limited to that processor? Or can't you do anything that even somewhat reminds of it? 10:16:52 --- join: foobar_ (fooboo@dialup-4.153.64.167.Dial1.Atlanta1.Level3.net) joined #forth 10:16:54 That patent was filed and granted in 1995, so that means it will expire no later than 2015. 10:17:42 The patent describes a processor of a particular architecture. 10:18:00 The ShBoom!'s internal architecture is used for illustrations, but c'mon -- MISC is MISC is MISC. 10:18:28 The only reason RISC took off is because all the initial RISC initiatives were funded with public funds! I can make a MIPS-I clone tomorrow if I wanted to, with absolutely no fear of legal retribution. 10:18:39 MISC was created under private investment capital -- it has every right to be patented. 10:18:57 Hehe. The question is, will they send a hitman after you if you make a hobby kit with a MISC processor? 10:19:19 I don't think that patent benifics society 10:20:08 Patents are meant to benefit their holders. :) 10:20:23 the patent system is meant to benifit society 10:20:26 Robert: No, *IF* I don't sell processors made with the design. I can sell my kits so that it uses my processor, and I can sell the blank FPGA and FPGA ROM for it, but you'll have to program the CPU yourself with only publicly available documents. 10:20:33 To be perfectly legal, that is. 10:21:04 Actually, patents benefit only their holders. 10:21:16 The whole concept of intellectual property is *fundamentally* flawed. 10:21:31 The notion that an *idea* can be controlled is total rubbish. 10:21:38 kc5tja: Can't you just ask them for permission? 10:21:49 the idea is, that patents encourage people to invent (ie big companies to pay inventors to spend time designing stuff) 10:21:51 that'll cost you blingbling 10:21:55 It creates a *false* scarcity in a capitalist society, and we know what those can do just by watching the whole dot-com bust. 10:22:03 and this benifits the world because their ideas are published. 10:22:03 kc5tja: I mean, it should be worth a try, as you won't exactly be a serious concurrent. 10:22:15 but in reality, it's usually used to stop people from using technologies at all 10:22:23 except sometimes big companies. 10:22:33 I say huge companies don't need any more help from the government 10:22:41 Robert: Certainly. And I will probably try to contact them on clarifying their position relative to little people like me. 10:22:54 i began to question patents when they started giving patents for software 10:23:25 there's even a patent on entertaining your cat with a laser pointer 10:23:27 Herkamire: PTSC has . . . 7 employees. They are suffering from millions of dollars in losses for at least the last four fiscal quarters. They are not a big company. :-) 10:23:33 foobar_: Haha. 10:23:42 Oh, *AND* Intel is suing *them* because of their recent lawsuits based on the patent. 10:23:55 kc5tja: oh, so they better start suing people 10:24:19 Such a mess. 10:24:20 If PTSC had placed their charges against Intel when they released the 486DX2, then they probably would have been in a much better position. 10:24:45 I meant big companies can sometimes use other people's patents (because they can afford the layers and licensing fees, or they can snag the patent holder with cross licensing or something) 10:25:03 * kc5tja nods 10:26:36 the public is starting to think that the point of patents and copyrights is so you can make money 10:27:07 and they think it's ok 10:27:13 fair even 10:27:26 this is patented: r = (v ^ (v >> (sizeof(int) * 8 - 1))) - (v >> (sizeof(int) * 8 - 1)); 10:27:54 and its purpose is...? 10:28:15 absolute value 10:28:18 without branching 10:28:19 --- join: SDO (~SDO@67-23-111-213.clspco.adelphia.net) joined #forth 10:28:25 ah 10:28:31 Who's the owner? 10:28:49 And, uh, I have a hard time to believe that is patented. 10:28:55 Vladimir Yu Volkonsky and assigned to Sun Microsystems . 10:29:09 Not even a brain-dead monkey would allow that to be patented. 10:29:09 are you able to patent math stuff? they are basically the same as a algorithm 10:29:44 according to the bit twiddling page at stanford 10:29:49 what's ^ do again? 10:29:54 I don't accuse all government officials of being intelligent, but I doubt they'd go THAT low. 10:29:57 xor 10:30:46 they patented patented playing with your cat 10:31:28 see 5,443,036) 10:31:37 I don't want to know. 10:31:59 FedGov is worse than a brain dead monkey 10:32:57 Herkamire: That's the whole point of the patent system. The whole "inventors benefit" business is bullshit. A patent is a license to a monopoly for 17 to 20 years, depending on the conditions under which it has been filed. 10:33:15 The laws behind patents are specifically tailored, and always have been, to benefit corporations. 10:33:23 --- part: foobar_ left #forth 10:33:28 --- join: foobar_ (fooboo@dialup-4.153.64.167.Dial1.Atlanta1.Level3.net) joined #forth 10:33:37 right. people buy the "inventors benifit" thing 10:34:16 software patents will not make any more jobs for programmers, or get programmers payed any more 10:34:20 * Tomasu is back (gone 09:20:13) 10:34:27 no. It will kill jobs. 10:34:30 they will just shift even more power to software giants 10:34:44 give them more power to sue anybody they want 10:34:58 i heard that the old Amiga had to pay the patent-holder for displaying a cursor 10:35:22 stuff like that is holding this computer business back imo :( 10:36:04 it's holding most businesses back 10:36:15 foobar_: No, but they did have to pay a patent holder for using XOR to draw things to the screen (which, I'd like to point out, I'm also doing. And they can fucking shove it.) 10:36:18 the automobile industry comes to mind 10:37:25 kc5tja: techniques that any good programmer would re-invent! 10:37:37 foobar_: And have, time and time agan. 10:37:40 again 10:37:59 that's the problem with patents. It makes it so people aren't allowed to invent things 10:38:13 Or even to just re-use things. 10:38:37 copyright law sucks in a lot of aspects, but it doesn't allow anybody to sue you for creating something you invented in your own basement 10:38:41 That was the original "public view" intent of patents: if I can't use XOR to draw a blob to the screen, I need to "invent" an alternative. 10:38:55 --- join: crc (crc@0-1pool88-84.nas48.philadelphia1.pa.us.da.qwest.net) joined #forth 10:38:58 Herkamire: Actually, yes it does. 10:39:19 kc5tja: how? 10:39:37 Herkamire: Patent law doesn't give a company to sue for something you independently invent, since patent documents are public documents anyway. Patent law only prevents you from (a) claiming it as your own, and (b) reselling manifestations without license. 10:40:03 Herkamire: Read DMCA, and the WIPO regulations that are currently being debated will only tighten the stranglehold. 10:40:15 As worded, WIPO's rules literally forbid a person to own a computer. 10:41:25 how do they do that? 10:41:34 money is power 10:41:52 They press charges against you, they have lawyers who know how to selectively interpret texts, and they can own you. 10:41:55 Simple as that. 10:42:02 and look at the absolute retards we elect to office 10:42:28 our court system doesn't work 10:42:47 Our court system does work, as long as the jury isn't bribed. 10:43:12 as long as you have $250,000 to spend on the case, which you don't get back even if you win 10:43:19 Like Microsoft did to Janet Reno. i'm still pissed off about that. 10:43:32 Herkamire: right 10:43:38 kc5tja: What did they do? 10:44:39 Herkamire: a prosecutor can destroy you even if you're innocent 10:45:02 Robert: Microsoft -- found guilty of EVERY anti-trust law we have -- gets off the hook by "donating" thousands of copies of Windows to needy schools (thus further indoctorinating thousands of kids on the Windows concept of computing). AT&T, however, which was found guilty of only a select few of our anti-trust laws, had undergone a *violent* and government-enforced corporate breakup. 10:45:09 Now, what the **FUCK** is wrong with this picture? 10:46:08 Heh. 10:46:13 Billy Gates is a thug who wants a monoply 10:46:19 wants? 10:46:23 how about has? 10:46:24 oh yeah that janet. the name rang a bell 10:46:42 It's nice how you can donate something that is free. 10:46:57 windows isn't free 10:47:08 Windows costs about $200 per license. 10:47:10 it's way more expensive, and way worse than something that is free 10:47:14 i wonder, is it really bill, the guy? or is he by now nothing more then a puppet controlled by the board of directors (or whatever is actually leading MS...) 10:47:20 It won't cost them any significant amount to give it away. 10:47:28 qFox: Bill *is* on the BOD. 10:47:33 i mean, bill has more cash then he could possibly spend in his next 50 lifes.. 10:47:36 qFox: gates controlls microsoft 10:47:39 okay 10:47:41 :) 10:47:52 * qFox shuts up 10:47:59 That's actually why he stepped down from CEO, is because he spends more of his time doing BOD stuff than he used to. 10:48:09 And it sets Ballmer up to take the fall if Bill fucks up. 10:48:13 Bill Gates is a VERY evil man. 10:48:14 VERY. 10:48:19 qFox: it may be more of a board now, but gates got it started by running everything 10:48:25 --- quit: SDO (Connection timed out) 10:48:28 * qFox nods 10:48:31 he got his OS popular by stealing it 10:48:43 Did you know that Microsoft was the primary host of all the oil companies who were participating in the "Let's Rebuild Iraq" fiasco? 10:48:54 Is that not the most fucked up shit? 10:49:23 Oh, make no mistake about it. Gates was always in charge. 10:49:31 the original MS-DOS was purchased from another company by Gates 10:49:40 yes, a harddrive manufacturer. 10:49:52 Sold by Paul Allen, who subsequently was hired by Microsoft. 10:49:59 What is their interest in Iraq? 10:50:02 Want them to buy Windows instead of food? 10:50:08 i decided its not my purpose in life to fight this fight, as such i'm not going to bother trying. microsoft "rules", in the non-rox sense, and i dont see that changing any time soon, i doubt we'll ever see that happen ourselves.. 10:50:34 Robert: Indirect sales of Windows is as good as direct sales. If the oil companies set up rigs in Iraq, they are going to need computers. Guess what OS they run? 10:50:39 qFox: So you continue using Windows? 10:50:47 i am already, yes 10:50:58 kc5tja: Hmm.. I have a feeling it's not AmigaOS. 10:51:01 qFox: I thought you weren't going to fight... 10:51:05 and? 10:51:14 qFox: by that you mean you're going to help microsoft? 10:51:44 neither 10:51:54 at least not with that intension. 10:51:57 qFox: it helps microsoft that you are using their software 10:52:08 And writing MSN clients. 10:52:09 if you "feel" that i'm helping microsoft because i'm running windows, then whatever 10:52:19 qFox: you are. 10:52:28 Actually that's even worse, you lure poor IRCers into using MSN. :) 10:52:28 qFox: why do most people use windows? 10:52:36 Robert> writing the msn client is actually AGaINST ms, if you really care (they dont like it). reporting the bug was just ... whatever 10:53:10 Well, I did not intend on starting a religious war here. 10:53:12 most people use windows because it's what their friends use, or it's what they've seen before 10:53:18 Herkamire> its not my fight. i'm not going to use linux and restrain myself from using certain programs just to make a point, when nobody gives a damn 10:53:21 i'm just not 10:53:31 qFox: LOL 10:53:33 windows works for me, thats all i care about 10:53:36 The point is, this world is royally fucked up, we're moving beyond 100MPH, and there is a solid brick wall smack in the middle of the road. 10:53:42 We're about to collide with it. 10:53:52 word 10:53:53 :p 10:53:57 Actually, I think Windows is the best DOS emulator there is. 10:54:05 The older versions 10:54:11 * crc would rather not have to use Windows, but there's no Linux, BSD, or BeOS drivers for his modem :-( 10:54:16 qFox: even if I didn't give a shit about MS (or if say, they were a ethically good corperation) I wouldn't wan to restrict myself to the software available for that system. 10:54:22 DOSemu is slow and buggy, Bochs is...well... just slow. 10:54:29 there is way more (and better) software available for free for linux 10:54:36 Herkamire> instead you restrict yourself to software for *nix? 10:54:38 hello... 10:54:48 qFox: That's not a serious restriction. 10:54:58 its MORE of a restriction for linux, then for windows 10:55:07 seeing the support for linux vs windows 10:55:12 So what Windows-specific programs do you need? 10:55:40 some computers come with Winmodems that only work with Windoze, right? 10:55:55 first of all, most games are windows based. other then that, in every day usage, i use ultraedit, mirc and msn mostly 10:56:08 uedit is "just" a text editor, and i'm sure there's a linux version for it 10:56:15 msn can be coded for linux (already has been) 10:56:21 and mirc, well its just irc right? 10:56:33 but why the fuck would i go thru the "Agony" of learning linux? 10:56:36 i really dont want to right now 10:56:42 not making time for it 10:56:45 windows works for me, period. 10:56:50 qFox: i see your point 10:56:53 Yeah. 10:56:59 the transition would be traumatic 10:57:03 Linux is more aimed towards coders, not gamers. 10:57:33 i'd say i'm both. but i still see no real reason for me to switch to linux 10:57:34 qFox: i've used that software, and I have a program on linux that is better than each 10:57:48 and mine are all free 10:57:50 ohyeah and i use winamp (and am sure there are linux equivallent software for that ;) 10:57:54 What about AutoCAD? 10:57:58 qFox: XMMS. 10:58:14 i don't use winamp; use XMPlay 10:58:16 Herkamire> better how. how can you improve my text editing when i dont need any other features? 10:58:23 qFox: did you pay for windows, or buy a PC that came with it? 10:58:26 how can you improve mirc when anything i need, i can script 10:58:38 how can you improve winamp when all i care about is the playing of mp3's 10:58:43 qFox: Actually, on my sisters Windows computer I had to replace the Windows media plauer with mplayer (ported _from_ *nix) to make things work properly. 10:58:46 Herkamire> no and no. 10:58:58 like i said, its not my fight. 10:59:07 and i build computers from components 10:59:07 :) 10:59:08 qFox: there are 100 ways to improve a text editor. if nothing else, it starts faster 10:59:15 use xmplay for mp3s; it's completely free and plays ogg files 10:59:17 and i care for 10 ms why? 10:59:38 ultraedit starts as fast as i could humanly control it 10:59:42 so whatever.. 10:59:52 my im program is so easy to use, I hardly know it's there (im people show up as IRCers in a chattroom) 11:00:11 usability-wise xmms and winamp are pretty much the same. 11:00:28 kc5tja: will Kestrel play mp3 files ? ? ? 11:00:28 xmms doesn't spy on you... never know if winamp does 11:00:31 yes, and once the popup is removed, msn works fine for me, and is atm the only im i'm using (msn is _the_ IM for holland currently) 11:00:48 That's the fault with NL 11:00:52 and if not, i still have a script for MSN 11:01:01 Robert> true, but that as well, is not my fight 11:01:17 You can make it. If they're against you, don't join them. 11:01:17 qFox: my point about helping microsoft, is that your choice in OS influences others. 11:01:41 most people don't know that much about computers 11:01:44 Robert> so i ban msn and make it impossible to chat to my friends online who are clueless about irc or other ims? no thanks. 11:01:52 they find out what computer people use, and use that 11:01:55 Make them less clueless. 11:02:13 Herkamire> i can start using linux, and tell friends to do the same, but they'll just bitch and be clueless 11:02:28 qFox: that's what I thought. but be cool. 11:02:40 So what are you doing with the clueless bitches? ;) 11:02:50 :p 11:02:54 people have tried linux because they heard I used it. 11:02:55 * foobar_ watches the blood splatter. 11:02:57 they asked me about it. 11:03:02 its just not worth the trouble for me. 11:03:03 a couple asked me to make them CDs 11:03:12 foobar_: I'm not writing the software to do it, but I don't see why it couldn't. 11:03:23 good 11:03:29 none of the "lets ban MS stuff" things are worth the trouble for me personally. 11:03:31 when people hear you use windows, it helps them think they are doing the right thing 11:03:36 It may not be fast enough to play them in real-time however. With only 25MIPS available, and no support for floating point, I couldn't be sure of it. 11:03:56 i understand the position trouble and problems that people have against microsoft perfectly well, dont get me wrong. 11:03:59 most people do pay for microsoft stuff, if only indirectly when they buy their computer 11:04:03 kc5tja: i think my 30 or 40 MHz Amiga had trouble playing mp3s 11:04:19 but its the same as hunger in third world countries. 11:04:23 foobar_: What processor was it? 11:04:27 qFox: also, your attitude that linux sucks doesn't help either... 11:04:28 68030 11:04:32 you know, i could just spend every damn second of my life trying to make their lives a little better 11:04:35 i could... 11:04:45 Herkamire> where did i say linux sux? 11:05:11 if you payed someone to set up linux instead of paying for windows to be installed on your machine when you buy it, that would take away all the hastles you were complaining about linux 11:05:13 foobar_: Hmm...yeah, that has better instruction timing than the 68020. I would say my CPU would be competitive with the 68030, but not ever having used the 68030, I don't know. I don't even know what its instruction timings are like. 11:05:16 i dont have that attitude, i can only be blamed for being lazy. 11:05:36 13:56 < qFox> but why the fuck would i go thru the "Agony" of learning linux? 11:05:38 13:56 < qFox> but why the fuck would i go thru the "Agony" of learning linux? 11:05:41 aye 11:05:45 it is. 11:05:53 it's not agony 11:06:01 do i _really_ have to explain this point? come on man 11:06:02 you can have linux behave almost exactly like windows 11:06:06 at 25 MIPS, yours sounds faster; each 68030 instruction would take several cycles 11:06:11 i disagree 11:06:28 you had a point about the games... 11:06:36 I prefer consoles anyway. 11:06:44 * Tomasu is away: Just casue 11:06:53 i think 11:06:53 i do too, but the games are just a littel easier to be obtained 11:07:00 for pc i mean 11:07:18 * qFox notes the public log on this chan and will not continue in this direction any further 11:07:30 Hehe. 11:07:40 Looking at the Ignite processor reference manual now. Man, it *is* a nice CPU. 11:07:44 Afraid Stallman will come over and have a little chat with you? 11:08:11 no but seriously, windows works. the windows vs linux, or anti-MS fight is not mine, and i dont care enough about it as to ban all microsoft products for it 11:08:15 you don't have to spend any time learning linux 11:08:25 Robert> i fear no-one in that subject 11:08:31 :) 11:08:37 just buy a computer with linux on it, or pay somebody (could probably get it for half what windows costs) to install it for you 11:08:47 Herkamire> that would actually COST me money 11:08:53 no matter how good Linux is, the learning curve will be steep 11:08:58 plus i'd be in an environment i know little about 11:09:07 which is EXACTLY what i meant earlier 11:09:08 foobar_: Not true 11:09:16 it can boot up to a GUI desktop that acts close enough to the way windoze does that anybody farmilliar could just use it 11:09:17 and is exactly what i DONT want right now. 11:09:19 foobar_: Maybe. Well, if I end up using the TTA, there is some room for some optimization. Most Forth primitives would use only 66% of the available opcode space (and still retain 25MIPS throughput). So if you could hand-optimize the assembly language code, you could get higher "effective" throughput, even though you're still at 25MIPS. 11:09:47 Herkamire> no offense, but can we drop this? you are not going to convince me to use linux, trust me on this. 11:09:47 sounds faster 11:10:07 not for now, when i find a reason i'll install it on a second box 11:10:32 foobar_: Yeah, but by how much? I know that the MISC CPU architecture and my TTA design both are about 4x faster than a 68000. How much faster is a 68030 over a 68000 (ignoring bus bandwidth issues)? 11:10:43 (and assuming clock speeds are identical) 11:10:59 depends on cycles per instruction... 11:11:13 I'm looking at the absolute, simplest possible instruction. 11:11:24 linux does not have a steep learning curve 11:11:25 ADDIQ.W #120,D0 11:11:27 or some such. 11:11:32 at least not worse than windoze 11:11:38 that's another myth 11:11:44 but i KNOW windows. goddamnit 11:11:58 Ok, folks, please... this is even getting boring for me. :) 11:12:38 I did NOT intend to offend anyone, but merely point out some basic facts, and how they relate to ME, PERSONALLY, since I'm DIRECTLY affected by patents and the activities of Microsoft, Patriot Scientific, Apple, and anyone else who has patents and (ab)uses them. 11:12:42 That's all I wanted to do. 11:13:07 i think you intended to set herk up against me! :p 11:13:21 /kickban qFox Conspiracy theorist!! ;D 11:13:30 see! 11:13:53 microsoft = alien taking over the world! 11:13:54 muwhahahahaha 11:14:44 Robert> in F is ['] the immidiate for ' ? 11:14:45 Seriously, though, I think PTSC has a valid claim. Personally. I just need to either work around the patent, find some means I can actually afford to cooperate, or just wait out the patent. :D 11:15:05 kc5tja> there's no way they'll let you if you ask nicely? 11:15:06 qFox: Yes. 11:15:13 Robert> kk 11:15:37 qFox: I haven't tried. I don't know who to contact just yet. 11:16:08 i'd think the same who you'd have to contact to obtain a license... must be listed somewhere..? 11:19:59 you'd think 11:20:05 certainly doesn't work that way with copyrights 11:37:26 No, I've decided to wait until PTSC is put out of business. 11:38:39 Right now, they are going after PLL-based clock multiplier users, which I certainly don't use. 11:39:26 So I'm going to continue in my MISC design methodology. But they have two "core" patents, and I'm willing to bet you that other core patent is the way instructions are executed inside the CPU. That'd be the killer patent for me. 11:39:58 But if Intel wins their lawsuit against PTSC, and if their *5* existing lawsuits with Japanese companies fall through, then it's likely they'll find themselves going out of business fairly quickly. 11:40:05 They're rapidly running out of operating capital. 11:41:51 what will happen to the patents if they go out of business? 11:42:02 are they voided? 11:42:20 or is there a patent-market of some kind :p 11:42:36 Since patents are business assets, they will likely be sold to someone. 11:45:22 But then again, it's also possible that Chuck Moore and Fish will keep control over the patents too. 11:45:25 It's hard to tell. 11:45:35 ehr 11:45:50 Since Chuck is in the business of developing MISC chips today, it's likely he'll try to retain the rights to his chips. 11:45:54 wait, you mean, its chuck moore who controls the patents that are stopping you from doing this? 11:46:15 No. The *rights* enabled by the patents are currently owned by Patriot Scientific. 11:46:38 That is to say, PTSC has the license to use these chip designs and controls the technology. 11:47:00 If PTSC goes out of business, then Chuck Moore may work to re-acquire exclusive control over those rights again. 11:47:20 chuck used to have exclusive right? 11:47:20 (note: CM is only one of two people listed as the inventors. Some guy by the name of Fish is also on the name list.) 11:47:30 Chuck helped found PTSC. 11:48:08 ahh 11:48:52 so, will he have a problem you using the licenced tech to create a forth cpu? 11:49:25 i'd say that its only in his own advantage, or something like it. unless ptsc creates cpu's themselves... 11:49:39 qFox: So far, CM seems to encourage people to play with the idea. There are a number of MISC-clone chip designs (note: NOT chips!) that are available on the net, that have been synthesized, and that have worked for their designers. 11:50:06 qFox: PTSC markets two CPUs -- ShBoom! and Ignite!. 11:50:14 yeh, unfortunatly, indeed, no physical ones are available 11:50:16 not many anyways 11:50:32 qFox: Well, the reason is they aren't in the business of reselling or wholesaling CPUs. 11:50:36 That's where patents come in. 11:50:42 ANYONE can make an Ignite! clone. 11:50:50 (in fact, you can actually download their IP from their site!) 11:51:11 :) 11:51:12 You just can't *SELL* it or otherwise make a profit from it, directly or indirectly, without a license. 11:52:04 right 11:52:50 But maybe this patent thing is a mixed blessing for me. We'll see how it goes. 11:58:39 * slava managed to reproduce a rather obscure bug in his editor 11:58:49 how i have to devise an equally obscure fix 11:59:10 is your name robert? 11:59:10 :p 11:59:45 ? 11:59:47 Mine? 12:00:12 no slava, that was a joke, robert will understand :) 12:00:43 some timings for the 68030: 12:00:47 ADD Rn,Dn 2 12:01:41 Kestrel should be faster than a 50Mhz 68030 12:01:51 qFox: Hrm! 12:02:06 :) 12:02:12 qFox: Do it any better yourself (or ask your friends on MS to do it for you :P) 12:02:49 foobar_: So the fastest possible instruction in the 68030 is two clock cycles long? 12:02:50 you're the one making weird hacks, slava was confessing to the same, i just wondered ;) 12:03:15 i think 12:03:31 foobar_: In that case, I will own the 68030. :D 12:04:19 great! 12:04:41 MOVE Rn,Dn 2 12:04:59 Well, . . . 12:05:03 Let me re-state that a bit 12:05:13 BEST CASE, instructions execute one per clock cycle. 12:05:43 But since after five clocks, a new instruction is needed to be fetched, that's a waste of "execution time", so the best-case average performance is 1.2 clocks per instruction. 12:05:55 Absolute worst-case, however, 2 cycles per instruction. 12:06:24 (except memory accessors; worst case for those is 3 cycles) 12:06:41 Well, no, wait -- 2cycles for those too. 12:06:50 Because memory access occurs during the execute stage. 12:07:03 manual in pdf at http://www.datasheetarchive.com/783.html 12:07:10 So best case, we'd see this: IF EX0 EX1 EX2 EX3 EX4 IF EX0 EX1...etc... 12:07:20 Worst-case is this: IF EX0 IF EX0 IF EX0 etc. 12:07:44 Does that make sense? 12:07:51 frankly, no 12:07:55 over my heade 12:07:57 head 12:08:08 Instructions are packed in the word 5 across. 12:08:22 5 * 6 bits per opcode = 30 bits -- so I have two unused opcode bits in an instruction word. 12:08:36 This is how I'm able to attain incredible code densities with my MISC architecture. 12:08:59 The microprocessor must periodically fetch an instruction word from memory. That takes one clock cycle. 12:09:26 Once it has an instruction, however, up to five execute cycles are possible, assuming all instruction slots are filled with useful operations. 12:09:36 ok 12:09:49 1 cycle per instruction 12:09:50 So, in the best possible case, it takes six clock cycles to execute five instructions (one for the fetch, five for each instruction). 12:09:58 right 12:09:58 Right. 12:10:04 That comes out to 1.2 cycles per instruction. 12:10:08 best case. 12:10:20 The worst possible case happens when you only pack one instruction in an instruction word. 12:10:24 :) 12:10:29 why would you do that? 12:10:38 Then you have one fetch cycle, one execute cycle, and now it needs to fetch the next instruction word again. 12:10:59 how many cycles for a multiply? 12:11:02 There are a variety of reasons, mostly related to fine-grained timing. 12:11:11 But normally, you actively try hard to avoid doing that. 12:11:19 My target compiler works hard to ensure all available slots are used. 12:11:47 foobar_: Since I don't have a multiply instruction, a fair amount. I do have a multiply-step instruction which helps out, but it's not a complete multiply. 12:12:17 68030 is 44 cycles for long multiply 12:12:25 I can't compete with that. 12:12:31 Not without using table look-ups. 12:12:51 Long multiply as in 32 bit x 32 bit multiply -> 64-bit product? 12:13:00 well, mutiplies aren't used as much as moves and additions 12:13:08 MULU.L 12:13:19 I don't remember what MULU.L does. It's been years. 12:14:15 with a sufficiently smart compiler, you can turn multiplies by a constant into a series of shifts and adds 12:14:43 slava: Yes, that is usually what I do. 12:14:52 From my text output code: 12:15:13 ': 1280* 8 #, sl, dup, 2*, 2*, +, ;' 12:15:25 (or in ANSI-ified Forth) 12:15:35 : 1280* 8 LSHIFT DUP 2* 2* + ; 12:16:19 ok i fix one bug and now there's another: 12:16:19 USE: httpd-responder 12:16:20 USE: namespaces 12:16:20 USE: httpd 12:16:20 USE: parser 12:16:20 USE: telnetd 12:16:26 "/home/slava/ExampleHTTPD/" "doc-root" set 12:16:28 default-responders 12:16:29 : (http 8888 httpd ; 12:16:34 USE: ansi 12:16:35 "stdio" get "stdio" set 12:16:39 USE: vectors 12:16:41 USE: cross-compiler 12:16:43 sorry!!! 12:16:46 i click MMB in wrong window!! 12:17:03 qFox: slava is not Robert -- he's actually sonarman! 12:17:09 --- join: SDO (~SDO@67-23-111-213.clspco.adelphia.net) joined #forth 12:17:11 for the accidental flood? 12:17:28 slava: Sonarman is world famous for accidentally clicking his middle mouse button and flooding this channel. :) 12:17:29 seriously xchat should display a dialog like "you're pasting more than 8 lines, continue?" like the kde irc client does. 12:17:42 kc5tja, i've been known to get my irc client and xterm mixed up 12:17:55 i'll say 'ls' in the channel and people are like wtf 12:18:06 slava: irssi also does that. I have to hit CTRL-K or CTRL-C for yes or no to the question. 12:18:15 * kc5tja does that too. 12:18:43 one guy in #java typed 'su' and his root password in irc 12:19:00 WHOOPS. :D 12:19:12 slava :) 12:19:16 i'm sure he got a few portscans that night :) 12:19:19 SDO: Greetings. 12:19:55 hi SDO 12:19:58 SDO: Have you seen the latest screenshot for the Kestrel? 12:20:12 kc5tja, where is the screenshot URL? 12:20:38 SDO: http://www.falvotech.com/img/boot-test-1.png -- not yet linked in with the rest of the site, but eventually will be. 12:21:30 * Tomasu is back (gone 01:14:45) 12:22:16 kc5tja: that looks nice :) 12:22:52 Yep 12:23:07 mirc now pops up the question as well (for multiline pastes), only since recent versions 12:23:19 Thanks. :) I wanted it to be professional looking, but at the same time, approachable. Steve Jobs wants a lickable user interface. I want a huggable one. 12:23:47 kc5tja: have you seen the MOL logo? 12:24:19 http://www.maconlinux.org/mollogo/mol_top.gif 12:24:21 hm blue, white, reminds me of the old philips msx 12:24:27 Herkamire: Yeah. :) 12:24:53 god i wonder whether my foster parents still have that thing 12:25:07 i was hardly ever allowed to play on it, but when i did it rocked my world 12:25:12 :p 12:25:17 qFox: Blue and white? 12:25:23 yes 12:25:30 the philips MSX computer had that 12:25:31 qFox: My color scheme is almost a direct rip off of the Commodore 64. :) 12:25:45 Light, pastel blue on a deeper blue. 12:25:47 oh never really had a c64 :) 12:25:51 Same colors as a blueprint. 12:25:52 but dont you wanna be original? 12:25:59 go with red on blue :p 12:26:04 red bg 12:26:08 No thanks. 12:26:09 or something fancy 12:26:10 hehe 12:26:22 The whole point of selecting these colors is to reduce eye strain. 12:26:35 black bg with white letters? free room light :p 12:26:59 Again, eye strain is an issue. 12:27:16 ohwell 12:27:17 :) 12:27:24 My eyes are sensitive. 12:27:39 white-on-black is better than black-on-white though. 12:27:59 I do light-grey on black 12:28:05 but a lot of the time it could be dimmer 12:28:07 I could go with the Commodore 128 color scheme -- pastel green on a charcoal grey background. :D 12:29:26 how about, make it at least possible to change it quickly :) 12:29:43 (then again, i suppose that was the idea anyways...) 12:29:48 Oh, but then I suppose I could go with the TRS-80 CoCo colors -- black on all-but-flourescent green, with this obnoxiously pulsing, constantly color-changing cursor. :D 12:30:02 lol 12:30:11 I'm not lying! 12:30:18 It's the most disgusting, putrid thing I've ever seen. 12:30:26 No wonder why it didn't sell well. :D 12:30:34 (in Europe, think Dragon series of computers) 12:31:57 kc5tja, cool! 12:32:06 very neato looking, does it do 3 4 + . 12:32:10 :) 12:32:27 SDO, 3 4 + . is not done yet, but 2 2 + . is :-) 12:32:33 hehehe 12:32:33 qFox: To change the colors, you need to first change the "fgpen" and "bgpen" variables (make sure you replicate the same color byte across all 32-bits though; otherwise you'll get striped or rainbowy colors, which is a cool effect on its own, in a way). 12:32:53 SDO: No. It does not have any facility for keyboard input at all yet. 12:33:00 SDO: I'll be working on that next. 12:33:08 SDO: And after that, comes the outer interpreter. :D 12:34:46 It also lacks proper scrolling functionality, so if you TYPE a string that exceeds 80 characters, it won't wrap the text -- it'll just stick on the same line. 12:34:53 I'm going to be changing that later today. 12:35:16 Full-screen scrolling is going to be VERY SLOW on this emulator though. It takes about six seconds to scroll one line. :D 12:35:23 heh 12:35:47 slava: still trying to work around the patent for numbers larger than 3? ;) 12:36:00 Herkamire, heh 12:36:03 But, i'm thinking once I get everything set up just right, I'll re-make the emulator in C, and it'll be much faster. 12:36:17 kc5tja, why not run it in a compiling forth? 12:36:50 slava: Because such Forths aren't cross-platform, and I have no desire to maintain seventeen different copies of the source. :D 12:37:12 And then there is the question of whether or not they will bind to external C libraries (which mine requires). 12:37:41 --- join: Topaz (~top@spc1-horn1-6-0-cust217.cosh.broadband.ntl.com) joined #forth 12:37:48 kc5tja: 1) is the info I would need to make an emulator in C available and organized? 2) how long do you think it would take you to write? 12:37:54 I have considered porting the emulator to BigForth though, based on what others here have been saying about it. 12:38:01 iForth by Marcel Hendrix runs on Linux and Windoze and DOS on x86 12:38:03 But it will need to run through SDL. 12:38:51 foobar_: OK, all x86. But half the people who have downloaded my emulator are on PowerPC boxes. 12:39:27 i see 12:40:57 Herkamire: 1) Yes and no. It's organized mostly in program source code, but you'll have to dig through the source code to figure it out. (2) Probably not very long at all, all things considered. But I'm not yet ready to embark in that particular project. I would be willing to help others write it though, through e-mail or IRC support. 12:41:22 I have been thinking about documenting the FTS1000 core programmers reference manual though. 12:41:32 I think that it's now time to make such a document. 12:41:50 I'm pretty happy with how the CPU has more or less stabilized. 12:41:54 I might do it. but I'm leaving for a week tomorrow morning, so unless I could get something running today, I don't want to start now 12:42:06 (Of course, things can change once more once it comes time to synthesize the hardware, but for now, it looks good.) 12:42:22 No, I won't be able to finish it today. 12:43:09 It'd probably take me a couple of days to get the processor emulating again, but then I'd need to emulate hardware devices too (e.g., video I/O, keyboard I/O, etc). 12:43:31 Although, that does raise a good point -- I'm at a reasonably "clean" stopping point right now. 12:43:58 does/could your current emulator produce a sort of binary image of ROM/RAM for the chip that I could stick in the memory in the C emulator? 12:44:07 kc5tja: or would I have to write a parser too? 12:44:27 I know it would need some sort of parser, but I mean for now, could I get started without it and see it run something? 12:44:47 Herkamire: To make the Forth emulator as fast as possible, the ROM image is kept in native CPU byte ordering. Thus, you'll need to perform byte-swapping on the image. 12:45:41 kc5tja: ok. that's easy though right? because _every_ word must be byteswapped 12:46:29 Right. But I'm still not sure how this would affect the text rendering output. At least it would boot, even if the font data got garbled in the process. 12:46:33 how do you interact with the video under the emulator currently? 12:46:34 * kc5tja would have to research that. 12:46:51 When referencing video memory, the emulator implicitly performs byte-swapping. 12:46:58 no, I mean now. to make those screenshots 12:47:10 Oh, I just use GIMP to take a snapshot of the SDL window. 12:47:19 there's just some address for the framebuffer? 12:47:53 I have about 128Kwords of "RAM", then another 128Kwords for framebuffer space (not all of which is used). 12:48:13 I trap accesses to the frame buffer, perform the byteswap, then stuff the SDL frame buffer. 12:48:26 (I do the reverse when reading from the "frame buffer" too) 12:48:39 ok 12:48:44 and you have about 30 instructions? 12:48:52 It's not the ideal design. It's also not how the real-world hardware will work. But it provides a close-enough model that I can start developing software with. 12:49:05 48 currently 12:49:27 are those listed and documented? 12:50:05 They're all listed, but only documented on the surface, and no, not all of them are implemented in the emulator (e.g., the "division step" -- I still need to figure out how that instruction would work. I know it's doable, but I haven't researched it yet.) 12:50:49 Also, the documented mechanism for interrupts is no longer accurate. I found a better solution to dealing with interrupts. 12:51:24 do you use interrupts yet? 12:51:57 I do not have interrupts implemented in the emulator at this time. That is a requirement for getting keyboard functionality though (well, not a REQUIREMENT, because you can always poll the keyboard ports. But you know what I mean). 12:52:38 The FTS1000 does not cover interrupt handling. It only covers application programming aspects of the chip. 12:52:59 The FTS1001 document will explain the system-specific features that are specific to the FTS1001. 12:53:19 How many times can I use the word specific in a sentence? Sheesh. I really muddled that one up. 12:53:32 hehe 12:53:38 (Straight from the department of redundancy department.) 12:54:37 how's your color pallete work? rrrggmbb or something? 12:55:02 rrmgggbb 12:55:11 where m is the shared bit 0 of both the red and blue guns 12:55:38 Red and blue are the two colors the human eye are least sensitive to, so the idea is that placing the shared bit there would do the least amount of visual damage. :) 12:56:56 right :) 12:57:07 It actually works amazingly good. :D I'm very pleased with it. 12:58:27 I think it's a very cool use of the available bits 13:00:09 Thanks 13:03:58 Well, I think I'm going to get something to eat...brb 13:15:51 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 13:16:39 --- part: foobar_ left #forth 13:49:56 back 13:50:32 Impressive. On 2004 Feb 24, some asshole patented the combination of CPU and parallel-to-serial converter (and vice versa) on the same chip. 13:51:03 So there you go -- one cannot legally make an embedded circuit with on-board serial ports without paying a royalty. 13:51:11 Yeah, sure, we'll see how long THAT patent lasts. 13:52:11 Heh. 13:52:50 Until the world becomes sane, hell freezes and Microsoft ports Windows to Forth. 14:04:16 I'm not sure I want to know why you know that... :) 14:04:51 hi all 14:07:37 Hello slava 14:07:49 hi crc 14:08:04 How's the work on Factor going? 14:08:30 going well -- yesterday i got .s and see working in the native interpreter. 14:09:22 except if i switch on ansi colors the see output is all green on blue for some reason :) 14:09:25 I don't use either word :-) 14:09:28 --- quit: tathi ("leaving") 14:09:28 ??? 14:09:29 its supposed to use different colors for different words 14:09:34 I see 14:09:51 kc5tja> are those patents valid world-wide? 14:10:10 crc, i sometimes use 'see' but i'm going to add a word 'edit' soon that starts my editor with the given word. 14:10:13 crc, this will be much handier 14:10:18 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 14:10:45 That would be cool 14:11:04 I'm attempting to get RetroForth 7 running natively right now 14:11:13 natively meaning no OS? 14:11:17 right 14:11:19 Just America. 14:11:21 for me native just means no java :) 14:11:26 And I've been reading into them more and more. 14:11:37 :-) 14:11:39 kc5tja, time to move to another country :) 14:11:48 kc5tja> oh, then i'm cool :p 14:11:52 The more I look at the patents, the more I'm confident they do not apply to me. 14:12:02 kc5tja, the MISC patents? 14:12:06 Correct. 14:12:18 The Patriot Scientific patents apply only if I have a variable speed clocking source. 14:12:31 They do NOT apply if I have a fixed-frequency clock, or if I have asynchronous logic. 14:13:26 Oh, do they have something that might apply to the Kestrel? :( 14:13:33 So it looks like I still have a green light to continue MISC production. 14:13:41 kc5tja, yaya :-) 14:13:59 yay 14:14:07 tathi: There are 11 patents that covers the Patriot Scientific processors. I'm not sure, because I cannot find 9 other patents. 14:14:18 ah. 14:14:31 I looked at the two patents I could find, and so far, I'm not seeing anything that would make my MISC design fall under their patents. 14:14:50 Chuck's patents, which Patriot has the rights to, IIRC? 14:14:56 Yes. 14:15:10 Chuck is co-inventor, not sole inventor, of the ShBoom and Ignite processors. 14:15:13 right 14:15:37 Michael Fish III, or something like that... 14:15:44 * kc5tja nods 14:16:27 How do you know which of the patents Patriot has rights for? 14:16:41 however, in the unlikely event I do end up being accused later on, I will continue to develop my TTA-based architecture as well. 14:17:17 tathi: When the patent lists "Patriot Scientific" as the submitting company, I pretty much suspect that they have rights to the patent. :D 14:17:41 kc5tja: Ah. :) 14:18:01 I'm just wondering, because I know those guys have a patent on fetching instructions in groups. 14:18:15 Do you have a patent number on that? 14:18:22 yeah, hang on... 14:18:25 That's what I *figured*, but then other CPUs do that too. 14:18:53 5,784,584 14:18:59 In fact, the PowerPC would be covered under that patent. 14:19:16 yeah, anything with a cache, almost, you'd think. 14:21:41 Yep. 14:21:52 So I guess I have no choice but to persue the TTA architecture anyway. :( 14:24:20 Ugh, and 1995 -- so that doesn't expire until 2012 or 2015. 14:24:23 bleh. 14:24:35 It was granted on 1998 though. 14:24:40 So add three years. 14:25:05 oops, right. :( 14:25:26 And given the way Patriot Scientific is acting these days... 14:25:45 Yeah. 14:25:57 --- quit: crc ("http://www.retroforth.org/dev/beta_releases/retroforth-7.beta4.tar.gz") 14:26:37 I don't expect this little endeavor of theirs to pull through though. It takes a lot of money for a small-time company to sue someone as big as Sony, *LET ALONE* four other big-name companies, *AND* tackling a law-suit by Intel, *AND* filing a counter-suit to match. 14:26:47 yeah. 14:26:58 But until they go under... 14:27:12 And then waiting for the dust to settle, finding out what's happening to the patents... 14:27:16 Well, even if they do go under, those patents are still valid. Chuck will determine their fate. 14:27:20 kc5tja, look at sco for more examples of this tactic :) 14:27:33 slava: The difference is that SCO has no valid claim. 14:27:36 slava: PTSC does. 14:27:56 heh. beat me to it :) 14:28:18 But it is still going to be such a drain on the company that I expect them to go under. 14:28:28 Especially when they have never, since opening their doors, posted a profit. 14:28:42 i hate these "IP botiques" 14:28:58 slava: Well, PTSC wanted to post a profit, believe me. They wanted to sell chips. 14:29:19 But stack CPUs are commodity items *by* *design* -- they are so simple that it's almost impossible to proprietize. 14:29:36 I think that's one of the reasons why PTSC's chips haven't really done all that great. 14:29:46 kc5tja, how much faster would the kerstrel chip be if it was custom silicon, not FPGA? 14:29:50 And, I think that's why Chuck's chips to date haven't done all that great. 14:30:00 slava: Umm...GHz perhaps? 14:30:07 wow 14:30:19 I'm assuming you mean using modern fab processes, right? 14:30:30 yes, if you had the resources of intel/amd etc. 14:30:58 If I pushed the limits like Chuck does on those processes, I'd probably wager 5 to 7GHz. 14:30:58 I was under the impression that no-one has ever financed a serious run of any of Chuck's chips. 14:31:06 i'm just wondering how well stack cpus can scale 14:31:32 slava: Stack CPUs can scale very well with process, but their limited ILP puts a ceiling on their performance. 14:31:42 ok 14:31:50 And that iTV was on track to do fairly well, but Sony (?) bought out some shareholders and squashed it. 14:32:15 So that's why I said this whole patent fiasco is probably a blessing in disguise, because a TTA architecture has immense potential for ILP. 14:32:23 * slava dreams of forthbox 9000 with 8 20ghz stack cpus :) 14:32:28 err...ILP? 14:32:36 instruction level parallelism 14:32:36 Instruction-level Parallelism 14:32:39 ah. 14:32:58 tathi: That thing that makes your 450MHz PowerPC feel like a 1.5GHz Athlon box. :D 14:33:10 yeah, I just didn't know the acronym. 14:33:44 TTA seems pretty cool. 14:33:57 It's a memory hog though, like RISC. 14:34:00 yeah. 14:34:09 Well, for languages like C and such, it compares very well. 14:34:26 But for languages like Forth, *oof*, it's not very dense code at all. :) 14:34:35 One thing I don't like the idea of is VLIW, seems like a dead end to me. 14:34:44 Hardly. 14:34:47 VLIW is very active. 14:34:53 --- quit: SDO ("Vision[0.9.6-0203]: i've been blurred!") 14:34:59 --- join: SDO (~SDO@67-23-111-213.clspco.adelphia.net) joined #forth 14:35:06 TTA is just VLIW that has been so RISC-ified that it's only one instruction. :) 14:35:12 yeah. 14:35:35 I suppose. 14:35:51 But, there is no mistaking it -- when you've seen one TTA architecture, you have seen only one TTA architecture. This means, if I release an FTS1001 TTA-based architecture, the FTS1002 almost certainly will be 100% binary incompatible. 14:36:09 But as long as the Forth compiler keeps pace, I can at least maintain Forth source compatibility. 14:36:28 i think that is sufficient 14:36:35 since forth code is typically very compact and compiles quickly. 14:37:11 Also, I can specifically tailor the hardware for the task of running direct-threaded Forth code too, so that would make it very, very fast too. 14:37:35 NEXT in microcode? :) 14:37:55 slava: Not in microcode, but expressed explicitly as a series of register moves. 14:37:56 Hmm...I guess my objection to VLIW was that people seemed to be pushing it to huge numbers of instructions per word. Seems like you'd hit a point of diminishing returns pretty quickly. 14:38:19 tathi: Yes, about 4 instructions per word is the knee where it starts to drop off. 14:38:33 And even then, you need *damn* intelligent compilers to take advantage of that. 14:38:42 (but it at least is doable, as the IBM DAISY project demonstrated) 14:38:55 right. 14:39:10 With a TTA architecture, it takes three moves per clock to equal a non-superscalar RISC CPU (e.g., a MIPS-I or similar machine). 14:39:35 two inputs and an output, you mean? 14:39:36 But that is if you want to emulate register write-backs and all that. If you can afford not to, you can skip that phase, and get by with only two moves per cycle. 14:39:50 ok 14:39:53 tathi: Yes. For example, the RISC instruction ADD R1, R2, R3 could be done in a TTA like this: 14:40:08 R1 -> alu_o ; R2 -> alu_t ; nop 14:40:18 alu_r -> R3 ; etc ; etc 14:40:34 (yes, my CPU has a etc instruction. It also has a "yada" instruction, but that's for supervisor mode only. :D) 14:40:50 :) 14:40:51 So in this case, we take two cycles to perform an addition. 14:41:04 But notice the nop and etc slots -- those can be fill in with the "next instruction" to execute. 14:41:26 By eliminating the write-back, we get a (mostly) 1:1 correspondance between a traditional RISC and a TTA. For example: 14:41:30 ADD R1, R2, R3 14:41:35 SUB R4, R3, R3 14:41:39 could be done like this: 14:41:42 right 14:41:47 R1 -> alu_o ; R2 -> alu_t ; nop 14:42:08 add_r -> alu_o ; R4 -> alu_t ; nop 14:42:16 sub_r -> R3 ; nop ; nop 15:32:03 --- join: imaginator (~George@georgeps.dsl.xmission.com) joined #forth 16:03:41 --- join: TheBlueWizard (TheBlueWiz@pc5fdn1d.ppp.fcc.net) joined #forth 16:03:42 --- mode: ChanServ set +o TheBlueWizard 16:03:51 all hiya 16:03:59 TheBlueWizard hello 16:04:22 slava hiya 16:05:01 moi 16:05:29 --- quit: qFox ("meh ircii's netsplit detection appearantly sux ^^") 16:05:29 mur terve! :) 16:06:24 in case you didn't notice, I now use Forth's ordering for greeting people (plus localization :) 16:07:38 mur terve ! :) . 16:07:42 at one stage MS was experimenting with localizable syntax in VB 16:08:44 hmm...haven't heard of that 16:19:50 --- quit: Topaz (Remote closed the connection) 16:36:51 --- quit: SDO ("Vision[0.9.6-0203]: i've been blurred!") 16:36:59 --- join: SDO (~SDO@67-23-111-213.clspco.adelphia.net) joined #forth 16:37:14 Well, we'll see how this whole thing goes. 16:37:38 Kestrel project? 16:37:56 TheBlueWizard: Yes. I may have to change the CPU architecture again due to patent infringement issues. 16:38:11 TheBlueWizard, you don't know about the Kestrel? 16:38:21 Oh my god, it is the most amazing thing in the world of FORTH today. 16:38:45 :) 16:38:59 He knows about it. 16:39:27 patent infringement??? 16:40:04 Yes. Patriot Scientific is on a lawsuit binge (unlike SCO, they have valid claims), as they own half of all the patents covering the MISC microprocessor design. 16:40:14 Chuck Moore owns the other half. 16:41:01 ugh...triple ugh 16:41:48 Yeah. It's complicated, it's sticky, and Chuck Moore referred my request for clarification on the issue to the present of TPL Group, Inc., who owns the other half, and who "is much more friendly at licensing than Patriot." 16:44:06 Beyond that, I cannot say anything more until I have more information. 16:44:36 * TheBlueWizard nods 16:44:49 patenting is so crazy these days...*sigh* 16:45:00 However, in the event that I lose the ability to use the MISC, I have a secret weapon of my own. 16:45:14 A dual-bus transport triggered architecture design. 16:45:57 With such a design, most of the commonly used operations are one cycle -- some operations are necessarily multi-cycle (e.g., ROT requires two cycles. But ROT is used so rarely, who cares?) 16:47:11 I actually have enough capacity to go to three buses, but it really puts a cramp on the available register space inside the CPU. 16:48:02 --- join: Sonarman (~matt@adsl-67-113-235-244.dsl.snfc21.pacbell.net) joined #forth 16:48:07 12:16:46 i click MMB in wrong window!! 16:48:10 12:17:03 qFox: slava is not Robert -- he's actually sonarman! 16:48:15 haha! :D 16:48:18 >:) 16:48:34 clog sees everything. 16:48:41 all hail It! 16:48:51 clog knows everything, but stays mum :) 16:49:28 hmm. must be post-traumatic stress disorder 16:49:39 was it written in Perl, maybe? :P 16:52:12 Maybe what someone ought to do is write a logger in Forth, and call it FLOG! :D 16:52:54 TheBlueWizard: anyway, yep. Patriot Scientific has a patent which I'm gleefully violating. :D And everyone else who has ever made a MISC chip for sale. 16:54:54 basically, any CPU that support sequenced instruction codes (e.g. op1 op2 op3 ... in one instruction word format) would be covered by Patriot patent, right? 16:56:12 --- join: ball (~ball@dialup-4.158.216.82.Dial1.Chicago1.Level3.net) joined #forth 16:56:25 As long as these opcodes all sat packed into a single instruction word, yes. 16:56:32 And executed sequentially. 16:56:43 If they're executed completely in parallel, then no, their patent does not cover that. 16:56:57 re ball 16:57:22 Hi kc5tja 16:57:27 ball hiya 16:57:40 Hello TheBlueWizard 16:58:33 What forths are people using these days? 16:58:58 ball: I'm personally using GForth to develop my own Forth-based hardware projects. 16:59:28 kc5tja: what is your target platform? 16:59:52 Target platform for which? 17:00:05 My Kestrel project is its own platform, right down to a custom designed CPU to run it. 17:00:21 kc5tja: if it turn out that the patent does indeed prevent you from using FTS1001 as it stands, then I guess we will have to come up with some new design 17:00:35 TheBlueWizard: I already have one waiting. :) 17:00:38 Way ahead of you. :D 17:00:47 brb 17:01:13 :) 17:01:43 The Transport triggered Architecture will allow instruction execution rates at least as fast as a MISC, but it'll have the code density of a traditional RISC instead of a MISC. 17:02:00 That means, most Forth primitives map to a single 32-bit word instead of a 6-bit opcode. 17:03:00 Hence, code density will suffer, and memory bandwidth requirements will be rather large. Otherwise, it'll be every bit as fast. 17:03:07 I haven't heard about TTA for some time 17:03:48 Yeah, it's been largely forgotten as far as my research shows me. 17:04:17 Which makes it perfect for my needs. :) 17:05:10 heh 17:06:23 kb9ylw? 17:06:32 aye, that's me. :-) 17:06:43 Didn't know you were a Forther. :) 17:07:16 Robert: not done much with it, but I've been aware of it for years. 17:07:27 I don't visit #hamradio anymore; bfinch is a dick, and I've had enough of him. 17:07:42 He keeps complaining at my spark gap tx. :( 17:08:20 Robert: I can see how that could be controvertial, but unless you're effecting him directly... 17:08:52 It's a low-power transmitter used for one 10-second test in the Swedish woods. 17:09:12 ball: bfinch likes to think he's God's Gift to Humanity. That his shit doesn't stink. Fuck him. I've had enough. He's driven others away from that channel, and now he's driven me from it. I'm through. 17:09:14 How that can possible bother ANYBODY (especially on the other side of the Atlantic) is more than I understand. 17:09:28 I say, PLEASE use a spark gap next to his QTH. PLEASE. He freakin' deserves. 17:09:35 Haha. 17:09:42 lol 17:09:51 dl5rb told me about some guy he knows, with a huge spark gap TX. 17:10:08 That could be handy for your revenge plans. :) 17:10:27 kc5tja: have you implemented your processor in MSI, or on some kind of gate array? 17:10:46 ball: I haven't implemented anything yet; but it'll go on an FPGA. 17:11:01 Do you know yet which one you'll use? 17:11:44 ball: Until I have a stable design, I won't even bother with the research. 17:11:52 s/stable/stable conceptual/ 17:12:11 kc5tja: will you emulate it in software first? 17:16:37 ball: http://www.falvotech.com/kestrel.html 17:16:53 ball: And the latest screenshot of the emulator: http://www.falvotech.com/img/boot-test-1.png 17:17:02 (which isn't yet linked into the normal pages, but will be later tonight) 17:21:44 * ball adds to his bookmarks 17:22:13 Also add http://www.falvotech.com/weblog too -- I will always update the weblog whenever I have something new out. 17:22:17 amiwm? :-) 17:22:30 ball: Yes. Although I'm currently using ion2. 17:22:54 * ball is partial to blackbox, although Workbench had a couple of features that I miss 17:24:29 kc5tja: so it'll have graphics capability then? 17:26:12 ball: You have no choice. The hardware does not support a distinct text mode. 17:27:32 kc5tja: but you designed the hardware? :-) 17:27:55 Everything in that box is designed by me. 17:28:08 The MISC concept is by Chuck Moore, but my CPU implementation is distinct. 17:29:11 though kc5tja's MISC is said to be a strict superset of Moore's design 17:29:21 --- join: snowrichard (richard@adsl-068-209-159-248.sip.shv.bellsouth.net) joined #forth 17:29:29 snowrichard hiya 17:29:35 hello 17:30:09 heelo snowrichard 17:30:14 s/heelo/hello/ 17:31:48 Hi 17:33:01 ball: The actual hardware will also have audio capability as well; however, I won't include that in the emulator, since I don't know how to synchronize it. 17:33:13 kc5tja: will the video output be NTSC, VGA, Other? 17:33:46 --- join: crc (crc@0-1pool176-44.nas6.philadelphia1.pa.us.da.qwest.net) joined #forth 17:34:02 Hello crc 17:34:10 ball: VGA 17:34:18 640x480, 256 colors with a fixed palette. 17:34:24 hello ball 17:34:34 Hello crc 17:34:40 Oh, I said that already ;-) 17:34:52 kc5tja: which palette have you chosen? 17:35:38 ball: Color is determined by pixel value by treating as an RGB triple. The layout is this: rrmgggbb, where m is a 'magenta' bit -- it is simultaneously bit 0 of both the red and the blue color guns. 17:36:10 back shortly 17:44:20 --- quit: snowrichard ("Leaving") 17:48:31 kc5tja: that sounds different from the 256 colour palette used by VNC 17:49:02 VNC permits one to change the palette if I'm not mistaken. 17:49:15 kc5tja: this is a personal preference, but it would be nice if programmers had the alternative of 256 greys 17:49:21 But seriously, if I were to use a VNC server with this machine, it would definitely be with 16-bit representation, not 8-bit. 17:49:34 I would suspect VNC uses the standard 216-color "web" palette. 17:50:04 kc5tja: I don't believe that it does, that's a different one again. 17:50:21 hmm 17:51:15 The VNC one I was thinking of is BGR233: 'The bgr233 format is an 8-bit "true color" format, with 2 bits blue, 3 bits green, and 3 bits red.' 17:52:21 That's the one I use when I'm on VNC over dial-up connection 17:52:36 Ahh 17:52:42 I tried that, and it doesn't work as well. 17:52:44 (preferrably combined with zlib compression and tunnelled through SSH) 17:54:35 Ah. I vaguely recall that the 216 colour palette gives 20% steps of R, G, and B 17:54:49 Have you tried that one? 17:55:02 Not enough color resolution -- only 216 colors instead of 256. 17:55:25 The reason I have a fixed palette is because I won't have enough room for color palette registers. 17:56:54 Ah. 17:57:11 Is this going on the same chip as the processor? 17:57:25 No, but I'm going to fit other things on the chip. 17:57:40 Like audio. I'm expecting that to be substantial chip real-estate, honestly. 17:58:35 Why is that, are you adding synthesis too? 17:58:46 is this audio circuitry expected to approach the complexity of SID on a C-64? 17:59:02 Originally, yes. 17:59:36 I was going to implement what basically amounted to SID-II chip, something that handles stereo as well as PCM-encoded audio. 18:00:00 Was SID-II on the C128? 18:00:11 There was no SID-II chip. 18:00:36 Oh. 18:00:49 I'm just saying, if there was one, I would have it. :D 18:00:53 Didn't SID's architect go on to start Ensoniq? 18:01:08 Yes, but they are now out of business/owned by Creative Labs. 18:01:11 * ball wonders if Paula counts as SID II 18:01:33 I personally don't believe it does. Paula doesn't have any synthesis capabilities. 18:01:48 * ball finds that surprising 18:01:50 ADSR envelopes and all that all have to be emulated by the host CPU. 18:02:27 Paula is basically a direct DMA-driven DAC. :) 18:02:42 Amiga's audio architecture is completely different than C-64's SID 18:02:46 Which of course I can also do. 18:02:54 But I was trying to alleviate some of the load from the CPU a bit. 18:03:04 of course each has its pluses and minuses 18:03:15 I suppose Amiga was originally developed for Atari, so any family resemblance may be coincidence ;-) 18:03:42 ball: you really need to learn some computer history 18:03:52 Yes, I was told its original market name (not Lorraine, but as it was presented to the folks at Atari) was the Atari 8000XL. 18:04:51 * ball thinks about the Lynx, which went the other way... C= -> Atari 18:04:52 Amiga was originally "supposed" to be the next-gen smash cool video arcade platform, but the engineers actually developed it as desktop computers instead 18:05:06 It is no coincidence that the Atari 800XL and "8000XL" share so many design attributes. 18:05:29 the "supposed" angle is the one as envisioned by the three doctors 18:06:57 TheBlueWizard: it's been a while since I read about Amiga's prehistory 18:09:02 OK, folks, I have to hit the supermarket. I need to pick up some more food, among other things. 18:09:11 AFAIK there was no *direct* connection between Amiga and Atari pre-ST computers. Oh, I do know that the engineers who developed Ataris also designed Amigas 18:09:16 I shall return shortly to answer some additional question about the Kestrel. 18:09:36 TheBlueWizard: The Copper and video chips all work the same way. 18:09:48 I mean, obviously, specific details are markedly different. 18:10:37 TheBlueWizard: Atari paid for the development of Amiga, in the end C= paid them back. 18:11:02 ball: I'm not sure that's true either. 18:11:05 (one of the reasons that the ST was built from off-the-shelf parts mostly) 18:11:07 In fact, I'm positive that isn't. 18:11:22 Jay Minor founded Amiga when Atari refused to persue a 16-bit computer platform. 18:12:07 ball: no...the three doctors funded the development...and when the fund ran low they had to look for a buyer...in the end, C= bought Amiga 18:12:08 It wasn't until the Lorraine had appeared (the wirewrapped version of the Amiga, which still had colors encoded as YIQ instead of RGB!) that Atari took notice, and submitted a price to purchase the company. 18:12:22 Commodore found out about it, and over-bid Atari right at the last moment. Ooooohh, was Atari pissed. :D 18:12:32 * TheBlueWizard nods 18:12:39 --- join: crc_ (crc@0-1pool176-26.nas6.philadelphia1.pa.us.da.qwest.net) joined #forth 18:13:06 there was a nasty war between Atari and C=...and Jack Tramiel, boy, there was some story :) 18:13:08 Hi crc_ 18:13:08 Commodore forced the engineers to change the YIQ encoding to RGB, and otherwise, the hardware was largely left as-is. The Atari 8000XL became the Amiga 1000. :D 18:14:57 * ball thinks about TOS 18:15:26 hello again :-) 18:15:36 --- quit: crc (Read error: 54 (Connection reset by peer)) 18:15:50 TOS was CP/M-68K, but with its BIOS designed to work with the ST's graphics-only video chip. 18:16:02 It was GEM that really provided the bread and butter for the Atari ST. 18:16:50 And, let's not forget, the Atari ST was the birthplace for BigForth. :D 18:16:56 Anyway, I'm out. I'll be back soon. 18:16:56 TOS presumably included some things from DOS Plus, for it's FAT filesystem. 18:17:04 --- nick: crc_ -> crc 18:17:05 ok 18:17:22 oops nevermind 18:17:26 Hi Sonarman 18:17:48 Does AES use VDI exclusively to draw? 18:24:05 hi ball 18:34:15 Sonarman: which Forth do you use? 18:34:23 gforth mainly 18:34:38 i play around with others though 18:34:48 (bigforth and colorforth included) 18:35:11 Does gforth give me access to curses? 18:35:14 gotta go; i'll be back in about 20 minutes 18:35:23 ok 18:35:57 ball: no, although you could interface to libcurses relatively easily. isforth has its own curses-like system, though 18:36:43 Sonarman: does its own curses-like system use termcap? 18:37:35 ball: IIRC, yes 18:37:48 TheBlueWizard: thanks. 19:00:08 ball: no, terminfo 19:00:59 Sonarman: Hmm... my system uses termcap 19:01:30 there's no terminfo db installed? 19:06:03 No, BSD uses termcap I believe 19:06:34 you're running BSD? 19:07:05 I don't know if he has finished the BSD version yet. 19:07:14 I440r? 19:07:16 if so, then isforth will have to be ported... 19:07:23 slava: yes. 19:07:27 --- join: zardon (~zardon@S0106000d6151238b.gv.shawcable.net) joined #forth 19:07:31 depending on which BSD you're using 19:07:35 Ah 19:07:39 he's porting isforth to bsd, on my box :) 19:07:41 Hello zardon 19:07:48 * ball uses NetBSD mostly 19:07:56 --- quit: imaginator ("dinner") 19:08:03 freebsd r0x0rs 19:08:05 hello 19:08:11 i'd try netbsd but it has no nvidia drivers 19:08:29 * crc wants to try NetBSD 19:08:40 * ball doesn't do much with games 19:09:15 The BSD's look more sane than Linux does from what I've seen 19:09:28 definately 19:09:39 except netbsd and openbsd feel too early 90's for my taste :) 19:09:47 heh 19:10:19 * tathi isn't a BSD fan. 19:10:25 slava: how so? fvwm95? :P 19:10:37 MEMORY ABORT: installing forwarding pointer in newspace 134613736 19:10:39 ggggrrrr 19:11:06 * ball is partial to Blackbox as a wm 19:11:28 i use kde 19:11:49 slava: that's available on NetBSD, if you want it. 19:11:56 ball, kde? 19:11:58 It's just not rammed down thy throat ;-) 19:12:03 slava: yes 19:12:24 do you have nvidia 3d drivers? 19:12:53 slava: No, I imagine they'll come along in time. I use 2D accelleration for X 19:13:12 well i'm developing an opengl game and want to develop an opengl gui eventually :) 19:13:27 slava: MesaLib? 19:13:36 and how slow is that :-P 19:14:04 Probably depends on the machine in question. Quite slow on my 450 MHz K6-2+ I should think 19:20:08 (my fastest NetBSD machine at present) 19:20:45 well mesalib is not really suitable for real-time graphics. 19:22:33 slava: not for complex ones anyway. 19:22:48 --- quit: SDO (Connection timed out) 19:23:17 You know, I think this build is actually working!! 19:29:13 ball: Yes, the AES relies exclusively for the VDI for what little drawing it actually does. 19:30:00 kc5tja: thanks 19:30:48 Next question, does BDOS work exclusively through BIOS/XBIOS ? 19:31:16 ball: GEM is now GPLed, if you didn't already know. :) I've learned much about by studying the scattered pieces of information on it, and by examining some sample source code. I wouldn't want to port GEM as it currently stands though. It's too limiting. But I am eager to try and implement a GEM-clone that learns much from it, but fixes broken things in the process. 19:31:38 kc5tja, what's broken in GEM? 19:31:45 ball: Yes. At least, the standard BDOS does. Not sure about proprietary replacements for it. 19:31:58 kc5tja: sounds like EmuTOS 19:31:59 * TheBlueWizard notes that there seems to be different versions of GEM source code...too confusing 19:32:19 slava: You can't have more than 16 colors in your palette, and it busy-waits on every click to check and make sure you don't click again (therefore, it feels much slower than it actually is). 19:32:21 best to redo it from scratch 19:32:34 I also really don't like its font support. Fonts is one thing the Amiga got really, really right. 19:33:00 TheBlueWizard: Redo from scratch, but do not ignore the successes, and take into considerations its failures. 19:33:18 ball: EmuTOS? 19:34:05 kc5tja: a project that takes DRI's released code, and presumably some home-grown stuff to implement an open-source alternative to Atari's TOS for the ST 19:34:14 GEM itself was originally an IBM PC product -- it was ported to Atari ST later, under license. So the GEM that's now O/S is the PC version. I'm not too sure if anyone has released sources for the ST version of GEM yet. 19:34:15 kc5tja: yes...I am merely talking about the thought of getting GEM itself to work...probably too much work 19:34:33 ball: OOooh, I didn't know that. 19:34:35 Makes sense. 19:34:57 TheBlueWizard: Actually, I have GEM working on my box. :D But I let others do the work for me. I agree though; I'll start from scratch. 19:35:01 Parts of GEM are older than the PC... GSX on CPM is probably equivalent to VDI 19:35:03 Heck, I am with everything else. :D 19:35:18 brb 19:35:38 ball: Correct; VDI is actually a scaled down version of GSX (RISC-ified, so to speak; many of the complex operations have been removed. BUT, if you have GSX installed, supposedly, AES will still work, and GEM as a whole will still function). 19:36:56 Oh, the other thing is that GEM has no internal printing support; so drawing to the screen is about all it can do. One is still expected to talk natively to the printer (there is a hack that GEM uses to work around this to some degree, but it's not perfect. If you want awesome printouts, you're just going to have to talk directly to the printer). 19:37:38 If I were to work on a GUI, I'm not sure how I would handle printing. 19:37:50 i'm making good progress on my gc. 19:37:51 * TheBlueWizard is impressed that Klaw has a working GEM 19:38:18 TheBlueWizard: Actually, if you install "DosBox" from SourceForge, it'll run GEM easily. 19:38:24 * ball thinks about display PDF 19:38:26 hopefully by tonight, i'll have something good enough to demonstrate, now that the outer interpreter works 19:38:27 I do wonder if it'll run PC/GEOS though. That would be fun to try. 19:38:29 I have some GEMs runnin 19:38:30 g 19:39:50 I thought of creating a binding between GEM and PygmyForth, for the benefit of my laptop. 19:39:57 --- quit: tathi ("leaving") 19:40:51 i'd like to have a palmtop with a keyboard, a screen just the right size for 64x16 text, and forth in rom :) 19:41:39 slava: Sony Clie + attachable keyboard would fit the bill. 320 pixels provides 64 characters across using a 5-pixel wide font. 19:41:50 well, gotta go to bed...bye all 19:41:55 er, all bye :) 19:41:57 night TheBlueWizard 19:42:10 kc5tja bye 19:42:24 --- part: TheBlueWizard left #forth 19:42:40 * ball needs a new AES catalogue 19:42:56 I'm still a fan of intuition.library though. :) 19:43:34 I recognize GEM as an excellent GUI architecture, and is technically more capable than Intuition. But, man, Intuition was just plain easier to use and code for! 19:44:08 Did Intuition include the window manager too? 19:44:17 Yes. 19:44:29 * ball wishes he had a 3.1 ROM 19:44:53 ball: An actual chip or the ROM image? 19:45:06 Actual chip 19:45:13 ahh. I have 2.04. 19:45:14 :) 19:45:20 Which I love to pieces. 19:45:29 I think 2.04 was the best version of Kickstart ever made. 19:45:47 I have 2.x 19:45:51 in my A300 19:46:02 Amiga 300? 19:46:25 500 perhaps? 19:47:56 A600 19:48:05 (pcb says A300 June Bug) 19:50:00 http://amiga.emugaming.com/bplan/microwave.html -- Now this is what all computers should be like. :-) 19:50:30 Ahh. Google said as much. I didn't realize they had originally gave it the moniker of Amiga 300. 19:51:49 Probably when they planned to keep the 500+ 19:55:10 * ball misses his old A1200 19:55:49 ...and his old STFM :-) 19:57:41 I have an Amiga 500, and that's it. 19:57:41 :) 19:58:12 kc5tja: I have a friend who used one of those up until January of this year, when I kitted him out with an A1200 19:58:54 Hehhe 19:59:19 I wish I had an A1200, but I don't have the spare cash to acquire one. 19:59:34 I don't have the space either. 19:59:41 My A600 is in a box 20:01:15 Sonarman: 'here is already defined by the assembler. 20:01:29 holy shit, that was fast! 20:01:47 ok, sorry. i grepped for it, but it wasn't there 20:02:02 ?? 20:02:07 In asm.fs? 20:02:10 yes 20:02:10 I know it's there -- I USE it there. :D 20:02:16 it's not there! 20:02:21 Hold on... 20:03:05 Ooh, I see. 20:03:13 Haw! 20:03:14 Yeah, "here," is defined, but it returns a word address. 20:03:30 Ooh 20:04:05 Maybe my 'here shouldn't go into asm.fs 20:04:34 it wouldn't be very good having 'here which returns a byte address and 'allot which accepts a word address 20:05:05 one of nasa's failed mars attempts had a problem where some parts of the code were using units of feet, and others were using metres 20:05:13 it didn't work out to well 20:05:27 hehe 20:06:41 slava: It boggles me that the U.S. is still using imperial measurements 20:06:48 yup 20:07:36 kc5tja: nice font, btw :) 20:08:45 Sonarman: Thanks. :D 20:09:21 Sonarman: Actually, can you zip/tar up the modified files and send them to me via e-mail? 20:10:33 sure 20:11:10 do you want the whole source tree? 20:11:16 wait 20:11:19 you said 'modified files' 20:11:30 sorry, i'll read the whole sentence next time :) 20:11:38 :) 20:15:29 bzip2 work for you? 20:16:48 don't bother answering; once again i have failed to deduce the OBVIOUS 20:17:25 --- quit: ianp (bear.freenode.net irc.freenode.net) 20:18:58 --- join: ianp (ian@inpuj.net) joined #forth 20:19:00 Hello ianp 20:19:01 does gforth give me access to any sort of graphical toolkit? 20:19:01 --- quit: slava (bear.freenode.net irc.freenode.net) 20:19:34 --- join: slava (~slava@CPE00096ba44261-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 20:20:17 ball: you could easily interdace to Gtk+ 20:20:19 kc5tja: sent 20:20:21 ianp: welcome back rather 20:20:31 Sonarman: thanks. 20:28:31 Thanks. 20:28:54 Sonarman: bzip2, tar.gz, zip, doesn't matter. I can support it. 20:31:43 ok 20:34:48 Sonarman: You're using BeOS? 20:35:35 oh, n/m -- be as in Big Endian. :D 20:39:33 BeKestrel :D 20:40:07 :) 20:46:30 --- join: doublec (~doublec@coretech.co.nz) joined #forth 20:46:48 Hello doublec 20:47:48 hi ball 20:48:39 hi doublec 20:48:47 doublec, http://paste.lisp.org/display/1697 20:49:01 hi slava 20:49:19 nice and short! 20:49:22 is it working ok? 20:49:30 not fully 20:49:45 did i tell you that 'see' and .s now work? 20:50:00 you said they were nearly working. Are they going now? 20:50:04 yup. 20:50:10 that's pretty cool! 20:51:11 what are you doing to it next? 20:51:37 working on gc, getting the inspector to work 20:51:43 then i'll do a new release 20:51:58 after that, i have to work on error handling, file and network I/O, and floating/rational/bignum math. 20:52:08 ok 20:52:21 it won't be long before httpd runs :) 20:52:42 the big tasks for httpd are regexp and sockets. i'm not sure how to do the former yet. 20:52:54 maybe i'll just rewrite httpd to not use regexps? 20:53:26 or use a C regexp library 20:53:57 how will that interact with memory management? 20:54:39 the gc actually moves objects in the heap, so everything has to be tagged etc and the gc must know its structure. 20:55:06 Some way of saying 'this is a raw pointer, dont touch' perhaps? 20:55:21 well i already have handles for this purpose 20:55:31 but when the handle is gc'd, how will the pointer get free'd? 20:55:42 for handles used for i/o its not a big deal since you're meant to close those anyway 20:56:19 plus you may not want the memory to be freed (it may be freed by some C based code for example). Not sure. 20:58:30 how's the web framework? 20:58:32 well instead of coding i went to corpus cristi today heh 20:58:37 just got back a few mins ago 20:58:42 and i fly to calif tomorrow 20:59:15 heh, cool 20:59:32 company is sending me there for a cpl of weeks... again 20:59:33 lol 20:59:37 I didn't have a chance to work on it on the weekend but I'll be back to it tonight. 20:59:43 I'm keen to get more done on it. 20:59:57 cool. 21:00:47 I440r: how did you figure out that 40 fib requires 113,000,000 recurses? 21:01:39 i put an incr in there 21:01:48 : fib incr> counter ,..... ; 21:01:51 off> counter 21:01:53 40 fib 21:01:53 oh hehe 21:01:55 counter . 21:02:05 and its 113,000,000 21:02:08 oh 21:02:10 you said that hehe 21:02:18 why didn't i think of that? :) 21:02:23 lol 21:02:35 kc5tja: there's something wrong with my change to your font-loading code 21:02:37 its possible to derive the number by a formula 21:02:53 slava, will your game one day run on the C vm? 21:02:55 but it quicker to use a counter :P 21:02:56 Sonarman: How so? 21:02:57 yes, i was wondering if you had done what slava said 21:03:03 kc5tja: may i /msg you? 21:03:31 doublec, no, the game has a lot of java code 21:03:38 doublec, more java than fator 21:04:01 Sonarman: Yes. 21:08:09 I440r: know of any good 8051 boards? 21:08:42 yes 21:08:45 www.cygnal.com 21:09:08 i JUST released the 8051 forth on that page today - its for a cygnal devel board too :) 21:10:07 I440r: thanks 21:14:17 I440r: their development boards depend on MS Windows? Bletch :-( 21:15:51 well forth depends on DOS :) 21:16:19 but to build it you need a registered version of the keil assembler and taht costs 5 thousand dollars 21:17:20 Since when did Forth depend on DOS? Oh what, you mean their Forth? 21:18:01 no 21:18:03 MY forth 21:18:08 --- join: LOOP-HOG (~jdamisch@sub22-119.member.dsl-only.net) joined #forth 21:18:15 you need a dos box to run the terminal progie i wrote for it 21:18:23 so you can connect to the target 21:18:38 im using a cheezy form of flow control 21:18:44 which is why its called cheezyterm 21:19:04 I440r: why not just use a normal protocol, like kermit or xmodem? 21:19:13 Hello LOOP-HOG 21:19:35 hi 21:19:39 err why use that much bloat to a simple forth 21:19:48 I440r: or are you constrained by what they have on their board? 21:19:55 xmodem != bloat 21:20:01 they have NO flow control without hardware mods 21:20:17 and even then thats no acceptable because it takes away ONE BIT from one of the other ports 21:20:21 not acceptable 21:20:29 forth kernel leaves them free for application 21:20:50 I440r: Minimal RS-232 is just TXD, RXD, and ground. Use software flow control if you need it. 21:21:01 i was doing so 21:21:28 XON/XOFF? 21:22:31 Personally, I think this is where packets would come in handy. 21:22:48 Kermit will work over xon/xoff, but I'm not sure that xmodem will 21:23:00 xmodem will need to be escaped. 21:23:01 (perhaps it escapes them somehow) 21:23:16 It *might*, I don't recall. 21:23:40 * ball should look at the source again 21:28:17 * ball has a deeply-held suspicion that you should be able to use a development board by hooking nothing more complex than a teletype to it ;-) 21:29:00 Bahh! A morse code key! :D 21:31:04 heh 21:31:11 _._. __._ 21:35:13 Seriously though, a VT-100 ought to do it, if not a teletype. 21:38:25 its a drag 21:39:08 What is? 21:39:27 i'm still trying to learn the fine nuances of html 3.2 and 21:39:42 well, the bigger the table gets, the more
s i need at the end of the table 21:39:43 I would learn HTML 4 instead 21:39:54 eww... don't use
s!! 21:39:59 (for that anyway) 21:40:05 to get the cursor in the html renderer to bring it down past the bottom of the table 21:40:18 That's what is for 21:40:28 never works 21:40:29 for that 21:40:44 LH: perhaps your HTML is broken then? 21:40:48 nope 21:41:03 Does it validate? 21:41:13 i have not checked it but i think i will later 21:41:33 the thing with the
s is not so bad, but here is the then 21:41:36 the thing 21:41:36 LOOP_HOG: URL? 21:41:36 ... is used to define rows -- you should never need a
to delineate rots in a table. 21:41:39 rows even. 21:41:52 http://members.dsl-only.net/~loophog/ 21:42:37 kc5tja is right...
top lefttop right
bottom leftbottom right
21:42:49 is not a tag in the docs i'm using 21:43:15 is the closing tag for 21:43:29 LOOP-HOG: you need fresh docs... check out www.w3c.org 21:43:31 It has been since HTML 2.0 21:43:56 http://www.htmlhelp.com/reference/wilbur/ 21:43:58 using that 21:44:15 * ball uses XHTML 1, but uses it in a way that's backwards compatible 21:44:22 ball: Me too. 21:44:23 :) 21:44:44 LOOP-HOG: w3c.org are the people that set the official standards, headed by the man who invented the Web 21:45:23 hmm 21:45:29 LOOP-HOG: you should define your colours in CSS too 21:45:32 (not in HTML) 21:45:42 they must have went NUTS until html 4.0 and they invented 21:45:43 :^) 21:45:54 or maybe my wilbur docs just left it out 21:46:03 LOOP-HOG: /TR was in HTML 2.0 21:46:10 It was introduced when tables was introduced. 21:47:03 LOOP-HOG: the dirty tricks your using in that page won't work in all browsers. 21:47:11 its not explained in my docs, i'll just take your work for it. thanks 21:50:53 LOOP-HOG: I'm editing it for you, shall I email you the fixed version? 21:51:50 i'm going to sleep, good night 21:51:56 nite 21:52:03 goodnight 21:52:47 --- join: foobar_ (fooboo@dialup-4.152.96.74.Dial1.Atlanta1.Level3.net) joined #forth 21:52:56 --- quit: doublec ("Leaving") 21:53:07 ok kids 21:53:11 hello foobar 21:53:15 hi 21:53:27 i put a for ever and it still rides the table 21:53:28 re foobar_ 21:53:55 ball, if i don't see an example, i'll never get it to work 21:54:07 i tried putting in s and NO EFFECT 21:54:09 LOOP-HOG: let me dig one up 21:54:33 http://www.cyberspace.org/~ball/notes/scsi.html 21:55:04 LOOP-HOG: how many columns are supposed to be in the first table? 21:55:51 four? 21:55:56 you mean in the index? 21:56:01 4 i think 21:56:09 yeah 4 21:56:15 you need to use too? 21:56:42 yes 21:58:05 --- quit: Herkamire ("bed") 22:03:20 --- quit: kc5tja ("leaving") 22:03:31 --- join: kc5tja (~kc5tja@66-74-218-202.san.rr.com) joined #forth 22:03:36 --- mode: ChanServ set +o kc5tja 22:06:01 i tried putting in all of the and but no effect whatsoever 22:06:23 LOOP-HOG: I should have a sample finished for you shortly 22:06:30 ok 22:06:39 usually in html tables you don't need 22:07:00 i've tried it both ways and it won't bring the line feed in the html formatter down 22:07:07 foobar_: Actually, you do. 22:07:25 the only way to get the line feed down in an html formatter is to use
22:07:30 Some browsers might not require them though. 22:07:34 right 22:08:02 so, if you have a table how come you don't have to have an odd number of
at the end of the table 22:08:53

22:09:09 or

22:09:25 i tried

without much success 22:10:21 LOOP-HOG: http://www.cyberspace.org/~ball/null.html 22:10:25  
22:11:05
doesn't give you a line feed, it starts a new line. Putting several together should have the same effect as a single one 22:11:14 foobar: that's horrid 22:11:16 i'll save and study both examples, thanks 22:11:35 unless you use   before each
!!! 22:12:00 foobar: which is terrible. Learn CSS 22:12:23 no, 500
s gives 500 breaks 22:12:23 ugly to the code, but it looks fine to the user 22:12:27 LOOP-HOG: definitely check out null.html, it's a fixed version of your own page 22:12:39 I don't understand what i was doing wrong 22:12:41 "to the coder" 22:12:55 LOOP-HOG: 500
s only does that on browsers that don't follow the official recommendation. 22:12:57 is it necessary to format the and 22:13:17 LOOP-HOG: no, that's just done for readability 22:13:31 i have to study it, i thought i did that and it wasn't doing anything 22:13:35 i'll see you l8ter 22:14:13 --- quit: LOOP-HOG () 22:14:25 * ball shrugs 22:14:32 Hopefully that'll help him a little. 22:15:42 I hope the tutorial he was using gets wiped :-/ 22:16:48 kc5tja: thanks for the pings ;-) 22:24:31 --- join: O3BEPH (~z@212.34.52.140) joined #forth 22:25:13 --- quit: crc ("http://www.retroforth.org/dev/beta_releases/retroforth-7.beta4.tar.gz") 22:26:56 ball: No problem. I was quickly finding myself out of communications with everyone, and was trying to wonder why. 22:27:26 --- join: lalalim (~lalalim@pD95EAE20.dip.t-dialin.net) joined #forth 22:29:03 Hello lalalim 22:29:24 wd 22:29:31 oops, wrong window ;-) 22:29:36 wd? 22:31:21 "well done" ;-) 22:32:00 Ahh 22:32:18 At least you didn't think the IRC window was your terminal, typed "su" then your root password. :D 22:32:27 heh 22:33:32 Alright, time I installed Forth I think 22:34:06 he, i once tryed to open home code lock w/ server admin passwd - "Where are letters ???" 22:34:42 heh 22:34:50 1337 22:35:20 gforth or pforth do you think? 22:37:02 I'm familiar with gforth; I don't know pforth. 22:37:18 Note, though: if you want to use gforth to talk to external libraries, you will want to install ffcall library first. 22:37:27 (and make sure you have at least 0.6.2 of GForth) 22:37:32 gforth is probably faster and likely has more words 22:37:49 i think pforth lacks "key" 22:38:51 kc5tja: pkgsrc is fetching ffcall now, so that'll be what it's for ;-) 22:39:00 I'll probably snag both, and see which I liek 22:39:01 like 22:39:25 use gforth-fast for maximal speed 22:39:54 foobar: thanks 22:40:53 kc5tja, pforth is by one of the authors of Amiga's JForth, Phil Burke 22:42:12 Are they compatible do you think? 22:42:30 no, pforth is ANS, i think 22:42:52 ah. 22:43:14 --- quit: lalalim_ (Read error: 110 (Connection timed out)) 22:43:34 JForth was a sophisticated, large system that produced fast machine code; i bought a copy back then 22:44:09 I do not thing they are compatible. 22:44:21 You can download JForth for free now-a-days. 22:44:24 ok i woke up and figured out why my GC was broken. 22:44:27 its so obvious. 22:44:30 Only runs on the Amiga, so you should have UAE for it. 22:44:37 right 22:44:38 so, objects in the heap must be aligned on 8 byte boundaries 22:44:46 because pointers use the low 3 bits as a tag. 22:45:05 in one place, I forgot this and added sizeof(foo) to a pointer, where foo is a struct. 22:45:12 it should've been align8(sizeof(foo)). 22:45:18 :) 22:49:53 this is not the first time the 8-byte-alignment thing bit me in the ass 22:50:06 So does it work now? 22:50:10 yup. 22:51:01 :) 22:51:19 i'll post a release tomorrow, now i realy must sleep 22:51:47 Ah, shoot. 22:51:52 I was going to work on updating the site. 22:52:00 But I still have so much to do. 22:52:07 I may delay the site update until tomorrow. :/ 23:03:59 * Tomasu is away: dlrrp 23:04:04 --- nick: Tomasu -> TomasuDlrrp 23:04:13 * kc5tja has to wonder what dlrrp means... 23:04:23 in ANS forth, 1 chars shows how many bytes are in a character; using Japanese, it would be 2, I suppose 23:04:37 wide characters 23:04:52 kc5tja, type dlrrp with your left hand over one key ;) 23:05:08 so c@ would fetch 2 bytes, right? 23:06:04 TomasuDlrrp: Oh. :) OK. 23:06:09 :) 23:06:22 --- join: aum (~aum@port-204-54-210.fastadsl.net.nz) joined #forth 23:06:45 foobar_: I believe so, yes. 23:06:55 However, ANSI may be ambiguous about that. 23:06:56 Hello aum 23:07:04 then how would you fetch or store a single byte ? ? ? ? 23:07:39 foobar_: You either do it manually, or you treat characters as 8-bit quantities. 23:08:10 how manually, when there's no word for it? 23:08:20 assembly? 23:08:21 --- quit: Sonarman ("leaving") 23:08:26 hi ball 23:08:48 * aum is coding a set of words for gtk+ gui 23:08:53 Assembly is one way, or writing it in high-level Forth. 23:09:17 aum: sounds like a worthwhile aim 23:10:05 1 ok 23:10:05 2 ok 23:10:05 + ok 23:10:05 . 3 ok 23:10:09 i guess you could wright a single byte if you defined byte! and it temporarily switched to 8-bit characters 23:10:10 Okay, gforth works ;-) 23:10:12 ball: lots of work getting started, but hopefully forth's leverage will kick in soon 23:10:44 aum: how hard is it to access external libraries such as gtk+? 23:10:54 ball: depends on the forth 23:11:03 gforth? 23:11:10 ball: in assembler-based forths, it can be cruel and painful 23:11:20 in c-based forths, it's more straightforward 23:11:22 you use fflib.fs, which required that gforth was compiled with ffcall 23:11:34 fflib is slow and unstable 23:12:03 aum: GForth already has a facility for linking to GTK if you have ffcall support enabled in GForth. Let me fetch a URL. 23:12:25 kc5tja: don't worry - i'm not using gforth, and i don't yet trust ffcall 23:12:25 www.shockfamily.net/cedric/fflib.html 23:12:29 http://www.shockfamily.net/cedric/fflib.html 23:12:31 tutorial 23:12:35 k 23:12:50 i'm hand-coding C words in FICL 23:13:12 Hmm, ffcall support works for me. I heard it was a bit on the slow side, but otherwise OK. 23:13:13 --- part: foobar_ left #forth 23:13:17 --- join: foobar_ (fooboo@dialup-4.152.96.74.Dial1.Atlanta1.Level3.net) joined #forth 23:13:30 kc5tja: in tight loops, the ffcall overhead gets pretty heavy 23:13:52 ffcall is a shim over dlsym-based calls, which themselves use a shim 23:17:37 aum: dlsym actually isn't a shim. 23:17:54 kc5tja: you coulda fooled me - i find it way slower than direct linkage 23:17:55 When you use dlsym to get a function pointer, it points right at the entry point of the desired label. 23:18:00 * ball suddenly remembers how much Forth he has forgotten 23:18:32 aum: Except for the cost of indirection, I find it is very fast on my particular platform. 23:19:27 kc5tja: which platform? 23:21:32 a Sinclair QL :) 23:22:00 68008? Or 68040? 23:22:01 :-) 23:22:17 aum: Linux, GCC 3.1, Athlon 800MHz 23:22:23 (I've an idea that some are accellerated) 23:22:25 68008 with matchbox tape drives 23:22:34 "Microdrives" 23:22:42 (some time before IBM ;-) 23:22:53 HEY! Don't knock tape drives! I remember those Exatron stringly floppies! They were damn cool! 23:22:58 too grandiose a name for that pitiful medium 23:23:28 * ball thinks about Tony Tebby 23:24:37 i've still got mine somewhere. Never had a disk drive for it. 23:27:33 foobar_: They were tape drives that never needed rewinding. 23:27:37 They were amazingly fast too. 23:27:57 mine were unreliable; maybe my tapes were old 23:28:20 foobar_: Exatron stringy floppies? Not cassettes. 23:28:47 SinclairQL tapes 23:28:58 tiny, matchbook sized 23:29:07 Microdrive Cartridges 23:30:29 the QL was rather nifty, but mine was crippled by the 8-bit data bus and the lack of disk drives 23:31:48 * ball thinks about ICL OPD 23:34:20 QL Basic was powerful, even though it used line numbers 23:38:34 goodnight all 23:38:39 bye 23:39:21 --- part: ball left #forth 23:43:18 linenums ? barf ! 23:43:25 --- nick: O3BEPH -> Serg 23:57:22 --- join: segher (~segher@blueice4n1.de.ibm.com) joined #forth 23:57:35 --- quit: slava ("Leaving") 23:59:59 --- log: ended forth/04.07.11