[LMH] nevermore diags
Brad Parker
brad@heeltoe.com
Tue, 18 Oct 2005 07:28:54 -0400
ok, I think I finally figured out how to run diags with nevermore.
- I had to hack the partition table of my disk (c2-d0.dsk) to set the
diag bit in the EXPT entry. (see ssdn2/sectA.txt) I wrote a simple C
program to print the parition table and hack it with the "-m" option.
http://www.unlambda.com/download/nevermore/epart.c
- Each keyboard entry had to be made twice before continuing, i.e.
(nevermore::sib-keyboard-stuff-keypress #\M)
(nevermore::sib-keyboard-stuff-keypress #\M)
I'm using a stock SBCL but I had to find "asdf.lisp" on
the net and then compile it. Here's my simple startup
(load "../clisp/asdf.fasl")
(load "nevermore.asd")
(asdf:operate 'asdf:load-op :nevermore)
(in-package :nevermore)
(setf *rom-file-path* #p"/home/brad/lispm/Meroko/proms/")
(load-romfiles)
(setf *nupi-scsi0-0-disk-file* #p"../../Meroko/X1-DISKS/c0-d0-hacked.dsk")
(sib-init-character-recognizer)
(sib-init-keypress-stuffer)
(in-package :raven)
(microengine-initialize)
(microengine-step)
(microengine-run-to -1)
When it stops I enter the key twice and continue (i.e. hit "0"). It
does halt at one point so I do
(microengine-step)
(microengine-run-to -1)
which shows it's halting at 40, which is to be expected.
I used the sequence "MADA" to get the diags loaded.
And, I got tired of the huge screenshots and hacked this
(defun sib-text-nonblankline (y)
(dotimes (x 70)
(if (not (eq (sib-recognize-character x y) #\ ))
(return t))
nil))
(defun sib-text-short-screenshot ()
(let ((max (do ((y 60 (- y 1)))
((or (< y 0) (sib-text-nonblankline y)) y))))
(dotimes (y (1+ max))
(dotimes (x 70)
(format t "~A" (sib-recognize-character x y)))
(terpri))))
Now, if I could just figure out why the WCS parity is broken. Nevermore
doesn't calculate it but Meroko does and it fails there also.
-brad