00:00:00 --- log: started forth/05.04.30 00:06:06 --- quit: Sonarman_ ("leaving") 00:09:34 --- join: onetom (~tom@ns.dunasoft.com) joined #forth 00:15:58 --- quit: Sonarman (Read error: 110 (Connection timed out)) 05:29:56 --- join: I4404__ (~mark4@216-110-82-203.gen.twtelecom.net) joined #forth 05:50:08 --- quit: I440r (Read error: 110 (Connection timed out)) 06:37:59 --- join: tathi (~josh@pcp01375108pcs.milfrd01.pa.comcast.net) joined #forth 06:39:20 --- nick: danniken\ -> danniken 07:17:25 I440r: damn, you really sped up the memory allocater. 07:17:43 At least for me: mmtest on 20,000 buffers is down from 9:20 to 6:13 07:17:55 and...examples/window.f still works just fine for me. 07:30:10 --- join: thinfu (thin@bespin.org) joined #forth 07:30:10 --- mode: ChanServ set +o thinfu 08:03:24 --- quit: saon ("leaving") 08:03:42 --- join: saon (1000@c-66-177-224-130.hsd1.fl.comcast.net) joined #forth 08:09:56 --- quit: saon ("leaving") 08:32:40 --- join: Herkamire (~jason@c-24-218-95-147.hsd1.ma.comcast.net) joined #forth 08:32:40 --- mode: ChanServ set +o Herkamire 08:47:51 so many people, so little chatting 08:48:00 actually theres less people these days it seems 08:48:05 on this chan anyways 08:48:41 --- quit: tathi (Read error: 110 (Connection timed out)) 09:00:00 --- join: snoopy_1711 (snoopy_161@p54A7CE52.dip.t-dialin.net) joined #forth 09:01:21 --- join: saon (1000@c-66-177-224-130.hsd1.fl.comcast.net) joined #forth 09:17:20 --- join: tathi (~josh@pcp01375108pcs.milfrd01.pa.comcast.net) joined #forth 09:17:56 --- quit: Snoopy42 (Read error: 110 (Connection timed out)) 09:18:19 --- nick: snoopy_1711 -> Snoopy42 09:20:25 hi all 09:20:56 --- quit: tathi (Client Quit) 09:40:10 hello 09:40:21 how's retroforth coming along? 09:40:36 8.0, Beta 1 comes out tomorrow :) 09:41:55 I'm working on minor cleanups today 09:43:38 :) :) 09:43:48 i haven't done any forth coding in a while :( 09:44:00 heh 09:44:35 saon: got any goals w/ forth? 09:44:35 I wrote a mostly complete BF interpreter, then turned it to a wiki engine :) 09:44:42 i have a machine next to my bed now with an rf 7.6.1 floppy in it for late-night coding, but, haven't used it in a while 09:44:53 heh nice 09:44:56 http://forthworks.com/blog/?p=56 (bf article) 09:45:06 http://forthworks.com/blog/?p=58 (wiki article) 09:45:07 thinfu: i like forth and its methodologies, but other than that, no immediate use 09:45:42 saon: do you any coding in other langs ? 09:45:54 rf8/native has a new boot sector that solves most of the boot problems that were encountered in the past 09:46:19 one of these days rf will have so many features and be so stable you can't afford not to use it :) 09:46:31 i learned in euphoria, and have a fair bit of experience with C and I've read a lot of other code and about a lot of other code and have books on a bunch of langs i've played with, but nothing seriously 09:46:48 books on C, asm (under dos, 16 09:46:53 -bit 09:47:20 c++, java, perl, php, javascript, vbscript, awk, haskell 09:47:33 so i have a fair bit of exposure 09:48:01 well i was just curious if you were coding regularly :P 09:48:05 not really about your exposure :P 09:48:31 i should code more, i've fallen out of touch with programming :( 09:49:05 thats ok, programming is a waste of time anyways :P 09:49:11 and computers suck 09:51:05 ever heard of prototype-based object systems? we're looking for a good way to do objects in forthmud 09:53:49 I got into a long discussion the other night with kc5tja about them. he says they don't work well in forth because it isn't optimized for them 09:58:34 : --factors dup . >>r / r> ; 09:58:34 : -factors 2dup : factors 2 -factors ; 09:59:15 docl: i think he's just being pessimistic, just code a forth-like language thats optimized for it ontop of forth :P 09:59:43 Herkamire: umod ? 09:59:54 unsigned mod 09:59:59 modulus 10:00:16 retro has neither, only mod and /mod hmmm 10:01:11 I haven't wanted a signed mod yet, so I haven't written one 10:01:14 whats >>r also 10:01:15 would only take a few secconds 10:01:22 >>r is equivelent to "dup >r" 10:01:31 ah cool.. 10:01:35 do you find you do dup >r a lot? 10:01:47 not a ton 10:01:50 thinfu: yeah in a few lines I bet it could be done. too bad I don't understand some more advanced stuff or it'd probably come to me 10:02:08 --- quit: skylan (Read error: 104 (Connection reset by peer)) 10:02:08 >>r is nice sometimes 10:02:37 docl: eh, don't worry about the advanced stuff, implement it anyways and then go from there :P 10:02:42 although seeing some of the things crc does, like the latest wikimarkup, gives me hope 10:05:04 crc is clever about using the dictionary and heap 10:05:38 yeah. someday I'll get that good :) 10:05:45 someday? 10:05:51 I too wrote a BF interpreter in forth, but didn't think of using the heap to store the ticker tape 10:05:53 you already got a hang of the paradigm 10:05:58 and you know how to use dup and swap 10:06:00 ok make it today :P 10:06:00 and to make definitions 10:06:04 yes! :D 10:06:31 although I think it's implementation depedant. eg some of the data would get clobbered if I did that in herkforth 10:06:37 well, maybe not actually. 10:07:01 the heap concept doesn't make a lot of sense to me yet. is this related to the return stack? 10:07:13 heap is just a big hunk of memory 10:07:27 it's not dynamically allocated. 10:07:30 just a big lump 10:07:40 hunk of staticly allocated memory 10:07:44 HERE points to the next byte of it that's not being used yet 10:07:55 when you compile code, it often goes there. 10:08:05 you can allocate a chunk of it with ALLOT 10:08:20 ok, so this is where variables go 10:08:30 : myvar 101 ; 10:08:38 you can use some of the un-reserved part of it for temporary storage sometimes 10:08:49 that's equiv to an allot, right? 10:09:03 some forths store things in different places, some have a seperate memory space for compiled code 10:09:09 docl: no 10:09:24 you just made a word myvar that returns 101 10:09:38 allot reserves memory space on the heap 10:09:39 is that like a variable? 10:09:55 allot raises the value that HERE returns 10:10:43 heap looks like this: |used|free| 10:10:53 HERE points to the begining of the free part 10:11:02 oh ok 10:11:09 Allot moves the middle devider (between used and free) forward 10:11:11 like a tape recorder 10:11:18 thus giving you a bit of memory that you can use forever 10:11:36 and returning the address 10:11:50 HERE gives you the address 10:12:04 ALLOT just moves the devider by the amount you specify, and doesn't return anything 10:12:33 ok 10:12:36 often, you want a bit of memory, and you'd like it named 10:12:40 so you have to use here to find the value 10:12:58 thus a variable 10:13:06 allot can also deallocate memory... 10:13:14 one way to do that is: here 100 allot constant mymem 10:13:44 oh yeah, you can pass a negative value to ALLOT and it will move HERE backwards 10:13:51 neat 10:14:08 HERE get's the value of the free mem, "100 allot" reserves it. 10:14:24 thus potentially destroying things on top of the heap 10:14:26 then you make a constant named "mymem" which returns that address 10:14:43 you don't worry about that 10:14:50 nothing important is stored in the free part of the heap 10:15:02 the free part of the heap is there to be allocated 10:15:12 oh ok 10:15:35 there's another word that makes it really easy to get named pointers to memory allocated from the heap 10:15:38 CREATE 10:15:57 my example above is equivilent to: create mymem 100 allot 10:16:45 does the here and constant part automatically 10:16:51 right 10:16:56 and it does a little trick for you. 10:17:29 it compiles a definition for mymem, the trick is that it compiles the def for mymem so that the memory address for the heap that it returns points to _after_ the definition of mymem 10:17:48 we can't do: here constant mymem 100 allot 10:18:15 because after we've gotten the address of the free part (here) we've compiled a definition (which in many forths goes onto the heap) 10:18:40 thes in many forths, mymem won't point to free memory, but to compiled code 10:19:07 ok so it takes into account the compiled code 10:19:12 right 10:19:26 I probably didn't need to tell you that much about implementation 10:19:34 but I love that in forth the implementation makes sense 10:19:38 no it's good :) 10:19:45 after a while you start to know how things are done and you can take advantage of it 10:19:57 right, that's what I like to know 10:20:05 like the dictionary 10:20:20 it's used to look up the words you type in to make sense of them 10:20:23 just part of the parser 10:20:26 but you can use it :) 10:20:32 like crc's bf interpreter 10:20:50 bf also needs to look up what to do for different commands 10:21:03 so crc used the forth parser's dictionary lookup stuff 10:21:33 so what most langs reserve as system-use-only, rf allows you to use for other uses as long as it doesn't conflict 10:21:39 he didn't have to write too much code to map the bf commands to forth functions they should call 10:22:19 docl: right. and not just rf. the forth standards specify many of these mechanisms so that you can use them portably even 10:22:31 cool :) 10:23:45 although forthers often do things that only work in their forth :) 10:24:27 will the bf code work in other forths? 10:24:50 mine will 10:25:18 crc's probably needs to be tweaked first 10:25:41 possibly only one change 10:25:59 I think ANS forth take different parameters to the dictionary search function. 10:26:42 and as long as KEY and EMIT in that forth don't change unallocated parts of the heap 10:26:45 crc, will 8.0 have the ability to install to the hard disk of the local machine you put it in? 10:27:04 in my forth (herkforth) I often use the unallocated part of the heap when I need a temporary buffer 10:27:21 saon: once I work out the hard drive bootsector, yes 10:27:39 yay :) 10:28:07 hmm you use the free heap without allocating it? sounds dangerous 10:28:17 well, I wrote the whole system 10:28:32 docl: mine would need a handful of tweaks to work on other forths 10:28:43 I only use the unallocated part for one thing at a time 10:28:54 * saon can't wait to have a sweet 486-powered rf machine 10:29:05 it's nice because I don't have to worry about deallocating it 10:29:22 yeah I guess that would be nice 10:29:31 eg I use it for output buffering 10:29:46 linux i/o is very slow if you do it one character at a time 10:30:01 i suppose though i could modify the blocks to include my extensions on the boot floppy 10:30:32 so for many things I have EMIT (output one character) write to the heap, and when I'm done printing stuff, flush the whole thing to the screen/file 10:34:48 linux would take a wlite to call the write() syscall 100,000 times 10:35:39 (if I wasn't buffering the output, this would happen when I write all the sources, data and dictionary out to files) 10:35:44 yikes 10:36:01 could you set aside a space for buffering? 10:36:18 but, with buffering, it's less that 200 writes, and happens as near to instantly as I can detect 10:36:24 I could 10:36:33 but I have no reason to 10:36:45 how much should I allocate? 10:36:53 with a buffer, I'd worry about overflowing it 10:37:11 using the heap, the only way it will overflow is if I actually don't have enough memory to do whatever I'm trying to do 10:38:25 the dictionary file I output is 31KB 10:39:12 it's just a host of issues that I can completely ignore, at least for now 10:39:16 I'm keeping it simple 10:39:27 yeah, it sounds like the best way 10:40:10 it's just temporary, and you know when it's going to happen etc. 10:40:23 right 10:40:39 I only am using while the editor is displaying, or while the source export stuff is running or whatever 10:41:14 I do have to be a little careful of it I suppose 10:41:24 like I shouldn't allocate memory and use it while I'm buffering 10:41:33 but I'm perfectly happy with that 10:41:36 I don't do that anyway 10:42:23 I only buffer for editor display and source export 10:42:27 not when you call . or something 10:42:34 directly I mean 10:42:50 when you tell the editor to run something it doesn't buffer it 10:43:02 you should try my forth btw. you have linux? 10:44:07 yeah I'm on linux 10:44:22 cool 10:44:25 take it for a spin: http://herkamire.com/jason/herkforth 10:44:32 there's nice tutorials, lots of docs 10:44:55 ok, I'll check it out :) 10:44:59 see what it's like to have the editor and forth at your fingertips at once 10:46:00 docl: herkforth is what convinced me to add a block editor with interactive forth to retroforth :) 10:46:19 cool :) 10:46:51 docl: let me know if you have any questions, or trouble getting it to run 10:47:16 I just ran "apply" and it patched a bunch of files 10:47:43 hmm make gave me an error 10:47:45 ? 10:47:56 with rf8? 10:47:58 bunch of "no such instruction" messages 10:48:01 no herkforth 10:48:05 ok 10:48:52 guess I'll have to read the docs a bit 10:49:45 hmm I must have the wrong assembler 10:51:49 docl: download the binary 10:51:58 oh, yeah, you'll need qemu too 10:52:05 sorry, should have said 10:53:29 ok I'll try that 10:54:13 yeah I'm on x86 so I'd need an emulator 10:56:56 crc, fill takes arguements on stack as "data adress count" correct? 10:57:20 * saon just found fill and looked it up in the blocks 10:57:51 erm, nvm, lemme reread, that doesn't seem right 10:59:26 addr count byte 11:00:00 eg: pad 100 'x fill 11:00:08 fills the first 100 bytes of pad with "x" 11:01:28 thanks :) 11:01:51 docl: it runs great under qemu. Appears just as fast. I think the only thing that doesn't work is recovering from a crash. If you segfault under qemu it crashes. native it catches them, and if the source is still functional, it recompiles it's self and continues 11:02:29 saon: n/p 11:04:13 * crc wonders why qemu refuses to run the linux version of rf8 11:04:52 * crc wonders if qemu 0.7.0 will run it... 11:13:17 wow, that came out 3 days ago 11:13:35 yeah 11:14:05 it runs the native and L4 ports ok, but your system still has 0.6.0 on it... 11:14:46 I'm updating portage to see if I can get 0.7.0 11:15:01 (without the actual 2 minutes of work required to install it myself) 11:16:23 hehe 11:22:54 bbiab 11:23:29 --- join: Serg[GPRS] (~z@193.201.231.126) joined #forth 11:25:01 --- quit: Serg[GPRS] (Client Quit) 11:53:17 back 11:53:51 crc, do you have any documentation for the additions to the native version other than the code in the block files? 11:54:11 for stuff like read.sector and write.sector 11:55:38 for 7.6.1? 11:55:41 or 8.0? 11:57:32 7.6.1 11:58:57 let 11:59:00 let's see 11:59:06 7.6.1 has a CHS based driver 11:59:36 You'd pass the cylinder, head, and sector to the word 11:59:41 (in that order) 11:59:55 There's a "sector" word that stores the loaded sector 12:00:50 There's an "lba" word that translates a logical block address to chs format 12:01:16 okay, thanks crc :) 12:01:29 So if you said "0 lba read.sector" then the MBR would be loaded at "sector" 12:01:30 n/p 12:01:41 It's totally different in 8.0 though... 12:01:53 how's it work in 8.0? 12:02:39 You have a purely lba-based model. 12:02:58 blk0 is a variable storing the first block number to load 12:03:10 #blks is a variable storing the number of blocks to load 12:03:33 r is used to read #blks sectors to "offset", starting at blk0 12:03:52 w is used to write #blks sectors from "offset" to disk, starting at blk0 12:04:10 "offset" is a word that points to block 0 12:04:48 8.0's hdd support is a lot more flexible than 7.6.1 was 12:06:21 * crc needs to move the parallel and serial drivers from 7.6.1 to 8.0 soon 12:06:43 so the lba-based model is entirely block based model? :P 12:07:05 yes 12:07:37 how long do you think it will be before we can buy a normal hard drive that's 4TB? 12:08:07 Another year or two? 12:09:32 well 3 years ago the best bang for buck price was $250 for 40 gigs. few months ago it was $140 for 200 gigs. so in 3 years it'll be 1 TB for $80 12:09:43 give or take :P 12:11:04 cdn dollars here 12:11:56 actually i think the push for bigger harddrives at cheaper prices is slowing down.. 12:12:15 the average person doesn't seem to demand more than 80 gigs 12:12:32 a lot of the comps being put together these days are only 40 gigs to 80 gigs 12:12:49 yeah 12:12:54 most people just use email and web 12:12:55 * crc has never used more than 20GB 12:13:13 some have a music collection, but those are usually less than 10GB 12:13:24 so what we need to do is invent some new thingamajig that fills up hdd space 12:13:31 so that ppl feel the need to upgrade :P 12:13:48 it's called the internet ;) 12:14:28 true.. but how to trick people into caching 200 gigs of internet onto their hdd? 12:14:48 dunno 12:14:52 maybe just stop the name-calling 12:14:55 pirate! 12:15:00 haha 12:15:17 maybe everyone should have their own search engine 12:15:46 I bet a lot more harddrives would fill up if more people had software to rip DVDs 12:15:58 i have a 40gig filled and another 12 gig for system at around 5 gigs full 12:16:13 i have family guy and futurama episodes as well as a few movies 12:16:43 and music 12:17:04 that's really the only reason i'd need that much hd space 12:17:15 my HD is 30GB, with a few partitions (and a couple OSes) it's getting mostly full 12:18:02 my 40 gig hdd is full but thats because 30 gigs was music & anime 12:18:42 at one point between my roommate and i, we had 110 gigs of anime and that was a pretty small collection 12:19:22 movies are big 12:21:23 i think a personal search engine (or perhaps search agent) for everyone might be cool.. 12:21:42 i mean think about all the sites that google hasn't indexed for political reasons! :P 12:23:19 your own personal spider? 12:23:36 yeah.. 12:24:06 surely we can trick people into haveing their personal search agents (agents = bots = spiders) 12:24:43 well nah.. 12:24:48 microsoft will deal with it 12:24:50 it just goes around sucking sites onto your hd? 12:25:10 yeah based on your specifications 12:25:34 or whatever 12:25:37 not a spider.. 12:25:42 just indexing 12:25:44 not necessarily caching.. 12:25:50 heh 12:25:54 i don't know the benefit tho! 12:25:58 not caching? I thought we were trying to fill hds here 12:26:27 indexing is pretty filling :P 12:26:50 adding transparent version control would take up space too... 12:28:11 google only has 8 billion pages 12:28:46 --- quit: I4404__ ("Leaving") 12:30:33 8 billion pages at like a kilobyte each could be 800 gigs.. 12:30:49 plently filling :P 12:32:59 if we wanted to fill hard drives, why not write bloated software? ;) 12:33:36 heh 12:34:50 Who cares if we use a 412 megabyte library, as long as the app itself is only 1k? ;) 12:35:52 heh 12:36:14 and let that library get loaded into memory for each app 12:36:27 yeah 12:36:29 a copy of the library for each app in mem 12:36:30 heh 12:37:13 * crc would rather code retroforth, where he can control the exact memory and size usage. With no bloated dependencies either :) 12:39:03 yeah 12:40:31 besides, there's just something nice about fully understanding the tools you use... 12:47:10 8 billion times 1 kilo is 8 terabytes 12:47:49 great, thats even better than the 4TB you wanted 12:47:50 :P 12:48:21 I don't need 4TB, I was just curious how long it would take before storing sector numbers in 32 bits would become obsolete 12:48:32 ah 12:48:52 32 bits to store sectors, 512 byte secters... 2TB 12:48:56 well what about two 4TB then? 12:49:07 oh 12:49:57 2TB sounds like plenty to me 12:50:01 how come ext2 can handle 4TB ? 12:50:24 maybe it works with it in 1K chucks 12:53:00 i coulda sworn that i read somewhere that the addressing model that my 200gb hdd uses can handle up to 4tb.. lba or better.. 12:53:25 http://www.retroforth.org/fwiki/?id=index 12:53:44 I got RetroWiki 1 to use the new markup code :)( 12:53:44 FWIW you'd have to cache the text from pages, not html. often there's no visible content (except the title) in the first KB of html documents 12:53:45 I got RetroWiki 1 to use the new markup code :) 12:54:32 so you mean you replaced the retrowiki 1 core with the dictionary trick? 12:54:37 no 12:54:49 the php stuff basically hides the words at this point 12:54:59 Fully sealing off the dictionary will come later 12:55:15 oh i see 12:55:26 (this was a hack job, just to prove it works ok in a live environment) 12:55:31 ah 12:55:50 I also updated the rf binary I use in it to 8.0-beta1 :) 12:56:00 btw the 3 column thing with the wiki squished in the middle just negates any and all interest that i have at looking at it or adding stuff to it :( 12:56:27 the three column stuff will be disappering soon 12:56:33 ok great 12:56:37 I'm playing with ideas for a new layout :) 12:56:47 you're quite the web devver 12:56:56 heh 12:57:01 do you hate web dev yet? :P 12:57:10 http://retro.tunes.org/ is my site for experimenting with layouts... 12:57:18 thinfu: yes 12:57:42 whats your plan with the forthworks layout? 12:57:44 I look forward to whenever swsch gets back to work on RetroWeb so I can code my pages in Forth rather than raw html 12:57:59 yeah 12:58:00 The forthworks layout is going to stay as-is 12:58:03 I like it 12:58:28 crc, looks sexy 12:58:30 But it's *not* retroforth-specific, so I don't want too much similarity in the designs 12:58:43 I did the logo image today 12:58:59 what's Dex4u? 12:59:18 http://falconrybells.co.uk/ 12:59:35 A couple of people from the FASM message board are writing it 12:59:52 I did a RetroForth port (based on the native codebase) for them to play with 13:00:05 crc: so whats the difference between dex4u and bos and all the rest of the oses coded in asm designed for game dev 13:00:32 dex4u = essentially a 32-bit DOS 13:00:45 looks very sexy 13:00:48 BOS is less complete, but looks like it'll have a saner internal design 13:01:02 and what about v2os and the rest.. 13:01:04 (the developers of Dex4u and BOS collaborate) 13:01:08 v2os is dead 13:01:21 yeah? any particular reason? 13:01:28 I discussed the possibility of a RetroForth port, but they weren't really helpful 13:01:38 thinfu: a stalled rewrite effort. 13:01:42 ah 13:01:45 It has barely changed in 3 years 13:02:01 v2os 0.7x can't even load a program from a disk 13:02:07 are there any other asm oses out there that are competing with dex4u etc ? 13:02:29 what about uuu 13:02:33 ununium or whatever 13:03:15 uuu is moving away from assembly 13:03:21 unununium IIRC 13:03:42 does dex4u run dos programs ? 13:03:48 hrmm, dex4u looks interesting 13:03:55 i'm just curious if there's a need for dex4u really? 13:04:09 but i guess the ppl coding it think there is :P 13:04:10 thinfu: yes 13:04:31 k 13:04:45 thinfu: I personally prefer rf/native to dex4u, but that's because the main developer of dex4u is kind of uncooperative 13:04:56 yeah 13:04:59 For instance, I offered to add hard drive support to it for them 13:05:10 He refused, saying he didn't want hard drive support 13:05:20 wt...? 13:05:25 Now he's writing an hdd driver himself :( 13:05:29 how can you not want hd support? 13:05:33 Same thing with serial and parallel support 13:05:42 rf/native + game design code from ref/glypher = better than dex4u ;P 13:05:49 * crc even offered to add ext2fs support, and was also turned down 13:05:57 thinfu: I wouldn't doubt it 13:06:14 thinfu, ref/glypher? 13:06:17 crc: I upgraded qemu 13:06:18 When glypher development stabilizes a bit I'll be getting a copy of it to review 13:06:21 Herkamire: cool 13:06:43 ref and glypher are forks of retroforth for game development 13:07:33 grr, 0.7.0 still won't run rf8/linux :( 13:07:49 glypher now has a colored editor 13:08:14 Herkamire: how does the new qemu + herkforth handle the segfaults now? handle cleanly or still crashes qemu? 13:08:19 crc: do you know why not? 13:08:28 http://rogerlevy.blogspot.com/ 13:08:31 Herkamire: no 13:08:35 bugger 13:08:38 crc@herkamire retro8 $ qemu-i386 bin/rf 13:08:38 qemu: uncaught target signal 11 (Segmentation fault) - exiting 13:09:04 The native version runs fine under Qemu, at least on my box 13:09:12 so does the L4 port 13:09:38 thinfu: well, it doesn't crash qemu, qemu lets you know that herkforth crashed, and then exits 13:09:46 no different with 0.7.0 13:09:50 i see 13:10:06 crc: cool 13:10:08 so thats its default setting, to exit when it crashes.. 13:10:13 maybe you can toggle that somewhere? 13:10:37 I really want to run the linux version. because the keybinding sucks for me in qemu when emulating an OS 13:10:59 hmm 13:11:07 thinfu: I think the problem is that qemu doesn't support the signal() syscall 13:11:36 but I'm not sure exactly 13:11:48 is that the same thing that the linux rf is having trouble with? 13:11:59 it sez signal in that error message :P 13:13:13 yeah, qemu prints this when I start it up on herkforth: Unsupported ioctl: cmd=0x40147417 13:13:17 Unsupported ioctl: cmd=0x80147418 13:13:19 qemu: Unsupported syscall: 48 13:13:22 qemu: Unsupported syscall: 48 13:13:22 syscall 48 is signal() 13:13:42 and the ioctls must be tcgetattr and tcsetattr 13:14:01 because turning off the terminal echoing and such doesn't work 13:14:06 the generic (libc-backed) version also refuses to run under qemu :( 13:14:28 what about the freebsd one heh 13:14:40 thinfu: there is no freebsd version of rf8 13:14:46 when you run the linux one in qemu 13:14:50 are you loading a linux in qemu 13:14:51 I don't think qemu does bsd anyway 13:14:52 No one has offered me ssh to a freebsd box :) 13:14:53 and then running rf ? 13:15:01 thinfu: no 13:15:12 qemu can emulate x86 linux for a single process 13:15:24 qemu originally only did this 13:15:36 it was designed to run linux programs on linux 13:15:42 ok i see 13:15:47 but programs that were compiled for a different architecture 13:15:56 so you don't want to run linux in qemu because the nyour key bindings would get screwed too ? 13:16:13 so it just emulates the CPU, and translates syscalls (byte ordering, ioctl numbers etc) 13:16:34 I don't want to run linux in qemu for a number of reasons 13:16:36 hd space 13:16:41 slow slow slow 13:16:55 keybindings 13:17:04 and I don't have an image 13:17:34 it's nice running a linux program with qemu because it uses your terminal 13:17:50 it doesn't have to use a crappy builtin terminal 13:18:01 ok 13:20:41 anybody know how to acces the pc-speaker? 13:21:31 so you can redirect/pipe i/o, copy, paste, and it uses your normal keybindings of course 13:21:35 * saon wants to make some music and morse code 13:22:24 I want to make music too 13:23:12 i got my hp49g+ to make morse code :) 13:23:22 but userRpl is not as nice as forth 13:24:00 saon: you want to access the speaker under native rf? or linux? 13:24:33 under linux you can just open() /dev/fb and write() to it 13:24:41 native 13:24:55 * saon has his assembler book in hand 13:25:01 * crc adds ~ to RetroWiki's markups 13:25:48 crc: can I see your new retrowiki syntax? 13:26:00 hrmm, port 42h 13:27:07 http://www.retroforth.org/fwiki/?id=QuickReference 13:27:10 and the lower two bits of port 61h 13:27:15 The syntax is pretty cut and dry 13:27:20 *text* bold 13:27:39 italics: /text/ 13:27:46 underline: _text_ 13:27:54 headings: =text= 13:28:00 is there some way to have those characters in your text? 13:28:10 Links: [Pagename|description] 13:28:15 Herkamire: ~* 13:28:19 ~/ 13:28:23 cool 13:28:26 ~ displays the next char 13:28:40 That's the entire syntax thus far 13:29:04 images are next... 13:29:25 crc, what's the input order for out.b? 13:29:27 {imagename|alt} 13:29:40 data, port? or the reverse? 13:29:41 Herkamire: good idea :) 13:29:47 saon: I don't recall offhand 13:29:51 okies 13:29:57 * saon goes to experiment 13:30:26 port byte 13:31:04 port byte out.b 13:31:33 :) yes yes, that's what my beeping computer is telling me as well :D 13:31:40 * crc has barely touched 7.6 since 8.0 reached the same stability level 13:31:45 cool 13:36:11 http://www.retroforth.org/fwiki/?id=SandBox 13:36:18 showing an image :) 13:36:31 I'm not doing the alt attribute yet... 13:37:24 saon: you have sound? 13:37:35 * crc never got around to adding support for the PC speaker 13:41:09 hrmm, yes, sort of 13:41:21 writing to port 42h by itself is naughty 13:41:57 you're supposed to write to the command register (43h) with the data needed, but, i have to look at it carefully because it needs register values to write properly 13:42:00 =/ 13:42:22 nvm, ax is top of stack, it should play nice 13:43:32 :) 13:44:36 hrm 13:44:38 retroforth is most helpful in hex, decimal, and binary conversions :) 13:44:42 what's with the font tags? 13:44:49 in what? 13:45:15 your wiki 13:45:21 relics 13:45:38 home | 13:45:58 Heh 13:46:01 oops, line cut off 13:46:15 wonder if I can get w3m to open vim when I say "view source" 13:46:20 that line has been there since the first prototype of RetroWiki 13:46:39 okay, rebooting then writing code to play nice with the timer circuit and the control register 13:46:50 When I redo the wrapper, I'll fix it 13:51:02 heh heh. I can 13:52:19 for some reason the command to "edit current document" complains "Can't edit other than local file" 13:52:33 but there's a command Edit currently rendered document (EDIT_SCREEN) 13:52:41 which works fine 13:52:50 edits what you see on the screen 13:52:57 crc, data in the top of the stack is in flat binary, not bcd, yes? 13:52:57 but if you view source first... you get the source :) 13:54:09 no bcd 13:54:12 flat binary 14:00:05 blech, the example in this book is not very helpful 14:01:10 * Herkamire stops slacking 14:01:34 they lay out the command to port 43h as 8 bits. bit0 is binary or bcd, bits 1-3 is operation mode (?), bits 4,5 are operation type and bits 6,7 are the channel (10 for channel 2, the speaker) 14:02:15 but they give a value of b6 which denotes bcd, operation mode 3 (whatever that is), operation 2 (read/write high byte), and channel 2 14:15:39 oh well, got the nice on/off working at least 14:18:03 crc, what's faster? "61 61" or "61 dup" 14:18:58 Same speed 14:19:10 actually 61 dup will be slightly faster 14:19:21 a couple clock cyles... 14:19:58 yay, spon and spoff work 14:20:31 cool 14:20:46 * crc just fixed a couple of minor bugs in the PHP wrapper 14:21:04 now the RetroWiki is working properly at last :) 14:21:18 : spon hex 61 dup in.b 03 or out.b decimal ; : spoff hex 61 dup in.b fd and out.b decimal ; 14:21:46 i have a feeling that i'll start using rf in full hex though 14:22:13 : spon $61 dup in.b $03 or out.b ; 14:22:13 : spoff $61 dup in.b fd and out.b ; 14:22:34 $ means the number is hex 14:22:53 (I almost never switch from decimal, execpt to see output in other bases) 14:23:16 cool 14:23:32 'a | Gives 97, the ASCII value of 'a' 14:23:32 %1100 | Gives 12, or 1100 binary 14:23:32 $ff | 255, or hexadecimal FF 14:23:32 &010 | 8, or octal 10 14:23:32 #123 | 123, decima 123 14:23:42 (The # prefix is new in 8.0) 14:24:44 man, I'm getting serious here 14:24:55 no more need for char emit 14:24:55 yay 14:25:14 got to thinking "if I'm going to change the source format, and the editor too to get this dependancy stuff in, might as well make other thanges to the source at the same time" 14:25:33 I'm not sure that's good thinking 14:27:32 : speaker $61 dup in.b ; 14:27:32 : spon speaker $03 or out.b ; 14:27:32 : spoff speaker $fd and out.b ; 14:27:36 factor it out a bit... 14:35:29 crc: why did you pick ~ thats wayyyy over there on the keyboard :P how about ^ instead ;P 14:35:47 I like ~ 14:35:56 I can type it with one hand :) 14:36:17 ^ takes two hands for me to type 14:38:04 I don't like it when you have to escape a lot of stuff 14:39:23 me either 14:40:01 in my wiki syntax I made sure there's only one special character 14:40:56 * crc isn't too concerned 14:41:10 unfortunately, there doesn't seem to be a human-editable way of doing away with escaping 14:41:24 My wiki has never really taken off, even when I tried various "normal" wikis 14:41:44 how can you type ~ with one hand? i have to hold the right shift and reach my left pinky over .. 14:42:13 thats so that i don't move the left hand completely off the home row eh :P 14:42:13 thumb on left shift, ring finger reaches ~ 14:42:19 cheater :P 14:42:24 I don't use the home row 14:42:42 how fast do you type? 14:42:44 (I actually do a lot of typing with one hand on the keyboard now) 14:42:51 ahh 14:42:53 hmm 14:42:53 On a good day 55-60 wpm 14:43:07 On a bad day as little as 5-10 wpm 14:43:11 depends on the pain... 14:43:17 how come one hand? the other is too painful? 14:43:25 I have one hand for the keyboard, one hand for the number keypad 14:43:34 maybe you should get the surgery.. apparently its quite a quick process 14:43:37 I've toyed with the idea of learning one of the one handed dvorak layouts 14:43:53 I type one handed on qwerty 14:43:58 but I'm dyslexic enough as it is thankyou 14:44:03 Herkamire: or both for each hand, two monitors, two keyboards for each hand, and twice the pain!! 14:44:25 two OSes too 14:44:27 mwahaha! 14:44:33 har 14:45:01 i think it would be possible to do it tho 14:45:11 just use peripheral vision to see the stuff on both monitors 14:45:31 and also suspend part of your conscious thinking to type on both keyboards at the same time 14:45:34 a bit of training.. 14:45:51 hmm 14:46:06 ... 14:46:07 give the left brain the more logical chores.. 14:46:08 why? 14:46:16 and the right brain the more artistic ones 14:46:22 why not? 14:46:26 probably get things done faster :P 14:46:39 probably get nothing done and a headache 14:46:48 yeah.. time to figure out how to draw with the keyboard only 14:46:55 nah i don't get headaches 14:47:42 i can count the number of headaches i've had in my life time on one hand 14:48:42 did you know that the more dendrites you've got in your head the smarter you are? and that dendrites are grown whenever you're learning something new? so if you're constantly challenging yourself and learning new things you're gonna have a shitload of dendrites 14:50:00 dendrites eh? 14:50:04 hehe 14:50:26 regardless of dendrites, I'd say that people that spend time learning new things would tend to be smart 14:50:37 or at least if they spend time figuring things out 14:50:48 I don't think wrote memorization makes you smar 14:50:49 t 14:51:33 sometimes we like to chant "Smart! Smart! S! M! R! T!" 14:51:42 heh 14:51:50 i don't believe rote memorization makes people smart 14:52:07 factoring does though! 14:53:18 anyways, just so that you know dendrites are dynamic growth extensions of the nerves.. when someone first starts playing tetris their dendrites go up and then after a week of playing everyday and getting pretty good the dendrite levels fall slowly back to normal once the brain has figured out the game etc.. 14:53:41 go dendrites! 14:54:58 heh :) 14:55:10 is 0if equivalent to dup 0 = if ? 14:56:24 nevermind 15:00:54 thinfu: yes 15:01:18 actually it worked without the dup 15:11:11 where has arke been? 15:14:20 getting in with the bad crowd and smoking weed 15:17:31 ! 15:21:28 i don't know :P 15:23:06 oops 15:23:24 yeah, no dup 15:23:26 it eats tos 15:23:36 --- join: zoly (~l@p549DE99F.dip.t-dialin.net) joined #forth 15:23:55 g'day 15:23:59 hi zoly 15:24:39 hi Herkamire 15:25:39 Hi zoly 15:26:12 hi crc 15:27:16 * crc rewrote the core of RetroWiki today 15:27:21 you know a forther with nick quirin ? 15:27:32 no 15:27:44 not I 15:28:04 nor do i i think 15:28:49 ah 15:29:00 wiki search found him :) 15:30:12 i reckon he doesn't know #forth then 15:30:23 just stumpled apon this: http://de.wikipedia.org/wiki/Benutzer:QSchinagl 15:32:33 i'm going to edit his profile, and will tell there about the existence of this channel 15:33:59 ehm,,, i could be wrong in assuming hat quirin and qschinagle are the same person. 15:34:04 yes, this channel is a gateway drug 15:34:54 zoly: it says "nice to see you! - quirin" at the bottom .. 15:37:43 zoly: btw, what does the forthfreak logo represent? 15:38:36 that's the chosen icon to identify hackers. it represents a glider, of conway's life 15:39:29 http://www.linuxtaskforce.de/hacker-howto-ger.html 15:39:59 http://www.idrewthis.org/2004/cartersauce.html 15:40:43 zoly: nifty :) 15:40:48 english version: http://www.catb.org/~esr/faqs/hacker-howto.html 15:41:07 http://www.nexistepas.com/enthuse/2003/11/glider-appropriate-hacker-emblem.htm 15:43:14 http://www.catb.org/hacker-emblem/faqs.html 15:43:48 the only thing annoying about the hacker howto is the languages recommended heh 15:44:49 it should place more emphasis on lisp at the very least 15:45:05 but whatever :P 15:45:26 Python, C/C++, Java, Perl, and LISP.... 15:45:33 Lisp is good 15:45:53 Java is a mess 15:45:58 C is tolerable 15:46:03 "spot the one not belonging to this set" 15:46:12 And I just dislike C++. Perl, and Python 15:46:26 Why did he have to recommend learning Java!? 15:46:33 right 15:46:37 that's the one 15:47:03 that may be a hidden intelligence test 15:47:10 maybe... 15:47:19 or perhaps he's a bit misguided. 15:47:37 I mean, whatever happened to FORTRAN and assembly? 15:47:58 right. asm is definitely missing 15:48:19 that's THE hacker language, if there's any 15:48:35 Assembly, Forth, and Lisp make up the trinity of languages IMO 15:48:45 crc: agreed.. 15:48:52 100% 15:48:57 i wasn't going to say that out loud tho 15:48:57 heh 15:50:29 * crc has used enough languages to know what he prefers. And I refuse to not speak my mind :) 15:51:59 crc: in what order does one learn those 3 languages tho? 15:52:07 i mean i think asm would be the first to learn 15:52:29 asm was my 3rd 15:52:56 especially since a great book called "Assembly language step-by-step" Editition 2 by Jeff Dunteman doesn't require you to know previous languages, and gives you the full background before even telling you the assembly mnemonics 15:52:56 after apl, then *looking ashamed* basic 15:53:06 zoly: hehe :) 15:53:10 I learned Lisp, Assembly, then Forth 15:54:14 i messed a little bit in basic, but only a little.. then learned C, then asm, then forth 15:54:23 but i don't see myself as going from forth to lisp 15:54:42 i just don't believe forth is lacking anything that lisp has heh 15:54:54 so thats the problem with learning asm then forth 15:54:59 i guess lisp would be a good first lang to learn :P 15:55:16 ...lacking anything *really necessary* what lisp has 15:55:49 otherwise one might argue "forth no garbage collection" 15:57:55 yeah 15:58:36 one could stretch : and ; to be grouping operators, like lisp ( ) 15:58:42 well if a guy builds an app in forth that actually needs garbage collection it shouldn't be that hard to build it for that app 15:58:45 sort of 15:59:34 there's a difference between "has it" and "can be used to make it" 16:01:04 I learned: basic, pascal, c, c++, java, javascript, cobol, fortran, php, lisp, assembly, then forth, in that order 16:01:22 (along with various other languages that I can't recall the exact order of) 16:02:09 seems forth is often on of he last languages one learns 16:02:33 it was one of the last languages I encountered 16:02:34 one of the ... 16:02:50 (APL was the other) 16:03:20 i learned apl first because i didn't understand basic then :) 16:03:41 * crc wishes he had encounted forth sooner 16:07:33 qbasic, pascal, c, c++, asm, forth, java (school) :P 16:08:35 i believe the key to forth is having the ability to unlearn all the other paradigms picked up 16:08:53 which isn't a problem for me, i unlearn so rapidly its gone before you can say "what?" 16:11:35 * crc kept bits of the old paradigms 16:42:07 --- part: zoly left #forth 16:43:24 --- join: tkb (~tkb@dhcp-69-43-0-165.pitbpama-max5.dialup.citynet.net) joined #forth 17:03:17 goodnight 17:27:50 --- quit: tkb (Read error: 145 (Connection timed out)) 17:55:18 evening all 18:03:40 howdy 18:06:54 I'm having a strange go at things this evening. I'm learning the dvorak keyboard. 18:08:25 despite the awkwardness, it definitly feels more comfortable. 18:10:30 yeah I have experimented with that too 18:14:28 * docl switches to be like swalters :) 18:15:30 the learning curve makes it so tempting to quit 18:16:17 I made the switch complete so that I //must// learn it well to use my computer. 18:16:51 hehe cool, good luck 18:18:01 I'm just using the KDE option here 18:18:29 I also don't have anything important to do for a few days, so I have some slack in learning. 18:19:03 yeah that helps 18:19:21 * swalters goes to play on the typing tutor.\ 18:21:43 it is surprising when you come back and remember it so much better than last time. 18:24:15 I'm amazed at how easily I am picking it up. 18:25:10 the key is to press them really fast so it goes into the long term memory quicker 18:28:22 I stop and think about the form of the entire word before I type it. Then I type the entire word as fast as I can. You should learn words, not letters. 18:28:55 hmm good idea 18:33:55 love the concept 18:36:32 hmm looks like I missed a language-comparison session :P 18:36:42 Well, you think in words, but you must pronounce each sound. How should typing be any different? 18:39:27 the letters must be linked somehow 18:44:41 Did you know that when you read that you cue mostly off the shape of the word? 18:44:52 yeah the mind more easily memorizes words first, then the individual letters can come later 18:44:58 Not the letters? 18:45:18 hmm interesting 18:46:57 It's what speedreading is based on... learning to ignore the letters. 18:47:29 and read the shapes. 18:49:06 Personally, I think I'm doing quite well for only two hours of using dvorak. 18:49:10 hmm maybe that's why my progress has been slow in that area 18:49:33 yes, very :) 18:51:19 were you a touch-typist already? 18:51:57 Yes... since the second grade 18:53:00 that musta helped 18:54:21 me I just looked at the keys all my life so I had to unlearn a bit 18:54:28 *shrug* Who knows. 18:55:05 it's better now than it was 18:55:57 Put a towel over your hands, and don't look at the screen as you type. 18:56:54 You will benifit greatly from that. 18:57:29 hmm type with my eyes closed maybe? 19:00:55 well I don't look so much in dvorak anyways, but the screen is a bit of a distraction I guess 19:00:57 for a while... 19:02:17 does seem te help make less mistakes if I close my eyes 19:03:55 since I can't backspace as much 19:04:51 sight is the last link you can remove in the typing chain. 19:13:24 --- join: Al2O3 (~Al2O3@c-24-1-126-202.hsd1.tx.comcast.net) joined #forth 19:42:05 using the typing tutor is stressful... 19:54:51 --- join: KB1FYR (~Alex@196-220.suscom-maine.net) joined #forth 21:10:28 --- part: KB1FYR left #forth 21:12:55 --- join: KB1FYR (~Alex@196-220.suscom-maine.net) joined #forth 22:30:04 --- nick: KB1FYR -> Alex|sleep 22:53:59 --- quit: Frek ("Client exiting") 23:10:58 --- join: Frek (669-ident-@h68n2fls31o815.telia.com) joined #forth 23:59:59 --- log: ended forth/05.04.30