mirror of
https://github.com/davidgiven/fluxengine.git
synced 2025-10-31 11:17:01 -07:00
Compare commits
3 Commits
FluxEngine
...
FluxEngine
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6dd84d6fc2 | ||
|
|
daddd60581 | ||
|
|
66cb39dce2 |
@@ -102,6 +102,8 @@ static uint8_t decodeUint16(uint16_t raw)
|
||||
std::unique_ptr<Fluxmap> IbmEncoder::encode(
|
||||
int physicalTrack, int physicalSide, const SectorSet& allSectors)
|
||||
{
|
||||
if (_parameters.swapSides)
|
||||
physicalSide = 1 - physicalSide;
|
||||
double clockRateUs = 1e3 / _parameters.clockRateKhz;
|
||||
if (!_parameters.useFm)
|
||||
clockRateUs /= 2.0;
|
||||
|
||||
@@ -69,6 +69,7 @@ struct IbmParameters
|
||||
int gap2;
|
||||
int gap3;
|
||||
std::string sectorSkew;
|
||||
bool swapSides;
|
||||
};
|
||||
|
||||
class IbmEncoder : public AbstractEncoder
|
||||
|
||||
@@ -33,6 +33,11 @@ static StringFlag sectorSkew(
|
||||
"Order to emit sectors.",
|
||||
"");
|
||||
|
||||
static BoolFlag swapSides(
|
||||
{ "--ibm-swap-sides" },
|
||||
"Swap sides while writing.",
|
||||
false);
|
||||
|
||||
static ActionFlag preset360(
|
||||
{ "--st-preset-360" },
|
||||
"Preset parameters to a 3.5\" 360kB disk (1 side, 80 tracks, 9 sectors).",
|
||||
@@ -124,6 +129,7 @@ int mainWriteAtariST(int argc, const char* argv[])
|
||||
parameters.gap2 = gap2;
|
||||
parameters.gap3 = gap3;
|
||||
parameters.sectorSkew = sectorSkew;
|
||||
parameters.swapSides = swapSides;
|
||||
|
||||
IbmEncoder encoder(parameters);
|
||||
writeDiskCommand(encoder);
|
||||
|
||||
@@ -74,6 +74,11 @@ static StringFlag sectorSkew(
|
||||
"Order to emit sectors.",
|
||||
"");
|
||||
|
||||
static BoolFlag swapSides(
|
||||
{ "--ibm-swap-sides" },
|
||||
"Swap sides while writing. Needed for Commodore 1581, CMD FD-2000, Thomson TO7.",
|
||||
false);
|
||||
|
||||
static ActionFlag preset1440(
|
||||
{ "--ibm-preset-1440" },
|
||||
"Preset parameters to a 3.5\" 1440kB disk.",
|
||||
@@ -129,10 +134,10 @@ int mainWriteIbm(int argc, const char* argv[])
|
||||
parameters.gap2 = gap2;
|
||||
parameters.gap3 = gap3;
|
||||
parameters.sectorSkew = sectorSkew;
|
||||
parameters.swapSides = swapSides;
|
||||
|
||||
IbmEncoder encoder(parameters);
|
||||
writeDiskCommand(encoder);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user