comparison clojure/com/aurellem/run/choreo.clj @ 537:04f61ade7879

allow repositioning of music data.
author Robert McIntyre <rlm@mit.edu>
date Mon, 25 Jun 2012 14:50:28 -0500
parents c2ee7222a3c4
children 3ebd321f198e
comparison
equal deleted inserted replaced
536:c2ee7222a3c4 537:04f61ade7879
1 (ns com.aurellem.run.choreo 1 (ns com.aurellem.run.choreo
2 (:use (com.aurellem.gb saves gb-driver util constants 2 (:use (com.aurellem.gb saves gb-driver util constants
3 items vbm characters money 3 items vbm characters money
4 rlm-assembly)) 4 rlm-assembly))
5 (:use (com.aurellem.run util music title save-corruption 5 (:use (com.aurellem.run util music title save-corruption
6 bootstrap-0 bootstrap-1 image)) 6 bootstrap-0 bootstrap-1 image
7 ram-display))
7 (:require clojure.string) 8 (:require clojure.string)
8 (:import [com.aurellem.gb.gb_driver SaveState]) 9 (:import [com.aurellem.gb.gb_driver SaveState])
9 (:import java.io.File)) 10 (:import java.io.File))
10 11
11 12
24 (->> script 25 (->> script
25 (write-RAM 0xFF1A [0 0 0])))) 26 (write-RAM 0xFF1A [0 0 0]))))
26 27
27 28
28 (defn-memo write-pony-music-data 29 (defn-memo write-pony-music-data
29 ([] (write-pony-music-data (silence-noise))) 30 ([] (write-pony-music-data (launch-main-bootstrap-program)))
30 ([script] 31 ([script]
31 (let [bytes (midi-bytes pony-csv)] 32 (let [bytes (midi-bytes pony-csv)]
32 (->> script 33 (->> script
34 (do-nothing 10)
33 (write-RAM (:address (:voice-1 bytes)) 35 (write-RAM (:address (:voice-1 bytes))
34 (:data (:voice-1 bytes))) 36 (:data (:voice-1 bytes)))
35 37
38 (do-nothing 100)
36 (write-RAM (:address (:voice-2 bytes)) 39 (write-RAM (:address (:voice-2 bytes))
37 (:data (:voice-2 bytes))) 40 (:data (:voice-2 bytes)))
38 41
42 (do-nothing 100)
39 (write-RAM (:address (:noise bytes)) 43 (write-RAM (:address (:noise bytes))
40 (:data (:noise bytes))) 44 (:data (:noise bytes)))
41 45
46 (do-nothing 100)
42 (write-RAM (:address (:kernel bytes)) 47 (write-RAM (:address (:kernel bytes))
43 (:data (:kernel bytes))) 48 (:data (:kernel bytes)))
44
45 (transfer-control (:address (:kernel bytes))))))) 49 (transfer-control (:address (:kernel bytes)))))))
46 50
47 51
48 52