mirror of
https://github.com/davidgiven/fluxengine.git
synced 2025-10-31 11:17:01 -07:00
Updating the documentation. cleanup code
This commit is contained in:
23
doc/using.md
23
doc/using.md
@@ -291,6 +291,29 @@ FluxEngine also supports a number of file system image formats. When using the
|
|||||||
circumstances as it can represent arbitrary sector layouts as read
|
circumstances as it can represent arbitrary sector layouts as read
|
||||||
from the floppy.
|
from the floppy.
|
||||||
|
|
||||||
|
- `<filename.imd>`
|
||||||
|
|
||||||
|
Read from a [imd image file](http://dunfield.classiccmp.org/img/index.htm),
|
||||||
|
imd images are entire diskette images read into a file (type .IMD),
|
||||||
|
it's purpose is to recreate a copy of the diskette from that image. A detailed analysis
|
||||||
|
is performed on the diskette, and information about the formatting is recorded
|
||||||
|
in the image file. This allows ImageDisk to work with virtually any soft-
|
||||||
|
sectored diskette format that is compatible with the PC's type 765 floppy
|
||||||
|
diskette controller and drives.
|
||||||
|
|
||||||
|
FluxEngine is able to read from and write to an imd image file.
|
||||||
|
|
||||||
|
The imd reader should mostly be used with the `ibm` profile or ibm deratives
|
||||||
|
and will override most encoding parameters on a track-by-track basis.
|
||||||
|
|
||||||
|
The imd writer should likewise mostly be used with the `ibm` profile in most
|
||||||
|
circumstances as it can represent arbitrary sector layouts as read
|
||||||
|
from the floppy.
|
||||||
|
|
||||||
|
With options it is possible to add a comment for the resulting image when archiving
|
||||||
|
floppies. By default imd images assume MFM encoding, but this can by changed
|
||||||
|
by suppling the option RECMODE_FM.
|
||||||
|
|
||||||
- `<filename.nfd>`
|
- `<filename.nfd>`
|
||||||
|
|
||||||
Read from a [NFD r0 image file](https://www.pc98.org/project/doc/nfdr0.html),
|
Read from a [NFD r0 image file](https://www.pc98.org/project/doc/nfdr0.html),
|
||||||
|
|||||||
@@ -135,23 +135,19 @@ public:
|
|||||||
void writeImage(const Image& image)
|
void writeImage(const Image& image)
|
||||||
{
|
{
|
||||||
const Geometry& geometry = image.getGeometry();
|
const Geometry& geometry = image.getGeometry();
|
||||||
unsigned numCylinders;
|
|
||||||
unsigned numHeads;
|
unsigned numHeads;
|
||||||
unsigned numSectors;
|
unsigned numSectors;
|
||||||
unsigned numBytes;
|
unsigned numBytes;
|
||||||
std::ofstream outputFile(_config.filename(), std::ios::out | std::ios::binary);
|
std::ofstream outputFile(_config.filename(), std::ios::out | std::ios::binary);
|
||||||
if (!outputFile.is_open())
|
if (!outputFile.is_open())
|
||||||
Error() << "IMD: cannot open output file";
|
Error() << "IMD: cannot open output file";
|
||||||
uint32_t offset = 0;
|
// uint32_t offset = 0;
|
||||||
unsigned numSectorsinTrack = 0;
|
unsigned numSectorsinTrack = 0;
|
||||||
|
|
||||||
numHeads = geometry.numSides;
|
numHeads = geometry.numSides;
|
||||||
numSectors = geometry.numSectors;
|
numSectors = geometry.numSectors;
|
||||||
numBytes = geometry.sectorSize;
|
numBytes = geometry.sectorSize;
|
||||||
|
|
||||||
size_t headSize = geometry.numSectors * geometry.sectorSize;
|
|
||||||
size_t trackSize = headSize * geometry.numSides;
|
|
||||||
|
|
||||||
Bytes imagenew;
|
Bytes imagenew;
|
||||||
ByteWriter bw(imagenew);
|
ByteWriter bw(imagenew);
|
||||||
|
|
||||||
@@ -421,10 +417,9 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
numCylinders = geometry.numTracks; //-emptyCylinders; //calculate the cylinders with sectors and hence data. Otherwise the calculation of kB goes wrong
|
|
||||||
imagenew.writeTo(outputFile);
|
imagenew.writeTo(outputFile);
|
||||||
Logger() << fmt::format("IMD: Written {} tracks, {} heads, {} sectors, {} bytes per sector, {} kB total",
|
Logger() << fmt::format("IMD: Written {} tracks, {} heads, {} sectors, {} bytes per sector, {} kB total",
|
||||||
numCylinders, numHeads,
|
geometry.numTracks, numHeads,
|
||||||
numSectors, numBytes,
|
numSectors, numBytes,
|
||||||
outputFile.tellp() / 1024);
|
outputFile.tellp() / 1024);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user