Modularise encoders. Change arch to not depend on +lib.

This commit is contained in:
David Given
2024-10-16 22:00:51 +02:00
parent 5eef01377f
commit 1bcc8f45b5
24 changed files with 37 additions and 41 deletions

View File

@@ -1,9 +1,9 @@
#include "lib/core/globals.h"
#include "lib/core/utils.h"
#include "lib/decoders/decoders.h"
#include "lib/encoders/encoders.h"
#include "agat.h"
#include "lib/core/crc.h"
#include "lib/readerwriter.h"
#include "lib/data/image.h"
#include "lib/data/layout.h"
#include "arch/agat/agat.pb.h"

View File

@@ -1,9 +1,9 @@
#include "lib/core/globals.h"
#include "lib/core/utils.h"
#include "lib/decoders/decoders.h"
#include "lib/encoders/encoders.h"
#include "amiga.h"
#include "lib/core/crc.h"
#include "lib/readerwriter.h"
#include "lib/data/image.h"
#include "arch/amiga/amiga.pb.h"
#include "lib/encoders/encoders.pb.h"

View File

@@ -1,9 +1,9 @@
#include "lib/core/globals.h"
#include "lib/core/utils.h"
#include "arch/apple2/apple2.h"
#include "lib/decoders/decoders.h"
#include "lib/encoders/encoders.h"
#include "lib/data/sector.h"
#include "lib/readerwriter.h"
#include "lib/data/image.h"
#include "fmt/format.h"
#include "lib/encoders/encoders.pb.h"

View File

@@ -1,9 +1,9 @@
#include "lib/core/globals.h"
#include "lib/core/utils.h"
#include "lib/decoders/decoders.h"
#include "lib/encoders/encoders.h"
#include "brother.h"
#include "lib/core/crc.h"
#include "lib/readerwriter.h"
#include "lib/data/image.h"
#include "arch/brother/brother.pb.h"
#include "lib/encoders/encoders.pb.h"

View File

@@ -98,5 +98,5 @@ cxxlibrary(
"arch/tartu/tartu.h": "./tartu/tartu.h",
"arch/arch.h": "./arch.h",
},
deps=["+lib"],
deps=["lib/core", "lib/data", "lib/config", "lib/encoders", "lib/decoders"],
)

View File

@@ -1,10 +1,10 @@
#include "lib/core/globals.h"
#include "lib/core/utils.h"
#include "lib/decoders/decoders.h"
#include "lib/encoders/encoders.h"
#include "c64.h"
#include "lib/core/crc.h"
#include "lib/data/sector.h"
#include "lib/readerwriter.h"
#include "lib/data/image.h"
#include "fmt/format.h"
#include "arch/c64/c64.pb.h"

View File

@@ -4,7 +4,6 @@
#include "lib/encoders/encoders.h"
#include "ibm.h"
#include "lib/core/crc.h"
#include "lib/readerwriter.h"
#include "lib/data/image.h"
#include "arch/ibm/ibm.pb.h"
#include "lib/encoders/encoders.pb.h"

View File

@@ -1,9 +1,9 @@
#include "lib/core/globals.h"
#include "lib/core/utils.h"
#include "lib/decoders/decoders.h"
#include "lib/encoders/encoders.h"
#include "macintosh.h"
#include "lib/core/crc.h"
#include "lib/readerwriter.h"
#include "lib/data/image.h"
#include "fmt/format.h"
#include "lib/encoders/encoders.pb.h"

View File

@@ -3,7 +3,6 @@
#include "lib/encoders/encoders.h"
#include "tids990.h"
#include "lib/core/crc.h"
#include "lib/readerwriter.h"
#include "lib/data/image.h"
#include "arch/tids990/tids990.pb.h"
#include "lib/encoders/encoders.pb.h"

View File

@@ -1,10 +1,10 @@
#include "lib/core/globals.h"
#include "lib/core/utils.h"
#include "lib/decoders/decoders.h"
#include "lib/encoders/encoders.h"
#include "victor9k.h"
#include "lib/core/crc.h"
#include "lib/data/sector.h"
#include "lib/readerwriter.h"
#include "lib/data/image.h"
#include "fmt/format.h"
#include "arch/victor9k/victor9k.pb.h"

View File

