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,n88basic) | ||||||
| $(call do-encodedecodetest,rx50) | $(call do-encodedecodetest,rx50) | ||||||
| $(call do-encodedecodetest,tids990) | $(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_ss) | ||||||
| $(call do-encodedecodetest,victor9k_ds) | $(call do-encodedecodetest,victor9k_ds) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -6,6 +6,7 @@ | |||||||
| #include "fluxsource/fluxsource.h" | #include "fluxsource/fluxsource.h" | ||||||
| #include "scp.h" | #include "scp.h" | ||||||
| #include "proto.h" | #include "proto.h" | ||||||
|  | #include "lib/logger.h" | ||||||
| #include "fmt/format.h" | #include "fmt/format.h" | ||||||
| #include <fstream> | #include <fstream> | ||||||
|  |  | ||||||
| @@ -49,9 +50,9 @@ public: | |||||||
| 		if ((_header.cell_width != 0) && (_header.cell_width != 16)) | 		if ((_header.cell_width != 0) && (_header.cell_width != 16)) | ||||||
| 			Error() << "currently only 16-bit cells in SCP files are supported"; | 			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); | 			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: | public: | ||||||
|   | |||||||
| @@ -15,7 +15,9 @@ trap "rm -f $srcfile $fluxfile $destfile" EXIT | |||||||
|  |  | ||||||
| dd if=/dev/urandom of=$srcfile bs=1048576 count=2 2>&1 | 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 "$@" | $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 "$@" | $fluxengine read $format -s $fluxfile -o $destfile --drive.rotational_period_ms=200 "$@" | ||||||
| if [ ! -s $destfile ]; then | if [ ! -s $destfile ]; then | ||||||
| 	echo "Zero length output file!" >&2 | 	echo "Zero length output file!" >&2 | ||||||
|   | |||||||
| @@ -63,6 +63,8 @@ FORMATS = \ | |||||||
| 	rx50 \ | 	rx50 \ | ||||||
| 	shugart_drive \ | 	shugart_drive \ | ||||||
| 	tids990 \ | 	tids990 \ | ||||||
|  | 	trs80_88 \ | ||||||
|  | 	trs80_175 \ | ||||||
| 	victor9k_ds \ | 	victor9k_ds \ | ||||||
| 	victor9k_ss \ | 	victor9k_ss \ | ||||||
| 	zilogmcz \ | 	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