2026-01-24 02:08:04 I've thought a lot about storing the forth compiler and information like constants in SPI flash 2026-01-24 02:08:58 so the target machine has an interpreter of a few hundred bytes that loads machine code in small chunks 2026-01-24 02:09:31 at least for MCUs like MSP430 with 16K flash where we can't have a 15K Forth 2026-01-24 02:09:52 MrMobius, at least SPI flash has plenty of room and is quite cheap 2026-01-24 02:10:51 MrMobius, I can use a 2kb flash on Mecrisp-Across, right now, and I get the familiarity of Mecrisp-Stellaris :) 2026-01-24 02:10:51 ya and switching from programming to running could reuse the data in and out lines so you only lose one pin for CS 2026-01-24 02:11:04 kind of inspired by the three instruction Forth 2026-01-24 02:12:59 it's even more interesting with an FRAM chip. I have several in DIP8 but all went EOL pretty quickly 2026-01-24 02:14:27 MrMobius, one of the first Forths I ran, back in 2014 was riscy-pygness which only needs about 4 KB of flash and 1.5 KB RAM 2026-01-24 02:14:58 Not bad 2026-01-24 02:15:07 MrMobius, yeah I have some fram chips and some MSP430 with fram 2026-01-24 02:15:27 MrMobius, http://pygmy.utoh.org/riscy/manual.html 2026-01-24 02:15:49 MrMobius, riscy-pygness is a tethered Forth 2026-01-24 02:17:30 and I really liked it, but it lacked decent error warnings and can stop running my application while still seeming to work because it's lost sync (or something) 2026-01-24 02:18:25 MrMobius, this led me to try and fix my application while it was actually riscy-pygness at fault, I wasted days at times 2026-01-24 02:23:05 That's the risk with software that doesn't have a lot of users :/ 2026-01-24 02:23:49 I stick to more mainstream stuff a lot of times or at least to stuff that is still developed with people to talk to about it 2026-01-24 02:24:09 yeah, but Ive stayed with Mecrisp-Stellaris because it's rock solid, I've never had a single 'moment' of 'oh,oh' 2026-01-24 02:25:21 Mecrisp-Across also seems very solid so far, but I havent made a single standalone project with it yet as FURS has taken all my time for so long 2026-01-24 02:26:12 Ive been using Mecrisp-Stellaris since 2014, it's been rock solid for that long for me 2026-01-24 02:26:23 a decade! 2026-01-24 09:41:18 KipIngram: Yeah I think that's sort of related to my joke really about criminals handing over their CNC, because it's only CNC's that will never be used illegally that will be modded, so just a waste of money 2026-01-24 10:25:37 If you end up writing Forth more like C then you should try out B or old Fortran first, or sort of rethink the base entirely, because it's just not Forth anymore 2026-01-24 12:17:19 I guess I can agree; there're a plenty of languages with Fortran-like syntax for expressions, no need to make Forth (or Lisp, FTM) look like that. Can't help but mention http://t3x.org/t3x/ for a currently maintained BCPL-like language (compilers for 8086 and Z80 available), and also http://duktape.org/ for a lightweight Ecmascript 5.1 implementation suitable for (larger) MCUs. 2026-01-24 12:30:41 I've been pondering on what a good university-level programming course for schoolteachers might be like, and decided that an in-depth introduction into a small (because of time constraints) but /complete/ computing system - such as an MCU running some programming environment - might be it. That, after some thinking, quite naturally made me considering going Forth-ward. 2026-01-24 12:30:42 Basically, the idea is that the course assignments involve the use of a. a textbook, b. a board with MCU (running a Forth system) and a communication interface (serial, USB) on it, and c. a terminal (hardware or software, such as xterm(1) + cu(1) on Unix-like systems, or PuTTY elsewhere.) No other software necessary. 2026-01-24 12:38:35 iv4nshm4k0v, I dont know if this may be useful, its my least vivited site ever, a learning course for microprocessors featuring the 8085 2026-01-24 12:38:40 https://learning-microprocessors.sourceforge.io/ 2026-01-24 12:39:18 absolutely no one seemed to like it. It uses simulators and has book urls etc 2026-01-24 12:45:52 iv4nshm4k0v why a board? What about hosted Forth systems instead of embedded? 2026-01-24 12:48:02 Sometimes you want a device to have some intelligence of its own without having to have a computer connected to it - there's certainly a place for embedded, and Forth is a more or less ideal language for such a system. You can not only implement your device's functional behavior using it, but also build a user interface around it, leveraging Forth's interpreter to deploy an application specific 2026-01-24 12:48:04 "lexicon." 2026-01-24 12:49:53 or if you want to teach embedded and the course involves interfacing to peripherals in the real world, switches, NFC scanners, motors etc 2026-01-24 12:50:32 So is the class objective then to implement Forth on a board? If not, using a ready implemented system should work as well for teaching the concepts of the language and developing an application. 2026-01-24 12:50:46 My idea is for the students to be able to access the /entire/ body of software that comprises their development environment. For a somewhat far-fetched example, hosted Forth will run on an OS that, presumably, will have GPU microcode as its part. If so, I want them to be able to study and modify said microcode. With the attitude of GPU makers these days, it's hardly possible. 2026-01-24 12:50:53 tpbsd: that case for sure. 2026-01-24 12:55:55 To stress it out: the objective is to learn how a computing system works, not to learn Forth (or any other language for that matter.) That includes both learning how one writes a program, /and/ how that program becomes something the machine can run. 2026-01-24 12:57:58 tpbsd: I've been thinking more along the lines of http://skilldrick.github.io/easy6502/ , though with an in-MCU Forth replacing the out-of-MCU assembler. No personal experience with 8085, so no idea how sensible it'd be to use that for such a course. 2026-01-24 12:57:58 I've been considering several options: a. a 32-bit RISC-V MCU (not that I'm familiar with RISC-V, either); b. a 8-bit AVR(e) MCU, such as the ever-popular ATmega328PA; c. a simulated computer comparable to IBM PC/XT, running Pygmy Forth. 2026-01-24 13:02:25 [OT] SirWumpus: Riastradh "+R"ed #netbsd earlier this month due to abuse, so I cannot answer your question there. I'd start with checking the /dev/audio symlink, and replacing it with one that points to the desired audio device, like # ln -sf -- audio1 /dev/audio (assuming your HDMI audio port is /dev/audio1 .) HTH. 2026-01-24 13:03:13 iv4nshm4k0v, my 8085 page has all software simulators (of the Intel SDK8085) for when one has no hardware, and Intel SDK8085 boards were very popular so there are still plenty about. 2026-01-24 13:03:56 iv4nshm4k0v, I made it for poor people who may have no money for hardware so they can still use it to learn 2026-01-24 13:04:34 but the simulators are based on real gear, so they can use that if they have the money 2026-01-24 13:05:07 and it's all really low level, a simple 8 bit cpu and assembly language 2026-01-24 13:05:45 but I must have missed the target by a long way because no one ever used the site that I know off 2026-01-24 13:07:55 Well, if my idle pondering ever becomes an actual university course, I believe I'd have better chances of making the administration spend money on /new/ boards. And I believe ATmeta328P* MCUs are still being made, and so are the boards. 2026-01-24 13:10:50 Also, AVRe has neat load / store with post-increment / pre-decrement operations (for all of the register pairs: X, Y, Z), making stacks easy to implement and fast to run. 2026-01-24 13:44:44 iv4nshm4k0v: I like your mind set quite a lot. I think teaching the students an understanding of the entire functional stack, hardware and software, in a way that positions them to CREATE such systems from scratch is just a whole lot better than "yet more reliance" on a black-box toolchain constructed by others. 2026-01-24 13:44:59 It actually empowers them in the best kind of way. 2026-01-24 13:46:51 Something like that is exactly the focus of the current project "on my mind." I've been trying recently to muster my mental energy enough to dive into it. I know EXACTLY what I want to build, but it's a pretty big project and so far I've just held back out of laziness. 2026-01-24 13:48:16 If I can get myself moving on it and get it done, the result will be a little chunk of circuitry that I can just "drop into" any project I want, as a starting point, that will basically be a Cortex M4 with a fully functional byte-code interpreter based Forth. So a "springboard" for any application I decide I want to pursue. 2026-01-24 13:49:06 So a "project" would then become a) put the app specific hardware around that little core, b) build it and bring it up, and c) start writing application Forth. 2026-01-24 13:50:05 Any serial connection would work, but the core will have Bluetooth capability and what I really want is a Forth console I can access that way. 2026-01-24 13:50:51 With the possibility of storing source either on-board the device, in the core flash, or on a host, with just the resulting compiled binary landing on the core. 2026-01-24 13:51:59 It's a pretty aggressive goal - I'd like for multiple such devices to be able to discover one another, form up a mesh network over Bluetooth, and then run distributed applications. 2026-01-24 13:53:00 I want an Erlang-like ability to run large numbers of small threads, have them able to communicate with each other locally or over the mesh, etc. 2026-01-24 13:53:41 It's far and away the biggest project I've ever slated out for myself, which is part of why I'm shying away from starting. :-( 2026-01-24 13:54:25 Also I have no prior experience in ARM programming, so there's that "unfamiliarity hump" to get over, too. 2026-01-24 13:54:58 Historically I've used nasm, but it doesn't support ARM, so... new tools, new everything. 2026-01-24 13:56:36 I'm not actually planning to use a normal assembler, though - the goal is to write a Python program that processes a "meta source" file, that will have assembly in it but also normal Forth, which the Python will compile to build an image. There's a library I learned about recently for embedding ARM assembly capability into a Python program. So that's how the ARM code will get handled. 2026-01-24 13:57:23 The ultimate goal is to eventually be able to recompile that same meta-source file on the system itself. 2026-01-24 13:58:47 Cut the umbilical, so to speak, to any "external tools" of any kind. 2026-01-24 14:12:12 I plan to start by getting this Python-based approach to work targeting an x64 implementation that will run on my notebook. Once that's all smooth I'll turn my attention toward an ARM implementation, which - if I do it the way I intend to - will just mean changing the assembly implementation of the lowest level "virtual instructions," and writing the new necessary hardware interfaces. The higher 2026-01-24 14:12:14 level stuff should just port right over - that's really the whole point of the approach. 2026-01-24 14:37:50 I'd personally be wary of storing the source in the in-MCU flash. For instance, cmForth source is 30 KiB, and Pygmy Forth's, 201 KiB (not including the shadow blocks in either case.) I'd expect the desired ARM Forth to be about as big, which is a significant amount, MCU-wise. Having the source (as well as documentation and whatnot) on, say, an SDHC card might be more reasonable. 2026-01-24 15:18:31 Yes, it wouldn't seem wise for that to be the only place it existed. 2026-01-24 15:19:51 Even if I kept some there, I'd arrange for it to be archived in a more secure place. And in some systems that had no local interface there would be little real point in having the source local. But if some device had a local console capability I might want to be able to get at the source without a host on hand. 2026-01-24 15:20:01 I share your wariness, though. 2026-01-24 15:21:00 What I'm really getting at is that I want an ability to have a distributed block system. What I do or don't use it for would be a different decision. 2026-01-24 15:31:20 Man, there's a terrible trend emerging on YouTube. AI fallout, actually. Slews of videos have started to show up when you search for some person from the past - like in physics say Feynman or Heisenberg, etc. But these videos aren't actutally those people (there are some really good and authentic Feynman videos out there) - they're AI generated slop, which you can't even be sure are words the 2026-01-24 15:31:22 person ever actually said. The AI is used to try to imitate the person's voice. 2026-01-24 15:31:44 It's going to come to the point where we can't relly on ANYTHING. Right now it's still pretty easy to tell the difference, but I expect that will change over time. 2026-01-24 16:26:37 we can only hope that dog food starts to really kick in and they get worse rather than better 2026-01-24 16:40:45 It kinda reminds me of Hans Bezemer's comment in news:nnd%245ea332e7%246d57cdea%40e02d670381b31412 / http://al.howardknight.net/?STYPE=msgid&MSGI=%3cnnd%245ea332e7%246d57cdea%40e02d670381b31412%3e . Youtube is built for entertainment, not reliability. Personally, when I need reliable information, I go to Wikipedia, not Youtube. 2026-01-24 16:40:45 (Then again, I don't find Youtube to be all that entertaining anymore; I'd prefer http://en.wikisource.org/ , or the likes of http://fanfiction.net/ , any day.) 2026-01-24 18:39:04 I agree with Bezemer, but still, I am thankful for YouTube making it possible for me to see the pretty famous lectures Feynman gave at Cornell University in 1964 and in New Zealand in 1978. At least I feel like I've had SOME exposure to him, and at a time I can always look back on as "sure to be authentic." 2026-01-24 18:40:02 And I will disagree with Bezemer in the sense that it IS possible to get a great deal of education via YouTube. Probably only on certain topics - anything that has any real "controversy" in the social/political sense around it then likely "not so much." 2026-01-24 18:40:17 But I've learned a crap-ton of physics and math on YouTue these last couple of decades. 2026-01-24 18:45:44 JFTR, the quote I've been referring to is "[...] my vids are not primarily reference works. They're primarily made to entertain, with a hint of mild education." My point is that Youtube was /created/ for entertainment; that it's possible to upload educational videos there is tangential to its purpose. 2026-01-24 18:45:44 Compare and contrast that with http://commons.wikimedia.org/ , created with explicit purpose of hosting free (as in freedom) educational multimedia files, and also with http://archive.org/ . 2026-01-24 18:55:56 Yes - agree with all of that. 2026-01-24 19:10:51 ACTION listens to http://he3.magnatune.com/all/03-The%20Bespectacled%20Bears%20Waltz-Mundi.mp3 (re. entertainment)