about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2015-01-24 23:08:09 -0800
committerKartik K. Agaram <vc@akkartik.com>2015-01-24 23:08:09 -0800
commit845a989f585ab2d06b31094c488cf50b08f75d25 (patch)
tree7fece91d493e054ddc7dd655ccbd5ab59c54cd8f
parent812b5393556341740307ba29b7538cd9e56f7a47 (diff)
downloadmu-845a989f585ab2d06b31094c488cf50b08f75d25.tar.gz
611 - all tests passing again
-rw-r--r--chessboard-cursor.arc.t8
-rw-r--r--chessboard-cursor.mu16
2 files changed, 9 insertions, 15 deletions
diff --git a/chessboard-cursor.arc.t b/chessboard-cursor.arc.t
index 408be3d0..e089a52d 100644
--- a/chessboard-cursor.arc.t
+++ b/chessboard-cursor.arc.t
@@ -7,9 +7,7 @@
   '((function! main [
       (default-space:space-address <- new space:literal 30:literal/capacity)
       (stdin:channel-address <- init-channel 1:literal)
-      (screen:terminal-address <- init-fake-terminal 20:literal 10:literal)
-      (2:string-address/raw <- get screen:terminal-address/deref data:offset)
-      (r:integer/routine <- fork read-move:fn nil:literal/globals 2000:literal/limit stdin:channel-address screen:terminal-address)
+      (r:integer/routine <- fork read-move:fn nil:literal/globals 2000:literal/limit stdin:channel-address)
       (c:character <- copy ((#\a literal)))
       (x:tagged-value <- save-type c:character)
       (stdin:channel-address/deref <- write stdin:channel-address x:tagged-value)
@@ -37,8 +35,8 @@
     (prn "error - " it)))
 (when (~ran-to-completion 'read-move)
   (prn "F - chessboard accepts legal moves (<rank><file>-<rank><file>)"))
-(when (~memory-contains-array memory*.2 "a2-a4")
-  (prn "F - chessboard prints moves read from keyboard"))
+; todo: we can't test that keys pressed are printed to screen
+; but that's at a lower level
 ;? (quit)
 
 (reset)
diff --git a/chessboard-cursor.mu b/chessboard-cursor.mu
index 3f593fbe..2b13e8c9 100644
--- a/chessboard-cursor.mu
+++ b/chessboard-cursor.mu
@@ -98,16 +98,15 @@
 (function read-move [
   (default-space:space-address <- new space:literal 30:literal)
   (stdin:channel-address <- next-input)
-  (screen:terminal-address <- next-input)
-  (from-file:integer <- read-file stdin:channel-address screen:terminal-address)
+  (from-file:integer <- read-file stdin:channel-address)
   { begin
     (break-if from-file:integer)
     (reply nil:literal)
   }
-  (from-rank:integer <- read-rank stdin:channel-address screen:terminal-address)
-  (expect-stdin stdin:channel-address screen:terminal-address ((#\- literal)))
-  (to-file:integer <- read-file stdin:channel-address screen:terminal-address)
-  (to-rank:integer <- read-rank stdin:channel-address screen:terminal-address)
+  (from-rank:integer <- read-rank stdin:channel-address)
+  (expect-stdin stdin:channel-address ((#\- literal)))
+  (to-file:integer <- read-file stdin:channel-address)
+  (to-rank:integer <- read-rank stdin:channel-address)
   ; construct the move object
   (result:move-address <- new move:literal)
   (f:integer-integer-pair-address <- get-address result:move-address/deref from:offset)
@@ -127,7 +126,6 @@
 (function read-file [
   (default-space:space-address <- new space:literal 30:literal)
   (stdin:channel-address <- next-input)
-  (screen:terminal-address <- next-input)
   (x:tagged-value stdin:channel-address/deref <- read stdin:channel-address)
   (a:character <- copy ((#\a literal)))
   (file-base:integer <- character-to-integer a:character)
@@ -150,7 +148,6 @@
 (function read-rank [
   (default-space:space-address <- new space:literal 30:literal)
   (stdin:channel-address <- next-input)
-  (screen:terminal-address <- next-input)
   (x:tagged-value stdin:channel-address/deref <- read stdin:channel-address)
   (c:character <- maybe-coerce x:tagged-value character:literal)
   { begin
@@ -173,7 +170,6 @@
 (function expect-stdin [
   (default-space:space-address <- new space:literal 30:literal)
   (stdin:channel-address <- next-input)
-  (screen:terminal-address <- next-input)
   ; slurp hyphen
   (x:tagged-value stdin:channel-address/deref <- read stdin:channel-address)
   (c:character <- maybe-coerce x:tagged-value character:literal)
@@ -229,7 +225,7 @@
     (print-primitive-to-host (("Hit 'q' to exit." literal)))
     (cursor-to-next-line nil:literal/terminal)
     (print-primitive-to-host (("move: " literal)))
-    (m:move-address <- read-move stdin:channel-address nil:literal/terminal)
+    (m:move-address <- read-move stdin:channel-address)
     (break-unless m:move-address)
     (b:board-address <- make-move b:board-address m:move-address)
     (loop)