(FILECREATED "27-Oct-85 15:42:46" {ERIS}<LISPCORE>DOVE>DOVEEEPROM.;6 31866  

      changes to:  (VARS DOVEEEPROMCOMS DoveEEP.SysConfigCommands)
		   (RECORDS Dove.ConfFCB)
		   (FNS \DoveEEP.ReadEEProm \DoveEEP.Initialize)

      previous date: "27-Sep-85 03:56:16" {ERIS}<LISPCORE>DOVE>DOVEEEPROM.;5)


(* Copyright (c) 1985 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT DOVEEEPROMCOMS)

(RPAQQ DOVEEEPROMCOMS ((COMS (* Dove EEPROM configuration utility)
			       (DECLARE: DONTCOPY (EXPORT (CONSTANTS * DoveEEP.BitMappedDisplayTypes)
							  (CONSTANTS * DoveEEP.BootDevices)
							  (CONSTANTS * DoveEEP.DisplayTypes)
							  (CONSTANTS * DoveEEP.FloppyDiskTypes)
							  (CONSTANTS * DoveEEP.KeyboardTypes)
							  (CONSTANTS * 
								  DoveEEP.MainMemoryExpansionBits)
							  (CONSTANTS * DoveEEP.RigidDiskTypes)
							  (CONSTANTS * DoveEEP.SysConfigCommands)
							  (RECORDS Dove.EEProm Dove.RigidDiskType 
								   Dove.ConfFCB))
					 (FILES (LOADCOMP)
						DOVEMISC DOVEINPUTOUTPUT)))
	(COMS (* Internal functions)
	      (INITVARS (\DoveEEP.BootingFMSpec (QUOTE (((TYPE NCHOOSE LABEL "Default Boot Device: " 
							       ID BootDevice FONT (MODERN 10 BOLD)
							       ITEMS
							       (None Rigid% Disk Floppy% Disk 
								     Ethernet)
							       ITEMFONT
							       (MODERN 10)
							       MESSAGE 
						  "Choose the default device from which to boot.")
							 (TYPE TOGGLE LABEL 
							       ">>Don't Display Boot Icons<<"
							       ID DefaultIcons FONT (MODERN 10 BOLD)
							       MESSAGE 
	"Activate this field to enable automatic booting without having to choose a boot device."))
							((TYPE TOGGLE LABEL ">>Rigid Boot OK<<" ID 
							       RigidBooting FONT (MODERN 10 BOLD)
							       MESSAGE 
				     "Activate this field to enable booting from the rigid disk.")
							 (TYPE TOGGLE LABEL ">>Floppy Boot OK<<" ID 
							       FloppyBooting FONT (MODERN 10 BOLD)
							       MESSAGE 
				    "Activate this field to enable booting from the floppy disk.")
							 (TYPE TOGGLE LABEL ">>Ethernet Boot OK<<" ID 
							       EthernetBooting FONT (MODERN 10 BOLD)
							       MESSAGE 
				       "Activate this field to enable booting from the Ethernet.")
							 (TYPE TOGGLE LABEL ">>RS232C Boot OK<<" ID 
							       RS232CBooting FONT (MODERN 10 BOLD)
							       MESSAGE 
		  "Activate this field to enable booting from the RS232 port (doesn't work yet).")))))
			(\DoveEEP.DisplayFMSpec (QUOTE (((TYPE TOGGLE LABEL ">>Hi-Res Display<<" ID 
							       DisplayPresent FONT (MODERN 10 BOLD)
							       MESSAGE 
	     "Activate this field to indicate the console terminal is a high-resolution display.")
							 (TYPE TOGGLE LABEL ">>Color Display<<" ID 
							       DisplayBWColor FONT (MODERN 10 BOLD)
							       MESSAGE 
				"Activate this field to indicate the console is a color display.")
							 (TYPE TOGGLE LABEL ">>Large Display<<" ID 
							       DisplaySize FONT (MODERN 10 BOLD)
							       MESSAGE 
  "Activate this field to indicate the console is either a 19 inch B&W or 15 inch color display.")
							 (TYPE TOGGLE LABEL ">>Bitmapped Display<<" 
							       ID DisplayMap FONT (MODERN 10 BOLD)
							       MESSAGE 
				      "Activate this field to indicate the console is bitmapped."))
							((TYPE EDITSTART LABEL "Display X Offset: " 
							       ITEMS (DisplayxAlignment)
							       FONT
							       (MODERN 10 BOLD))
							 (TYPE EDIT ID DisplayxAlignment FONT
							       (MODERN 10)
							       LABEL "1"))
							((TYPE EDITSTART LABEL "Display Y Offset: " 
							       ITEMS (DisplayyAlignment)
							       FONT
							       (MODERN 10 BOLD))
							 (TYPE EDIT ID DisplayyAlignment FONT
							       (MODERN 10)
							       LABEL "16")))))
			(\DoveEEP.KeyboardFMSpec (QUOTE (((TYPE NCHOOSE LABEL "Keyboard Type: " FONT
								(MODERN 10 BOLD)
								ITEMFONT
								(MODERN 10)
								ITEMS
								(None English European Japanese 
								      Lear% Siegler)
								ID Keyboard)))))
			(\DoveEEP.DiskFMSpec (QUOTE (((TYPE NCHOOSE LABEL "Rigid Disk Type: " FONT
							    (MODERN 10 BOLD)
							    ITEMFONT
							    (MODERN 10)
							    ITEMS
							    (None Seagate% ST212 Tandon% TM703 
								  Tandon% TM702AT Seagate% ST4026 
								  Quantum% Q540 Quantum% Q530 
								  Micropolis% 1303 Micropolis% 1325)
							    ID RigidDiskType MESSAGE 
				  "Choose the entry corresponding to the appropriate rigid disk."
							    SELECTEDFN \DoveEEP.SetDiskInfo))
						     ((TYPE EDITSTART LABEL "Sectors Per Track: " 
							    ITEMS (RigidDiskSectorsPerTrack)
							    FONT
							    (MODERN 10 BOLD))
						      (TYPE EDIT LABEL "" MAXWIDTH 60 ID 
							    RigidDiskSectorsPerTrack FONT
							    (MODERN 10))
						      (TYPE EDITSTART LABEL "Heads Per Cylinder: " 
							    ITEMS (RigidDiskHeadsPerCylinder)
							    FONT
							    (MODERN 10 BOLD))
						      (TYPE EDIT LABEL "" MAXWIDTH 60 ID 
							    RigidDiskHeadsPerCylinder FONT
							    (MODERN 10)))
						     ((TYPE EDITSTART LABEL "Heads Cylinder Count: " 
							    ITEMS (RigidDiskHeadsCylinderCount)
							    FONT
							    (MODERN 10 BOLD))
						      (TYPE EDIT LABEL "" MAXWIDTH 60 ID 
							    RigidDiskHeadsCylinderCount FONT
							    (MODERN 10))
						      (TYPE EDITSTART LABEL 
							    "Reduced Write Cylinders: "
							    ITEMS
							    (RigidDiskReducedWriteCylinder)
							    FONT
							    (MODERN 10 BOLD))
						      (TYPE EDIT LABEL "" MAXWIDTH 60 ID 
							    RigidDiskReducedWriteCylinder FONT
							    (MODERN 10))
						      (TYPE EDITSTART LABEL 
							    "Precompensation Cylinder: "
							    ITEMS
							    (RigidDiskPreCompensationCylinder)
							    FONT
							    (MODERN 10 BOLD))
						      (TYPE EDIT LABEL "" MAXWIDTH 60 ID 
							    RigidDiskPreCompensationCylinder FONT
							    (MODERN 10))))))
			(\DoveEEP.MemoryFMSpec (QUOTE (((TYPE NCHOOSE LABEL 
							      "Additional Real Memory: "
							      FONT
							      (MODERN 10 BOLD)
							      ITEMFONT
							      (MODERN 10)
							      ITEMS
							      (None 256KB 512KB 768KB 1MB 1.25MB 
								    1.5MB 1.75MB 2MB 2.25MB 2.5MB 
								    2.75MB 3MB)
							      NIL ID MainMemoryExpansion)
							(TYPE NCHOOSE LABEL 
						   "Virtual Memory Map Size (in 64 page units): "
							      FONT
							      (MODERN 10 BOLD)
							      ITEMFONT
							      (MODERN 10)
							      ITEMS
							      (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
							      MESSAGE 
		"The number of 64-page blocks of memory to devote to the Mesa virtual memory map"
							      ITEMSTATE 4 ID VMMSizeInPages)
							(TYPE NCHOOSE LABEL 
							      "Control Store Size (in Kwords): "
							      FONT
							      (MODERN 10 BOLD)
							      ITEMFONT
							      (MODERN 10)
							      ITEMS
							      (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
							      ITEMSTATE 8 MESSAGE 
							      "Number of words of control store."
							      ID ControlStoreSize)))))
			(\DoveEEP.FloppyFMSpec (QUOTE (((TYPE NCHOOSE LABEL "Floppy Drive 0: " FONT
							      (MODERN 10 BOLD)
							      ITEMFONT
							      (MODERN 10)
							      ID FloppyDiskTypeDrive0 ITEMS
							      (None Any SA800 SA850 SA455 SA465))
							(TYPE NCHOOSE LABEL "Floppy Drive 1: " FONT
							      (MODERN 10 BOLD)
							      ITEMFONT
							      (MODERN 10)
							      ID FloppyDiskTypeDrive1 ITEMS
							      (None Any SA800 SA850 SA455 SA465))
							(TYPE NCHOOSE LABEL "Floppy Drive 2: " FONT
							      (MODERN 10 BOLD)
							      ITEMFONT
							      (MODERN 10)
							      ID FloppyDiskTypeDrive2 ITEMS
							      (None Any SA800 SA850 SA455 SA465))
							(TYPE NCHOOSE LABEL "Floppy Drive 3: " FONT
							      (MODERN 10 BOLD)
							      ITEMFONT
							      (MODERN 10)
							      ID FloppyDiskTypeDrive3 ITEMS
							      (None Any SA800 SA850 SA455 SA465)))))))
	      (GLOBALVARS \DoveEEP.BootingFMSpec \DoveEEP.DisplayFMSpec \DoveEEP.KeyboardFMSpec 
			  \DoveEEP.DiskFMSpec \DoveEEP.MemoryFMSpec \DoveEEP.FloppyFMSpec)
	      (ADDVARS (\DoveEEP.FMSpecs \DoveEEP.BootingFMSpec \DoveEEP.DisplayFMSpec 
					 \DoveEEP.KeyboardFMSpec \DoveEEP.DiskFMSpec 
					 \DoveEEP.MemoryFMSpec \DoveEEP.FloppyFMSpec))
	      (GLOBALVARS \DoveEEP.FMSpecs)
	      (BITMAPS \DoveEEP.WindowIcon \DoveEEP.WindowIconMask)
	      (GLOBALVARS \DoveEEP.WindowIcon \DoveEEP.WindowIconMask)
	      (INITVARS (\DoveConf.FCBPointer))
	      (GLOBALVARS \DoveConf.FCBPointer)
	      (FNS \DoveEEP.IconFn \DoveEEP.Initialize \DoveEEP.OpenConfigurationWindows 
		   \DoveEEP.ReadEEProm \DoveEEP.ReturnState \DoveEEP.SetDiskInfo)
	      (PROP RigidDiskType Micropolis% 1303 Micropolis% 1325 Quantum% Q530 Quantum% Q540 
		    Seagate% ST212 Seagate% ST4026 Tandon% TM702AT Tandon% TM703)
	      (FILES (SYSLOAD FROM VALUEOF LISPUSERSDIRECTORIES)
		     FREEMENU ICONW))))



(* Dove EEPROM configuration utility)

(DECLARE: DONTCOPY 
(* FOLLOWING DEFINITIONS EXPORTED)



(RPAQQ DoveEEP.BitMappedDisplayTypes ((DoveEEP.bitMappedDisplay 0)
					(DoveEEP.nonBitMappedDisplay 1)))
(DECLARE: EVAL@COMPILE 

(RPAQQ DoveEEP.bitMappedDisplay 0)

(RPAQQ DoveEEP.nonBitMappedDisplay 1)

(CONSTANTS (DoveEEP.bitMappedDisplay 0)
	   (DoveEEP.nonBitMappedDisplay 1))
)

(RPAQQ DoveEEP.BootDevices ((DoveEEP.noBootDevice 0)
			      (DoveEEP.rigidDiskBootDevice 1)
			      (DoveEEP.floppyDiskBootDevice 2)
			      (DoveEEP.ethernetBootDevice 3)))
(DECLARE: EVAL@COMPILE 

(RPAQQ DoveEEP.noBootDevice 0)

(RPAQQ DoveEEP.rigidDiskBootDevice 1)

(RPAQQ DoveEEP.floppyDiskBootDevice 2)

(RPAQQ DoveEEP.ethernetBootDevice 3)

(CONSTANTS (DoveEEP.noBootDevice 0)
	   (DoveEEP.rigidDiskBootDevice 1)
	   (DoveEEP.floppyDiskBootDevice 2)
	   (DoveEEP.ethernetBootDevice 3))
)

(RPAQQ DoveEEP.DisplayTypes ((DoveEEP.BWDisplay 0)
			       (DoveEEP.colorDisplay 1)))
(DECLARE: EVAL@COMPILE 

(RPAQQ DoveEEP.BWDisplay 0)

(RPAQQ DoveEEP.colorDisplay 1)

(CONSTANTS (DoveEEP.BWDisplay 0)
	   (DoveEEP.colorDisplay 1))
)

(RPAQQ DoveEEP.FloppyDiskTypes ((DoveEEP.noFloppyDisk 0)
				  (DoveEEP.sa800 1)
				  (DoveEEP.anyFloppyDisk 2)
				  (DoveEEP.sa850 3)
				  (DoveEEP.sa455 4)
				  (DoveEEP.sa465 5)))
(DECLARE: EVAL@COMPILE 

(RPAQQ DoveEEP.noFloppyDisk 0)

(RPAQQ DoveEEP.sa800 1)

(RPAQQ DoveEEP.anyFloppyDisk 2)

(RPAQQ DoveEEP.sa850 3)

(RPAQQ DoveEEP.sa455 4)

(RPAQQ DoveEEP.sa465 5)

(CONSTANTS (DoveEEP.noFloppyDisk 0)
	   (DoveEEP.sa800 1)
	   (DoveEEP.anyFloppyDisk 2)
	   (DoveEEP.sa850 3)
	   (DoveEEP.sa455 4)
	   (DoveEEP.sa465 5))
)

(RPAQQ DoveEEP.KeyboardTypes ((DoveEEP.noKeyboardType 0)
				(DoveEEP.englishKeyboardType 1)
				(DoveEEP.europeanKeyboardType 2)
				(DoveEEP.japaneseKeyboardType 3)
				(DoveEEP.LSIKeyboardType 4)))
(DECLARE: EVAL@COMPILE 

(RPAQQ DoveEEP.noKeyboardType 0)

(RPAQQ DoveEEP.englishKeyboardType 1)

(RPAQQ DoveEEP.europeanKeyboardType 2)

(RPAQQ DoveEEP.japaneseKeyboardType 3)

(RPAQQ DoveEEP.LSIKeyboardType 4)

(CONSTANTS (DoveEEP.noKeyboardType 0)
	   (DoveEEP.englishKeyboardType 1)
	   (DoveEEP.europeanKeyboardType 2)
	   (DoveEEP.japaneseKeyboardType 3)
	   (DoveEEP.LSIKeyboardType 4))
)

(RPAQQ DoveEEP.MainMemoryExpansionBits ((DoveEEP.noExpansion 0)
					  (DoveEEP.256k 1)
					  (DoveEEP.512k 2)
					  (DoveEEP.768k 3)
					  (DoveEEP.1m 4)
					  (DoveEEP.1256k 5)
					  (DoveEEP.1512 6)
					  (DoveEEP.1768 7)
					  (DoveEEP.2m 8)
					  (DoveEEP.2256k 9)
					  (DoveEEP.2512k 10)
					  (DoveEEP.2768k 11)
					  (DoveEEP.3m 12)))
(DECLARE: EVAL@COMPILE 

(RPAQQ DoveEEP.noExpansion 0)

(RPAQQ DoveEEP.256k 1)

(RPAQQ DoveEEP.512k 2)

(RPAQQ DoveEEP.768k 3)

(RPAQQ DoveEEP.1m 4)

(RPAQQ DoveEEP.1256k 5)

(RPAQQ DoveEEP.1512 6)

(RPAQQ DoveEEP.1768 7)

(RPAQQ DoveEEP.2m 8)

(RPAQQ DoveEEP.2256k 9)

(RPAQQ DoveEEP.2512k 10)

(RPAQQ DoveEEP.2768k 11)

(RPAQQ DoveEEP.3m 12)

(CONSTANTS (DoveEEP.noExpansion 0)
	   (DoveEEP.256k 1)
	   (DoveEEP.512k 2)
	   (DoveEEP.768k 3)
	   (DoveEEP.1m 4)
	   (DoveEEP.1256k 5)
	   (DoveEEP.1512 6)
	   (DoveEEP.1768 7)
	   (DoveEEP.2m 8)
	   (DoveEEP.2256k 9)
	   (DoveEEP.2512k 10)
	   (DoveEEP.2768k 11)
	   (DoveEEP.3m 12))
)

(RPAQQ DoveEEP.RigidDiskTypes ((DoveEEP.noRigidDisk 0)
				 (DoveEEP.seagateST212 1)
				 (DoveEEP.tandonTM703 2)
				 (DoveEEP.tandonTM702AT 3)
				 (DoveEEP.seagateST4026 4)
				 (DoveEEP.quantumQ540 5)
				 (DoveEEP.quantumQ530 6)
				 (DoveEEP.micropolis1303 7)
				 (DoveEEP.micropolis1325 8)))
(DECLARE: EVAL@COMPILE 

(RPAQQ DoveEEP.noRigidDisk 0)

(RPAQQ DoveEEP.seagateST212 1)

(RPAQQ DoveEEP.tandonTM703 2)

(RPAQQ DoveEEP.tandonTM702AT 3)

(RPAQQ DoveEEP.seagateST4026 4)

(RPAQQ DoveEEP.quantumQ540 5)

(RPAQQ DoveEEP.quantumQ530 6)

(RPAQQ DoveEEP.micropolis1303 7)

(RPAQQ DoveEEP.micropolis1325 8)

(CONSTANTS (DoveEEP.noRigidDisk 0)
	   (DoveEEP.seagateST212 1)
	   (DoveEEP.tandonTM703 2)
	   (DoveEEP.tandonTM702AT 3)
	   (DoveEEP.seagateST4026 4)
	   (DoveEEP.quantumQ540 5)
	   (DoveEEP.quantumQ530 6)
	   (DoveEEP.micropolis1303 7)
	   (DoveEEP.micropolis1325 8))
)

(RPAQQ DoveEEP.SysConfigCommands ((cmdReadAll 1)
				    (cmdWriteAll 2)
				    (cmdReadEntry 3)
				    (cmdWriteEntry 4)))
(DECLARE: EVAL@COMPILE 

(RPAQQ cmdReadAll 1)

(RPAQQ cmdWriteAll 2)

(RPAQQ cmdReadEntry 3)

(RPAQQ cmdWriteEntry 4)

(CONSTANTS (cmdReadAll 1)
	   (cmdWriteAll 2)
	   (cmdReadEntry 3)
	   (cmdWriteEntry 4))
)
[DECLARE: EVAL@COMPILE 

(MESARECORD Dove.EEProm ((VersionEProm WORD)
			   (VersionRAM WORD)
			   (VersionBadPages WORD)
			   (NIL BITS 7)
			   (RS232CBooting FLAG)
			   (EthernetBooting FLAG)
			   (FloppyBooting FLAG)
			   (RigidBooting FLAG)
			   (DefaultIcons FLAG)
			   (BootDevice BITS 4)
			   (DisplayxAlignment BYTE)
			   (DisplayMap FLAG)
			   (NIL BITS 4)
			   (DisplaySize FLAG)
			   (DisplayBWColor FLAG)
			   (DisplayPresent FLAG)
			   (Keyboard BYTE)
			   (DisplayyAlignment BYTE)
			   (RigidDiskHeadsPerCylinder BYTE)
			   (RigidDiskSectorsPerTrack BYTE)
			   (RigidDiskHeadsCylinderCount WORD)
			   (RigidDiskReducedWriteCylinder WORD)
			   (RigidDiskPreCompensationCylinder WORD)
			   (NIL BYTE)
			   (RigidDiskType BYTE)
			   (MainMemory15 FLAG)
			   (MainMemory14 FLAG)
			   (MainMemory13 FLAG)
			   (MainMemory12 FLAG)
			   (MainMemory11 FLAG)
			   (MainMemory10 FLAG)
			   (MainMemory9 FLAG)
			   (MainMemory8 FLAG)
			   (MainMemory7 FLAG)
			   (MainMemory6 FLAG)
			   (MainMemory5 FLAG)
			   (MainMemory4 FLAG)
			   (MainMemory3 FLAG)
			   (MainMemory2 FLAG)
			   (MainMemory1 FLAG)
			   (MainMemory0 FLAG)
			   (ControlStoreSize BITS 4)
			   (VMMSizeInPages BITS 4)
			   (MainMemoryExpansion BYTE)
			   (NIL BITS 6)
			   (DefaultDiagnostics FLAG)
			   (DefaultBootDiag FLAG)
			   (HardwareVersion BYTE)
			   (DCEattributes BYTE)
			   (DCEdeviceType BYTE)
			   (DTEattributes BYTE)
			   (DTEdeviceType BYTE)
			   (PCOptionHardware1 BYTE)
			   (PCOptionBoard BYTE)
			   (PCOptionHardware2 WORD)
			   (OptionBoardOne WORD)
			   (OptionBoardTwo WORD)
			   (OptionBoardThree WORD)
			   (FloppyDiskTypeDrive0 BITS 4)
			   (FloppyDiskTypeDrive1 BITS 4)
			   (FloppyDiskTypeDrive2 BITS 4)
			   (FloppyDiskTypeDrive3 BITS 4)
			   (NIL 12 WORD)
			   (AddressLastParity 2 WORD)
			   (BadPages 26 WORD)
			   (EEpromCheckSum WORD)
			   (EEpromInvertedCheckSum WORD)))

(RECORD Dove.RigidDiskType (SectorsPerTrack HeadsPerCylinder CylinderCount ReducedWriteCylinder 
					      PreCompensationCylinder))

(MESARECORD Dove.ConfFCB ((SysConfigTask DoveIO.TaskContextBlock)
			    (SysConfigDownCndt WORD)
			    (SysConfigDownMask WORD)
			    (DownCommand BYTE)
			    (DownEntry BYTE)
			    (UpStatus WORD)
			    (SysConfigUpCndt DoveIO.ClientCondition)
			    (SysConfigUpDoneFlag WORD)
			    (EEPromImage Dove.EEProm)))
]


(* END EXPORTED DEFINITIONS)


(FILESLOAD (LOADCOMP)
	   DOVEMISC DOVEINPUTOUTPUT)
)



(* Internal functions)


(RPAQ? \DoveEEP.BootingFMSpec (QUOTE (((TYPE NCHOOSE LABEL "Default Boot Device: " ID BootDevice 
					       FONT (MODERN 10 BOLD)
					       ITEMS
					       (None Rigid% Disk Floppy% Disk Ethernet)
					       ITEMFONT
					       (MODERN 10)
					       MESSAGE 
					       "Choose the default device from which to boot.")
					 (TYPE TOGGLE LABEL ">>Don't Display Boot Icons<<" ID 
					       DefaultIcons FONT (MODERN 10 BOLD)
					       MESSAGE 
	"Activate this field to enable automatic booting without having to choose a boot device."))
					((TYPE TOGGLE LABEL ">>Rigid Boot OK<<" ID RigidBooting FONT
					       (MODERN 10 BOLD)
					       MESSAGE 
				     "Activate this field to enable booting from the rigid disk.")
					 (TYPE TOGGLE LABEL ">>Floppy Boot OK<<" ID FloppyBooting 
					       FONT (MODERN 10 BOLD)
					       MESSAGE 
				    "Activate this field to enable booting from the floppy disk.")
					 (TYPE TOGGLE LABEL ">>Ethernet Boot OK<<" ID EthernetBooting 
					       FONT (MODERN 10 BOLD)
					       MESSAGE 
				       "Activate this field to enable booting from the Ethernet.")
					 (TYPE TOGGLE LABEL ">>RS232C Boot OK<<" ID RS232CBooting 
					       FONT (MODERN 10 BOLD)
					       MESSAGE 
		  "Activate this field to enable booting from the RS232 port (doesn't work yet).")))))

(RPAQ? \DoveEEP.DisplayFMSpec (QUOTE (((TYPE TOGGLE LABEL ">>Hi-Res Display<<" ID DisplayPresent 
					       FONT (MODERN 10 BOLD)
					       MESSAGE 
	     "Activate this field to indicate the console terminal is a high-resolution display.")
					 (TYPE TOGGLE LABEL ">>Color Display<<" ID DisplayBWColor 
					       FONT (MODERN 10 BOLD)
					       MESSAGE 
				"Activate this field to indicate the console is a color display.")
					 (TYPE TOGGLE LABEL ">>Large Display<<" ID DisplaySize FONT
					       (MODERN 10 BOLD)
					       MESSAGE 
  "Activate this field to indicate the console is either a 19 inch B&W or 15 inch color display.")
					 (TYPE TOGGLE LABEL ">>Bitmapped Display<<" ID DisplayMap 
					       FONT (MODERN 10 BOLD)
					       MESSAGE 
				      "Activate this field to indicate the console is bitmapped."))
					((TYPE EDITSTART LABEL "Display X Offset: " ITEMS (
						 DisplayxAlignment)
					       FONT
					       (MODERN 10 BOLD))
					 (TYPE EDIT ID DisplayxAlignment FONT (MODERN 10)
					       LABEL "1"))
					((TYPE EDITSTART LABEL "Display Y Offset: " ITEMS (
						 DisplayyAlignment)
					       FONT
					       (MODERN 10 BOLD))
					 (TYPE EDIT ID DisplayyAlignment FONT (MODERN 10)
					       LABEL "16")))))

(RPAQ? \DoveEEP.KeyboardFMSpec (QUOTE (((TYPE NCHOOSE LABEL "Keyboard Type: " FONT
						(MODERN 10 BOLD)
						ITEMFONT
						(MODERN 10)
						ITEMS
						(None English European Japanese Lear% Siegler)
						ID Keyboard)))))

(RPAQ? \DoveEEP.DiskFMSpec (QUOTE (((TYPE NCHOOSE LABEL "Rigid Disk Type: " FONT (MODERN 10 BOLD)
					    ITEMFONT
					    (MODERN 10)
					    ITEMS
					    (None Seagate% ST212 Tandon% TM703 Tandon% TM702AT 
						  Seagate% ST4026 Quantum% Q540 Quantum% Q530 
						  Micropolis% 1303 Micropolis% 1325)
					    ID RigidDiskType MESSAGE 
				  "Choose the entry corresponding to the appropriate rigid disk."
					    SELECTEDFN \DoveEEP.SetDiskInfo))
				     ((TYPE EDITSTART LABEL "Sectors Per Track: " ITEMS (
					      RigidDiskSectorsPerTrack)
					    FONT
					    (MODERN 10 BOLD))
				      (TYPE EDIT LABEL "" MAXWIDTH 60 ID RigidDiskSectorsPerTrack 
					    FONT (MODERN 10))
				      (TYPE EDITSTART LABEL "Heads Per Cylinder: " ITEMS (
					      RigidDiskHeadsPerCylinder)
					    FONT
					    (MODERN 10 BOLD))
				      (TYPE EDIT LABEL "" MAXWIDTH 60 ID RigidDiskHeadsPerCylinder 
					    FONT (MODERN 10)))
				     ((TYPE EDITSTART LABEL "Heads Cylinder Count: " ITEMS (
					      RigidDiskHeadsCylinderCount)
					    FONT
					    (MODERN 10 BOLD))
				      (TYPE EDIT LABEL "" MAXWIDTH 60 ID RigidDiskHeadsCylinderCount 
					    FONT (MODERN 10))
				      (TYPE EDITSTART LABEL "Reduced Write Cylinders: " ITEMS
					    (RigidDiskReducedWriteCylinder)
					    FONT
					    (MODERN 10 BOLD))
				      (TYPE EDIT LABEL "" MAXWIDTH 60 ID 
					    RigidDiskReducedWriteCylinder FONT (MODERN 10))
				      (TYPE EDITSTART LABEL "Precompensation Cylinder: " ITEMS
					    (RigidDiskPreCompensationCylinder)
					    FONT
					    (MODERN 10 BOLD))
				      (TYPE EDIT LABEL "" MAXWIDTH 60 ID 
					    RigidDiskPreCompensationCylinder FONT (MODERN 10))))))

(RPAQ? \DoveEEP.MemoryFMSpec (QUOTE (((TYPE NCHOOSE LABEL "Additional Real Memory: " FONT
					      (MODERN 10 BOLD)
					      ITEMFONT
					      (MODERN 10)
					      ITEMS
					      (None 256KB 512KB 768KB 1MB 1.25MB 1.5MB 1.75MB 2MB 
						    2.25MB 2.5MB 2.75MB 3MB)
					      NIL ID MainMemoryExpansion)
					(TYPE NCHOOSE LABEL 
					      "Virtual Memory Map Size (in 64 page units): "
					      FONT
					      (MODERN 10 BOLD)
					      ITEMFONT
					      (MODERN 10)
					      ITEMS
					      (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
					      MESSAGE 
		"The number of 64-page blocks of memory to devote to the Mesa virtual memory map"
					      ITEMSTATE 4 ID VMMSizeInPages)
					(TYPE NCHOOSE LABEL "Control Store Size (in Kwords): " FONT
					      (MODERN 10 BOLD)
					      ITEMFONT
					      (MODERN 10)
					      ITEMS
					      (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
					      ITEMSTATE 8 MESSAGE "Number of words of control store." 
					      ID ControlStoreSize)))))

(RPAQ? \DoveEEP.FloppyFMSpec (QUOTE (((TYPE NCHOOSE LABEL "Floppy Drive 0: " FONT (MODERN 10 BOLD)
					      ITEMFONT
					      (MODERN 10)
					      ID FloppyDiskTypeDrive0 ITEMS
					      (None Any SA800 SA850 SA455 SA465))
					(TYPE NCHOOSE LABEL "Floppy Drive 1: " FONT (MODERN 10 BOLD)
					      ITEMFONT
					      (MODERN 10)
					      ID FloppyDiskTypeDrive1 ITEMS
					      (None Any SA800 SA850 SA455 SA465))
					(TYPE NCHOOSE LABEL "Floppy Drive 2: " FONT (MODERN 10 BOLD)
					      ITEMFONT
					      (MODERN 10)
					      ID FloppyDiskTypeDrive2 ITEMS
					      (None Any SA800 SA850 SA455 SA465))
					(TYPE NCHOOSE LABEL "Floppy Drive 3: " FONT (MODERN 10 BOLD)
					      ITEMFONT
					      (MODERN 10)
					      ID FloppyDiskTypeDrive3 ITEMS
					      (None Any SA800 SA850 SA455 SA465))))))
(DECLARE: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS \DoveEEP.BootingFMSpec \DoveEEP.DisplayFMSpec \DoveEEP.KeyboardFMSpec \DoveEEP.DiskFMSpec 
	    \DoveEEP.MemoryFMSpec \DoveEEP.FloppyFMSpec)
)

(ADDTOVAR \DoveEEP.FMSpecs \DoveEEP.BootingFMSpec \DoveEEP.DisplayFMSpec \DoveEEP.KeyboardFMSpec 
						    \DoveEEP.DiskFMSpec \DoveEEP.MemoryFMSpec 
						    \DoveEEP.FloppyFMSpec)
(DECLARE: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS \DoveEEP.FMSpecs)
)

(RPAQ \DoveEEP.WindowIcon (READBITMAP))
(80 80
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AH@@@@@@@@L@@@@@"
"@@@@AH@@@@@@@@L@@@@@"
"@@@@AKLGBBO@@@L@@@@@"
"@@@@AJBHJBH@@@L@@@@@"
"@@AOOJBHJBH@@@OOL@@@"
"@@A@AJBHKDN@@@L@D@@@"
"@@A@AJBHIDH@@@L@D@@@"
"@@A@AJBHIDH@@@L@D@@@"
"@@A@AKLG@HO@@@L@D@@@"
"@@A@AH@@@@@@@@L@D@@@"
"@@A@AH@@@@@@@@L@D@@@"
"@@AOOH@@@@@@@@OOL@@@"
"@@@@AKMNOCLGCFL@@@@@"
"@@@@AJA@HJBHJJL@@@@@"
"@@@@AJA@HJBHJJL@@@@@"
"@@@@AKILOCLHJJL@@@@@"
"@@@@AJA@HBDHJBL@@@@@"
"@@@@AJA@HBBHJBL@@@@@"
"@@AOOKMNHBBGBBOOL@@@"
"@@A@AH@@@@@@@@L@D@@@"
"@@A@AH@@@@@@@@L@D@@@"
"@@A@AH@@@@@@@@L@D@@@"
"@@A@AILNDENIL@L@D@@@"
"@@A@AJAADE@J@@L@D@@@"
"@@A@AJAAFE@J@@L@D@@@"
"@@AOOJAAEELJN@OOL@@@"
"@@@@AJAADM@JB@L@@@@@"
"@@@@AJAADE@JB@L@@@@@"
"@@@@AILNDE@IL@L@@@@@"
"@@@@AH@@@@@@@@L@@@@@"
"@@@@AH@@@@@@@@L@@@@@"
"@@@@AH@@@@@@@@L@@@@@"
"@@AOOH@@@@@@@@OOL@@@"
"@@A@AH@@@@@@@@L@D@@@"
"@@A@AH@@@@@@@@L@D@@@"
"@@A@AH@@@@@@@@L@D@@@"
"@@A@AH@@@@@@@@L@D@@@"
"@@A@AH@@@@@@@@L@D@@@"
"@@A@AH@@@@@@@@L@D@@@"
"@@AOOH@@@@@@@@OOL@@@"
"@@@@AH@@@@@@@@L@@@@@"
"@@@@AH@@@@@@@@L@@@@@"
"@@@@AH@@@@@@@@L@@@@@"
"@@@@AH@@@@@@@@L@@@@@"
"@@@@AH@@@@@@@@L@@@@@"
"@@@@AH@@@@@@@@L@@@@@"
"@@AOOH@@@@@@@@OOL@@@"
"@@A@AH@@@@@@@@L@D@@@"
"@@A@AH@@@@@@@@L@D@@@"
"@@A@AH@@@@@@@@L@D@@@"
"@@A@AH@@@@@@@@L@D@@@"
"@@A@AH@@AO@@@@L@D@@@"
"@@A@AH@@COH@@@L@D@@@"
"@@AOOH@@GOL@@@OOL@@@"
"@@@@AH@@GOL@@@L@@@@@"
"@@@@AH@@GOL@@@L@@@@@"
"@@@@AH@@GOL@@@L@@@@@"
"@@@@AH@@GOL@@@L@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@")

(RPAQ \DoveEEP.WindowIconMask (READBITMAP))
(80 80
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@AOOOOOOOOOOOOOL@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@AOOOOOOOOOL@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@"
"@@@@@@@@@@@@@@@@@@@@")
(DECLARE: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS \DoveEEP.WindowIcon \DoveEEP.WindowIconMask)
)

(RPAQ? \DoveConf.FCBPointer )
(DECLARE: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS \DoveConf.FCBPointer)
)
(DEFINEQ

(\DoveEEP.IconFn
  (LAMBDA (Window)                                           (* ejs: "27-Sep-85 03:49")
    (COND
      ((WINDOWPROP Window (QUOTE ICONWINDOW)))
      (T (ICONW \DoveEEP.WindowIcon \DoveEEP.WindowIconMask)))))

(\DoveEEP.Initialize
  (LAMBDA NIL                                                (* ejs: "27-Oct-85 15:41")
    (COND
      ((NEQ \MACHINETYPE \DAYBREAK)
	(ERROR "This program only runs on Xerox 1185 and Xerox 1186 processors!")))
    (SETQ \DoveConf.FCBPointer (\DoveIO.GetHandlerIORegionPtr DoveIO.confHandler))
    (\DoveEEP.ReadEEProm)
    (COND
      ((EQ 0 (fetch (Dove.ConfFCB UpStatus) of \DoveConf.FCBPointer))
	(ERROR "Configuration task handler is not linked into the I/O processor configuration!")))))

(\DoveEEP.OpenConfigurationWindows
  (LAMBDA NIL                                                (* ejs: "27-Sep-85 03:49")
    (LET* ((AllMenus (for MenuName in \DoveEEP.FMSpecs collect (FM.FORMATMENU (EVAL MenuName))))
	   (WidestMenu (for MenuWindow in AllMenus largest (fetch (REGION WIDTH)
							      of (WINDOWPROP MenuWindow (QUOTE REGION)
									     ))))
	   (HeightOfMenus (for MenuWindow in AllMenus sum (fetch (REGION HEIGHT)
							     of (WINDOWPROP MenuWindow (QUOTE REGION))
								 )))
	   (Position (GETBOXPOSITION (fetch (REGION WIDTH) of (WINDOWPROP WidestMenu (QUOTE REGION)))
				     (IPLUS 160 HeightOfMenus)))
	   (MainWindow (CREATEW (create REGION
					LEFT ←(fetch (POSITION XCOORD) of Position)
					BOTTOM ←(fetch (POSITION YCOORD) of Position)
					WIDTH ←(fetch (REGION WIDTH) of (WINDOWPROP WidestMenu
										    (QUOTE REGION)))
					HEIGHT ← 160))))
          (WINDOWPROP MainWindow (QUOTE ICONFN)
		      (FUNCTION \DoveEEP.IconFn))
          (for MenuWindow in AllMenus do (ATTACHWINDOW MenuWindow MainWindow))
      MainWindow)))

(\DoveEEP.ReadEEProm
  (LAMBDA NIL                                                (* ejs: "27-Oct-85 15:32")

          (* * Read the configuration EE prom)


    (replace (Dove.ConfFCB DownCommand) of \DoveConf.FCBPointer with cmdReadAll)
    (\DoveIO.NotifyIOP (fetch (Dove.ConfFCB SysConfigDownMask) of \DoveConf.FCBPointer))))

(\DoveEEP.ReturnState
  (LAMBDA (Window)                                           (* ejs: "27-Sep-85 02:03")
    (for MenuWindow in (WINDOWPROP Window (QUOTE ATTACHEDWINDOWS)) join (for Prop
									   on (FM.READSTATE 
										       MenuWindow)
									   by (CDDR Prop)
									   when (LITATOM
										  (CAR Prop))
									   join (LIST (CAR Prop)
										      (CADR Prop))))))

(\DoveEEP.SetDiskInfo
  (LAMBDA (Item Window Button)                               (* ejs: "27-Sep-85 03:26")
    (LET* ((Disk (FM.ITEMPROP Item (QUOTE STATE)))
	   (DiskInfo (GETPROP Disk (QUOTE RigidDiskType))))
          (COND
	    (DiskInfo (FM.CHANGESTATE (FM.ITEMFROMID Window (QUOTE RigidDiskSectorsPerTrack))
				      Window
				      (fetch (Dove.RigidDiskType SectorsPerTrack) of DiskInfo))
		      (FM.CHANGESTATE (FM.ITEMFROMID Window (QUOTE RigidDiskHeadsPerCylinder))
				      Window
				      (fetch (Dove.RigidDiskType HeadsPerCylinder) of DiskInfo))
		      (FM.CHANGESTATE (FM.ITEMFROMID Window (QUOTE RigidDiskHeadsCylinderCount))
				      Window
				      (fetch (Dove.RigidDiskType CylinderCount) of DiskInfo))
		      (FM.CHANGESTATE (FM.ITEMFROMID Window (QUOTE RigidDiskReducedWriteCylinder))
				      Window
				      (fetch (Dove.RigidDiskType ReducedWriteCylinder) of DiskInfo))
		      (FM.CHANGESTATE (FM.ITEMFROMID Window (QUOTE RigidDiskPreCompensationCylinder))
				      Window
				      (fetch (Dove.RigidDiskType PreCompensationCylinder)
					 of DiskInfo)))))))
)

