00:00:00 --- log: started forth/17.11.01 00:06:24 --- join: wa5qjh (~Thunderbi@freebsd/user/wa5qjh) joined #forth 00:09:15 --- join: leaverite (~Thunderbi@freebsd/user/wa5qjh) joined #forth 00:10:47 --- quit: wa5qjh (Ping timeout: 248 seconds) 00:10:47 --- nick: leaverite -> wa5qjh 00:15:07 --- quit: wa5qjh (Ping timeout: 258 seconds) 00:15:15 --- join: leaverite (~Thunderbi@freebsd/user/wa5qjh) joined #forth 00:19:43 --- quit: leaverite (Ping timeout: 258 seconds) 00:21:39 --- join: wa5qjh (~Thunderbi@freebsd/user/wa5qjh) joined #forth 00:24:32 --- join: leaverite (~Thunderbi@freebsd/user/wa5qjh) joined #forth 00:26:14 --- quit: wa5qjh (Ping timeout: 258 seconds) 00:28:51 --- quit: leaverite (Ping timeout: 246 seconds) 00:30:46 --- join: wa5qjh (~Thunderbi@freebsd/user/wa5qjh) joined #forth 00:34:48 --- quit: wa5qjh (Ping timeout: 246 seconds) 00:59:49 --- quit: proteusguy (Ping timeout: 240 seconds) 01:39:32 --- join: proteusguy (~proteus-g@180.183.14.107) joined #forth 01:39:32 --- mode: ChanServ set +v proteusguy 01:43:30 --- quit: proteusguy (Excess Flood) 01:44:30 --- join: proteusguy (~proteus-g@180.183.14.107) joined #forth 01:44:30 --- mode: ChanServ set +v proteusguy 01:59:48 --- join: dys (~dys@tmo-107-155.customers.d1-online.com) joined #forth 02:04:12 --- quit: dys (Ping timeout: 255 seconds) 02:07:13 --- join: dys (~dys@tmo-108-67.customers.d1-online.com) joined #forth 02:07:18 --- quit: mnemnion (Remote host closed the connection) 02:07:55 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:8dc1:29f2:d30:285b) joined #forth 02:11:19 --- quit: dys (Ping timeout: 240 seconds) 02:12:12 --- quit: mnemnion (Ping timeout: 252 seconds) 03:19:47 --- quit: nighty- (Quit: Disappears in a puff of smoke) 04:06:13 --- join: nighty- (~nighty@s229123.ppp.asahi-net.or.jp) joined #forth 04:56:59 --- quit: proteusguy (Remote host closed the connection) 05:15:35 --- join: proteusguy (~proteus-g@cm-27-145-90-73.revip12.asianet.co.th) joined #forth 05:15:35 --- mode: ChanServ set +v proteusguy 05:21:28 --- quit: proteusguy (Max SendQ exceeded) 05:22:24 --- join: proteusguy (~proteus-g@cm-27-145-90-73.revip12.asianet.co.th) joined #forth 05:22:25 --- mode: ChanServ set +v proteusguy 06:39:47 --- quit: MrBismuth (Quit: https://www.youtube.com/watch?v=xIIqYqtR1lY -- Suicide is Painless - Johnny Mandel) 06:57:45 --- quit: proteusguy (Remote host closed the connection) 07:16:03 --- join: proteusguy (~proteus-g@2405:9800:bc10:1ca:e544:2d8d:f77e:e2ef) joined #forth 07:16:03 --- mode: ChanServ set +v proteusguy 07:51:57 --- join: impomatic (~impomatic@host81-136-82-243.range81-136.btcentralplus.com) joined #forth 08:20:49 --- quit: zy]x[yz (Ping timeout: 260 seconds) 08:29:09 --- join: DKordic (~user@93-86-179-131.dynamic.isp.telekom.rs) joined #forth 09:08:54 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:8dc1:29f2:d30:285b) joined #forth 09:13:09 --- quit: mnemnion (Ping timeout: 246 seconds) 09:13:25 --- join: zy]x[yz (~corey@unaffiliated/cmtptr) joined #forth 09:25:21 --- join: dys (~dys@tmo-102-41.customers.d1-online.com) joined #forth 10:02:04 I overcomplicate everything 10:03:31 --- join: MrBusiness (~ArcMrBism@2602:306:8325:a300:55d5:1331:dd86:b443) joined #forth 10:04:52 zy]x[yz: you could put that on bumper stickers or some such and sell as snarky breakup gifts 10:06:27 I think I already said this here but I'm revisiting the idea of separating words which create dictionary headers and words that actually compile actionable things 10:07:12 like having a single word : that parses a word and creates a new dictionary entry, and words that would follow that to define what it is/does 10:07:58 I don't know why that appeals to me; it's just a dumb syntactical thing with no real ramifications 10:13:05 I have one question regarding I/O architecture choices from microcontroler standpoint: io registers mapped into memory address space is quite popular but do not have discoverability of say PCI or DCPU. 10:14:14 my question is: does there exists such an arch where io is memory mapped per above yet have discoverability? (because not all mcus have the same peripherals) 10:29:30 Zarutian_PI: What do You mean by ``discoverability''? 10:30:38 DKordic: that your program or Forth system can enumerate through and discover what peripherials are connected and where. 10:33:39 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:8dc1:29f2:d30:285b) joined #forth 10:34:01 Zarutian_PI: peripheral presence detection? Like detecting when you insert an SD card? 10:34:28 Zarutian_PI: Why not just a lib? I have no idea what kind of Framework You have in mind. 10:35:24 pointfree: more like: this mcu has two spi master/slaves and so on. Stuff that one has to read tons of datasheets to find out. 10:35:35 I've been looking for a robust way to detect peripherals connected to pins + their polarity 10:35:57 DKordic: I am not looking at libs or frameworks but IO CPU arch interface design. 10:37:44 Zarutian_PI: If your device has a very clean and regular addressing scheme (such as on a well designed FPGA), then you can twiddle the bits of the register addresses to avoid storing an opaque, flat register map. 10:39:01 pointfree: can you expand a bit on what you mean by clean and regular? 10:42:36 Zarutian_PI: Why can't it be solved by a lib? 10:46:12 DKordic: because just using the MCU cpu-id-esque register to select the i/o loadout bloats the library and prevents custom or unusual peripheral selection at MCU mask composition time. 10:47:22 Zarutian_PI: With a thoughtful addressing scheme, you can look at the register addresses in binary and see that each more significant bit has an orthogonal meaning that subsumes the meaning of the less significant bits. 10:47:24 The siblings of a parent bit represent a duality (semantically) (if you take 1 bit at a time) or a quaternary relationship if you take 2 bits at a time for a level of the tree represented by an address. 10:49:37 In short, view the 32 bit memory address space as a tree, and each address as a path through that tree. 10:51:33 pointfree: I see. 10:51:52 You can also view the 32 address space as a DAG where some areas of memory consume more or less memory than the current level of the tree provides. 10:55:19 Zarutian_PI: Sometimes I run a boolean logic minimization program on the register map to automatically extract those expressions. 10:55:26 *Boolean 10:56:14 this register map is provided on chip in some sort of datastructure or is it only specified in an datasheet? 10:59:28 Zarutian_PI: right, I extract the initial regmap from a datasheet. 11:00:10 Zarutian_PI: Sam Falvo did something like what you describe: https://kestrelcomputer.github.io/kestrel/2016/12/28/discovering-memory-address-windows-without-device-trees 11:04:46 pointfree: what I have had in mind is a simple singly linked list of records that list devices. Each record specifies the device kind (basically stealing DCPUs HWID, version and manifacturerid idea, which is akin to USB VID/PID nums) and where its io registers window is in the memory address space. 11:23:41 --- join: gravicappa (~gravicapp@ppp83-237-164-5.pppoe.mtu-net.ru) joined #forth 11:24:55 https://www.devicetree.org/ might be what I am looking for. 11:58:47 Zarutian_PI: Yeah. I like the way openfirmware does device trees. However, openfirmware device trees were not considered lite-enough for microcontrollers such as the Cortex M's etc ...but I always wanted them on a mcu. 11:58:55 That's how I arrived at twiddling bits in the memory addresses for a tree structure instead of using nested vocabularies like ofw. 12:02:09 would devdesc STRUCT next manif-id hw-id vers iowin-start iowin-size END-STRUCT be lite-enough? 12:09:12 Zarutian_PI: Well, you do indeed need some human readable metadata, even if decomposed into something resembling a directory path. 12:52:12 --- join: karswell_ (~user@240.60.199.146.dyn.plus.net) joined #forth 12:56:36 --- nick: karswell_ -> karswell 13:49:49 --- quit: proteus-guy (Ping timeout: 260 seconds) 13:55:37 --- join: proteus-guy (~proteusgu@180.183.40.34) joined #forth 14:22:27 --- quit: dys (Ping timeout: 240 seconds) 14:30:49 --- quit: gravicappa (Ping timeout: 240 seconds) 15:47:11 do you guys have any algorithms you like to implement for benchmarking your vms? 15:48:21 ideally something that would be heavy on high-level words 15:51:31 --- join: dys (~dys@tmo-106-63.customers.d1-online.com) joined #forth 16:15:19 --- join: Gromboli (~Gromboli@static-72-88-80-103.bflony.fios.verizon.net) joined #forth 17:27:46 --- join: wa5qjh (~quassel@175.158.225.192) joined #forth 17:27:46 --- quit: wa5qjh (Changing host) 17:27:46 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 18:45:57 --- quit: wa5qjh (Remote host closed the connection) 19:22:09 --- quit: proteusguy (Ping timeout: 246 seconds) 19:58:24 --- join: proteusguy (~proteus-g@2405:9800:bc10:1ca:e544:2d8d:f77e:e2ef) joined #forth 19:58:24 --- mode: ChanServ set +v proteusguy 20:47:39 --- quit: Gromboli (Quit: Leaving) 21:24:50 --- quit: proteusguy (Remote host closed the connection) 21:31:03 --- quit: groovy2shoes (Ping timeout: 252 seconds) 21:52:47 --- join: groovy2shoes (~groovy2sh@unaffiliated/groovebot) joined #forth 21:55:48 --- join: proteusguy (~proteus-g@180.183.114.68) joined #forth 21:55:49 --- mode: ChanServ set +v proteusguy 22:17:49 --- join: nighty-- (~nighty@kyotolabs.asahinet.com) joined #forth 23:12:24 --- quit: karswell (Read error: Connection reset by peer) 23:59:59 --- log: ended forth/17.11.01