# HG changeset patch # User Robert McIntyre # Date 1340654932 18000 # Node ID 7f8030812ac2392f49bd7fb3e4af43b1a432e298 # Parent a64485223afab938dfebceaee82ba312d9d79d49 allow path back to bootstrap program from image-kernel. diff -r a64485223afa -r 7f8030812ac2 clojure/com/aurellem/run/choreo.clj --- a/clojure/com/aurellem/run/choreo.clj Mon Jun 25 14:55:55 2012 -0500 +++ b/clojure/com/aurellem/run/choreo.clj Mon Jun 25 15:08:52 2012 -0500 @@ -13,9 +13,9 @@ ;; take over game ;; [X] silence noise -;; [ ] construct writing/playing kernel -;; [ ] play pony song while writing picture-program ;; [ ] run picture program to display pinkie pie mark +;; [ ] play pony song + (defn-memo silence-noise ([] (silence-noise (launch-main-bootstrap-program))) @@ -23,6 +23,8 @@ (->> script (write-RAM 0xFF1A [0 0 0])))) +(def program-target 0xC000) + (defn-memo write-pony-music-data ([] (write-pony-music-data (silence-noise))) ([script] @@ -35,8 +37,13 @@ (write-RAM (:address (:noise bytes)) (:data (:noise bytes))) (write-RAM (:address (:kernel bytes)) - (:data (:kernel bytes))) - (transfer-control (:address (:kernel bytes))))))) + (:data (:kernel bytes))))))) +(defn-memo write-image-display-program + ([] (write-image-display-program (write-pony-music-data))) + ([script] + + + diff -r a64485223afa -r 7f8030812ac2 clojure/com/aurellem/run/image.clj --- a/clojure/com/aurellem/run/image.clj Mon Jun 25 14:55:55 2012 -0500 +++ b/clojure/com/aurellem/run/image.clj Mon Jun 25 15:08:52 2012 -0500 @@ -664,8 +664,8 @@ "0" ;; OBJ-on flag "1") ;; no-effect 2)) + ] - (infinite-loop)] D (flatten D)] (concat A B C D))) @@ -675,6 +675,7 @@ (-> (tick (tick (tick (mid-game)))) (set-memory-range kernel-address - (display-image-kernel kernel-address image)) + (concat (display-image-kernel kernel-address image) + (infinite-loop))) (PC! kernel-address))))