Project Forth Works Index
Algorithms
Random numbers, etc.
CRC-generation
check whether a set of data, like a string, is unchanged and intact.
CRC-for-nRF24L01+
16bit CRC CCITT as used in the nRF24L01+
CRC16
CRC-16 sample implementation
CRC32C
32bit CRC according to Castagnoli
CRC32_IEEE
IEEE 32bit CRC standard protocol
CRC32_IEEE_TABLEBASED
fast 32bit IEEE using tables
CRC32_KOOP
32bit CRC according to Philip Koopman
FFBASE
instead of modifying the interpreter, this just loads on top
PiliPlop
an algorithm to move multiple processes, to reach its targets together
noForth
specific implementation of PiliPlop.
String handling
primitive string handling in variations
XORshift Random-generator
different random number implementations
ARM
more on the ARM specific random implementation
MSP430
implementations for the TI MSP430 series
Random Generator Completeness Test
presented here is a test for completeness
Communication-Protocols
SPI, I2C, Wireless, etc.
I2C
Inter Integrated Circuit bus
GD32VF
bitbang & hardware specific I2C implementations for the Risc-V
Mecrisp
for Mecrisp (not ready).
noForth
implementation & examples for noForth.
MSP430
bitbang & hardware specific I2C implementations for MSP430
noForth
implementation for various MSP430 versions with EEPROM example for noForth.
Raspberry3B+
bitbang & hardware specific I2C implementation for BCM2835
SPI
Serial Peripheral Interface
GD32VF
SPI implementations for GD32VF103
mecrisp-quintus
SPI for mecrisp including a BME280 & SD-card example
BME280
It is the testcase for the SPI code. It uses the **BME280** sensor chip.
noForth
SPI for noForth including examples, OLED, Flash memory, etc.
Wireless-Communication
Transceivers using different frequencies & protocols
Mesh-network
Implementation example of an extensible node interpreter.
FR59xx
noForth mesh network version
G2553-&-F149
noForth mesh network version
GD32VF103
noForth mesh network version
Generic-Forth
version of the mesh network
nRf24L01+
2.4GHz transceiver from Nordic semiconductor
GD32VF
implementation(s) of a nRF24L01+ driver for GD32VF103
noForth
implementation of a nRf24L01+ driver
MSP430
implementation(s) of a nRF24L01+ driver for MSP430
noForth-FR59xx
implementation of the nRF24L01+ driver with examples
noForth-G2553 & F149
implementation of the nRF24L01+ driver with examples
Curiosities
Not so serious contributions but interesting and/or entertaining.
do_plusloop_curiosity
A high level implementation of DO +LOOP with two limits
Data-Structures
Primitive circular buffer, etc.
Array
a simple one dimensional array with implicit indexing
Buffer
a simple memory buffer
Primitive-Circular-Buffer
a buffer with a single read/write pointer
noForth
specific implementation using the Generic Forth approach.
Programming-Pearls
Examples of idiomatic (Forth) programming style
2log
The 2LOG routine converts a linear input into something with a more logarithmic character.
Population Count
counting the number of set bits in a byte or word
condicompi
process part of the program text depending on conditions and variants, ICE concept
day-of-the-week
work with string sequences, map from number to string
print-hex
print hex numbers with variable number of digits, w/o <# # #>
Programming-Tools
Development support, helpers
dump
a tool to display memory content
multiline-comments
comment regions of text, nest-able
substitution-phrases
phrases that replace well known but undefined words
Sensors
Electronic sensors for measuring temperature, distance, etc.
Measuring-distance
using ultrasonic and other sensors.
Reflection-sensors
a sensor that uses (infrared) light to detect the presence of an object.
System-Software
Assembler, Disassembler, etc.
Assemblers
for ARM, MSP430, ...
ARMv8 assembler
This is a basic ARMv8 Aarch32 assembler.
MSP430-assembler
the noForth assembler...
disassemblers
for MSP430, ...
User-Applications
Games, Robotics, etc.
Simulations
collect and discuss simulations.
COZY
simulation of agents which, if given the chance, move to a place where they feel more at home.
Forest Fire
computer generated fire