---
title: Documentation
+keywords:
+- docs
+- system
---
# Documentation
* [Terminal](terminal.md)
* [UART](uart.md)
* [Wordle](wordle.fs)
+
+## System
+
+A certain number of words may be loaded into the system to greatly improve
+quality of life when using `forthdeck` interactively. These words may be
+compiled to flash and saved in the first image stored to the MCU.
+
+At the time of this writing I have chosen to include the [GPIO](gpio.md) and
+[UART](uart.md) collections in the first image of my own system and to enable
+hardware flow control.
+
+### Enabling Hardware Flow Control
+
+In order to enable hardware flow control and to increase the speed of serial
+uploads **greatly**, I have chosen to include the [GPIO](gpio.md),
+[UART](uart.md) and [INIT](init.md) collections in the first image of my own
+system.
+
+```forth
+compiletoflash
+\...ctrl-a ctrl-s, load files...
+save
+```
+
+`init.fs` contains an `INIT` word that will be run on system startup, and that
+includes code to enable hardware flow control on UART0.
: loopback-enable ( addr -- ) DUP @ 1 7 lshift OR SWAP ! ;
\ Enable hardware flow control
+\ Given the address of a UART control register, enable hardware flow control
+\ example: UART0 hfc-enable
: hfc-enable ( addr -- )
2 pin UART funcsel! DUP cts-enable
3 pin UART funcsel! rts-enable ;