: and ; have been added finally allowing for colon definitions to be added from the outer interpreter. I'm thinking that file operations should probably be my next concern so that I can load and save source code.

I've made a lot of progress on the outer interpreter recently. Too many changes to list actually. I'm just a couple of word definitions away from writing colon definitions from the prompt!

I wrote this last week and I have no idea what I was thinking.

Finally properly implemented REFILL. The second picture shows the buffer in memory at the end of the video (first character at 0x0800). It only lets the user edit the current line, so characters don't overflow into the next line and deleting characters will never move the cursor behind the first position on the current line.

Now onto parsing 👀

Alright, so thankfully I won't be rolling my own keyboard routine. The reason that the kernal GETIN routine kept returning to the BASIC prompt was because I was corrupting the stack and I guess it was triggering some sort of reset or something? I dunno. All I know is that I can write terrible terrible things on the screen using Forth code which, honestly, is so incredibly beautiful.

For comparison, these are the speeds of an assembly and BASIC color cycle respectively. The height of each color stripe demonstrates the speed of each implementation. The shorter each stripe is, the faster it is. As you can see, Forth sits in between both of these benchmarks speed-wise. (perhaps a little closer to assembly, but who's keeping track 👀)

I'm pretty satisfied with the speed of my inner interpreter but it could definitely be faster.

Mastodon @ SDF

"I appreciate SDF but it's a general-purpose server and the name doesn't make it obvious that it's about art." - Eugen Rochko