@@ -22,11 +22,9 @@ clibrary(name="protocol", hdrs={"protocol.h": "./protocol.h"})
cxxlibrary(
name="lib",
srcs=[
"./lib/encoders/encoders.cc",
"./lib/readerwriter.cc",
],
hdrs={
"lib/encoders/encoders.h": "./lib/encoders/encoders.h",
"lib/readerwriter.h": "./lib/readerwriter.h",
},
deps=[
@@ -47,6 +45,7 @@ cxxlibrary(
"lib/imagereader",
"lib/imagewriter",
"lib/decoders",
"lib/encoders",
],
)

View File

@@ -249,3 +249,18 @@ void warning(const std::string msg)
{
log(msg);
}
void fillBitmapTo(std::vector<bool>& bitmap,
unsigned& cursor,
unsigned terminateAt,
const std::vector<bool>& pattern)
{
while (cursor < terminateAt)
{
for (bool b : pattern)
{
if (cursor < bitmap.size())
bitmap[cursor++] = b;
}
}
}

View File

@@ -23,6 +23,11 @@ extern int countSetBits(uint32_t word);
extern uint32_t unbcd(uint32_t bcd);
extern int findLowestSetBit(uint64_t value);
extern void fillBitmapTo(std::vector<bool>& bitmap,
unsigned& cursor,
unsigned terminateAt,
const std::vector<bool>& pattern);
template <class K, class V>
std::map<V, K> reverseMap(const std::map<K, V>& map)
{

View File

@@ -1,5 +1,5 @@
from build.protobuf import proto, protocc
from build.c import cxxlibrary
proto(
name="proto",
@@ -11,3 +11,10 @@ protocc(
srcs=[".+proto"],
deps=["lib+common_proto_lib", "arch+proto_lib"],
)
cxxlibrary(
name="encoders",
srcs=["./encoders.cc"],
hdrs={"lib/encoders/encoders.h": "./encoders.h"},
deps=["lib/core", "lib/data", "lib/config", ".+proto_lib"],
)

View File

@@ -1,7 +1,6 @@
#include "lib/core/globals.h"
#include "lib/config/config.h"
#include "lib/data/fluxmap.h"
#include "lib/decoders/decoders.h"
#include "lib/encoders/encoders.h"
#include "lib/encoders/encoders.pb.h"
#include "lib/config/proto.h"

View File

@@ -768,18 +768,3 @@ void rawReadDiskCommand(FluxSource& fluxsource, FluxSink& fluxsink)
log(EndOperationLogMessage{"Raw read complete"});
}
void fillBitmapTo(std::vector<bool>& bitmap,
unsigned& cursor,
unsigned terminateAt,
const std::vector<bool>& pattern)
{
while (cursor < terminateAt)
{
for (bool b : pattern)
{
if (cursor < bitmap.size())
bitmap[cursor++] = b;
}
}
}

View File

@@ -86,11 +86,6 @@ extern void writeTracksAndVerify(FluxSink& fluxSink,
const Image& image,
std::vector<std::shared_ptr<const TrackInfo>>& locations);
extern void fillBitmapTo(std::vector<bool>& bitmap,
unsigned& cursor,
unsigned terminateAt,
const std::vector<bool>& pattern);
extern void writeDiskCommand(const Image& image,
Encoder& encoder,
FluxSink& fluxSink,

View File

@@ -5,7 +5,6 @@
#include "lib/core/bitmap.h"
#include "lib/data/fluxmap.h"
#include "lib/data/fluxmapreader.h"
#include "lib/readerwriter.h"
#include "protocol.h"
#include "lib/config/proto.h"
#include "lib/fluxsink/fluxsink.h"

View File

@@ -3,7 +3,6 @@
#include "lib/data/fluxmap.h"
#include "lib/data/sector.h"
#include "lib/config/proto.h"
#include "lib/readerwriter.h"
#include "lib/imagereader/imagereader.h"
#include "lib/imagewriter/imagewriter.h"
#include "lib/fluxsource/fluxsource.h"

View File

@@ -3,7 +3,6 @@
#include "lib/data/fluxmap.h"
#include "lib/data/sector.h"
#include "lib/config/proto.h"
#include "lib/readerwriter.h"
#include "lib/imagereader/imagereader.h"
#include "lib/imagewriter/imagewriter.h"
#include "lib/fluxsource/fluxsource.h"

View File

@@ -3,7 +3,6 @@
#include "lib/data/fluxmap.h"
#include "lib/data/sector.h"
#include "lib/config/proto.h"
#include "lib/readerwriter.h"
#include "lib/imagereader/imagereader.h"
#include "lib/imagewriter/imagewriter.h"
#include "lib/fluxsource/fluxsource.h"

View File

@@ -3,7 +3,6 @@
#include "lib/data/fluxmap.h"
#include "lib/data/sector.h"
#include "lib/config/proto.h"
#include "lib/readerwriter.h"
#include "lib/imagereader/imagereader.h"
#include "lib/imagewriter/imagewriter.h"
#include "lib/fluxsource/fluxsource.h"

View File

@@ -1,7 +1,6 @@
#include "lib/core/globals.h"
#include "lib/config/config.h"
#include "lib/config/flags.h"
#include "lib/readerwriter.h"
#include "lib/data/fluxmap.h"
#include "lib/data/fluxmapreader.h"
#include "lib/decoders/fluxdecoder.h"

View File

@@ -3,7 +3,6 @@
#include "lib/data/fluxmap.h"
#include "lib/data/sector.h"
#include "lib/config/proto.h"
#include "lib/readerwriter.h"
#include "lib/decoders/decoders.h"
#include "lib/fluxsource/fluxsource.h"
#include "lib/imagereader/imagereader.h"