00:00:00 --- log: started forth/05.02.04 00:36:16 hi 00:36:22 hi zol1 00:36:32 i just defined a great word ... 00:36:39 it is "starting forth" 00:36:42 *g* 00:37:00 :) 00:37:38 it says in the hello text of the forth i'm working on: Don't know where and how to begin ? Try typing: starting forth 00:37:54 (og course i only defined "starting: 00:37:56 " 00:38:17 but it doesn't hurt to make the forth vocabulary context as well 00:38:28 therefore "starting forth" 00:38:49 (if you do, a ne web page opens, with starting forth in it) 00:39:29 i love the fact that one can enter the book title including the space between, and press enter to open it 00:42:44 my original intention was to link the interpreter to the tutorials, but now i find me linking the tutorials into the interpreter 01:13:55 --- join: SeaForth (~SeaForth@c-24-1-126-202.client.comcast.net) joined #forth 01:16:05 'morning 01:16:17 hi SeaForth 01:16:20 goog moning 01:16:39 still 1/2 sleepy here 01:16:49 brb, round up some java 02:46:18 --- part: zol1 left #forth 03:08:21 --- join: Topaz (~top@sown-85.ecs.soton.ac.uk) joined #forth 03:09:42 --- quit: bbls () 03:38:07 --- join: aum (~aum@60-234-138-239.bitstream.orcon.net.nz) joined #forth 03:47:43 finally got my dynamic multitasker up 03:49:19 aum: hey! 03:49:25 in what forth? 03:49:36 pic18forth.sf.net 03:53:14 already got a 'no frills' multitasker, but it requires the tasks to be defined at compile-time 03:53:53 so i'm now working on a dynamic multitasker, which allows tasks to be created at runtime with 'spawn' 03:54:23 where tasks can even spawn other tasks 03:55:45 not really amazing, except that it's all running on a pic 04:23:27 --- quit: SeaForth (Read error: 110 (Connection timed out)) 04:24:03 aum: nice 04:27:24 --- join: segher (~segher@blueice2n1.de.ibm.com) joined #forth 04:28:02 thx 04:35:36 --- quit: Topaz ("Leaving") 04:49:51 --- join: SeaForth (~SeaForth@c-24-1-126-202.client.comcast.net) joined #forth 05:40:54 grrr, the assembler i'm using is sometimes not issuing 'relative branch out of range' errors 05:41:05 so my relative jumps are going off into the boonies 05:57:58 --- quit: I440r_ ("Leaving") 05:58:21 why do you have branches with a big offset anyway? :-) 06:02:14 --- join: samc_ (~sam@203-114-131-27.inspire.net.nz) joined #forth 06:02:38 on pic18 chips, there is 'call' (absolute address) and 'rcall' (target +/- 1024 bytes away) 06:02:51 'call' takes 4 bytes, while 'rcall' takes only 2 06:03:14 i've got a ton of calls, so using 'rcall' where possible amounts to significant savings in code size 06:03:56 1024 bytes is a _huge_ distance already! but i see you say "call" now; that's not the same thing as "branch" :-) 06:04:19 well, it is, just a tiny matter of the return stack :P 06:04:43 hehe 06:05:43 anyway, got the multitasker kernel going nicely now, dynamic task creation works, just now gotta implement dynamic task termination 06:06:21 * aum retires to the land of 0x5A 06:06:28 nite all 06:06:39 preemptive tasking? 06:23:50 --- quit: SeaForth ("Leaving") 06:23:58 --- join: SeaForth (~SeaForth@c-24-1-126-202.client.comcast.net) joined #forth 06:34:29 --- join: Topaz (~top@sown-87.ecs.soton.ac.uk) joined #forth 06:44:12 --- join: madwork_ (~madgarden@derby.metrics.com) joined #forth 06:44:13 --- quit: madwork (Connection reset by peer) 06:52:33 --- quit: Topaz (Read error: 60 (Operation timed out)) 06:53:02 http://www.rafb.net/paste/results/X3eglQ88.html 06:53:20 script to grab some Hubble space images for desktop background, thought someone here may enjoy. 06:54:19 --- join: Topaz (~top@sown-88.ecs.soton.ac.uk) joined #forth 07:21:46 --- quit: Topaz (Read error: 113 (No route to host)) 07:23:17 --- quit: I440r ("Leaving") 07:24:45 --- join: Topaz (~top@sown-85.ecs.soton.ac.uk) joined #forth 07:39:01 seaforth: grab grab grab, thank you 08:14:15 --- join: Herkamire (~jason@h000094d30ba2.ne.client2.attbi.com) joined #forth 08:14:15 --- mode: ChanServ set +o Herkamire 08:21:55 --- join: qFox (C00K13S@82-169-140-229-mx.xdsl.tiscali.nl) joined #forth 08:35:41 --- quit: Topaz (Read error: 60 (Operation timed out)) 08:43:59 --- join: Topaz (~top@sown-87.ecs.soton.ac.uk) joined #forth 09:19:51 --- quit: samc_ (Read error: 60 (Operation timed out)) 09:21:51 --- quit: Topaz ("Leaving") 09:33:22 --- join: bbls (~bbls@80.97.121.133) joined #forth 09:47:18 --- join: TheBlueWizard (TheBlueWiz@modem-138.nyc-tc03b.fcc.net) joined #forth 09:59:20 it has a nice oldschool flair!TechBooks Premier Press - MUD Game Programming - 2003 - (By Laxxuss).chm - 2.64 MB 09:59:22 oops 10:01:28 hehe...a nice oops you got there :) 10:06:16 :} 10:39:32 --- join: zol1 (~l@ppp-62-245-211-201.mnet-online.de) joined #forth 10:55:39 --- quit: segher ("Leaving") 10:56:27 hello 10:56:44 wondering if any standard requires : ; be on the same line? 10:56:54 or is forth pretty much white space unlimited. 10:57:04 meaning can definitions cross line boundaries? 10:57:06 no, they don't have to be on the same line 10:57:09 thank you 10:57:37 i actually played with the ideea of using "\n" instead of ; 10:58:05 a definition would have started with : and continued until the end of the line 10:58:11 Forth is almost completely free form (almost, cuz there are a few words, such as :, that do expect something to appear after it) 10:58:18 but i've decided that's not a that good idea anyway :) 11:08:47 just found a better colorforth for linux/X11 than the Xcolorforth. GLcolorForth. the compile script compiles against GL libs. spurce is 6 dated 6 months ago. 11:09:46 i've copied the source on the wiki, put a link in colorforth. also a link to where i found it 11:31:47 --- quit: qFox (Read error: 54 (Connection reset by peer)) 11:38:47 --- join: qFox (C00K13S@82-169-140-229-mx.xdsl.tiscali.nl) joined #forth 11:53:59 --- quit: bbls () 12:03:16 re 12:17:25 --- part: zol1 left #forth 12:58:20 --- quit: onetom ("leaving") 13:07:31 * SeaForth finally takes a good look at OF3.x and realizes it is BLOATED 13:08:09 btw, what is the general concensous on the case statement, for it seems very out of place in forth. 13:09:09 OF = Open Firmware? 13:15:21 SeaForth: I like 'case' a lot 13:29:33 OF, yep. 13:37:04 --- join: tathi (~josh@pcp01375108pcs.milfrd01.pa.comcast.net) joined #forth 13:40:23 hiya tathi 13:42:26 hi TheBlueWizard 13:57:14 --- join: htp123 (~tehsux@S0106000d6151238b.gv.shawcable.net) joined #forth 14:00:40 --- part: SeaForth left #forth 14:07:18 --- join: SeaForth (~SeaForth@c-24-1-126-202.client.comcast.net) joined #forth 14:08:06 --- join: onetom (~tom@fw.i-trade.hu) joined #forth 14:46:43 --- join: ianp (~ian@inpuj.com) joined #forth 14:46:57 --- join: Raystm2_ (~Ray@ACD11B59.ipt.aol.com) joined #forth 14:52:07 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 14:53:15 --- quit: Raystm2 (Nick collision from services.) 14:53:48 --- nick: Raystm2_ -> Raystm2 15:02:59 --- part: TheBlueWizard left #forth 15:07:24 --- quit: saon ("Lost terminal") 15:15:12 --- join: Raystm2_ (~Ray@adsl-69-149-63-57.dsl.rcsntx.swbell.net) joined #forth 15:15:47 --- quit: Raystm2 (Read error: 104 (Connection reset by peer)) 15:16:33 --- nick: Raystm2_ -> Raystm2 15:21:08 --- quit: qFox ("this quit is sponsored by somebody!") 15:33:55 Hi all 15:35:30 hi crc 15:36:05 How's your forth going? 15:36:21 --- join: crc__ (~crc@pool-70-20-194-120.phil.east.verizon.net) joined #forth 15:36:34 debugging my dynamic multitasker at the moment 15:37:13 --- quit: crc (Nick collision from services.) 15:37:15 --- join: crc (~crc@pool-70-20-194-120.phil.east.verizon.net) joined #forth 15:37:33 --- quit: crc (Nick collision from services.) 15:37:37 --- nick: crc__ -> crc 15:37:43 --- mode: ChanServ set +o crc 15:38:10 Cool 15:38:38 just implementing thread termination 15:38:53 a word 'die' which causes a thread to fall on its sword 15:40:45 thread's return stack is getting corrupted, so when thread dies it takes the whole scheduler and the vm down with it :/ 15:41:37 hmm 15:42:10 will be nice to have it working, cos not too many multithreaded apps can fit into less than 5k, complete with kernel, lib, scheduler and app threads 15:42:27 --- quit: onetom (Read error: 60 (Operation timed out)) 15:42:56 thing is, when i'm creating the thread, i 'salt' its return stack with ['] die 15:43:18 so if the thread's word exits, it's supposed to 'pop' into 'die' 15:46:59 oh shit, i forgot - return addresses on return stack are big-endian, because the return stack goes from high to low 15:47:12 silly processor, doesn't know that it's supposed to swap the bytes 15:48:02 :( 15:52:03 which was a totally silly move - no real need to reverse byte order on retstack, changed to little endian now 15:53:43 i'm sooo tempted to give up this 16x2 character LCD, switch to a graphical LCD, and implement a gui/windowing system for it - should be able to do a gui framework in approx 8-10k of code 15:55:45 ahh, better now - dying thread enters 'die' on exit, now just a matter of removing the threads TCB from the threads ring 16:25:11 --- join: onetom (~tom@fw.i-trade.hu) joined #forth 16:52:27 hmm, a GUI on a PIC processor... 16:52:30 that'd be nice to see 16:53:05 especially if the graphical lcd module is touch-sensitive 16:53:20 hehe 16:53:44 you can even get TCP/IP stacks for PIC18 processors :] 16:54:01 there's some people running webservers on PIC chips 16:54:30 via SLIP or PPP serial line 17:16:19 --- join: Sonarman (~snofs@adsl-64-169-95-52.dsl.snfc21.pacbell.net) joined #forth 17:24:29 confucious say - it can be helpful to have an implementation of 'nip' that actually /works/ 17:24:45 Yup 17:25:22 : nip swap drop ; 17:25:55 CODE NIP 4 #, SP ADD, NXT, END-CODE 17:26:46 : nip nip ; 17:26:53 INFINITE LOOP 17:26:58 : nip >r drop r> 17:27:06 yeah yeah 17:27:14 arke: not if "nip" is a macro :) 17:27:34 See source/blocks/base in retro8 for an example 17:27:37 crc: :) 17:27:42 crc: true ^_^ 17:28:07 : nip ." unable to comply with this request" cr ; 17:28:33 my dumbarsed mistake - my nip was 'call pop_xy, call push_x' - should have been 'call pop_xy, call push_y' 17:28:51 D'UHHHHHHH 17:29:00 ? 17:29:05 what do those do? 17:29:24 pop_xy <-- take xy off the stack 17:29:32 call pop_xy pops 2 cells, stores the topmost in scratch var y, the second top in scratch var x 17:29:33 push_y <-- put y back on the stack 17:30:06 so i was trying to walk around a linked ring, but staying in the same place 17:35:12 swap drop is easier ;) 17:35:34 slower for me because it eats vm cycles 17:35:48 ahh 17:37:39 vm fetch/dispatch costs 21 cycles 17:38:39 yuck 17:38:48 Not good on a slow CPU :( 17:38:54 true 17:40:00 time to clean up shop 17:40:48 but there's no indirect calling on PIC, and no direct program memory read, so have to have a jump table, and shift the index twice, and manually add it to machine PC 17:42:11 eww :/ 17:42:45 don't forget - it's an 8-bit CPU, so there's a fair bit of bit-bashing going on, manually propagating carry bits etc 17:43:25 anyway, speed on PIC is not super-critical, unless one is doing DSP or similar 17:45:34 and with the bytecode threading, i get good code density 17:45:57 so the 32k bytes of ROM feels more like 128-256k 17:48:48 neat 17:49:32 so it's like a big diesel truck rather than a sports car 17:49:49 not fast, but plenty of torque to make up for it :) 17:49:55 yep 17:52:10 with all this, it just takes my breath away how writers of bloatware like gnome, kde etc are able to slow down a 2+GHz CPU to Pentium II speeds 17:52:50 hundreds of megs of RAM eaten up by millions of wanky background processes 17:53:21 yep 17:53:26 horrible 17:56:08 * aum can imagine 4 THz quantum boxes of the future, still taking over a minute to boot up and shut down 17:57:37 yep 17:58:17 quite possibly, with DRM right down to the chip-level, 96% of processing power will be in policing the user's every move 17:58:29 haha 17:58:29 yeah 17:58:31 lol 17:58:32 instead of 17:58:34 *gasp* 17:58:43 making it secure withoutmaking it complex? 17:58:46 * arke sigh 17:58:49 or not even worry about it 17:58:56 each computer doesnt worry, network needs ID 17:58:58 perfect scheme 17:59:06 you can fuck up the computer, but not the network 17:59:16 'secure and simple' is an oxymoron 17:59:29 not really 18:00:04 I can't think of a single way to hack my RkG protocol, yet its VERY simple and allows you to do pretty much anything ^_^ 18:05:46 --- part: SeaForth left #forth 18:12:20 yeeha, all tasks dynamically spawning and terminating 18:12:26 at last 18:14:37 yes!! 18:14:59 mainline wakes up after last thread has terminated, and can spawn new threads 18:15:07 and threads can also spawn threads 18:15:15 i just horror to count the overhead of all this though 18:16:48 aum: a 4THz box running RetroForth/Native won't take a minute to boot ;) 18:17:02 heh 18:18:26 On a 25MHz 386 it takes about 3 seconds 18:18:39 boot to gui? 18:18:57 Define GUI :) 18:19:33 windowing system shared between OS and apps 18:19:48 and used for user interaction 18:19:49 There's no distinction between OS and apps in RetroForth 18:19:59 And Windows aren't strictly part of a GUI 18:20:29 s/Windows/windows/ 18:20:56 A GUI for me is a standardized way to display graphical interface elements 18:21:05 RF/N had that in 5.x :) 18:21:31 shit!! my dynamic multitasker has bloated out to 546 bytes of code 18:22:31 whereas the static multitasker only uses 206 bytes 18:23:10 frickin bloat! 18:23:19 I might as well go port KDE to the PIC then 18:23:44 and write a driver to page code in/out from external compact flash cards 18:26:23 heh 18:26:35 How long would KDE for PIC take to start? 18:27:18 mmmm.... 18:28:34 * crc prefers a text-based interface to a graphical one 18:29:42 I almost always prefer text interfaces 18:30:37 it seems like it would be possible to make a better interface with graphics, (simply because it's more flexible) 18:30:51 but... I don't see it 18:31:17 most GUIs are based on stupid mouse widgets 18:31:25 The only graphical interface I ever saw that I liked was tcn's experimental abc editor 18:31:57 You edited the abc code on the top, and it would show the sheet music below after each edit 18:32:04 no mouse involved ;) 18:32:15 very cool 18:32:18 does it still run? 18:32:19 linux? 18:32:26 Not anymore :( 18:32:39 I lost the code, and haven't heard from him in about a year 18:33:35 ahh 18:34:35 That inspired my editor in many ways 18:34:48 (the two panes, some of the commands) 18:37:37 cool 18:38:14 Eventually I'll do something with the empty space on the right of the screen too 18:38:22 speaking of your editor :) I got a little taste of it the other day, while playing with that javascript forth 18:38:25 I just have to decide what to do with it first :) 18:38:31 what did you think? 18:38:59 it was neat, as a commandline editor 18:39:01 Btw, if you want to play with it, I can give you an ssh account on this box 18:39:03 I long for something interactive though 18:39:09 'sok 18:39:24 I'll eventually have an interactive editor that can be loaded. 18:39:25 I'll wait til I can play in the emulator 18:39:28 ok 18:39:44 You might be able to run the linux version in qemu 18:42:43 cool 18:43:01 is that ready now? 18:43:06 Yes 18:43:37 http://www.retroforth.org/retro8.tar.gz 18:44:07 cool! 18:44:14 Let me know if it works 18:49:10 --- quit: Sonarman (Read error: 104 (Connection reset by peer)) 18:51:32 --- join: Sonarman (~snofs@adsl-64-171-254-240.dsl.snfc21.pacbell.net) joined #forth 18:56:47 mmm... you really should name the tarball and the directory within it the same 18:57:14 heh 18:57:30 That'll come soon 18:58:03 I have each port of retroforth in a directory named "linux" or "windows" or whatever 18:58:44 no ebuild for fasm?!? 19:00:09 * aum is sure someone has written an assembler called 'ORGasm' 19:01:42 Orion's Really Great Assembler 19:02:07 Binaries in in linux/bin 19:02:18 I don't include fasm, and I've never heard of ebuild 19:02:25 * crc will have to go in ~5 minutes 19:09:24 oops 19:09:36 forgot to look for prebuilt binaries 19:09:40 that should have saved a lot of time 19:09:44 and might have actually worked 19:09:45 Yup 19:09:56 I always include binaries :) 19:10:54 mmm... same results 19:10:56 segfault 19:11:10 :( 19:11:24 Works great on x86 :( 19:12:04 bummer 19:12:24 Did 7.6 run under qemu? 19:13:27 dunno 19:30:18 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 19:31:19 --- quit: Sonarman (Read error: 110 (Connection timed out)) 19:33:28 --- quit: manuel__ ("foobar") 19:53:08 --- join: Svrog (~Svrog@ppp1C1A.dsl.pacific.net.au) joined #forth 19:56:11 --- quit: tathi ("leaving") 19:59:56 --- quit: saon ("leaving") 20:09:16 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 20:16:42 --- quit: aum () 20:33:28 --- part: htp123 left #forth 20:49:06 --- quit: saon ("leaving") 22:11:01 --- quit: Herkamire ("off to bed") 22:15:40 --- join: Sonarman (~snofs@adsl-64-171-254-154.dsl.snfc21.pacbell.net) joined #forth 23:59:59 --- log: ended forth/05.02.04