(PUTPROPS Micropolis% 1303 RigidDiskType (16 5 768 65535 400))

(PUTPROPS Micropolis% 1325 RigidDiskType (16 8 960 65535 65535))

(PUTPROPS Quantum% Q530 RigidDiskType (16 6 320 65535 256))

(PUTPROPS Quantum% Q540 RigidDiskType (16 8 480 65535 256))

(PUTPROPS Seagate% ST212 RigidDiskType (16 4 306 65535 128))

(PUTPROPS Seagate% ST4026 RigidDiskType (16 4 480 65535 300))

(PUTPROPS Tandon% TM702AT RigidDiskType (16 4 480 65535 300))

(PUTPROPS Tandon% TM703 RigidDiskType (16 5 384 65535 340))
(FILESLOAD (SYSLOAD FROM VALUEOF LISPUSERSDIRECTORIES)
	   FREEMENU ICONW)
(PUTPROPS DOVEEEPROM COPYRIGHT ("Xerox Corporation" 1985))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (27015 31177 (\DoveEEP.IconFn 27025 . 27275) (\DoveEEP.Initialize 27277 . 27843) (
\DoveEEP.OpenConfigurationWindows 27845 . 29104) (\DoveEEP.ReadEEProm 29106 . 29472) (
\DoveEEP.ReturnState 29474 . 29944) (\DoveEEP.SetDiskInfo 29946 . 31175)))))
STOP