00:00:00 --- log: started forth/20.04.19 00:01:28 --- join: rdrop-exit joined #forth 00:02:57 --- join: merkc1 joined #forth 00:03:16 --- quit: inkajoo (Ping timeout: 265 seconds) 00:06:04 --- quit: merkc0 (Ping timeout: 258 seconds) 00:12:15 --- quit: merkc1 (Ping timeout: 256 seconds) 00:29:08 --- join: xek joined #forth 01:09:12 Oh right c[] is a cup of coffee 01:09:15 That makes sense now 01:21:16 tp: "sometimes the numbers are so large, XSLT reverts to sci notation" 01:21:44 That is what I will focus on, use something else :) 01:28:38 Has anyone considered stack comments make more sense phantoming where the parameters would be in usage or as equivalent demo code? 01:28:54 Like why not : ( w h ) BOX 01:29:17 If you called BOX by hand you'd write the w and h there in front 01:29:29 Well because : doesn't care about comments 01:30:11 But another example, in code sometimes people write out what's happening on stack in different ways 01:30:37 But what I do atm is put comments with what's on the stack occasionally in front of the code that uses it 01:30:49 and that always seems to give me shorter comments 01:32:12 Like this code: : AT-XY ( x y -- ) ( y ) 0 23 CLAMP T-ROW C! ( x ) 0 63 CLAMP T-COL C! ; 01:36:41 You could do ( w h ) : BOX 01:36:53 veltas, whay do you want shorter comments ? 01:37:10 And ( n1 n2 ) : + ( n ) 01:37:32 tp: If they make as much sense, they're easier to read 01:37:45 shorter everything is usually easier to read if it still makes sense 01:38:47 true 01:39:19 most of my comments are technical, very hard to shorten 01:39:49 c[] back 01:39:56 : RCC_CIR_CSSC ( -- x addr ) 23 bit RCC_CIR ; \ RCC_CIR_CSSC, Clock security system interrupt clear 01:40:10 veltas, thats a typical example 01:40:29 I'm talking about stack comments right now 01:40:42 ok 01:40:43 what about them? 01:40:45 But if we're talking about your code let's talk XSLT 01:40:52 sure 01:41:06 XSLT is everyones favorite Forth I know ;-) 01:41:54 people might sue us for being off topic 01:42:52 veltas, but we can discuss it all we like on my embedded ch #mecrisp 01:43:14 But I need to sue you for being off topic 01:43:45 That's how the courts work these days, instead of having reasonable rules about what you can be sued for they gave up and now you have to counter-sue over everything 01:44:07 hey it works for the lawyers! 01:44:47 lol tp come on it's not like judges are friends with only lawyers and other judges, therefore having an incentive to make law drag on for everyone else when it's pointless ;-) 01:45:28 no, couldn't be! 01:45:46 it's not pointless if you bill by the hour ? 01:46:22 but back to Forth before everyone puts you on ignore 01:47:06 they come here for Forth, I'm already ignored enough 01:59:26 veltas, what is your definition of CLAMP ? 01:59:54 : CLAMP ROT MIN MAX ; 01:59:57 without comments 02:00:20 are your x y signed or unsigned ? 02:00:26 ( n1 n2 n3 -- n ) \ clamp n1 between n2 and n3 02:00:43 signed 02:01:55 Well either really but I treat them as signed because the standard unsigned words tend to be more limited 02:03:56 I see 02:07:37 Here it really doesn't matter because the variables being modified are c-variable's 02:08:35 And if you were trying to set it to 32768 then your code was doing something wrong anyway probably 02:09:04 couldn't you achieve the same thing with 23 umin ... 63 umin ? 02:11:10 oops 02:11:15 never mind 02:11:18 brain fart 02:13:44 I forgot you use signed coordinates 02:14:23 I always use unsigned coordinates 02:19:05 or linear offsets 02:36:46 --- join: dddddd joined #forth 02:42:57 --- join: merkc1 joined #forth 03:06:30 rdrop-exit: No I don't use signed coordinates 03:06:53 But if I had -1, 0 seems closer to the correct value than 63 03:07:06 Coordinates are between 0 and 63 03:07:52 if you're using unsigned coordinates than -1 is a very large number 03:08:28 Yes 03:09:22 so it would make sense to clip it to your highest valid coordinate if you're going to clip it anyway 03:09:32 But if you're using simple increments/decrements half the time and get it wrong by one you will get -1, or 65535, either way is *meant* to be something near 0 rather than 63 03:10:27 If I want to do it with modular arithmetic I could AND it, but I don't, I want to clamp it. 03:11:53 Or e.g. you are doing some bad geometry calculation and you want something off the side of the screen, my method will put it on the correct side of the screen at least 03:12:18 ya, I usually don't bother either way 03:15:17 --- quit: proteus-guy (Ping timeout: 256 seconds) 03:31:08 --- quit: tabemann (Quit: Leaving) 03:40:08 --- join: tabemann joined #forth 03:48:12 --- join: dave0 joined #forth 04:57:54 --- quit: rdrop-exit (Quit: Lost terminal) 05:11:35 --- join: TCZ joined #forth 05:25:52 --- join: inkajoo joined #forth 05:56:10 --- join: X-Scale` joined #forth 05:57:51 --- quit: X-Scale (Ping timeout: 256 seconds) 05:57:51 --- nick: X-Scale` -> X-Scale 06:03:02 --- join: proteus-guy joined #forth 06:07:46 --- quit: TCZ (Quit: Leaving) 06:50:33 --- join: dddddd_ joined #forth 06:50:45 --- join: deesix_ joined #forth 06:52:53 --- quit: deesix (Ping timeout: 250 seconds) 06:53:24 --- quit: dddddd (Ping timeout: 264 seconds) 07:01:18 --- quit: dave0 (Quit: dave's not here) 07:17:53 --- nick: dddddd_ -> dddddd 07:18:08 --- nick: deesix_ -> deesix 07:20:06 --- join: C-Keen joined #forth 07:31:53 --- quit: inkajoo (Ping timeout: 258 seconds) 07:51:19 --- join: X-Scale` joined #forth 07:52:12 --- quit: X-Scale (Ping timeout: 258 seconds) 07:52:14 --- nick: X-Scale` -> X-Scale 07:54:07 --- quit: merkc1 (Ping timeout: 258 seconds) 07:54:29 --- join: inkajoo joined #forth 08:00:53 --- quit: jsoft (Ping timeout: 256 seconds) 08:14:49 --- quit: dys (Ping timeout: 265 seconds) 08:16:36 --- quit: cheater (Ping timeout: 240 seconds) 08:21:29 --- join: TCZ joined #forth 08:35:19 --- join: cheater joined #forth 08:46:25 --- quit: TCZ (Quit: Leaving) 09:16:24 --- quit: Zarutian_HTC (Ping timeout: 256 seconds) 09:53:35 --- join: Zarutian_HTC joined #forth 10:03:24 --- quit: Lord_Nightmare (Quit: ZNC - http://znc.in) 10:06:27 --- join: Lord_Nightmare joined #forth 10:22:46 --- quit: Zarutian_HTC (Read error: Connection reset by peer) 10:23:05 --- join: Zarutian_HTC joined #forth 10:54:56 --- quit: dddddd (Ping timeout: 240 seconds) 11:00:54 [] <- can of beer 11:02:00 Hey guys 11:33:31 * jackdaniel takes can of beer 11:33:37 hi 12:30:04 It's okay I have plenty more 12:34:59 --- join: WickedShell joined #forth 12:38:53 * jackdaniel takes plenty more cans of beer 12:50:02 --- join: TCZ joined #forth 12:58:33 --- join: crab1 joined #forth 12:58:40 hello, folks of #forth 13:00:10 jackdaniel: Okay jack might want to slow down there m8 13:01:31 crab1: Hello 13:01:41 How are ya 13:02:32 Good as can be 13:02:36 You? 13:02:49 I'm alright 13:03:35 Any interesting projects or anything going on? 13:06:17 I don't think my project is interesting but I will tell you what I am working on 13:06:36 It is my first Forth, and it is targetting the ZX Spectrum. 13:06:59 ZX? 13:07:01 Written in Z80 assembly and my forth's colon def parameter data 13:07:23 Yes it's an 80s microcomputer, built by Sinclair 13:07:38 ahh that sounds vaguely familiar 13:08:53 I've been uninspired as far as computing goes as of late 13:09:31 how far into writing the forth are you? 13:09:53 Don't know 13:10:04 I am running stuff but need to write interpreter yet 13:10:27 ah that's good 13:10:38 Never get enough time and then when I do I spend most of it on other stuff 13:10:48 is it open source? 13:10:56 It might be when it's done 13:11:15 Might as well be because it's so small that one could easily reverse engineer it 13:11:22 Especially a forth hacker who knows Z80 13:11:23 gotcha 13:19:49 crab1: Yeah thinking about it I will make it totally open 13:24:42 --- quit: WickedShell (Remote host closed the connection) 13:27:14 --- quit: xek (Ping timeout: 258 seconds) 13:50:01 --- join: dave0 joined #forth 14:04:22 --- quit: TCZ (Quit: Leaving) 14:15:37 --- quit: inkajoo (Quit: Leaving) 14:25:05 --- join: TCZ joined #forth 14:34:17 --- quit: gravicappa (Ping timeout: 260 seconds) 14:59:59 --- join: dddddd joined #forth 15:42:09 --- quit: reepca (Ping timeout: 256 seconds) 16:01:14 --- join: rdrop-exit joined #forth 16:05:11 --- quit: TCZ (Quit: Leaving) 16:12:20 --- join: reepca joined #forth 16:51:55 --- join: TCZ joined #forth 17:07:06 (-_-)zzz c[] greetings forthlings 17:08:15 greets Zen Guru of Coffee 17:08:58 hi Master Forth Tech (tm) 17:17:05 hmm... are there any forths that keep comments in their definitions? 17:18:18 some Forths have a view field in their headers 17:18:42 the view field points to the source code of the word 17:19:22 i'd think that comments are not excluded by any Forth in any area ? 17:19:37 surely it's up to the programmer ? 17:20:03 I use comments everywhere, nowhere is exempt in my code 17:20:12 from the view field you can get to the source and therefore inline comments 17:20:28 and from the source you can get to the shadow comments 17:21:01 (block based Forths have two types of comments, inline comments, and shodow blocks) 17:21:59 * shadow blocks (not shodow blocks) 17:22:32 here is a small example of what I do 17:22:34 : acquire ( -- ) \ TSC_CR_START, Start a new acquisition 17:22:35 TSC_CR_START bis! \ start acquisition, it finishes with a interrupt by the irq-tsc 17:22:35 ; \ which updates g2-counter within about 5 milliseconds. 17:27:44 Zarutian_HTC, is that what you're asking about, where the comments are stored? 17:28:34 yes this did answer what I had in mind 17:32:57 On colorForth-like systems that pre-parse and tokenize source code there may be a special comment token, that's how some Basics did it too IIRC 17:36:35 Laxen & Perry's F83 had view fields IIRC, maybe Pygmy for DOS too, my memory's hazy 17:39:37 Some Forths had built-in Help systems too 17:40:27 e.g. EXPLAIN or HELP 17:42:01 rdrop-exit, any forths ever have a stack comment as part of the dictionary ? 17:44:59 I can't recall such a thing, but having source in blocks and a header view field gave you instant access to source including stack comments 17:46:10 only when the source wasnt assembly 17:46:22 VIEW would bring up the source of and position the cursor 17:47:06 even if the source was assembly 17:47:30 a CODE word has a header 17:47:36 sure 17:48:35 I can see the assembly anytime with "see word" but no comments, no stack picture 17:49:16 that's because SEE disassebles the word, VIEW would show you the source code of the word 17:49:32 assembly source when compiled is a binary and it had to be disassembled to even view it as assembly 17:50:37 so VIEW stored the assembly source linked to each word somehow ? 17:53:35 the header of the word stores the location of the source in a view field 17:55:00 aha 17:55:10 i.e. the block number, or block number and offset where the source is 17:56:07 this is a pc Forth I'm guessing because of the extra space of the source ? 17:56:31 assembly source that is 17:58:53 it's up to the implementor, as long as you have storage for source, even compressed 18:01:47 back 18:01:49 hey guys 18:02:00 hi tabemann 18:02:07 I now have a means of uploading without using e4thcom 18:03:23 rdrop-exit, ahh, good point 18:03:33 tabemann, hello, awesome 18:04:31 tabemann, I found that a blue pill with the Mecrisp-Stellaris USB driver only needs a 5ms EOL delay and it's damn fast, probably faster than my screen at 460800 baud 18:04:39 thanks to the guy behind STM8EF 18:05:01 tabemann, STM8EF is a pretty decent looking Forth imho 18:05:43 and the STM8 is probably one of the cheapest 8 bit mcus around with a decent peripheral repertoire 18:05:46 I had to hack up the code a bit to get it to work, but now it works very well, such that for my most recent release I didn't even use e4thcom 18:06:22 I think that e4thcom is perfect for users who dont want anything special 18:06:44 my main gripe with e4thcom is that it limits relative paths to 32 chars 18:07:10 it sure gets around the EOL delay that makes the traditional no handshaking Forth dead slow and virtually unusable imho 18:07:32 oh, codeload3.py is fast as fuck 18:07:34 tabemann, ahh yes, I'd forgotten that 18:08:28 tabemann, so thats your new method, upload with codeload3.py ? 18:08:54 if I don't plan on doing anything interactive, yes 18:10:43 what's the appeal of the STM8? 18:10:50 aha, so a separate terminal cant access the serial devise while codeload3.py is using it ? 18:10:57 registers at least look like a 6502 18:11:03 --- join: jsoft joined #forth 18:11:04 tp: yeah 18:11:13 MrMobius, the short 4 letter name ... 18:12:15 MrMobius, seriously the stm8 is dirt cheap, like 20 cents from Chinese retailers, and it's peripherals are quite similar to the stm32 18:12:45 tp: I've also written some somewhat better documentation for zeptoforth, specifically w.r.t. multitasking and scheduling 18:12:51 MrMobius, plus I like the STM8 ISA, it looks ok to me 18:13:14 tabemann, I dl and ran your latest today, looking good 18:13:52 what version was it? 18:14:23 tabemann, I did notice there is a bit of disconnect between the basic.md doc and the actual words present in the "everything" binary 18:14:51 zeptoforth_full-0.2.2.bin 18:14:57 tp. hmm ya just looking. stack relative addressing is very good. dont get that on some 8 bitters 18:15:16 note that a lot of the "assembler" words aren't documented 18:15:24 the newest is 0.3.0 18:15:29 --- quit: TCZ (Quit: Leaving) 18:15:50 tp, pic32mm is interesting. ever look at those? 18:15:53 the version bump was mostly because there are some breaking changes to systick, multitasking, and scheduling 18:15:59 tabemann, ahh, well I only updated it about 5 hrs ago :) 18:16:25 MrMobius, no, I avoided the PIC32 as it had poor OSS support 18:16:58 tp, ya same. only got interested when I considered writing in assembly 18:17:06 MrMobius, plus Ive been staying with stm32 since 2014, Ive too much time invested to change to anything else 18:17:32 not to mention my stock of 480 stm32f051's 18:18:31 MrMobius, stm32 assembly is ok, nothing like the sweet language of the 6800 but it's ok 18:19:06 MrMobius, probably more fun than Z80, 8085 etc tho 18:19:25 STM32 assembly has the main disadvantage of that which addressing modes each instruction has, though, is dependent on that instruction 18:19:52 --- quit: Zarutian_HTC (Read error: Connection reset by peer) 18:19:57 tp, ok ill ask you about pic32 again when you run out of stm32f051s 18:20:02 tabemann, yeah, it's usable tho, I don't *hate* it 18:20:04 --- join: Zarutian_HTC joined #forth 18:21:07 MrMobius, hahaha, I have no attraction to microchip thesedays, when my stock has run out in the year 4095 (based on my current usage) I'll probably be into RISC-V 18:22:02 or you know ... dilithium crystals or whatever 18:22:07 isn't PIC32 basically MIPS? 18:22:13 tabemann, yes 18:22:18 whereas other PIC archs are, well, insane 18:22:24 RISC+VIIXCCI 18:22:47 Mecrisp-Stellaris has a PIC32 version in Mecrisp-Quintus 18:22:59 same family as RISC-V 18:23:18 RISC-V is basically MIPS too? 18:23:31 ya MIPS for pic32mx and mz which have a 16 bit mode like arm has thumb but the pic32mm stuff is interesting because it only has the 16 bit mode like m0 but its a different 16 bit mode optimized for when you only have the one mode 18:23:41 and is much cheaper than mx and mz 18:23:42 MrMobius, I have a ton of MIPS mcu's here in old wifi gear but frankly, cant be bothered with them 18:23:44 * tabemann remember learning MIPS in college - nice arch aside for the branch delay slot 18:24:08 the first time i used mips i assumed it was like all the other assembly languages i had learned 18:24:30 RISC-V although inspired by MIPS thankfully removed the branch delay slot 18:24:34 ornxka, and ? 18:24:50 i did not fill in the branch slot and many joyous hours were spent wondering what the heck was going on 18:24:56 I read somewhere some compilers just put a nop in the delay slot and call it a day 18:25:05 until i actually bothered to read an actual guide on it 18:26:03 the assembler we used in school hid the branch delay slot from the user 18:26:19 I hate smart assemblers 18:26:35 i hate branch slots but i would probably hate smart assemblers too if i ever used one 18:27:37 I was wondering why there wasn't a branch delay slot, as I already knew that MIPS had this prior to heaving to learn it 18:28:14 bbiab 18:28:28 tabemann, what does codeload.py do if the compiler spits out a error ? 18:28:29 probably hid it in a macro-op 18:31:06 tabemann, pls ignore, I see it displays the error 18:35:41 --- join: boru` joined #forth 18:35:44 --- quit: boru (Disconnected by services) 18:35:46 --- nick: boru` -> boru 18:41:10 back 18:42:45 tabemann, codeload.py looks good, all I need is to feed the errors back to Make so they get displayed with my source 18:43:04 ... so much to learn 18:44:47 opinion question 18:45:02 should I change , current, flash, to be ram, , flash, ? 18:45:35 I have it that way currently so they parallel ! current! flash! 18:46:09 compiletoram, compiletoflash ? 18:46:33 ! and , are currently always for RAM, and of course flash! and flash, are always for flash 18:46:51 current! and current, are currently dependent upon the current compilation mode 18:48:36 Im glad you understand it :P 18:49:01 tp: could you read over my *_guide.md documentation to see if it looks good? 18:49:09 sure 18:49:12 task_guide.md and schedule_guide.md 18:49:26 git pulliing now 18:53:07 the documentation looks uglier as its source, as it's in GitHumb markdown 18:53:10 *GitHub 18:53:33 yeah i was about to ask, what do you view it with ? 18:57:46 yeah, any file *.md in a git repository hosted by github can be assumed to be github markdown meant to be viewed via github 18:58:18 ahh it's ok, I can easily view it in my SCM 18:58:48 oh, so it's compatible with github's flavor of markdown 18:58:56 seems to be 19:02:56 tabemann, they look fine in a rendered .md nice and professionsl 19:04:41 other things I should write guides for include words that are meant to take xts created with [: ;] 19:06:52 http://s000.tinyupload.com/index.php?file_id=00418166581820501739 <-- what I see 19:09:37 I see it renders things slightly differently from github, but not by much 19:10:12 perhaps, I dont use github so I wouldnt know 19:10:37 all .md are a bit diferent depending 19:10:53 yeah 19:10:54 that's just how my fossil scm remders it 19:11:01 and it's fine for me 19:11:32 I don't use anything weird like how github implements tables 19:11:50 I suspect that CRC's documentation is made and viewed on Fossil also as that is his SCM 19:14:27 fossil is like the SCM which gives you everything in the world, whereas git is the SCM that is literally just a versioned filesystem and nothing more 19:14:44 relying on sites such as github to provide more functionality 19:15:28 tabemann, I know 19:16:25 fossil doesnt give *everything* just a scm, webserver, forum, tickets, wiki 19:16:47 there's a reason why linus calls git "the stupid content tracker" 19:16:57 if you want c[] you have to get that yourself 19:17:19 good idea, brb 19:17:23 haha 19:17:37 okay, time for my daughter to go to bed 19:17:38 bbiab 19:17:52 tabemann, and fossil keeps *everything* in a repo in *one single file* 19:17:59 no problemo 19:18:29 and that single file is basically a sqlite database 19:18:53 sounds like a block-based forth 19:20:02 could be I guess 19:20:39 whereas git is a multiple file repo with a content indexed filesyetem 19:22:45 The DOS version of Holon stored each word as a database record of sorts 19:23:15 Holon? 19:23:28 rdrop-exit, cool 19:23:31 kinda like a cross between a smalltalk browser and a cross-compiling Forth for embedded targets 19:23:35 I like the idea 19:25:06 he has a newer version that uses TCL for the host 19:25:17 side 19:25:19 http://holonforth.com 19:25:55 here's the DOS version: 19:25:55 http://holonforth.com/holon86.html 19:27:43 frank sargeants 'riscy-pygness' used TCL for the host side also 19:28:08 his latest Pigmy uses Python and man did he get flamed on CLF 19:28:42 while the rest of the younger generation may be in love with Python, CLF sure isnt 19:28:58 he's got a version targeting Motorola 68HC11 19:29:05 http://holonforth.com/dossystems.html 19:29:52 I have *one* new 68HC11 and matching PLCC socket in my stocks 19:30:10 and zero incentive to ever use it 19:30:22 those max out at 2-3mhz iirc :( 19:30:48 yeah but theyre pretty old, a generation oe 2 at least 19:30:48 I'd rather use Forth for the host, anyway on a tethered system the host Forth can be a completely different type of Forth than what you're putting on your targets 19:31:04 rdrop-exit, absolutely 19:31:44 I think the reason for TCL is the ease with which one can develop a GUI-ish IDE for the host 19:31:54 I agree with rdrop-exit here, a tethered fort has almost every advantage over Forth on the target, especially in embedded 19:32:46 rdrop-exit, yet Riscy-Pygness has no GUI, just the usual Forth terminal (with blocks) 19:33:41 perhaps Frank planned to use some GUI later on 19:34:01 I myself plan to learn tk/tcl at some point, mainly for gui stuff 19:34:05 Holon is similar to a Smalltalk browser environment 19:35:49 I'm switching my host to X, but not GUI 19:38:48 I respect what Wejgaard did with Holon, but I still prefer a more traditional block-based approach 19:42:21 I find the smalltalk browser approach too constraining 19:46:11 brb 19:54:45 tp: ya want to learn tcl/tk for gui stuff the take a look at tcl.tk and wiki.tcl.tk 19:56:41 tp: damn easy to throw together a custom gui just for the spefic task at hand. One was to visualize robotics telemetry comming over a serial link 19:57:19 s/the take/then take/ 20:14:16 back 20:15:56 Zarutian_HTC, thanks! 20:16:31 been thinking a bit. Should kiosk machines spray themselfs down with isopropanol on conclusion of interaction? 20:17:09 make them voice activated 20:17:38 kiosk machines include atms, btms, self checkout and other vending machines 20:18:04 good point 20:18:14 though it is a fire hazard 20:43:05 tp: I don't use fossil's wiki or documentation stuff; only one thing (the all-in-one book.html) isn't built with tools I've written in forth, and I expect to rectify that by early summer 20:44:41 crc, the book.html is fossil assisted ? 20:45:23 No, it's built using an online editor called stackedit currently 20:46:52 oh 20:48:20 It's the only part of my builds that's not automated, and that's only used as I haven't implemented tables in my markdown conversion yet 20:49:57 go automation! 20:50:23 crc, your output will be html ? 20:51:11 Yes, though I'm working on supporting other formats in the future 20:52:05 (Aiming to add epub, ps, and pdf eventually) 20:52:47 very nice 20:53:31 nice! 20:53:41 will your doc system have links and cross refs at al ? 20:54:20 I'm not sure on that yet 20:55:02 That's slightly complicated as I provide the all in one, and separate files, via http and gopher 20:55:54 I see 21:18:39 I should note: there is a toc and links to specific sections / topics, but no direct links from one section to another yet 21:19:09 a toc is very good 21:40:51 --- quit: Zarutian_HTC (Ping timeout: 256 seconds) 21:45:13 --- join: Zarutian_HTC joined #forth 22:16:34 --- quit: MrMobius (Read error: Connection reset by peer) 22:17:35 --- join: MrMobius joined #forth 22:54:33 --- join: gravicappa joined #forth 23:10:23 --- quit: dddddd (Ping timeout: 256 seconds) 23:27:13 --- join: mtsd joined #forth 23:59:59 --- log: ended forth/20.04.19