about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2015-01-18 01:29:01 -0800
committerKartik K. Agaram <vc@akkartik.com>2015-01-18 01:29:01 -0800
commit9dc8507efbdd163be40dacdb66ff21dbb600537a (patch)
tree95a5acad36fc1512e44ba88aa6fc0470ce74537e
parent2647f8431d6bd757c3e3455739d44690f029123e (diff)
downloadmu-9dc8507efbdd163be40dacdb66ff21dbb600537a.tar.gz
587
-rw-r--r--chessboard-cursor.arc.t14
-rw-r--r--chessboard-cursor.mu1
2 files changed, 10 insertions, 5 deletions
diff --git a/chessboard-cursor.arc.t b/chessboard-cursor.arc.t
index f2571a50..384aa7c5 100644
--- a/chessboard-cursor.arc.t
+++ b/chessboard-cursor.arc.t
@@ -7,8 +7,9 @@
   '((function! main [
       (default-space:space-address <- new space:literal 30:literal/capacity)
       (1:channel-address/raw <- init-channel 1:literal)
-      (dummy:terminal-address <- init-fake-terminal 20:literal 10:literal)
-      (r:integer/routine <- fork read-move:fn nil:literal/globals 2000:literal/limit dummy:terminal-address)
+      (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 screen:terminal-address)
       (c:character <- copy ((#\a literal)))
       (x:tagged-value <- save-type c:character)
       (1:channel-address/raw/deref <- write 1:channel-address/raw x:tagged-value)
@@ -35,6 +36,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"))
 ;? (quit)
 
 (reset)
@@ -44,8 +47,9 @@
   '((function! main [
       (default-space:space-address <- new space:literal 30:literal/capacity)
       (1:channel-address/raw <- init-channel 1:literal)
-      (dummy:terminal-address <- init-fake-terminal 20:literal 10:literal)
-      (r:integer/routine <- fork-helper read-move:fn nil:literal/globals 2000:literal/limit dummy:terminal-address)
+      (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-helper read-move:fn nil:literal/globals 2000:literal/limit screen:terminal-address)
       (c:character <- copy ((#\a literal)))
       (x:tagged-value <- save-type c:character)
       (1:channel-address/raw/deref <- write 1:channel-address/raw x:tagged-value)
@@ -63,6 +67,8 @@
 (run 'main)
 (when (ran-to-completion 'read-move)
   (prn "F - chessboard hangs until 5 characters are entered"))
+(when (~memory-contains-array memory*.2 "a2-a")
+  (prn "F - chessboard prints keys from keyboard before entire move is read"))
 
 (reset)
 (new-trace "read-move-quit")
diff --git a/chessboard-cursor.mu b/chessboard-cursor.mu
index d64231af..c1aad3c6 100644
--- a/chessboard-cursor.mu
+++ b/chessboard-cursor.mu
@@ -239,7 +239,6 @@
 ])
 
 ; tests todo:
-;   print move
 ;   board updates on move
 ;   'q' exits on second move
 ;   flush stdout after printing out move and before clearing screen