mirror of
https://github.com/davidgiven/fluxengine.git
synced 2025-10-31 11:17:01 -07:00
Rename a bunch of config fields for clarity.
This commit is contained in:
@@ -9,25 +9,17 @@ import "lib/fluxsink/fluxsink.proto";
|
||||
import "lib/usb/usb.proto";
|
||||
import "lib/common.proto";
|
||||
|
||||
message InputDiskProto {
|
||||
oneof source {
|
||||
string fluxfile = 1;
|
||||
HardwareInputProto drive = 2;
|
||||
TestPatternInputProto test_pattern = 3;
|
||||
}
|
||||
}
|
||||
|
||||
message InputProto {
|
||||
oneof input {
|
||||
InputFileProto file = 1;
|
||||
InputDiskProto disk = 2;
|
||||
InputFileProto image = 1;
|
||||
FluxSourceProto flux = 2;
|
||||
}
|
||||
}
|
||||
|
||||
message OutputProto {
|
||||
oneof output {
|
||||
OutputFileProto file = 1;
|
||||
OutputDiskProto disk = 2;
|
||||
OutputFileProto image = 1;
|
||||
FluxSinkProto flux = 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
#include "fluxsink/fluxsink.h"
|
||||
#include "lib/config.pb.h"
|
||||
|
||||
std::unique_ptr<FluxSink> FluxSink::create(const OutputDiskProto& config)
|
||||
std::unique_ptr<FluxSink> FluxSink::create(const FluxSinkProto& config)
|
||||
{
|
||||
switch (config.dest_case())
|
||||
{
|
||||
case OutputDiskProto::kFluxfile:
|
||||
case FluxSinkProto::kFluxfile:
|
||||
return createSqliteFluxSink(config.fluxfile());
|
||||
|
||||
case OutputDiskProto::kDrive:
|
||||
case FluxSinkProto::kDrive:
|
||||
return createHardwareFluxSink(config.drive());
|
||||
}
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
#include <ostream>
|
||||
|
||||
class Fluxmap;
|
||||
class OutputDiskProto;
|
||||
class HardwareOutputProto;
|
||||
class FluxSinkProto;
|
||||
class HardwareFluxSinkProto;
|
||||
|
||||
class FluxSink
|
||||
{
|
||||
@@ -14,9 +14,9 @@ public:
|
||||
virtual ~FluxSink() {}
|
||||
|
||||
static std::unique_ptr<FluxSink> createSqliteFluxSink(const std::string& filename);
|
||||
static std::unique_ptr<FluxSink> createHardwareFluxSink(const HardwareOutputProto& config);
|
||||
static std::unique_ptr<FluxSink> createHardwareFluxSink(const HardwareFluxSinkProto& config);
|
||||
|
||||
static std::unique_ptr<FluxSink> create(const OutputDiskProto& config);
|
||||
static std::unique_ptr<FluxSink> create(const FluxSinkProto& config);
|
||||
|
||||
public:
|
||||
virtual void writeFlux(int track, int side, Fluxmap& fluxmap) = 0;
|
||||
|
||||
@@ -2,7 +2,7 @@ syntax = "proto2";
|
||||
|
||||
import "lib/common.proto";
|
||||
|
||||
message HardwareOutputProto {
|
||||
message HardwareFluxSinkProto {
|
||||
optional IndexMode index_mode = 1
|
||||
[default = INDEXMODE_DRIVE, (help) = "index pulse source"];
|
||||
optional int32 hard_sector_count = 2
|
||||
@@ -13,10 +13,10 @@ message HardwareOutputProto {
|
||||
[default = 0, (help) = "which drive to write to (0 or 1)"];
|
||||
}
|
||||
|
||||
message OutputDiskProto {
|
||||
message FluxSinkProto {
|
||||
oneof dest {
|
||||
string fluxfile = 1;
|
||||
HardwareOutputProto drive = 2;
|
||||
HardwareFluxSinkProto drive = 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
class HardwareFluxSink : public FluxSink
|
||||
{
|
||||
public:
|
||||
HardwareFluxSink(const HardwareOutputProto& config):
|
||||
HardwareFluxSink(const HardwareFluxSinkProto& config):
|
||||
_config(config)
|
||||
{
|
||||
if (config.has_hard_sector_count())
|
||||
@@ -52,11 +52,11 @@ public:
|
||||
}
|
||||
|
||||
private:
|
||||
const HardwareOutputProto& _config;
|
||||
const HardwareFluxSinkProto& _config;
|
||||
nanoseconds_t _hardSectorThreshold;
|
||||
};
|
||||
|
||||
std::unique_ptr<FluxSink> FluxSink::createHardwareFluxSink(const HardwareOutputProto& config)
|
||||
std::unique_ptr<FluxSink> FluxSink::createHardwareFluxSink(const HardwareFluxSinkProto& config)
|
||||
{
|
||||
return std::unique_ptr<FluxSink>(new HardwareFluxSink(config));
|
||||
}
|
||||
|
||||
@@ -11,17 +11,17 @@ static bool ends_with(const std::string& value, const std::string& ending)
|
||||
return std::equal(ending.rbegin(), ending.rend(), value.rbegin());
|
||||
}
|
||||
|
||||
std::unique_ptr<FluxSource> FluxSource::create(const InputDiskProto& config)
|
||||
std::unique_ptr<FluxSource> FluxSource::create(const FluxSourceProto& config)
|
||||
{
|
||||
switch (config.source_case())
|
||||
{
|
||||
case InputDiskProto::kFluxfile:
|
||||
case FluxSourceProto::kFluxfile:
|
||||
return createSqliteFluxSource(config.fluxfile());
|
||||
|
||||
case InputDiskProto::kDrive:
|
||||
case FluxSourceProto::kDrive:
|
||||
return createHardwareFluxSource(config.drive());
|
||||
|
||||
case InputDiskProto::kTestPattern:
|
||||
case FluxSourceProto::kTestPattern:
|
||||
return createTestPatternFluxSource(config.test_pattern());
|
||||
}
|
||||
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
|
||||
class Fluxmap;
|
||||
class FluxSpec;
|
||||
class InputDiskProto;
|
||||
class HardwareInputProto;
|
||||
class TestPatternInputProto;
|
||||
class FluxSourceProto;
|
||||
class HardwareFluxSourceProto;
|
||||
class TestPatternFluxSourceProto;
|
||||
|
||||
class FluxSource
|
||||
{
|
||||
@@ -16,12 +16,12 @@ public:
|
||||
|
||||
private:
|
||||
static std::unique_ptr<FluxSource> createSqliteFluxSource(const std::string& filename);
|
||||
static std::unique_ptr<FluxSource> createHardwareFluxSource(const HardwareInputProto& config);
|
||||
static std::unique_ptr<FluxSource> createHardwareFluxSource(const HardwareFluxSourceProto& config);
|
||||
static std::unique_ptr<FluxSource> createStreamFluxSource(const std::string& path);
|
||||
static std::unique_ptr<FluxSource> createTestPatternFluxSource(const TestPatternInputProto& config);
|
||||
static std::unique_ptr<FluxSource> createTestPatternFluxSource(const TestPatternFluxSourceProto& config);
|
||||
|
||||
public:
|
||||
static std::unique_ptr<FluxSource> create(const InputDiskProto& spec);
|
||||
static std::unique_ptr<FluxSource> create(const FluxSourceProto& spec);
|
||||
|
||||
public:
|
||||
virtual std::unique_ptr<Fluxmap> readFlux(int track, int side) = 0;
|
||||
|
||||
@@ -2,7 +2,7 @@ syntax = "proto2";
|
||||
|
||||
import "lib/common.proto";
|
||||
|
||||
message HardwareInputProto {
|
||||
message HardwareFluxSourceProto {
|
||||
optional int32 drive = 1 [default = 0];
|
||||
optional double revolutions = 2 [default = 1.2];
|
||||
|
||||
@@ -13,8 +13,16 @@ message HardwareInputProto {
|
||||
[default = true, (help) = "set if this is a high density disk"];
|
||||
}
|
||||
|
||||
message TestPatternInputProto {
|
||||
message TestPatternFluxSourceProto {
|
||||
optional double interval_us = 1 [default = 4.0];
|
||||
optional double sequence_length_us = 2 [default = 200.0];
|
||||
}
|
||||
|
||||
message FluxSourceProto {
|
||||
oneof source {
|
||||
string fluxfile = 1;
|
||||
HardwareFluxSourceProto drive = 2;
|
||||
TestPatternFluxSourceProto test_pattern = 3;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
class HardwareFluxSource : public FluxSource
|
||||
{
|
||||
public:
|
||||
HardwareFluxSource(const HardwareInputProto& config):
|
||||
HardwareFluxSource(const HardwareFluxSourceProto& config):
|
||||
_config(config)
|
||||
{
|
||||
usbSetDrive(_config.drive(), _config.high_density(), _config.index_mode());
|
||||
@@ -50,12 +50,12 @@ public:
|
||||
}
|
||||
|
||||
private:
|
||||
const HardwareInputProto& _config;
|
||||
const HardwareFluxSourceProto& _config;
|
||||
nanoseconds_t _oneRevolution;
|
||||
nanoseconds_t _hardSectorThreshold;
|
||||
};
|
||||
|
||||
std::unique_ptr<FluxSource> FluxSource::createHardwareFluxSource(const HardwareInputProto& config)
|
||||
std::unique_ptr<FluxSource> FluxSource::createHardwareFluxSource(const HardwareFluxSourceProto& config)
|
||||
{
|
||||
return std::unique_ptr<FluxSource>(new HardwareFluxSource(config));
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
class TestPatternFluxSource : public FluxSource
|
||||
{
|
||||
public:
|
||||
TestPatternFluxSource(const TestPatternInputProto& config):
|
||||
TestPatternFluxSource(const TestPatternFluxSourceProto& config):
|
||||
_config(config)
|
||||
{}
|
||||
|
||||
@@ -30,10 +30,10 @@ public:
|
||||
void recalibrate() {}
|
||||
|
||||
private:
|
||||
const TestPatternInputProto& _config;
|
||||
const TestPatternFluxSourceProto& _config;
|
||||
};
|
||||
|
||||
std::unique_ptr<FluxSource> FluxSource::createTestPatternFluxSource(const TestPatternInputProto& config)
|
||||
std::unique_ptr<FluxSource> FluxSource::createTestPatternFluxSource(const TestPatternFluxSourceProto& config)
|
||||
{
|
||||
return std::unique_ptr<FluxSource>(new TestPatternFluxSource(config));
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ std::unique_ptr<ImageReader> ImageReader::create(const InputFileProto& config)
|
||||
|
||||
void ImageReader::updateConfigForFilename(const std::string& filename)
|
||||
{
|
||||
InputFileProto* f = config.mutable_input()->mutable_file();
|
||||
InputFileProto* f = config.mutable_input()->mutable_image();
|
||||
static const std::map<std::string, std::function<void(void)>> formats =
|
||||
{
|
||||
{".adf", [&]() { f->mutable_img(); }},
|
||||
|
||||
@@ -33,7 +33,7 @@ std::unique_ptr<ImageWriter> ImageWriter::create(const OutputFileProto& config)
|
||||
|
||||
void ImageWriter::updateConfigForFilename(const std::string& filename)
|
||||
{
|
||||
OutputFileProto* f = config.mutable_output()->mutable_file();
|
||||
OutputFileProto* f = config.mutable_output()->mutable_image();
|
||||
static const std::map<std::string, std::function<void(void)>> formats =
|
||||
{
|
||||
{".adf", [&]() { f->mutable_img(); }},
|
||||
|
||||
@@ -25,7 +25,7 @@ static StringFlag sourceFlux(
|
||||
"",
|
||||
[](const auto& value)
|
||||
{
|
||||
config.mutable_input()->mutable_disk()->set_fluxfile(value);
|
||||
config.mutable_input()->mutable_flux()->set_fluxfile(value);
|
||||
});
|
||||
|
||||
static IntFlag sourceDrive(
|
||||
@@ -34,7 +34,7 @@ static IntFlag sourceDrive(
|
||||
0,
|
||||
[](const auto& value)
|
||||
{
|
||||
config.mutable_input()->mutable_disk()->mutable_drive()->set_drive(value);
|
||||
config.mutable_input()->mutable_flux()->mutable_drive()->set_drive(value);
|
||||
});
|
||||
|
||||
static StringFlag destImage(
|
||||
@@ -52,12 +52,12 @@ int mainRead(int argc, const char* argv[])
|
||||
{
|
||||
flags.parseFlagsWithConfigFiles(argc, argv, readables);
|
||||
|
||||
if (!config.input().has_disk() || !config.output().has_file())
|
||||
if (!config.input().has_flux() || !config.output().has_image())
|
||||
Error() << "incomplete config (did you remember to specify the format?)";
|
||||
|
||||
std::unique_ptr<FluxSource> fluxSource(FluxSource::create(config.input().disk()));
|
||||
std::unique_ptr<FluxSource> fluxSource(FluxSource::create(config.input().flux()));
|
||||
std::unique_ptr<AbstractDecoder> decoder(AbstractDecoder::create(config.decoder()));
|
||||
std::unique_ptr<ImageWriter> writer(ImageWriter::create(config.output().file()));
|
||||
std::unique_ptr<ImageWriter> writer(ImageWriter::create(config.output().image()));
|
||||
|
||||
readDiskCommand(*fluxSource, *decoder, *writer);
|
||||
|
||||
|
||||
@@ -13,15 +13,15 @@ static IntFlag driveFlag(
|
||||
0,
|
||||
[](const auto& value)
|
||||
{
|
||||
config.mutable_input()->mutable_disk()->mutable_drive()->set_drive(value);
|
||||
config.mutable_input()->mutable_flux()->mutable_drive()->set_drive(value);
|
||||
});
|
||||
|
||||
int mainRpm(int argc, const char* argv[])
|
||||
{
|
||||
flags.parseFlagsWithConfigFiles(argc, argv, {});
|
||||
|
||||
usbSetDrive(config.input().disk().drive().drive(), false, F_INDEX_REAL);
|
||||
nanoseconds_t period = usbGetRotationalPeriod(config.input().disk().drive().hard_sector_count());
|
||||
usbSetDrive(config.input().flux().drive().drive(), false, F_INDEX_REAL);
|
||||
nanoseconds_t period = usbGetRotationalPeriod(config.input().flux().drive().hard_sector_count());
|
||||
if (period != 0)
|
||||
std::cout << "Rotational period is " << period/1000000 << " ms (" << 60e9/period << " rpm)" << std::endl;
|
||||
else
|
||||
|
||||
@@ -34,7 +34,7 @@ static StringFlag destFlux(
|
||||
"",
|
||||
[](const auto& value)
|
||||
{
|
||||
config.mutable_output()->mutable_disk()->set_fluxfile(value);
|
||||
config.mutable_output()->mutable_flux()->set_fluxfile(value);
|
||||
});
|
||||
|
||||
static IntFlag destDrive(
|
||||
@@ -43,7 +43,7 @@ static IntFlag destDrive(
|
||||
0,
|
||||
[](const auto& value)
|
||||
{
|
||||
config.mutable_output()->mutable_disk()->mutable_drive()->set_drive(value);
|
||||
config.mutable_output()->mutable_flux()->mutable_drive()->set_drive(value);
|
||||
});
|
||||
|
||||
extern const std::map<std::string, std::string> writables;
|
||||
@@ -52,12 +52,12 @@ int mainWrite(int argc, const char* argv[])
|
||||
{
|
||||
flags.parseFlagsWithConfigFiles(argc, argv, writables);
|
||||
|
||||
if (!config.input().has_disk() || !config.output().has_file())
|
||||
if (!config.input().has_image() || !config.output().has_flux())
|
||||
Error() << "incomplete config (did you remember to specify the format?)";
|
||||
|
||||
std::unique_ptr<ImageReader> reader(ImageReader::create(config.input().file()));
|
||||
std::unique_ptr<ImageReader> reader(ImageReader::create(config.input().image()));
|
||||
std::unique_ptr<AbstractEncoder> encoder(AbstractEncoder::create(config.encoder()));
|
||||
std::unique_ptr<FluxSink> fluxSink(FluxSink::create(config.output().disk()));
|
||||
std::unique_ptr<FluxSink> fluxSink(FluxSink::create(config.output().flux()));
|
||||
|
||||
writeDiskCommand(*reader, *encoder, *fluxSink);
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
input {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
output {
|
||||
file {
|
||||
image {
|
||||
filename: "acornadfs.img"
|
||||
img {}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
input {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
output {
|
||||
file {
|
||||
image {
|
||||
filename: "acorndfs.img"
|
||||
img {}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
input {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
output {
|
||||
file {
|
||||
image {
|
||||
filename: "aeslanier.img"
|
||||
img {}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
input {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
output {
|
||||
file {
|
||||
image {
|
||||
filename: "amiga.adf"
|
||||
img {
|
||||
tracks: 80
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
input {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
output {
|
||||
file {
|
||||
image {
|
||||
filename: "ampro.img"
|
||||
img {}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
input {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
output {
|
||||
file {
|
||||
image {
|
||||
filename: "apple2.img"
|
||||
img {}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
input {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
output {
|
||||
file {
|
||||
image {
|
||||
filename: "atarist.img"
|
||||
img {}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
input {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
output {
|
||||
file {
|
||||
image {
|
||||
filename: "brother.img"
|
||||
img {}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
input {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
output {
|
||||
file {
|
||||
image {
|
||||
filename: "c64.d64"
|
||||
d64 {}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
input {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
output {
|
||||
file {
|
||||
image {
|
||||
filename: "f85.img"
|
||||
img {}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
input {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
output {
|
||||
file {
|
||||
image {
|
||||
filename: "fb100.img"
|
||||
img {}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
input {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
output {
|
||||
file {
|
||||
image {
|
||||
filename: "ibm.img"
|
||||
img {}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
input {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
output {
|
||||
file {
|
||||
image {
|
||||
filename: "macintosh.diskcopy"
|
||||
diskcopy {}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
input {
|
||||
disk {
|
||||
flux {
|
||||
drive {
|
||||
hard_sector_count: 16
|
||||
}
|
||||
@@ -7,7 +7,7 @@ input {
|
||||
}
|
||||
|
||||
output {
|
||||
file {
|
||||
image {
|
||||
filename: "micropolis.img"
|
||||
img {}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
input {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
output {
|
||||
file {
|
||||
image {
|
||||
filename: "mx.img"
|
||||
img {}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
input {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
output {
|
||||
file {
|
||||
image {
|
||||
filename: "tids990.img"
|
||||
img {}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
input {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
output {
|
||||
file {
|
||||
image {
|
||||
filename: "victor9k.img"
|
||||
img {}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
input {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
output {
|
||||
file {
|
||||
image {
|
||||
filename: "zilogmcz.img"
|
||||
img {}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
input {
|
||||
file {
|
||||
image {
|
||||
filename: "amiga.adf"
|
||||
img {
|
||||
format {
|
||||
@@ -13,7 +13,7 @@ input {
|
||||
}
|
||||
|
||||
output {
|
||||
disk {}
|
||||
flux {}
|
||||
}
|
||||
|
||||
encoder {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
input {
|
||||
file {
|
||||
image {
|
||||
filename: "atarist360.img"
|
||||
img {
|
||||
format {
|
||||
@@ -13,7 +13,7 @@ input {
|
||||
}
|
||||
|
||||
output {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
input {
|
||||
file {
|
||||
image {
|
||||
filename: "atarist370.img"
|
||||
img {
|
||||
format {
|
||||
@@ -13,7 +13,7 @@ input {
|
||||
}
|
||||
|
||||
output {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
input {
|
||||
file {
|
||||
image {
|
||||
filename: "atarist400.img"
|
||||
img {
|
||||
format {
|
||||
@@ -13,7 +13,7 @@ input {
|
||||
}
|
||||
|
||||
output {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
input {
|
||||
file {
|
||||
image {
|
||||
filename: "atarist410.img"
|
||||
img {
|
||||
format {
|
||||
@@ -13,7 +13,7 @@ input {
|
||||
}
|
||||
|
||||
output {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
input {
|
||||
file {
|
||||
image {
|
||||
filename: "atarist720.img"
|
||||
img {
|
||||
format {
|
||||
@@ -13,7 +13,7 @@ input {
|
||||
}
|
||||
|
||||
output {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
input {
|
||||
file {
|
||||
image {
|
||||
filename: "atarist740.img"
|
||||
img {
|
||||
format {
|
||||
@@ -13,7 +13,7 @@ input {
|
||||
}
|
||||
|
||||
output {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
input {
|
||||
file {
|
||||
image {
|
||||
filename: "atarist800.img"
|
||||
img {
|
||||
format {
|
||||
@@ -13,7 +13,7 @@ input {
|
||||
}
|
||||
|
||||
output {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
input {
|
||||
file {
|
||||
image {
|
||||
filename: "atarist820.img"
|
||||
img {
|
||||
format {
|
||||
@@ -13,7 +13,7 @@ input {
|
||||
}
|
||||
|
||||
output {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
input {
|
||||
file {
|
||||
image {
|
||||
filename: "brother120.img"
|
||||
img {
|
||||
format {
|
||||
@@ -13,7 +13,7 @@ input {
|
||||
}
|
||||
|
||||
output {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
input {
|
||||
file {
|
||||
image {
|
||||
filename: "brother240.img"
|
||||
img {
|
||||
format {
|
||||
@@ -11,7 +11,7 @@ input {
|
||||
}
|
||||
|
||||
output {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
input {
|
||||
file {
|
||||
image {
|
||||
filename: "commodore1581.img"
|
||||
img {
|
||||
format {
|
||||
@@ -11,7 +11,7 @@ input {
|
||||
}
|
||||
|
||||
output {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
input {
|
||||
file {
|
||||
image {
|
||||
filename: "hplif770.img"
|
||||
img {
|
||||
format {
|
||||
@@ -13,7 +13,7 @@ input {
|
||||
}
|
||||
|
||||
output {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
input {
|
||||
file {
|
||||
image {
|
||||
filename: "ibm1440.img"
|
||||
img {
|
||||
format {
|
||||
@@ -11,7 +11,7 @@ input {
|
||||
}
|
||||
|
||||
output {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
input {
|
||||
file {
|
||||
image {
|
||||
filename: "ibm720.img"
|
||||
img {
|
||||
format {
|
||||
@@ -11,7 +11,7 @@ input {
|
||||
}
|
||||
|
||||
output {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
input {
|
||||
file {
|
||||
filename: "macintosh.diskcopy42"
|
||||
image {
|
||||
filename: "macintosh.diskcopy"
|
||||
diskcopy {}
|
||||
}
|
||||
}
|
||||
|
||||
output {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
input {
|
||||
file {
|
||||
image {
|
||||
filename: "tids990.img"
|
||||
img {
|
||||
format {
|
||||
@@ -13,7 +13,7 @@ input {
|
||||
}
|
||||
|
||||
output {
|
||||
disk {
|
||||
flux {
|
||||
drive {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,13 +44,13 @@ static void test_config(void)
|
||||
|
||||
const std::string text = R"M(
|
||||
input {
|
||||
file {
|
||||
image {
|
||||
filename: "filename"
|
||||
}
|
||||
}
|
||||
|
||||
output {
|
||||
disk {
|
||||
flux {
|
||||
drive { }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user