LMFL#!C(:HOST "SYS" :BACKUP-DATE 2760032967. :SYSTEM-TYPE :LOGICAL :VERSION 25. :TYPE "LISP" :NAME "LOGIN-INIT" :DIRECTORY ("REL3-PUBLIC" "TEST") :SOURCE-PATTERN "( :DIRECTORY (\"REL3-PUBLIC\") :NAME :WILD :TYPE :WILD :VERSION :NEWEST)" :CHARACTERS T :NOT-BACKED-UP T :CREATION-DATE 2758140613. :AUTHOR "REL3" :LENGTH-IN-BYTES 9600. :LENGTH-IN-BLOCKS 10. :BYTE-SIZE 8.)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ;;; -*- Mode: Common-Lisp; Package: user; Base: 10.; Patch-File: T -*-;;; VERSION # (SEE NUMBER OF LAST MODIFICATION AND (DEFPARAMETER *VERSION * ??).;;; 1. set bases to hex. Printed verification of such during login. Globalized all references to BASE and IBASE in one call.;;; 2. made all references to READ-ENTIRE-DISK to default to t for flag "compare". Deleted toggling flag "compare";;; 3. renamed kill-gdos list-units;;; 4. defined (help) function to print list of available functions for use in testing.;;; 5. fixed formating of identify-memory-boards to always print 16 bit values.;;; 6. Commented out or deleted code never used?;;; 7. Added (help) function to print out names of special test functions and documentation.;;; 8. upped tv:black-screen-time-delay from 120 to 7200 minutes to prevent interaction with long batches;;; 9. changed output of new-compare-disk-partition and read-entire-disk to output stationary disk-addr;;; 10. changed cerror's to ferror in tsu tape-test tape-test-one-pass;;; 11. variable *test-errs* made global to limit screen printing for future functions;;; 12. ALL functions report BOTH logical disk addresses and head/cylinder/bytes-from-index address if errors occur;;; 13. took out (ferror in read-entire disk since it now does scroll off screen, we now print disk addr, etc.;;; 14. added looping to compare-disk-block;;; 15. fixed second unit in new-compare-disk-partition;;; 16. deleted print-nupi-status, deleted batch question "ok?";;; 17. added config-rom.lisp load and function call (serial-number);;; 18. Included (tape-write) in batchn.;;; 19. fixed test time printout in batchn;;; 20. added long disk reads to compare-disk-block;;; 21. added 'convert function to convert any base number to dec/octal/hex;;; 22. 1-10-86 fixed ferrors and added ferror to read-entire-disk;;;;     WARNING : changed fonts to KEEP CHAR PIXEL HEIGHT THE SAME FOR BOTH FONTS! MUST USE CPTFONT,CPTFONTB;;; 23. fixed batchn total test time printout;;; 24. guaranteed MORE flag off, made all 'loads quiet;;; 25. moved tape-write inside condition-if in batchn, made make-system silent, too;;; 26. MORE stuff did not work - discarded.;;;     Also fixed 'make-noise and 'batchn to 'clear-input first; shortened message, too.;;; 27. 2-10-86 New safe maximum of 100 for PAGES-IN-CHUNK arg in 'compare-disk-block as per Mark Coats discussion;;; 28. fixed bug in compare-disk-block and tape-write;;; 29. added backup and verify directory to tape testing code; modified tape-write tsu tape-test-one-pass, etc.;;; 30. changed tape-write to tape-partition-test;;; 31. 1. fixed tape problem in streamer-tape;mtstr.lisp which hard-codes tape unit to 6. Changed 'tape-file-test;;;     2. made login-init a compiled file for greater speed;;;     3. fixed vse to REALLY turn off retries ...;;;        changed data-length from 6 to 4 in 'turn-off-retries in lm:test.verify;scsi.lisp;;;     4. enhanced vse return values; added vse testing to ;;; 32. obsoleted 'media;;; 33. REL 2.1 MODIFICATIONS :;;;     a. Modified 'read-entire-disk to skip "comparing" on page bands since paging;;;        can possibly interfere. Reads are still done.;;;     b. Changed *end-of-disk* from 109800. to start-block of END partition;;;     c. Fixed endian bug in show-disk-sector ;;;     d. Added 'read-nupi-revision to read internal nupi rom revision;;;     e. Turned on gc in batches -> which call d-l;;;     f. Added nu.lisp functions wnu, rnu, and vnu;;;     g  Changed defvar's to defparameter's; changed ferror's to cerror's;;; 34. 10-14-86 fixed bug in gc-test;;; 35. added defsystem; added :compile keyword to load of verify-soft-error.;;;     Split login-init into two files : -> login-init : has run-time code; and -> system-test : has compiled code;;; 36. FIXED TYPO IN GC-TEST 10-22-86;;; 37. fixed batch timing printout. was not always correct when time turned over;;; 38. Changed "GC-TEST" so that it will execute 5 times every time it's called.  C. Storvick 2-3-87;;; 39. Added some code to print how many times the function D-L executes.  C. Storvick 2-9-87;;; 40. Added the monitor batch file. All code is located in the new subdirectory "lm:test.monitor;" This file modified also.;;;     Added two lines to load in the monitor files.;;; 41. Change the PRINT-NUPI-REVISION function to skip printing the internal NUPI revision letter if an MSC is installed.;;;     Also included the *monitor-version* variable so that on login time the monitor batch file revision is displayed.;;;     [SSH];;; 42. Changed batch4 to run 20 hours instead of 23. (4/30/87 SSH);;; 43. Changed cosmetic things in the monitor batch file. Switched to a smaller font for alphanumeric display and also ;;;     eliminated the documentation line on the display of video patterns. Added the utility (clean-test-files) which;;;     goes out and cleans the whole test directory from duplicate files. Leaves the latest two versions only.;;;     (5/13/87 SSH);;; 44. Monitor *monitor-version* changes to 4. here.;;;     Changed obsoleted functions to make it compatible with 3.0 software.;;;     References to ar-1 were changed to aref.;;;     References to prog were changed to progn.;;;     References to terminal-io were changed to *terminal-io*.;;;     Removed references to the unsupported demo stuff.;;;     Local copy of tv:doorbell was made. The old and new versions were incompatible.;;;     mouse-key-2, mouse-motion-2, sound-2, voice-2 had to be modified.;;;     The event register file is set to 0 by 3.0 code. Had to use my own event address. (SSH 5/19/87);;; 45. After loss-sync, the master menu window appeared on powering up the monitor. Fixed up loss-sync to take care of that.;;;     Waiting till monitor is powered up and then do the appropriate resetting of keyboard, mouse and sound.;;;     Also all video batches use the "return-key" function which was modified to clear the keyboard hardware buffer each;;;     time is invoked. ;;;     Also modified print-size-if-mem to recognize 32MB boards for Explorer II. (SSH 5/26/87);;; 46. Monitor batch version changes to 6. Put a tv:with-mouse-usurped around the monitor batch file to get rid of ;;;     system windows popping up especially during the lost-sync test.(DEFPARAMETER *version* 46.)(DEFPARAMETER *monitor-version* 6.)(defparameter *bytes-in-page* 1024.)(defparameter *bytes-in-page-1* 1023.)(defparameter *old-font-map* (SEND *terminal-io* :font-map))(defparameter *new-font-list* (list fonts:cptfontb))(defparameter *test-errs* 5); max number of errors reported before test functions give up; each function should stop a batch with any error, though(defparameter it-is-3-point-0 nil); If nil, then we are in 2.x; else we are in 3.x(if (equalp (si:local-binary-file-type) ':xld)(setq it-is-3-point-0 t)(setq it-is-3-point-0 nil))(SEND *terminal-io* :clear-screen)(SEND *terminal-io* :set-font-map *new-font-list*)(format t "~% TEST SOFTWARE VERSION ~d Login File VERSION ~d Monitor Batch Version ~d ~%"*version* (pathname-version (truename "lm:test;login-init.lisp#>")) *monitor-version*)(send *terminal-io* :set-font-map *old-font-map*)(LET ((si:inhibit-fdefine-warnings t))  (load "lm:test;defsystem" :verbose nil)  (make-system 'system-test :noconfirm :silent :compile)  ) (base 10.) ; set up all testing with hex values. THIS FILE MUST CONTAIN EXPLICITLY ENUMERATED NUMBERS NOW !!!(SEND *terminal-io* :set-font-map *new-font-list*)(format t "~% VERIFY THAT FUNCTION (si:report-last-shutdown) NOW DISPLAYS A CRASH RECORD. ")(send *terminal-io* :set-font-map *old-font-map*)(si:report-last-shutdown)(format t "~%")(if it-is-3-point-0    (load "lm:test;config-rom.xld" :verbose nil)    (load "lm:test;config-rom.xfasl" :verbose nil))(SEND *terminal-io* :set-font-map *new-font-list*)(format t "~% VERIFY THAT FUNCTION (serial-number) SHOWS ALL ASSEMBLIES ARE PRESENT AND UP-TO-DATE~%")(send *terminal-io* :set-font-map *old-font-map*)(serial-number)(print-nupi-revision)(SEND *terminal-io* :set-font-map *new-font-list*)(format t "~% PLEASE TURN MONITOR SCREEN TO LOW INTENSITY TO PROTECT THE VIDEO SCREEN WHEN YOU LEAVE.")(SETq TV:BLACK-SCREEN-TIME-DELAY (* 60. 24. 10.))(FORMAT T "~% WARNING: DEBUGGER WILL PRINT IN OCTAL. USE FUNCTION 'CONVERT TO CONVERT TO DECIMAL.")(format t "~% TYPE (help) FOR A LIST OF FUNCTIONS TO USE.~%")(send *terminal-io* :set-font-map *old-font-map*)(si:initialize-disk-system)(SEND *terminal-io* :set-font-map *new-font-list*)(format t "~% Verify there are ~d disk units." (length (all-disk-units)))(format t "~% Verify there are ~d tape units.~%" (length (all-tape-units)))(send *terminal-io* :set-font-map *old-font-map*)(si:print-disk-type-table); (load "lm:test.verify;defsystem" :verbose nil); (make-system 'verify-soft-error :noconfirm :silent :compile);####################################################################; The following lines load the files relating to the monitor test.(LOAD "LM:test.monitor;defsystem" :verbose nil)        (MAKE-SYSTEM 'the-monitor :noconfirm :silent :compile) ; Make the SIB files.(login-monitor);####################################################################;Utility functions(DEFUN copy-to-master ()  "This function copies the latest test directory from the UT10 Explorer (SSHs Explorer) to UT11 (Chucks Explorer).This function is not of any use besides updating UT11 (file server) with the latest test directory file versions."  (fs:copy-directory "ut10:test;*.*" "ut11:test;*.*")  )ecksum. Returns t if any error is found."  (let ((errors nil)(sum 0)(romchar 0))    (setq error-char 0)    (print-slot-header slot)    (print-serial-number slot) ; may set error-char here    (print-rev-letter slot)        (if is-mem(or (print-size-if-mem slot) errors)) ; set errors flag if error occurrs        (if (not (zerop error-char))         (format t "~%    === ERROR : serial number char` ~c`, hex ~16R is invalid " error-char error-char))  ; checksum starts with week msd and ends with lsd of seq = 11 digits.  ; each digit is replaced with numeric weight y which is the index into   ; *barcode-array*. the check