2023-04-24 08:22:05 crc: Am I right in thinking the lowest stack position is just totally unused in ilo.c? 2023-04-24 08:22:14 Because sp starts at 0 and the first thing pushed goes in at 1 2023-04-24 08:47:52 veltas: that does seem to be correct 2023-04-24 08:54:51 Is this intentional? 2023-04-24 08:56:06 no, just a side effet 2023-04-24 08:56:16 effect of how I wrote the code 2023-04-24 09:30:38 I've increased the size of the alloted arrays for storing the stacks to account for the loss of a position due to this. 2023-04-24 09:46:09 veltas: I agree re: algorithmic power, but I don't believe that machines like we build today are capable, even in theory, of exhibiting conscious self-awareness and things like desires and emotions. 2023-04-24 09:46:28 They're deterministic - they do what they're told. 2023-04-24 09:46:33 No more, no less. 2023-04-24 09:54:19 crc: Only thinking about this because I'm just starting to write ilo in x86-64. Remains to be seen if I finish that 2023-04-24 09:54:51 But it's quite achievable because of how small it is 2023-04-24 09:55:59 Not really any dirtier in assembly to init stack pointers at -1 2023-04-24 09:56:32 Although having an extra cell makes things a bit safer 2023-04-24 09:58:20 I'm honestly somewhat tempted to develop something in the ilo VM 2023-04-24 12:22:29 More of this please http://sam.zeloof.xyz/second-ic/ 2023-04-24 12:26:41 hmm even getting 7400 series chips  making this way would be huge. 2023-04-24 13:39:48 veltas: in x86-64 assembly? 2023-04-24 14:32:32 crc: Yeah 2023-04-24 14:55:52 Nice. I've been thinking about working on proper assembly implementations, but haven't been able to start on them. 2023-04-24 16:25:37 I thought I'd look for the OpenBSD syscall codes, but it seems OpenBSD requires you call via libc 2023-04-24 16:26:14 Which is fine, just interesting that you're not allowed to use syscall directly in OpenBSD, they want to trace you do it through their libc 2023-04-24 16:27:07 I'm not using OpenBSD but I want to support it in theory 2023-04-24 16:32:10 Zarutian_iPad: the technique is getting there though 2023-04-24 16:32:30 Zarutian_iPad: you'd just need an open-source and homebrewable 6502/6809-ish chip to be viable 2023-04-24 16:34:58 https://thrig.me/tmp/openbsd-helloword.txt 2023-04-24 16:47:07 thrig: https://lwn.net/Articles/806776/ 2023-04-24 16:47:17 Does that work then? You can still make syscalls directly? 2023-04-24 18:07:46 openbsd (at least on amd64) does allow for direct syscalls 2023-04-24 18:12:10 http://forth.works/temp/no-libc.tar.gz 2023-04-24 18:13:19 C vm, with syscalls in assembly; for amd64 & x86, various systems including openbsd-amd64 2023-04-24 18:14:00 Thanks, that's helpful 2023-04-24 18:14:16 it works with statically linked application 2023-04-24 18:14:34 Reading into it more, I think you are allowed syscalls from read-only statically linked text sections 2023-04-24 18:14:44 Yes as you say 2023-04-24 18:15:06 I haven't tried direct syscalls without libc for dynamically linked binaries in recent (newer than 6.x) releases 2023-04-24 18:16:19 The bigger potential issue is that OpenBSD doesn't guarantee that the syscall interface will be the same between releases. So it's completely possible that something working in 7.3 won't work in 7.4 without being updated. 2023-04-24 18:17:15 (so far this hasn't been an issue with the handful of syscalls I use, but it is something to watch for) 2023-04-24 18:17:36 it is an issue if you compile a custom shell, set your user and root to that custom shell, and then blindly update 2023-04-24 18:22:07 My general strategy is to add as little as possible to the base system, and then to chroot into a forth-only system after logging in