view clojure/com/aurellem/run/choreo.clj @ 540:7f8030812ac2

allow path back to bootstrap program from image-kernel.
author Robert McIntyre <rlm@mit.edu>
date Mon, 25 Jun 2012 15:08:52 -0500
parents a64485223afa
children
line wrap: on
line source
1 (ns com.aurellem.run.choreo
2 (:use (com.aurellem.gb saves gb-driver util constants
3 items vbm characters money
4 rlm-assembly))
5 (:use (com.aurellem.run util music title save-corruption
6 bootstrap-0 bootstrap-1 image
7 ram-display))
8 (:require clojure.string)
9 (:import [com.aurellem.gb.gb_driver SaveState])
10 (:import java.io.File))
14 ;; take over game
15 ;; [X] silence noise
16 ;; [ ] run picture program to display pinkie pie mark
17 ;; [ ] play pony song
20 (defn-memo silence-noise
21 ([] (silence-noise (launch-main-bootstrap-program)))
22 ([script]
23 (->> script
24 (write-RAM 0xFF1A [0 0 0]))))
26 (def program-target 0xC000)
28 (defn-memo write-pony-music-data
29 ([] (write-pony-music-data (silence-noise)))
30 ([script]
31 (let [bytes (midi-bytes pony-csv)]
32 (->> script
33 (write-RAM (:address (:voice-1 bytes))
34 (:data (:voice-1 bytes)))
35 (write-RAM (:address (:voice-2 bytes))
36 (:data (:voice-2 bytes)))
37 (write-RAM (:address (:noise bytes))
38 (:data (:noise bytes)))
39 (write-RAM (:address (:kernel bytes))
40 (:data (:kernel bytes)))))))
42 (defn-memo write-image-display-program
43 ([] (write-image-display-program (write-pony-music-data)))
44 ([script]