00:00:00 --- log: started forth/04.10.06 00:26:18 --- join: wossname (~wossname@rn-v1w5a06.uwaterloo.ca) joined #forth 00:30:21 * Serg_penguin is writing log analysis script in Perl 00:31:11 * colorg doesn't have Perl in his Linux distro 00:31:34 i write on Win32 using old ActivePerl 00:32:05 --- quit: Herkamire ("bed") 00:42:15 kc5tja: You OK dude? 00:42:33 Yeah, why? 00:43:01 Your Forth stamp idea. You were so quiet I decided to check on you :o) 00:43:21 Yeah. 00:43:30 Well, they implemented every idea I had. 00:43:35 AVR microcontrollers, Forth, etc. 00:43:36 * kc5tja sighs 00:43:39 Everything. 00:44:45 All my life, I've been looking for something I can market myself with. I thought I had something with the ForthStamp idea. Pity. 00:44:53 hardware is tough for a startup. 00:45:22 Software is just as hard. 00:48:49 Well, as President, I'm going to kill Microsift, so don't lose hope on software :o) 00:49:44 I really feel thier position is horribly unnatural 00:51:46 Uh oh -- if I suddenly get disconnected, it's because we're having some rolling blackouts. 00:52:23 hehe 00:52:33 we have a diesel generator in the basement for that 00:52:41 fridge_: I'm home. 00:52:48 ahh, thought you were at work 00:52:48 And we don't have basements here in California. 00:52:56 * kc5tja is off tonight and tomorrow. 00:53:08 well, it isn't really a basement, it's a cordoned off section of the lower carpark 00:54:39 no houses in australia seem to have basements 00:54:43 or attics for that matter 00:55:13 i want a tshirt that says forth if honk then 00:55:30 love 01:22:29 * kc5tja just thought of another crazy idea. 01:23:34 Digital communications over an NTSC channel. At 60 frames per second, packing 32 bytes per scanline, you can get 4.0Mbps (approximately). Since amateur radio operators are all about re-using existing equipment ad nauseum, and since amateur TV equipment is already commercially available, this ought to be a salable idea. 01:23:40 * kc5tja will need to do the research. 01:28:16 yeah, that's crazy 01:36:45 * Serg_penguin is EAGER for digimode broadcasts RX'able by comp 01:37:12 the only one is RTTY by very few radio stations 01:44:14 --- join: saon (Ecoder@c-24-129-95-254.se.client2.attbi.com) joined #forth 01:45:17 --- quit: wossname (Read error: 60 (Operation timed out)) 01:45:24 I just walked a guy through is first osimplay instruction 01:45:57 h 02:03:06 colorg: It's not as crazy as you may think. 02:03:27 Amateur radio entheusiasts are world reknowned for their frugality. 02:03:44 An ATV transmitter is basically just an AM radio transmitter with a 6MHz bandwidth (versus 3kHz for voice-grade transmitters). 02:04:07 The only thing the ATV transmitter would require is that the voltages fed to it conform to NTSC specifications. 02:04:41 And a network interface unit for this kind of bandwidth is actually cheaper to build (based on my initial research) than a 9600bps TNC! 02:04:50 Serg_penguin: You don't have PSK31 in your area? 02:05:50 Serg_penguin: RTTY, HF Packet, and PSK31 can all be received and transmitted via the PC sound card. 02:05:55 Honestly, you're totaly over my head. 02:13:14 --- quit: tgunr (Ping timeout: 14400 seconds) 02:15:56 --- join: crc (crc@51-pool1.ras11.nynyc-t.alerondial.net) joined #forth 02:21:44 --- quit: saon ("Leaving") 02:30:35 yes, i heard some of PSK31 in RU ham mags 02:37:16 --- join: wossname (~wossname@rn-v1w5a06.uwaterloo.ca) joined #forth 03:15:57 brb -- getting food 03:15:57 --- quit: madwork (Read error: 232 (Connection reset by peer)) 03:15:57 --- quit: onetom (Read error: 104 (Connection reset by peer)) 03:29:01 that makes me hungry 03:29:50 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 03:41:17 --- quit: wossname (Read error: 110 (Connection timed out)) 04:07:23 eforth init code puts the address of COLD in esi and does jump (%esi) 04:08:18 jump *(%esi) actually 04:09:15 Why can't it just jump to CODE directly? 04:09:54 jump *(%esi) is __NEXT 04:10:15 COLD, not CODE 04:10:23 sorry 04:10:35 * crc is tired after a long night at work 04:11:00 what threading model is eforth? 04:11:12 SO, it fetches the address at COLD: and jumps there. That's the address of DOLIT 04:11:19 * crc likes stc :-) 04:11:45 crc it uses ENTER and NEXT, it's not stc, no jsrs 04:12:10 ok 04:13:00 Thanks for listening. I get the indirection to DOLIT now. DOLIT is machine code. 04:13:18 You were a great listener :o) 04:13:24 :-) 04:14:12 I think I'll have an eforth that builds with just a shell in about another day 04:14:31 maybe insertable into Linux kernelspace. 04:14:50 cool 04:15:06 I'd like to get RetroForth running in Linux kernelspace someday... 04:15:59 It'd make a nice debugger 04:16:00 I got my 3-stacker in there. On vt1 04:16:17 I know; I've looked at it in the past 04:16:24 WHen it dies it stays dead though :o) 04:16:26 Quite a nice feat 04:16:33 :o) 04:16:34 Don't kill it ;-) 04:16:47 Doc, it hurts when I do this...... 04:17:05 H3sm isn't robust by any means 04:17:13 Neither is RetroForth 04:17:33 Which is why I'm beginning a major code cleanup/debugging effort 04:18:01 eforth is fairly non-experimental design-wise 04:18:37 I've never looked into eforth's design 04:19:33 Well it's a regular forth with dovar and dolit and next and so on 04:20:21 ok 04:20:24 The threading scheme I used in the C version of H3sm was an accident. 04:20:30 * crc should take a look at eforth again 04:20:44 What was the threading scheme you used? 04:21:23 it was like virtual stc or something. Some of the ugliest C ever written. 04:21:43 sounds ... interesting 04:21:59 I haven't touched C in over a year 04:22:15 (Though I do use libraries written in C sometimes) 04:22:21 I use osimplay for C-type stuff 04:23:02 I gave away my K&R2 when I got osimplay working 04:23:22 I still have a copy that I refer to sometimes ;-) 04:23:31 Helpful when studying other people's code 04:23:37 yeah 04:23:44 * crc is quite happy with Forth & assembly these days 04:25:03 osimplay was as Forthy as I could do a 1-stack language. 04:25:26 I should take a look at osimplay 04:25:46 ftp://linux01.gwdg.de/pub/cLIeNUX/interim 04:25:48 It might be fun to play with 04:26:05 Forreal.tgz has a 1200 byte kernel in osimplay 04:26:29 What can that 1200 byte kernel do? 04:26:53 twiddle 3 VGA cells based on 3 different interrupts :o) 04:26:59 in pmode 04:27:03 ok 04:27:40 i.e. the most miniscule excuse imaginable for the use of the term kernel 04:27:51 I dislike interrupts... 04:28:24 I've heard "kernel" applied to "hello, world!" type things before, so your's is at least more capable than that 04:28:34 yeah, they have to be dealt with ;o) 04:29:17 In RetroForth/Native, I have an empty IDT (48 ints), you can hook Forth words to interrupts 04:29:23 Mine is on the metal, pmode, 100% original, 100% osimplay6 which is 100% bash, and not looking over it's shoulder at unix 04:29:55 but it doesn't have much 04:30:03 no processes, no MM... 04:30:07 RetroForth/Native is a bootable Forth system. No *nix influence that I can see 04:30:30 A handful of drivers 04:30:40 I used ENTH to bang on a floppy, I don't recall if I got Retro booted 04:30:45 Blocks (which are awesome, despite what I440r thinks...) 04:31:01 Retro still has a crappy boot sector 04:31:01 Blocks are basic :o) 04:31:09 Blocks are great 04:31:18 My boot sector is 14 bytes 04:31:27 I *do* have a multiboot version of Retro now 04:31:33 I used to have the osimplay in my .sig 04:32:00 Mine is longer, but it sets up pmode, and the GDT as well as loading the Forth system 04:34:03 What do you mean multiboot? 04:35:00 GRUB, the GRand Unified Bootloader 04:35:26 It's a standard that allows multiple kernels to be booted by one boot loader 04:35:58 It's bigger than I'd like, but it is very reliable 04:36:42 OK 04:37:05 Is Retro in asm? 04:37:16 Asm + Forth 04:37:29 I've been slowly moving more and more of it into Forth 04:38:03 Only a handful of words (the minimal compiler, interpreter, key, emit, bye) are in assembly 04:38:18 I figure about another day on eforth --> osimplay 04:38:27 Though there is a fair amount of hand-compiled code in the Forth part 04:38:44 * crc will have to try your osimplay'd version of eforth once its done 04:39:48 it's about 100 times slower than gas to assemble, 93 seconds versus .6 seconds for a 14k Forth 04:40:17 but the result is basically bitwise identical 04:40:45 nice 04:40:54 eforth is 14k? 04:40:57 --- join: wossname (~wossname@rn-v1w5a06.uwaterloo.ca) joined #forth 04:41:17 without the 160 Linux syscalls I added. With em it's 19k 04:41:26 That's 9-10k bigger than RetroForth :-) 04:41:32 heh 04:41:37 19k is ~11k bigger 04:42:23 with like a floppy and HD drivers? 04:42:47 shit that can be osimplay in no time 04:42:52 The entire native version (with hard drive, serial port, parallel port, block editor) is about 9k 04:43:08 Only about 2k is written in assembly :-) 04:43:17 I'm converting the wrong Forth :o) 04:43:18 back 04:43:19 It *should* be easy to port to another assembler 04:43:31 It's NASM? 04:43:36 It's in FASM 04:43:57 Converting to NASM is just changing a few macros, and a couple of directives 04:44:20 I have a gasX script for gas-->osimplay, gets about 80% of it 04:44:21 * crc can whip together a NASM version if you want it 04:44:34 cool 04:44:46 I've been thinking of writing a version in gas 04:44:56 and a MASM script I used to bang on colorforth some 04:45:12 where's the latest retro? 04:45:47 "latest retro" -- oxymoron if I've ever seen one. :P 04:45:56 *SMACK* 04:46:10 http://www.retroforth.org/release 04:46:36 Right after eforth :o) 04:46:41 ciao 04:46:44 --- quit: colorg ("ircII EPIC4pre2 cLIeNUX. Can you say that?") 04:47:34 brandnew 04:47:37 you're retro 04:48:44 :-) 04:50:00 I need to get RetroForth/Native to a useable state soon; I'm growing tired of Linux 04:55:42 In Soviet Russia, Linux grows tired of YOU! 04:55:44 ;) 04:55:49 Sorry -- I'm on a food high. 04:56:19 mmm. food 04:56:29 With apologies to Serg_penguin as well; the "In Soviet Russia" bits are parodies of a Russian comedian named Yakov Smirnov (I believe; well, *I* enjoyed his humor at least) 04:56:53 :-) 04:57:20 kc5tja: what version of L4 will you being using with FTS/Forth? 04:58:00 I was planning on using Pistachio(sp?), but Fiasco is a viable alternative too. 04:58:31 http://c2.com/cgi/wiki?InSovietRussia 04:58:39 ok 04:58:50 I've been looking at Pistachio 05:00:21 Why a microkernel as opposed to a monolithic kernel? 05:00:39 In Soviet Russia, Janet's Nipple exposes YOU! 05:00:41 * fridge_ giggle 05:02:37 --- quit: fridge_ ("Leaving") 05:07:55 Better modularity, better maintainability, more flexible and dynamic, easier to test, . . . 05:08:19 Can you directly access the hardware? 05:08:41 If you have suitable permission to do so, yes. But you still run as a ring-3 program. 05:08:51 interesting 05:09:07 L4 is hierarchially arranged too, much like a cache kernel. 05:09:12 nice 05:09:17 There is one master task which owns all of physical RAM. 05:09:33 If you want to manage a portion of physical RAM, you need to allocate memory by asking it for a chunk. 05:09:50 It will (if it thinks it can) apportion a chunk of its resources to your task. 05:10:00 Note: there is a natural law of conservation of resources. 05:10:24 In that respect, resources are never created nor destroyed: they only change hands as far as who manages them. 05:10:28 Likewise with raw I/O. 05:10:58 Although the rigidity isn't quite there for raw I/O (you have one master memory task, and then one "root" task responsible for spawning all other tasks that you need). 05:11:14 It is nonetheless the documented philosophy. 05:11:25 It sounds pretty good 05:12:00 L4 totally rules as a microkernel. And it's fast. 05:12:02 How big is L4? 05:12:16 I can't answer that. That depends on what implementation you go with. 05:12:31 The original L4/x86 (which is no longer maintained and has an obsolete API) assembled to 12KB. 05:12:31 ok, I guess that makes sense 05:13:00 12k isn't too bad 05:13:03 The newer versions are written in a strict subset of C++, and offer a new API and new features. I would predict that they compile to somewhere in the 32KB to 64KB range, which isn't TOO bad for something written in C++. 05:13:30 Hmm, I'd need a C++ compiler to build it then 05:13:39 GCC 05:13:59 I don't have GCC installed right now 05:14:02 Ahh 05:14:15 All the open source L4 variants, I believe, rely on GCC's C++ compiler. 05:14:33 ok, I'll have to dig out the CD with GCC on it then 05:14:44 And, you know, I've actually been thinking, maybe I should just not persue Forth for Linux, and just concentrate instead on FTS/Forth for L4 directly. 05:14:48 I mean, Linux already has gforth. 05:15:05 And a whole bunch of other Forths too :-) 05:15:10 And GForth is the closest thing to a standard Forth for Linux 05:15:24 Yeah, but you gotta admit, for a Forth, gforth is *popular* for Linux. 05:15:27 * crc doesn't use GForth anymore 05:15:29 True 05:15:38 I like GForth all around. 05:15:50 I just wanted something that I can build self-contained applications with. 05:15:59 But I've been thinking that that isn't quite the right way to go about things. 05:16:19 Maybe I should just abandon the Linux port of FTS/Forth, and just start developing Dolphin right away. 05:16:39 Dolphin being the old OS you were working on years ago? 05:16:45 yep 05:17:02 I remember reading about it... 05:17:10 never tried it though 05:17:30 Use L4, make Forth the native language environment that runs under L4, and then code the rest of Dolphin on an as-needed basis all in Forth. 05:17:40 cool 05:17:42 Dolphin never existed in any state where you could try it. 05:18:05 I guess I didn't miss anything then. 05:18:36 I've been working on RetroForth/Native a lot, but it's rather buggy at the moment 05:18:47 If you could imagine a version of L4 that didn't support the MMU, that's basically what Dolphin evolved into. A flat, single-address-space microkernel. 05:18:52 It worked *damn* well. 05:19:04 single address space? 05:19:17 One address space. 05:19:26 No processes, only threads. 05:19:37 ok 05:19:47 I dislike address spaces 05:20:01 I don't dislike them. 05:20:07 They're necessary in many cases. 05:20:28 such as? 05:21:05 you have a RAM disk filesystem you want to use, on a 32-bit architecture like x86. 05:21:13 You allocate 3GB of space to the RAM disk. 05:21:20 That's very nearly the entire address space for a single program. 05:21:37 In a single-address-space system, you can't use any other processes while this filesystem is running. 05:21:46 In a multi-address-space system, it's a trivial matter. 05:21:55 ok, good point 05:22:19 I *prefer* single address space then 05:22:31 Oh, well, I don't think there is anyone here who would disagree. 05:22:39 SAS OSes are definitely preferred all around. 05:22:43 :-) 05:22:56 But MAS overcomes the native CPU's address space limitations. 05:23:16 I was toying with the idea of using multiple address spaces in a future version of Dolphin to hold untrusted software. 05:23:27 All trusted software (controllable by the user) would all run in the same address space. 05:23:33 Hence, trusted software would run faster. 05:24:52 ok 05:25:08 --- quit: Serg_penguin () 05:25:21 Do you have any idea how a microkernel-based OS would run on older hardware? 05:25:46 (e.g., a 386 or 486 with 1-4MB ram and a small hard drive) 05:25:50 Well, Dolphin achieved over 1000 task switches per second on a 386SX-16 with 4MB of RAM (of which it used only 1.5MB). 05:26:02 wow 05:26:44 L4 is very Dolphin-like in overall capability, except that it also supports the CPU's MMU. I don't know how much of a hit the MMU support incurs, but the synchronous IPC model it has ought to make for some nice performance numbers. 05:26:55 ok 05:27:09 But then again, does L4 even *support* the older CPUs? I'm not sure that it does. 05:27:16 hmm... 05:27:21 I know the L3 supported the 486, but L3 isn't anywhere to be found. 05:27:26 You may have to hand-hack L4 to support the 386. 05:27:48 I can do that :-) 05:28:06 * crc loves his 386 05:28:21 My laptop is a 486 05:28:43 My laptop is a 600MHz Celeron 05:29:20 486 at 33MHz, 8MB of RAM, monochrome 640x480 VGA screen only, floppy drive, with no internal networking. 05:29:25 Though I do most of the testing of RetroForth/Native on the 386 and a Pentium 05:29:42 Although if I get it up and running again, I'm going to build my own UWB-like device for it. FCC be damned. :) 05:29:42 I remember laptops like that... 05:29:46 :-) 05:30:15 * crc has an old 8086 laptop... I'll be running the 16-bit RetroForth/Native on it soon 05:30:45 Haha 05:30:49 What use do you have in mind for UWB? 05:31:03 Just some homebrew RF-emitting devices that have really low power. 05:31:15 About the same amount of power as a cordless drill puts out. :) 05:31:29 ok 05:31:59 Plus it'll be fun to play with the concept. 05:32:03 yeah 05:32:18 I've played around with low-power rf stuff in the past... 05:32:41 To distinguish one UWB radio from another, instead of tuning by frequency, they "tune" by correlation sequences. Most UWB devices have 1024-bit correlation sequences. 05:33:02 (This means that a single 1 or 0 to transmit literally takes 1024 bits on the air) 05:33:43 * kc5tja will use only 8-bit correlation sequences. So I fully expect my device to get a lot of RF interference from other devices. But hey, that's the life of an FCC Part 15 device. 05:33:54 yup 05:34:19 1024 bits is excessive for hobby stuff I think 05:34:21 --- join: madgarden_ (~madgarden@Kitchener-HSE-ppp3576798.sympatico.ca) joined #forth 05:34:53 Yeah. Having 1024 bits of correlation is equivalent to 30dB of processing gain (e.g., it mimicks the behavior of an antenna having 30dB of gain). 05:35:17 I suspect 8 bits will have something closer to 13dB. 05:35:30 Still quite respectable, all things considered. 05:36:32 I saw your radio tuner code; it's quite nice 05:36:37 --- join: rob_ert (~robert@c-bf5a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 05:36:38 I figure I can use the ATmega8 microcontrollers for these too. 05:36:47 (re: old computers ;) 05:36:49 Thanks. 05:37:20 --- quit: onetom (sendak.freenode.net irc.freenode.net) 05:37:20 --- quit: swsch_ (sendak.freenode.net irc.freenode.net) 05:37:22 --- quit: warpzero (sendak.freenode.net irc.freenode.net) 05:37:22 --- quit: madgarden (sendak.freenode.net irc.freenode.net) 05:37:40 * rob_ert is using Minix, on a 6MB 386sx25 05:37:46 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 05:37:46 --- join: swsch_ (~stefan@p5091F975.dip.t-dialin.net) joined #forth 05:37:46 --- join: warpzero (~warpzero@dsl.103.mt.onewest.net) joined #forth 05:37:52 --- quit: warpzero (Excess Flood) 05:38:09 you have 6MB on a 386? you're lucky. 05:38:18 I only have 2MB on mine :-( 05:38:28 --- join: warpzero (~warpzero@dsl.103.mt.onewest.net) joined #forth 05:38:31 * kc5tja notes that Minix is a microkernel-based Unix clone. 05:38:39 (Plenty big enough for RetroForth/Native though) 05:39:21 crc: Yeah, I know.. this came with 2MB, but I found some old memory stick for it. 05:39:28 It's an IBM PS/1, btw. 05:39:32 cool 05:39:43 Ahh, a tank. 05:39:50 Hmm, I seem to have an original IBM PC floating around here somewhere... 05:39:54 Running httpd and ftpd now :) 05:40:11 I wonder how hard it would be to cram RetroForth onto that beast 05:40:28 It has all of 64k RAM installed 05:40:48 Man, please tell me it ran DOS 1.0. :) 05:40:50 * crc would need to get RetroForth onto a 5.25" disk though. That could be a problem 05:40:54 --- join: fridge_ (~fridge@dsl-220-253-75-187.NSW.netspace.net.au) joined #forth 05:41:05 Actually I ran DOS 2.11 on it for a while 05:41:41 It used to have more RAM, but that was removed for something 05:41:45 Aack -- I bet that consumed a fair chunk of RAM. 05:41:51 It did 05:42:26 I used to play with the crummy BASIC interpreter that was in the ROM too 05:42:41 :) 05:42:59 Where every time you put a character to the screen, the display would blank. 05:43:08 (well, that was a BIOS issue, but still) 05:43:12 Yeah 05:43:24 There's a nice VGA card in it now :-) 05:43:37 And despite the blazingly fast 4MHz CPU, it was slower than a C64 drawing to the screen because of the obnoxious number of CPU cycles the INT 10h API consumed. 05:43:52 I can fit the 16-bit RetroForth into the 64k of ram, and still have enough space to write simple programs :-) 05:44:14 crc: Remember that PygmyForth only used 64KB of program space tops too. 05:44:21 Really? 05:44:23 You could readily write very nice programs in it. 05:44:30 Yes. It's a .COM file! 05:44:45 You *can* use >64k in a .COM file. 05:44:57 oh dos 05:45:04 crc: *only* if you deliberately touch the segment registers. Which Pygmy doesn't do. 05:45:07 Guaranteed. 05:45:13 I didn't know that 05:45:36 --- quit: Raystm2 ("User pushed the X - because it's Xtra, baby") 05:46:01 warpzero: Not just DOS -- DOS 2.11 and earlier. :) 05:47:32 man am i glad i was too young to program back then 05:47:36 I should try to get a DOS 1.0 disk 05:47:46 warpzero: why? 05:48:07 sounds scary 05:48:37 it was fun :-) 05:50:12 i mean DOS is like 05:50:19 barely an OS right 05:50:25 I liked DOS 05:50:51 warpzero: what makes it "barely an OS"? 05:51:05 well no liek 05:51:15 i mean nothing was protected 05:51:17 was it 05:52:18 Nope 05:52:24 Why should it be protected? 05:53:06 well i mean it was basically a bunch of hooks and a command line 05:53:10 So? 05:54:42 It was a nice OS to program for 05:55:00 I miss using it 05:58:00 --- join: Raystm2 (Rastm2@AC8C91DC.ipt.aol.com) joined #forth 06:13:41 --- quit: rob_ert () 06:19:30 --- join: madwork_ (~madgarden@derby.metrics.com) joined #forth 06:20:24 --- quit: crc ("Time for bed... Goodnight!") 06:25:05 DOS is nice to code for :) 06:25:48 is it ? 06:26:39 denial of service? arke is teh scirpt kidie!!1 06:26:52 heh. 06:27:02 xor ax, ax 06:27:06 mov bx, 0x13 06:27:08 int 0x10 06:27:10 BOOM 06:27:20 instant 320x200x256 video mode 06:27:31 he he 06:30:21 and easy to plot pixels too 06:30:51 0xa000:(320*y+x) 06:30:58 --- quit: Raystm2 (Read error: 104 (Connection reset by peer)) 06:31:35 * kc5tja downloaded the L4Ka::Pistachio microkernel sources. Studying them now. 06:31:46 --- join: Raystm2 (Rastm2@ACD08C94.ipt.aol.com) joined #forth 06:32:28 As advertised, it is written in C++. I have yet to see one template though. They're basically using the C++ compiler as a glorified macro engine though. Lots of classes contain precisely *one* field of some integer type, and a bunch of methods that are inlined (should expand to a small handful of CPU instructions each). 06:32:33 All in all, I like it. 06:32:44 And it's a heck of a lot easier to read than the Linux sources, that's for sure. 06:33:52 Indeed, I'd wager that *most* of the code backing L4 is implemented in the headers. :) 06:37:28 :) 06:39:40 WOW. I had no idea that you can use a #define macro in a #include statement. 06:39:46 #include INC_API(tcb.h) 06:40:07 INC_API(x) converts the string x into "x86/x" for x86 machines, "ppc/x" for PowerPC, etc. 06:41:37 new to me too :) thanx kc5tja 06:42:56 Raystm2: INC_API() is a macro defined within L4. You won't be able to use it elsewhere. (Unless you define your own of course) 06:44:51 I was commenting about the usage of #defing in an #include. I've never done that. seems like you could provide porting diffs in #include -- no ? 06:45:23 #define even 06:49:07 I've never done it before either. 06:49:42 --- quit: Raystm2 (Read error: 54 (Connection reset by peer)) 06:53:37 neat :) 06:53:54 I should d/l L4 and take a look at it. 06:54:11 Alan wants me to, and kc5tja is recommending it 06:54:11 :) 06:54:46 adios, school! :) 06:58:26 Well, some functions are necessarily ugly. The system IPC() function is several hundred lines long in and of itself. 06:58:32 But then, it has to be, because it needs to be very fast. 06:58:38 But most functions are relatively clean and simple. 07:06:41 WOW. L4 still only has 7 kernel entry points. I'm rather impressed. 07:07:02 --- join: Raystm2 (Rastm2@ACA04A32.ipt.aol.com) joined #forth 07:15:14 --- quit: wossname (Read error: 60 (Operation timed out)) 07:31:04 OK, I stand corrected about my size estimates for the microkernel. L4Ka::Pistachio weighs in at around asdfasdfjasl;djfas;jfdasl;f;jdf;jdfjd;fasjd;fasjd;asj;dlasf 07:31:12 oops 07:31:19 Damn CTRL-S and CTRL-Q. :( 07:31:27 Anyway, it weighs in at around 135KB. 07:31:46 hehe 07:32:00 So it's about 10x as big as the original L4/x86. 07:32:18 I suppose that is more or less to be expected, though -- new API and support for a lot of things the original L4/x86 didn't originally support. 07:32:27 Plus, of course, GCC doing loop unrolling to optimize for speed. 08:11:39 What's the L4 y'all are talking about? 08:11:43 * swsch_ scratches head 08:14:58 Microkernel? 08:15:14 I remember another coder speaking about it long ago, and that he admired it a lot. 08:17:45 Yes, L4 is a microkernel. 08:17:55 * kc5tja has been thinking of basing FTS/Forth on it, as you might recall. 08:21:42 One thing is for sure, despit the size of the kernel sources, it sure builds amazingly fast. 08:22:36 Does it have a homepage? 08:22:45 * Robert feels like he should check it out 08:25:09 http://www.cse.unsw.edu.au/~disy/L4/ is a good trampoline site. 08:25:48 http://l4ka.org/projects/pistachio/ is the site I grabbed my copy of L4 from. 08:25:55 Thanks 08:27:09 Just remember that L4 is like Unix now: there is no "the" L4 -- you have different flavors of them now. But they're all sufficiently close to each other; for example, the x86 version of L4Ka still has 7 entry points. :D 08:27:15 Just like the original L4/x86. 08:27:30 Isn't there an L4 standard? 08:28:05 An API standard, yes. 08:28:16 No ABI standard though (just like Linux and BSD, for example). 08:28:22 ABI? 08:28:33 Application Binary Interface 08:28:44 E.g., what registers parameters get stuffed in, how system calls are made, etc. 08:30:24 If I wanted to, I could take the API documentation, and make a version for the 65816. :) 08:54:23 --- join: tgunr (~davec@vsat-148-63-4-107.c001.g4.mrt.starband.net) joined #forth 08:55:02 OK, I'm sending buffer data via tcp. Which stack syntax makes more sense... ( "URL" addr len ) or ( addr len "URL" )? 08:55:15 http, rather. 08:55:18 --- nick: madwork_ -> madwork 09:00:49 I don't understand what you are trying to communicate with the stack syntaxes. 09:01:15 Does "URL" refer to a single stack item, or something that is parsed from the input stream, or...? 09:01:28 Yes, it's a single stack item. 09:02:21 I'm leaning towards the 2nd syntax, as I can flow easily into a connection open followed by the send. 09:02:43 Anyway, brb. 09:02:52 Generally speaking, you want the parameter that changes the least often to go towards the top of the stack. 09:03:00 I don't know if that helps you at all. 09:12:02 --- join: arke_sch00l (apache@11.198.216.81.dre.siw.siwnet.net) joined #forth 09:12:55 Going to bed. 09:13:01 OK, good night 09:14:16 good night kc5tja 10:09:07 --- quit: swsch_ ("Leaving") 10:13:59 --- quit: arke_sch00l ("CGI:IRC (EOF)") 10:20:09 --- join: wossname (~wossname@rn-v1w5a06.uwaterloo.ca) joined #forth 10:33:59 woohoo. my car is getting 21mpg for no apparent reason. it used to get 18. 10:38:34 i can actually drive 270 miles on a single tank of gas. that's amazing. :P 10:38:47 why is nobody else impressed. ehhe 10:42:13 --- join: swsch (~stefan@p5091F975.dip.t-dialin.net) joined #forth 10:43:01 Raystm2, take a look at http://xss.de/cf.html 10:46:03 okay :) 10:46:20 how are you today ? :) 10:46:30 good, then it's up for grabs for the next few hours. 10:46:44 Whoever wants it should come and get it while it's there. 10:46:57 There are better places than my homepage to keep things like those. 10:46:57 grabs what? 10:47:05 The file. 10:47:19 oh wow okay It just finished :) 10:47:27 hey thats great :) 10:47:42 least I could do. 10:47:57 I guess we would like to put a copy in the c4th log too is that okay with you :) 10:48:06 otherwise, I'm quite well, no permanent damage done last night. 10:48:18 of course, it's up for grabs. 10:48:47 great. thanks so much . saves me real time :) 10:48:55 that was the idea. 10:49:48 in other news, I need to prepare a short Samba and Postfix course for the weekend, so I'm non-forth-busy tonight... 10:49:49 * Raystm2 re-reading , ahhh reminising :) 10:50:21 I hope it was as good for you, as it was for me :-D 10:50:23 Oh that's cool. must learn samba soon . 10:50:49 I've never been more sasified :) 10:51:19 teaching or learning your course ? 10:52:22 re: samba: http://www.userfriendly.org/cartoons/archives/01mar/uf002820.gif 10:52:43 going ... 10:52:48 teaching, but it's only introductory, user level, what to touch, what not, stuff like that 10:53:09 yes master :) 10:53:57 * swsch hears children coughing 10:54:19 * Raystm2 ut oh 10:55:06 * swsch yes, but only more often and louder 10:55:13 --- join: Herkamire (~jason@h000094d30ba2.ne.client2.attbi.com) joined #forth 10:55:13 --- mode: ChanServ set +o Herkamire 11:02:10 --- nick: OrngeTid1 -> OrngeTide 11:24:50 --- join: hefner (~hefner1@linux2.gl.umbc.edu) joined #forth 11:51:11 --- quit: Raystm2 (Excess Flood) 11:52:08 Hmm...sleep just isn't coming to me. 11:53:16 --- join: Raystm2 (Rastm2@ACA04A32.ipt.aol.com) joined #forth 11:53:21 kc5tja, need your opinion again. 11:53:40 What's up? 11:53:41 HERE ALLOT C, etc... 11:53:57 I've got a chunk of data I want to operate on. 11:54:07 And in Forthy, you can't directly manipulate the dictionary. 11:54:25 So, I want words for doing HERE etc. that operate on this memory. 11:54:44 I'm wondering if using these same words is appropriate, or should I use something like DATA.HERE 11:55:18 I don't think there is a good answer to that. 11:55:45 Would using HERE ALLOT C, C@ C! etc. be acceptable if you were working in this situation? 11:55:48 here allot and c, need to refer to the same memory regeon 11:55:53 Yep. 11:56:08 It's just that this memory region is _never_ the dictionary. It's just memory. 11:56:10 C, places a byte into the dictionary. 11:56:12 , places a word. 11:56:33 madwork: by dictionary you mean compiled code? 11:56:37 The dictionary is protected from user manipulation by these means. 11:56:40 Yes. 11:56:43 (Herk) 11:56:47 that's fine 11:57:01 c, and , etc are not garanteed to be able to compile code 11:57:08 These words would just be used for composing various buffers and data structures. 11:57:14 many forths have a seperate memory space for compiled code 11:57:15 Ahh, OK... 11:57:23 or at least that's the way ANS describes it 11:57:37 Great then. I'll use the standard names. 11:58:07 you use COMPILE, or some such to append the compiled code section. 11:58:19 I see. 11:58:37 I mean, I am creating my own dialect here, but I don't want to make it too wonky. 11:59:06 0 constant here 11:59:06 11:59:06 : allot 11:59:06 here + dup data.size <= over 0 >= and 11:59:06 if 11:59:07 ['] here (is) 11:59:09 else 11:59:11 abort" out of bounds" 11:59:13 then 11:59:15 ; 11:59:24 (because everyone likes to see code) 11:59:26 :) 12:00:12 mmm.. CODE! 12:02:39 uh... you can't make HERE a constant 12:02:50 Sure I can. 12:02:51 :P 12:03:13 My constants are all really just behaving like VALUEs. 12:03:31 why do you call it a constant if it changes? 12:03:35 Herkamire, unless there's some other reason? 12:03:56 * Herkamire looks up constant in the dictionary to make sure he hasn't lost his mind 12:04:47 Win32Forth output: 12:04:47 0 constant test ok 12:04:47 11 ' test >body ! ok 12:04:47 test . 11 ok 12:05:19 Anyway, I made a : value constant ; word, just for you. ;"> 12:05:29 nice 12:05:42 I guess I've gotten used to constants being... well constant 12:05:56 : constant create , does> @ ; 12:05:57 you aren't into variable constants? :) 12:06:00 in my forth constants in definitions are compiled to native code. 12:06:15 if you change the constant later, the native code still produces the old value 12:06:19 is that like a dynamic static? or icy hot? 12:06:19 Yes, that's how I'd do a really constant constant. ;) 12:07:16 ie you can change them if you want, but it likely won't do anything unless/until you recompile 12:07:24 : really.constant : postpone literal postpone ; ; 12:07:26 ;) 12:11:32 ok, that's an hour of work. 12:11:39 I think that should be enough 12:11:50 when do I get to play!? 12:15:30 --- join: swsch_ (~stefan@p5091F504.dip.t-dialin.net) joined #forth 12:16:51 Hey swsch your back :) I put the 'conversation' on Herkamires server log page 12:17:10 * Raystm2 thanx Herkamire for valuable service :) 12:17:32 for the c4th audience :) 12:19:08 It should probubly next be put on a wiki for dismantaling and reshuffleing as a colorForth entry level tutorial about chapter 3-4 or so :) 12:20:19 --- join: qFox (C00K13S@82-169-140-229-mx.xdsl.tiscali.nl) joined #forth 12:23:35 Raystm2: please add to the wiki 12:23:49 I've always hoped that there would be wiki pages following interesting conversations in #c4th 12:23:55 and linking to the conversations themselvel 12:24:24 --- join: arke-sch00l (apache@11.198.216.81.dre.siw.siwnet.net) joined #forth 12:24:28 there should be a link to it from here http://herkamire.com/jason/colorforth_channel 12:25:27 yeah and then in the wiki the conversations could be factored down to man page entries and stuck back into colorForth as dox by all editing contibutors :) 12:26:11 teh hi 12:27:02 have a problem - discus in irc - move good conversations with links to original logs into wiki and re compose dox to cf dox and include as manual :) 12:27:38 swap manuals online for diff situations and educational devices 12:28:18 sounds neat and easy to set up and maybe fun to wiki factor conversations with the rest of you helping eachother :) 12:28:29 into colorforth dox :) 12:30:30 can someone do a colorforth black board that the world can code together in a group ? is that realistic idea ? 12:32:20 --- quit: swsch (Read error: 110 (Connection timed out)) 12:32:24 or you can see like eight windows feed in from the users in a group :) 12:32:30 on a web page ? 12:33:25 there have been collaberative editing projects 12:33:35 I think you need a more crash-proof language to do that though 12:35:02 well I have crashed a bunch lately coding chess -- that's true. having to rebuild the front end when ever I step on top of something there but if I crash I can't boot or save or nuthin so . 12:35:26 you got a point there 12:36:13 and also i cant seem to get all 32 pieces on the board at the same time :( 12:36:27 that's all that's holding back release . 12:41:05 it's hard enough to keep it working when you're the only one making changes 12:41:20 sometimes it takes a long time to figure out what two things you did conflict 12:41:21 I can get 24 and 64 squares as icons on the 'board'. that's eighty - eight '2emits every 'show black screen' and I need just 8 more 12:41:26 Herkamire: hey, I've got something for you to think about 12:41:29 it would be near impossible with 3 people making changes at the same time 12:41:53 arke-sch00l: cool 12:41:54 rebuilding isnt hard just a reboot and a save as long as you back up properly :) 12:42:02 Herkamire: imagine that PPC had a register override which ignored pipeline locks, and should it stall, simply uses the old value of that register instead of stalling waiting for the new one. 12:42:36 arke-sch00l: I heard discussions of that before 12:42:44 I see absolutely no point to it 12:43:08 that' s neat arke 12:43:09 I can't think of any reason you'd want to do some math or something on unknown operands 12:43:19 sure, you'd get a result, but it'd be useless 12:43:27 unless you're coding a RNG or something 12:43:56 yeah it just jumps to a pre determined relative address of what's in mem on a pile up instead of 12:44:00 hehe 12:44:09 i dont think it would be useless at all 12:44:20 specifically if you're doing forth 12:44:34 because this way, you can 12:44:41 addi somereg, 4 12:44:58 you need to pass a constant for the jump to work in another register with the op 12:45:10 ld soemotherreg, NS#[somereg 4] or someitnhg 12:45:17 wow i cant type 12:45:33 that way the default is to add the two registars while the pipe is clogging and then jump 12:45:34 huh? 12:46:25 what's this: NS#[somereg 4] 12:46:43 i really don't claim to understand what I'm talking about Herkamire, :) and not ashamed to show ignorance for free education :) 12:47:57 Raystm2, it looks as if you got cut off before the end when pasting to #c4th 12:48:07 arke-sch00l: you thinking something like this: lwz r5, 4(somereg) 12:48:22 --- join: fridge__ (~fridge@dsl-203-33-161-152.NSW.netspace.net.au) joined #forth 12:48:33 thought so was waiting for web update to finish :) 12:48:56 hi fridge :) 12:49:05 --- join: TheBlueWizard (TheBlueWiz@modem-155.nyc-tc03b.fcc.net) joined #forth 12:49:05 --- mode: ChanServ set +o TheBlueWizard 12:49:27 Herkamire: well, how does your current pop word look like? 12:49:30 HI TheBlueWizard 12:49:32 don't know where left off. 12:49:43 arke-sch00l hiya 12:49:45 is there a irc re-play comand ( rewind ? ) ? 12:50:06 arke-sch00l: lwz tos, 0(stack) addi stack, stack, -4 12:50:14 Hi Blue how do you do 12:50:15 the last line I see is "swsch packman is gnawing on the h" 12:51:00 Raystm2 hiya ... I'm doing OK 12:51:07 or.. I think that's +4 not -4 12:51:31 great gracias mucho appreciato intendito amigo 12:51:47 hmm. 12:52:01 Herkamire: don't you have to save the old TOS too? 12:52:13 arke-sch00l: you asked me for DROP didn't you? 12:53:09 to implement + or something: lwz tmp, 0(rstack) addi stack, stack, 4 add tos, tos, tmp 12:53:35 s/rstack/stack 12:53:41 * Raystm2 thanx swsch fun working with you :) 12:53:44 fini 12:54:29 swsch : now we put it on Herks wiki to factor into cf dox :) 12:54:52 Herkamire: no, i asked for r> which is pop in CF 12:55:06 arke-sch00l: oh 12:56:02 stwu tos, -4(stack) lwz tos, 0(rstack) addi rstack, rstack, 4 12:56:39 erm...IIRC PowerPC has autoincrementing operand, doesn't it? 12:57:05 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 12:57:13 TheBlueWizard: sorta. stwu stores, then updates the address to where it stored 12:57:26 Herkamire: yeah, and the next instruction using the rstack will stall. 12:57:34 Herkamire: r> r> will :) 12:57:50 arke-sch00l: and what do you propose to do abouth that? 12:58:16 hi tathi :) 12:58:17 Herkamire: allow offset adressing, and allow the register lock-on-write override 12:58:24 hi all 12:58:32 hi tathi 12:58:37 arke-sch00l: no idea what either of those mean 12:58:41 Herkamire: so, something like 12:58:46 * Raystm2 hi 12:58:46 addi rstack, rstack, 4 12:59:05 lwz tos, -4(rstack_old_value) 12:59:48 oh 12:59:58 sounds nasty to implement 13:00:08 doesn't work at all with exceptions afaik 13:00:21 and I don't really think there's much point to it 13:00:30 --- quit: fridge_ (Read error: 110 (Connection timed out)) 13:00:31 if you want to use the old value, stick the instruction in before you change the value 13:00:39 --- quit: fridge (Read error: 110 (Connection timed out)) 13:00:43 are we discussing pointless optimizations? :P 13:00:56 --- join: fridge (~matt@dsl-203-33-161-152.NSW.netspace.net.au) joined #forth 13:01:00 TheBlueWizard: arke is suggesting architectural changes to ppc 13:01:05 tathi: Yes :) 13:01:07 off to econ 13:01:09 tathi: arke is suggesting architectural changes to ppc 13:01:12 to ppc? 13:01:13 Herkamire: not to PPC, just was an example 13:01:16 or to forth on ppc? 13:01:20 * arke-sch00l cries 13:01:39 --- quit: arke-sch00l ("CGI:IRC (EOF)") 13:03:22 I see re: trying to devise an architectural mapping between Fortha nd PPC 13:03:44 Herkamire: I found a used copy of the PPC architecture manual. 13:04:46 doesn't seem to contain much that the reference manuals don't have 13:05:10 but it makes a clear distinction between the different "levels" of the spec, which I never understood before. 13:06:46 and their enthusiasm is highly amusing :) 13:07:28 levels? 13:07:37 something I should read? 13:07:51 I would love to have a decent keyboard driver 13:08:36 no, not really. 13:09:15 just that there's the UISA (User Instruction Set Architecture), which is instructions for all applications. 13:09:35 do I need to add string support (like make it so you can type a new one easily) before herkforth will be good for poking around and writing drivers? 13:10:03 the VEA (Virtual Environment Architecture), which is "features of the arch that allow programs to create or modify code, and to share data among programs" 13:10:19 and the OEA (Operating Environment Architecture, which is stuff you only need to know to write an OS. 13:10:38 hmm...string support would be really nice for poking around OF... 13:10:59 which I'm guessing you might want to do before (or while?) you're writing drivers... 13:13:52 Raystm2, there *are* cf docs? where? 13:14:43 * swsch_ starts doing dishes 13:14:43 tathi: I was thinking about just writing a word would just let you type right into a string buffer for OF 13:14:56 ok, that would work 13:14:58 but I guess you need to sometimes have multiple arguments that are strings 13:15:10 I should just finish string support 13:15:52 I suppose it'll be fine if the text editor is very very very rudimentary for doing of stuff 13:16:07 like it's fine if you can only delete and type on the right end. 13:16:57 it would be really nice to be able to add and edit strings in the editor anyway 13:17:23 :) 13:20:48 heh... I think I'll do both 13:21:10 make a couple buffers and words that let you type right into them. 13:21:18 and editor support for string 13:21:19 s 13:21:37 I first need to change the way data is SAVEd 13:21:50 so that I can make data elements expandable 13:30:43 Yeah swsch: there are cf docs all over the web. some links are down though. but really the whole thing is in chucks site and the code itself. He really did cover everything. just not in ways that make sense at first. 13:33:36 His first few blocks of cf are a great example of how he seems to be documenting the project. When I read where he put some of the words ( and I'm sure that developed thru programing development and intention ) I get a sense of how to thread thru the docs for the next important concept. then I cross those ideas with google searches into the ml archive. 13:34:19 and confirm asumptions on irc. 13:34:38 * swsch_ has finished doing dishes just in time 13:35:08 I haven't really figured out how I want the text editor to work 13:35:19 what I was looking for was just something like the intro you gave me 13:35:43 and it's quite hard to look at the code without the editor :-9 13:35:50 right that's cuz i don't think that's been done yet. 13:36:12 --- mode: slava set +v swsch_ 13:36:38 yes and a windows and unix sym that intergrated with os file systems would be great for a trainer ? 13:37:03 --- quit: tgunr (Excess Flood) 13:37:46 * swsch_ wonders what having a "voice" means 13:38:04 * Raystm2 too 13:38:21 not necessarily, as file access etc. seems not to be the cf way of doing things. 13:39:14 you lose the opportunity to rewrite cat for the umpteenth time, but you (are forced to) gain insights into alternative ways of tackling a problem. 13:39:19 right but for entry level trainor on home os for starter tutorial . maybe a completion of features to Howerd Oakfords cfdos3 ? 13:39:24 which is much more important. 13:40:13 --- join: tgunr (~davec@vsat-148-63-4-107.c001.g4.mrt.starband.net) joined #forth 13:40:23 another cf I don't know ... will it run on win2k? 13:41:11 you can re-write any text with copy and then using the cursor to scoop up and re - drop where you what it . if you do that copying in other blocks and bring the work back to the main blk :) 13:41:19 tip 13:41:38 Getting food, and an headphone extension cable. 13:41:49 yeah I have a version of cf for win I got from ......... 13:43:02 http://www.inventio.co.uk/cfdos3.htm 13:43:19 --- join: arke-sch00l (apache@11.198.216.81.dre.siw.siwnet.net) joined #forth 13:44:28 swsch_, Raystm2: when the channel is +m (moderated), you need voice to talk (I think). 13:45:03 i'm not talking ? oh real voice okay 13:45:16 get a mic :) 13:45:28 i didn't realize :) 13:45:41 :) 13:45:46 hi tathi 13:45:49 so i'm missing the best conversations really right ? 13:45:53 I just looked at the FAQ, too. While I can talk without a voice, no one besides me will hear me :-) 13:46:12 hi arke 13:46:18 So being giving a voice is really handing out ears to the others 13:46:20 :) 13:46:28 :) 13:46:52 so it should be called ears . in a bucket :) 13:47:34 * Raystm2 ref to Jeff on 'Coupleing' brit com 13:49:05 you ought to be able to use your phone I bet . 13:49:19 if you had to . 13:51:17 --- join: hrmpf (~obi@195.18.226.13) joined #forth 13:55:49 * swsch_ has setup a new vmware emulation 13:55:49 * Raystm2 to swsch win 32 http://www.geocities.com/eleks_76/ 13:56:32 i've never done that. is it hard ? 13:57:50 Getting vmware to run can be a drag, if you're running a non-supported linux distro, but if it runs, it runs quite good. 13:58:03 Now let's see where to find a bootable disk image 13:59:05 --- quit: arke-sch00l ("CGI:IRC") 14:00:06 oh hey that's where rj_cf told me to go to get the html --izer for the cf image block code to at that link above. 14:14:11 --- quit: tgunr (Read error: 232 (Connection reset by peer)) 14:15:59 --- join: tgunr (~davec@vsat-148-63-4-107.c001.g4.mrt.starband.net) joined #forth 14:37:06 --- quit: tgunr (Read error: 232 (Connection reset by peer)) 14:39:08 --- join: tgunr (~davec@vsat-148-63-4-107.c001.g4.mrt.starband.net) joined #forth 14:45:48 --- quit: qFox ("this quit is sponsored by somebody!") 14:52:44 --- quit: Raystm2 ("User pushed the X - because it's Xtra, baby") 14:55:42 gotta go...all bye 14:55:55 --- part: TheBlueWizard left #forth 14:59:19 --- quit: tgunr (Read error: 54 (Connection reset by peer)) 15:02:39 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 15:07:15 --- quit: tgunr (Read error: 104 (Connection reset by peer)) 15:09:16 --- join: tgunr (~davec@host-69-19-178-121.rev.o1.com) joined #forth 15:12:56 --- quit: tathi ("leaving") 15:26:58 hi :) 15:27:04 hi 15:27:10 --- mode: slava set -v arke 15:27:14 :-P 15:29:39 op 15:29:45 grr 15:29:50 i was the one who gave you ops 15:29:52 now give it back 15:29:52 :/ 15:32:04 --- mode: slava set +o arke 15:32:11 arke, i removed your voice, not ops :) you didn't have ops :) 15:32:22 gimme ops tho 15:32:24 i gave you ops 15:32:28 gimme ops too 15:32:34 i am a valuable member of this community 15:32:37 do i need to pull out the logs? 15:32:39 i wear a bowler hat and monocle 15:32:44 and i gave wossname ops too 15:32:51 arke, i just did 15:32:59 --- mode: slava set +o wossname 15:33:06 i daresay i am the best dressed dandy of the lot of you 15:33:09 ah, thank you good sir 15:33:09 YAY!!!!!!! :) 15:33:18 hehe. 15:33:30 you can see exactly who's been idling and who hasnt (with the exception of wossname) 15:33:50 a few days _everyone_ was ops :) 15:33:59 i would be 24/7 if my connection permitted it to be so 15:34:13 unfortunately, my datalink is constructed of glue and bees 15:58:47 --- join: fu7h1n (thin@bespin.org) joined #forth 16:05:13 --- quit: fridge ("Leaving") 16:05:41 ok... 16:05:43 i know there's ppl here 16:05:46 but nobody is talking 16:05:56 put your face in the glue 16:06:15 wossname: so everyone is already in the glue? 16:06:26 is this a communal gluing event? 16:06:36 sounds like forthing 16:07:19 naw, glue and nails 16:11:13 nails? 16:11:15 like up the nose? 16:11:29 scratching the frontal lobe because you're itchy there? 16:13:27 --- join: saon (Ecoder@c-24-129-95-254.se.client2.attbi.com) joined #forth 16:13:57 hi saon 16:14:13 hello 16:14:40 --- nick: fu7h1n -> futhin 16:14:45 --- mode: ChanServ set +o futhin 16:43:19 --- quit: futhin ("leaving") 17:13:17 --- log: started forth/04.10.06 17:13:17 --- join: clog (~nef@bespin.org) joined #forth 17:13:17 --- topic: 'FORTH programming language. Info: http://forth.bespin.org/resources/introduction ANSI: http://www.taygeta.com/forth/dpans.htm FIG83: http://forth.sourceforge.net/standard/fst83/ Links: http://members.dsl-only.net/~loophog || Note: this chan is publicly logged.' 17:13:17 --- topic: set by slava on [Sat Oct 02 12:07:10 2004] 17:13:17 --- names: list (clog saon tgunr hrmpf fridge__ +swsch_ hefner @Herkamire @wossname madwork warpzero onetom madgarden_ OrngeTide +Robert I440r_ I440r @mur @Fractal @skylan @ianp @slava @ChanServ cmeme @kc5tja) 17:13:50 --- mode: slava set +o clog 17:21:33 --- log: started forth/04.10.06 17:21:33 --- join: clog (~nef@bespin.org) joined #forth 17:21:33 --- topic: 'FORTH programming language. Info: http://forth.bespin.org/resources/introduction ANSI: http://www.taygeta.com/forth/dpans.htm FIG83: http://forth.sourceforge.net/standard/fst83/ Links: http://members.dsl-only.net/~loophog || Note: this chan is publicly logged.' 17:21:33 --- topic: set by slava on [Sat Oct 02 12:07:10 2004] 17:21:33 --- names: list (clog saon tgunr hrmpf fridge__ +swsch_ hefner @Herkamire @wossname madwork warpzero onetom madgarden_ OrngeTide +Robert I440r_ I440r @mur @Fractal @kc5tja @skylan @ianp @slava cmeme @ChanServ) 17:33:12 --- quit: saon ("Leaving") 17:48:40 I made some fun words today! :D 17:48:53 what 17:49:07 $, and FILE, 17:51:50 what do they do? 17:53:48 $, copies the TOS to HERE as a string, and FILE, loads a file to HERE. Nice for constructing http data buffers and stuff. 17:54:44 I needed them in order to construct a POST for uploading a file using multipart form data. 17:54:48 sounds like you want heap allocation 17:56:47 Heap allocation? I don't need no stinking heap allocation! 18:01:28 ok, my compiler compiles 639 out of 1400 words ;) 18:01:53 I'd build buffers on the return stack 18:02:01 return stack? 18:02:07 usually the dictionary is used for this 18:02:09 here, allot et al 18:02:28 ok, compiler reduces time to run test suite from 37 seconds to 22 -- and all tests pass ;) 18:02:28 that's.. interesting 18:03:14 i need to get it to compile more, and also slim down my code -- 1400 words is too much:) 18:03:20 anyway good night all 18:04:20 Night! 18:08:41 night 18:36:09 just programmed my first microcontroller! 18:36:14 woo, i have ops 18:36:36 running blink.c on my pic devboard 18:36:48 it only makes one of my lights blink but exciting nonetheless 18:36:52 :oD 18:38:25 --- join: arke (f2@bespin.org) joined #forth 18:39:54 Heh, congrats. 18:42:00 ianp: yay. :) 18:45:28 Hi kc5tja 18:45:29 :) 18:48:12 brb f00d 18:51:18 re 18:51:39 * kc5tja is still reading up on wavelets and wavelet transforms. 18:58:51 fun stuff 19:03:59 --- join: Hyrax (~das@adsl-64-219-100-33.dsl.lgvwtx.swbell.net) joined #forth 19:04:12 hello :) 19:08:42 --- join: tgunr1 (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 19:10:51 --- quit: I440r (zelazny.freenode.net irc.freenode.net) 19:10:51 --- quit: Fractal (zelazny.freenode.net irc.freenode.net) 19:11:08 back 19:11:10 :) 19:12:01 Hello arke, wb. (Just got back myself) 19:12:25 so i saw :) 19:13:35 was in Austin for 3 days, Freescale's Embedded Connectivity Symposium. 19:13:57 awesoe 19:15:46 ZigBee and LIN were a couple things I heard about that I'd not know about before. 19:18:46 --- join: I440r (mark4@216-110-82-59.gen.twtelecom.net) joined #forth 19:20:05 WB I440r 19:20:19 Hyrax: cool 19:22:43 Arke, do you know anything about ZigBee? 19:25:54 It is kind of a very low replacement for BlueTooth, mainly for small embedded systems. 19:26:41 http://www.zigbee.org/ 19:28:08 --- quit: tgunr (Read error: 110 (Connection timed out)) 19:30:37 low power replacement I meant to say. 19:33:23 --- join: imaginator (~George@georgeps.dsl.xmission.com) joined #forth 19:43:15 Yeah. I'm looking at the possibility of using wavelets instead of Fourier transforms to detect digital signals in an amateur radio narrow-band channel. 19:44:57 kc5tja: what guitar amp do you have?> 19:45:31 Crate amp of some kind. Really entry level. It doesn't even have reverb on it. 19:47:34 GX-15? 19:47:39 :) 19:47:47 or GX-10 19:48:17 GX-something-or-other. 19:48:22 I really don't remember. I chucked the box. 19:48:49 why? broke? 19:48:55 * I440r fires up his amp and plays Joe Satriani's Midnight over and over :P 19:50:58 arke: Huh? 19:51:10 Getting rid of a cardboard box has nothing to do with me being broke. :) 19:52:08 err 19:52:15 it should say it in the top right corner of the actual amp 19:52:17 lol 19:53:32 Oh, I didn't even notice. 19:53:38 GX-15, on the top left corner. 19:56:30 same difference 19:56:31 :) 19:56:36 neat little machine. 19:56:50 nice sound, even though its so small. 19:58:45 * kc5tja nods 19:58:57 I wish it had a bit more effects, but it's good enough for what little playing I do. 19:59:26 effects shouldnt be on the amp :) 19:59:33 merely reverb and overdrive 19:59:35 ^_^ 20:03:58 for that matter, overdrive and reverb are effects. 20:04:05 Hence, technically, they shouldn't be there either. 20:08:52 --- quit: wossname (Read error: 110 (Connection timed out)) 20:10:42 :D 20:11:50 overdrive should always be in the amp though. because it always sounds better. 20:12:01 no POD-6 or whatever can match the warm sound of natural overdrive 20:12:13 I'm gonna go watch 1xforth :) 20:12:41 Never 20:12:46 I humbly disagree. 20:14:04 :/ 20:23:51 i need to play guitar more often 20:24:06 i want an electric, but i want to buy a bass for production purposes 20:24:13 as i do electronic music 20:25:49 Yeah, I should play much more often too. 20:25:54 Right now, I'm so bad though... 20:27:31 yeah me too! 20:27:35 been months 20:27:40 Likewise. 20:27:40 :) 20:28:53 so my next step is to figure out how to get forth going on the pic :) 20:29:24 i have a development board and a serial port programmer running to windows 20:29:38 I wish i could use the mac laptop for this but it's probably out of the question 20:29:43 need to buy a junker 20:30:10 anyone written a forth softsynth I could plug into via MIDI and play? :) 20:30:50 * arke watches 1xforth 20:38:13 * arke likes 20:43:32 hefner... i think i saw something once 20:43:33 All of his videos are really nice. :) 20:43:37 for midi support 20:44:37 i think i'd like meeting him IRL 20:46:16 Meeting who? 20:46:27 (sorry; I'm really multitasking pretty hard here. :) ) 20:46:51 CM 20:46:59 hehe 20:47:07 he goes into a low mumble with some sentences 20:47:10 like me 20:47:12 or you 20:47:17 (from what youve said) 20:47:17 :) 20:47:32 You're meeting him? 20:47:35 How'd you manage to arrange that? 20:48:01 I'm not 20:48:03 but I'd like to 20:48:03 lol 20:48:15 lol 20:48:20 you're multitasking VERY hard 20:54:21 Yes, I am. :) 20:54:49 he hates files. 20:55:43 Yep 20:59:27 is this on the web? 20:59:34 those films on forth.com ? 21:03:34 ultratechnology.com 21:04:17 --- join: Fractal (jah@selling.kernels.to.linus.torvalds.at.hcsw.org) joined #forth 21:14:46 done 21:23:46 Memorizing block numbers doesn't appeal to me when managing lots of movies or files. I find it strange that Moore finds blocks so attractive. 21:24:31 no one ever said you couldn't define a few words to lookup names for your blocks 21:28:02 So associating blocks with names, and then perhaps with a hierarchy. Sounds like reinvention of a file system to me. 21:28:22 what's your point? 21:29:23 That chickens are a good source of protein. 21:29:35 They are indeed. 21:30:38 blocks are attractive to me in the sense that they don't preclude building more abstract things on top of them 21:35:53 and writing a block editor is very simple 21:40:50 I use blocks, but don't memorize block numbers (except the first two...) 21:41:25 block 0 has the initial load sequence 21:41:50 block 2 has words like load-graphics load-bootstrap etc 21:42:15 I use searches to get around 21:54:09 and a key to go to the definition of the word under the cursor 21:55:41 Herkamire: is that a console cursor? What system(s) does your Forth run on top of? 21:58:39 linux terminal on ppc 21:59:56 I don't use the console cursor actually though... I display the word under the cursor in reverse colors 22:00:32 cool. What apps have you made with your Forth? 22:00:46 fractals :) 22:04:06 editor, compiler, assembler, source export, html export, solitaire number game. 22:04:11 played with fractals a little 22:04:17 and stereograms a little 22:04:29 :) 22:04:33 I got it to boot 22:04:41 HerkForth needs an x86 version :) 22:04:43 but I haven't gotten it to save when you boot it yet 22:05:03 anyone is welcome to make an x86 version 22:05:16 it'd be a pain, eh? P) 22:05:46 hard to say. I think x86 asm is a pain in general 22:05:54 not that I've done it or anything 22:05:58 indeed 22:06:10 Mine doesn't have much of an assembler. I just encode the machine code from C or copy assembled chunks. 22:06:51 my forth completely compiles it's self 22:06:58 and saves a copy of it's self to an ELF file 22:07:26 yewah 22:07:35 only linux forth that does 22:07:37 :) 22:08:32 Herkamire: which Forth most influenced you? I'm curious about doing this. 22:09:02 well, I learned from ANS 22:09:05 gforth I guess 22:09:14 took a lot from colorforth 22:09:19 and aha 22:10:30 I haven't tried all that many forths 22:10:55 either way, herkforth is impressive, and I haven't even tried it for myself! :) 22:11:58 arke: I'm going to put a demo together soon. 22:12:10 so you can run herkforth under qemu on other platforms/architectures 22:14:18 qemu seems to support everything I do in herkforth, except get the terminal dimentions, and turn off line-buffering 22:15:16 I have little C programs to turn off line-buffering, and turn it back on. I can include that with a script to setup the terminal, run herkforth, then restore the terminal. 22:15:54 not really sure what I should do about the terminal dimentions 22:16:46 maybe write a C program to get the terminal dimentions, and run herkforth, passing in the keystrokes to manually change the dimentions in herkforth 22:17:12 --- join: colorg (r@core-dc-2-247.dynamic-dialup.coretel.net) joined #forth 22:17:18 hehe. 22:17:41 --- join: Serg_penguin (~z@212.34.52.140) joined #forth 22:17:45 Herkamire: or, if you know the place in the elf, change the executable :P 22:18:04 something like "51term-height'M120term-width'MS" 22:18:39 arke: mmmm... that might be simpler 22:19:25 although, I can't rely on it being a fixed offset if something changes the size of the kernel 22:21:00 * imaginator is reading aha's source (good suggestion Herkamire) 22:21:28 I haven't really looked at aha much 22:21:37 but my source format is quite similar I think 22:21:54 my source format came out of a discussion about how aha stores some of it's source 22:24:05 nahh... I think it'd be easier to send in the key sequence. 22:24:40 I can write a tiny C program to get the terminal dimentions, and printf() them in the string above. 22:24:49 My first forth implementation used threaded code with an address interpreter VM, but I've seen gone to a different compilation model where I copy the actual VM opcodes to memory and execute that memory. What does yours use? BTW what is the term for what I'm doing? 22:24:59 ./term-dim | ./forth001 22:25:04 seen/since 22:25:30 I don't know the terms. 22:25:41 I've asked a bunch of times, but I can't seem to remember them 22:25:49 I compile directly to ppc instructions 22:27:37 How are your words linked together? Do you have postpone and next? 22:28:36 branch instructions 22:29:05 I have no vm 22:29:19 just branch directly into compiled code 22:33:53 imaginator: you did DTC = Direct Threaded. Herkamire is doing STC, Subroutine Threaded 22:34:24 arke: ah, thank you. 22:56:22 imaginator: i think thats the direct threaded solution 22:57:00 ah, my irc was scrolled away 22:57:11 --- quit: hefner ("kill the noise...") 22:58:04 scrolled away? 23:09:16 anyone familiar with eforth threading? 23:28:34 grrr 23:28:45 OK 23:28:53 so frustrating trying to make a decent interactive program under xterm 23:29:09 Ask the X admin 23:29:25 I use Linux. I don't use X :o) 23:29:51 it'd be OK if you could use raw-mode 23:30:02 You know anything about eforth threading? 23:30:15 no 23:30:54 You know of a threading scheme that a header has a field that's the address of the same word? 23:31:30 huh? 23:31:40 a header field that points to it's self? 23:31:53 #define __CODE(lex, name, label) \ 23:31:54 __CODESEG__ ; \ 23:31:54 __aligncode ; \ 23:31:54 label: ; \ 23:31:54 __SST__ ; \ 23:31:54 __DATASEG__ ; \ 23:31:56 __aligndata ; \ 23:31:58 .long label, PREVCODE ; \ 23:32:04 .long label 23:32:37 That appears to me to be the address 0 to 3 bytes earlier 23:33:20 but in another segment 23:33:44 backwards threading? 23:34:06 I guess it's a segmenting issue. 23:34:31 I don't understand that code at all. x86 I'm guessing. 23:34:38 goodnight folks 23:34:50 Yeah, that's a cpp/gas header macro 23:34:53 nite 23:35:53 colorg: eforth uses that macro? 23:36:10 yeah, Rideau's 386 eforth 23:36:36 which I'm trying to convert to osimplay, which doesn't do segments 23:37:15 --- quit: Herkamire ("bed") 23:37:18 want a closer (dcc) look? 23:38:02 it's also in ftp://linux01.gwdg.de/pub/cLIeNUX/interim 23:40:07 That's not the whole macro 23:56:44 --- quit: tgunr1 (Read error: 104 (Connection reset by peer)) 23:57:12 colorg: I think I see what it does. 23:57:53 PREVCODE is assigned . which is the current address being assembled. It's like here in Forth, but for gas. 23:59:32 Right. 23:59:59 --- log: ended forth/04.10.06