anchor.diff:  ;;;; Sprite RAM/Object Attribute Memory (OAM)
   
   (declaim (inline read-oam))
  -(defmethod read-oam ((ppu ppu) addr)
  +(defun read-oam (ppu addr)
     (aref (ppu-oam ppu) addr))
   
  -(defmethod write-oam ((ppu ppu) val)
  +(defun write-oam (ppu val)
     (with-accessors ((addr ppu-oam-addr)) ppu
       (setf (aref (ppu-oam ppu) addr) val)
       (incf addr)))
  
positive.code:       :above
        :below))
  
  (defmethod on-scanline ((sprite sprite) (ppu ppu))
    (with-accessors ((scanline ppu-scanline)) ppu
      (if (< scanline (sprite-y sprite))
          nil
  
negative.code: ;;;; Colors
  
  (declaim (inline get-color))
  (defun get-color (ppu vram-index)
    (let* ((color-index (logand (read-vram ppu vram-index) #x3f))
           (base (* color-index 3))
           (red   (aref *color-palette* (+ 2 base)))
  