anchor.diff:               (aref (rom-prg rom) (logand address (1- size))))
      :setter nil))
   
  -(defmapper mmc1 (:id 1 :slots ((regs :initform #(#x0c #x00 #x00 #x00)
  -                                     :accessor mapper-regs)
  +(defmapper mmc1 (:id 1 :slots ((ctrl-reg :initform #x0c :accessor mapper-ctrl)
  +                               (chr1-reg :initform #x00 :accessor mapper-chr1)
  +                               (chr2-reg :initform #x00 :accessor mapper-chr2)
  +                               (prg-bank :initform #x00 :accessor mapper-prg)
                                  (prg-ram :initform (bytevector #x2000)
                                           :accessor mapper-prg-ram)
                                  (chr-ram :initform (bytevector #x2000)
  
positive.code:              (setf (mapper-mask instance) 1))
             (when (plusp (getf (rom-metadata rom) :chr-size))
               (setf (ppu-pattern-table (nes-ppu *nes*)) (rom-chr rom))))
     :getter (let ((offset (logand address #x3fff)))
               'do-it) ; TODO
     :setter nil)) ; TODO
  
  (defmethod mirroring ((mapper mmc1))
    (let ((ctrl-reg (aref (mapper-regs mapper) 0)))
      (ecase (logand ctrl-reg 3)
        (0 :lower)
        (1 :upper)
        (2 :vertical)
        (3 :horizontal))))
  
  (defmethod prg-mode ((mapper mmc1))
    (let ((ctrl-reg (aref (mapper-regs mapper) 0)))
      (ecase (logand (ash ctrl-reg -2) 3)
        ((0 1) :switch32k)
        (2 :fix-first)
        (3 :fix-last))))
  
  (defmethod chr-mode ((mapper mmc1))
    (let ((ctrl-reg (aref (mapper-regs mapper) 0)))
      (if (zerop (logand (ash ctrl-reg -4)))
          :switch-8k
          :switch-4k)))
  
  (defmapper unrom (:id 2)
    (:getter nil :setter nil))
  
negative.code: ;; Mappers 0-4 cover ~74% of all existing NES titles.
  ;; Support them fully. NROM, MMC1, UNROM, CNROM, MMC3
  ;; Bigtime TENES methods: init, shutdown, read, write.
  ;; Also has scanline_start, scanline_end, save_state, restore_state.
  
  (defclass mapper () ((rom :initarg :rom :accessor mapper-rom)))
  
  