mirror of
				https://github.com/davidgiven/fluxengine.git
				synced 2025-10-24 11:11:02 -07:00 
			
		
		
		
	
		
			
				
	
	
		
			74 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
| syntax = "proto2";
 | |
| 
 | |
| import "arch/agat/agat.proto";
 | |
| import "arch/aeslanier/aeslanier.proto";
 | |
| import "arch/amiga/amiga.proto";
 | |
| import "arch/apple2/apple2.proto";
 | |
| import "arch/brother/brother.proto";
 | |
| import "arch/c64/c64.proto";
 | |
| import "arch/f85/f85.proto";
 | |
| import "arch/fb100/fb100.proto";
 | |
| import "arch/ibm/ibm.proto";
 | |
| import "arch/macintosh/macintosh.proto";
 | |
| import "arch/micropolis/micropolis.proto";
 | |
| import "arch/mx/mx.proto";
 | |
| import "arch/northstar/northstar.proto";
 | |
| import "arch/rolandd20/rolandd20.proto";
 | |
| import "arch/smaky6/smaky6.proto";
 | |
| import "arch/tartu/tartu.proto";
 | |
| import "arch/tids990/tids990.proto";
 | |
| import "arch/victor9k/victor9k.proto";
 | |
| import "arch/zilogmcz/zilogmcz.proto";
 | |
| import "lib/fluxsink/fluxsink.proto";
 | |
| import "lib/common.proto";
 | |
| 
 | |
| //NEXT: 33
 | |
| message DecoderProto {
 | |
| 	optional double pulse_debounce_threshold = 1 [default = 0.30,
 | |
| 		(help) = "ignore pulses with intervals shorter than this, in fractions of a clock"];
 | |
| 	optional double bit_error_threshold = 2 [default = 0.40,
 | |
| 		(help) = "amount of error to tolerate in pulse timing, in fractions of a clock"];
 | |
| 	optional double minimum_clock_us = 4 [default = 0.75,
 | |
| 		(help) = "refuse to detect clocks shorter than this, to avoid false positives"];
 | |
| 
 | |
| 	optional double pll_adjust = 25 [default = 0.04];
 | |
| 	optional double pll_phase = 26 [default = 0.60];
 | |
| 	optional double flux_scale = 27 [default = 1.0];
 | |
| 
 | |
| 	oneof format {
 | |
| 		AesLanierDecoderProto aeslanier = 7;
 | |
| 		AgatDecoderProto agat = 28;
 | |
| 		AmigaDecoderProto amiga = 8;
 | |
| 		Apple2DecoderProto apple2 = 13;
 | |
| 		BrotherDecoderProto brother = 6;
 | |
| 		Commodore64DecoderProto c64 = 9;
 | |
| 		F85DecoderProto f85 = 10;
 | |
| 		Fb100DecoderProto fb100 = 11;
 | |
| 		IbmDecoderProto ibm = 5;
 | |
| 		MacintoshDecoderProto macintosh = 12;
 | |
| 		MicropolisDecoderProto micropolis = 14;
 | |
| 		MxDecoderProto mx = 15;
 | |
| 		NorthstarDecoderProto northstar = 24;
 | |
| 		RolandD20DecoderProto rolandd20 = 31;
 | |
| 		Smaky6DecoderProto smaky6 = 30;
 | |
| 		TartuDecoderProto tartu = 32;
 | |
| 		Tids990DecoderProto tids990 = 16;
 | |
| 		Victor9kDecoderProto victor9k = 17;
 | |
| 		ZilogMczDecoderProto zilogmcz = 18;
 | |
| 	}
 | |
| 
 | |
| 	optional FluxSinkProto copy_flux_to = 19
 | |
| 		[(help) = "while decoding, write a copy of the flux here"];
 | |
| 	optional bool dump_records = 20 [default = false,
 | |
| 		(help) = "if set, then dump the parsed but undecoded disk records"];
 | |
| 	optional bool dump_sectors = 21 [default = false,
 | |
| 		(help) = "if set, then dump the decoded sectors to this file"];
 | |
| 	optional int32 retries = 22 [default = 5,
 | |
| 		(help) = "how many times to retry each track in the event of a read failure"];
 | |
| 	optional string write_csv_to = 23
 | |
| 		[(help) = "if set, write a CSV report of the disk state"];
 | |
| 	optional bool skip_unnecessary_tracks = 29 [default = true,
 | |
| 		(help) = "don't read tracks if we already have all necessary sectors"];
 | |
| }
 | |
| 
 |