diff clojure/com/aurellem/vbm.clj @ 87:e8855121f413

collect cruft, rename other files
author Robert McIntyre <rlm@mit.edu>
date Sat, 10 Mar 2012 14:48:17 -0600
parents 8a895ed4c0f9
children 65c2854c5875
line wrap: on
line diff
     1.1 --- a/clojure/com/aurellem/vbm.clj	Sat Mar 10 14:24:10 2012 -0600
     1.2 +++ b/clojure/com/aurellem/vbm.clj	Sat Mar 10 14:48:17 2012 -0600
     1.3 @@ -3,6 +3,15 @@
     1.4    (:import org.apache.commons.io.FileUtils)
     1.5    (:use com.aurellem.gb-driver))
     1.6  
     1.7 +(defn buttons [mask]
     1.8 +  (loop [buttons []
     1.9 +         masks (seq (dissoc button-code :listen))]
    1.10 +    (if (empty? masks) buttons
    1.11 +        (let [[button value] (first masks)]
    1.12 +          (if (not= 0x0000 (bit-and value mask))
    1.13 +            (recur (conj buttons button) (rest masks))
    1.14 +            (recur buttons (rest masks)))))))
    1.15 +
    1.16  (defn vbm-bytes [#^File vbm]
    1.17    (let [bytes (FileUtils/readFileToByteArray vbm)
    1.18          ints (int-array (count bytes))]
    1.19 @@ -35,7 +44,7 @@
    1.20    (map buttons (vbm-masks vbm)))
    1.21    
    1.22  (defn play-vbm [#^File vbm]
    1.23 -  (reset)
    1.24 +  (restart!)
    1.25    (dorun (map step (vbm-masks vbm))))
    1.26  
    1.27  (defn convert-buttons