# HG changeset patch # User Robert McIntyre # Date 1332030338 18000 # Node ID 5e4feb77f2d8460175cc8c647aee7724cd61b683 # Parent 203d64e161564507845edff0ee38b6a392be23a0 removed literal 0xFFs from assembly code since they interfere with the item-list. diff -r 203d64e16156 -r 5e4feb77f2d8 clojure/com/aurellem/assembly.clj --- a/clojure/com/aurellem/assembly.clj Sat Mar 17 19:18:01 2012 -0500 +++ b/clojure/com/aurellem/assembly.clj Sat Mar 17 19:25:38 2012 -0500 @@ -563,19 +563,20 @@ (defn write-memory-assembly [] - [ + [ ;; Main Timing Loop ;; Constantly check for v-blank and Trigger main state machine on ;; every transtion from v-blank to non-v-blank. - + 0x18 ; D31D ; Variable declaration 0x02 ; D31E 0x00 ; D31F ; frame-count 0x00 ; D320 ; v-blank-prev + + 0xF0 ; D321 ; load v-blank mode flags into A + 0x41 + 0x00 - 0xFA ; D321 ; load v-blank mode flags into A - 0x41 ; D322 - 0xFF ; D323 ;; Branch dependent on v-blank. v-blank happens when the last two ;; bits in A are "01" @@ -668,16 +669,16 @@ 0x50 ;D354 --> 0xD3 ;D355 --> D350 - 0xEA ;D356 ; load (A), which is + 0xE0 ;D356 ; load (A), which is 0x00 ;D357 --> ; 00010000, into FF00 - 0xFF ;D358 --> FF00 + 0x00 ;D358 --> FF00 ;; NO-OP 0x06 ;D359 ;D35A (Integer/parseInt "11110000" 2) ; "11110000" -> B - 0xFA ;D35B ; (FF00) -> A + 0xF0 ;D35B ; (FF00) -> A 0x00 ;D35C - 0xFF ;D35D + 0x00 ;D35D ;; NO-OP 0xCB ;D35E ; swap nybbles on A 0x37 ;D35F @@ -690,17 +691,17 @@ 0x51 ;D363 --> 0xD3 ;D364 --> D351 - 0xEA ;D365 ; load (A), which is + 0xE0 ;D365 ; load (A), which is 0x00 ;D366 --> ; 00001000, into FF00 - 0xFF ;D367 --> FF00 + 0x00 ;D367 --> FF00 ;; NO-OP 0x0E ;D368 ;D369 (Integer/parseInt "00001111" 2) ; "00001111" -> C - 0xFA ;D36A ; (FF00) -> A + 0xF0 ;D36A ; (FF00) -> A 0x00 ;D36B - 0xFF ;D36C + 0x00 ;D36C 0xA1 ;D36D ; (AND A C) -> A 0x4F ;D36E ; A -> C