00:00:00 --- log: started retro/10.03.29 01:00:51 --- join: crc_ (~charlesch@71.23.210.149) joined #retro 01:04:45 --- quit: crc (Ping timeout: 276 seconds) 04:47:45 --- quit: probonono (Ping timeout: 265 seconds) 04:52:07 --- join: probonono (~User@unaffiliated/probonono) joined #retro 04:58:22 --- quit: probonono (Ping timeout: 276 seconds) 07:53:15 --- join: probonono (~User@unaffiliated/probonono) joined #retro 07:59:04 --- quit: probonono (Ping timeout: 276 seconds) 08:36:00 still a little messy, but here's what I have so far: 08:36:06 http://retroforth.com/paste/?id=2065 08:36:40 (the first part is a diff, the second part is pasted code) 09:31:06 --- join: probonono (~User@unaffiliated/probonono) joined #retro 09:36:33 --- quit: probonono (Ping timeout: 240 seconds) 14:02:01 --- join: probonono (~User@unaffiliated/probonono) joined #retro 14:06:40 --- quit: probonono (Ping timeout: 248 seconds) 14:56:02 --- join: probonono (~User@unaffiliated/probonono) joined #retro 15:00:37 --- quit: probonono (Ping timeout: 240 seconds) 15:18:51 --- join: erider (~erider@unaffiliated/erider) joined #retro 16:33:53 docl: I found a way to do the decompilation without altering the way strings are handled if you're interested 16:36:41 see http://retroforth.com/paste/?id=2066 16:37:24 --- nick: crc_ -> crc 16:40:31 hi 16:40:54 hi erider 16:41:10 whats up crc 16:51:22 looking at docl's new string words 16:51:32 see http://retroforth.com/paste/?id=2065 17:09:56 --- join: probonono (~User@unaffiliated/probonono) joined #retro 17:12:09 crc, strings are hard to deal with in forth 17:13:04 sometimes 17:13:16 a lot depends on what you want to do with them 17:15:29 the basics :) 17:15:30 --- quit: probonono (Ping timeout: 245 seconds) 17:29:42 1a) creation (runtime): " a string" 17:29:52 1b) creation (compile time): s" a string" 17:30:00 2) obtain length: getLength 17:30:22 those are the basics :) 17:30:40 most of the words are in a library (library/data/strings.retro) 18:03:11 crc: nice! 18:03:53 so it just checks if they are in the printable range, and stops printing as soon as it reaches something that is not printable. 18:07:53 --- quit: docl (Remote host closed the connection) 18:08:12 --- join: docl (~luke@97-120-114-163.ptld.qwest.net) joined #retro 18:13:16 docl: yup. seems simpler to do it this way 18:13:30 I think so 18:13:39 I can't think of any good reason not to. 18:40:14 here's a word that checks for consecutive printable chars ending in zero: 18:40:17 : (string?) ( a- ) repeat dup @ 32 128 within 0; drop 1+ .s again ; 18:40:17 : string? ( a- ) (string?) .s @ 0 =if -1 ." True" else 0 ." False" then ; 18:42:15 err, try http://retroforth.com/paste/?id=2067 18:44:28 the stack comment for (string?) is wrong. it leaves an address on the stack. 18:45:00 oops. actually it also leaves a flag. 18:45:56 I don't see a flag 18:47:29 oh, I was looking at string? 18:47:59 string? leaves an address and a flag 18:48:08 (string?) leaves an address 18:48:35 yes 19:02:32 here is a better factored version: http://retroforth.com/paste/?id=2068 19:13:26 looks pretty good 19:50:10 --- join: probonono (~User@unaffiliated/probonono) joined #retro 19:51:45 --- quit: probonono (Excess Flood) 20:31:55 --- quit: erider (Quit: Leaving) 23:09:20 --- join: probonono (~User@unaffiliated/probonono) joined #retro 23:13:50 --- quit: probonono (Ping timeout: 245 seconds) 23:59:59 --- log: ended retro/10.03.29