00:00:00 --- log: started forth/20.12.08 00:48:38 --- quit: Vedran (Read error: Connection reset by peer) 00:49:03 --- join: Vedran joined #forth 01:04:27 --- join: xek__ joined #forth 01:32:20 --- join: jsoft joined #forth 02:00:31 lispmacs, haven't done this in a long time. recall something like using INT 14 to access the raw drive commands. 02:01:10 sorry int 13 02:02:07 have never tried with more modern hard drives. I don't know if int 13 can address something that large or not. 02:03:00 I made a tool that was for decommissioning magnetic media so it had to be as low level as possible. 02:08:22 Yeah can only address 8.4G http://www.o3one.org/hwdocs/bios_doc/bios_specs_edd30.pdf 02:10:46 Oh the extended calls support up to 2^64 sectors so it should be able to address any modern size. 02:16:47 Sectors being 512 bytes typically but new drives might be 4096. 03:57:52 proteusguy: is extended bios something still current, or replaced now by UEFI? 04:12:35 --- quit: tabemann (Ping timeout: 260 seconds) 04:12:43 --- join: tabemann_ joined #forth 04:27:19 --- join: Gromboli joined #forth 05:16:28 --- quit: jsoft (Ping timeout: 256 seconds) 05:20:18 --- quit: hosewiejacke (Ping timeout: 272 seconds) 05:30:27 UEFI has boot services for block access, no runtime services. I would assume the favoured OS approach is now to access via whatever SCSI/SATA interface can be accessed. If you can find firmware support for something similar to the old BIOS method then I would hope it's not going anywhere soon. 05:30:55 Not services I mean protocols 05:31:27 But the point is an OS shouldn't be allowed to use those, unless you're targeting running out of the UEFI shell or something specifically (I assume not from the name) 05:32:47 i.e. if osdev tells you a way of getting basic block access then use it 06:36:54 --- join: hosewiejacke joined #forth 06:54:12 lispmacs: I heard NVMe itself is straightforward! Meaning PCIe is not {counted,weighted}. See also ""Open-Channel SSD"", or whatever the BuzzWord might be. I haven't done it yet. 06:54:12 Forth! 06:54:12 BIOS is officially obsoleted by UEFI from 2020. 06:56:35 Every bit of BIOS, and 512 Byte Blocks are so Bugward-Compatible!! 07:15:48 --- part: hosewiejacke left #forth 07:42:56 UEFI is not implemented well, right now you might be surprised to learn that often the "legacy" stuff is better implemented than the UEFI interfaces 07:43:17 Opinions on 3drop/3dup etc, if I define those am I going wrong? 07:49:19 define everything if you dont care about storage space or lookup time 08:42:03 veltas: How about a ""Base Pointer""? 08:43:35 Not sure what you mena 08:45:28 ""swap"", for example, is no less of a variable than it's Parameters. "(swap -)"?! 08:46:47 Can you show me an example of a base pointer? 08:46:57 Or explain more specifically what it is? 08:47:04 I'm afraid I still don't understand 08:53:41 Sorry, I meant to say ""Frame Pointer"". A Pointer to a Call Stack Frame. 08:55:00 Could you show me an example of this? 08:57:20 Something like this? https://users.ece.cmu.edu/~koopman/forth/rochester_90b.pdf 08:58:36 ""SP@ to FP FP 2 cells +""? 09:03:04 Your punctuation doesn't make sense to me 09:03:10 W/De_Bruijn_index . Results in W/Parent_pointer_tree . 09:03:25 I think I understand that though 09:03:53 The code 09:04:37 ... an /n-Stack Forth/. 09:06:21 If all else fails the code makes sense :P 09:11:16 Tell me Asclepius, why does the Call Stack ""Grows"" in negative direction? That is, which analogy might be found? 09:12:15 So the things atop the stack can be addressed in increasing address order / increasing indices 09:12:48 Yes, LIFO. 09:13:25 At Index 0 is ToS. 09:13:30 Got nothing to do with being a LIFO 09:14:01 You are right. I stand corrected. 09:14:06 It's also not really a LIFO if you can read the whole thing in any order 09:14:35 It's not really a normal 'stack', it's like how the 'heap' has nothing to do with a 'heap' data structure 09:14:50 Just happens to share the name, similar idea 09:20:15 IMHO Call Stack is LIFO since it Grows at Index 0. Or is it Index 1? 09:33:40 If Frame Pointer is Indexed by constants, it can be reduced to 0 Bits at Run-Time. 09:40:27 By Constant Folding into the Stack Pointer Ossfets. 09:48:14 --- join: Zarutian_HTC joined #forth 09:51:51 I've been doing coding on AVR with Arduino-FVM. I was wondering though if any of the other (free software) Forths for AVR have a proper XTL system. 09:56:02 just read about the XTL idea in FPH and it sounded nice 09:59:55 What is XTL? 11:09:39 something to do with eXecution Tokens? 11:10:48 Cross Target Link 11:11:52 sounded like some systems like SwiftForth had a way to do interactive definitions and testing on the target, without having to have any of the compilation words actually loaded on the target 11:11:58 only bit wiser, what are those? 11:12:12 oh, I see 11:13:03 for that to work, you just need basic memory editing words on the target, but the host has to be able to correctly manage the defining remotely 11:14:40 the tpeek, tpoke, and texec words basically 11:16:27 those words aren't listed in the book I'm reading, but sounds like the same idea 11:16:44 but does that not give arise to the same long term tethering problems that plague compiled languages on avr? 11:17:27 could be t@ and t! for peek and poke respectively 11:18:00 I'm not quite sure what you mean about the tethering 11:20:05 a product, often long lived, is made. At later date some addition or change to it is requested. But the designer, her siftware developement environment, or the manifacturer is gone 11:20:27 software* 11:22:17 note this product mighr be expected to last 60 years with mantenance and is not some consumer crap that ends in a landfill in five years time. 11:24:24 Zarutian_HTC: well, I think I basically agree with what you are saying, but to have a full self-contained development environment on, say, a 328P, you are going to need the interpreter, the compiler, and the editor on a MC that has 32K of code space and 2K of ram 11:25:44 yeabb, or do what one manifacturer did. Append a project zip file in an spi flash that was needed anyway 11:26:49 using Arduino-FVM, I have to have a host environment anyway, because I've got to recompile everything in the end to a firmware image 11:27:43 or another that put an uuid on the board, if you searched the Internet archive for it, you would find the original project files 11:28:28 an XLT makes sense to me, though admittedly none of my current projects have closed to used up the full code memory 11:28:41 (same uuid for the model number btw, not per unit made) 11:44:50 interesting idea to use the SPI memory 11:45:07 I wonder if the avr could use it as a buffer and flash itself 12:17:21 --- quit: rpcope (Ping timeout: 268 seconds) 12:17:38 --- join: rpcope joined #forth 12:19:27 --- quit: gravicappa (Ping timeout: 240 seconds) 12:58:12 --- quit: _whitelogger (Remote host closed the connection) 13:01:10 --- join: _whitelogger joined #forth 13:04:04 --- quit: _whitelogger (Remote host closed the connection) 13:04:25 --- quit: inode (Quit: ) 13:07:01 --- join: _whitelogger joined #forth 13:30:19 --- quit: Zarutian_HTC (Remote host closed the connection) 13:35:06 --- quit: Gromboli (Quit: Leaving) 13:42:38 --- quit: lispmacs[work] (Ping timeout: 240 seconds) 14:16:15 --- join: Zarutian_HTC joined #forth 14:26:46 --- quit: xek__ (Ping timeout: 265 seconds) 14:46:41 Are pick and roll gauche? 15:44:13 --- quit: Zarutian_HTC (Remote host closed the connection) 16:52:35 --- quit: Vedran (Quit: Ping timeout (120 seconds)) 16:52:42 --- join: dave0 joined #forth 16:53:01 --- join: Vedran joined #forth 16:57:00 I was thinking about it today, I think to write "re-entrant" code (although this is not a necessity most of the time), pick and roll is a necessity to allow parameter referencing deep in the stack. 16:58:14 https://github.com/neuro-sys/advent-of-code-2020/commit/c03d637913029910fd4043e357cd9fe175218c2d 17:06:25 Although I think roll is quite a costly operation. 17:13:16 --- quit: dave0 (Read error: Connection reset by peer) 17:18:32 --- join: dave0 joined #forth 17:20:16 --- quit: dave0 (Read error: Connection reset by peer) 17:25:34 --- join: dave0 joined #forth 17:29:41 --- join: Zarutian_HTC joined #forth 17:33:27 --- quit: Zarutian_HTC (Remote host closed the connection) 17:52:19 neuro_sys, re-entrant like for interrupts or what are you thinking? 18:10:38 --- join: boru` joined #forth 18:10:41 --- quit: boru (Disconnected by services) 18:10:43 --- nick: boru` -> boru 18:33:51 --- quit: dave0 (Quit: dave's not here) 18:38:37 --- join: jsoft joined #forth 18:46:07 lispmacs, I think the extended BIOS is still around. I haven't coded to UEFI. 20:31:28 --- join: hosewiejacke joined #forth 20:43:35 --- quit: sts-q (Ping timeout: 246 seconds) 20:45:35 --- join: sts-q joined #forth 20:56:15 --- quit: hosewiejacke (Ping timeout: 260 seconds) 21:00:28 --- join: gravicappa joined #forth 21:21:54 --- quit: mjl (Ping timeout: 260 seconds) 21:22:04 --- join: mjl joined #forth 21:27:27 --- quit: crc (Read error: Connection reset by peer) 21:29:33 --- join: crc joined #forth 22:20:23 --- quit: jsoft (Ping timeout: 264 seconds) 22:24:24 --- join: hosewiejacke joined #forth 23:03:44 --- quit: jedb (Ping timeout: 256 seconds) 23:07:45 --- join: jedb joined #forth 23:11:19 --- quit: jedb (Remote host closed the connection) 23:35:31 neuro_sys: https://wiki.c2.com/?BondageAndDisciplineLanguage . 23:35:38 --- join: jedb joined #forth 23:59:59 --- log: ended forth/20.12.08