2023-07-21 00:58:11 siesta: When you define a word, two addresses are associated (one way or another) with the definition. One is a pointer to code that makes the word a : definition (it's the code that 'nests you into' the new word when you call it). The other is the address of the list of addresses that define that word. 2023-07-21 00:58:36 In the earliest systems that second "address" was implicit - the list of item addresses just immediately followed the header. 2023-07-21 00:58:46 In a lot of modern system it's a second actual pointer. That's how it is in mine. 2023-07-21 00:59:20 If you redefine an existing word in a way that creates a brand new pair of address indicators in new RAM, then what crc said is true - old words that call that word use the old definition. 2023-07-21 00:59:48 But if you do something that CHANGES that second pointer, in the word's existing definition, then old usages of the word will start using the new definition. 2023-07-21 01:00:19 My Forth uses an explicit pair of addresses the way I first described, sO I can redefine words either way - either so old usages use the old definition, or I can make them use the new definition. 2023-07-21 01:05:14 that was a rather indirect explaination 2023-07-21 01:09:32 I know. I was trying to somehow get at the "reasons" for the two things rather than just describe them in a "schematic" sort of way. 2023-07-21 01:09:57 And also saying "two pointers" isn't really completely accurate, because like I said, one of them is sometimes implicit. 2023-07-21 01:10:22 But one way or another there are are always two things: a reference to some code, and a reference to some data. 2023-07-21 05:43:09 I look at this as being the idea that a word has say "what to do" and "what to do it to." 2023-07-21 05:43:38 Verb and subject/object. 2023-07-21 10:56:54 idea: use emoticons as wordnames 2023-07-21 10:59:31 Why not? :-) 2023-07-21 10:59:45 A bit like utf8 characters. Same idea at least. 2023-07-21 11:00:42 You know, I had an idea a day or two ago as well. It occurred to me that a "greedy" search matching as much of the upcoming input stream as possible against previously recognized patterns might let us detect word sequences that we might like to factor into new words. 2023-07-21 11:00:57 It would be nice if your system told you about sequences you've used frequently. 2023-07-21 11:01:19 I mean the utf8 thing and not the oldschool smilies 2023-07-21 11:01:21 And it would be nice if it could recognize those sequences and compile a call to a primitive that embodied them. 2023-07-21 11:01:34 Right - that's how I read you. 2023-07-21 11:01:38 hi! it looks like you're trying to input forth words. would you like some help? 2023-07-21 11:02:19 I don't have a full picture in mind for how this would work, but I'm thinking of some sort of "sequence database." 2023-07-21 11:03:38 It would be extra nice operating in a system that could meta-compile itself, because then all of the system's source would contribute to that database. 2023-07-21 12:52:13 Well, I found an example assembly file and commands that runs correctly on my raspberry pi (armv7l). I actually think this pi has a 64-bit armv8, but the OS is raspian 32-bit and only uses armv7l features. 2023-07-21 12:52:30 It makes an exit call to the os, so it's enough for me to start building on. 2023-07-21 12:53:06 I'm still thinking I want to bring this next effort along on both platforms at once. 2023-07-21 13:04:28 This looks good: 2023-07-21 13:04:30 https://bob.cs.sonoma.edu/IntroCompOrg-RPi/intro-co-rpi.html 2023-07-21 13:05:21 Too bad it doesn't seem to be available as a pdf. 2023-07-21 13:39:49 You know, it's need that register shifts can be done in parallel with other operations on ARM. 2023-07-21 19:37:26 You know, it looks like this ARM documentation isn't just a straightforward documentation of the processor. 2023-07-21 19:37:42 It's all mixed up with stuff that has to do with how typical compilers generate code and so on. 2023-07-21 19:37:52 Which is really of pretty much zero interest to me. 2023-07-21 19:40:18 It's important information, but it would be nice to have clean hardware documentation as well. 2023-07-21 20:04:50 probably because practically all of the assembly will be generated by a compiler 2023-07-21 20:08:35 KipIngram: are you going to test on a real pi or with an emulator? 2023-07-21 20:20:53 Real one. 2023-07-21 20:21:11 I use it in my media room. 2023-07-21 20:27:33 neat 2023-07-21 23:20:58 This looks interesting: 2023-07-21 23:21:02 https://www.digikey.com/en/products/detail/analog-devices-inc-maxim-integrated/MAX32655FTHR/17885194 2023-07-21 23:21:22 512k flash, 128k RAM. Bluetooth radio, plus a bunch of other stuff. 2023-07-21 23:21:37 through holes for header connection to a second board. 2023-07-21 23:23:44 That Nordic chip is cheaper, but has less RAM and is tiny surface mount - I figure I could manage to get it onto a board if I had to, but it wouldn't be very easy. 2023-07-21 23:23:49 This would hand solder. 2023-07-21 23:47:08 Wow - it's pretty simple to get assembly doing something on the raspberry pi. 2023-07-21 23:48:27 The as assembler seems already completely ready to call into the installed C library. A hello world program is trivial - 28 lines and that includes a bunch of comment banners. 2023-07-21 23:48:45 it's not Enterprise grade hardware 2023-07-21 23:48:52 Ten actual lines of code. 2023-07-21 23:48:57 No, I'd say it's certainly not. 2023-07-21 23:49:42 The one I like better though is the one that uses a syscall to exit; I like syscalls and don't much like having a library along for the ride. 2023-07-21 23:51:40 https://www.analog.com/media/en/technical-documentation/data-sheets/MAX32655FTHR.pdf 2023-07-21 23:52:10 That thing really is packed with peripherals. 2023-07-21 23:53:09 Micro USB connector, micro SD socket, stereo audio codec, digital microphone, LEDs, button interface, etc. 2023-07-21 23:53:21 What it doesn't have is any substantial number of i/o pins. 2023-07-21 23:54:05 And bluetooth LE. 2023-07-21 23:55:17 Looks like it has nine i/o pins. That's not "awful." 2023-07-21 23:55:36 Multiplexed with six analog input channels. 2023-07-21 23:56:02 Oh, wait. It has more i/o than that - that was just on one connector. 2023-07-21 23:56:17 18 i/o total. 2023-07-21 23:56:23 Nine on each header row. 2023-07-21 23:56:44 nine for moral connectors, doomed to the die