00:00:00 --- log: started forth/18.11.03 00:43:39 --- quit: wa5qjh (Remote host closed the connection) 01:16:51 --- join: john_cephalopoda (~john@unaffiliated/john-cephalopoda/x-6407167) joined #forth 01:30:18 Hey 01:51:11 --- join: proteusguy (~proteus-g@cm-134-196-84-236.revip18.asianet.co.th) joined #forth 01:51:11 --- mode: ChanServ set +v proteusguy 02:03:33 --- quit: ashirase (Ping timeout: 268 seconds) 02:08:30 --- join: ashirase (~ashirase@modemcable098.166-22-96.mc.videotron.ca) joined #forth 04:13:56 WilhelmVonWeiner: I removed the variables X and Y in the Mandelbrot set viewer and used the stack instead. Got a speed-up from 0.27/0.28 seconds to 0.24/0.25 seconds for 10000 iterations in the initial configuration. 04:16:25 20.4 vs 23.9 seconds for 1 million iterations. 04:16:29 Not a big gain, but a gain. 05:14:43 --- quit: dys (Ping timeout: 268 seconds) 05:15:18 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 05:29:37 --- join: dys (~dys@tmo-120-119.customers.d1-online.com) joined #forth 06:10:56 New version: https://thecutecuttlefish.org/mandelbrot1.html 06:57:19 john_cephalopoda: Which version is the most detailed? 06:57:35 Hm. I'm modifying it to use HJKL bindings because that's more intuitive 06:57:57 siraben: The new version just contains a minor speed-up and is structured more clearly. 06:58:32 Oh, and controls for changing how many iterations the algorithm runs. 07:05:51 I'll work on a mandelbrot set viewer for my calculator sometime as well. 07:06:02 I can draw pixels individually and there's arrow keys 07:06:35 It's really simple to set up, as long as you can do floating point operations. 07:13:23 well, damn, there are more and more issues with x86 chips now days 07:13:41 https://arstechnica.com/information-technology/2018/11/intel-cpus-fall-to-new-hyperthreading-exploit-that-pilfers-crypto-keys/ 07:19:10 looks like one is better off with running an hardcoded boolean circuit emulator on these chips at this point 07:20:10 john_cephalopoda: a bunch of ROM calls and I'm s\et 07:20:11 set* 07:21:33 siraben: you implementing this in that TI forth you are playing around with? 07:21:52 Zarutian: Yep. 07:22:43 siraben: now just out of curiousity, what is the calling convention of those ROM routines provided by the 'OS'? 07:24:32 I use the b_call macro. b_call xxxx => rst 28h \ .dw xxxx 07:24:41 Something to do with interrupts, I'm not too familiar with the rst instruction 07:24:58 xxxx is the address of the call. There's an include file so I don't need to memorize it 08:05:07 siraben: this is using the Zilog 80 processor, yes? rst is an software interrupt 'call' iirc 08:05:59 ReSeT iirc, dont ask me why, probably not to be confused with INTerupt 08:07:09 what I have seen of these old CISC ISAs is how hopelessly complicated they were made 08:16:16 btw, has anyone here found out where the Store to Program Memory instruction is in the usual Arduino bootloader for AVR ATMEGA32-16PU? 08:16:52 because that instruction is only allowed to be run from the boot area of program memory and not the application area 08:41:32 So that chip is designed to have code only loaded at boot time? Or rather that's the only way to load code, is via some code that lives in that area? 08:42:44 --- join: Keshl_ (~Purple@24.115.185.149.res-cmts.gld.ptd.net) joined #forth 08:43:48 KipIngram: well, it is where 'self-programming' code lives, think the code that runs when the application is being programmed in. 08:44:28 --- quit: Keshl (Read error: Connection reset by peer) 09:00:54 --- quit: smokeink (Remote host closed the connection) 10:04:52 --- quit: dave0 (Quit: dave's not here) 10:39:45 --- join: [1]MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 10:42:23 --- quit: MrMobius (Ping timeout: 244 seconds) 10:42:23 --- nick: [1]MrMobius -> MrMobius 10:50:56 --- join: ncv (~neceve@2a02:c7d:c5c9:a900:6eaf:6ef7:3b81:d5f6) joined #forth 10:50:56 --- quit: ncv (Changing host) 10:50:56 --- join: ncv (~neceve@unaffiliated/neceve) joined #forth 11:38:12 --- join: Mat4 (~eh@ip5b409c40.dynamic.kabel-deutschland.de) joined #forth 11:42:40 hello everyone 11:43:24 --- part: Mat4 left #forth 12:20:31 --- quit: john_cephalopoda (Quit: Trees can see into your soul.) 12:20:42 --- join: john_cephalopoda (~john@unaffiliated/john-cephalopoda/x-6407167) joined #forth 12:40:39 siraben, do you ever join #z80? 12:47:12 --- nick: Keshl_ -> Keshl 13:03:10 Is anybody here working on a Forth OS that also runs on x86? 13:39:13 --- quit: tabemann (Ping timeout: 260 seconds) 13:41:04 --- quit: ncv (Remote host closed the connection) 13:46:33 --- join: ncv (~neceve@unaffiliated/neceve) joined #forth 13:48:26 --- join: tabemann (~tabemann@71-13-2-250.static.ftbg.wi.charter.com) joined #forth 13:48:30 --- quit: groovy2shoes (Excess Flood) 13:48:51 --- join: groovy2shoes (~groovy2sh@unaffiliated/groovebot) joined #forth 15:11:44 --- quit: tabemann (Remote host closed the connection) 15:12:07 --- join: tabemann (~tabemann@71-13-2-250.static.ftbg.wi.charter.com) joined #forth 15:34:41 --- join: wa5qjh (~quassel@175.158.225.218) joined #forth 15:34:41 --- quit: wa5qjh (Changing host) 15:34:41 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 15:52:40 Hi John. Mine is an x86-based Forth that's basically aimed at eventually being a bare-metal OS. 15:52:49 Right now I run it under MacOS, though. 15:53:32 It has 64-bit data (stacks, variables, etc.), but the internals (definition cells) are 32-bit. 15:54:58 KipIngram: Sounds cool. 15:55:09 I'm pretty pleased with it so far. 15:55:26 Have you got a copy of the source available somewhere? 15:55:36 MacOS executable format (MACHO) requires everything be relocatable in a way that impacted how I was able to design the Forth vm. 15:55:51 My definitions are comprised of lists of offsets, from the base address of the system. 15:56:10 I have the system base address in a register, and use that to add to the offsets I pick up from the cells in NEXT. 15:56:28 So there's a small performance penalty there, but I didn't see any other way to make it work. 15:56:54 No, not yet. I do plan to open source some variant of it at some point, but not until I have it to a more complete stage. 15:57:03 it's all in assembly language, assembled with nasm. 15:57:15 Around 3500 lines so far. 15:57:23 Are you aiming for a Forth close to ANS Forth or writing a dialect? 15:57:45 It's a dialect. 15:57:58 I don't even have a copy of the standard that I reference. 15:58:07 Heh :þ 15:58:27 I've incorporated a number of non-standard features, like conditional returns, stack frames, etc. 15:58:48 The conditional returns have really affected how I write Forth code. 16:01:39 I use a lot less IF ... THEN clauses now. 16:03:29 --- quit: tabemann (Ping timeout: 240 seconds) 16:22:18 KipIngram: I can't quite imagine conditional returns. How do those work? 16:28:43 Well, take 0=; for example. If there's a zero on top of the stack, it consumes it and returns. To the caller of the word containing 0=;. 16:28:48 So you might have something like this: 16:28:57 : foo 0=; a b c ; 16:29:06 : bar e f g foo h i j ; 16:29:23 So if g puts 0 on the stack and then callsl foo, foo will return without executing a, b, and c. 16:29:39 But if the flag is non-zero, it still gets consumed, but we carry on and execute a, b, and c. 16:30:16 So instead of 0= IF a b c THEN ... you can just have foo instead. 16:30:32 Wait - I may have that logic backward. 16:30:48 foo RETURNS if the flag is 0, so that would actually replace IF a b c THEN 16:31:00 In each case you skip a b c if the flag is 0. 16:32:00 --- join: tabemann (~tabemann@rrcs-162-155-170-75.central.biz.rr.com) joined #forth 16:32:52 Headed out to see a movie - back later on. 16:40:06 KipIngram: Off soon-ish, so see you probably tomorrow. 16:40:30 * tabemann should probably add more floating-point operations to Attoforth 16:45:09 I should probably add closures that can enclose floating-point values 16:49:19 Heh, everybody here has their own Forth dialect :þ 16:54:05 --- quit: john_cephalopoda (Quit: Trees can see into your soul.) 17:02:15 me: 2 @ + 4 =. zy]x[yz: oh wow its johnnymacs trolling again 17:02:35 /s/@/+ 17:09:19 --- join: smokeink (~smokeink@118.131.144.142) joined #forth 17:15:17 what was your question again? something about making : infix? how long have you been mucking around with forth and you still don't know how parsing words work? 17:15:36 Wow thats so rude of you to mock me for being a bad programmer. 17:15:44 Sorry I am not a genius like you just a normal guy. 17:24:44 --- quit: tabemann (Read error: Connection reset by peer) 17:25:46 i'm not saying you have to be a savant, but when it's been years and you still haven't grasped the fundamentals, it's pretty hard to take you for genuine 17:26:54 I am just an enthusiast I don't code forth for a living. I study langauge design I freqent many channels for many languages. 17:27:23 I don't need an excuse I don't have to master forth beyond the basic stuff I need for input and output if I don't want to 17:27:45 You and I both probably know that you can get something turing complete with just - @ ! and allocate throw more or less 17:27:59 SO why do I need to learn all these features I don't need? Answer: I don't. 17:28:08 Leave me alone. I am not trolling and please don't preach to me. 17:28:26 I just want to have a good time and chat forth all friendly-like :) 17:40:42 --- quit: wa5qjh (Remote host closed the connection) 17:43:07 --- join: wa5qjh (~quassel@175.158.225.218) joined #forth 17:43:08 --- quit: wa5qjh (Changing host) 17:43:08 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 17:44:12 --- quit: wa5qjh (Remote host closed the connection) 17:46:03 --- join: wa5qjh (~quassel@175.158.225.218) joined #forth 17:46:04 --- quit: wa5qjh (Changing host) 17:46:04 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 17:58:25 --- quit: wa5qjh (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 18:00:21 --- join: wa5qjh (~quassel@175.158.225.218) joined #forth 18:23:19 --- join: tabemann (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) joined #forth 18:48:23 --- quit: wa5qjh (Changing host) 18:48:23 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 18:49:14 --- nick: wa5qjh -> leaverite 18:50:29 --- nick: leaverite -> Dolomite 18:54:54 --- nick: Dolomite -> wa5qjh 19:06:43 --- quit: wa5qjh (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 19:07:24 --- join: wa5qjh (~quassel@175.158.225.218) joined #forth 19:07:25 --- quit: wa5qjh (Changing host) 19:07:25 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 20:09:03 --- join: TheBlueWizard (ad49f04c@gateway/web/freenode/ip.173.73.240.76) joined #forth 20:18:45 --- join: dave0 (~dave@47.44-27-211.dynamic.dsl.syd.iprimus.net.au) joined #forth 20:18:57 hi 20:21:36 Hi Dave. 20:21:42 hi KipIngram 20:21:45 how goes? 20:24:44 Pretty good. 20:25:32 hi dave0 and KipIngram 20:25:39 hi TheBlueWizard 20:25:58 * TheBlueWizard has not been to #forth in damn long time! :-) 20:27:16 Welcome back. Come on in - the water's fine. 20:27:40 water? 20:27:59 Oh, just a slang phrase; sorry. 20:28:18 Swimming metaphor. 20:28:25 I am not familiar with that particular slang 20:28:37 Right - I wasn't thinking. :-) 20:28:53 ok 21:02:37 KipIngram: What movie was it? 21:04:46 The Queen biopic, Bohemian Rhapsody. 21:04:58 Celebrating my daughter's birthday this weekend - she wanted to see it. 21:05:48 hey guys 21:05:53 Hey. 21:06:37 your daughter must be older than mine - mine wouldn't care for that sort of movie 21:06:46 She's turning 14. 21:07:21 mine's 9 21:07:39 Yeah, I guess that's a pretty significant age range. 21:09:36 aagh 21:10:08 I love my tracing feature in attoforth, but it has the problem that once it's on it doesn't seem to want to turn off 21:10:43 which is important because if it doesn't turn off it will display traces for the REPL which I don't want, because it's a lot of useless junk 21:11:07 I tried making it so it'd turn off the trace when there's an exception, but it doesn't seem to work 21:17:34 --- quit: ncv (Remote host closed the connection) 21:18:29 --- join: ncv (~neceve@unaffiliated/neceve) joined #forth 21:21:39 --- join: rdrop-exit (~markwilli@112.201.162.180) joined #forth 21:21:55 Good morning Forthwrights :-) 21:34:43 --- quit: ncv (Remote host closed the connection) 21:42:47 --- part: TheBlueWizard left #forth 21:54:58 --- quit: dddddd (Read error: Connection reset by peer) 22:03:03 --- quit: rdrop-exit (Quit: Lost terminal) 22:14:09 --- quit: proteusguy (Ping timeout: 240 seconds) 22:52:19 back 23:44:45 --- quit: wa5qjh (Ping timeout: 252 seconds) 23:44:50 --- join: leaverite (~quassel@175.158.225.218) joined #forth 23:44:51 --- quit: leaverite (Changing host) 23:44:51 --- join: leaverite (~quassel@freebsd/user/wa5qjh) joined #forth 23:57:02 --- join: pierpal (~pierpal@host42-167-dynamic.51-82-r.retail.telecomitalia.it) joined #forth 23:59:59 --- log: ended forth/18.11.03