]> Vexing Labs - forthdeck.git/commitdiff
Getting started, terminal handling, etc.
authorAdam Shamblin <adam@vexingworkshop.com>
Sun, 15 May 2022 16:50:30 +0000 (10:50 -0600)
committerAdam Shamblin <adam@vexingworkshop.com>
Sun, 15 May 2022 16:50:30 +0000 (10:50 -0600)
Makefile [new file with mode: 0644]
README.md [new file with mode: 0644]
terminal.fs [new file with mode: 0644]

diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..984cd26
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,5 @@
+connect:
+       picocom -b 115200 /dev/ttyUSB0 \
+               --imap lfcrlf,crcrlf \
+               --omap delbs,crlf \
+               --send-cmd "ascii-xfr -s -l200"
diff --git a/README.md b/README.md
new file mode 100644 (file)
index 0000000..345e8c2
--- /dev/null
+++ b/README.md
@@ -0,0 +1,12 @@
+---
+title: ForthDeck
+keywords:
+- projects
+- forth
+- hardware
+- microcontrollers
+- rp2040
+---
+# ForthDeck
+
+
diff --git a/terminal.fs b/terminal.fs
new file mode 100644 (file)
index 0000000..6275df4
--- /dev/null
@@ -0,0 +1,37 @@
+: ESC[ ( -- ) 27 emit 91 emit ;
+
+: erase ( n -- )
+  0 ?DO $08 emit LOOP ;
+
+: countdown ( n -- )
+  cr ." Counting... "
+  0 ?DO I . 2 ERASE LOOP ;
+
+\ Foreground colors
+: [black]   ( -- ) ESC[ ." 30m " ;
+: [red]     ( -- ) ESC[ ." 31m " ;
+: [green]   ( -- ) ESC[ ." 32m " ;
+: [yellow]  ( -- ) ESC[ ." 33m " ;
+: [blue]    ( -- ) ESC[ ." 34m " ;
+: [magenta] ( -- ) ESC[ ." 35m " ;
+: [cyan]    ( -- ) ESC[ ." 36m " ;
+
+\ Background colors
+: [black/bg]    ( -- ) ESC[ ." 40m " ;
+: [red/bg]      ( -- ) ESC[ ." 41m " ;
+: [green/bg]    ( -- ) ESC[ ." 42m " ;
+: [yellow/bg]   ( -- ) ESC[ ." 43m " ;
+: [blue/bg]     ( -- ) ESC[ ." 44m " ;
+: [magenta/bg]  ( -- ) ESC[ ." 45m " ;
+: [cyan/bg]     ( -- ) ESC[ ." 46m " ;
+
+\ Attributes
+: [bold]      ( -- ) ESC[ ." 1m " ;
+: [dim]       ( -- ) ESC[ ." 2m " ;
+: [smso]      ( -- ) ESC[ ." 3m " ;
+: [underline] ( -- ) ESC[ ." 4m " ;
+: [blink]     ( -- ) ESC[ ." 5m " ;
+: [reverse]   ( -- ) ESC[ ." 7m " ;
+
+\ Reset to default colors
+: [reset]   ( -- ) ESC[ ." 0m " ;