mirror of
https://github.com/davidgiven/fluxengine.git
synced 2025-10-24 11:11:02 -07:00
96 lines
3.9 KiB
Markdown
96 lines
3.9 KiB
Markdown
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:60%" 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 |
|
|
| AppleDOS / ProDOS | Y | Y | With a choice of sector remapping |
|
|
| Brother 120kB | Y | Y | |
|
|
| Commodore CbmFS | Y | | Only 1541 disks so far |
|
|
| CP/M | Y | | Requires configuration for each machine |
|
|
| FatFS (a.k.a. MS-DOS) | Y | Y | FAT12, FAT16, FAT32; not Atari (AFAIK!) |
|
|
| Hewlett-Packard LIF | Y | | |
|
|
| Macintosh HFS | Y | Y | Only AppleDouble files may be written |
|
|
| pSOS' PHILE | Y | | Probably unreliable due to lack of documentation |
|
|
| Smaky 6 | Y | | |
|
|
| Zilog MCZ RIO's ZDOS | Y | | |
|
|
{: .datatable }
|
|
|
|
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 ibm --180 -f drive:0
|
|
```
|
|
|
|
`ibm --180` 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 ibm --180 -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.
|
|
- **rm**: deletes a file or empty directory
|
|
- **mv**: renames a file (use `--path` and `--path2` for the old and new paths)
|
|
- **mkdir**: creates a directory
|
|
|
|
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 ibm --1440 -f drive:1 --filesystem.type=MACHFS
|
|
```
|
|
|
|
Some filesystems won't work on some disks --- don't try this with Amiga FFS, for
|
|
example.
|
|
|
|
|