rlm@521: (ns com.aurellem.run.choreo rlm@521: (:use (com.aurellem.gb saves gb-driver util constants rlm@521: items vbm characters money rlm@521: rlm-assembly)) rlm@521: (:use (com.aurellem.run util music title save-corruption rlm@521: bootstrap-0 bootstrap-1 image)) rlm@521: (:require clojure.string) rlm@521: (:import [com.aurellem.gb.gb_driver SaveState]) rlm@521: (:import java.io.File)) rlm@521: rlm@521: rlm@535: rlm@535: ;; take over game rlm@535: ;; [X] silence noise rlm@535: ;; [ ] construct writing/playing kernel rlm@535: ;; [ ] play pony song while writing picture-program rlm@535: ;; [ ] run picture program to display pinkie pie mark rlm@535: rlm@535: rlm@535: rlm@535: (defn-memo silence-noise rlm@535: ([] (silence-noise (launch-main-bootstrap-program))) rlm@535: ([script] rlm@535: (->> script rlm@535: (write-RAM 0xFF1A [0 0 0])))) rlm@535: rlm@535: rlm@535: (defn-memo write-pony-music-data rlm@535: ([] (write-pony-music-data (silence-noise))) rlm@535: ([script] rlm@536: (let [bytes (midi-bytes pony-csv)] rlm@536: (->> script rlm@536: (write-RAM (:address (:voice-1 bytes)) rlm@536: (:data (:voice-1 bytes))) rlm@535: rlm@536: (write-RAM (:address (:voice-2 bytes)) rlm@536: (:data (:voice-2 bytes))) rlm@535: rlm@536: (write-RAM (:address (:noise bytes)) rlm@536: (:data (:noise bytes))) rlm@535: rlm@536: (write-RAM (:address (:kernel bytes)) rlm@536: (:data (:kernel bytes))) rlm@536: rlm@536: (transfer-control (:address (:kernel bytes))))))) rlm@536: rlm@536: rlm@536: