diff clojure/com/aurellem/run/adv_choreo.clj @ 570:a6dcb6236fbc

clear-screen complete
author Robert McIntyre <rlm@mit.edu>
date Sat, 01 Sep 2012 03:36:33 -0500
parents 3fcc395b76ef
children c6b01ff2f1e5
line wrap: on
line diff
     1.1 --- a/clojure/com/aurellem/run/adv_choreo.clj	Sat Sep 01 03:18:55 2012 -0500
     1.2 +++ b/clojure/com/aurellem/run/adv_choreo.clj	Sat Sep 01 03:36:33 2012 -0500
     1.3 @@ -198,8 +198,8 @@
     1.4  
     1.5                  ;; clear screen if we are at 0,0
     1.6                  0x57 0xB3 ;; D->A, OR E A ==> (= D E 0)
     1.7 -                0x20 ;; skip clear-screen if D and E are not both zero
     1.8 -                :clear-screen-length
     1.9 +                ;;0x20 ;; skip clear-screen if D and E are not both zero
    1.10 +                ;;:clear-screen-length
    1.11  
    1.12                  ])
    1.13                clear-screen
    1.14 @@ -207,6 +207,30 @@
    1.15                 [;; save all registers
    1.16                  0xC5 0xD5 0xE5 0xF5
    1.17  
    1.18 +                (select-LCD-bank 0)
    1.19 +                ;; write 0x00 to memory locations
    1.20 +                ;; 0x9800 to 0x9A34
    1.21 +                0x21
    1.22 +                0x00 0x98 ;; load 0x9800 into HL
    1.23 +
    1.24 +                
    1.25 +                0x16 3 ;; 3 -> D
    1.26 +                0x1E 190 ;; 188 -> E
    1.27 +
    1.28 +                0x3E 0 ;; 0-> A
    1.29 +
    1.30 +                ;; begin of do-while loop
    1.31 +                   0x22 ;; load 0 to 0x9800
    1.32 +                   0x1D ;; dec E
    1.33 +                   0x20
    1.34 +                   (->signed-8-bit -4)
    1.35 +                   0x15 ;; dec D
    1.36 +                   0x1E 190 ;; 188 -> E
    1.37 +                   0x20
    1.38 +                   (->signed-8-bit -8)
    1.39 +                ;; end of do-while-loop
    1.40 +                
    1.41 +                
    1.42                  ;; restore all registers
    1.43                  0xF1 0xE1 0xD1 0xC1
    1.44                  ])