anchor.diff:    (0 8 #x10 0)
     (8 8 #x11 0))
   
  +(defsprite (sage f 1)
  +  (0 0 #x00 1)
  +  (8 0 #x01 1)
  +  (8 8 #x10 0 :fliph)
  +  (0 8 #x11 0 :fliph))
  +
   (defsprite (wiz f 0)
     (0 0 #x02 0)
     (8 0 #x03 0)
  
positive.code: 
  (write-ines "/tmp/sprite1.nes"
              (link *context*)
              :chr (concatenate 'vector
                                (ichr:encode-chr (ichr:read-gif (asset-path "bg0.gif")))
                                (ichr:encode-chr (ichr:read-gif (asset-path "spr0.gif")))))
  
negative.code:   ;; Main loop - wait for vblank, reset PPU registers, do sprite DMA.
    (with-label :loop
      ;; FIXME: sprite chr table address behaving backward vs what I expect..
      (poke #b10010000 *shadow-cr1*)
      (poke #b00011100 *shadow-cr2*)
      (poke 0 *shadow-scroll-x*)
      (poke 0 *shadow-scroll-y*)
  
      (jsr 'reset-sprites)
      (poke 40 *sprite-y*)
  
      (poke 20 *sprite-x*)
      (jsr '(wiz f 0))
  
      (poke 40 *sprite-x*)
      (jsr '(sage f 0))
  
      (poke 80 *sprite-x*)
      (jsr '(wiz f 0))
  
      (poke 100 *sprite-x*)
      (jsr '(sage f 0))
  
  
      (poke 60 *sprite-y*)
  
      (poke 20 *sprite-x*)
      (jsr '(wiz f 0))
  
      (poke 40 *sprite-x*)
      (jsr '(sage f 0))
  
      (poke 80 *sprite-x*)
      (jsr '(wiz f 0))
  
      (poke 100 *sprite-x*)
      (lda (imm 16))
      (bita *frame-counter*)
      (asif :zero
       (jsr '(sage f 0))
       :else
       (jsr '(sage f 1)))
  
      ;; (poke 120 *sprite-x*)
      ;; (jsr '(wiz f 0))
  
  
  
      ;; (poke 80 *sprite-y*)
  
      ;; (poke 20 *sprite-x*)
      ;; (jsr '(wiz f 0))
  
      ;; (poke 40 *sprite-x*)
      ;; (jsr '(sage f 0))
  
      ;; (poke 80 *sprite-x*)
      ;; (jsr '(wiz f 0))
  
      ;; (poke 100 *sprite-x*)
      ;; (jsr '(sage f 0))
  
      ;; (poke 120 *sprite-x*)
      ;; (jsr '(wiz f 0))
  
      ;; (poke 140 *sprite-x*)
      ;; (jsr '(wiz f 0))
  
      ;; (poke 160 *sprite-x*)
      ;; (jsr '(wiz f 0))
  
      ;; (poke 180 *sprite-x*)
      ;; (jsr '(wiz f 0))
  
      (jsr 'end-frame)
  
  