00:00:00 --- log: started retro/06.07.28 00:34:29 --- join: Cheery (n=Cheery@a81-197-20-242.elisa-laajakaista.fi) joined #retro 00:37:04 Hi all. 00:42:39 Have anybody else noticed that forth looks good when you have only few words per lines? 00:43:00 but you have to cumulate it by having lots of forth pages. 00:57:58 Cheery, yeah, I noticed it too 00:59:47 I do not think 65 char per line is too bad, it could be 55 or even 40 in forth! 01:22:43 --- quit: virl (Remote closed the connection) 03:04:57 --- join: Raystm2- (n=NanRay@adsl-69-149-35-170.dsl.rcsntx.swbell.net) joined #retro 03:19:53 --- quit: Raystm2 (Read error: 110 (Connection timed out)) 04:23:47 Cheery: I've been using 32 lately. 04:32:03 docl, I changed my width to 40 04:32:11 Actually, this is much better. 04:32:35 I can open the same file multiple times into my vim, then keep the different windows in different sections for quick editing. 04:33:13 This way I can handle four times my screen's height lines. 04:33:29 docl: you knew about assembly? 04:33:46 could you explain two things about prefixes? 04:34:20 for example, lets take this prefix: F3h : REP, REPE, and REPZ, why one instruction override prefix is capable of representing all of those modifiers? 04:50:36 sorry I am not actually knowledgable about assembley 04:53:47 ok. 04:53:57 I think I already know but I'm unsure. 04:54:15 I'm keeping it open until I get the complete answer. :) 04:54:32 Now to the R/M bit. 04:54:37 *byte 04:54:53 http://pdos.csail.mit.edu/6.828/2005/readings/i386/REP.htm has some descriptions of this 04:56:44 yeh, this is what I know about it. 04:57:17 what's the second part of the opcode called? 04:57:21 operand? 04:58:11 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #retro 04:59:02 ok it's a string instruction 04:59:31 which one? 04:59:40 I think it's the number of the string instruction that determines whether it's REP or REPZ, etc. 04:59:45 hi virl 05:00:09 we're looking at http://pdos.csail.mit.edu/6.828/2005/readings/i386/REP.htm 05:00:41 virl: you were the guy from #osdev I was talking to yesterday? 05:04:10 ehm no, I wasn't in #osdev for more than a year 05:04:19 hmm. 05:04:27 It must been some another then. sorry. 05:04:48 what did he say that you think it was me? 05:04:54 :-) 05:05:39 He had just a similar name. 05:06:20 ah ok 05:17:24 --- join: Raystm2 (n=NanRay@adsl-69-149-53-80.dsl.rcsntx.swbell.net) joined #retro 05:24:25 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #retro 05:31:11 --- quit: Raystm2- (Read error: 110 (Connection timed out)) 05:59:01 YEEHAH! I SOLVED IT :D 05:59:17 everything is clear now. I mean everything! 06:00:04 After I've coded up the stuff for handling the indirect addressing, we're on clear. 06:00:28 our system for indirect addressing is this kind: 06:00:55 r/m-indirect, 06:01:21 displacement/immediate reg1 r/m-indirect, 06:01:48 displacement [eax] reg1 r/m-indirect, 06:02:40 displacement [eax*4] reg1 r/m-indirect, 06:02:51 this is the whole syntax for addressing! 06:03:09 oh, and of course: reg2 reg1 r/m-direct, 06:03:29 this'll be combined yet further, then stuffed into each assembler macro. 06:03:39 therefore allowing those assembler macros be one-liners. 06:04:03 which is a lot, when you think that oneliner is under 40 chars. :) 06:11:39 --- join: Ray_work (n=Raystm2@199.227.227.26) joined #retro 06:11:54 Oh, maybe we need yet r/m-immediate, after all! 06:12:14 Good morning, men! 06:21:48 ok... in immediate values... 06:21:58 there is a little surprize. 06:22:14 83 c0 0c add $0xc,%eax 06:22:23 83 c8 0c or $0xc,%eax 06:22:33 83 d0 0c adc $0xc,%eax 06:22:40 83 d8 0c sbb $0xc,%eax 06:22:46 83 e0 0c and $0xc,%eax 06:22:54 83 e8 0c sub $0xc,%eax 06:23:00 83 f0 0c xor $0xc,%eax 06:23:06 83 f8 0c cmp $0xc,%eax 06:23:11 I must check what that 83 is. 06:24:14 a size prefix maybe? 06:26:36 oh. it's the opcode, but then the reg field of the ModR/M byte is an extensino to the opcode 06:27:30 http://sandpile.org/ia32/opc_grp.htm 06:27:36 sandpile saves! 06:27:52 they are extended opcode groups. 06:28:00 now... everything is clear. 06:29:47 immediate field seems to require opcode group index. 06:29:56 so, immediate field gets what immediate field wants. 06:31:04 oh well, some of these seems to be such that they doesn't want immediate field with them. 06:34:28 yeh, there are yet these immediateles things. 06:34:36 r/m-extent 06:46:51 and yet one, very weird. 06:46:57 things like addl 06:47:15 addl $10, %eax 06:47:24 addl $10, 0x200 06:47:40 later requires also displacement field. 06:48:46 for this, format could be... 06:49:19 displacement [eax] num r/m-weird, 06:49:23 :P 06:49:47 and now we almost have our addressing scheme. 06:50:40 virl: We'll have our nice assembler. 06:51:46 or wait, we can use the r/m-immediate, after all, to even this case. 06:52:30 oh well, I want them separated. 07:01:45 aah, now address size -thing got clear. 07:01:46 --- quit: Raystm2 (Read error: 104 (Connection reset by peer)) 07:01:57 I believe I can make this thing compress quite well. 07:02:23 But I don't know the internals enough that I'd know how much we have use from compression. 07:03:34 --- join: Raystm2 (n=NanRay@adsl-68-93-114-190.dsl.rcsntx.swbell.net) joined #retro 07:40:14 --- join: nighty_ (n=nighty@66-163-28-100.ip.tor.radiant.net) joined #retro 07:41:39 http://retroforth.net/paste/?id=78 07:52:55 Cheery: thats starting to look good. 07:53:22 Cheery, looks nice.. 07:53:28 I like it too. 07:53:57 I hope it works the way I expect it to work. 07:54:54 but I must admit that the debug word named 'function-dump' won't exit everytime, because retro loves also to end words with a jump and not a return. 07:55:21 * virl played with that at the beginning of the month, so he knows it ;-) 07:55:39 virl, It'll go to heck, it is just now for testing. 07:56:04 anyway, also intel instruction likes to allow things which looks like jump instruction. 07:56:39 I believe we must make an disassembler too, but it is... muuch later. :) 07:56:53 yeah... 07:57:25 or a binary-file dumper... so we can kick C in the ass ;-) 07:57:36 We already kick C in the ass. 07:57:51 yeah, but not on the speed level 07:57:51 I'm thinking to do even booting code with forth. :P 07:58:58 If people generally accept the stuff I'll be doing, we must do also documentation for this thing. I believe crc with his wiki could help. 07:59:27 this have a quite lot differences from an usual assembly. 08:33:05 say, what do you think about this? 08:33:05 gs: hex 200 [ecx] eax recall 08:33:11 It'll be the way how this works. 08:33:26 gs: is segment override command. 08:34:00 it moves stuff from address: ecx+200h 08:34:06 you can also use SIB byte 08:34:26 gs: hex 200 [ecx*8] eax recall 08:35:47 I think I like it, it is not looking bad and is convenient. 08:36:09 except you'll have various versions from all instructions. 08:37:21 but at least only from basic instructions. 08:37:36 ok, so gs=ecx+200h? 08:38:12 what does eax and recall do? 08:38:15 nope. :) stuff from gs:[ecx+200h] is moved to eax 08:38:24 eax is a constant which represents register. 08:38:43 well, you said that gs is the segment override command 08:39:07 yes. 08:39:19 what syntax did you used? 08:39:30 in what? 08:39:46 I know only intel and amd syntax, so if you used something else, I think I didn't understood. 08:39:58 --- quit: tathi ("leaving") 08:40:02 (18:37:14) virl: ok, so gs=ecx+200h? 08:40:17 well, I used the intel syntax 08:40:43 huh? oh well, sorry. :) 08:40:45 what's recall? 08:40:49 I gues I'm the one who doesn't know it then. 08:41:10 recall is same as mov from address to register. 08:41:22 and it's a long time since I touched an intel assembler.. 08:41:32 there is an another moving from register to address. 08:41:45 virl, this is really a very big and maybe even strong abstraction. 08:42:20 I mean, isn't move, recall and store more convenient than mov mov mov? 08:42:41 and it was lazily done. 08:42:52 yes, but I think you need to name recall different it says nothing to me. 08:43:02 hmm... 08:43:05 ok. 08:43:08 propose something. 08:44:01 when I understood it correctly, recall moves from adress N to register K something 08:44:02 btw. remember that we need lots of names, so they must be convenient, exact and easy to remember. 08:44:07 ye.. 08:47:37 virl, could you help me a bit, I need function which does functions. 08:47:39 ? 08:48:51 you need what? 08:49:24 simple functions like : [eax] counter-generated-number address-here ! ; 08:49:32 Hmm. 08:50:04 literal, literal, ' ! compile, is it? 08:50:14 but how would I make the entry? 08:51:10 hmm, btw. [eax] has another common meaning in forth, iirc run it at runtime or something like that, so it could confuse 08:51:55 Cheery, the entry of what? a word? 08:52:19 yes. 08:52:25 macro word. 08:53:07 virl: not found such word from retroforth. 08:53:11 well it was some flavor of 'create' 08:53:28 So I believe it is safe to use that. 08:54:25 maybe I could put them into some namespace or such where they are being retrieved when used. 08:54:28 oh well. 08:54:40 it was create: 08:55:33 but before that you must change the current class to macro 08:55:49 hmm. 08:55:57 maybe I could do it before the whole function. 08:56:02 ok, I remmember it. 08:56:21 thank you. 08:57:05 but say, does create: just create the entry or also put it point to here ? 08:57:42 it does. 08:57:49 everything is ok. 09:11:20 --- join: crc_work (n=cchilder@h-64-105-207-163.phlapafg.covad.net) joined #retro 09:14:28 : macro: create: as .macro ] ; 09:16:03 Cheery: the macro: word was added recently, along with several other similar words. 09:17:48 it works like : so you can put the definition right after, then terminate with semicolon. 09:19:35 * crc_work will have 9.2.3 uploaded this evening 09:19:48 cool 09:20:00 we're moving fast lately :) 09:20:29 crc_work: what do you think about the assembler? 09:20:54 Does it fit your needs? It fits my needs. :) 09:21:00 ... 09:21:03 after I'm done with it. 09:23:54 It lacks yet instruction override prefix (which I won't implement until I need it) and R/M encoding. 09:24:19 the later I'm currently working on. If I'm lucky, I get it done this day. 09:24:41 then it is time to test if it says "boom boom" or "oh yeah!" 09:25:00 Cheery: it looks promising so far 09:27:24 it has 195 lines now. 09:27:41 propably ending to somewhere around 250 without instruction set. 09:28:21 after I'm done, I'll look instruction set from codepile. 09:30:45 how many chars per line? 09:43:33 --- part: crc_work left #retro 09:49:28 http://retroforth.net/paste/?id=77 Chess, now with automatic En Passant and Castleing. Starting work on the persistance parser 09:54:56 :: d: eval mv ; is eval 09:55:09 Ray_work: that will let you move just by typing the numbers 10:00:39 there are 2 kinds of mv 10:00:47 one is En Passant 10:00:53 two is normal. 10:01:06 wait 3 soon to have pawn promotes 10:08:07 crc: I putted 40 to my limit. 10:10:41 Ray_work: darn. I wonder if there's a way I could auto-detect what kind of move it is or something. 10:12:37 Cheery: if you can scrunch it down to 32 chars wide it will fit in the block editor. 10:13:16 why does it need to fit into block editor? 10:14:33 --- join: crc_work (n=cchilder@h-64-105-207-163.phlapafg.covad.net) joined #retro 10:14:45 so I can load it in the native system :) 10:15:36 in the native system? 10:15:51 the one you have under work? 10:15:52 :) 10:15:54 ok. 10:15:55 the standalone retro operating system 10:15:56 yes 10:16:31 I'm doing this to make a kernel too. Thought maybe quite different. I'm not going to follow retro syntax. 10:16:42 not a problem 10:16:55 I just made it with retroforth because retroforth was the best available tool I knew. 10:16:57 :) 10:17:03 cool :) 10:17:08 --- quit: crc_work ("back to work....") 10:21:01 I'll try to crunch it a little more when I'm finito with it. 10:21:56 Only few lines gets over 32 anyway. 10:22:32 I could shorten few internally used names and tune the lines a little to get it fit for you. 10:43:54 Say... should I do good, complete error checking or loosely one? 10:44:28 I mean, for errorneous input like... eax bx move 10:44:41 which anyways ends to be eax ebx 10:57:40 you could make it smart that way 11:33:43 btw. 11:33:57 How do you make a otherwise into switch in rf? 11:34:50 n switch x case: break y case: break z case: break otherwise xxx break 11:35:38 I never quite got the syntax for switch case down. there's probably some good examples in the source though 11:36:47 ok, look in modules/retro and you'll see the source code for case 11:37:05 'otherwise', ok I see what you're saying 11:37:27 I think it just defaults to otherwise 11:37:43 i.e. if none matches, the last line before the word ends 11:38:10 last line(s) 11:41:05 http://retroforth.net/paste/?id=79 11:41:42 ok. 11:41:58 Now I'm still lacking r/m-indirect, and r/m-indirect-immediate 11:42:32 after those I could go and start building actual assembler instruction set. :) 11:43:10 nead :) 11:43:27 s/d/t/ 11:43:36 those indirects are little more complicated than others. 11:44:25 some 32 bit cases involves use of SIB byte, and most cases involve use of displacement field if displacement is given. 11:44:51 then I should determine what size of cell displacement fits. 11:53:08 after that I should yet handle the SIB byte thing and some special cases. 11:53:19 Oh well, just time stop wondering and start doing. ;) 11:53:35 I'm damn cool action man. 12:02:38 hehe 12:05:36 hmm. 12:05:45 does switch case: switch case: break work? 12:16:15 help help how do I delete a file in linux? 12:17:23 rm filename 12:17:36 thank you :) 12:17:41 np 12:18:57 I locked up the spooler for the printer and had to delete the .lck file. 12:24:22 * docl at first thought you said .ick file :) 12:24:39 yes it is an icky file indeed. 12:24:45 won't let ya print :) 12:24:53 congrats on using linux though :) 12:25:18 we've always used SCO unix at work. 12:25:29 but thru terminals into windows machines 12:25:47 ANZIO Lite is the terminal. 12:26:18 ugh, this indirect -thing will be ugly, especially after the SIB thing. 12:26:42 darn 12:27:27 intel's indirect addressing stuff is frightening mud. 12:30:28 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-143-194.pools.arcor-ip.net) joined #retro 12:30:32 I hope they works that I don't need to debug them. 12:38:36 http://retroforth.net/paste/?id=80 <-- case prefix 12:38:43 actually I must handle one thing differently. 12:38:53 --- quit: Snoopy42 (Read error: 145 (Connection timed out)) 12:38:55 --- nick: snoopy_1711 -> Snoopy42 12:39:02 scale and based register must be able to appear same time. 12:42:07 etc. 0 [eax] [ebx*1] eax recall or 0 [ecx*2] eax store 12:42:26 so... I'll do it that way. 12:42:50 easier to handle too! 12:43:40 it is simple to know that when asm-current-scale is not -1, SIB must be included. 12:47:59 I think I'll redesign this thing a little. 12:48:03 This way it is easier to handle. 12:48:11 And the code is not that ugly. 12:50:54 I've seen assembler/disassemblers in forth, they can be 2 and 3 pass. 13:00:07 I don't know if this thing can be separated to passes. 13:00:58 or.. oh well, this can, I think, to two pass, unless I'm finding out something horrible when I get this R/M stuff working. 13:01:39 I think... since fields like displacement and immediate can be optional, I just make variable fields for them. 13:01:52 which I clear when I write them into memory. 13:02:41 or... hmm. 13:02:58 Oh well, I see where I end to with this thing. 13:05:00 http://retroforth.net/paste/?id=81 improved case prefix 13:06:16 what does it do? 13:07:01 it lets you make a set of anonymous functions and pick one of them using "c" ollowed by a number 13:07:47 c1, c2, or c3 will execute different functions in the example 13:09:54 0 [[ ." spacebar" ]] 32 [[ ." enter" ]] 10 ckey 13:11:17 docl: that kind of thing is exaclty what retroforth needs to be completely unreadable lol. 13:11:42 uh-oh :) 13:11:53 * docl will try again 13:15:16 :D 13:15:20 well, good luck. 13:15:31 I'm continuing with this thing. 13:15:43 I found some slightly neater choices just few minutes ago. 13:15:51 I think this'll be nice after all. 13:20:36 repeat word would be cool. 13:20:58 like, you press some one letter and press enter, it'd execute the last word written by other way. 13:31:45 Hey! 13:31:54 Is it good thing if this looked like it was simple to do? 13:32:43 I mean, this looks like it was child's play... 13:32:45 simple is good :) 13:35:48 If it wouldn't be so serious thing as assembler, one could almost think it was being done by kindergarten people. 13:36:39 that would rock! 13:37:17 hmm? about what are you talking? 13:37:25 my assembler. 13:37:57 it is just unusually simple. 13:38:06 * docl always thought assembler should be reducable to kid's stuff 13:38:31 ah ok, so it will look like a child did it or what? 13:39:33 yes. 13:39:35 like a child *could* do it, I hope 13:39:46 somewhat like that. 13:39:49 well, I like it too when usuallly complex problems gets transformed into simple code 13:39:59 docl, well, no. 13:40:14 when it's not a assembler+forth child ;-) 13:46:05 hmm.. I have here a pic... perhaps ... retro... and stuff hmm that would be cool doing stuff for it in retro.. 13:46:26 personally I'd like to port someday xell to it 14:15:23 OHNO!!! 14:15:53 there is displacement as well... :( 14:16:03 I mean, displacement-only -call. 14:16:11 available in intel addressing scheme. 14:17:15 And that displacement can be roasted with SIB too... 14:23:03 displacement-only call? addressing scheme? 14:24:50 yes. 14:25:04 like, if you'd do: call 0x20(%ebx) 14:25:41 --- quit: Shain (Remote closed the connection) 14:26:56 call to place where %ebx points to. 14:27:27 ebx+20h -> code 14:27:49 instead of only ebx where is the address to code which must be executed. 14:32:55 well, I need to look again on the intel opcode format, before I get it ;-) 14:39:30 hmm, when I turned my octalizer upside down, it started looking easier. 14:40:44 it does: octal 1 2 3 => 100 + 20 + 3 14:40:52 or it did that. 14:41:11 now it does: octal 1 2 3 => 1 + 20 + 300 14:42:25 I gues you were right with that speedup thing. 14:43:01 If I get this working, it makes fiddling with R/M byte much easier, so crc can write faster code. 14:43:14 including me ;) 14:44:43 --- join: Raystm2- (n=NanRay@ppp-70-243-217-234.dsl.rcsntx.swbell.net) joined #retro 14:48:56 I was right with that speedup thing? did I say something? If so I can't remember. 14:49:54 somebody said... 14:50:30 you said it. 14:50:45 you said we don't kick C's butt on speed level. 14:56:11 it was indirect mention :P 14:57:26 weekend~ 14:57:46 yay :) 14:57:59 see ya from la casa 14:58:03 oh no. 14:59:07 --- quit: Ray_work ("User pushed the X - because it's Xtra, baby") 15:02:08 --- quit: Raystm2 (Read error: 110 (Connection timed out)) 15:08:15 docl: I think it's incredible, everything suddenly writes itself out... 15:08:34 neat :) 15:13:48 --- quit: nighty_ ("Disappears in a puff of smoke") 15:19:57 --- join: Shain (i=steve@c-67-161-56-76.hsd1.ca.comcast.net) joined #retro 15:39:43 good evening 15:41:28 hi crc 15:44:41 any bug reports before I begin preparing 9.2.3 for release? 15:59:54 hmm, can't think of any 16:00:05 good 16:00:30 my next set of patches will shorten all lines in the default set of modules to 32 chars/line 16:00:58 all right! :) 16:03:56 --- nick: Raystm2- -> Raystm2 16:04:09 --- mode: ChanServ set +o Raystm2 16:04:51 I'm not reformatting the Rx bootstrap yet though 16:05:05 hello all from la casa 16:05:10 hi Ray 16:05:15 hi crc :) 16:05:25 did you see castles and en passant ? 16:05:55 yes 16:06:07 okay then , that's all I had :) 16:06:21 very nice 16:06:35 * crc is quite excited to see his little chess game grow up :) 16:06:43 it's so simple, thanks to your brilliant take on forth. 16:07:25 docl: pull the patches and let me know if it seems to work ok 16:07:48 ok 16:09:02 writing an assembler for pics or at least for the pic line 16F87* seems to be damn easy 16:09:12 --- join: jas2o (n=jas2o@144.138.54.57) joined #retro 16:09:22 such a simple instruction format, I love it. 16:11:00 seems to be functioning great 16:12:19 good 16:12:27 I just pushed two more patches into the repo 16:12:43 retro on a pic, that would be nice ;-) 16:13:15 virl: what's a pic? 16:13:34 a microcontroller 16:14:03 cool 16:14:06 virl: are there any pic processors capable of hosting a complete forth environment? 16:14:55 well, I don't know.. but perhaps its possible.. 16:14:59 * crc intends to (eventually) write target compilers for some processors; I could add PIC to the list 16:16:08 well, writing an assembler is pretty easy I think.. well I only saw yet the instruction set of the 16F87*A so I can't say how complicated it is. 16:16:38 should be doable... 16:16:39 but this micro has only 35 instructions which a very logical opcode format 16:16:42 * crc adds it to the list 16:16:46 --- part: jas2o left #retro 16:17:10 arm, powerpc, pic, mips, m68k.... :) 16:18:31 the biggest one of this line(16F877A) has 8k X 14bits program memory 368 bytes data memory and 256 EEPROM memory 16:20:02 I think the program memory isn't the problem, but the data memory. perhaps xell would fit there better. 16:27:49 docl, I saw that neat evaluator for chess. I think I'll have to make it just a bit smarter to handle the special cases, but you've definately inspired me. 16:30:08 cool, thanks :) 16:36:27 9.2.3 is out 16:37:46 congrats :) 16:38:11 may confettii fill your keyboard!! 16:38:30 * crc grabs his compressed air and keyboard vac 16:38:34 hehe 16:38:52 * Raystm2 tries to get the eggroll out of his. 16:39:10 someone remind me not to eat and code at the same time. 16:40:42 Do not complain about the confetti in another persons keyboard, but pluck the eggroll out of thine own. 16:59:42 crc: I believe I just made it turn inside out. 17:00:08 I managed to separate exceptions from quite concrete laws. 17:00:16 cool 17:00:36 * crc never had the patience to write a complete assembler, even for the subset of instructions that he uses 17:00:43 + 17:01:52 * Cheery has always too much persistence in board, obfuscated stuff will fear in front of cheery!!! 17:46:33 I think this won't work out of the box. 17:47:12 At least, one can have problems with immediate value. 17:50:25 crc: what are esp and ebp and where are they used at? 17:52:35 One seems being a general purpose register, and another... hey. it must be stack pointer... 17:53:45 http://retroforth.net/paste/?id=83 here is the backbone, thought. I'm not happy with it. 17:54:10 It lacks consistency and niceness. 17:54:26 * Raystm2 has a look :) 17:54:30 the exception cases are breaking this concept down. 17:56:20 This doesn't have yet instruction mapping system. 17:57:02 So I think I could yet tomorrow continue this a little, to try fix the problems appeared somehow. 17:58:15 Maybe I should look at those sandpile instruction set reference cards and find what there reads. 17:58:50 I want to make us a good assembler. 17:59:27 :) you look like your doing great! 17:59:54 * Raystm2 is excited at the prospect of learning how an assembler works. 18:00:03 Much luck to you Cheery! 18:00:51 I'm still unhappy to my R/M SIB displacement immediate encoder... 18:00:56 crc put up a great "cheat" chart from the TUNES site the other day. codes in octal great stuff. 18:02:52 http://tom.bespin.org/src/opcodes.html 18:03:00 found it 18:03:40 http://tom.bespin.org/src/opc386.txt 18:03:45 that was also helpful. 18:04:03 * Raystm2 should put them in the c4th weblog 18:06:29 I'm going to put them into my bookmarks, in case they are useful. 18:06:39 now, I've coded trough night... 18:06:48 I think I'll go to sleep. 18:07:11 Tomorrow I'll attack my assembler from totally different view. 18:07:25 and finetune the current nice stuff I discovered. 18:07:31 sleep well :) 18:08:26 gn 18:08:37 --- quit: Cheery ("Download Gaim: http://gaim.sourceforge.net/") 18:18:09 I just finished reading it. It's very good so far. 19:14:30 esp = stack pointer 19:15:17 ebp = base pointer, unused in retro 19:15:29 Raystm2: tcn did those files, not me 19:45:34 crc I just had a little thought about playing chess in forth. 19:46:01 this board now allows you to play by defining the moves of the game. for instance... 19:46:11 : e4 e2e4 mv ; e4 19:46:25 so playing chess in forth is codeing the game. 20:01:18 cool 20:07:35 so much new stuff to document.... 20:38:39 --- quit: crc (Remote closed the connection) 20:39:28 --- join: crc (n=crc@pool-70-110-183-96.phil.east.verizon.net) joined #retro 20:40:48 --- mode: ChanServ set +o crc 21:17:05 chess now promotes pawns 21:18:32 was a oneliner too. 21:32:34 http://retroforth.net/paste/?id=85 22:18:11 nice :) 23:59:59 --- log: ended retro/06.07.28