aboutsummaryrefslogtreecommitdiff
path: root/forth/main.fs
diff options
context:
space:
mode:
Diffstat (limited to 'forth/main.fs')
-rw-r--r--forth/main.fs54
1 files changed, 27 insertions, 27 deletions
diff --git a/forth/main.fs b/forth/main.fs
index e373256..bfbf81e 100644
--- a/forth/main.fs
+++ b/forth/main.fs
@@ -1,34 +1,34 @@
-io
marker -io \ define ports
-$23 constant pinb
-$24 constant ddb
-$25 constant portb
+$0023 constant PB
+$0023 constant pinb
+$0024 constant ddrb
+$0025 constant portb
-$26 constant pinc
-$27 constant ddc
-$28 constant portc
+$0026 constant PC
+$0026 constant pinc
+$0027 constant ddrc
+$0028 constant portc
-$29 constant pind
-$2a constant ddd
-$2b constant portd
+$0029 constant PD
+$0029 constant pind
+$002a constant ddrd
+$002b constant portd
-: bv ( bit -- mask ) 1 swap lshift ;
-
-#5 bv portb 2constant led
-#5 bv ddb mset
-
-#2 bv pind 2constant sr
-#2 bv ddd mclr
-
-#4 bv pind 2constant sc
-#4 bv ddd mclr
+-init
+marker init
-#3 bv pind 2constant sl
-#3 bv ddd mclr
-
--main
-marker -main
-
-: read ( mask port -- flag )
- c@ invert and 0= nip ;
+: bv ( bit -- mask ) 1 swap lshift ;
+: pin ( bit base-addr -- ) bv swap 2dup 1+ mclr ;
+: port ( bit base-addr -- ) bv swap 1+ 2dup mset 1+ ;
+: set ( mask addr -- ) mset ;
+: clr ( mask addr -- ) mclr ;
+: init
+ PB #3 port 2constant servo
+ PB #5 port 2constant led
+ PD #2 pin 2constant sr
+ PD #3 pin 2constant sc
+ PD #4 pin 2constant sl
+;
+: get ( mask addr -- bool ) c@ invert and 0= ;