anchor.diff:         (table-x      #x0200)
          (table-y      #x0240)
          (countdown   (zp #x58))
  +       (wave        (zp #x59))
  +       (wt-lsb      (zp #x60))
  +       (wt-msb      (zp #x61))
  +       (wt-get      (indi #x60))
          (fill-count  (zp #x91))
          (scroll-x    (zp #x92))
          (phase       (zp #x93))
          (ntaddr      (zp #x95))
  +       (top-ntaddr  (zp #x97))
          (vblank-flag (zp #x96)))         ; Set by NMI handler.
   
     (emit music)
  
positive.code:     (clc)                             ; Update scroll-x by rate-pattern
      (adc (abx 'rate-pattern))         ; Add. Use the carry-out below!
      (sta scroll-x)
      (sta (mem +vram-scroll+))         ; Set scroll registers
      (lda ntaddr)                      ; Carry into ntaddr
      (adc (imm 0))                     ; ** Carry in from ADC above. **
      (anda (imm 1))                    ; Carry toggles $2000/$2400
      (sta ntaddr)
      (ora (imm #b10001000))            ; NMI on, BG Pattern table $0000
      (sta (mem +ppu-cr1+))
      (poke #b00011110 +ppu-cr2+)       ; BG and sprites on.
      (lda (imm 0))
      (sta (mem +vram-scroll+))
      ;; Switch pattern tables mid-frame:
      (emit-delay (+ (* 114 143) -15))
      (lda ntaddr)
      (ora (imm #b10011000))            ; NMI on, BG Pattern table $1000
      (sta (mem +ppu-cr1+))
  
      (jsr music-step)
  
      (rts))
  
    ;; This table controls the scrolling.
    (with-label rate-pattern
      (let* ((tr '(1 0 1 0 1 0 1 0 0 1 0 0 1 0 0 0 1))
             (pattern (subseq
                       (append (loop repeat (- 128 (reduce '+ tr))
  
negative.code:         (repeat 3
           (repeat 128 split-by-4)
           (repeat 128 linearly))
          ;; Compare/contrast:
          (repeat 2
           (repeat 128
                   (jsr 'spin-apart)
                   (jsr 'linearly))
           (repeat 128 linearly)
           (repeat 128 split-by-4)
           (repeat 128 linearly))
          (repeat 64 split-by-4)
          (repeat 96 linearly)
          ;; Change it up.
          (repeat 256 spin-apart)
          (repeat 96 linearly)
          ;; A little more intense..
  