;;-
;;- $Id: Jaz-Install 1.0 1996/06/20 15:21:49 · Tim Jacobs · Rel $
;;-
;;- JPC Jaz Tools install script
;;-
;;- Copyright © 1996 JPC. All Rights Reserved.
;;- Roughly based on the ZIP©-Install script by Hi-Soft©

;;-
;;- DetermineSCSIDriver
;;-		Find out what the SCSI driver is called
;;-
;;- Inputs:
;;-		None
;;- Outputs:
;;-		gDevice
;;-
(procedure DetermineSCSIDriver
	(run "BindDrivers" (safe))
	(set gDevice "")
	(user 2)
	(while (= gDevice "")
		(	(run "Install/GuessSCSIDevices" (safe))
			(set dev0 "Enter device manually")
			(if (exists ("ENV:install-scsi-1")) (set dev1 (getenv "install-scsi-1")))
			(if (exists ("ENV:install-scsi-2")) (set dev2 (getenv "install-scsi-2")))
			(if (exists ("ENV:install-scsi-3")) (set dev3 (getenv "install-scsi-3")))
			(if (exists ("ENV:install-scsi-4")) (set dev4 (getenv "install-scsi-4")))
			(if (exists ("ENV:install-scsi-5")) (set dev5 (getenv "install-scsi-5")))
			(if (exists ("ENV:install-scsi-6")) (set dev6 (getenv "install-scsi-6")))
			(if (exists ("ENV:install-scsi-7")) (set dev7 (getenv "install-scsi-7")))
			(if (exists ("ENV:install-scsi-8")) (set dev8 (getenv "install-scsi-8")))
			(if (exists ("ENV:install-scsi-9")) (set dev9 (getenv "install-scsi-9")))
			(if (exists ("ENV:install-scsi-10")) (set dev10 (getenv "install-scsi-10")))
			(if (exists ("ENV:install-scsi-11")) (set dev11 (getenv "install-scsi-11")))
			(if (exists ("ENV:install-scsi-12")) (set dev12 (getenv "install-scsi-12")))
			(if (exists ("ENV:install-scsi-13")) (set dev13 (getenv "install-scsi-13")))
			(if (exists ("ENV:install-scsi-14")) (set dev14 (getenv "install-scsi-14")))
			(if (exists ("ENV:install-scsi-15")) (set dev15 (getenv "install-scsi-15")))
			(if (exists ("ENV:install-scsi-16")) (set dev16 (getenv "install-scsi-16")))
			(if (exists ("ENV:install-scsi-17")) (set dev17 (getenv "install-scsi-17")))
			(if (exists ("ENV:install-scsi-18")) (set dev18 (getenv "install-scsi-18")))
			(if (exists ("ENV:install-scsi-19")) (set dev19 (getenv "install-scsi-19")))
			(if (exists ("ENV:install-scsi-20")) (set dev20 (getenv "install-scsi-20")))
			(if (exists ("ENV:install-scsi-21")) (set dev21 (getenv "install-scsi-21")))
			(run "Delete \"ENV:install-scsi-#?\" QUIET FORCE" (safe))
			(if dev1
				(	(set ask-device
						(askchoice
							(if dev18
								(prompt "Choose your SCSI device:")
								(prompt "\nChoose your SCSI device:\n")
							)
							(help
								"\n"
								"Please choose your SCSI device driver from the available options; "
								"if it is not shown, choose \"Enter device manually\", to allow "
								"you to type it in."
							)
							(if dev1 (choices dev0 dev1))
							(if dev2 (choices dev0 dev1 dev2))
							(if dev3 (choices dev0 dev1 dev2 dev3))
							(if dev4 (choices dev0 dev1 dev2 dev3 dev4))
							(if dev5 (choices dev0 dev1 dev2 dev3 dev4 dev5))
							(if dev6 (choices dev0 dev1 dev2 dev3 dev4 dev5 dev6))
							(if dev7 (choices dev0 dev1 dev2 dev3 dev4 dev5 dev6 dev7))
							(if dev8 (choices dev0 dev1 dev2 dev3 dev4 dev5 dev6 dev7 dev8))
							(if dev9 (choices dev0 dev1 dev2 dev3 dev4 dev5 dev6 dev7 dev8 dev9))
							(if dev10 (choices dev0 dev1 dev2 dev3 dev4 dev5 dev6 dev7 dev8 dev9 dev10))
							(if dev11 (choices dev0 dev1 dev2 dev3 dev4 dev5 dev6 dev7 dev8 dev9 dev10 dev11))
							(if dev12 (choices dev0 dev1 dev2 dev3 dev4 dev5 dev6 dev7 dev8 dev9 dev10 dev11 dev12))
							(if dev13 (choices dev0 dev1 dev2 dev3 dev4 dev5 dev6 dev7 dev8 dev9 dev10 dev11 dev12 dev13))
							(if dev14 (choices dev0 dev1 dev2 dev3 dev4 dev5 dev6 dev7 dev8 dev9 dev10 dev11 dev12 dev13 dev14))
							(if dev15 (choices dev0 dev1 dev2 dev3 dev4 dev5 dev6 dev7 dev8 dev9 dev10 dev11 dev12 dev13 dev14 dev15))
							(if dev16 (choices dev0 dev1 dev2 dev3 dev4 dev5 dev6 dev7 dev8 dev9 dev10 dev11 dev12 dev13 dev14 dev15 dev16))
							(if dev17 (choices dev0 dev1 dev2 dev3 dev4 dev5 dev6 dev7 dev8 dev9 dev10 dev11 dev12 dev13 dev14 dev15 dev16 dev17))
							(if dev18 (choices dev0 dev1 dev2 dev3 dev4 dev5 dev6 dev7 dev8 dev9 dev10 dev11 dev12 dev13 dev14 dev15 dev16 dev17 dev18))
							(if dev19 (choices dev0 dev1 dev2 dev3 dev4 dev5 dev6 dev7 dev8 dev9 dev10 dev11 dev12 dev13 dev14 dev15 dev16 dev17 dev18 dev19))
							(if dev20 (choices dev0 dev1 dev2 dev3 dev4 dev5 dev6 dev7 dev8 dev9 dev10 dev11 dev12 dev13 dev14 dev15 dev16 dev17 dev18 dev19 dev20))
							(if dev21 (choices dev0 dev1 dev2 dev3 dev4 dev5 dev6 dev7 dev8 dev9 dev10 dev11 dev12 dev13 dev14 dev15 dev16 dev17 dev18 dev19 dev20 dev21))
							(default 0)
						)
					)
					(user default-user)
				)
			)

			(if ask-device
				(	(if (= 1 ask-device) (set gDevice dev1))
					(if (= 2 ask-device) (set gDevice dev2))
					(if (= 3 ask-device) (set gDevice dev3))
					(if (= 4 ask-device) (set gDevice dev4))
					(if (= 5 ask-device) (set gDevice dev5))
					(if (= 6 ask-device) (set gDevice dev6))
					(if (= 7 ask-device) (set gDevice dev7))
					(if (= 8 ask-device) (set gDevice dev8))
					(if (= 9 ask-device) (set gDevice dev9))
					(if (= 10 ask-device) (set gDevice dev10))
					(if (= 11 ask-device) (set gDevice dev11))
					(if (= 12 ask-device) (set gDevice dev12))
					(if (= 13 ask-device) (set gDevice dev13))
					(if (= 14 ask-device) (set gDevice dev14))
					(if (= 15 ask-device) (set gDevice dev15))
					(if (= 16 ask-device) (set gDevice dev16))
					(if (= 17 ask-device) (set gDevice dev17))
					(if (= 18 ask-device) (set gDevice dev18))
					(if (= 19 ask-device) (set gDevice dev19))
					(if (= 20 ask-device) (set gDevice dev20))
					(if (= 21 ask-device) (set gDevice dev21))
				)
				(	(user 2)
					(set gDevice
						(askstring
							(prompt "\nEnter the name of your SCSI device:\n")
							(help
								"\n"
								"You should type in the name of your SCSI device driver, if you are "
								"unsure of this refer to your SCSI controller manual. Some common device "
								"names are squirrelscsi.device (Squirrel SCSI Interfaces), scsi.device "
								"(Commodore supplied SCSI), gvpscsi.device (GVP SCSI Interfaces),."
                                "dracoscsi.device (MacroSystems' DraCo)."
							)
							(default "")
						)
					)
				)
			)
			(if (= gDevice "")
				(message
					"\nYou MUST enter your SCSI device driver name!"
				)
			)
		)
	)
	(user default-user)
)

