# HG changeset patch # User Robert McIntyre # Date 1346490351 18000 # Node ID be6f46094ad0018f88e6de0b271f5a453773c84b # Parent 40f62391db9df25e25164d73dfd9941bcc3a1164 implemented video-memory pointer logic. diff -r 40f62391db9d -r be6f46094ad0 clojure/com/aurellem/run/adv_choreo.clj --- a/clojure/com/aurellem/run/adv_choreo.clj Sat Sep 01 03:56:30 2012 -0500 +++ b/clojure/com/aurellem/run/adv_choreo.clj Sat Sep 01 04:05:51 2012 -0500 @@ -253,10 +253,23 @@ set-HL-from-row-and-column [;; formula for memory offset is: ;; (+ 0x9800 (* 32 row) column) - 0xD5 + 0xD5 0xC5 ;; push D E B C - 0xD1 + 0x21 0x00 0x98 ;; load HL with 0x9800 + 0x01 32 00 ;; load 32 into BC + + ;; do + 0x09 ;; HL += 32 + 0x15 ;; dec D + ;; while D != 0 + 0x20 + (->signed-8-bit -4) + + 0x4B ;; E->C + 0x15 ;; add columns (E) to HL + + 0xC1 0xD1 ;; pop C B E D ]