FiveForths

32-bit RISC-V Forth for microcontrollers

  • Devlog 9 Token Reading

    November 27, 2022 Log 9 Minor adjustments First look at colon Reading the first word Closing thoughts Log 9 In this session I make some minor code adjustments, and then I’ll make a first attempt at implementing the COLON primitive. Minor adjustments In the POP macro, I was moving the...

  • Devlog 8 Reviewing Primitives Again

    November 24, 2022 Reviewing primitives again Log 8 Simple fixes Reviewing variables Closing Thoughts Reviewing primitives again Continuing from the last session, I’ll look at the primitives and see what needs to be adjusted. Log 8 In this session, I want to fix the remaining # OK primitives. Simple fixes...

  • Devlog 7 Reverting Code

    November 22, 2022 Reverting code Log 7 Removing primitives Reviewing primitives pt2 Closing Thoughts Reverting code It seems I may have made a few mistakes in my previous session. I’ll need to revert some code. Log 7 I knew I had read about the TOS register somewhere else.. it was...

  • Devlog 6 Simpler Code

    November 21, 2022 Simpler code Log 6 Cleanup the Makefile Sorting primitives Defining new words Stack pointer and top of stack Reviewing primitives Closing Thoughts Simpler code Before adding new words to the Assembly file (fiveforths.s), I thought it would be a good idea to cleanup and simplify a few...

  • Devlog 5 Testing The Implementation

    November 19, 2022 Testing the implementation Log 5 Loading the ELF program Closing Thoughts Testing the implementation One of my favourite RISC-V simulators is called Ripes, it is open source and runs entirely offline from a single AppImage file. It’s perfect for testing and single-stepping through an ELF program and...

  • Devlog 4 Validating The Implementation

    November 18, 2022 Validating the implementation I started this session by validating code that’s been written and ensuring things are where they should be. I’ve also created an TODO list to track my progress. Log 4 As mentioned previously, I defined some constants for the RAM size etc, but I’m...

  • Devlog 3 Deeper Into The Rabbit Hole

    November 17, 2022 Deeper into the rabbit hole I spent a day reading some old Forth books and comparing my implementation with how things were presented. In retrospect, my early decisions weren’t as bad as I thought (except the 16-byte alignment). So I’ll account for that in today’s session. Log...

  • Devlog 2 Dive Into The Code

    November 15, 2022 Dive into the code In this log entry, we’ll dive directly into the code and try to understand what’s been written so far, and why. Log 2 Upon opening fiveforths.s, we’re immediately thrown into a long list of variables for use throughout the rest of the code....

  • Devlog 1 Hello World

    November 14, 2022 Hello World This log serves as a memory dump for my thought process while working on my custom 32-bit RISC-V Forth implementation. The idea is borrowed from Dave’s NASM Forth where he meticulously logged his “dev nights” while working on his port of Jonesforth. How to follow...