Max7219 7-segment module FlashForth code

Max7219-based LED module driven by FlashForth

I pulled this old 7-segment display out of storage so I could write a module to control it with FlashForth. Here is the repository URL:

https://codeberg.org/infrared/ff-max7219

Using the words in max7219defs.fs and max7219cmd.fs you can control the digits, using either BCD, or controlling the segments individually. Using BCD make your programming much simpler but only gives you four letters to work with (besides the number characters).

I used individual segment control to make this simple demo which lights up each segment in sequence. Here is a video — sorry for the fuzzy image:

A demo of individual segment control

Commodore 64 FORTH: durexforth

durexforth running on VICE Commodore 64 emulator

This will be a short post, since I’ve only been playing around with durexforth for a few minutes so far. But some things I already like about durexforth:

  • Is coded for the great retro Commodore 64 PC
  • Is licensed under a free software license (MIT License)
  • Was pretty easy to build: only dependencies are make, gcc, and the ACME compiler from sourceforge. I used gcc 10.3.0 and the latest ACME SVN checkout (r319) from https://sourceforge.net/p/acme-crossass/code-0/HEAD/tree/trunk/.
  • Implements the words for the 2012 FORTH standard.

As you see in the above screenshot, you can use the % prefix to designate binary input, which is great.

Screenshot from the durexforth tutorial video

Here are the word listings:

Word list page 1

Word list page 2

I’m in the process of installing the texlive Guix package so I can try to build he durexforth PDF documentation and learn more about this FORTH. Some additional gratuitous screenshots of me playing around in durexforth: