00:00:00 --- log: started forth/14.09.01 00:19:31 --- quit: ASau (Ping timeout: 240 seconds) 00:28:26 krainboltgreene, sorry i was up all night last night so had a little nap, dont give up! 00:28:53 or did he leave when i fell assleep 00:29:07 no he is still here phew :) 01:06:36 --- nick: Adeon_ -> Adeon 01:10:14 --- quit: Guest32617 () 01:10:48 --- join: Guest32617 (sid1310@gateway/web/irccloud.com/x-rzvvsonacdwcvqem) joined #forth 01:11:47 --- quit: Guest32617 (Client Quit) 01:12:24 --- join: dch (sid1310@couchdb/committer/dch) joined #forth 01:16:14 --- join: Addiction (~Addiction@115.248.45.78) joined #forth 01:51:42 --- quit: mr-foobar (Ping timeout: 255 seconds) 01:53:08 --- join: mr-foobar (~mucker@49.205.73.166) joined #forth 02:03:56 --- quit: ErhardtMundt (Ping timeout: 245 seconds) 02:04:55 --- join: [1]Addiction (~Addiction@115.248.45.78) joined #forth 02:05:06 --- quit: Addiction (Ping timeout: 245 seconds) 02:05:06 --- nick: [1]Addiction -> Addiction 02:06:53 --- join: DGASAU (~user@p50993595.dip0.t-ipconnect.de) joined #forth 02:07:40 --- join: ErhardtMundt (~quassel@93-43-152-73.ip92.fastwebnet.it) joined #forth 02:16:59 --- join: nighty^ (~nighty@hokuriku.rural-networks.com) joined #forth 02:17:09 --- join: impomatic__ (~chatzilla@81.174.174.142) joined #forth 02:17:41 --- quit: impomatic (Ping timeout: 245 seconds) 02:17:49 --- nick: impomatic__ -> impomatic 02:25:15 --- quit: Addiction (Ping timeout: 250 seconds) 02:30:35 --- quit: proteusguy (Remote host closed the connection) 02:34:14 --- join: proteusguy (~proteusgu@203.130.129.226) joined #forth 02:41:49 --- nick: karswell` -> karswell 02:53:32 --- quit: mr-foobar (Ping timeout: 240 seconds) 02:54:59 --- join: mr-foobar (~mucker@49.205.73.166) joined #forth 03:22:03 --- join: xyh (~xieyuheng@2001:250:3002:5550:6ea1:cc0f:bcb2:b187) joined #forth 03:22:32 --- quit: proteusguy (Ping timeout: 240 seconds) 03:35:40 --- join: proteusguy (~proteusgu@203.130.129.226) joined #forth 03:51:51 --- quit: proteusguy (Ping timeout: 255 seconds) 03:52:44 --- join: Addiction (~Addiction@115.248.45.78) joined #forth 04:08:59 --- join: proteusguy (~proteusgu@118.174.6.122) joined #forth 04:16:37 --- quit: xyh (Ping timeout: 260 seconds) 04:29:12 --- quit: Addiction (Ping timeout: 255 seconds) 04:40:59 --- quit: proteusguy (Remote host closed the connection) 04:58:13 --- quit: mr-foobar (Ping timeout: 250 seconds) 05:00:03 --- join: mr-foobar (~mucker@49.205.73.166) joined #forth 05:03:50 --- quit: bluekelp (Ping timeout: 260 seconds) 05:07:23 --- join: bluekelp (~bluekelp@2001:470:1:41:c0ca:95a9:fa71:1b4b) joined #forth 05:07:23 --- mode: ChanServ set +v bluekelp 05:15:51 --- join: proteusguy (~proteusgu@ppp-110-168-230-116.revip5.asianet.co.th) joined #forth 05:34:16 --- join: saml_ (~saml@pool-71-190-8-37.nycmny.east.verizon.net) joined #forth 05:53:05 --- join: Bahman (~Bahman@188.159.7.91) joined #forth 06:13:45 --- quit: Bahman (Ping timeout: 260 seconds) 06:21:57 --- join: Bahman (~Bahman@188.159.7.91) joined #forth 06:37:27 --- quit: mr-foobar (Quit: Leaving...) 06:44:50 --- quit: saml_ (Ping timeout: 250 seconds) 06:45:20 --- join: gindating (~gindating@ec2-54-201-199-156.us-west-2.compute.amazonaws.com) joined #forth 06:49:46 --- quit: nisstyre (*.net *.split) 06:49:47 --- quit: tangentstorm (*.net *.split) 06:51:13 --- join: tangentstorm (~michal@108-218-151-22.lightspeed.rcsntx.sbcglobal.net) joined #forth 06:51:14 --- join: nisstyre (yourstruly@oftn/member/Nisstyre) joined #forth 06:51:34 --- quit: gindating (Read error: Connection reset by peer) 06:55:20 --- join: Addiction (~Addiction@115.248.45.78) joined #forth 06:56:06 --- join: [1]Addiction (~Addiction@115.248.45.78) joined #forth 06:56:51 --- join: [2]Addiction (~Addiction@115.248.45.78) joined #forth 06:57:36 --- join: [3]Addiction (~Addiction@115.248.45.78) joined #forth 06:59:47 --- quit: Addiction (Ping timeout: 245 seconds) 06:59:55 --- join: kumul (~mool@adsl-64-237-236-154.prtc.net) joined #forth 07:00:12 --- quit: [1]Addiction (Ping timeout: 245 seconds) 07:00:16 --- quit: kumul (Client Quit) 07:01:02 --- quit: [2]Addiction (Ping timeout: 245 seconds) 07:02:42 --- quit: [3]Addiction (Ping timeout: 245 seconds) 07:19:55 --- quit: impomatic_ (Ping timeout: 240 seconds) 07:20:32 --- quit: impomatic (Ping timeout: 245 seconds) 07:20:55 --- join: impomatic (~chatzilla@81.174.174.142) joined #forth 07:21:12 --- join: Addiction (~Addiction@115.248.45.78) joined #forth 07:22:03 --- join: xyh (~xieyuheng@2001:250:3002:5550:6ea1:cc0f:bcb2:b187) joined #forth 07:27:51 --- quit: impomatic (Ping timeout: 255 seconds) 07:29:50 --- join: impomatic (~chatzilla@81.174.174.142) joined #forth 07:30:23 --- quit: dys (Ping timeout: 260 seconds) 07:35:10 --- join: dys (~user@2a01:1e8:e100:8296:21a:4dff:fe4e:273a) joined #forth 07:45:49 --- quit: Addiction (Quit: HydraIRC -> http://www.hydrairc.com <- Wibbly Wobbly IRC) 07:50:27 --- join: mr-foobar (~mucker@49.206.19.125) joined #forth 08:00:35 --- quit: DGASAU (Remote host closed the connection) 08:07:37 --- join: DGASAU` (~user@p50993595.dip0.t-ipconnect.de) joined #forth 08:13:19 --- quit: SoniEx2 (Ping timeout: 260 seconds) 08:20:18 --- nick: DGASAU` -> DGASAU 08:38:31 --- quit: impomatic (Ping timeout: 255 seconds) 08:40:18 --- join: impomatic (~chatzilla@81.174.174.142) joined #forth 08:42:59 --- join: saml_ (~saml@pool-71-190-8-37.nycmny.east.verizon.net) joined #forth 08:51:22 --- quit: impomatic (Ping timeout: 245 seconds) 08:51:24 --- join: impomatic_ (~chatzilla@81.174.174.142) joined #forth 08:51:25 --- nick: impomatic_ -> impomatic 08:52:09 --- part: xyh left #forth 08:52:26 --- quit: saml_ (Ping timeout: 260 seconds) 09:06:06 --- join: saml_ (~saml@pool-71-190-8-37.nycmny.east.verizon.net) joined #forth 09:46:27 --- quit: protist (Ping timeout: 245 seconds) 09:50:52 --- join: protist (~javery@56.224.69.111.dynamic.snap.net.nz) joined #forth 09:56:41 --- join: ASau (~user@46.114.26.169) joined #forth 10:18:24 --- part: Plazma left #forth 10:22:47 --- join: SoniEx2 (~SoniEx2@unaffiliated/soniex2) joined #forth 10:31:32 --- quit: saml_ (Quit: Leaving) 10:31:55 --- quit: SoniEx2 (Ping timeout: 255 seconds) 10:35:23 --- join: SoniEx2 (~SoniEx2@unaffiliated/soniex2) joined #forth 11:04:45 --- join: mark4_ (~mark4@cpe-68-203-183-77.tx.res.rr.com) joined #forth 11:04:53 --- nick: mark4_ -> I440r 11:05:00 --- mode: ChanServ set +o I440r 11:05:29 so many people in here these days and i dont hardly know any of them! 11:05:45 like most of the names in here ive never even seen talk lol 11:06:01 and i sat in this channel alone for over a year before anyone even noticed it lol 11:21:40 heh 11:57:39 --- quit: protist (Quit: Konversation terminated!) 12:01:13 --- quit: Bahman (Quit: Ave atque vale) 12:14:23 --- join: _spt_ (~Jaat@unaffiliated/-spt-/x-5624824) joined #forth 12:27:49 --- quit: nighty^ (Quit: Disappears in a puff of smoke) 12:31:23 --- join: fantazo (~fantazo@089144234143.atnat0043.highway.a1.net) joined #forth 13:32:43 I 13:32:57 I've been away for a long time but the same folk still around... :) 13:33:48 --- quit: fantazo (Quit: Verlassend) 14:00:35 oh yea 14:00:57 ltns! i think i saw you in #nasm the other day, noticed your quit when i woke up :) 14:01:01 hows it going? 14:01:53 --- join: rollertrump (~rollertru@ec2-54-201-199-156.us-west-2.compute.amazonaws.com) joined #forth 14:06:06 --- quit: MrM0bius (Read error: Connection reset by peer) 14:06:57 --- join: MrMobius (~Joey@c-98-223-189-47.hsd1.in.comcast.net) joined #forth 14:07:30 --- join: Mat3 (~Mat@91.65.76.247) joined #forth 14:07:33 hello 14:08:11 hi 14:11:27 hi mark4 14:11:41 (interesting nick) 14:18:44 --- quit: MrMobius (Disconnected by services) 14:18:57 --- join: MrM0bius (~Joey@c-98-223-189-47.hsd1.in.comcast.net) joined #forth 14:33:39 --- quit: impomatic (Read error: Connection timed out) 14:34:48 --- join: impomatic (~chatzilla@81.174.174.142) joined #forth 14:48:56 --- quit: Mat3 (Quit: Verlassend) 14:55:08 --- quit: MrM0bius (Ping timeout: 245 seconds) 14:58:23 --- join: MrMobius (~Joey@c-98-223-189-47.hsd1.in.comcast.net) joined #forth 15:11:23 --- quit: SoniEx2 (Ping timeout: 245 seconds) 15:13:33 --- join: SoniEx2 (~SoniEx2@unaffiliated/soniex2) joined #forth 15:52:28 --- quit: _spt_ (Quit: irc- et) 16:22:47 mark4: Yeah, I have a ZNC in-between. 16:23:22 So basically I'm looking for the "next step", since I can write forth programs now. I want to be able to apply that to hardware. 16:46:37 --- quit: impomatic (Read error: Connection reset by peer) 16:47:28 --- join: impomatic (~chatzilla@81.174.174.142) joined #forth 17:17:29 --- join: kumul (~mool@adsl-64-237-239-154.prtc.net) joined #forth 19:31:49 go to www.adafruit.com and look at their atmega32u4 breakout board - it costs $20. 19:32:42 or look at one of the other boards they sell, they even sell rpi. if you have the funds get a beagleboard xm and ill let you have a copy of my arm forth 19:33:26 but erm. that would need some tweaking to run on the official distro because if that distros stupidness... im running gentoo on mine off of a USB hard drive 19:33:39 i think running something like that out of flash would be problematical 19:34:05 or you could get a beagleboard black and we can see if my forth will run on that :) 21:31:41 --- quit: mr-foobar (Quit: Leaving...) 21:39:07 mark4, sorry i was away. I'm very busy with the business but still finding time to play with ARM asm to see what mischief I can make with my raspberry pi and cellphone devices. 21:40:25 proteusguy: there is jonesforth for rpi version 21:40:34 i have tried that on barebone rpi 21:43:37 yunfun yes I saw that and will likely play around with it. most readable forth implementations ever. 21:44:56 I want a small ARM assembler to go with my environment. jonesforth lacks that unfortunately. 21:47:06 cant helps that, i am also like small toolsets, and dislike the arm company's 21:48:26 proteusguy: Adding an ARM assembler to jonesforth wouldn't be a difficult job. 21:49:58 yunfan, what do you dislike about arm? 21:52:30 ttmrichter, probably not. I'm still learning the opcode structure but it seems pretty orthogonal so should be straightforward. Lots of instructions for a RISC chip though. With arm, thumb, and thumb2 stuff could be time consuming. Guess just have to build the instructions as I need them but still need to make sure I understand the architecture correctly so I structure the code right. 21:52:59 proteusguy: i dislike the company's toolset and the policy 21:53:35 ttmrichter: what about the 8051 support ? 21:53:52 I found an arm assembler written in python but the code quality wasn't so great. tons of if/elif statements that seem better suited for lookup tables. Either there's something messy about the arm or they just didn't know how to do it. 21:54:01 ttmrichter: check ps2303 the mcu for usb stick, its frequecy is crazy 21:54:34 proteusguy: what about as from binutils? 21:54:42 yunfan, never intend to use any closed toolsets so I'm completely unaware of any policies. 21:55:13 as can't self host. I want my code to depend on nothing else once bootstrapped. I want to build op codes and run them on the fly ala forth. 21:55:18 yunfan: Not a fan of the 8051. 21:55:21 Good for its time. 21:55:28 Its time was 20 years ago. 21:55:32 It didn't age well. 21:55:48 proteusguy: what? you say as cant self host? 21:55:56 * proteusguy never once liked the 8051 or pic. pic has gotten better but Atmel seems to always be a better solution. 21:56:03 but isnt so many barebone kernel are compiled by as? 21:56:32 yunfan, you can't run as in your target without libc and everything it requires as I understand it. 21:56:49 ttmrichter: but this product has a 250mHZ 8051 inside, what i am interesting is the crazy frequency 21:57:04 Still not interested. 21:57:05 yunfan, as is fine for the host but not the target. I want my host and target to ultimately be the same. 21:57:06 proteusguy: nope, your understand is wrong 21:57:16 proteusguy: as dont require libc 21:57:55 yunfan, how does it write its output? bios i/o calls? 21:58:46 proteusguy: you want to compiling on the target board? 21:59:04 yunfan, yes :) 21:59:14 then which os do you want to use? 21:59:22 don't need one 21:59:26 if you use a linux based distro, why you dont have libc? 21:59:32 won't be. 22:00:02 i see, you want to barebone assembly tool that will do the compiling job for you onboard 22:00:09 self hosted standalone forth-like environment with its own assembler. the way god intended it. :) 22:00:35 i think the only toolset is forth familly enviroment 22:00:56 that's why I'm here. 22:01:35 but any tool that can do selfhost need first bootstrap from other envioment first time 22:01:38 I did the same thing with 6809 back in 1986. arm is so much more powerful it feels like cheating. could likely do it with atmel as well. 22:02:10 yunfan, yep. but generating the initial boot binary is simple. 22:02:18 well , maybe mpe or other forth could support this 22:02:59 probably wouldn't do it in forth. either python or c++. we'll see. 22:03:36 proteusguy: then you need to let python run on barebone rpi first, this is much harder than supporting forth i think 22:03:43 cause i am a python engineer 22:04:20 well python runs just fine on arm/linux. and there's also an interesting micropython out there. 22:04:27 proteusguy: maybe we could using arm asm to implement a nagro vm, then we could use crc's retro forth 22:04:47 yunfun. actually more complex than I need. 22:05:15 arm is surprisingly simple to boot up and get it in the state I want. not like x86. 22:05:34 but i prefer mips :] 22:06:35 * proteusguy prefers stack friendly machines but has accepted large register counts is where the action is. alas my poor 6809 with two stacks. 22:07:57 it's all about memory access performance now as the cpus are so much more powerful than the mem bus can handle. need to stay in cache and manage memory usage much closer to get speed. so that's the interest in arm/forth/asm. see what this little chip can do. 22:08:30 Anyway - gotta head to client site. see you all real soon... 22:08:55 --- quit: proteusguy (Quit: Leaving) 22:08:57 proteusguy: btw, imgtech now unevil a mips based board like rpi 22:09:02 which is called ci20 22:10:02 protusguy thats ok this is IRC, i fell assleep bcause i was up all night. 22:11:23 protus do you want a copy of my arm linux forth? it doesnt run on the raspi tho and there are issues with debian based distros :) 22:11:28 but those issues can be resolved 22:11:39 jonesforth is HORRIBLE blargh 22:11:42 mark4: he has quit 22:11:46 its utter crap compared to isforth 22:12:02 protus an arm assembler is on my todo list both in forth and in c 22:12:40 and for me, i am more like you forth authors, could wrote a document about your own forths' implement 22:13:27 oh blargh lol 22:16:34 since i want to check those different threading 22:24:14 --- join: jyfl987 (~papapa@59.108.97.201) joined #forth 22:31:41 different threading models are easy to understand when they have good descriptions 22:32:19 personally i favor direct threading for ease of understanding. indirect threading is slightly more confusing till you understand why you might need to use it 22:32:41 sub threading is the fastest but just doesnt seem like a real forth theading to me.. tho my arm forth is sub threaded 22:34:20 --- join: proteusguy (~proteusgu@118.174.6.122) joined #forth 22:34:45 I440r i have check the description on c2 wiki 22:35:19 but it just made me more confuse , english is not my native language, i think a graphic description would be helpful 22:49:56 --- quit: proteusguy (Ping timeout: 255 seconds) 22:55:56 --- join: mr-foobar (~mucker@49.205.73.166) joined #forth 23:05:51 jyfl987, yes for direct threaded forths every word in the dictionary STARTS with some machine code, usually a 1 liner like a CALL opcode... 23:06:03 the return address of that CALL is the address of the BODY of the word 23:06:18 so if its a colon definition the ASM part will be a "call nest" 23:06:43 where nest first pushes the current forth IP onto the return stack then POPs the return address of that call into IP 23:07:03 so IP now points at the body of the word 23:07:12 I440r so direct threaded's dictionary looks like (call x), (call y), (call z) ... ? 23:07:19 no. 23:07:24 more like 23:07:28 some_word: 23:07:30 call nest 23:07:32 dw xxx 23:07:39 dw yyy 23:07:41 dw zzz 23:07:44 dw exit 23:08:02 where xxx, yyy and zzz are OTHER forth words 23:08:04 --- join: proteusguy (~proteusgu@49.230.89.151) joined #forth 23:08:45 protus i was asking if you would like a copy of my ARM Linux forth! its not released yet and does not run on debian distros because their tool chain is NOT pax aware 23:09:07 if you could make your arm gcc/gnu as produce elf files with pax flags it would work 23:09:20 it runs fine on my beagleboard xm running gentoo 23:09:24 sub threaded 23:09:34 jyfl987, let me draw you a picture 23:09:41 jyfl987, do you code x86 asm? 23:09:53 I440r yes, i am doing this right now 23:10:02 on a qemu instance run on my server 23:10:14 i am reading the book "programming from ground up", 23:10:25 cool 23:10:33 let me draw you some pictures 23:10:38 okay 23:27:44 http://pastebin.com/rE6cT5j1 <-- tell me if this helps 23:28:12 readint it 23:28:48 i was explaining with 16 bit asm not 32 bit lol 23:30:21 its ok to me, actually before i read the current book, i have done read a asm book for programming on msdos 23:30:33 :) 23:31:00 so in your dovariable definition, the `next` word, would it do `ret` job ? 23:31:09 no read further 23:31:14 i explain "next" lower down 23:31:41 there is a "next" at the end of all forth primatives (written in assembler) and an "Exit" at the bottom of all colon definitions 23:31:51 ok, then i read your my_colon_def 23:32:21 the `call nest` and `dw xxx` cost 4 word?, right? 23:32:44 i mean `call` `nest` `dw` `xxx` 23:32:46 the "call nest" is actually a 5 byte opcode in 32 bit x86 23:33:03 ok, what about the next `dw xxx` 23:33:24 in 16 bit asm the "call nest" is 3 bytes, the dw xxx is 2 bytes 23:33:35 I440r, thanx for the offer. I don't suppose you have an arm assembler built in do you? :) What kind of forth threading model you running? 23:33:37 in 32 bit it would be "dd xxx" being 4 bytes 23:33:55 proteusguy, i dont have the assembler built in YET and its subroutine threaded 23:34:20 I440r if so, why there's a `call next` at the begining of my_colon_def, why not use `dw next` to instead? 23:34:23 the forth kernel for that version is assembled using the GNU assembler (ugh) 23:34:24 I'd certainly be willing to take a look at it. Not sure when my free time will let me try in out in anger. 23:34:33 its a call nest 23:34:44 anger? 23:36:05 yes, why use a `call nest` as the beginning of my_colon_def , while not using `dw nest` 23:36:30 i could easily understand that, you fethc each `dw xxx`, and then call it 23:36:48 jyfl987, actually there are cass where you do exactly that - my isforth uses the "call nest" method 23:37:20 the return address of the call nest points to the dw xxx part so we just put that return address in the IP register 23:37:44 jyfl987, yes the fetching is done by the processor and so is the jumping :) 23:37:47 its the same thing 23:39:53 I440r so you call nest to put the next address to return address 23:40:22 then your interpter will call from return address and fetch the next one from my_colon_def 23:40:27 yes 23:40:46 finally when you reach the end, it will trigger a ret, to return to the upper address 23:40:48 at the bottom of the NEST function is a NEXT operation 23:40:56 next does "lodsw jmp ax" 23:41:02 yes thats an exit 23:43:10 but `call nest` will push the current address to [ss+si] , then you call ret, you will return to that address, how you jump to more upper address? 23:44:42 like say , another word `blah` has a my_colon in its definition, after execute my_colon, you need to return to the next word in `blah`'s definition 23:45:50 i will continue to read your description , ask you later 23:47:48 --- join: xyh (~xieyuheng@2001:250:3002:5550:6ea1:cc0f:bcb2:b187) joined #forth 23:51:31 NO 23:51:33 I440r aha, you dont need ret, since when in Nest, you have done the step 1 and 2, 23:51:45 call pushes the current machine code execution address +1 23:51:52 exactly 23:52:59 the step 1 got the address+1 => return stack, and the step 2 destory the address , so you dont need to ret finally 23:53:21 also step 1's value would be the upper address of my_colon_def 23:53:30 yes 23:53:42 and when execute `next`, you simply use a jump 23:54:17 this could avoid too many stack depth using 23:54:25 tada 23:54:41 i am too naive before since i thought each call might corresponding to a ret 23:55:00 its ok, till you get it it is confusing 23:56:56 so this is direct-threading, what about others 23:57:20 which threading type do gforth and mpe use? 23:57:39 well with indirect threading it sort of works like you said before.. gforth isnt a forth. its a C abmonination 23:57:54 i have no idea what it does internally because i have no interest in any psudo forth written in c 23:58:37 i can explain indirect threading tomorrow if you like, its late here :) 23:59:59 --- log: ended forth/14.09.01