anchor.diff:             (dma-virt (+ mezzano.supervisor::+physical-map-base+ dma-phys)))
         (setf (hda-corb/rirb/dmap hda) dma-virt
               (hda-corb/rirb/dmap-physical hda) dma-phys))
  +    (mezzano.supervisor:simple-irq-attach (hda-interrupt-handler hda))
       (initialize-corb hda)
       (initialize-rirb hda)
       (let ((dmap-address (logior (+ (hda-corb/rirb/dmap-physical hda) +dmap-offset+)
  
positive.code:     (setf sound-position buf-len)
      (multiple-value-bind (converter mixer)
          (output-path output-pin)
        (test hda buffer (cad output-pin) (nid converter) (nid output-pin) (and mixer (nid mixer))))
      (unwind-protect
           (loop
              ;; Wait for the dma position to move from the
  
negative.code:         (logand (sd-reg/32 hda stream-id +sdnctlsts+)
                  (lognot 2)))
    (setf (sd-reg/32 hda stream-id +sdnctlsts+) 1)
    (setf (sd-reg/32 hda stream-id +sdnctlsts+) 0)
    (setf (global-reg/32 hda +intctl+) 0))
  
  (defun stream-go (hda stream-id)
    ;; run, IoC enabled, stream number (tag) 1.
    (setf (sd-reg/32 hda stream-id +sdnctlsts+) #x00100006))
  
  (defun first-input-stream (hda)
    (declare (ignore hda))
  