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,,--1620 --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,,--770 --drive.tpi=135) | ||||
| $(call do-encodedecodetest,ibm,,--1200 --drive.tpi=96) | ||||
|   | ||||
| @@ -15,6 +15,7 @@ encoding scheme. | ||||
|  | ||||
|   - Format variants: | ||||
|       - `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 | ||||
|       - `770`: 770kB 3.5" 77-track DSDD | ||||
|  | ||||
| @@ -23,12 +24,19 @@ encoding scheme. | ||||
| To read: | ||||
|  | ||||
|   - `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 --770 -s drive:0 -o hplif.img` | ||||
|  | ||||
| To write: | ||||
|  | ||||
|   - `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 --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(); | ||||
|         rbr.skip(4); | ||||
|         _directorySize = rbr.read_be32(); | ||||
| 		rbr.skip(4); | ||||
|         unsigned tracks = rbr.read_be32(); | ||||
|         unsigned heads = 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. | ||||
| >>> | ||||
|  | ||||
| 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 { | ||||
| 	high_density: false | ||||
| } | ||||
| @@ -55,10 +63,6 @@ option_group { | ||||
| 				layoutdata { | ||||
| 					sector_size: 256 | ||||
| 					physical { | ||||
| 						sector: 0 | ||||
| 						sector: 4 | ||||
| 						sector: 8 | ||||
| 						sector: 12 | ||||
| 						sector: 1 | ||||
| 						sector: 5 | ||||
| 						sector: 9 | ||||
| @@ -71,6 +75,56 @@ option_group { | ||||
| 						sector: 7 | ||||
| 						sector: 11 | ||||
| 						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( | ||||
|                                 metadata.at(Filesystem::USED_BLOCKS)); | ||||
|  | ||||
|                             diskSpaceGauge->Enable(); | ||||
|                             diskSpaceGauge->SetRange(totalBlocks * blockSize); | ||||
|                             diskSpaceGauge->SetValue(usedBlocks * blockSize); | ||||
| 							if (!totalBlocks) | ||||
| 								throw std::out_of_range("no disk usage data"); | ||||
|  | ||||
| 							diskSpaceGauge->Enable(); | ||||
| 							diskSpaceGauge->SetRange(totalBlocks); | ||||
| 							diskSpaceGauge->SetValue(usedBlocks); | ||||
|                         } | ||||
|                         catch (const std::out_of_range& e) | ||||
|                         { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user