00:00:00 --- log: started retro/06.07.31 00:38:36 --- join: Cheery (n=Cheery@a81-197-20-242.elisa-laajakaista.fi) joined #retro 01:35:43 Hmm. 01:36:18 to lessen complications, I think I'd need something which reads ahead and evals it. 01:53:48 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #retro 02:21:43 btw. 02:21:53 now you guys see the first results from my work. 02:22:20 http://retroforth.net/paste/?id=97 02:22:41 This proofs that at least some of my assemble, -features works. 02:23:43 because ebx and eax are compile-time stuff, I put them after. 02:23:59 therefore it got easier to give them to reg-move 02:24:31 I still have no the opcode solver, it is quite complicated stuff. 02:26:24 hmm. 02:26:31 How things like case: works? 02:27:39 [ 0 ] [ebx] [edx*4] store eax 02:28:01 :/ 02:29:56 of course I could do something like: 02:30:17 [ 0 [ebx] [edx*4] ]store eax 02:30:20 or 02:30:33 [ 0 [ebx] [edx*4] eax ]store 02:30:45 what do you think? 02:30:51 which looks better? 02:31:01 reg-move ebx eax 02:31:03 or 02:31:15 [ ebx eax ]reg-move 02:31:28 or: [ ebx eax ]mov 02:32:54 hey! I'm asking opinions here. :/ 02:34:16 virl? crc? 02:34:22 docl? 02:34:57 then there could be also: [ 0 [ebx] [edx*3] store ] 02:35:07 + eax 02:44:26 hi Cheery how are you? 02:45:50 well I think reg-move ebx eax looks quite good. 03:09:47 Hmm. 03:09:50 great. 03:09:59 Thought I wonder if I shouldn't make them macros. 03:10:26 the versions with [] are: a) too confusing b) too long to type ;-) 03:10:44 but you could chain them. 03:10:45 like: 03:11:24 [ eax ecx mov 0 [ebx] [edx*3] eax store ] 03:12:11 And they wouldn't require to be state smart neither macros. 03:12:16 ok, I try to decode... 03:12:38 eax gets moved into ecx and then something with 0 happens... 03:13:17 if you'd move here -pointer to tib for a moment, you could also do temporate compiles and execute them immediately. 03:14:39 what did the [ ] in this context actually mean? not the [] around the register names. 03:14:51 asm: eax ecx mov ;asm could be anywhere to express it'll be executed even in interpreter. 03:15:00 virl: don't you remember? 03:15:38 they prevents compiling inside word. 03:15:46 switching between compiler and interpreter? 03:16:05 : word [ ."executed now" ] ."executed in call" ; 03:16:24 iirc, [ exits from compiler and ] enters again. 03:16:27 I just don't smart to oversmart myself. 03:16:40 *want. 03:16:43 ok, well then I know them ;-) 03:17:01 ok, I must go, see ya. 03:17:03 because it seemed that you use it outside from definitions 03:17:08 ok.. 03:18:05 I make them forth words that you can use them that way, it seems most straightforfard and simple. 03:18:34 and one can build the macro things from them later. 04:51:40 crc: http://retroforth.net/paste/?id=98 04:51:55 virl: I think I'll use that version. 04:52:26 It's the most flexible of those versions. 04:57:22 ok and it looks good. you know I can understand it without exactly knowing what the code does and that's good. 04:58:27 the only question is, is it moving from ebx to eax or from eax to ebx? 05:03:17 from ebx to eax 05:03:29 virl: do you think that is sufficient? 05:03:36 from is before to in registers. 05:04:00 in memory addresses, it varies from command because the memory address is always before register. 05:04:02 like: 05:04:17 $10000 eax store 05:04:24 $10000 eax recall 05:04:27 ;) 05:04:45 afk... 05:46:11 --- quit: nighty- ("Terminated with extreme prejudice!") 06:06:17 --- join: Ray_work (n=Raystm2@199.227.227.26) joined #retro 06:39:06 hiya Cheery, still up? 06:39:21 * docl just got up 07:09:34 ye 07:20:04 --- join: nighty_ (n=nighty@66-163-28-100.ip.tor.radiant.net) joined #retro 07:30:23 howdy 07:30:45 impressive work 07:34:07 I agree with virl, the simpler one without brackets looks best. 07:54:59 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #retro 07:59:04 But I wonder if it is the right choice. 07:59:09 Think the macros. 08:08:25 eax and ebx are macros? 08:09:38 nope, and I don't want to use macros. 08:09:43 at this point. 08:09:51 oh, ok 08:10:05 reg are constants 08:10:17 I take it they need evaluated at compile time though 08:10:20 [reg] and [reg*n]s are functions. 08:11:12 yes, they goes to the word which contains the compiling mechanics for each word. 08:11:31 and uses the backbone of my assembler to do the final work. 08:12:10 perhaps we need a compile-time evaluation prefix 08:12:30 we already have one. 08:12:33 [ 08:12:35 and ] 08:12:50 '_ prefix: [ name eval ] ; 08:13:07 the prob is that there are lots of those things to be needed evaluated instead of compiling. 08:13:27 oh well. 08:13:36 with simple commands the prefix could be useful. 08:13:38 thought. 08:13:55 hmm, wait isn't x: about the same thing? 08:15:12 maybe not 08:16:50 here we go: '_ prefix: x: [ eval x: ] ; 08:17:34 (underscore is not necessarily the best prefix) 08:26:50 --- join: timlarson_ (n=timlarso@65.116.199.19) joined #retro 12:31:58 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-110-053.pools.arcor-ip.net) joined #retro 12:32:24 --- quit: Snoopy42 (Nick collision from services.) 12:32:35 --- nick: snoopy_1711 -> Snoopy42 13:29:30 --- quit: timlarson_ ("Leaving") 13:29:45 --- quit: Cheery ("Download Gaim: http://gaim.sourceforge.net/") 14:26:49 --- nick: Raystm2 -> nanstm 14:29:11 good evening 14:39:53 * crc is going to continue with his source-wide cleanups 14:41:29 hiho... 14:46:21 what's happening? 14:47:42 well, I play with the idea to produce an assembler written in retro for some nice microcontrollers, or at least for one of them ;-) 14:53:45 cool 14:53:56 * crc coded an assembler for his virtual machine 14:54:26 your virtual machine? 14:54:53 I coded a stack based virtual machine with memory mapped hardware earlier this year 14:55:04 portable, written in C :) 14:55:37 bah.. 14:55:47 what is it able todo? 14:55:58 * tathi is working on a PPC assembler/disassembler in forth 14:56:27 virl: run simple programs 14:57:22 virl: long term goal is a portable target to develop a varient of RetroForth 14:58:24 which you plan to run on phones or palmtops IIRC 14:58:37 yes 15:00:08 my last experiment was some code to walk through a dictionary that is almost identical to retro's in structure 15:00:45 next on the list (when I get around to it) is to implement "lookup" 15:01:51 in your copious spare time :) 15:03:22 yes 15:04:20 Ray_work: departing. 15:04:31 see ya from la casa. 15:04:34 bah, now I'm asking myself if there is a sense with xell. puh.. 15:04:43 --- quit: Ray_work ("Client exited") 15:05:35 virl: my vm is a very simple approach. inefficient, but enough to give me a new world to play with 15:06:25 not to mention, it provides nothing but a barebones text console, and eventually a block i/o system for simulated hardware 15:07:01 ah, ok :-) 15:08:01 if you want to see it, I can paste a link to the repo :) 15:28:54 yeah, I'm always interested into something new which kicks the old forth world in the ass ;-) 15:29:34 http://retroforth.net/maunga 15:29:54 http://retroforth.net/maunga/doc/Toka.txt describes the instruction set 15:31:57 hmm.. 15:34:19 well, we share a lot of the instruction set ;-) 15:34:30 well, it's forth 15:34:46 yeah 15:35:02 I am trying out a machine forth/misc approach to the virtual hardware 15:35:43 well me too ;-) 15:36:09 http://retroforth.net/maunga/images/poharu is the assembler 15:36:14 (written in retro) 15:36:15 only that my one is more orientated on streams 15:37:00 * crc needs to redo the assembler using the newer features in retro 9.2.x 15:40:48 hmm.. you use a switch for the opcodes. 15:41:22 yes 15:43:19 well, and probably your source is much shorter than mine.. 15:43:53 617 lines of C, including comments and whitespace, and the debug execution tracer 15:45:59 well, and mine a little bit about 1000 15:46:38 I expect mine to grow to about 1000-1200 lines once I finish the hardware devices and finalize the instruction set 15:47:38 well, I'm about 1193 lines, but if/while/for is missing. well it will grow more. 15:48:16 --- quit: nighty_ ("Disappears in a puff of smoke") 15:49:11 I think that's because of my stacks and my api interface. 15:52:15 mine is pretty limited 15:52:47 * crc does expect to have a mostly functional cross-compiler implemented by mid-September 15:53:38 Hi. 15:53:42 oops 15:53:47 --- nick: nanstm -> Raystm2 15:55:07 hi Ray 15:56:22 Hi crc: trying to settle in here. 16:02:28 How was your day, so far? 16:03:30 pretty good 16:14:08 oh yeah. I remember toka 16:14:12 this is cool. 17:25:24 9 new patches in the repo; another day or two until 9.2.5 will be ready (almost entirely cleanups; one new feature; "remove-prefix" from the lookup table) 17:32:43 * crc wanders off to bed; goodnight 17:32:55 * Raystm2 needs to look into the prefix code to see what all is available now. 17:33:00 Goodnight. 18:27:53 --- quit: tathi ("leaving") 18:31:13 --- join: rabbitwhite (n=trip_n_s@pool-71-248-84-154.bltmmd.east.verizon.net) joined #retro 18:32:14 --- quit: rabbitwhite (Client Quit) 20:00:27 --- join: nighty_ (n=nighty@CPE00119576a9c5-CM0012c90d36fc.cpe.net.cable.rogers.com) joined #retro 20:52:15 --- nick: Raystm2 -> Raymole 20:53:06 --- nick: Raymole -> Raymole_St 20:53:30 --- nick: Raymole_St -> Raystm2 23:59:59 --- log: ended retro/06.07.31