# HG changeset patch # User Dylan Holmes # Date 1332068005 18000 # Node ID ffeeabae7dcd281a47f3e56de059454480418ba6 # Parent eb6ba88088d344d8547c8861602749b8d7f977d8 minor tweaking; incremental results: 91 -> 58 diff -r eb6ba88088d3 -r ffeeabae7dcd clojure/com/aurellem/assembly.clj --- a/clojure/com/aurellem/assembly.clj Sun Mar 18 05:13:19 2012 -0500 +++ b/clojure/com/aurellem/assembly.clj Sun Mar 18 05:53:25 2012 -0500 @@ -492,13 +492,12 @@ -(defn write-memory-assembly* [] +(defn write-memory-assembly* + "Currently, grabs input from the user each frame." + [] [ ;; --------- FRAME METRONOME - - 0x18 ;; D31D - 0x01 - 0x00 ;; v-blank-prev D31F + 0x00 ;; v-blank-prev D31D 0xFA ;; load modes into A 0x41 @@ -513,7 +512,7 @@ 0x47 ;; now B_0 contains (VB==1) 0xFA ;; load v-blank-prev - 0x1F + 0x1D 0xD3 0x2F ;; complement v-blank-prev @@ -525,19 +524,18 @@ 0x78 ;; B->A 0xEA ;; spit A --> vbprev - 0x1F + 0x1D 0xD3 - 0x41 ;test C_0 - 0x20 ; nonzero jump - 0x04 - - 0xC3 ; ; go back to beginning - 0x1D ; - 0xD3 ; + 0xCB ;test C_0 + 0x41 + 0x20 ; JUMP ahead to button input if nonzero + 0x03 + 0x18 ; JUMP back to beginning + 0xE7 ;; -------- GET BUTTON INPUT - 0x00 ;; var: which-input D339 + 0x00 ;; var: which-input D336 ;; prepare to select bits 0x01 ;; load 0x0000 into BC @@ -548,7 +546,7 @@ 0x20 - 0xEA ;; load A into [FF00] ;; D33F (not D33C) + 0xEA ;; load A into [FF00] ;; D33D 0x00 0xFF @@ -563,7 +561,7 @@ 0xCB 0x41 ;; test bit 0 of C - 0x20 ;; jump forward if 1 + 0x20 ;; JUMP forward if 1 0x08 0x47 ;; A -> B @@ -576,11 +574,11 @@ 0xEB ;; now A contains the pressed keys - 0xEA ;; copy keys to input-number [D339] + 0xEA ;; copy keys to input-number [D336] 0x39 0xD3 - 0x18 ;; - 0xEB + 0x18 ;;JUMP back to "beginning" [D31E] + 0xC7 ] @@ -609,6 +607,9 @@ (tick) (tick) (tick) + (tick) ;; first loop + + (tick) (tick) (tick) @@ -621,11 +622,18 @@ (tick) (tick) (tick) + (tick) ;; dpad bits + (tick) (tick) - + (tick) + (tick) + (tick) + (tick) + (tick) + (tick) + (d-tick) - (d-tick) (view-register "A" A)