@@ -62,6 +62,9 @@ def read_with_retry(usb: USB.Unit, args, t) -> Tuple[Flux, Optional[HasFlux]]:
6262
6363 usb .seek (t .physical_cyl , t .physical_head )
6464
65+ if args .gen_tg43 :
66+ usb .set_pin (2 , cyl < 60 )
67+
6568 flux = read_and_normalise (usb , args , args .revs , args .ticks )
6669 if args .fmt_cls is None :
6770 print (f'{ tspec } : { flux .summary_string ()} ' )
@@ -95,6 +98,8 @@ def read_with_retry(usb: USB.Unit, args, t) -> Tuple[Flux, Optional[HasFlux]]:
9598 if retry != 0 :
9699 usb .seek (0 , 0 )
97100 usb .seek (t .physical_cyl , t .physical_head )
101+ if args .gen_tg43 :
102+ usb .set_pin (2 , cyl < 60 )
98103 seek_retry += 1
99104 retry = 0
100105 retry += 1
@@ -239,8 +244,11 @@ def main(argv) -> None:
239244 help = "do not overwrite an existing file" )
240245 parser .add_argument ("--pll" , type = track .PLL , metavar = "PLLSPEC" ,
241246 help = "manual PLL parameter override" )
242- parser .add_argument ("--densel" , "--dd" , type = util .level , metavar = "LEVEL" ,
247+ densel_group = parser .add_mutually_exclusive_group (required = False )
248+ densel_group .add_argument ("--densel" , "--dd" , type = util .level , metavar = "LEVEL" ,
243249 help = "drive interface density select on pin 2 (H,L)" )
250+ densel_group .add_argument ("--gen-tg43" , action = "store_true" ,
251+ help = "generate TG43 signal for 8-inch drive on pin 2 from track 60. Enable postcompensation filter" )
244252 parser .add_argument ("--reverse" , action = "store_true" ,
245253 help = "reverse track data (flippy disk)" )
246254 parser .add_argument ("file" , help = "output filename" )
@@ -280,14 +288,15 @@ def main(argv) -> None:
280288 if args .format :
281289 print ("Format " + args .format )
282290 try :
283- if args .densel is not None :
291+ if args .densel is not None or args . gen_tg43 :
284292 prev_pin2 = usb .get_pin (2 )
293+ if args .densel is not None :
285294 usb .set_pin (2 , args .densel )
286295 with open_image (args , image_class ) as image :
287296 util .with_drive_selected (
288297 lambda : read_to_image (usb , args , image ), usb , args .drive )
289298 finally :
290- if args .densel is not None :
299+ if args .densel is not None or args . gen_tg43 :
291300 usb .set_pin (2 , prev_pin2 )
292301 except USB .CmdError as err :
293302 print ("Command Failed: %s" % err )
0 commit comments