mirror of
				https://github.com/davidgiven/fluxengine.git
				synced 2025-10-24 11:11:02 -07:00 
			
		
		
		
	Add documentation.
This commit is contained in:
		
							
								
								
									
										11
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								README.md
									
									
									
									
									
								
							| @@ -4,10 +4,9 @@ FluxEngine | |||||||
| (If you're reading this on GitHub, the formatting's a bit messed up. [Try the | (If you're reading this on GitHub, the formatting's a bit messed up. [Try the | ||||||
| version on cowlark.com instead.](http://cowlark.com/fluxengine/)) | version on cowlark.com instead.](http://cowlark.com/fluxengine/)) | ||||||
|  |  | ||||||
| **Breaking news!** As of 2021-05-21, the command line environment has changed | **Breaking news!** As of 2022-09-09, there's new filesystem support. Read (and | ||||||
| _substantially_ (to make it more consistent and flexible, and allow some new | sometimes write) files directly from (and to) your disks! It works in the GUI, | ||||||
| backend features like multi-format IBM scheme disks, which are popular with | too. See the details below. | ||||||
| CP/M). If things don't work the way you expect, please check the documentation. |  | ||||||
|  |  | ||||||
| What? | What? | ||||||
| ----- | ----- | ||||||
| @@ -67,6 +66,10 @@ following friendly articles: | |||||||
|   - [Configuring for your drive](doc/drives.md) ∾ but I don't have a 80 track |   - [Configuring for your drive](doc/drives.md) ∾ but I don't have a 80 track | ||||||
|     drive! ∾ reading and writing 40 track disks ∾ Shugart and Apple II |     drive! ∾ reading and writing 40 track disks ∾ Shugart and Apple II | ||||||
|  |  | ||||||
|  |   - [Direct filesystem access](doc/filesystem.md) ∾ imaging files is a pain | ||||||
|  |     ∾ accessing files directly ∾ features and limitation ∾ it works on disk | ||||||
|  |     images too, you say? | ||||||
|  |      | ||||||
|   - [Troubleshooting dubious disks](doc/problems.md) ∾ it's not an exact |   - [Troubleshooting dubious disks](doc/problems.md) ∾ it's not an exact | ||||||
|     science ∾ the sector map ∾ clock detection and the histogram |     science ∾ the sector map ∾ clock detection and the histogram | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								doc/filebrowser.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								doc/filebrowser.jpg
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 57 KiB | 
							
								
								
									
										86
									
								
								doc/filesystem.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								doc/filesystem.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,86 @@ | |||||||
|  | Direct filesystem access | ||||||
|  | ======================== | ||||||
|  |  | ||||||
|  | FluxEngine will let you read and write files directly, in many cases. This will | ||||||
|  | allow you to pull files directly off a disk, or flux image, or disk image, | ||||||
|  | without needing to image it first. You can also write, and make other | ||||||
|  | modifications, including formatting blank disks, if the filesystem supports it. | ||||||
|  | The GUI even has a reasonably competent file manager. | ||||||
|  |  | ||||||
|  | <div style="text-align: center"> | ||||||
|  | <a href="filebrowser.jpg"><img src="filebrowser.jpg" style="width:80%" alt="screenshot of the GUI in action"></a> | ||||||
|  | </div> | ||||||
|  |  | ||||||
|  | The following file systems are supported so far. | ||||||
|  |  | ||||||
|  | | Filesystem                               | Read? | Write? | Notes | | ||||||
|  | |:-----------------------------------------|:-----:|:------:|-------| | ||||||
|  | | Acorn DFS                                |   Y   |        |       | | ||||||
|  | | Amiga FFS                                |   Y   |   Y    | Both OFS and FFS | | ||||||
|  | | Brother 120kB                            |   Y   |        |       | | ||||||
|  | | Commodore CbmFS                          |   Y   |        | Only 1541 disks so far | | ||||||
|  | | CP/M                                     |   Y   |        | For selected formats | | ||||||
|  | | FatFS (a.k.a. MS-DOS)                    |   Y   |   Y    | FAT12, FAT16, FAT32, but only SFN; not Atari | | ||||||
|  | | Macintosh HFS                            |   Y   |   Y    | Only AppleDouble files may be written | | ||||||
|  |  | ||||||
|  | Please not that Atari disks do _not_ use standard FatFS, and the library I'm | ||||||
|  | using for the heavy lifting (ChaN's | ||||||
|  | [FatFS](http://elm-chan.org/fsw/ff/00index_e.html) doesn't seem to support it. | ||||||
|  | If you know different, please [get in | ||||||
|  | touch](https://github.com/davidgiven/fluxengine/issues/new). | ||||||
|  |  | ||||||
|  | Using it | ||||||
|  | -------- | ||||||
|  |  | ||||||
|  | To use, try syntax like this: | ||||||
|  |  | ||||||
|  | ``` | ||||||
|  | fluxengine ls ibm180 -f drive:0 | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | `ibm180` is the format, which selects the most common filesystem automatically. | ||||||
|  | `-f drive:0` specifies a flux source/sink, in this case a real disk. You may | ||||||
|  | also specify a flux file (read only). Disk images may be specified with `-i | ||||||
|  | disk.img` (read/write). | ||||||
|  |  | ||||||
|  | Commands which take filename paramaters typically use `-p` to indicate the path | ||||||
|  | on the disk, and `-l` for the local filename. For example: | ||||||
|  |  | ||||||
|  | ``` | ||||||
|  | fluxengine putfile ibm180 -f drive:0 -p ondisk.pcx -l z.pcx | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | This will copy the file `z.pcx` onto the disk and call it `ONDISK.PCX`. | ||||||
|  |  | ||||||
|  | The directory separator character is _always_ `/`, even if you're using | ||||||
|  | Macintosh HFS, where it's usually `:`. | ||||||
|  |  | ||||||
|  | The command line interface is pretty clunky, and is intended for scripts. For | ||||||
|  | everyday use, I'd suggest using the GUI (see the screenshot above). | ||||||
|  |  | ||||||
|  | The supported commands are: | ||||||
|  |  | ||||||
|  |   - **ls**: list files (including in a directory) | ||||||
|  |   - **getfile**: pull a file off a disk | ||||||
|  |   - **putfile**: put a file onto a disk | ||||||
|  |   - **format**: create a new filesystem and format a disk | ||||||
|  |   - **getfileinfo**: retrieves metadata about a file. | ||||||
|  |   - **getdiskinfo**: retrieves metadata about the file system. | ||||||
|  |    | ||||||
|  | There are commands missing here; this is all a work in progress. | ||||||
|  |  | ||||||
|  | Overriding the filesystem type | ||||||
|  | ------------------------------ | ||||||
|  |  | ||||||
|  | Sometimes you might want to use a different filesystem on the disk than the | ||||||
|  | default; for example, Macintosh HFS filesystems are common on 3.5" floppies. You | ||||||
|  | can do this as follows: | ||||||
|  |  | ||||||
|  | ``` | ||||||
|  | fluxengine format ibm1440 -f drive:1 --filesystem.machfs= | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | Some filesystems won't work on some disks --- don't try this with Amiga FFS, for | ||||||
|  | example. | ||||||
|  |  | ||||||
|  |  | ||||||
		Reference in New Issue
	
	Block a user