anchor.diff:    (:method ((ppu ppu)) ;; TODO: Mirroring. Scrolling?
       (let* ((bd-index (logand (read-vram ppu #x3f00) #x3f))
              (bd-color (get-color bd-index)))
  -      (dotimes (x (getf *resolution* :width))
  +      (dotimes (x +width+)
           (let* ((bg-color (when (show-bg ppu)
                              (get-bg-pixel ppu x)))
                  (sprite-color (when (show-sprites ppu)
  
positive.code:     (+ (ash red 16) (ash green 8) blue)))
  
  (defun put-pixel (x y color)
    (let ((base (+ x (* y (getf *resolution* :width)))))
      (setf (aref *frame* (+ 0 (* 3 base))) (color-r color)
            (aref *frame* (+ 1 (* 3 base))) (color-g color)
            (aref *frame* (+ 2 (* 3 base))) (color-b color))))
  
negative.code:     (if (< scanline (sprite-y sprite))
          nil
          (ecase (sprite-size ppu)
            (8 (< scanline (+ (sprite-y sprite) 8)))
            (16 (< scanline (+ (sprite-y sprite) 16)))))))
  
  (defmethod in-bounding-box ((sprite sprite) ppu x &optional y)
    (declare (ignore y)) ; TODO: we're using scanline for y. don't panic.
  