2024-08-29 01:05:26 I just walked through some of F83 in the screen editor with my cousin 2024-08-29 01:06:06 he pointed out that in CGA 2-color mode or on a Hercules, the IBM PC had enough horizontal pixels to display 128 columns of text, so you could display shadow screens side by side 2024-08-29 01:11:11 Yeah I guess in a different colour? 2024-08-29 01:11:30 Or else it would be hard to read, with no gap between 2024-08-29 01:28:12 yes, he suggested inverse video 2024-08-29 01:28:31 I think it would *still* be hard to read but maybe less so than typing a ENTER a ENTER a ENTER 2024-08-29 01:29:26 I did successfully use fix c@ to jump the editor to the definition of c@ 2024-08-29 01:29:33 which is pretty goddamned cool 2024-08-29 01:30:42 but there were some other things that broke often. it's getting some kind of error when it reads utility.blk; I think some stray bytes found their way into the file 2024-08-29 01:30:49 hmm, no, that's not it 2024-08-29 01:31:21 maybe it's a DOSBox bug. It can open kernel86.blk fine 2024-08-29 01:34:13 I don't mind a ENTER etc 2024-08-29 01:34:24 I agree inverse video makes most sense 2024-08-29 01:34:39 But might be harsh on the eyes 2024-08-29 01:35:59 you could set the CGA background to blue so it would be white on blue vs. blue on white 2024-08-29 01:36:08 128 cols is a bit harsh on the eyes too 2024-08-29 01:36:21 I mean, would you want that on a real period-correct CRT? 2024-08-29 01:37:14 Definitely display shadow block in grey or blue or something, don't change background or invert 2024-08-29 01:37:33 yeah, blue on white and white on blue were pretty common, and nice 2024-08-29 01:37:58 in 640×200 CGA mode you couldn't change the foreground color at all, let alone in the middle of a line 2024-08-29 01:38:34 I think the uncomfortably condensed font would be the bigger problem than the colors. that and the lack of margins 2024-08-29 01:38:38 Grey background then maybe 2024-08-29 01:38:45 yeah, that would work 2024-08-29 01:38:59 I'd probably like blue better, though 2024-08-29 01:39:43 it puts all the contrast in the red and green channels and eliminates the blue contrast that we're both bad at seeing and bad at focusing on our retinas 2024-08-29 01:40:20 Yeah don't get me started on blue stuff on OLED screens 2024-08-29 01:40:26 heh 2024-08-29 01:40:48 I didn't notice blue focuses weird until I got an OLED screen 2024-08-29 01:40:52 a kind of overarching problem I'm having with F83 is that it doesn't worry about error handling much 2024-08-29 01:41:09 1366x768 LCD ought to be enough for anyone 2024-08-29 01:41:24 like, there's a " word, which is ANS 94 s" 2024-08-29 01:41:37 what does it do in interpret state? 2024-08-29 01:41:52 nothing, it just discards the parsed string 2024-08-29 01:41:59 in my experience 1366*768 is a little cramped 2024-08-29 01:42:48 but physical screen size is important too 2024-08-29 01:42:57 1920*1080 isn't much good if it's only a 10 inch screen 2024-08-29 01:43:20 I try open utility.blk and it says, "Open error in A:UTILITY.BLK" 2024-08-29 01:43:36 hmm, maybe actually that *is* telling me the problem... 2024-08-29 01:44:02 yes. I had to mount the directory as drive A: as well 2024-08-29 01:44:06 not just drive C: 2024-08-29 01:44:12 btw, dosbox-debug is pretty useful, if your build of dosbox includes it 2024-08-29 01:44:25 thanks! 2024-08-29 01:46:18 but I would have liked it to tell me "File not found" 2024-08-29 01:48:33 how does dosbox-debug decide when to update its register/data/code overview windows? 2024-08-29 01:49:03 when you tell it to debug something 2024-08-29 01:49:20 how do you do that? 2024-08-29 01:49:28 debug program 2024-08-29 01:49:56 aha, I see 2024-08-29 01:50:21 the navigation is a bit weird 2024-08-29 01:50:27 as you can probably see by those "Scroll:" labels above each panel 2024-08-29 01:50:42 maybe it has a manual 2024-08-29 01:51:37 well if you type help in the debugger it gives you a command listing 2024-08-29 01:51:51 I tried that, it didn't 2024-08-29 01:51:57 but it took me a while to realize that i needed to have a terminal with large enough dimensions for it to be displayed 2024-08-29 01:52:41 as in, you have to invoke dosbox-debug on a tty with a large size before you'll see a panel labelled "OutPut/Input Scroll: home/end" 2024-08-29 01:52:48 oh, I see, yes 2024-08-29 01:53:44 this is actually freaking awesome 2024-08-29 01:54:01 49 lines / rows seems to be the minimal tty height required for that 2024-08-29 01:56:34 once I've continued with F5, how do I get back to the prompt if I don't have any breakpoints? 2024-08-29 01:57:34 alt+pause 2024-08-29 01:59:59 aha, Alt-Fn-P on my Lenovo E495, as helpfully explained in https://en.wikipedia.org/wiki/Break_key 2024-08-29 02:00:42 see, this is what my wife should have used for her assembly language programming class instead of Emu8086 2024-08-29 02:01:36 emu8086 is probably a little bit more friendly for people completely new to assembly and the concept of debuggers though, at least from what i remember of its interface 2024-08-29 02:04:00 another cool dos debugger was insight 2024-08-29 02:04:08 and i'm sure you played with softice 2024-08-29 02:04:32 no, I never had softice 2024-08-29 02:05:19 https://en.wikipedia.org/wiki/SoftICE / https://archive.org/details/manualzilla-id-5714182 2024-08-29 02:05:24 I got access to the internet in 01992, see 2024-08-29 02:05:51 and from that moment forward, MS-DOS had very little interest to me 2024-08-29 02:06:13 earlier than i did, i only got a modem in 1997 2024-08-29 02:06:20 although I did write, for example, http://canonical.org/~kragen/sw/dev3/morecircles.s 2024-08-29 02:07:00 yeah, my dad started calling BBSes in 01984 2024-08-29 02:07:29 so I was regularly participating in online discussions on FidoNet "echoes" by 01988 2024-08-29 02:07:33 nice 2024-08-29 02:08:10 i never accessed fidonet 2024-08-29 02:08:19 did you ever connect to any X.25 networks? 2024-08-29 02:08:49 yes, I set up an X.25 network in 01996 2024-08-29 02:09:01 it went from the testing lab to the server room 2024-08-29 02:09:03 ;) 2024-08-29 02:09:35 was it on telenet (or sprintnet i think it might have become later?) 2024-08-29 02:09:52 no, it just went from one room to anothe 2024-08-29 02:09:54 *r 2024-08-29 02:10:02 on the same floor 2024-08-29 02:10:22 ah ok 2024-08-29 02:10:32 we were working on a network management system which was somehow embroiled in X.25 networks, I forget how 2024-08-29 02:17:39 I think it might have needed X.25 to talk to the craft port of one of the pieces of equipment it had to configure 2024-08-29 03:48:37 from cmforth: : U< ( u u - t) - 2/ 0< ; ( 3) 2024-08-29 03:50:00 i can't figure out how that works. i guess 2/ must bring in a borrow bit? 2024-08-29 03:57:31 https://www.forth.org/OffeteStore/4001-footstepsFinal.pdf page 77 has a few comments on this 2024-08-29 04:16:34 lol not much 2024-08-29 04:18:22 but reading page 44, i don't fully understand it yet but i think it confirms that there is more going on here than just right shift 2024-08-29 05:06:34 unsigned less than. Subtraction is the same for signed and unsigned; 2/ is presumably the signed version, so it will sign-extend 2024-08-29 05:07:40 perhaps? No, I think your guess about a borrow bit is the only thing that makes sense 2024-08-29 05:09:59 subtracting two n-bit quantities to get an n-bit result loses the information about which was greater; in 16 bits, 0 65535 u<, but 1 0 u>. but the 16-bit subtraction result is 1 in both cases 2024-08-29 05:10:22 so you need the borrow bit 2024-08-29 09:40:37 Yeah it must shift through borrow 2024-08-29 10:04:53 probably worth mentioning, though likely for you it's stating the obvious, but the MuP21 and F21 had 20-bit memory words but 21-bit operand stack registers (and I think return stack too) in order to have space for the carry bit 2024-08-29 10:05:16 so maybe Chuck was doing a similar trick already on the Novix 4000 2024-08-29 14:41:09 I think DO parameters are in the wrong order 2024-08-29 14:41:43 Pretty rare I don't have to SWAP right before the DO / ?DO 2024-08-29 14:42:20 Unless I'm specifying manually, in which case e.g. 0 10 would make more sense than 10 0 2024-08-29 15:16:59 xentrac: didn't realize it had 21-bit stack elements, thanks. 2024-08-29 15:17:25 i guess that's where the 21 comes from 2024-08-29 15:17:29 in MuP21 2024-08-29 20:03:15 veltas: plausible. from time to time I do write a word like : foo 0 do ... loop ; 2024-08-29 20:04:06 zelgomer: yup! sure! 2024-08-29 20:48:14 crc: what does this bot do? 2024-08-29 20:48:42 tries to take over the world? 2024-08-29 20:48:45 lookup documentation on ans forth words 2024-08-29 20:48:55 dpans: .s 2024-08-29 20:48:55 <[bot]dpans > 15.6.1.0220 .S "dot-s" TOOLS 2024-08-29 20:48:55 <[bot]dpans > ( -- ) 2024-08-29 20:48:55 <[bot]dpans > Copy and display the values currently on the data stack. The format of 2024-08-29 20:48:56 <[bot]dpans > the display is implementation-dependent. 2024-08-29 20:48:56 <[bot]dpans > .S may be implemented using pictured numeric output words. 2024-08-29 20:48:56 <[bot]dpans > Consequently, its use may corrupt the transient region identified by #>. 2024-08-29 20:48:57 <[bot]dpans > See: 3.3.3.6 Other transient regions. 2024-08-29 20:49:21 dpans: does> 2024-08-29 20:49:21 <[bot]dpans > 6.1.1250 DOES> "does" CORE 2024-08-29 20:49:21 <[bot]dpans > Interpretation: Interpretation semantics for this word are undefined. 2024-08-29 20:49:22 <[bot]dpans > Compilation: ( C: colon-sys1 -- colon-sys2 ) 2024-08-29 20:49:22 <[bot]dpans > Append the run-time semantics below to the current definition. Whether 2024-08-29 20:49:22 <[bot]dpans > or not the current definition is rendered findable in the dictionary by 2024-08-29 20:49:23 <[bot]dpans > the compilation of DOES> is implementation defined. Consume colon-sys1 2024-08-29 20:49:23 <[bot]dpans > and produce colon-sys2. Append the initiation semantics given below to 2024-08-29 20:49:23 <[bot]dpans > the current definition. 2024-08-29 20:49:23 <[bot]dpans > Run-time: ( -- ) ( R: nest-sys1 -- ) 2024-08-29 20:49:24 <[bot]dpans > Replace the execution semantics of the most recent definition, referred 2024-08-29 20:49:24 <[bot]dpans > to as name, with the name execution semantics given below. Return 2024-08-29 20:49:24 <[bot]dpans > control to the calling definition specified by nest-sys1. An ambiguous 2024-08-29 20:49:25 <[bot]dpans > condition exists if name was not defined with CREATE or a user-defined 2024-08-29 20:49:25 <[bot]dpans > 51 2024-08-29 20:49:26 <[bot]dpans > ANSI X3.215-1994 2024-08-29 20:49:27 <[bot]dpans > word that calls CREATE. 2024-08-29 20:49:27 <[bot]dpans > Initiation: ( i*x -- i*x a-addr ) ( R: -- nest-sys2 ) 2024-08-29 20:49:28 <[bot]dpans > Save implementation-dependent information nest-sys2 about the calling 2024-08-29 20:49:28 <[bot]dpans > definition. Place name's data field address on the stack. The stack 2024-08-29 20:49:29 <[bot]dpans > effects i*x represent arguments to name. 2024-08-29 20:49:29 <[bot]dpans > name Execution: ( i*x -- j*x ) 2024-08-29 20:49:30 <[bot]dpans > Execute the portion of the definition that begins with the initiation 2024-08-29 20:49:30 <[bot]dpans > semantics appended by the DOES> which modified name. The stack effects 2024-08-29 20:49:31 <[bot]dpans > i*x and j*x represent arguments to and results from name, respectively. 2024-08-29 20:49:31 <[bot]dpans > See: 6.1.1000 CREATE. 2024-08-29 20:49:42 bit spammy there, maybe a link for the longer stuff? 2024-08-29 20:50:21 I'll work on that 2024-08-29 20:52:36 tou could try to replace newlines for a space and have some kind of limit to decide whether to flood or link 2024-08-29 20:52:41 you* 2024-08-29 20:53:03 but it's actually a cool bot 2024-08-29 22:13:34 xentrac: I guess that's the intention behind the order 2024-08-29 22:17:15 In my blind drunken rage trying to reinstall Windows 11 it didn't occur to me