00:00:00 --- log: started forth/08.09.13 00:12:16 --- join: BobFunk (n=mathiasc@121.pool85-61-95.dynamic.orange.es) joined #forth 00:21:52 --- quit: BobFunk () 00:49:24 --- quit: Myoma (Read error: 113 (No route to host)) 00:58:18 --- join: Myoma (n=witch@amcant.demon.co.uk) joined #forth 01:18:43 --- quit: nighty^ ("Disappears in a puff of smoke") 01:18:53 --- join: nighty^ (n=nighty@x122091.ppp.asahi-net.or.jp) joined #forth 01:36:57 --- join: Malfermi1aKodo (n=kansu@xdsl-78-34-142-50.netcologne.de) joined #forth 01:48:51 --- quit: MalfermitaKodo (Connection timed out) 02:06:15 --- nick: Malfermi1aKodo -> MalfermitaKodo 02:07:33 --- join: neceve (n=ncv@89.45.123.2) joined #forth 02:33:44 --- join: qFox (i=C00K13S@132pc222.sshunet.nl) joined #forth 04:51:05 --- join: gnomon (n=ben@216.40.38.232) joined #forth 06:25:07 --- join: lasts (n=lasts@77.207.25.109) joined #forth 07:03:18 --- quit: Myoma (Read error: 113 (No route to host)) 07:10:16 --- join: Myoma (n=witch@amcant.demon.co.uk) joined #forth 07:35:10 --- join: ASau` (n=user@193.138.70.52) joined #forth 07:36:09 --- quit: ASau (Read error: 113 (No route to host)) 07:36:22 --- nick: ASau` -> ASau 08:58:43 --- join: alexshendi (n=user@dslb-092-074-180-008.pools.arcor-ip.net) joined #forth 09:03:12 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 09:03:12 --- mode: ChanServ set +o tathi 09:15:29 --- quit: findinglisp (Connection reset by peer) 09:16:00 --- join: findinglisp (n=user@c-24-6-200-166.hsd1.ca.comcast.net) joined #forth 09:17:07 --- quit: findinglisp (Remote closed the connection) 09:59:15 --- join: JasonWoof (n=jason@c-65-96-160-164.hsd1.ma.comcast.net) joined #forth 09:59:15 --- mode: ChanServ set +o JasonWoof 10:24:57 --- join: HTT-Bird (n=lthode@unaffiliated/htt-bird) joined #forth 10:26:26 ok, has anyone around here ported Forth to a RISC chip? (MIPS, ARM, PPC, ...) 10:26:32 sure (PPC) 10:26:42 why do you ask? :) 10:26:48 ah. DTC or native? :) 10:27:05 I've done both. 10:27:28 Well, nothing sophisticated in the way of native compiling 10:27:36 because I am still puzzling over how to work around limited branch ranges in threaded code :p 10:27:58 In *threaded* code? 10:28:39 You usually have a full cell for the branch target in threaded code 10:28:54 yes. take DTC for instance, you can't have a word more than x MB away from ENTER or else you have to generate glue 10:29:06 or use a long (3-4 word) CF 10:29:26 Oh, I see. 10:29:43 Hrm. I think I just decided it wasn't ever going to be a problem. 10:30:01 Let me see if I still have a copy of my IsForth/PPC port around 10:30:17 ITC works, until you run into DOES> words 10:30:40 then you run into the same problem with the DOES> part and working around it seems....really really ugly 10:30:54 yeah, I can see that. 10:31:17 I'm pretty sure I just assumed I was never going to have more than 16MB of code. 10:31:39 It seemed like a safe assumption :) 10:31:44 most Forther's wouldn't need more than x MB of code though, but sometimes you run into cases where your ROM and your program RAM are very far apart in the address map :( 10:32:58 unless you have some sort of "zero-page" call, are willing to do MMU/TLB gimmicks, or wish to use a soft trap for things like ENTER, you're kind of forced to use ITC 10:34:07 although if you got clever with the TLB on some cores/chips (MIPS 4K cores with MMUs, etal), you could have yourself a fairly nice workaround :) 10:34:08 or just put another copy of ENTER somewhere 10:34:30 yeah, relocating stuff from ROM into RAM can be done 10:34:58 (it'd have to be limited to ENTER/EXIT/...) 10:36:47 yeah, it's only a few words 10:37:16 sign- vs zero- extended branch displacements cause other problems though 10:37:49 zero-extension makes it hard to call a word that's at a lower memory address then where you're at :P 10:38:04 sure 10:38:06 s/word/machine-code 10:38:12 *machine code fragment :P 10:38:25 I was gonna say that, but decided you knew what I meant. :) 10:38:43 heheh :) 10:39:39 well, I'll probably look into either a) relocating ENTER/EXIT/NEXT or b) TLB hackery once I get some (possibly simulated) HW to play with :P 10:39:45 So are you doing some embedded PPC stuff where this is actually a problem, or just trying to plan for every contingency? 10:40:03 well, I've been exploring Forth on RISC chips for a while now 10:40:07 Ah. 10:40:10 Oh, one more thought. 10:40:31 PPC does have an absolute addressing mode, so if your ROM and RAM are separate, and your ROM is in low memory... 10:40:43 --- join: Maki_ (n=Maki@adsl-224-84.eunet.yu) joined #forth 10:41:01 and it seems to work out really well on most embedded RISCs, except for that one problem of branches not reaching what you want them to reach at times. 10:41:31 SuperH is the pathological case with its fixed-length 16bit instructions 10:41:36 bleh 10:41:51 Xtensa isn't as bad, but then you get into wacky code alignment issues. 10:44:24 Huh. Never heard of Xtensa before. 10:44:42 tathi: www.tensilica.com 10:45:08 basically, it's the base ISA of their Xtensa customizable/extendable CPUs 10:45:20 it's a really nice idea, I'll give them that :D 10:46:13 on an unrelated note...I wonder if anyone's ever toyed with a 64-bit Forth model on a 64-bit CPU :P 10:46:23 yeah, looks yeah, looks like a neat idea 10:46:27 oh sure 10:46:46 gforth has been ported to x86-64, and Marcel has an iForth64 port 10:47:42 heheh 10:48:38 the only other issue I saw with RISCs and Forth 10:48:44 is division, of all things 10:49:13 most RISC chips that implement hardware division insns implement them as non-narrowing instructions 10:49:19 i.e. 32/32->32r32 10:49:22 yeah 10:50:00 Forth division is narrowing though. so, the workaround I was thinking of was using the 32/32 div as a 32/16 div and then putting four of those together to make a 64/32 div. 10:50:38 the algorithm isn't *quite* that simple, but that's basically what I did for IsForth/PPC 10:50:59 yeah the "putting four of those together" part is the hard part :) 10:53:51 Well, if Tensilica has an ISA spec somewhere, they managed to hide it well enough that I can't find it. 10:54:04 lol, I never have had trouble finding it 10:54:09 and yes, it's on their website 10:58:39 aha 10:59:54 I was expecting it to be in the 'Literature and Documentation' section, not a little link in the middle of the architecture page. Silly me. 11:00:37 OK, I should get back to doing actual work. 11:04:12 cya 11:04:33 --- part: HTT-Bird left #forth 11:11:23 --- quit: alexshendi (Read error: 110 (Connection timed out)) 11:32:52 --- join: erg (n=erg@li13-154.members.linode.com) joined #forth 11:33:30 --- join: Jinka (n=Katen@AStrasbourg-156-1-48-115.w81-51.abo.wanadoo.fr) joined #forth 11:34:01 lasts : hank se fait vasectomiser, il trompe sa femme involontairement, et il finit en tole. 11:34:11 admire, Cygal. 11:38:53 --- quit: Jinka (Read error: 104 (Connection reset by peer)) 11:46:03 wtf 11:47:34 That cannot possibly have been on purpose. 12:07:43 --- join: aum (n=aum@60-234-243-247.bitstream.orcon.net.nz) joined #forth 13:04:07 --- quit: aum ("Leaving") 13:11:35 --- quit: Maki_ ("Leaving") 13:42:23 --- quit: qFox (Read error: 104 (Connection reset by peer)) 13:45:01 --- quit: MalfermitaKodo (Read error: 104 (Connection reset by peer)) 13:46:51 --- quit: JasonWoof ("fiddling with WM") 13:49:49 --- join: MalfermitaKodo (n=kansu@xdsl-78-34-144-154.netcologne.de) joined #forth 15:08:28 --- quit: Myoma (No route to host) 15:10:27 --- join: Myoma (n=witch@amcant.demon.co.uk) joined #forth 15:16:34 --- quit: neceve (Read error: 104 (Connection reset by peer)) 17:40:55 --- quit: tathi ("leaving") 19:53:34 --- quit: nighty^ (Read error: 110 (Connection timed out)) 20:49:37 --- join: nighty^ (n=nighty@x122091.ppp.asahi-net.or.jp) joined #forth 21:35:14 --- quit: nighty^ ("Disappears in a puff of smoke") 21:35:55 --- join: nighty^ (n=nighty@x122091.ppp.asahi-net.or.jp) joined #forth 22:02:24 --- join: BobFunk (n=mathiasc@7.pool85-54-162.dynamic.orange.es) joined #forth 22:10:48 --- quit: BobFunk () 22:28:12 --- quit: nighty^ (Read error: 110 (Connection timed out)) 22:31:35 --- join: nighty^ (n=nighty@x122091.ppp.asahi-net.or.jp) joined #forth 23:59:59 --- log: ended forth/08.09.13