


(defun foobar (&aux temp)
  (dotimes (md-boxed 2.)
    (dotimes (vma-boxed 2.)
      (dotimes (trans-type 4.)
	(dotimes (trans-mode 4.)
	  (dotimes (datatype 64.)
	    ;(setq data (logand #x0f (+ md-boxed vma-boxed trans-type trans-mode datatype)))
	    (setq temp (k-read-transporter-ram vma-boxed md-boxed trans-type trans-mode datatype))
	    (format t "~x" temp)
;	    (when (not (equal temp data))
;	      (k-diag-error "Test56b - Transporter address"
;			    (logior
;			      (ash vma-boxed 11.)
;			      (ash md-boxed 10.)
;			      (ash trans-type 8.)
;			      (ash trans-mode 6.)
;			      datatype)
;			    data temp))
	    ))))))

(defun foo1 (&aux temp)
  (k-execute kih-load-transporter 0)
  (k-execute kih-load-mctl 0)
  (k-execute kih-load-md 0)
  (k-execute kih-load-vma 0)
  (k-execute3 kih-jump #x100)
  (k-execute3 kih-alu-nop kil-read-gc-rams)
  (setq temp (ldb (byte 4. 4.) (k-read-spy-mmfio)))
  (when (not (equal temp 0))
    (fsignal "foo")))


(defun k-read-test ()
 ;  (k-address-transporter-ram vma-boxed md-boxed trans-type trans-mode datatype)
  (k-execute3 kih-alu-nop kil-read-gc-rams)
  (ldb k-hw:%%transporter-ram-bus-offset (k-read-spy-mmfio)))

(defun k-write-test (data)
 ;  (k-address-transporter-ram vma-boxed md-boxed trans-type trans-mode datatype)
  (k-execute2 kih-load-transporter (dpb data hw:%%transporter-ram-bus-offset 0))
  (k-execute4 kih-jump #X100))


(defun k-foo (&aux temp)
  "Simple G0 left//right register test."
  (format t "Starting Test 2 - G0 left//right register test.~%")
  (k-init)

    (k-execute2 KIH-LOAD-G0 (ash 1. 0))		; write G0
    (k-execute2 KIH-NOP 0.)			; avoid passaround
    (k-execute KIH-ALU-NOP KIL-READL-G0)	; read G0 left
    (k-execute KIH-ALU-NOP KIL-READR-G0)	; read G0 right
    (k-execute KIH-NOP 0.)			; wait for pipeline
    (setq temp (k-read-spy-mmfio))
    (when (not (equal (ash 1. 0) temp))
      (k-diag-error "TEST-2 G0 Left " nil (ash 1. 0) temp))
    )


(defun k-bar (&aux temp)
  "Simple G0 left//right register test."
  (format t "Starting Test 2 - G0 left//right register test.~%")
  ;(k-init)

;    (k-execute2 KIH-LOAD-G0 (ash 1. 0))		; write G0
;    (fsignal "1")
;    (k-execute2 KIH-NOP 0.)			; avoid passaround
;    (fsignal "2")
    (k-execute KIH-ALU-NOP KIL-READL-G0)	; read G0 left
    (fsignal "3")
    (k-execute KIH-ALU-NOP KIL-READR-G0)	; read G0 right
    (fsignal "4")
    (k-execute KIH-NOP 0.)			; wait for pipeline
    (fsignal "5")
    (setq temp (k-read-spy-mmfio))
    (when (not (equal (ash 1. 0) temp))
      (k-diag-error "TEST-2 G0 Left " nil (ash 1. 0) temp))
    )


(defun k-foobar (&aux temp)
  "Simple G0 left//right register test."
  (do-forever
  (k-init)

    (k-execute2 KIH-LOAD-G0 (ash 1. 0))		; write G0
    (k-execute2 KIH-NOP 0.)			; avoid passaround
    (k-execute KIH-ALU-NOP KIL-READL-G0)	; read G0 left
    (k-execute KIH-ALU-NOP KIL-READR-G0)	; read G0 right
    (k-execute KIH-NOP 0.)			; wait for pipeline
    (setq temp (k-read-spy-mmfio))
 ;    (when (not (equal (ash 1. 0) temp))
 ;      (k-diag-error "TEST-2 G0 Left " nil (ash 1. 0) temp))
    ))

(defun read-k-regs ()
  (progn
    (k-read-mode)
    (k-read-spy-pc)
    (k-read-spy-mmfio)
    (k-read-hptr)
    (k-read-hram)				