2021-10-22 01:33:38 How's it going, guys? 2021-10-22 02:14:39 hey KipIngram ! 2021-10-22 02:15:09 i'm chuffed 2021-10-22 02:15:46 i have written enough code to be able to type 5 3 + . into my forth ! 2021-10-22 02:16:01 and it gives the right answer! 2021-10-22 02:16:42 5 3 + . 8 ok 2021-10-22 02:16:47 actual output@ 2021-10-22 02:16:48 ! 2021-10-22 02:18:42 Hey! Way cool, man. 2021-10-22 02:18:55 Very nice. That's a great moment - when the thing actually begins to work. 2021-10-22 02:19:04 yes :-) 2021-10-22 02:19:32 How big is your binary at this point? 2021-10-22 02:19:34 how have you been? 2021-10-22 02:19:40 ah it's 6kb 2021-10-22 02:19:42 Good - just busy a hell. 2021-10-22 02:19:47 Nice - that's a good size. 2021-10-22 02:19:52 s/a/as/ 2021-10-22 02:20:18 Third generation of our SSD product is nearing release; it's always busy the last few months. 2021-10-22 02:20:32 ah 2021-10-22 02:20:49 Your Forth is in assembly, isn't it? I can't remember for sure. 2021-10-22 02:20:54 yep 2021-10-22 02:21:14 but i put the amd64 one aside and no i'm doing 8086 ! 2021-10-22 02:21:20 it's a 32 bit forth for 8086 ! 2021-10-22 02:21:29 and it presents memory as a flat 1meg 2021-10-22 02:21:36 Cool. 2021-10-22 02:21:49 yep! 2021-10-22 02:21:57 I haven't worked on mine in months, which is the main reason I haven't been here much. 2021-10-22 02:22:05 it hides the stupid segments from you 2021-10-22 02:22:20 yeah but you have a real life :-) 2021-10-22 02:22:21 Mine uses 32-bit cells for the Forth innards, but 64-bit stack. 2021-10-22 02:22:29 Well, that's true. 2021-10-22 02:22:34 Oh, and I'm a grandfather now. 2021-10-22 02:22:37 Since May. 2021-10-22 02:22:44 oohh congrats! 2021-10-22 02:22:51 boy or girl? 2021-10-22 02:22:51 Thanks - it's pretty groovy. 2021-10-22 02:22:56 Boy. 2021-10-22 02:22:58 nice 2021-10-22 02:23:06 now there's someone to spoil :-p 2021-10-22 02:23:23 He came early and there was a lot of concern in there for a few months, but he's just cruising along great now. 2021-10-22 02:24:18 Twenty or thirty years ago he probably wouldn't have made it, but they've gotten awfully good at handling premature babies these days. 2021-10-22 02:25:04 yeah medical stuff always getting better 2021-10-22 02:25:16 my lady friend caught covid lol 2021-10-22 02:25:25 it's actually her birthday today 2021-10-22 02:25:42 Uh oh - she has it currently? 2021-10-22 02:25:52 i don't know where she is though, i just gotta wait until she comes over 2021-10-22 02:26:01 yep i heard it from her brother 2021-10-22 02:26:17 Well, I'll try to have some positive thoughts for her. 2021-10-22 02:26:23 she'll be right 2021-10-22 02:26:46 she's in her early 40's, not a high risk age 2021-10-22 02:36:13 Right. 2021-10-22 02:59:26 So my previous Forth, also written in nasm, wasn't as simple and straightforward as this one. The current one (which is the same one I was working on when we talkedin pat months) is much more straightforward. It's basically "FIG traditional," except for the fact that the headers and bodies are in separate memory regions. 2021-10-22 02:59:40 So there are two HERE values, and so on. 2021-10-22 03:00:19 I'm much happier with it - the prior one was gradually getting out of hand. 2021-10-22 03:19:19 KipIngram: i took a different approach to making the 8086 forth than before... instead of writing as many words as i could at once, this time i only wrote words as i needed them 2021-10-22 03:20:03 for a while there was no "rot" for example until i needed it to write "compare" that compares strings which i needed for "find" 2021-10-22 03:20:57 i had to juggle 3 items on the stack for compare.. 2 character pointers and 1 length cell 2021-10-22 03:21:29 it is a candidate for writing in assembly too... find is kinda slow 2021-10-22 04:01:13 i also figured out that instead of a linked list of definitions, it would also work with a stack ... which would keep the purity of forth :-) 2021-10-22 04:03:04 but not practical for my forth... i divided my words up into a list of lists, where the first list has all the 1-character words, second list has all the 2 character words, third list has 3 character words etc. 2021-10-22 06:38:10 dave0: I think that's the right way to go about it. 2021-10-22 06:38:27 That way you learn the "dependency stack" of the system. 2021-10-22 06:41:42 Um, what do you mean exactly a stack? That's actually what the linked list is - since you start searching it from most recent. But the links are required because the word strings are different distances apart. 2021-10-22 06:42:07 Linked list can be used to implement a stack for varible size items. 2021-10-22 06:42:35 I.e., mine's a stack too, logically - I "push" new word definitions onto that stack and "pop" them off with FORGET. 2021-10-22 06:43:08 Oh, I see now. 2021-10-22 06:43:38 Well, traditionally you want your words to search up in exact reverse definition order, but that's certainly a rule you can bend if you like. 2021-10-22 06:43:56 And by doing it the way you did you saved having to have a length byte in the headers. 2021-10-22 06:44:52 I think the only real REASON they say it should be in reverse definition order is so if you re-define a word you'll find the newer definition, and that's still true for your multi-list design. 2021-10-22 07:04:13 KipIngram: yes! i saved the length byte 2021-10-22 07:04:24 KipIngram: that was a nice feature 2021-10-22 07:05:29 KipIngram: i originally made the separate lists to speed up find.. you don't waste time checking the length, AND the lists themselves will be shorter 2021-10-22 07:06:41 Right right - makes sense. My FIND is probably even slower, because it's written in Forth and not assembly. 2021-10-22 07:07:06 same 2021-10-22 07:07:48 find compare >lower are all in forth 2021-10-22 07:08:38 I was very happy with how tight and well-organized that Forth turned out to be, though, and it also proved to be a very nice showcase for my non-traditional control flow words. 2021-10-22 07:08:41 the slowness is noticable on dosbox 2021-10-22 07:08:59 yeah Forth is nice :-) 2021-10-22 07:09:00 I don't notice it on my notebook. 2021-10-22 07:09:23 i like how there is no redundency in forth 2021-10-22 07:10:02 Yeah - my way of saying a similar thing is that I love its simplicity. 2021-10-22 07:10:32 I love being able to 1) single-handedly write what is really an operating system, and 2) understand every single instruction of it. 2021-10-22 07:11:34 when (if?) i finally get my forth going, i'm gonna check out scheme 2021-10-22 07:11:52 there is a project in github of scheme written in forth :-p 2021-10-22 07:12:54 oh when you search github for "scheme written in forth" you only get forth's written in scheme :-p 2021-10-22 07:13:16 but siraben's comes up! https://github.com/siraben/zkeme80 2021-10-22 07:14:40 I thought it looked like it would be very simple to write a lisp that "lived along side" a Forth system. 2021-10-22 07:15:03 I'd just modify the outer interpreter a bit to be able to tell which system to hand each input string to. 2021-10-22 07:15:16 Lisp code and Forth code look... a little different. :-) 2021-10-22 07:16:10 oh check out: https://github.com/jart/sectorlisp 2021-10-22 07:16:17 i was keeping my eye on that 2021-10-22 07:16:40 this inspired sectorlisp: https://github.com/cesarblum/sectorforth 2021-10-22 07:16:59 they are both 512 byte interpreters 2021-10-22 07:17:07 fits on a bootblock 2021-10-22 07:17:40 sectorforth came first 2021-10-22 07:20:15 Yeah, I'm aware of sectorforth. 2021-10-22 07:20:20 Very cool. 2021-10-22 07:27:10 some forthwrites are weird :-p 2021-10-22 07:39:17 I like to think of us as "non-conformists." 2021-10-22 07:39:38 no, that would mean we are hipsters! I could never allow that. 2021-10-22 07:39:47 ACTION holds a petrol can ready to light it up 2021-10-22 07:57:41 :-) 2021-10-22 07:57:48 You don't have to be one - it's ok. 2021-10-22 08:04:15 After all, if you had to conform to non-conformity, that would be a little odd, wouldn't it? 2021-10-22 08:04:36 heheh 2021-10-22 08:04:40 I don't know that I've ever known for sure exactly what a hipter *is* - heard the word of course, but haven't paid too much attention. 2021-10-22 08:04:48 s/hipter/hipster/ 2021-10-22 08:04:51 sectoforth source is interesting for a newbie like me 2021-10-22 08:05:12 It's interesting for sure, and I've been tinkering with Forth for going on 40 years. 2021-10-22 08:05:19 KipIngram: it was me joking, but in general yeah, someone conforming in non-conformity 2021-10-22 08:05:30 Ah - gotcha. 2021-10-22 08:05:34 I am still amazed people can write asm though 2021-10-22 08:05:40 Yeah - that's not really noncomformity. 2021-10-22 08:05:43 it looks very difficult to reason about to me 2021-10-22 08:06:03 depends on the asm 2021-10-22 08:06:08 I'm fortunate to be old enough to have actually been taught asm in college. 2021-10-22 08:06:19 Motorola 6809 - nice little chip. Very elegant architecture. 2021-10-22 08:06:21 whenever i write asm i have to use my whiteboard 2021-10-22 08:06:42 thats the 68k's precursor, right? 2021-10-22 08:06:57 Somehow that's 'the kind of stuff I can hold in my head well - that, digitial logic circuits, etc. 2021-10-22 08:07:12 Logic circuits - that was really my "training" back in the day. 2021-10-22 08:08:40 I never got "professional" software training - took maybe 3-4 software courses, and they were more EE than CS. 2021-10-22 08:08:59 So I "know enough to be dangerous," but a real pro would run circles around me. 2021-10-22 08:09:21 re asm: some people are just better at different things 2021-10-22 08:09:32 Exactly, yes. 2021-10-22 08:09:47 Kind of a great thing, when you think about it. 2021-10-22 08:09:51 How boring things would be otherwise. 2021-10-22 08:10:24 mhm 2021-10-22 08:10:49 Wouldn't have gotten Mozart, Shakespeare, etc. 2021-10-22 08:11:12 life is very interesting 2021-10-22 08:11:36 The way Mozart described his ability always just amazes me - he reported that he could somehow hold an entire score in his mind, as a single unified thing. 2021-10-22 08:11:52 It was like it had a shape for him, that he could grasp all of at once. 2021-10-22 08:12:01 That's just mind-bending. 2021-10-22 08:12:45 neat! 2021-10-22 09:07:06 eris[m], 6809 and 68000 are both motorola chips but basically unrelated architecturally 2021-10-22 09:17:52 the 6809 is kind of the peak of 8-bit designs of that era. it had a lot of advantages over more popular chips like the 6502 such as two accumulators and 16 bit index registers 2021-10-22 09:18:43 ahh 2021-10-22 09:18:57 i thought it was a z80 to Z8000 situation 2021-10-22 09:29:31 the 68000 is a really neat chip for its time if you ever have a chance to use it. lots of 32 bit registers that are orthogonal unlike unlike a lot of the 8-bit stuff that came before 2021-10-22 12:52:28 dave0: I'm so happy I did that project 2021-10-22 12:52:54 especially taking an operating systems class now, having dealt with the same concepts years ago makes it a lot more concrete and makes me want to revisit it and do things like paging/serial communication etc. 2021-10-22 12:52:57 processes perhaps 2021-10-22 12:53:26 the choice of Scheme was necessary because the Z80 assembler I used was so inexpressive and clunky that I had to write a new one 2021-10-22 12:55:50 hey all, I thought this was interesting: at work we use some older aviation equipment that use dissimilar microprocessor architecture for monitoring of critical functions. The device has aon Zilog Z8002, and one 80086, and the system compares the output of the two chips for sanity 2021-10-22 12:56:24 noticed this reading through the old manual yesterday 2021-10-22 12:57:50 the Zilog was programmed in Z8002 assembly and the the intel chip in PLM and 8086 assembly 2021-10-22 12:58:35 The results don't have to be exactly the same, but there is a tolerance threshold 2021-10-22 12:59:26 anyway, thought that was interested. I imagine dissimilar architecture comparisions are common in safety critical stuff, but I hadn't come across it before 2021-10-22 13:31:14 that is really cool