mirror of
				https://github.com/davidgiven/fluxengine.git
				synced 2025-10-24 11:11:02 -07:00 
			
		
		
		
	Compare commits
	
		
			2 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | f2c6487d49 | ||
|  | 4cece77bff | 
							
								
								
									
										4
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								Makefile
									
									
									
									
									
								
							| @@ -196,6 +196,10 @@ $(call do-encodedecodetest,mac800,scripts/mac800_test.textpb) | ||||
| $(call do-encodedecodetest,n88basic) | ||||
| $(call do-encodedecodetest,rx50) | ||||
| $(call do-encodedecodetest,tids990) | ||||
| $(call do-encodedecodetest,trs80_88,,--35) | ||||
| $(call do-encodedecodetest,trs80_88,,--40) | ||||
| $(call do-encodedecodetest,trs80_175,,--35) | ||||
| $(call do-encodedecodetest,trs80_175,,--40) | ||||
| $(call do-encodedecodetest,victor9k_ss) | ||||
| $(call do-encodedecodetest,victor9k_ds) | ||||
|  | ||||
|   | ||||
| @@ -6,6 +6,7 @@ | ||||
| #include "fluxsource/fluxsource.h" | ||||
| #include "scp.h" | ||||
| #include "proto.h" | ||||
| #include "lib/logger.h" | ||||
| #include "fmt/format.h" | ||||
| #include <fstream> | ||||
|  | ||||
| @@ -49,9 +50,9 @@ public: | ||||
| 		if ((_header.cell_width != 0) && (_header.cell_width != 16)) | ||||
| 			Error() << "currently only 16-bit cells in SCP files are supported"; | ||||
|  | ||||
| 		std::cout << fmt::format("SCP tracks {}-{}, heads {}-{}\n", | ||||
| 		Logger() << fmt::format("SCP: tracks {}-{}, heads {}-{}", | ||||
| 			trackno(_header.start_track), trackno(_header.end_track), startSide, endSide); | ||||
| 		std::cout << fmt::format("SCP sample resolution: {} ns\n", _resolution); | ||||
| 		Logger() << fmt::format("SCP sample resolution: {} ns\n", _resolution); | ||||
| 	} | ||||
|  | ||||
| public: | ||||
|   | ||||
| @@ -15,7 +15,9 @@ trap "rm -f $srcfile $fluxfile $destfile" EXIT | ||||
|  | ||||
| dd if=/dev/urandom of=$srcfile bs=1048576 count=2 2>&1 | ||||
|  | ||||
| echo $fluxengine write $format -i $srcfile -d $fluxfile --drive.rotational_period_ms=200 "$@" | ||||
| $fluxengine write $format -i $srcfile -d $fluxfile --drive.rotational_period_ms=200 "$@" | ||||
| echo $fluxengine read $format -s $fluxfile -o $destfile --drive.rotational_period_ms=200 "$@" | ||||
| $fluxengine read $format -s $fluxfile -o $destfile --drive.rotational_period_ms=200 "$@" | ||||
| if [ ! -s $destfile ]; then | ||||
| 	echo "Zero length output file!" >&2 | ||||
|   | ||||
| @@ -63,6 +63,8 @@ FORMATS = \ | ||||
| 	rx50 \ | ||||
| 	shugart_drive \ | ||||
| 	tids990 \ | ||||
| 	trs80_88 \ | ||||
| 	trs80_175 \ | ||||
| 	victor9k_ds \ | ||||
| 	victor9k_ss \ | ||||
| 	zilogmcz \ | ||||
|   | ||||
							
								
								
									
										71
									
								
								src/formats/trs80_175.textpb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								src/formats/trs80_175.textpb
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,71 @@ | ||||
| comment: 'TRS-80 175kB 5.25" 35-track 10-sector SSDD' | ||||
|  | ||||
| image_reader { | ||||
| 	filename: "trs80-175.img" | ||||
| 	img {} | ||||
| } | ||||
|  | ||||
| image_writer { | ||||
| 	filename: "trs80-175.img" | ||||
| 	img {} | ||||
| } | ||||
|  | ||||
| layout { | ||||
| 	tracks: 35 | ||||
| 	sides: 1 | ||||
| 	layoutdata { | ||||
| 		sector_size: 512 | ||||
| 		physical { | ||||
| 			start_sector: 0 | ||||
| 			count: 10 | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| encoder { | ||||
| 	ibm { | ||||
| 		trackdata { | ||||
| 			target_rotational_period_ms: 167 | ||||
| 			target_clock_period_us: 3.333 | ||||
| 			emit_iam: false | ||||
| 			gap0: 80 | ||||
| 			gap2: 22 | ||||
| 			gap3: 34 | ||||
| 		} | ||||
| 		trackdata { | ||||
| 			track: 17 | ||||
| 			dam_byte: 0xf56e | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| decoder { | ||||
| 	ibm {} | ||||
| } | ||||
|  | ||||
| tpi: 48 | ||||
|  | ||||
| option { | ||||
| 	name: "35" | ||||
| 	comment: "35-track variant (default)" | ||||
| 	message: "using 35-track variant" | ||||
| 	 | ||||
| 	config { | ||||
| 		layout { | ||||
| 			tracks: 35 | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 	 | ||||
| option { | ||||
| 	name: "40" | ||||
| 	comment: "40-track variant" | ||||
| 	message: "using 40-track variant" | ||||
| 	 | ||||
| 	config { | ||||
| 		layout { | ||||
| 			tracks: 40 | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
							
								
								
									
										74
									
								
								src/formats/trs80_88.textpb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								src/formats/trs80_88.textpb
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,74 @@ | ||||
| comment: 'TRS-80 88kB 5.25" 35-track 10-sector SSSD' | ||||
|  | ||||
| image_reader { | ||||
| 	filename: "trs80-88.img" | ||||
| 	img {} | ||||
| } | ||||
|  | ||||
| image_writer { | ||||
| 	filename: "trs80-88.img" | ||||
| 	img {} | ||||
| } | ||||
|  | ||||
| layout { | ||||
| 	tracks: 35 | ||||
| 	sides: 1 | ||||
| 	layoutdata { | ||||
| 		sector_size: 256 | ||||
| 		physical { | ||||
| 			start_sector: 0 | ||||
| 			count: 10 | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| encoder { | ||||
| 	ibm { | ||||
| 		trackdata { | ||||
| 			target_rotational_period_ms: 167 | ||||
| 			target_clock_period_us: 3.333 | ||||
| 			emit_iam: false | ||||
| 			use_fm: true | ||||
| 			gap0: 0x10 | ||||
| 			gap2: 0x09 | ||||
| 			gap3: 0x10 | ||||
| 			idam_byte: 0xf57e | ||||
|             dam_byte: 0xf56f | ||||
|             gap_fill_byte: 0xffff | ||||
| 		} | ||||
| 		trackdata { | ||||
| 			track: 17 | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| decoder { | ||||
| 	ibm {} | ||||
| } | ||||
|  | ||||
| tpi: 48 | ||||
|  | ||||
| option { | ||||
| 	name: "35" | ||||
| 	comment: "35-track variant (default)" | ||||
| 	message: "using 35-track variant" | ||||
| 	 | ||||
| 	config { | ||||
| 		layout { | ||||
| 			tracks: 35 | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 	 | ||||
| option { | ||||
| 	name: "40" | ||||
| 	comment: "40-track variant" | ||||
| 	message: "using 40-track variant" | ||||
| 	 | ||||
| 	config { | ||||
| 		layout { | ||||
| 			tracks: 40 | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user