// DiExComm.bcpl get "DiEx.defs" manifest new = #100 let DisplayComm() be [ Active = false if WriteEnable then WriteComm() ReadComm() DisplayParam(SetErrRes, 8, Tab4) DisplayParam(SetMaxEC, 8, Tab5) ] and WriteComm() be [ Active = false DisplayParam(WHact, 5, Tab3) DisplayParam(WLact, 6, Tab3) DisplayParam(WDact, 7, Tab3) ] and ReadComm() be [ Active = false DisplayParam(RHact, 5, Tab4) DisplayParam(RLact, 6, Tab4) DisplayParam(RDact, 7, Tab4) ] and WHact() be [ let str = "none" let flag = 0 if NewBoolian("Specify the specific header command for the 'Write' pass (none will skip writing).") then flag = new switchon (T>>P.Waction.header) + flag into [ default: T>>P.Waction.header = diskSkip; endcase case diskSkip+new: T>>P.Waction.header = diskCheck case diskCheck: str = "check"; endcase case diskCheck+new: T>>P.Waction.header = diskWrite case diskWrite: str = " write"; T>>P.Waction.label = diskWrite ] if flag then WriteComm() PrintParam("W header:$S",str) ] and WLact() be [ let str = "check" let flag = 0 if NewBoolian("Specify the specific label command for the 'Write' pass.") then flag = new switchon (T>>P.Waction.label) + flag into [ default: T>>P.Waction.label = diskCheck; endcase case diskCheck+new: T>>P.Waction.label = diskWrite case diskWrite: str = "write"; T>>P.Waction.data = diskWrite ] if T>>P.Waction.header eq diskSkip then str = "none" if flag then WriteComm() PrintParam("W label: $S",str) ] and WDact() be [ let str = "write"; T>>P.Waction.data = diskWrite if T>>P.Waction.header eq diskSkip then str = "none" PrintParam("W data: $S",str) ] and RHact() be [ let str = "none" let flag = 0 if NewBoolian("Specify the specific header command for the 'Read' pass(none will skip reading).") then flag = new switchon (T>>P.Raction.header) + flag into [ default: T>>P.Raction.header = diskSkip; endcase case diskSkip+new: T>>P.Raction.header = diskCheck case diskCheck: str = "check"; endcase case diskCheck+new: T>>P.Raction.header = diskRead case diskRead: str = " read" ] if flag then ReadComm() PrintParam("R header:$S",str) ] and RLact() be [ let str = "check" let flag = 0 if NewBoolian("Specify the specific label command for the 'Read' pass.") then flag = new switchon (T>>P.Raction.label) + flag into [ default: T>>P.Raction.label = diskCheck; endcase case diskCheck+new: T>>P.Raction.label = diskRead case diskRead: str = "read" ] if T>>P.Raction.header eq diskSkip then str = "none" if flag then ReadComm() PrintParam("R label: $S",str) ] and RDact() be [ let str = "check" let flag = 0 if NewBoolian("Specify the specific data command for the 'Read' pass.") then flag = new switchon (T>>P.Raction.data) + flag into [ default: T>>P.Raction.data = diskCheck; endcase case diskCheck+new: T>>P.Raction.data = diskRead case diskRead: str = "read" ] if T>>P.Raction.header eq diskSkip then str = "none" PrintParam("R data: $S",str) ] and SetErrRes() be [ let str = "Do Restore = " let HintStr = "Set the number of RETRIES before the heads are Restored." let num = NewNumber(HintStr, T>>P.ErrRes, str) T>>P.ErrRes = SetBounds(num,0,10) PrintParam("$S$D", str, T>>P.ErrRes) ] and SetMaxEC() be [ let str = "Retries= " let HintStr = "Set the maximum number of RETRIES before going to the next sector." let num = NewNumber(HintStr, T>>P.maxEC, str) T>>P.maxEC = SetBounds(num,0,100) PrintParam("$S$D", str, T>>P.maxEC) ]