00:00:00 --- log: started forth/05.01.24 00:37:54 --- quit: Sonarman ("leaving") 01:46:02 --- join: raystm22 (~color4th@adsl-69-149-42-7.dsl.rcsntx.swbell.net) joined #forth 01:58:56 man i suck at assembler 02:00:11 54 lines of code for an oo engine, 20 bugs 02:03:46 --- join: Raystm2 (~Ray@adsl-69-149-42-7.dsl.rcsntx.swbell.net) joined #forth 02:13:51 --- quit: onetom ("leaving") 03:46:38 that ain't so bad. 03:46:47 could have 50% bugs. 03:48:18 at least it's working now 03:48:41 late-binding oo engine in handcrafted assembler 03:49:16 http://asforth.dyndns.org:8080/ 03:49:29 well, I started on the latest 'thingy' for my mental temptations. 03:49:51 AppleScript Forth, or ASForth, pronounced AssForth :) 03:50:03 pretty appropriate. 03:50:22 h3h 03:50:26 I was gonna call it OSXForth, but that was too lame, and then I thought about SJForth, obviously after SteveJobs. 03:50:58 But dedicating it to Steve would be silly, he is a billionaire and could care less about what runs his computers at firmware level. 03:51:07 Then I thought, hmmmmmm, how about WozForth. 03:51:36 I don't think Woz would like that, and I respect him too much to disrespect him for the coattail notority. 03:51:42 So, its A$$Forth. 03:52:33 Many few years ago, I was tinkering with a Forth Unified Compiler Kernel 04:01:10 --- join: segher (~segher@blueice4n1.de.ibm.com) joined #forth 04:30:24 --- quit: saon ("Lost terminal") 05:08:26 --- quit: segher (Read error: 104 (Connection reset by peer)) 05:18:25 --- join: segher (~segher@blueice4n1.de.ibm.com) joined #forth 06:56:20 --- join: snowrichard (~richard@adsl-69-155-177-153.dsl.lgvwtx.swbell.net) joined #forth 06:57:24 Hi snowrichard 06:57:40 hi Robert 06:58:32 was playing around with retroforth native and bochs last night 06:59:26 * robert was playing around with his Commodore 128D 07:02:04 I made a hard drive image and added a "rb" and "wb" words to some editor code I found with google (crc's) 07:04:46 is the commodore based on 65XX chip? 07:09:59 it's 8510, but that's compatible to 6510 07:11:05 So a fancy 6502 07:11:09 It also has a z80 07:14:02 need to make some coffee be back in a bit 07:17:12 SeaForth, how about ForAST. 07:27:12 :) madwork , yes I like 4sum too 07:27:25 that is a nice play on the swinging scene of forthers :) 07:27:34 nothing like a little coding and 4sum 07:28:07 Huh? What Forther swinging scene? :( 07:28:07 ;) 07:57:32 --- quit: snowrichard ("Leaving") 09:59:01 --- quit: Raystm2 ("User pushed the X - because it's Xtra, baby") 10:03:30 --- join: snowrichard (~richard@adsl-69-155-177-153.dsl.lgvwtx.swbell.net) joined #forth 10:06:18 --- join: hyrax_ (~das@saturn.vcsd.com) joined #forth 10:16:59 --- quit: snowrichard ("Leaving") 10:21:08 --- quit: hyrax (Read error: 110 (Connection timed out)) 10:32:01 --- quit: robert (Remote closed the connection) 11:25:54 --- quit: segher ("Leaving") 11:41:42 --- join: robert (~purple@c-7678e055.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 12:18:42 --- join: snowrichard (~richard@adsl-69-155-177-153.dsl.lgvwtx.swbell.net) joined #forth 12:30:41 --- quit: snowrichard ("Leaving") 12:41:08 --- join: Sonarman (~snofs@adsl-64-160-165-24.dsl.snfc21.pacbell.net) joined #forth 13:34:06 --- join: artoffoo (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 13:34:35 --- nick: artoffoo -> saon 14:16:15 --- quit: madwork (Read error: 104 (Connection reset by peer)) 14:19:09 --- join: madwork (~madgarden@derby.metrics.com) joined #forth 14:20:57 Hi 14:24:39 --- join: tgunr (~davec@vsat-148-65-228-91.c012.g4.mrt.starband.net) joined #forth 14:30:13 --- join: Topaz (~top@cerberus.saywell.net) joined #forth 14:33:54 Hi 14:37:34 mjello 14:46:23 --- nick: hyrax_ -> hyrax 15:04:20 --- join: onetom (~tom@mail.ritek.hu) joined #forth 15:07:14 Hi 15:22:04 --- quit: Topaz ("Leaving") 15:53:56 15:53:58 announcing Pic18Forth alpha 0.0.1 - now with OO - http://pic18forth.sf.net 15:54:01 15:55:55 Neat, I was just thinking about using a PIC18 as the video chip for a computer projoect 15:55:58 projoect* 16:08:12 i recommend the pic18, infinitely nicer than pic16 for only a coupla pennies more 16:11:43 0 pennies, if you use the sample program 16:11:51 heh 16:12:05 love the free samples policy of these big silicon companies 16:12:14 Yep 16:12:24 What is so much nicer? 16:12:29 I have only coded for PIC14 16:12:38 lotsa things 16:12:47 1) the pic18 has three FSRs 16:13:21 and with each FSR, there are 'hotwired registers' that load the byte under the pointer in preincrement, postincrement and postdecrement mode 16:13:50 2) program memory is linear - you can feel safe that GOTO and CALL will take you where you want, without having to worry about setting PCLATH 16:14:15 3) much more data memory, up to 1.5k of GPR RAM 16:14:24 4) more prog memory, up to 32k 16:14:46 Nice, nice :) 16:15:09 5) better control flow - in addition to 'btfsz', 'incsnz' etc, there's the whole suite of 'bz', 'bnz', 'bnn', 'bc', 'bnc' etc 16:15:37 6) status reg now has flags for 'negative', 'overflow' in addition to 'carry' and 'zero' 16:15:57 7) pic14 and pic16 assembler source can be assembled for pic18, with not much change 16:16:04 ... 16:16:10 How about indirect jumps? Easy to make? 16:16:19 yes 16:16:31 write the MSB to PCLATH, then write the LSB to PCL 16:16:35 I'm thinking about using it as a video generator, so I'll have to make tons of lookups in ROM 16:17:16 lookups in ROM are way fast, there's a special register pair TBLPTRH:TBLPTRL, which indexes program mem with postinc/postdec/preinc/predec modes 16:17:47 no more need for those wasteful 'retlw someval' instructions 16:17:54 Ah, cool :) 16:18:02 So you can use both bytes of an instruction? 16:18:11 yes 16:18:14 Wonderful. 16:18:20 most instructions are 2 bytes (ie, 8-bit bytes) 16:18:37 but some instructions, eg 'movff' (move from one file reg to another) are 4 bytes 16:18:59 Cool, so you don't have to use W for everything? 16:19:05 correct 16:19:18 you could even write progs which never use W 16:19:21 Any banking of the RAM? 16:19:29 yes 16:19:38 :/ 16:19:40 but if you use one of the three FSRs, you don't need to use BSR 16:19:52 if you access via FSR, RAM is linear 16:19:57 Sorry, forgot what BSR is 16:20:06 Bank Select Register 16:20:09 Ah, nice. 16:20:17 i don't even use BSR at all in pic18forth 16:20:52 for instance, to move a byte from data stack to return stack, i just do 'movff STK_DAT_POP, STK_RET_PUSH' 16:21:11 whereas in pic16, i'd be forever messing with RP0/RP1 bits 16:21:51 Can the pic18 execute code from RAM? 16:21:59 not without a vm 16:22:04 :/ 16:22:11 still Harvard memory model 16:22:28 OK, so I'll add another CPU to the system :) 16:22:32 heh 16:22:39 * robert has a few z80s 16:22:49 oh, another thing - 32-level hardware return stack, which is software accessible 16:23:05 Neat 16:23:10 and, the chip can take a 40MHz rock 16:23:35 I was thinking about using a 8MHz one and use the internal multiplier 16:23:42 That should give me 8 MIPS, right+ 16:24:00 not sure about that - maybe you're better with a 40MHz crystal 16:24:15 How do you use an overtone crystal with it? 16:24:28 not sure what an overtone xtal is 16:24:33 I got a 40 MHz one, but I assume it's not fundamental 16:24:59 Above ~25MHz crystals become too fragile, from what I've heard 16:25:08 i haven't even been there - i'm still driving my 18f with the 20MHz rocks i was using for my pic16f876a 16:25:19 So if you want to go higher, you use a low-frequency crystal and multiply the frequency. 16:25:44 you'd have to comb the datasheet for info on all that 16:26:16 Yeah, I was checking it 16:26:35 Seems like using the internal multiplier is the easiest way to get there 16:26:45 Anyway, it's getting late..see you tomorrow :) 16:28:53 k 16:28:57 have fun with 18fs 17:01:30 --- quit: hyrax ("Chatzilla 0.9.66c [Mozilla rv:1.7.5/20041107]") 17:10:22 * crc is back for ~1 hour 17:12:42 --- join: hyrax (~das@adsl-64-219-100-33.dsl.lgvwtx.swbell.net) joined #forth 17:43:22 --- join: snowrichard (~richard@adsl-69-155-177-153.dsl.lgvwtx.swbell.net) joined #forth 17:44:06 hello snowrichard 17:44:11 hi 17:44:20 Hi snowrichard 17:55:58 hello crc 17:56:53 I like your words for reading/writing blocks on the hard drive :) 17:57:47 I'd like to add them as a part of RetroForth/Native 7.7 if that's ok with you... 17:58:00 sure 17:58:29 Good :) 17:59:21 With a little luck I'll be releasing 7.7 this weekend. It'll be one of the last releases in the 7.x series 18:00:01 release early and often I guess ; 18:00:08 heh 18:00:17 I don't have as much time as I used to 18:00:31 (My wife gave birth to our second child yesterday) 18:00:39 I wrote a string comparison function today 18:00:45 congrats 18:00:49 thanks 18:01:50 boy or girl? 18:01:54 Boy 18:02:14 my son is named Michael 18:02:22 Name: Arland Edward Childers; 7.3 lbs; 20" long; dark curly hair :) 18:03:03 I now have two sons 18:03:10 --- join: TheBlueWizard (TheBlueWiz@modem-127.nyc-tc03b.FCC.NET) joined #forth 18:03:17 Hi TheBlueWizard 18:03:33 hiya crc 18:09:54 --- quit: aum (Remote closed the connection) 18:21:25 congrats crc 18:22:58 congrats? 18:24:09 crc's wife had a baby boy yesterday. 18:31:18 thanks hyrax 18:32:57 ahhhh! conrats then :) 18:33:02 congrats* 18:33:10 --- quit: snowrichard ("Leaving") 18:33:11 thanks tbw 18:49:02 --- quit: TheBlueWizard (Nick collision from services.) 18:49:24 --- join: TheBlueWizard (TheBlueWiz@modem-127.nyc-tc03b.FCC.NET) joined #forth 18:54:51 --- quit: TheBlueWizard (Nick collision from services.) 18:55:11 --- join: TheBlueWizard (TheBlueWiz@modem-127.nyc-tc03b.FCC.NET) joined #forth 18:55:43 --- join: tgunr1 (~davec@vsat-148-65-228-91.c012.g4.mrt.starband.net) joined #forth 18:55:58 --- quit: tgunr (tolkien.freenode.net irc.freenode.net) 18:55:58 --- quit: robert (tolkien.freenode.net irc.freenode.net) 18:55:58 --- quit: Fractal (tolkien.freenode.net irc.freenode.net) 18:55:58 --- quit: warpzero (tolkien.freenode.net irc.freenode.net) 18:57:30 --- join: warpzero (~warpzero@wza.us) joined #forth 18:58:00 --- join: robert (~purple@c-7678e055.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 18:59:12 --- quit: warpzero (Killed by sagan.freenode.net (Nick collision)) 18:59:15 --- join: tgunr (~davec@vsat-148-65-228-91.c012.g4.mrt.starband.net) joined #forth 18:59:15 --- join: Fractal (jah@selling.kernels.to.linus.torvalds.at.hcsw.org) joined #forth 18:59:15 --- join: warpzero (~warpzero@66.109.132.242) joined #forth 18:59:18 --- quit: warpzero (Connection reset by peer) 18:59:22 --- join: warpzero (~warpzero@wza.us) joined #forth 19:00:25 --- quit: tgunr (Connection reset by peer) 19:16:08 --- join: snowrichard (~richard@adsl-69-155-177-153.dsl.lgvwtx.swbell.net) joined #forth 19:16:17 --- quit: saon ("leaving") 19:38:03 --- join: I440r (~mark4@216-110-82-59.gen.twtelecom.net) joined #forth 19:38:40 hiya I440r 19:39:20 hello 19:39:49 hiya snowrichard 19:41:03 crc still here ? 19:41:15 yes, for a 15 more minutes 19:41:24 hi guys 19:41:59 I noticed a minor irritation with the keyboard reading. Back space doesn't work, you have to be a perfect typist. 19:42:12 that will hopefully be fixed in 7.7 19:42:29 do a read line at a time kind of thing? 19:42:38 Maybe 19:42:47 has anyone here emailed chuck ? 19:42:51 All ports other than native use line-buffering 19:43:02 yes I notice linux did it 19:43:04 being consistant might be good 19:43:34 I don't know chuck sorry to hear about his wife though 19:47:42 how about " some string " find " replacement string " repl for the editor? 19:48:10 That'd be nice to have 19:48:41 * crc would like to build a set of useful editor extensions 19:48:48 I have a strcmp, didn't get much further today 19:49:05 The editor is built into the main build of retro8, but including everything I'd like would bloat the core too much :) 19:49:23 I coded a strcmp for thinfu a while back 19:49:31 I didn't save it though :( 19:50:12 can you paste your strcmp here? 19:53:11 can't figure out a way to get it out of bochs short of retypring it. is about half a screen full 19:53:20 :( 19:53:59 only tests for equality not sort order though 19:54:10 That's good enough 19:54:19 what's the stack useage? 19:55:18 I did something like " abc" zt-make " def" zt-make strcmp _flag @ . (should print 1 ) 19:57:06 will post on your forum later I guess 19:57:26 ok 19:58:59 : strcmp ( addr addr -- t/f ) >a dup b@ for dup b@ b@+ <> if false exit then 1+ next drop true ; 19:59:03 something like that 19:59:07 for byte-counted strings 20:00:01 crc: congrats on the baby :) 20:00:05 Thanks Herkamire 20:00:22 I don't store the count with the string though; so that won't work for me :( 20:00:25 oop. s/false/drop false/ 20:00:46 crc you want ( addr u addr2 u2 -- t/f ) ? 20:01:04 Basically yes 20:01:19 you have an Address register? 20:01:37 Nope 20:01:37 mmm... going to be longer then 20:02:10 : strcmp ( addr u addr2 u2 ) >r swap 20:02:56 : strcmp ( addr u addr2 u2 ) >r swap dup r> <>if 2drop drop false ; then -strcmp ; 20:03:59 : -strcmp ( addr addr u -- t/f ) for over b@ over b@ <>if 2drop false ; then 1+ swap 1+ next 2drop true ; 20:08:15 looks good to me 20:08:37 -1 constant false 20:08:37 0 constant true 20:08:37 : strcmp rot drop repeat >r over c@ over c@ <>if r> drop 2drop false ;; then 1+ swap 1+ r> until 2drop true ; 20:08:40 :) 20:09:02 Assuming that both strings are the same length, this works :) 20:09:04 found another bug in my counted string version... s/for/1+ for/ (checks the count and the string) 20:09:31 Hmm 20:09:37 rot drop??? 20:09:46 you can't just ignore the other count 20:09:52 the counts must be the same 20:09:53 sure I can :) 20:10:09 "you can't" and "you" are not the same string 20:10:17 If one count is different; they won't match 20:10:28 if you drop the count of the first, they will match with your algorithm 20:10:28 Hmm 20:11:29 your find checks the lengths first doesn't it , same thing 20:12:29 I'd check the lengths first with a different word 20:13:03 :) 20:13:56 Actually I'd drop the "rot drop" sequence and have the a word that could be used to build more "intelligent" string comparisions. 20:15:03 "rot over" would work in place of ">r swap dup r>" in my version 20:15:19 wait no... you'd still need a swap later 20:15:45 drrrr.... another reason I don't use rot... it still get's me confused 20:16:19 yeah, "rot over" would be fine 20:16:28 do you have 3drop? 20:17:25 no 20:17:55 : 3drop 2drop drop ; 20:18:14 rot shifts the third element of the stack to TOS 20:18:37 crc your until decrements the top of stack and loops if it's not yet zero? 20:18:40 : 3drop drop drop drop ; <-- more efficient in retro8 and retro7.7 20:18:42 Yes 20:18:54 wild 20:18:55 In retro8 I have for/next, but not in 7.x yet 20:20:49 heh, I coded drop 2drop and 3drop in asm 20:21:17 My "drop" is a macro that inlines the assembly :) 20:22:00 : 2drop drop drop ; same as --> : 2drop [ $adad 2, ] ; 20:22:08 mine too 20:22:32 drop instruction is just one byte? 20:22:37 Yup 20:22:40 :) 20:23:31 wow, it's 8 on ppc 20:23:37 (two instructions) 20:23:47 um...maybe it would be a bit more useful to code up two words: match and strcmp....strcmp use match, which would check to see if str1 is at the start of str2 (e.g. ABC match ABCDEFG) 20:23:54 either that or it's one and dup is two 20:24:20 that way you can use match rather than strcmp for some routines...maximizing reusability 20:24:25 The pentium assembly language is way more complicated than the old IBM mainframes I started on years ago. There was a foldout pocket reference card for it 20:26:35 I don't code for anything above a 386 20:27:31 swap is two bytes; dup is six bytes 20:27:46 darn it getting cold in here again time to light the heater 20:27:50 :) 20:28:08 * crc is going to go to bed now; I have to be at work in about six hours 20:28:13 bye 20:28:21 bye all 20:31:34 --- quit: snowrichard ("Leaving") 21:22:03 --- quit: cmeme ("Client terminated by server") 21:22:51 --- join: cmeme (~cmeme@216.184.11.2) joined #forth 22:00:57 --- quit: Sonarman ("leaving") 22:15:04 bye all (going to bed) 22:15:47 --- part: TheBlueWizard left #forth 22:36:58 --- quit: Fractal (Read error: 110 (Connection timed out)) 22:43:36 --- join: Raystm2 (~Ray@adsl-69-149-42-7.dsl.rcsntx.swbell.net) joined #forth 22:59:19 --- quit: Herkamire ("bed") 23:51:40 --- join: OrngeTide (orange@rm-f.net) joined #forth 23:51:50 hio 23:51:58 * OrngeTide just got his mac mini today. it's neato 23:59:59 --- log: ended forth/05.01.24