00:00:00 --- log: started forth/03.11.03 00:04:41 --- join: Serg_Penguin (~z@212.34.52.140) joined #forth 00:16:26 --- join: segher (~segher@blueice1x.de.ibm.com) joined #forth 00:29:11 --- quit: warp0x00 (Excess Flood) 00:30:01 --- join: warp0x00 (~warpzero@dsl.31.mt.onewest.net) joined #forth 00:39:40 --- quit: Serg_Penguin () 01:42:01 --- join: schihei (~schihei@blueice1a.de.ibm.com) joined #forth 02:34:40 --- quit: schihei (Client Quit) 04:35:40 --- quit: segher ("deep in the bowels...") 05:08:02 --- quit: I440r ("Reality Strikes Again") 06:00:42 --- quit: melinda (Read error: 110 (Connection timed out)) 07:46:24 --- join: Herkamir1 (~jason@h000094d30ba2.ne.client2.attbi.com) joined #forth 07:46:24 --- quit: Herkamire (Read error: 104 (Connection reset by peer)) 10:18:56 --- join: schihei (~schihei@pD95488D7.dip.t-dialin.net) joined #forth 11:01:58 --- part: MrReach left #forth 13:52:10 --- quit: schihei (Client Quit) 15:44:53 --- join: arke (~chris@ca-cmrilo-cuda1-c3b-66.vnnyca.adelphia.net) joined #forth 16:39:17 --- join: gps_ (~gps@166.70.196.201) joined #forth 16:52:55 --- quit: gps_ (".") 17:31:26 --- join: Sonarman (~matt@adsl-66-124-254-236.dsl.snfc21.pacbell.net) joined #forth 17:41:52 --- join: kc5tja (~kc5tja@66-91-231-74.san.rr.com) joined #forth 17:41:52 --- mode: ChanServ set +o kc5tja 17:41:59 Hello. 17:43:12 sup 17:44:49 Just got back from work. 17:45:19 I'm tired. 17:45:26 And I'm searching for alternative sources of income. 17:46:12 I'm wondering if anyone here knows a friend who knows a friend, or better, who is interested in purchasing some volumes of stack CPUs for homebrew/hobby/production projects. 17:48:07 --- quit: arke (Read error: 104 (Connection reset by peer)) 17:50:21 * kc5tja just wants to start making some money doing something I enjoy, instead of cleaning trash, changing money at counter windows, and washing dishes all day. 17:50:40 When I get home, I'm just so wiped, that homework doesn't get done, and household chores stack up. :( 17:50:47 I'm very burnt out. 18:05:18 --- quit: skylan (Read error: 104 (Connection reset by peer)) 18:14:01 --- join: arke (~chris@ca-cmrilo-cuda1-c3b-66.vnnyca.adelphia.net) joined #forth 18:18:46 kc5tja!! 18:19:03 kc5tja: can you define "not" in terms of and and xor for me? 18:19:10 and and inclusive or, i mean 18:20:52 : and 2dup or rot xor xor ; 18:21:07 : or 2dup xor rot and xor ; 18:21:43 Which not? 18:21:58 : xor 2dup or rot and not and ; 18:22:00 bitwise 18:22:05 010101 -- 18:22:09 0101 --> 1010 18:22:11 etc. 18:22:16 No; negation operator is a critical component of constructing more complex logic. 18:22:31 i can define and and or without it 18:22:36 but i need it for xor 18:22:47 how do CPU's do a not? 18:22:47 The basic building block for complex logic is the NAND or NOR gates; these are the same as AND and OR, but they have inverters at the output. 18:23:00 ok 18:23:02 They XOR it or NAND it with all ones. 18:23:26 how do they implement an inverter nowadays? i know how they did it with relays... 18:23:28 Note that you can make an AND gate from two NAND gates, but you CANNOT do the reverse. :) 18:23:35 Transistors. 18:23:43 lol 18:23:48 there lies my problem 18:23:49 how 18:23:50 lol 18:23:59 If the input signal is high, the N-type transistor turns on, bringing the output low. 18:24:00 ive been trying to figure it out in school all day 18:24:13 If the input signal is low, the P-type transistor turns on, bringing the output high. 18:24:30 The N-type transistor is connected to ground. 18:24:33 * arke punches self 18:24:36 duh 18:24:37 The P-type transistor is connected to +Vdd. 18:24:38 lol 18:24:56 er 18:24:56 wait 18:25:04 is this pno or npn youre talking about? 18:25:07 pnp* 18:25:08 MOS 18:25:13 eep! 18:25:14 ?? 18:25:40 Metal Oxide Semiconductor is what it stands for. I'm sure you've heard the term "CMOS" before? Complimentary MOS technology is what it stands for. 18:26:26 Basically, if your gates are built exclusively out of N-type and a P-type MOS transistors, you're using CMOS logic. 18:26:45 TTL and ECL uses bipolar transistors (usually just NPN transistors) 18:27:08 They're moderately fast, but they're bigger on the chip, and draw more power. 18:27:18 :) 18:27:39 Besides, highly integrated CMOS is actually faster now-a-days than TTL or ECL is. 18:27:42 * arke is making a little CPU-emulating thing 18:27:46 as in, the actual thing 18:27:54 you dont have to worry about alot 18:28:08 * kc5tja nods 18:28:15 You're emulating it at the logic gate level? :) 18:28:19 yep 18:28:29 the base unit here is teh transistor 18:28:42 You're emulating TTL?! :) 18:28:47 which has 3 things: in, out, power 18:28:58 Well, not exactly. :) 18:29:12 I'd say that's true for an inverter. 18:29:13 :) 18:29:14 (this is probably wrong compared to the real thing, but it works, and it prolly relates to the real thing alot) 18:29:40 What kind of technology are you making the emulator for? NPN transistors or MOS transistors? 18:30:00 well, kinda neither lol 18:30:12 I see. :) 18:30:21 i dont know that much about it, really. i studied it a little. 18:30:26 * kc5tja nods 18:30:52 basically, each tran gets 2 args and returns one 18:30:52 lol 18:31:14 its likely to be structured that way, i havent completely decided yet 18:31:32 The problem with a transistor used in this fashion is, it's a switch. 18:31:46 Therefore, as a switch, it's either conducting or it's not. 18:31:47 pretty much 18:32:06 pretty much 18:32:14 The output of a logic gate needs to alternately be connected to ground or to +Vdd/+Vcc (there are exceptions to this when dealing with I/O devices; but for now....) 18:32:29 Thus, the output of each gate, including an inverter, needs at least two transistors. 18:32:42 One that connects to GND, the other to +V. 18:32:43 :) 18:33:07 i imagine AND-BIT to be a simple tran(a, b) 18:33:12 This is why a CMOS inverter has two transistors: the P- and N-type transistors are switches that conduct in such a manner to effectively invert the input to its output. 18:33:21 Explain your notation please? 18:33:56 basically, a and b are n and p, and it "returns" the other n 18:33:58 sorta 18:33:58 lol 18:34:10 No 18:34:12 :) 18:34:17 i know its not like that 18:34:22 but im trying to make it semi-simple 18:34:46 its prolly like tran(tran(a,p),tran(b,p)) or such 18:34:46 :) 18:35:20 Well, that's certainly closer. 18:35:42 :) 18:36:40 im not sure how to implement that 18:36:46 lol 18:39:21 even simple things like tran(not(tran(tran(a,p),tran(b,p))),tran(a,p)+tran(b,p)) could get hairy quite fast 18:39:30 (ill let you guess what that is 18:39:34 lol 18:39:38 or what i hope it is 18:39:58 What is +? 18:40:22 combinator 18:40:25 I can't tell from this what it is. 18:40:33 That doesn't tell me anything. :) 18:40:33 just puts them together 18:40:39 So, it's a wire-tie. 18:40:39 and im hoping its xor :) 18:40:43 yes. 18:41:02 XOR is (A & !B) | (!A & B) 18:41:21 XNOR is (A & B) | (!A & !B) 18:41:42 So the above might just need an extra inversion stage to make it an XOR gate. 18:41:48 I'm guessing. 18:42:49 Oh well. I'm going to take a small nap. I'm wiped. 18:43:06 Plus, I need to sit down and really think about hwo I'm going to make extra income. :/ 18:43:07 ok :) 18:43:12 :( 18:43:13 later 18:43:17 * arke watches TV 18:43:17 * kc5tja does not want to work for In-N-Out forever... 18:43:20 lol 18:43:27 * arke doesnt wanna work for mcd forever 18:43:32 get a job coding forth! 18:45:37 I'd love to. 18:45:46 Care to elucidate on how I'm to go about doing this? 18:55:19 ask i440r 18:55:20 :) 19:01:52 i need to figure out how to use gforth. 19:15:47 * MysticOne beats kc5tja animal style! 19:20:13 * arke beats MysticOne just for the hell of it 19:20:20 * MysticOne takes it like a man 19:25:24 * arke takes a broomstick and ...... let your imagination fill the rest 19:27:05 * MysticOne watches arke sweep the floor 19:27:40 lol 19:33:18 ??? 19:33:31 :) 19:33:31 HAHA! NICE comeback!! :D 19:33:39 hehe 19:33:55 * kc5tja just downloaded a hacked version of PacMan for the Atari 2600. It's neat because it's MUCH more accurate to the original arcade game than the 2600's first version of PacMan. 19:34:30 :) 19:34:45 i need to choose a lang. 19:34:49 forth? C? SML? 19:34:54 so many choices... 19:36:58 brb, dinner 21:25:53 back :) 21:25:58 what did I miss? 21:26:00 ... 21:26:03 nothing, huh? 21:31:56 Nothing at all. 21:34:09 --- join: skylan (sjh@Sprint3005.tbaytel.net) joined #forth 21:35:39 hi skylan 21:37:57 kc5tja: what lang? 21:37:57 kc5tja: eck 21:37:57 kc5tja: can you help me get gforth figured out? 21:41:08 Probably the best thing to do to learn GForth is to follow a ANSI Forth tutorial. 21:41:23 GForth is pretty much a verbatim implementation of ANSI Forth. 21:43:28 Hello Sonarman 21:43:39 hrm 21:43:45 kc5tja: how do CPU clocks work? 21:44:29 That depends on the CPU. 21:44:35 well 21:44:47 But the clock is just a monotonic pulse train -- it sets the pace with which the CPU gets things done. 21:44:50 choose any one you can describe well 21:44:59 ok 21:45:02 OK, I'll choose the 6502 because it's so easy. 21:45:04 how is it interfaced? 21:45:26 You just supply a square wave to the clock input. 21:45:46 er 21:46:01 On the 6502, when the clock is low, the CPU places the next memory address to read or write from on the address bus. It also supplies the read/write bus command, and sets up other critical signals. 21:47:09 When the clock is high, nothing actually changes on the bus, because the high-phase (so-called "phase 2" in 6502 parlance, since it's the second bus phase) is just a slice of time used to let the addressed memory settle on its new contents. 21:47:29 When the clock goes from high to low, the 6502 knows that the previous bus transaction is done, and it can advance to the next. 21:47:34 At the same time... 21:48:05 When the clock goes low, it advances to the next CPU state, which could be "fetch another instruction," or it could be part of an instruction previously fetched. 21:48:33 OK, it's harder to explain than I predicted. 21:49:31 er,,, 21:56:51 * warp0x00 dances 21:57:19 oh 21:58:00 kc5tja: you mean it sends signal 1, at which time teh bus is loaded, and then signal 2, at which time teh instruction is executed, and then signal 1 again, etc. ??? 22:09:10 --- join: Serg_Penguin (~z@212.34.52.140) joined #forth 22:09:48 y0 Serg_Penguin ] 22:12:18 --- quit: Sonarman ("/w 5") 22:12:33 hi 22:13:33 yesterday i was attempting to buy old Soviet reproduction table for 50$, new imported now is 400$ 22:13:51 but the one was damaged and some parts lost 22:14:22 now i'll get photo-enlarger even cheaper - to move cam up and down over table 22:14:30 brb 22:17:59 arke: No, the clock controls when the CPU does various things. 22:18:15 arke: The CPU doesn't generate the clock; the clock is an input to the CPU. 22:18:49 thats what i meant :) 22:19:07 Also, the CPU is doing many things all at the same time. 22:19:40 The 6502 has several buses inside it, so that it can move more than one byte of data between registers per clock cycle. 22:20:21 Anyway, I have school tomorrow. 22:20:23 what would be teh best way for me to implement some sort of clock? 22:20:25 I need to get to bed. 22:20:34 arke: I can't answer that question. 22:20:44 hrm 22:20:44 ok 22:20:45 :) 22:20:54 okies 22:20:55 kc5tja: one last question ---- how old are you? :) 22:20:59 Sorry I couldn't help much. 22:21:06 28. Feb 24, I'll be 29. :) 22:21:10 you helped much more than you might think uou did :) 22:21:12 :) 22:21:36 OK, I'm off to bed. 22:21:42 night :) 22:21:46 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 22:30:55 --- quit: arke ("Cheese...Cheese....Cheese...Cheese...Cheese....") 22:58:58 --- quit: Serg_Penguin () 23:07:16 --- join: SDO_AMD (~SDO_AMD@co-trinidad1a-10.clspco.adelphia.net) joined #forth 23:47:58 --- join: bigl (~Lashyn@193.110.20.163) joined #forth 23:49:12 --- part: bigl left #forth 23:59:59 --- log: ended forth/03.11.03