2023-04-08 04:13:54 You can watch a recording of me writing a simple utility in Forth if you're interested https://www.youtube.com/watch?v=eEqgZp-VSgs 2023-04-08 07:50:06 KipIngram: Looks like the issue isn't lack of precision, the algorithm accounted for 16-bit cells 2023-04-08 07:50:49 The issue is that my M*/ (specifically UM*/ which is my CODE word for doing the heavy lifting) ignores the high byte of the denominator 2023-04-08 07:51:48 Which I think I can fix, will look at after walking dogs. It's amazing really that an 8-bit machine has enough space to do a 48-bit by 16-bit division, all in registers, if I manage to do this 2023-04-08 07:53:34 The function in assembly, with guilty FIXME https://github.com/Veltas/zenv/blob/master/src/zenv.asm#L1062 2023-04-08 07:54:13 The plan is to put something in IX, which seems to be unused so far 2023-04-08 07:54:40 (it's the return stack pointer, but I can just save/restore that on param stack) 2023-04-08 16:38:14 I've fixed M*/ and now the algorithm actually seem to be overflowing the denominator, as I feared it might 2023-04-08 16:58:17 I ended up delving into shadow registers to do it though https://github.com/Veltas/zenv/commit/85fd85a78fff6027a2a6412285895e3a8239d19c 2023-04-08 17:00:35 I love that algorithm for division, it keeps both the remaining numerator bits and the incoming quotient bits in the same 'register' 2023-04-08 17:00:49 I don't know if it has a name, and no I didn't come up with it independently 2023-04-08 17:45:17 I'm going to have to look that over well - it sounds fascinating. 2023-04-08 17:45:32 I love "clever algorithms." 2023-04-08 17:47:44 It's not clever in a computer science sense, just clever in optimisation 2023-04-08 18:45:55 up until the software can operate doorknobs to get at you 2023-04-08 19:07:35 thrig: a roboraptor scenario? 2023-04-08 19:21:37 with lasers!