mirror of
				https://github.com/davidgiven/fluxengine.git
				synced 2025-10-24 11:11:02 -07:00 
			
		
		
		
	Compare commits
	
		
			6 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 37595bf73c | ||
|  | 952aea46ba | ||
|  | 6a6536cf27 | ||
|  | 696368c92a | ||
|  | e3edc9327e | ||
|  | 8d2e6a664d | 
							
								
								
									
										1
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								Makefile
									
									
									
									
									
								
							| @@ -198,6 +198,7 @@ $(call do-encodedecodetest,commodore,scripts/commodore1541_test.textpb,--192 --d | |||||||
| $(call do-encodedecodetest,commodore,,--800 --drive.tpi=135) | $(call do-encodedecodetest,commodore,,--800 --drive.tpi=135) | ||||||
| $(call do-encodedecodetest,commodore,,--1620 --drive.tpi=135) | $(call do-encodedecodetest,commodore,,--1620 --drive.tpi=135) | ||||||
| $(call do-encodedecodetest,hplif,,--264 --drive.tpi=135) | $(call do-encodedecodetest,hplif,,--264 --drive.tpi=135) | ||||||
|  | $(call do-encodedecodetest,hplif,,--608 --drive.tpi=135) | ||||||
| $(call do-encodedecodetest,hplif,,--616 --drive.tpi=135) | $(call do-encodedecodetest,hplif,,--616 --drive.tpi=135) | ||||||
| $(call do-encodedecodetest,hplif,,--770 --drive.tpi=135) | $(call do-encodedecodetest,hplif,,--770 --drive.tpi=135) | ||||||
| $(call do-encodedecodetest,ibm,,--1200 --drive.tpi=96) | $(call do-encodedecodetest,ibm,,--1200 --drive.tpi=96) | ||||||
|   | |||||||
| @@ -15,6 +15,7 @@ encoding scheme. | |||||||
|  |  | ||||||
|   - Format variants: |   - Format variants: | ||||||
|       - `264`: 264kB 3.5" 66-track SSDD; HP9121 format |       - `264`: 264kB 3.5" 66-track SSDD; HP9121 format | ||||||
|  |       - `608`: 608kB 3.5" 76-track DSDD; HP9122 format | ||||||
|       - `616`: 616kB 3.5" 77-track DSDD |       - `616`: 616kB 3.5" 77-track DSDD | ||||||
|       - `770`: 770kB 3.5" 77-track DSDD |       - `770`: 770kB 3.5" 77-track DSDD | ||||||
|  |  | ||||||
| @@ -23,12 +24,19 @@ encoding scheme. | |||||||
| To read: | To read: | ||||||
|  |  | ||||||
|   - `fluxengine read hplif --264 -s drive:0 -o hplif.img` |   - `fluxengine read hplif --264 -s drive:0 -o hplif.img` | ||||||
|  |   - `fluxengine read hplif --608 -s drive:0 -o hplif.img` | ||||||
|   - `fluxengine read hplif --616 -s drive:0 -o hplif.img` |   - `fluxengine read hplif --616 -s drive:0 -o hplif.img` | ||||||
|   - `fluxengine read hplif --770 -s drive:0 -o hplif.img` |   - `fluxengine read hplif --770 -s drive:0 -o hplif.img` | ||||||
|  |  | ||||||
| To write: | To write: | ||||||
|  |  | ||||||
|   - `fluxengine write hplif --264 -d drive:0 -i hplif.img` |   - `fluxengine write hplif --264 -d drive:0 -i hplif.img` | ||||||
|  |   - `fluxengine write hplif --608 -d drive:0 -i hplif.img` | ||||||
|   - `fluxengine write hplif --616 -d drive:0 -i hplif.img` |   - `fluxengine write hplif --616 -d drive:0 -i hplif.img` | ||||||
|   - `fluxengine write hplif --770 -d drive:0 -i hplif.img` |   - `fluxengine write hplif --770 -d drive:0 -i hplif.img` | ||||||
|  |  | ||||||
|  | ## References | ||||||
|  |  | ||||||
|  |   * [A summary of the Hewlett Packard floppy disk | ||||||
|  |     formats](http://www.bitsavers.org/pdf/hp/disc/912x/HP_Flexible_Disk_Formats.pdf) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -214,6 +214,7 @@ private: | |||||||
|         _directoryBlock = rbr.read_be32(); |         _directoryBlock = rbr.read_be32(); | ||||||
|         rbr.skip(4); |         rbr.skip(4); | ||||||
|         _directorySize = rbr.read_be32(); |         _directorySize = rbr.read_be32(); | ||||||
|  | 		rbr.skip(4); | ||||||
|         unsigned tracks = rbr.read_be32(); |         unsigned tracks = rbr.read_be32(); | ||||||
|         unsigned heads = rbr.read_be32(); |         unsigned heads = rbr.read_be32(); | ||||||
|         unsigned sectors = rbr.read_be32(); |         unsigned sectors = rbr.read_be32(); | ||||||
|   | |||||||
| @@ -14,6 +14,14 @@ Floppy-disk wise, they're yet more variations of the standard IBM floppy | |||||||
| encoding scheme. | encoding scheme. | ||||||
| >>> | >>> | ||||||
|  |  | ||||||
|  | documentation: | ||||||
|  | <<< | ||||||
|  | ## References | ||||||
|  |  | ||||||
|  |   * [A summary of the Hewlett Packard floppy disk | ||||||
|  |     formats](http://www.bitsavers.org/pdf/hp/disc/912x/HP_Flexible_Disk_Formats.pdf) | ||||||
|  | >>> | ||||||
|  |  | ||||||
| drive { | drive { | ||||||
| 	high_density: false | 	high_density: false | ||||||
| } | } | ||||||
| @@ -55,10 +63,6 @@ option_group { | |||||||
| 				layoutdata { | 				layoutdata { | ||||||
| 					sector_size: 256 | 					sector_size: 256 | ||||||
| 					physical { | 					physical { | ||||||
| 						sector: 0 |  | ||||||
| 						sector: 4 |  | ||||||
| 						sector: 8 |  | ||||||
| 						sector: 12 |  | ||||||
| 						sector: 1 | 						sector: 1 | ||||||
| 						sector: 5 | 						sector: 5 | ||||||
| 						sector: 9 | 						sector: 9 | ||||||
| @@ -71,6 +75,56 @@ option_group { | |||||||
| 						sector: 7 | 						sector: 7 | ||||||
| 						sector: 11 | 						sector: 11 | ||||||
| 						sector: 15 | 						sector: 15 | ||||||
|  | 						sector: 4 | ||||||
|  | 						sector: 8 | ||||||
|  | 						sector: 12 | ||||||
|  | 						sector: 16 | ||||||
|  | 					} | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  |  | ||||||
|  | 			encoder { | ||||||
|  | 				ibm { | ||||||
|  | 					trackdata { | ||||||
|  | 						emit_iam: false | ||||||
|  | 						target_rotational_period_ms: 200 | ||||||
|  | 						target_clock_period_us: 4 | ||||||
|  | 						gap0: 80 | ||||||
|  | 						gap2: 22 | ||||||
|  | 						gap3: 44 | ||||||
|  | 					} | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	option { | ||||||
|  | 		name: "608" | ||||||
|  | 		comment: '608kB 3.5" 76-track DSDD; HP9122 format' | ||||||
|  |  | ||||||
|  | 		config { | ||||||
|  | 			layout { | ||||||
|  | 				tracks: 76 | ||||||
|  | 				sides: 2 | ||||||
|  | 				layoutdata { | ||||||
|  | 					sector_size: 256 | ||||||
|  | 					physical { | ||||||
|  | 						sector: 1 | ||||||
|  | 						sector: 5 | ||||||
|  | 						sector: 9 | ||||||
|  | 						sector: 13 | ||||||
|  | 						sector: 2 | ||||||
|  | 						sector: 6 | ||||||
|  | 						sector: 10 | ||||||
|  | 						sector: 14 | ||||||
|  | 						sector: 3 | ||||||
|  | 						sector: 7 | ||||||
|  | 						sector: 11 | ||||||
|  | 						sector: 15 | ||||||
|  | 						sector: 4 | ||||||
|  | 						sector: 8 | ||||||
|  | 						sector: 12 | ||||||
|  | 						sector: 16 | ||||||
| 					} | 					} | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
|   | |||||||
| @@ -244,9 +244,12 @@ private: | |||||||
|                             uint32_t usedBlocks = std::stoul( |                             uint32_t usedBlocks = std::stoul( | ||||||
|                                 metadata.at(Filesystem::USED_BLOCKS)); |                                 metadata.at(Filesystem::USED_BLOCKS)); | ||||||
|  |  | ||||||
|                             diskSpaceGauge->Enable(); | 							if (!totalBlocks) | ||||||
|                             diskSpaceGauge->SetRange(totalBlocks * blockSize); | 								throw std::out_of_range("no disk usage data"); | ||||||
|                             diskSpaceGauge->SetValue(usedBlocks * blockSize); |  | ||||||
|  | 							diskSpaceGauge->Enable(); | ||||||
|  | 							diskSpaceGauge->SetRange(totalBlocks); | ||||||
|  | 							diskSpaceGauge->SetValue(usedBlocks); | ||||||
|                         } |                         } | ||||||
|                         catch (const std::out_of_range& e) |                         catch (const std::out_of_range& e) | ||||||
|                         { |                         { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user