;;-
;;- SetJazID
;;-		Set which unit the Jaz drive is connected to
;;-
;;- Inputs:
;;-		None
;;- Outputs:
;;-		gUnit
;;-
(procedure SetJazID
	(set gUnit
		(+ 0
			(askchoice
					(prompt "\nWhich SCSI ID is your Jaz drive on?")
				(help
					"\n"
					"Select the SCSI ID your Jaz drive is connected to."
				)
				(choices
					"ID 0"
					"ID 1"
					"ID 2"
					"ID 3"
					"ID 4"
					"ID 5"
					"ID 6"
				)
				(default 0)
			)
		)
	)
)

;;-
;;- ReformatJazCartridge
;;-		Reformat the Jaz cartridge as FFS
;;-
;;- Inputs:
;;-		gUnit
;;- Outputs:
;;-		None
;;-
(procedure ReformatJazCartridge
	(user 2)
	(if
		(askbool
			(prompt
				"\n"
				"The Jaz cartridge supplied with your drive is password write protected. "
				"Please insert the cartridge into the drive now so that the protection can "
				"be removed."
			)
			(help "")
			(choices "Proceed with Unprotect" "Skip This Part")
			(default 1)
		)
		(	(run
				("Install/JazProtect \"%s\" %ld PASSWORD=\"APlaceForYourStuff\" UNPROTECT" gDevice gUnit)
			)
		)
	)
	(user default-user)
)

(set default-user @user-level)
(set install-path (expandpath (pathonly @icon)))
(set @execute-dir install-path)

(DetermineSCSIDriver)
(SetJazID)

(copyfiles
	(source "Install/JazProtect")
	(dest "C:")
	(prompt "\nCopy JazProtect to \"C:\"?")
	(help
		"\n"
		"JazProtect allows Shell access to Jaz control functions. To see the options "
		"for JazProtect type \"JazProtect ?\" from a Shell window."
	)
	(confirm)
)
(ReformatJazCartridge)
