Close

Kestrel-2DX Forth Now Creates Buffers

A project log for Kestrel Computer Project

The Kestrel project is all about freedom of computing and the freedom of learning using a completely open hardware and software design.

samuel-a-falvo-iiSamuel A. Falvo II 02/05/2018 at 19:420 Comments

So, a wee bit of progress since I last wrote a log entry.  I can now CREATE a new word and ALLOT a buffer.  I can also comma-compile data into the dictionary space.  There are enough word header slots in the symbol table to create up to 256 words upon a freshly booted Forth environment.

Since this is a 64-bit Forth running with a 16-bit dictionary space, I have four comma words: , (64-bit) W, (32-bit) H, (16-bit) and C, (8-bit).  Similarly, where required, I also have ALIGND, ALIGNW, and ALIGNH for aligning HERE appropriately.

This doesn't sound like much, but it represents a surprising amount of code investment.  I had to make a word which properly constructed a RISC-V JAL instruction to use as a word's code-field, which proved to be an "interesting" exercise in debugging.

I think my next steps include (in no particular order):

Of course, I'll work on a more usable command-line block editor once I'm happy with the interpreter.  It won't be a full-screen editor though, for the simple reason that  I'm already at 10KB - 11KB of code, which is regrettably larger than I would have liked.  (To be fair, 3KB of it is reserved space for word headers.)  I rather expect to max-out my 16KB self-imposed limit for DX-Forth code image size.  :(

Until next time...

Discussions