2023-10-07 04:37:22 I'm convinced celebrities see naming their kids as an *epic troll opportunity* and we're just not in on the gag 2023-10-07 09:48:50 I wouldn't particularly disagree with that. I think there's just a subset of people who are more inerested in attracting attention than anything else. Outlandishly naming your paparazzi-targeted kids is a way to do it, apparently. 2023-10-07 09:51:11 s/inerested/interested/ 2023-10-07 14:57:52 IS FORTH HERE ? IF FORTH IS HERE , THEN I FIND CELLS WITHIN BLOCKS , UNTIL WORDS INVERT AGAIN . 2023-10-07 15:02:52 Anybody got any good links to working with SDL2 on Linux directly from nasm? 2023-10-07 15:03:02 I.e., avoiding the C standard library. 2023-10-07 15:03:47 Won't be able to avoid the SDL2 libraries/etc., but I'd like to limit the library usage to that. Most of the docs I find out there seem oriented toward either C or Python. 2023-10-07 15:04:21 It would be nice to find a nasm project where someone had worked up all the include files and so on. 2023-10-07 15:06:06 Been thinking today about how this thing I'm trying to build will actually get used someday. In most cases I can think of where I'm running the system on some external gadget, I'll still be doing my console interface to it via my notebook. 2023-10-07 15:06:32 So I'm wanting to structure it as a distributed system - same Forth running on the notebook and the gadget. 2023-10-07 15:06:54 And I expect that to be a binary compatibility at the vm emulation layer. 2023-10-07 15:07:17 But I want threads to be able to communicate with one another in a uniform way regardless of which physical system they happen to be running on. 2023-10-07 15:07:38 So that pipe interface will potentially be cross-system. 2023-10-07 15:13:53 glibc needs to run for it to work. Or whatever std lib it was built with 2023-10-07 15:15:07 Otherwise using from nasm you need to build linking to the dynamic linker 2023-10-07 15:15:26 I'd explain more but my wife's stolen my arm 2023-10-07 15:20:36 :-) 2023-10-07 15:20:51 That's not factually correct - she owns your arm. ;-) 2023-10-07 15:21:04 Wives get issued special passes. 2023-10-07 15:21:18 Resistance is futile. 2023-10-07 15:22:00 That's very annoying - how things are rigged so that you just have to haul in one library after another after another. 2023-10-07 15:22:59 So I guess what I'm REALLY hoping for then is to find someone's work where they've already done the labor of cutting that SDL2 / libc umbilical. 2023-10-07 15:32:40 The way I think I want one of these console sessions to work is just like the APL interface works, except I'm considering not allowing the cursor to stop on lines that were "output" lines - it would just navigate over the lines that had been input lines. 2023-10-07 15:33:14 Although, it does occur to me that it's possible I might want to run a command to create an output line that I then wanted to run. 2023-10-07 15:33:28 SDL2 drags in a lot. On my OpenBSD machine, it building a small project using just a handful of SDL routines drags in libSDL2, libc, libm, libsndio, libsamplerate, libX11, libxcb, libXext, libXcursor, libXrender, libXfixes, libXi, libXrandr, libXss, libusbhid, libpthread, libXau, and libXdmcp. 2023-10-07 15:35:34 https://github.com/floooh/sokol is a header-only library for graphics 2023-10-07 15:39:16 And you 'need' all that to do input, sound, display, threads, and font display. I think SDL2 is quite good for its niche 2023-10-07 15:39:50 If you want to bypass C standard library you need to implement that stuff and go direct to the kernel on everything 2023-10-07 15:40:08 http://sprunge.us/1UkDpp is the list of SDL2 functions used in my code 2023-10-07 15:41:19 https://floooh.github.io/tiny8bit/ 2023-10-07 15:41:52 Yes, I go directly to syscalls for everything in my current system. 2023-10-07 15:42:06 Nothing at all but my nasm source needed to build that. 2023-10-07 15:43:14 crc: You could probably do a build which pulls in a lot less then 2023-10-07 15:43:16 build/fork 2023-10-07 15:43:37 Have you considered going to X interface directly? 2023-10-07 15:43:50 I've heard the X interface is horrible 2023-10-07 15:44:19 Moving to using X directly is planned 2023-10-07 15:44:29 Well, I want to cover the case where I'm building something completely stand-alone. So whatever I wind up going with, I want a wrapper around that will create a portable interface. 2023-10-07 15:44:53 On a stand-alone system I'd have to write all of it, to cover whatever display device I'd integrated into that particular project. 2023-10-07 15:45:04 I know what might appeal KipIngram 2023-10-07 15:45:21 Have a server for these commands, communicate via pipes or sockets 2023-10-07 15:45:29 All the C stuff is totally cut off then 2023-10-07 15:45:38 You don't need C standard library in your runtime 2023-10-07 15:45:40 Just the server 2023-10-07 15:46:06 And you can generate a portable 'language' for all this and implement that on each system 2023-10-07 15:46:11 Well, right - most of the time my "server" will be my notebook, but I'd like for it to be running the Forth as well - like they're two nodes in a distributed system. 2023-10-07 15:46:15 You might even use a block interface 2023-10-07 15:46:24 Yes. 2023-10-07 15:46:30 That's kind of a cool idea actually, I might steal it from myself 2023-10-07 15:46:36 I'd like the gadget to be able to open blocks residing on the notebook. 2023-10-07 15:47:07 https://en.wikipedia.org/wiki/Canon_Cat 2023-10-07 15:47:24 I'm saying maybe you can have some 'server' you communicate with via a block interface, and that server has all the C/whatever code for each platform 2023-10-07 15:48:13 Yes, it's just that I was wanting to write that server in Forth too. 2023-10-07 15:50:20 Either you write everything in Forth or you do this and the server is whatever's convenient today right now on your hardware 2023-10-07 15:50:30 And at the end of the day Forth was meant to make things easier 2023-10-07 15:51:31 Personally I'm happy having C and its standard library run alongside Forth code 2023-10-07 15:51:38 On a desktop anyway 2023-10-07 15:53:32 KipIngram: You might use some shared memory map to communicate, almost like simulating registers 2023-10-07 15:54:02 Then in Forth's virtual address space you don't need any C standard library 2023-10-07 15:54:43 That could be quite cool, you can simulate some simpler video/etc devices using shared memory 2023-10-07 15:55:03 And then use the same Forth code on a baremetal system with the real devices 2023-10-07 19:09:44 I guess the intensity of my desire to avoid unnecessary libraries isn't evident. I haven't even learned what the labor quoteient of pursuing such a solution would be. 2023-10-07 19:10:36 would something sdl-like like raylib have less deps? 2023-10-07 19:11:06 Maybe. SDL2 is just "the thing I've run across." 2023-10-07 19:15:44 if using linux and don't need to run under X or Wayland, you might be able to get by with directly using a framebuffer device (/dev/fb0) if your kernel & hardware support it. 2023-10-07 19:18:26 My OS uses Wayland. 2023-10-07 19:18:49 i've tried to make frame buffers work, but it seems to be a no go on my machine. 2023-10-07 19:21:20 I have no experience running under Wayland (my only graphics capable machines are a Windows system at work, a macOS system, and OpenBSD w/X11) 2023-10-07 19:22:04 thrig: raylib certainly looks like it was trying for minimality.