aboutsummaryrefslogtreecommitdiff
path: root/amforth-6.5/common/lib/forth2012/blocks
diff options
context:
space:
mode:
Diffstat (limited to 'amforth-6.5/common/lib/forth2012/blocks')
-rw-r--r--amforth-6.5/common/lib/forth2012/blocks/blocks.frt68
-rw-r--r--amforth-6.5/common/lib/forth2012/blocks/list-dump.frt10
-rw-r--r--amforth-6.5/common/lib/forth2012/blocks/list.frt24
-rw-r--r--amforth-6.5/common/lib/forth2012/blocks/load.frt20
4 files changed, 0 insertions, 122 deletions
diff --git a/amforth-6.5/common/lib/forth2012/blocks/blocks.frt b/amforth-6.5/common/lib/forth2012/blocks/blocks.frt
deleted file mode 100644
index c11be70..0000000
--- a/amforth-6.5/common/lib/forth2012/blocks/blocks.frt
+++ /dev/null
@@ -1,68 +0,0 @@
-\
-\ simple block wordset
-\ single buffer management.
-\ non-standard block size (to save RAM).
-\ only basic routines. No hardware access
-\
-
-#require defer.frt
-#require buffer.frt
-
-\ high level blocksize, ANS94 says 1024 bytes, SD Cards have 512
-#512 constant blocksize
-variable scr
-
-\ API for low level drivers. They get the
-\ buffer address in RAM and the block number.
-Rdefer load-buffer ( buf-addr u -- )
-Rdefer save-buffer ( buf-addr u -- )
-
-\ single buffer blocks.
-variable blk1
-variable blk1-dirty
-blocksize buffer: blk1-buffer
-
-\ for turnkey
-: block:init
- -1 blk1 !
- 0 blk1-dirty !
-;
-
-: update -1 blk1-dirty ! ;
-: updated? ( u -- f )
- blk1 @ = if
- blk1-dirty @
- else
- 0
- then
-;
-
-\ reloads the block only if the blocknumber differs
-: block ( u -- a-addr )
- dup blk1 @ = if drop else
- blk1 @ updated? if
- blk1-buffer blk1 @ save-buffer
- then
- blk1-buffer swap dup blk1 ! load-buffer
- 0 blk1-dirty !
- then
- blk1-buffer
-;
-
-\ a buffer is an un-initialized block.
-: buffer ( u -- a-addr ) block ;
-
-: save-buffers
- blk1 @ updated? if
- blk1-buffer blk1 @ save-buffer
- then
- 0 blk1-dirty !
-;
-
-: empty-buffers
- -1 blk1 !
- 0 blk1-dirty !
-;
-
-: flush save-buffers empty-buffers ;
-
diff --git a/amforth-6.5/common/lib/forth2012/blocks/list-dump.frt b/amforth-6.5/common/lib/forth2012/blocks/list-dump.frt
deleted file mode 100644
index 28a0df7..0000000
--- a/amforth-6.5/common/lib/forth2012/blocks/list-dump.frt
+++ /dev/null
@@ -1,10 +0,0 @@
-
-\ a trivial list in hexdump format
-#require dump.frt
-
-: list
- dup scr !
- buffer blocksize dump
- scr @ updated? 0= if ." not " then ." modified" cr
-;
-
diff --git a/amforth-6.5/common/lib/forth2012/blocks/list.frt b/amforth-6.5/common/lib/forth2012/blocks/list.frt
deleted file mode 100644
index 2520aeb..0000000
--- a/amforth-6.5/common/lib/forth2012/blocks/list.frt
+++ /dev/null
@@ -1,24 +0,0 @@
-
-\ a list in text format. not suitable
-\ for binary data!
-
-\ #16 constant #lines
-\ #64 constant #cols
-
- #8 constant #lines
-#64 constant #cols
-
-: list ( blk -- ) \ list selected screen
- dup scr !
- dup cr ." Listing of screen (" .
- dup updated? if ." not " then ." modified)" cr
- buffer
- #lines 0
- do
- cr i 0 <# [char] : hold # # #> type space
- dup i #cols * +
- #cols type
- [char] | emit
- loop
- cr
- ;
diff --git a/amforth-6.5/common/lib/forth2012/blocks/load.frt b/amforth-6.5/common/lib/forth2012/blocks/load.frt
deleted file mode 100644
index 55cd14b..0000000
--- a/amforth-6.5/common/lib/forth2012/blocks/load.frt
+++ /dev/null
@@ -1,20 +0,0 @@
-\ load a block and evaluate its content
-\
-: source-block1
- blk1-buffer blocksize
-;
-
-: load ( i*x n -- j*y )
- ['] source defer@ >r >in @ >r
- 0 >in !
- buffer drop
- ['] source-block1 is source
- ['] interpret catch
- r> >in ! r> is source
- throw
-;
-
-
-: thru ( i*x n1 n2 -- j*y )
- 1+ swap ?do i load loop
-;