mirror of
https://github.com/davidgiven/fluxengine.git
synced 2025-10-31 11:17:01 -07:00
Convert the ZilogMcz decoder.
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
#ifndef ZILOGMCZ_H
|
#ifndef MICROPOLIS_H
|
||||||
#define ZILOGMCZ_H
|
#define MICROPOLIS_H
|
||||||
|
|
||||||
#define MICROPOLIS_ENCODED_SECTOR_SIZE (1+2+266+6)
|
#define MICROPOLIS_ENCODED_SECTOR_SIZE (1+2+266+6)
|
||||||
|
|
||||||
|
|||||||
@@ -3,10 +3,12 @@
|
|||||||
|
|
||||||
class Sector;
|
class Sector;
|
||||||
class Fluxmap;
|
class Fluxmap;
|
||||||
|
class ZilogMczInputProto;
|
||||||
|
|
||||||
class ZilogMczDecoder : public AbstractDecoder
|
class ZilogMczDecoder : public AbstractDecoder
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
ZilogMczDecoder(const ZilogMczInputProto&) {}
|
||||||
virtual ~ZilogMczDecoder() {}
|
virtual ~ZilogMczDecoder() {}
|
||||||
|
|
||||||
RecordType advanceToNextRecord();
|
RecordType advanceToNextRecord();
|
||||||
|
|||||||
4
arch/zilogmcz/zilogmcz.proto
Normal file
4
arch/zilogmcz/zilogmcz.proto
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
message ZilogMczInputProto {}
|
||||||
|
|
||||||
@@ -15,6 +15,7 @@
|
|||||||
#include "arch/mx/mx.h"
|
#include "arch/mx/mx.h"
|
||||||
#include "arch/tids990/tids990.h"
|
#include "arch/tids990/tids990.h"
|
||||||
#include "arch/victor9k/victor9k.h"
|
#include "arch/victor9k/victor9k.h"
|
||||||
|
#include "arch/zilogmcz/zilogmcz.h"
|
||||||
#include "decoders/fluxmapreader.h"
|
#include "decoders/fluxmapreader.h"
|
||||||
#include "record.h"
|
#include "record.h"
|
||||||
#include "protocol.h"
|
#include "protocol.h"
|
||||||
@@ -65,6 +66,9 @@ std::unique_ptr<AbstractDecoder> AbstractDecoder::create(const DecoderProto& con
|
|||||||
case DecoderProto::kVictor9K:
|
case DecoderProto::kVictor9K:
|
||||||
return std::unique_ptr<AbstractDecoder>(new Victor9kDecoder(config.victor9k()));
|
return std::unique_ptr<AbstractDecoder>(new Victor9kDecoder(config.victor9k()));
|
||||||
|
|
||||||
|
case DecoderProto::kZilogmcz:
|
||||||
|
return std::unique_ptr<AbstractDecoder>(new ZilogMczDecoder(config.zilogmcz()));
|
||||||
|
|
||||||
default:
|
default:
|
||||||
Error() << "no input disk format specified";
|
Error() << "no input disk format specified";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import "arch/micropolis/micropolis.proto";
|
|||||||
import "arch/mx/mx.proto";
|
import "arch/mx/mx.proto";
|
||||||
import "arch/tids990/tids990.proto";
|
import "arch/tids990/tids990.proto";
|
||||||
import "arch/victor9k/victor9k.proto";
|
import "arch/victor9k/victor9k.proto";
|
||||||
|
import "arch/zilogmcz/zilogmcz.proto";
|
||||||
import "lib/common.proto";
|
import "lib/common.proto";
|
||||||
|
|
||||||
message DecoderProto {
|
message DecoderProto {
|
||||||
@@ -39,6 +40,7 @@ message DecoderProto {
|
|||||||
MxInputProto mx = 15;
|
MxInputProto mx = 15;
|
||||||
Tids990InputProto tids990 = 16;
|
Tids990InputProto tids990 = 16;
|
||||||
Victor9kInputProto victor9k = 17;
|
Victor9kInputProto victor9k = 17;
|
||||||
|
ZilogMczInputProto zilogmcz = 18;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -270,6 +270,7 @@ buildproto libproto.a \
|
|||||||
arch/mx/mx.proto \
|
arch/mx/mx.proto \
|
||||||
arch/tids990/tids990.proto \
|
arch/tids990/tids990.proto \
|
||||||
arch/victor9k/victor9k.proto \
|
arch/victor9k/victor9k.proto \
|
||||||
|
arch/zilogmcz/zilogmcz.proto \
|
||||||
lib/common.proto \
|
lib/common.proto \
|
||||||
lib/config.proto \
|
lib/config.proto \
|
||||||
lib/decoders/decoders.proto \
|
lib/decoders/decoders.proto \
|
||||||
@@ -365,6 +366,7 @@ READABLES="\
|
|||||||
mx \
|
mx \
|
||||||
tids990 \
|
tids990 \
|
||||||
victor9k \
|
victor9k \
|
||||||
|
zilogmcz \
|
||||||
"
|
"
|
||||||
|
|
||||||
WRITABLES="\
|
WRITABLES="\
|
||||||
@@ -427,8 +429,6 @@ buildlibrary libfrontend.a \
|
|||||||
src/fe-writeflux.cc \
|
src/fe-writeflux.cc \
|
||||||
src/fluxengine.cc \
|
src/fluxengine.cc \
|
||||||
|
|
||||||
# src/fe-readzilogmcz.cc \
|
|
||||||
|
|
||||||
buildprogram fluxengine \
|
buildprogram fluxengine \
|
||||||
libfrontend.a \
|
libfrontend.a \
|
||||||
libbackend.a \
|
libbackend.a \
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
#include "globals.h"
|
|
||||||
#include "flags.h"
|
|
||||||
#include "reader.h"
|
|
||||||
#include "fluxmap.h"
|
|
||||||
#include "decoders/decoders.h"
|
|
||||||
#include "sector.h"
|
|
||||||
#include "sectorset.h"
|
|
||||||
#include "record.h"
|
|
||||||
#include "zilogmcz/zilogmcz.h"
|
|
||||||
#include "fmt/format.h"
|
|
||||||
|
|
||||||
static FlagGroup flags { &readerFlags };
|
|
||||||
|
|
||||||
int mainReadZilogMCZ(int argc, const char* argv[])
|
|
||||||
{
|
|
||||||
setReaderDefaultSource(":t=0-76:s=0");
|
|
||||||
setReaderDefaultOutput("zilogmcz.img");
|
|
||||||
setReaderRevolutions(2);
|
|
||||||
flags.parseFlags(argc, argv);
|
|
||||||
|
|
||||||
ZilogMczDecoder decoder;
|
|
||||||
readDiskCommand(decoder);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
27
src/readables/zilogmcz.textpb
Normal file
27
src/readables/zilogmcz.textpb
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
input {
|
||||||
|
disk {
|
||||||
|
drive {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
output {
|
||||||
|
file {
|
||||||
|
filename: "zilogmcz.img"
|
||||||
|
img {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
decoder {
|
||||||
|
zilogmcz {}
|
||||||
|
}
|
||||||
|
|
||||||
|
cylinders {
|
||||||
|
start: 0
|
||||||
|
end: 76
|
||||||
|
}
|
||||||
|
|
||||||
|
heads {
|
||||||
|
start: 0
|
||||||
|
end: 0
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user