00:00:00 --- log: started forth/04.03.17 01:01:31 how do you do graphics in a linux forth? blit the framebuffer? 01:13:22 libg2 looks like it does gfx in gforth 04:42:59 --- join: Downer- (~Devel@host213-122-35-60.in-addr.btopenworld.com) joined #forth 04:43:27 whoa pie 04:43:45 * Downer- wants 04:46:14 --- join: qFox (C00K13S@cp12172-a.roose1.nb.home.nl) joined #forth 05:45:06 anyone know of a decent Forth Tutorial 05:45:13 specifically for Win32Forth 05:45:18 but I just want to learn the language generally 05:45:31 I'm googling like a mofo 05:45:58 dunno what to read 05:49:30 have you looked here: http://forth.bespin.org/resources/introduction 05:49:35 --- quit: Downer- ("Leaving") 06:28:54 --- join: Downer (~Devel@dial81-135-35-48.in-addr.btopenworld.com) joined #forth 06:31:49 so do I get the pie after or during the process of learning Forth? 06:31:53 :) 06:42:39 * Downer runs around with a big sign saying "IDLERS SUCK" 07:41:32 --- quit: Downer ("bbiab") 08:18:59 --- quit: warpzero (kornbluth.freenode.net irc.freenode.net) 08:18:59 --- quit: Robert (kornbluth.freenode.net irc.freenode.net) 08:19:35 chris-xp, TEH!!!1 08:19:52 --- join: warpzero (~warpzero@dsl.142.mt.onewest.net) joined #forth 08:19:52 --- join: Robert (~snofs@c-2c5a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 08:20:05 --- quit: warpzero (Excess Flood) 08:20:26 ? 08:20:52 --- join: warpzero (~warpzero@dsl.142.mt.onewest.net) joined #forth 08:29:19 --- join: networm (~networm@L0625P09.dipool.highway.telekom.at) joined #forth 08:31:27 Ever considered using stack manipulation words named thusly? ABC->BAC 08:31:40 no, never. 08:31:47 --- join: kc5tja (~kc5tja@66-91-231-74.san.rr.com) joined #forth 08:31:51 never ever? 08:31:54 ever. 08:31:58 I mean, ew. 08:32:00 --- mode: ChanServ set +o kc5tja 08:32:02 Heh. 08:33:07 So, you'd just do the respective -ROT SWAP ROT ? 08:33:36 madgarden - I can see extending NUMBER to generate stack-manipulation code by such patterns, but defining words that follow that pattern without having the system understand that pattern just doesn't work. 08:34:10 madgarden - I'd rather not have to do that at all -- which I'd find myself more inclined to do if the system made it easier to perform more efficient stack manipulations than otherwise. 08:34:39 Right. 08:35:00 anyway, ROT SWAP 08:35:39 I wouldn't make words like that. 08:35:56 I don't use stack manipulations that involve more than the top two stack items. 08:36:04 So, just better factoring then. 08:36:08 Three is my limit. 08:36:10 or did you mean for 'A' to correspond to TOS ? I read that at first with C as TOS and A as third-deep. 08:36:16 I've often had cases where I had no other choice. 08:36:22 and there's only so much you can do with two stack items 08:36:53 ayrnieu, I meant left->right stack notation there. So A would be 3rd deep. 08:37:13 over 2dup dup drop swap nip 08:37:50 madgarden - OK. Then : underswap ( a b c -- b a c ) rot swap ; 08:38:06 I suppose the word could be written more nicely as something like BCA 08:38:24 underswap seems good. 08:38:39 : under ( ... x "xt" -- ... x ) postpone >r compile postpone r> ; 08:38:55 : foo 1 2 3 under swap ; 08:39:04 or maybe call it UNDER: 08:39:28 I wish more Forth words that parsed tokens had a colon. 08:39:29 ayrnieu: : under ( ... x "xt" -- ... y ) postpone >r postpone execute postpone r> ; immediate 08:39:43 oops, never mind. 08:39:52 I see -- I thought your xt was already on the stack. 08:40:03 * kc5tja hates "quoted stack" notation -- too easily confused with regular stack notation. 08:40:16 ie. 10 constant: blah 08:40:26 What's quoted stack notation? 08:40:37 madgarden: ( ... x "xt" -- ... y ) 08:40:42 What's it mean though? 08:40:44 madgarden: Note the quotes around "xt" 08:41:07 madgarden: It means that whatever value for "xt" is used comes from the input stream, NOT from the stack. 08:41:13 Ahh. 08:42:03 Well, I figured out that the Kestrel can support up to around 95 concurrently running tasks or so, assuming I use 16KB of zero-bank to hold the operating system. 08:42:23 (96 if you treat the OS itself as a task.) 08:43:08 How are you doing it? 08:43:18 madgarden: I don't understand your question. 08:43:29 Not enough information to answer. :) 08:43:30 Your multitasking. 08:43:31 I learned the other day that you code send a BREAK to a Sparc's serial port and have it drop back to the Forth prompt -- killing the OS. 08:43:42 also, 'can send'. 08:43:55 madgarden: I need to know what you mean by "doing". 08:45:26 Are you asking if it'll be preemptive multitasking? If so, then no, it'll be cooperative (at least to start with). 08:45:48 However, for some things I'm looking to do with it, it may require preemptive multitasking. I don't know. 08:46:23 It's easy to switch to preemptive multitasking once cooperative multitasking is in place, so I'll start with cooperative multitasking first, and upgrade to preemptive only if people complain about it, or if I really need it. :) 08:46:49 OK, that answers some of my questions. :) 08:46:54 make it a realtime OS (i have no idea what that would mean :P) 08:47:05 networm: That absolutely requires preemption. 08:47:37 It not only requires preemption, it would also require prioritization support (e.g., higher priority tasks run before lower priority tasks). 08:48:33 but priorities are already in normal peremptive schedulers as well 08:48:37 kc5tja, I also wonder how your tasks will be laid out in memory. Will you allocate memory for a context for each new task? Will there be some amount of available memory for each task? etc. 08:49:07 networm: Not all of them. Cooperative-versus-preemption is an orthogonal issue to round-robin-versus-prioritized. 08:49:52 i see. so real-time just does some special priority handling 08:50:04 madgarden: The 65816 is drain-bamaged in the sense that a program's stack and direct-page memory can only exist in the first 64KB of memory. The kernel is also located in this memory space, so that eats into the available memory I can use for those purposes. 08:50:42 That being said, each program will require up to 256 direct-page bytes of memory, and I'm allocating (for the sake of symmetry) 256 bytes of stack for each. Thus, a single task will take up 512KB of bank-zero memory. 08:50:46 err 08:50:51 512 bytes 08:51:31 Sounds like lots of stack space. 08:51:55 1/2 data, 1/2 return stack? 08:52:14 With 48KB of memory left over after accounting for the host operating system, this leaves room for 96 tasks. But the OS itself needs its own direct-page (not necessarily its own stack). But I can make many of the services offered by the OS available by making the OS itself a task, and thus, that makes the 96th task. 08:53:08 madgarden: Pretty much. With the CPU configured for 8-bit index registers, I can use the X register as the data stack pointer, and the S register as the return stack pointer. The 16-bit accumulator can be used as the top-of-stack cache register. 08:55:15 Obviously, if I used smaller stacks, I could fit more tasks in. But, I'm not sure how beneficial that'd be, realistically speaking. And, it'd be easy to overwrite another task's data stack if the other task overflows its data stack. 08:56:00 with this approach, the only stack he can overwrite is his own (the return stack is truely another issue though; the return stack can address *anywhere* in zero-bank, so it IS possible to overwrite another task's return stack if you end up in an endless recursive loop). 08:57:11 64 bytes, with 4 bytes cells.. so 16 cells on the stack. i guess that's not too big 08:57:30 er, 256/2 = 128.. 08:57:34 so 32 cells 08:58:10 networm: I think you got some numbers mixed up. 08:58:17 256 bytes / 2 = 128 cells per stack. 08:58:32 one cell = one byte? 08:58:39 networm: No. 08:58:54 It's a 16-bit Forth. It has 16-bit wide cells. 08:59:12 ah, ok. i thought it is 32-bit 08:59:28 No. 08:59:55 so return and data are both 64 cells 08:59:58 I might add support for 32-bit wide stacks later on though. 09:00:04 networm: Both are 128 cells. 09:00:13 Once again, both stacks are 256 bytes in size. 09:00:21 256/2 = 128. :) 09:00:54 but before you said 256 bytes of stack / task :) 09:01:22 Yes. But a task has two stacks. 09:01:41 so 512 bytes for the 2 stacks in each task 09:01:53 I said, it has a direct page (which the X register indexes as a data stack pointer), and a return stack (which the S register indexes). 09:01:58 networm: Yes. 09:02:42 hm 09:03:12 If I were to adopt a decidedly Moorian Minimalist appropach to programming, and impose that requirement on everyone else, I can drop my stack sizes to 32 bytes each, leaving 16 cells in each stack. That'd give me more tasks. But the smaller the stack the more likely you're going to overwrite some other stack, and the more unstable the system becomes. 09:03:14 i see now. that direce-page bytes *are* the stack 09:03:18 Yes. 09:03:33 I use the (zp,X) addressing mode to dereference memory, and zp,X mode to manipulate integer data. 09:03:40 I suppose it would be too much hassle to have stack over/underflow protection. 09:03:59 madgarden: Making the data stack an even page in size is all the protection I need. 09:04:25 madgarden: Because the X register will usually be configured to operate in 8-bit mode, it'll just wrap around when an over or underflow occurs. 09:05:13 It's only the S register that is effectively free-roaming. 09:05:40 How about one 512 page per stack? 09:05:57 madgarden: Pages are 256 bytes in size. 09:06:07 How about one 256 byte page per stack? :P 09:06:09 $0000xx <-- zero page 09:06:13 $00xxxx <-- zero bank 09:06:33 madgarden: Isn't that what I just described above?? 09:07:06 I said, it has a direct page (which the X register indexes as a data stack pointer), and a return stack (which the S register indexes). 09:07:13 Oh... for some reason, I was thinking the return/data stack would be sharing a page. 09:07:41 I can do that too. But there realistically isn't much benefit to doing things that way. 09:08:04 I *really* don't see anyone even coming *close* to loading a 12.6MHz box down with 96 actively running tasks. 09:08:18 Ditto. 09:09:05 But, if I were to adopt that solution, that'd increase the number of tasks supported to 192. 09:09:18 That's a moderately respectable number, considering its memory limitations. 09:10:23 I just need to remember that EMPTY needs to check for and kill any tasks within the freed region of dictionary space. :) 09:10:34 Failure to do that will yield some pretty interesting and spectacular crashes, I'm sure. 09:14:04 Anyway, I think I solved my cycle-accurate CPU emulator, at least for the case of the Kestrel. It certainly won't handle more sophisticated designs. 09:14:35 This will be one of the few general purpose 65816 emulators available too. I'll be sure to release the software on the 6502.org forum. 09:14:46 I think if this kit is to be targeted towards the "beginner" hobbyist, then a crash resistent setup would be most appreciated. 09:15:21 If you truely wanted crash protection, then I'd be using Oberon for the host environment and not Forth. :) 09:15:34 Crash resistance, not protection. :P 09:15:50 Stack overflow errors are nice. 09:16:27 Well, dedicating a whole page to the data stack will make the data stack circular, since the X register will almost always be kept in 8-bit width mode. 09:16:50 It will be physically impossible to overflow the data stack in this case. 09:16:53 Would that be safe for the return stack? 09:17:09 It's only the return stack that poses any possibility of overflow, since the S register is kept at 16-bits wide by the hardware. 09:18:10 The only other alternative is to support multiple address spaces, and that requires an MMU (which the 65816 does support, but I don't have the resources to build one). 09:19:22 tail-call would help reduce the risks anyway 09:20:12 Tail-call optimization is a given. In fact, it's a requirement. 09:20:29 BoxOS's control flow is predicated on its existance. 09:20:33 cool 09:20:55 Oh... no loop words? 09:21:40 Not in ROM. They can be added afterwards. 09:23:44 Also, there is going to be a 14 cycle penalty for subroutine calls instead of 12, because I'm using the long-form for subroutine calls. 09:24:17 Will you inline words? :) 09:24:37 To start with, no. 09:24:54 In subsequent versions, yes. 09:25:08 V1.0's goal is quick time to market. 09:25:58 Thus, I'll be cutting all unessential features in favor of development time, so that I can start earning some cash on it. 09:28:27 "inlining" refers to code primitives only, correct? 09:28:54 madgarden: Depends on who you ask. Full-blown, optimizing compilers that do all sorts of data flow analysis will inline anything. 09:29:10 madgarden: My simple compilers will inline only primitives. 09:31:32 I just realized something too, and this is pretty important. If an instruction executes at $02FFFF, then the next instruction to be executed will actually come from $020000. That is to say, the program bank byte doesn't increment automatically. I have to keep this in mind for the compiler. It's conceivable that some definitions could cross a bank boundary. 09:31:43 --- join: imaginator (~George@georgeps.dsl.xmission.com) joined #forth 09:31:50 hi 09:31:53 --- quit: clog (^C) 09:31:53 --- log: stopped forth/04.03.17 09:32:25 --- log: started forth/04.03.17 09:32:25 --- join: clog (nef@bespin.org) joined #forth 09:32:25 --- topic: 'A channel dedicated to the Forth programming language, its implementation, its application, and its philosophy. And pie.' 09:32:25 --- topic: set by chris-xp on [Fri Mar 12 18:05:38 2004] 09:32:25 --- names: list (clog imaginator @kc5tja networm warpzero Robert qFox ayrnieu proteusguy fridge Herkamire madgarden @ChanServ Fractal chris-xp cmeme chandler mur slava ianp OrngeTide) 09:32:39 It's just that it can't execute code across a bank boundary. 09:33:04 But is it likely that it will happen? Of course it's a good idea to protect yourself from it, but is it really a serious problem? 09:33:12 No. 09:33:23 Not unless you intend on loading more than 64KB of code into the dictionary space at any given time. :) 09:33:35 64KB of *subroutine threaded* code at that. 09:33:42 Exactly. And on a toy computer like that... 09:34:01 Robert: This toy computer has 1MB of RAM standard. :) 09:34:13 A very good toy! 09:34:33 Unlike the 68 bytes my only one provides. Hrm. 09:34:43 Heh 09:35:46 I've been too lazy to construct anything from my z80. Or actually my breadboards have all been filled with radio stuff.. :) 09:35:58 Also, it won't matter except every 16384th word or so (since the average word compiles to a JSL instruction, which takes four bytes of code space), so my philosophy is this: detect when the code pointer is within 8 bytes of the bank boundary, and if so, automatically compile a JML (JuMp Long) to the next bank $bb0000, where $bb is the current bank plus one. 09:36:44 Obviously, the dictionary pointer will be updated accordingly. 09:39:17 My next reservation is where, precisely, do I place the Forth headers? 09:39:19 Was thinking about using an old matrix printer for output. Can't get it to work with my own code (using DOS/BIOS it works), seems like it keeps waiting for an ACK. Do you have any experience with these printers? 09:39:25 #asm doesn't seem to know the answer to a question ... If I append to some executable memory the opcode #define PUSH_4_BYTES_OP 0x68 followed by 4 bytes for the value to push, should I align the value to push on a 4 byte boundary? 09:39:52 (IA-32 assembly BTW) 09:40:03 Er, no. It should just be 4 bytes long, that's all. 09:40:09 imaginator: No. IA-32 fully supports arbitrary alignment. 09:40:23 In fact, I note that the opcode is 5 bytes long. :) 09:40:45 What about when I am doing jumps like #define JUMP_EQUAL_RELATIVE_OP 0x840f followed by another 4 bytes? 09:41:11 I read that IA-32 supports that, but I have seen in two books it mentioned that it can sometimes cause odd problems. 09:41:15 Robert: When you write data to the printer, you assert then negate the strobe line, not the ack line. The printer will respond with an ack when it's ready for more data. 09:41:38 imaginator: Those books are wrong. 09:41:46 The x86 architecture is 100% byte-aligned, for both code and data 09:41:57 kc5tja: "assert then negate"? I don't get you. And btw, it's the ACK I'm waiting for, but never receive. 09:42:18 The only issues you might have with unaligned data fields is instruction *timing* on older CPUs. But modern CPUs all fetch their operands from cache anyway, so it's not an issue. 09:42:51 Robert: You need to assert (make true) the strobe pin, wait for 2 microseconds, then negate (make false) the strobe pin. 09:43:00 It must be for 2 or more microseconds. 09:43:18 So, say I was working with an older CPU. How would alignment be done regarding those previous instructions I mentioned? 09:43:38 Yep. That's what I do. 09:43:53 Robert: Then I'd purchase a new printer. 09:44:03 Robert: It's clearly out of Centronics specification. 09:44:25 imaginator: The instructions can go anywhere. 09:44:43 hmm, so what is aligned then? 09:44:46 imaginator: The code you *branch to* should be aligned on a 16-byte minimize cache reloading time. 09:45:08 (and for CPUs that lack caches, well, even that isn't an issue. :)) 09:45:30 I swear IRC is eating whole fragments of my sentences. 09:45:34 s/16-byte/16-byte boundary/ 09:45:52 s/boundary/boundary to/ 09:45:53 geez. 09:46:04 imaginator: The code you *branch to* should be aligned on a 16-byte boundary to minimize cache reloading time. 09:46:20 When you end up nesting substring substitutions, then you know it's time to go back to bed. 09:46:56 I think I understand. So, the code that I jump to should be padded with NOPs in such a case? 09:50:17 Well, you don't jump to the NOPs obviously. 09:50:34 Why not? 09:50:56 The NOPs are there only to pad the code so that it lines up on a nice cache-line boundary (16 bytes for older CPUs, 32 and 64 for newer CPUs, but c'mon -- 64 bytes is getting to be a bit excessive!). 09:51:07 Because NOPs do exactly what they say they do: absolutely nothing. 09:51:16 For precisely one clock cycle. 09:51:41 Remember the code you're branching ****TO**** should be aligned on a 16 byte boundary. 09:51:55 That is, the effective address of your branch should have its lowest nybble set to zero. 09:52:08 This means your code always starts on a 16 byte boundary to minimize cache reload time. 09:52:39 say we have code position A, and another B. We align B with NOP, so that the beginning instruction has NOPs before it that and code from A jmps to B and B is aligned like AND addr, NOT 3 09:52:44 Is that right? 09:53:24 Yes, it'd look like this: 09:53:26 JMP b 09:53:28 NOP 09:53:29 NOP 09:53:34 ; we're aligned here so,... 09:53:39 b: ; further code goes here. 09:53:51 ok, I see. Thank you :) 09:54:14 Or, you can screw instruction timing, and just lay the code down whereever you want. :D 09:57:45 I just want to do it right. 09:58:40 imaginator: what are you optomizing? 09:59:17 My Forth VM. 10:00:07 "AC (bit 18) Alignment check flag. Set this flag and the AM bit in the CR0 register to enable alignment checking of memory references; clear the AC flag and/or the AM bit to disable alignment checking." I see that AC is 0x40000 or 1 << 18. What is the AM bit? 10:00:19 (that's a quote from the Intel manual) 10:00:43 Alignment enable bit, basically. 10:01:04 However, I wouldn't use it. It only affects data references; it doesn't affect code references. 10:01:21 Plus you need to be executing your code in ring 0 to even set those bits. 10:01:44 * imaginator is on the phone 10:03:58 * imaginator is back 10:04:32 hmm, so I guess I really don't need to worry about this. 10:04:39 Right. 10:04:46 I would like the cache fills to be as efficient as possible though. 10:04:52 And if you're coding for Linux, BSD, or Windows, you wouldn't have access to them anyway. 10:05:24 1) Place DWORD data on DWORD boundaries. 10:05:36 2) Place all execution entry points on 16-byte boundaries. 10:05:54 That's about as good as it gets. 10:06:17 Oh, 1.5) Place WORD data on WORD boundaries. :) 10:06:48 --- quit: networm (Remote closed the connection) 10:07:47 Well, I need to get ready for college, then I have to *remember* (note to self!!) to head to Oceanside to grab my oscilloscope from storage. 10:07:55 I meant to do it yesterday, but I totally forgot. 10:08:01 Going back to college? 10:08:14 You sure are a busy guy. 10:08:38 Yeah, but we'll see for how much longer that lasts. 10:08:50 If I don't get a good grade in Calc II this semester, any hope of getting into UCSD is shot. 10:09:07 At least the Revelle college of UCSD.. 10:09:20 I hope you make it. :) 10:09:42 So do I. :) 10:12:47 Hey, now it works. First reason: I used the wrong printer port... Also, it only seems to work when I'm _not_ waiting for an ACK. Oh, well... 10:39:44 --- join: ASau (~asau@158.250.48.196) joined #forth 10:41:00 Dobryjj vecher! 10:44:27 huh? 10:44:33 Hi ASau 11:00:12 It seems it's very quite today. 11:00:32 Just like everyone is working. 11:15:24 Privet, ASau. 11:15:33 I was just outside, talking a walk. 11:15:38 Terve! 11:15:48 Hej. 11:15:49 Ah. 11:16:01 Walking is good. 11:17:24 One our famous surgeon (heart diseases) recommends no less than 1 hr. walking every day. 11:18:02 That's about what I do... 11:43:39 Robert, what's "bladet" in Svenska? 11:43:55 Newspaper? 11:45:42 Is it Deutsche "Blatt"? Leaf/page? 11:46:20 Yep. 11:46:57 Thanks. 12:32:17 Hi. 12:33:46 Hi ianp 14:25:17 --- quit: imaginator (".") 14:43:52 --- quit: proteusguy ("Leaving") 15:11:14 --- join: Speuler (~Speuler@forthfreak.net) joined #forth 15:11:28 g'day 15:35:28 hiya 15:36:32 kc5tja: hehe, my teacher's favorite band is Rush :) 15:38:20 Rush - 2112 <-- kickass :) 15:47:22 --- join: Sonarman (~matt@adsl-64-160-165-49.dsl.snfc21.pacbell.net) joined #forth 15:52:20 --- quit: chris-xp (Read error: 60 (Operation timed out)) 15:53:37 --- join: chris-xp (~Chris@wbar8.lax1-4-11-099-104.dsl-verizon.net) joined #forth 15:54:21 da,ot 15:54:22 dammit 15:54:27 reboot for no reason 15:56:06 I blame those on brownouts 15:56:20 :) 15:56:22 whats up, all? 15:56:30 only time I get random reboots is when the lights dim 15:56:42 hardly fit to be called random 15:56:58 crappy power in california, lemme tell ya 15:58:00 yeah, I think australias supply system are modelling cal. with regards to deregulation 15:58:07 and elimination of reserve capacity 15:58:36 hmm 15:59:15 everyone needs to get off the grid =) 15:59:43 or stay on it and become a net supplier of electricity 16:01:01 get solar panels 16:01:12 bigForth is working under Tos 2.06 now 16:01:19 on STonX 16:01:20 what is Tos? 16:01:27 oh, Atari ST ROM 16:01:31 aha! 16:01:41 I finally sourced a monitor for my amiga 2000 16:01:51 only took about 6 months to win an ebay auction 16:01:57 now i'm going to eat 16:02:06 all the other auctions ended up > $120 16:02:14 I got mine for $35 16:02:15 hoho 16:03:42 congrats! 16:04:16 now I can play with jforth 16:04:18 16:04:29 well, when it arrives 16:04:42 --- quit: Herkamire (Read error: 60 (Operation timed out)) 16:05:10 --- join: Herkamire (stjohns@h000094d30ba2.ne.client2.attbi.com) joined #forth 16:06:21 haha, cool! 16:07:25 i remember that when i first saw the jforth website i had a feeling of Deja Vu, because it's extremely similar to the 4tH website :) 16:40:48 SPIRIT OF THE RADIO 16:41:12 madgarden: http://www.google.com/search?q=forth+rush+shoutcast 16:41:16 Back! 16:41:21 madgarden: first one is a #forth log :) 16:41:23 kc5tja: hiya :) 16:41:35 The oscilloscope is mine once again. :) 16:41:44 * chris-xp is gonna code after /me drinks something 16:41:48 As are my top secret stash of 7 65816 CPU chips. 16:42:15 kc5tja: !!! :) 16:42:21 kc5tja: you know what.. 16:42:39 kc5tja: you could hook all 7 of those together, and make one hell of a nice box :) 16:42:48 chris-xp: Not really. 16:42:49 chris-xp, haha. That's too funny. Why do these logs get so googled? 16:42:57 madgarden: :) 16:43:20 madgarden: well, i was looking for it at school. I'm trying to figure out a way to do rushcast from there (even though lots of stuffs is blocked) 16:43:41 chris-xp: While it is true I can set up a multiprocessor network for them, doing so requires that I insert wait-states into the bus, as all 7 CPUs could attempt to access RAM at the same time. 16:43:46 Besides, these CPUs are for the Kestrel. 16:43:47 madgarden: port 8012 is blocked, and I don't think the CGI proxy I use can do anything else than 80 16:44:00 Hmm. 16:44:12 kc5tja: well, not each CPU can access _anything_ :) 16:44:28 You could proxy through your home machine, possibly. 16:44:34 madgarden: no, NAT 16:46:04 kc5tja: is it possible to "soft rewire" ram? 16:46:20 kc5tja: as in, in software, be able to set the CPUs that can access what memory? 16:49:08 chris-xp: It'd require a bus arbiter and an MMU that supported the concept. 16:49:16 Something I neither have the resources for nro the desire. 16:49:24 Look at it this way: I ahve about $800 in expenses to pay up. 16:49:29 I have $300 in my bank account. 16:49:33 I have less than 1 month to pay it. 16:49:46 eh... 16:49:58 I am taking an awfully huge risk in developing the ForthBox Kestrel. 16:50:19 Pre-orders would help, but that means I could take a loss because prices aren't yet set. 16:52:13 --- topic: set to 'A channel dedicated to the Forth programming language, its implementation, its application, and its philosophy. And pie. || Help-Sam Charity! A Non-profit Organization! Please spare $100 and contact kc5tja :P' by chris-xp 16:52:23 --- topic: set to 'A channel dedicated to the Forth programming language, its implementation, its application, and its philosophy. And pie.' by chris-xp 16:53:10 ok, so basically, you're saying you've got about 2 weeks to raise $500 16:53:21 getting a paycheck soon? 16:53:37 kc5tja: and by the way, you've already got a buyer :) 16:53:47 Yeah, but I don't thikn I can raise $500 in that time frame. 16:53:52 kc5tja: once I get teh funds (keyboard+ethbridge go first for me) 16:53:54 chris-xp: *A* buyer. 16:53:59 hrm. 16:53:59 That doesn't cover R&D costs. 16:54:03 I need at least *4*. 16:54:10 And that's just to break even. 16:55:27 :( 16:56:23 how much do 65816's cost? 16:58:31 hi all 16:58:41 hi slava 16:58:47 got $500 to spare? 16:59:47 for what? 16:59:51 your drug habit? :) 16:59:51 chris-xp: $5.75 in qties of 1, 14MHz rating (the fastest they come unless you create a custom chip with a 65816 IP core from WDC, in which they can go as fast as you want) 17:00:19 hrm, thats not much. 17:00:25 Nope. 17:00:30 slava: to help out a fellow #forth-er :) 17:00:37 It's about the price of a comparable Z-80 processor, which is what one would expect. 17:00:51 kc5tja: but, its better than a Z-80, right? :) 17:01:10 Well, I'm talking overall performance. So by comparable, I am talking about a Z-80 that runs around the 28MHz to 30MHz range. 17:01:43 I don't have any particularly bad things to say about the Z-80 from the software perspective. It's strictly from a hardware perspective that I have issues. 17:04:09 I still need to get a TI-83 cable 17:04:13 I wanna get a forth for it 17:04:13 :) 17:04:26 Write one in BASIC. 17:04:31 ppht!! 17:04:48 Did someone write a version of BASIC for the TI-83? :) 17:04:51 Robert: I did a really incomplete one. : swuare dup * ; <---- took 5 minutes to compile! 17:05:01 for TI-BASIC, i should sya 17:05:19 chris-xp: TI-99/4A BASIC? 17:05:49 chris-xp: TI-83 BASIC :) 17:05:53 the one that comes with it :) 17:06:25 Ti-83 doesn't come with BASIC. 17:06:54 It has a very proprietary calculator language that makes BASIC look like the most superior language that can possibly exist in the world. 17:06:55 well, a really fucked up basic-like language 17:07:05 kc5tja: yes, i agree :) 17:07:35 TI-82 BASIC is heaven compared with the variant used in some Casio calculators. 17:07:41 yet, when I'm bored in class, i continue writing a 3D renderer :0p 17:08:21 * chris-xp is away: 0xD06 17:16:54 anyway, please go out and experience the wonders of UserRPL, SysRPL, and Saturn Assembly on the 4MHz nibble-addressible HP49G. 17:21:11 kc5tja: bigFORTH is working for me on the ST emulator now. it turned out that the files DID need to be mode 777 before being copied to the disk image. thanks for your help 17:21:26 Sonarman: No problem. 17:21:40 EmuTOS was ok with them not being 777, but not Atari TOS 17:22:52 STonX has good Blitter emulation, which makes everything feel fast 17:24:48 Steem seems to have OK blitter emulation. 17:25:18 It definitely makes things faster, but I suspect the video update code in the emulator is really slowing it down. The emulator *screams* with small window sizes, and really slows to a crawl if I expand the window large. 17:27:05 you know, I think that MINOS (the GUI library used by bigFORTH that feels un-"responsive") uses the same silly scheme that GEM uses for handling mouse clicks 17:27:22 there's a delay between click and action 17:27:25 Sonarman: yeah. 17:27:30 GEM was pretty drain-bamaged about that. 17:27:40 My implementation of GEM will assuredly fix that *bug*. :) 17:27:44 and the author of MINOS was a GEM user :) 17:32:08 wow... 10 year old bigforth had tab-completion and command history 17:41:31 --- join: blockhead (default@dialin-395-tnt.nyc.bestweb.net) joined #forth 17:41:40 hi blockhead 17:41:50 hey Sonarman. waht's up? 17:43:34 nothing. you? 17:44:00 nothing here either. 17:45:34 * kc5tja is making arrangements with other hams to perhaps get Kestrel PCBs done. 17:45:41 We'll see how things go. 17:45:50 neat 17:45:56 if it works, it'd be a mutual benefit for us both; I get the PCBs, and he gets much needed income. 17:54:11 NOOOO. All Rush Radio is down 17:55:04 i need it so that i have something to switch to when a crappy song is being played on SnakeNet :) 17:55:41 uhhh, like a CD? 17:55:47 :) 17:56:34 :) :( 18:00:13 whats the simplest linux forth? 18:00:23 for the purposes of studying source 18:00:33 probably isforth 18:01:14 i imagine that gforth and pfe would be much more complex 18:02:07 isforth's sources are pretty readable 18:02:23 yes 18:05:52 --- join: LOOPHOG (jdamisch@207.191.240.67) joined #forth 18:06:16 darnit. No more iteration. :) Hey loophog! 18:06:26 howdee 18:06:31 do you have to say that every time he joins? :) 18:06:44 It's only the second time I've said it. It's not old yet. 18:06:45 it lets me know that somebody is in here 18:07:14 ok, sorry blockhead. i guess my staleness meter needs adjusting :) 18:07:26 i just got done reading a story about some kid who built a nuclear reactor in his moms shed 18:07:42 so what happened when he switched it on? 18:07:56 it was not the sort you switch on, its always on 18:08:02 it made the shed radioactive 18:08:13 he could detect radioactivity 5 houses away from the shed 18:08:36 the EPA came in and sawed the shed up and packed it into barrels 18:09:30 he made it out of aluminum foil and smoke detectors 18:09:59 if i was his dad, i would be just a little upsed :) 18:10:05 do you have a link to the story? 18:10:13 just a minute, i can get it 18:10:28 I'de be happy that my son was a genius :) 18:11:02 http://groups.yahoo.com/group/ETList/message/3226 18:11:04 try that 18:11:20 "WHAT YOU IRADIATED THE DOG!!!!" :) 18:11:35 "STOP NUKING YOUR GRANDMOTHER!!" 18:12:13 cool, thanks 18:12:35 has anybody turned this dude onto FORTH? 18:12:48 maybe help him stay out of trouble ( chuckle ) 18:17:29 * blockhead reads. OMG, it's a true story! 18:17:51 yup 18:18:02 :) 18:18:56 this is so much safer 18:23:35 has anybody played the new sonic game? 18:23:42 i was wondering if it was any good? 18:27:03 --- join: LoopHawg (jdamisch@207.191.240.32) joined #forth 18:28:55 A new Sonic the Hedgehog game? Wow. I didn't know they were still making those. 18:29:21 man, that little rodent is a FAST mofo 18:29:23 its a 3d platform game 18:29:50 it seemed super fast back then on the 16bit Genesis, but looking back it it now it doesn't 18:30:35 Playing Sonic was like a cross between Super Mario Bros. and pinball. :) 18:30:44 There were two other sonic 3d platformers, i have the other 2 18:31:34 i never beat the original one, my brother did though 18:31:44 then you can become super sonic or something like that 18:33:41 There were atleast 3 sonic games for the Geni, and then there was a piggyback cart that partially reprogrammed the first 3 18:33:59 i had the first genesis one 18:34:01 fun stuff 18:34:11 I think i have an emu+rom somewhere.. 18:34:16 there wasn't a sonic for the saturn, unless you count the sonic racing game 18:35:35 well, saturn was never as popular as genesis, or at least back in germany.. 18:35:52 it was eclipsed by the ps1 18:36:17 yeah 18:36:18 not a bad system though, a better underdog system than the dreamcast or gamecube imo 18:36:22 ps1 was a great piece of hardware 18:36:31 ps is teh leet :) 18:36:40 maybe it was just time for a break from the other game companies 18:36:52 come on, a fucking 33 mhz processor backing all this shit? 18:37:32 i didn't think of the ps1 as being more powerful than a saturn 18:37:54 PS1 had a looooooooot of power! 18:38:06 the saturn had dual cpus but it was difficult to program for i have heard 18:38:12 (partially because it uses such an awesome CPU) 18:38:15 ps1 had texture mapping hw 18:38:29 LoopHawg: still, impressive as hell 18:38:55 you probably know more about ps1 hw than me 18:39:02 can you tell me about the cpu a little bit 18:40:02 uses a 33mhz MIPS processor for all its non-graphics stuffs 18:40:24 MIPS is a nice, nice, nice, nice, nice, nice, nice, nice (...), nice nice RISC processor 18:40:34 better than arm? 18:41:30 i have peeked at the instruction set of the arm, and it looked funney to me 18:42:00 does it have multiple stacks, how does forth look on it? 18:42:30 LoopHawg: no stacks, one addressing mode 18:42:47 32 registers, one of them a non-writeable 0 (which has LOTS of advantages, mind you!) 18:42:49 no stacks? 18:42:53 no 18:42:59 doesn't need it 18:43:37 doesn't that mean that you need to use more instructions to implement a FORTH word 18:43:55 Yes. 18:44:10 but, its pipelined, so if you do it right, its often faster (!) than one 18:46:00 --- quit: LOOPHOG (Read error: 110 (Connection timed out)) 18:46:09 --- nick: LoopHawg -> LOOPHOG 18:46:23 well, there were a ton of games on it 18:46:40 was the instruction set easy to understand? 18:47:53 yeah 18:47:58 MUCH easier than x86 18:48:00 thats a plus 18:48:04 good 18:48:22 it does seem to me that RISC doesn't always mean simple 18:48:46 but it looks like that what this cpu is that you are describing, the RS3000 or what was it called? 18:49:28 not exactly sure what it was, but it was a MIPS 18:50:03 but its a kickass proc! 18:50:23 (1) branch delay slots provide a jump penalty of 0 18:50:31 (2) lots of regs to do stuff with 18:51:19 can you tell me how the branch delay slots worked/ 18:52:04 sure 18:52:42 basically, when it encounters an instruction that branches, it _unconditionally_ executes the one after the jump instruction (not where the jump is to, but there the jump instruction is) 18:52:47 for example 18:52:56 beg r0, r0, someplace 18:53:01 add r1, r0, r2 18:53:22 someplace: or r0, r0, r0 18:53:51 the first one is a branch, it goes to someplace if r0 is equal to r0 (which it is, duh) 18:54:03 but, it executes the add instruction before it goes to somewhere 18:54:34 i think i understand now 18:54:57 its neat and not complicated at all 18:55:04 yes 18:55:13 in fact, usually you don't have to worry about it as the assembler takes care of it. 18:55:24 in fact, the assembler will do a whole bunch of optimizing if you let it :) 18:55:41 talk to xark in #asm , he knows lots about MIPS if you're interested. 18:56:03 well, its facinating, but i think i'll wait until the need arises, thanks 18:56:07 MIPS rocks! It's my all-time favorite RISC architecture. 18:56:25 so far not a fan of any RISC but it might change my mind ???? 18:56:37 kc5tja: :) 18:56:42 LOOPHOG: How can you not be a fan of RISC? :) 18:56:58 LOOPHOG: oh man, RISC is sooooooooooooooooo much better than CISC, I cannot even emphasize enough! 18:56:59 or even of OISC :D 18:57:00 what's easy to impliment a FORTH on? 18:57:17 LOOPHOG: Pretty much any CPU you can think of. :) 18:57:20 LOOPHOG: you can easily implement a forth on RISC too 18:58:03 well, its not that much harder i suppose, it takes more instrucitons, so the FORTH words are a little more complex inside 18:58:18 think of the optimizations you can do though 18:58:29 --- join: I440r (~mark4@64.3.99.130.ptr.us.xo.net) joined #forth 18:58:32 LOOPHOG: More instructions isn't necessarily bad. 18:58:38 you have sourceA, sourceB, destination, instead of just source,destination 18:58:41 thats more complexity 18:58:53 LOOPHOG: No, that's substantially greater simplicity. 18:59:09 Because it eliminates (a very common) MOV previousDEST, newDEST 18:59:10 LOOPHOG: ok, we don't like VAX that supports HW polynomial stuffs :) 18:59:33 sure 18:59:35 LOOPHOG: you can ALWAYS go add r1, r1, r2 18:59:59 doubling r1 and sticking it into r2 19:00:21 LOOPHOG: Or, a1 := a1 + a2 (depends on the assembler syntax) 19:00:43 LOOPHOG: or, depending on the assembler, its an add r1, r2 19:00:51 kc5tja: my thoughts :) 19:01:05 just thinking of the 68000, which is what i have the most familurarity with, some forth words were only 2 instructions, the thing to do and then the return 19:02:06 LOOPHOG: sure, you need to use more instructions with the RISC, because few have address auto-update (PowerPC being a limited exception to this). 19:02:28 But the code, at worst, will run in the same number of clock cycles as the 68K too. 19:02:33 no address auto-update 19:02:41 And subroutine overhead for primitives will be obnoxiously superior than the 68K's. 19:03:00 LOOPHOG: Right; no pre-decrement or post-increment. 19:03:43 (PowerPC has post-increment or post-decrement if you use the 'update' variation of the move instruction, but...) 19:03:54 kc5tja: ? 19:04:01 kc5tja: what do you mean...? 19:04:32 chris-xp: The l*u instruction (where * is a wildcard) and s*u instructions will write the address register with the new effective address. 19:04:54 So if you say s*u r0, -4, r3, then while r0 is written to memory, r3 := r3 - 4. 19:05:24 kc5tja: like a mov [ax], bx ; add bx, 2? 19:05:28 oh, ok 19:05:34 er, i meant ax there, not bx 19:05:38 Well, to be fair, this si pre-decrement (or pre-increment if you use a positive offset). It's the post-dec/increment that it lacks. 19:05:38 not that that code works :) 19:05:47 ok.. 19:06:06 chris-xp: ax?? bx?? Where? 19:06:19 chris-xp: I don't remember talking about x86 yet, and I haven't seen any code from you that lists x86 opcodes... 19:06:24 I thought we were talking about RISCs. 19:06:47 Oh, I see it now. 19:06:56 i meant as an example :) 19:07:04 Yeah, I just didn't see it, after 2 re-readings. 19:07:09 heh l0l 19:07:27 It's equivalent to this: mov [eax+2],ebx; lea eax,[eax+2] 19:07:40 Note that the same effective address is used for both operations. 19:07:56 this is why it would form a pre-inc/dec and not a post-. 19:08:44 Ok. 19:09:13 And, BTW, I took the liberty of changing [ax] to [eax], because there is no [ax] 16-bit addressing mode. :) 19:09:50 yeah, i noticed that after i did it :) 19:11:09 RISC is not MISC though 19:11:32 does anybody know what Jeff and Chuck are doing these days? 19:12:04 they are making a first person shooter for mac osx 19:12:12 :D 19:12:18 COOL!!! :^P 19:12:23 * blockhead made that up 19:12:27 Chuck is still working on the 50X. 19:13:02 does it exhibit propertys of FTAMFWHAOFM? 19:13:09 Jeff has recently popped back up on the ColorForth mailing list. As I understand it, he's got a regular day job now. I don't know what he's doing though. 19:13:20 LOOPHOG: Wha??? 19:13:37 permission to cuss sir? 19:14:14 kc5tja: you got ops. you must be "sir" :D 19:14:23 Faster Than A Mother Fucker With His Ass On Fire Mode 19:14:31 SIR!!! :^) 19:15:08 :) 19:15:21 omfg, this piece of crap is _finally_ working 19:15:45 * blockhead imagines training fecal matter to perform household chores for him 19:16:25 There is nothing about the 50X that is substantially different from the 25X, except it has twice as many processors on it. 19:16:37 Unfortunately, that's the only detail that Chuck would let loose to the public. 19:21:06 it would be fun to play with one, if i even knew how to hook it up 19:23:35 Well, if the ForthBox Kestrel sells fairly well, I do intend on releasing a ForthBox Raven, which uses a MISC-architecture processor at its core. 19:24:07 can you tell me a little bit more about the kestrel? 19:24:23 LOOPHOG: http://www.falvotech.com/cgi/fsforth/ForthBoxKestrel 19:26:31 :) 19:26:51 i'm reading it 19:27:43 Cool. 19:30:53 under $100 heh? i'd probably take one 19:31:50 :) 19:32:16 I'm working to keep the kit price low. 19:32:29 right on 19:32:32 But the way things are going with it, it'll probably come close to $70 to $85 or so. 19:32:43 * chris-xp downloads Acid Xpress 19:32:46 Which still satisfies my goal, but it's not as cheap as I was hoping for. 19:32:52 what is Acid Xpress? 19:33:00 sometimes, making loop music just plain is FUUN 19:33:09 oh that 19:33:41 chris-xp: what software you using? 19:33:46 (for loop music) 19:34:10 acid xpress 3 19:34:11 :) 19:34:17 i don't think that the 2600 used the 6502 to generate video, it had a precursor to the Antic 19:34:21 just downloading it. 19:34:33 used it at my friends house .. quite fin. 19:34:36 fun, even 19:34:43 can you make any kind of sound in it that you would find in club/rave music? 19:35:15 yeah 19:35:19 is this a trial version? 19:35:30 no, the xpress versions are fully functional and free 19:35:32 LOOPHOG: No, the 6502 generated the video. 19:36:14 but didn't it have player missle graphics? 19:36:35 LOOPHOG: While the video chip was more sophisticated than the one I'll be using, the CPU ultimately was responsible for rendering the display. The only thing the TIA chip did was render sprites (and even then, only one scanline at a time), plus up to 80 pixels of "bitmap" data. 19:36:54 LOOPHOG: It had nothing more than *dots* for the missles. 19:37:08 --- join: Zymurgy (zymurgy@delgw.delfax.net) joined #forth 19:37:09 The 'players' still had to be stuffed video data from the CPU. 19:39:20 can't say i've ever tried to program a 6502 b4 19:39:26 i mean a 2600 19:39:43 still it would be cool 19:40:05 i would probably get one 19:41:14 --- quit: Zymurgy ("Leaving") 19:41:41 I still play my favorite games on my stella emulator. 19:41:49 I still prefer them (mostly) over alternative game platforms. 19:43:08 i like some of those old games pretty well 19:44:55 chris-xp, are there a lot of different beats in it that you can pick? 19:48:15 --- quit: I440r ("Leaving") 19:49:28 LOOPHOG: yeah!! 19:49:33 kewl 19:50:00 maybE i will have to kick it in the tires 19:54:58 --- nick: LOOPHOG -> David_Hahn 19:55:45 * blockhead can loop again :D 19:56:15 argh :) 19:57:36 i'll leave the hampster by the pile and if he gets cancer then i will know that we have a problme 19:58:06 :o 19:58:31 can't you just use some cheek cells and look to see if they go malignant? 19:58:33 --- nick: David_Hahn -> LoopHog 19:59:35 Hmm... what's a good cell-phone that supports MP3 ringtones? 20:02:01 Hmm... whats a good 1U server under $800? 20:05:07 madgarden, ewww 20:05:14 Hmm... whats a good robot to fix breakfast in the morning 20:05:22 What? I want a frickin' Godzilla roar, OK? 20:05:23 :P 20:05:37 chuckle 20:05:45 i would put Venetian Snares on there 20:07:03 How about venetian blinds? That would look cool on the display. "What, you peeking at my screen? *schickt* Nope!" 20:14:51 madgarden: what 20:19:46 :) 20:23:03 wut about MixMeister Pro 5.1.2 20:25:49 --- quit: ASau () 20:26:07 might be a good one, dunno. 20:26:15 downloading acid pro 4 w/crack :) 20:26:29 Damn it, I haven't even started implementing instructions yet, and already the code is getting really, really hairy for the CPU emulator. 20:26:54 --- join: RIAA (arke@melrose-251-251.flexabit.net) joined #forth 20:27:33 chris-xp: We warn you to not download that. 20:27:38 chris-xp: So what did you think of that 10 CD Rush box set I ripped to MP3 and sent you? 20:27:43 RIAA: it would be in your best interest. 20:27:44 --- quit: RIAA (Client Quit) 20:28:02 LOL 20:28:12 kc5tja: asshole :) 20:28:19 >:) 20:28:40 kc5tja, don't make me call the Royal Canadian Mounted Police on you. They'll trot their asses down there and give you a stern lecturing! 20:28:59 madgarden: Oooo...I'm scared. :) 20:29:04 :) 20:29:08 clip clop, clip clop! 20:29:15 Actually, who will do the lecturing, the horse or the mountee? 20:29:36 The horse will just poo on your sidewalk. 20:29:48 OMG HOW SCARY! 20:30:09 chris-xp, i only saw 3.0 20:30:16 --- join: RIAA (arke@melrose-251-251.flexabit.net) joined #forth 20:30:27 I see you are mocking us. 20:30:29 on c/net download.com anyway 20:30:50 RIAA, hi arke 20:30:51 But you will see that your actions shall have their consequences. 20:31:06 kc5tja: and by the way, there never was a 10-CD boxed Rush set 20:31:14 slava: excuse me? 20:31:39 Our institution will keep a closer look on this chatroom. 20:31:53 This has not been the first offense. 20:31:58 --- quit: RIAA (Client Quit) 20:32:05 may the fleas of a thousand camels infest your armpits 20:32:14 LoopHog: :P 20:32:25 lol :) 20:32:26 --- join: RIAA (arke@melrose-251-251.flexabit.net) joined #forth 20:32:31 --- quit: RIAA (Client Quit) 20:32:45 --- join: RIAA (arke@melrose-251-251.flexabit.net) joined #forth 20:32:51 LoopHog: I saw that. 20:32:53 --- quit: RIAA (Client Quit) 20:32:53 now that's getting old 20:33:18 --- join: FBI (arke@melrose-251-251.flexabit.net) joined #forth 20:33:21 --- nick: FBI -> JohnDoe 20:33:34 Cool, now I will be able to google for "forth camels armpits" and find this chat log. 20:33:38 excuse me, has anybody seen Rovert Oestling lately? 20:34:09 JohnDoe: he moved to Denmark after admitting his devotion to it 20:34:22 it being Denmark 20:34:48 Interesting. Do you know how I might be able to contact him? 20:34:48 his new name is Robert Himmelsterling 20:34:52 I am a very close friend of his 20:35:00 Sonarman: oh, really? 20:35:43 hrm, interesting to note Robert 20:35:51 JohnDoe: sure, his AOL screenname is boost87 20:35:51 --- nick: JohnDoe -> FBI 20:36:00 kc5tja: bill, Robert is our man. 20:36:03 --- quit: FBI (Client Quit) 20:37:08 --- join: KGB (arke@melrose-251-251.flexabit.net) joined #forth 20:37:15 i go now i shall being at walking of dog 20:37:19 anybody speak russian? 20:37:24 --- nick: blockhead -> CIA 20:37:33 --- nick: Sonarman -> blockhead 20:37:33 myet 20:37:35 --- nick: LoopHog -> NSA 20:37:35 nyet :) 20:37:35 i speak no good english 20:37:40 --- nick: KGB -> Sonarman 20:37:44 :) 20:37:47 who's who? 20:37:49 --- quit: Sonarman (Nick collision from services.) 20:37:52 BWAHAHA 20:38:04 --- nick: blockhead -> b1ockhead 20:38:15 --- nick: CIA -> RIAA 20:38:17 --- join: KGB (arke@melrose-251-251.flexabit.net) joined #forth 20:38:23 asshole. 20:38:37 da :) 20:38:41 dare you to /nick arke 20:39:16 --- nick: RIAA -> blockhead 20:39:41 dang. now I'm all confused 20:39:46 'night all 20:39:52 --- quit: blockhead ("Client Exiting") 20:39:52 wtf 20:39:56 who's who 20:40:01 --- nick: b1ockhead -> chris-cyg 20:40:06 --- nick: KGB -> s1ava 20:40:08 No idea. 20:40:12 --- nick: chris-xp -> arke 20:40:42 --- nick: chris-cyg -> Sonarman 20:40:49 now i'm gone 20:41:08 * s1ava ponders. 20:41:19 --- nick: s1ava -> kcStja 20:41:43 and bye 20:42:27 --- quit: kcStja (Client Quit) 20:42:39 wtf 20:42:44 it was supposed to say THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK 20:45:06 --- quit: qFox (Read error: 54 (Connection reset by peer)) 20:47:38 --- join: error (arke@melrose-251-251.flexabit.net) joined #forth 20:47:44 Please press ALT+F4 to rehash buffer and to receive further messages. 20:47:48 --- quit: error (Client Quit) 20:49:33 --- quit: NSA () 20:49:40 well, maybe i should try it somewhere were there's actual windows users. 20:49:50 #java is full of arrogant morons usually 20:49:58 go troll there its fun 20:51:02 --- join: LOOPHOG (jdamisch@207.191.240.32) joined #forth 20:51:51 not working... 20:51:55 :( 20:53:20 keep trolling 20:53:41 that was fun 20:55:05 Nice try, but I'm still here. 20:55:25 :) 20:57:55 ba-ba ba ba ba, I'm lovin' it! (tm) 20:57:56 Yay. I got LDY #$xx/#$xxxx, LDX #$xx/#$xxxx, CPY #$xx/#$xxxx, and CPX #$xx/#$xxxx instructions done. :D 20:58:08 This is going to take longer than I thought. :D 20:58:37 :) 20:59:42 what r u doing? 21:00:35 LOOPHOG: 6502 or 65816 emulator (not sure which one..) in C 21:00:35 :) 21:00:49 why 21:04:29 BECAUSE ITS FUN :) 21:04:29 whatever floats your boat dude 21:04:29 LOOPHOG: 65816 emulator, because I need to make a software model of the Kestrel. 21:04:29 (for software debugging purposes) 21:08:19 :) 21:11:29 all of the software is FORTH isn't it? or most of it? 21:14:34 About 50% of it will be written in Forth. 21:14:42 The remainder will be written in pure assembly language. 21:15:30 so, its easier to dubug the assembly language part if you run it in a emulator, so you say? 21:15:46 I think it is. 21:17:34 I can do some pretty advanced debugging with an emulator, things I can't do in the real hardware. 21:17:51 (like single-step through the very BIOS of the machine itself) 21:21:33 ok 21:29:35 --- join: I440r (~mark4@64.3.99.130.ptr.us.xo.net) joined #forth 21:30:17 hp 21:30:23 hi 21:31:07 :) 21:31:18 Hello. 21:41:15 hi I440r 21:41:31 i'm going to have to split, i have a program i need to install. 21:42:01 .. 21:42:09 --- quit: LOOPHOG () 21:43:42 hi arke :) 21:44:08 :) 21:53:07 loops are fun 21:57:29 * arke is away: TV and zZzZ 22:00:32 --- quit: arke ("Leaving") 22:04:43 --- join: Serg (~z@212.34.52.142) joined #forth 22:05:45 hi ! 22:05:49 hi I440r !! 22:06:05 serg!! 22:06:06 :) 22:13:02 how's yor work ? 22:13:07 any bright ideas ? 22:13:22 * Serg almost compleetly converted to Perl ;) 22:13:57 im working in california now lol 22:19:05 where in california? 22:21:47 ontario 22:21:51 ranco cucamonga 22:21:54 bleh :) 22:23:32 rancho kukarachas ;)) 22:24:40 I440r: what are you creating at work ? 22:24:55 blin, what DO you ;)) 22:25:15 or ARE ? /me is confuzzzed 22:25:41 not creating anything :) 22:25:44 :( i mean 22:26:00 im just auditing atm 22:26:05 locating all sources 22:26:13 locating all tools required to build same 22:26:21 attempting to build shit etc etc 22:26:30 doccumenting what needs to be done for all of the above 22:26:36 boring shit but its paying the bills 22:26:46 bleh =8{}~ 22:26:56 vomit smiley 22:27:04 ya lol 22:27:16 =8{Z} 22:27:26 what's you see in this smiley ? 22:27:32 :) 22:28:15 it's a cursing smiley, Z is lightning bolt in a mouth ;)) 22:29:22 I think it'd be better with =>8{Z} 22:29:35 why ? 22:29:43 why > ? 22:30:10 Because most people's eyebrows furl downwards when they're angry. 22:30:21 ;) 22:30:29 makes sense 22:30:47 8(@) 22:30:49 ? 22:31:20 Fear. 22:31:33 or utter, dumbfounded amazement. 22:31:43 ;)) 22:32:26 our English teacher was saying: "Have you mouse in your mouTH ?", then we were exercising TH sound 22:32:40 so @ is that mouse ;) 22:33:53 im off to bed now, ill check into it more tomorrow. 22:33:58 woops 22:34:12 ianp: You can check into it, but you can't check out of it. :D 22:36:22 at the FORTH MOTEL 22:37:50 * Serg makes syntactic tokens out of smileys ;)) 22:50:42 lol make a new language called smiley 22:52:16 no, i'd better finish my "TeX in Forth" core ;)) 22:53:03 actually not TeX, but general-purpose words to mix data and code 22:53:39 1st attempt failed coz of TIB 22:53:48 next will be purely char-by-char 22:57:36 I440r: you use Gentoo Linux ? 22:58:01 i do now 22:59:53 i bought it too - i nearly screwed my mind installing it ;(( 23:00:04 --- quit: Sonarman ("leaving") 23:00:13 lol 23:00:21 its easy to insall if you follow the instructions 23:00:22 it was great gotcha ! 23:00:27 did you do a stge 1 ? 23:00:33 no, i did 3 23:01:07 lol do a stage 1 install 23:01:29 over GPRS, 3Mb = 1$ ;(((( 23:01:46 oh 23:02:15 now i set up KNOPPIX 23:02:41 it's "installer" wrecked my partitions table, so i backed up and wait for crash 23:05:40 XP runs, linux FDISK sees _no_partitions at all, LILO says it's contradictive, but does its job w/ -P ignore 23:07:23 ouch 23:07:26 --- join: arke (~Chris@wbar8.lax1-4-11-099-104.dsl-verizon.net) joined #forth 23:07:45 hi :) 23:13:44 --- join: crc (crc@1Cust147.tnt1.levittown.pa.da.uu.net) joined #forth 23:37:33 lalalaaaa. 23:43:46 --- quit: Serg () 23:59:59 --- log: ended forth/04.03.17