mirror of
				https://github.com/davidgiven/fluxengine.git
				synced 2025-10-24 11:11:02 -07:00 
			
		
		
		
	Merge from trunk.
This commit is contained in:
		
							
								
								
									
										2
									
								
								.github/workflows/ccpp.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/ccpp.yml
									
									
									
									
										vendored
									
									
								
							| @@ -10,7 +10,7 @@ jobs: | |||||||
|       with: |       with: | ||||||
|         fetch-depth: 1 |         fetch-depth: 1 | ||||||
|     - name: apt |     - name: apt | ||||||
|       run: sudo apt install libusb-1.0-0-dev libsqlite3-dev ninja-build |       run: sudo apt update && sudo apt install libusb-1.0-0-dev libsqlite3-dev ninja-build | ||||||
|     - name: make |     - name: make | ||||||
|       run: make |       run: make | ||||||
|  |  | ||||||
|   | |||||||
| @@ -177,7 +177,8 @@ directory. | |||||||
| 	These all take an optional `--write-flux` option which will cause the raw | 	These all take an optional `--write-flux` option which will cause the raw | ||||||
| 	flux to be written to the specified file as well as the normal decode. | 	flux to be written to the specified file as well as the normal decode. | ||||||
| 	There are various `--dump` options for showing raw data during the decode | 	There are various `--dump` options for showing raw data during the decode | ||||||
| 	process. | 	process, and `--write-csv` will write a copious CSV report of the state of | ||||||
|  | 	every sector in the file in machine-readable format. | ||||||
|  |  | ||||||
|   - `fluxengine write *`: writes various formats of disk. Again, see the |   - `fluxengine write *`: writes various formats of disk. Again, see the | ||||||
| 	per-format documentation [in the index page](../README.md). | 	per-format documentation [in the index page](../README.md). | ||||||
|   | |||||||
							
								
								
									
										25
									
								
								lib/image.cc
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								lib/image.cc
									
									
									
									
									
								
							| @@ -1,25 +0,0 @@ | |||||||
| #include "globals.h" |  | ||||||
| #include "image.h" |  | ||||||
| #include "flags.h" |  | ||||||
| #include "dataspec.h" |  | ||||||
| #include "sector.h" |  | ||||||
| #include "sectorset.h" |  | ||||||
| #include "imagereader/imagereader.h" |  | ||||||
| #include "imagewriter/imagewriter.h" |  | ||||||
| #include "fmt/format.h" |  | ||||||
| #include <algorithm> |  | ||||||
| #include <iostream> |  | ||||||
| #include <fstream> |  | ||||||
|  |  | ||||||
| SectorSet readSectorsFromFile(const ImageSpec& spec) |  | ||||||
| { |  | ||||||
| 	return ImageReader::create(spec)->readImage(); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| void writeSectorsToFile(const SectorSet& sectors, const ImageSpec& spec) |  | ||||||
| { |  | ||||||
| 	std::unique_ptr<ImageWriter> writer(ImageWriter::create(sectors, spec)); |  | ||||||
| 	writer->adjustGeometry(); |  | ||||||
| 	writer->printMap(); |  | ||||||
| 	writer->writeImage(); |  | ||||||
| } |  | ||||||
							
								
								
									
										14
									
								
								lib/image.h
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								lib/image.h
									
									
									
									
									
								
							| @@ -1,14 +0,0 @@ | |||||||
| #ifndef IMAGE_H |  | ||||||
| #define IMAGE_H |  | ||||||
|  |  | ||||||
| class SectorSet; |  | ||||||
| class ImageSpec; |  | ||||||
|  |  | ||||||
| extern SectorSet readSectorsFromFile( |  | ||||||
| 	const ImageSpec& filename); |  | ||||||
|  |  | ||||||
| extern void writeSectorsToFile( |  | ||||||
| 	const SectorSet& sectors, |  | ||||||
| 	const ImageSpec& filename); |  | ||||||
|  |  | ||||||
| #endif |  | ||||||
| @@ -1,5 +1,4 @@ | |||||||
| #include "globals.h" | #include "globals.h" | ||||||
| #include "image.h" |  | ||||||
| #include "flags.h" | #include "flags.h" | ||||||
| #include "dataspec.h" | #include "dataspec.h" | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
|   | |||||||
| @@ -1,5 +1,4 @@ | |||||||
| #include "globals.h" | #include "globals.h" | ||||||
| #include "image.h" |  | ||||||
| #include "flags.h" | #include "flags.h" | ||||||
| #include "dataspec.h" | #include "dataspec.h" | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
|   | |||||||
| @@ -1,5 +1,4 @@ | |||||||
| #include "globals.h" | #include "globals.h" | ||||||
| #include "image.h" |  | ||||||
| #include "flags.h" | #include "flags.h" | ||||||
| #include "dataspec.h" | #include "dataspec.h" | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
|   | |||||||
| @@ -1,11 +1,12 @@ | |||||||
| #include "globals.h" | #include "globals.h" | ||||||
| #include "image.h" |  | ||||||
| #include "flags.h" | #include "flags.h" | ||||||
| #include "dataspec.h" | #include "dataspec.h" | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
| #include "sectorset.h" | #include "sectorset.h" | ||||||
| #include "imagewriter/imagewriter.h" | #include "imagewriter/imagewriter.h" | ||||||
| #include "fmt/format.h" | #include "fmt/format.h" | ||||||
|  | #include <iostream> | ||||||
|  | #include <fstream> | ||||||
|  |  | ||||||
| std::map<std::string, ImageWriter::Constructor> ImageWriter::formats = | std::map<std::string, ImageWriter::Constructor> ImageWriter::formats = | ||||||
| { | { | ||||||
| @@ -63,6 +64,56 @@ void ImageWriter::adjustGeometry() | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | void ImageWriter::writeCsv(const std::string& filename) | ||||||
|  | { | ||||||
|  | 	std::ofstream f(filename, std::ios::out); | ||||||
|  | 	if (!f.is_open()) | ||||||
|  | 		Error() << "cannot open CSV report file"; | ||||||
|  |  | ||||||
|  | 	f << "\"Physical track\"," | ||||||
|  | 		"\"Physical side\"," | ||||||
|  | 		"\"Logical track\"," | ||||||
|  | 		"\"Logical side\"," | ||||||
|  | 		"\"Logical sector\"," | ||||||
|  | 		"\"Clock (ns)\"," | ||||||
|  | 		"\"Header start (ns)\"," | ||||||
|  | 		"\"Header end (ns)\"," | ||||||
|  | 		"\"Data start (ns)\"," | ||||||
|  | 		"\"Data end (ns)\"," | ||||||
|  | 		"\"Raw data address (bytes)\"," | ||||||
|  | 		"\"User payload length (bytes)\"," | ||||||
|  | 		"\"Status\"" | ||||||
|  | 		"\n"; | ||||||
|  |  | ||||||
|  | 	for (int track = 0; track < spec.cylinders; track++) | ||||||
|  | 	{ | ||||||
|  | 		for (int head = 0; head < spec.heads; head++) | ||||||
|  | 		{ | ||||||
|  | 			for (int sectorId = 0; sectorId < spec.sectors; sectorId++) | ||||||
|  | 			{ | ||||||
|  | 				f << fmt::format("{},{},", track, head); | ||||||
|  | 				const auto& sector = sectors.get(track, head, sectorId); | ||||||
|  | 				if (!sector) | ||||||
|  | 					f << fmt::format(",,{},,,,,,,,MISSING\n", sectorId); | ||||||
|  | 				else | ||||||
|  | 					f << fmt::format("{},{},{},{},{},{},{},{},{},{},{}\n", | ||||||
|  | 						sector->logicalTrack, | ||||||
|  | 						sector->logicalSide, | ||||||
|  | 						sector->logicalSector, | ||||||
|  | 						sector->clock, | ||||||
|  | 						sector->headerStartTime, | ||||||
|  | 						sector->headerEndTime, | ||||||
|  | 						sector->dataStartTime, | ||||||
|  | 						sector->dataEndTime, | ||||||
|  | 						sector->position.bytes, | ||||||
|  | 						sector->data.size(), | ||||||
|  | 						Sector::statusToString(sector->status) | ||||||
|  | 					); | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
| void ImageWriter::printMap() | void ImageWriter::printMap() | ||||||
| { | { | ||||||
| 	int badSectors = 0; | 	int badSectors = 0; | ||||||
|   | |||||||
| @@ -35,6 +35,7 @@ private: | |||||||
| public: | public: | ||||||
| 	virtual void adjustGeometry(); | 	virtual void adjustGeometry(); | ||||||
| 	void printMap(); | 	void printMap(); | ||||||
|  | 	void writeCsv(const std::string& filename); | ||||||
| 	virtual void writeImage() = 0; | 	virtual void writeImage() = 0; | ||||||
|  |  | ||||||
| protected: | protected: | ||||||
|   | |||||||
| @@ -1,5 +1,4 @@ | |||||||
| #include "globals.h" | #include "globals.h" | ||||||
| #include "image.h" |  | ||||||
| #include "flags.h" | #include "flags.h" | ||||||
| #include "dataspec.h" | #include "dataspec.h" | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
|   | |||||||
| @@ -1,5 +1,4 @@ | |||||||
| #include "globals.h" | #include "globals.h" | ||||||
| #include "image.h" |  | ||||||
| #include "flags.h" | #include "flags.h" | ||||||
| #include "dataspec.h" | #include "dataspec.h" | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
|   | |||||||
| @@ -12,12 +12,13 @@ | |||||||
| #include "sectorset.h" | #include "sectorset.h" | ||||||
| #include "visualiser.h" | #include "visualiser.h" | ||||||
| #include "record.h" | #include "record.h" | ||||||
| #include "image.h" |  | ||||||
| #include "bytes.h" | #include "bytes.h" | ||||||
| #include "decoders/rawbits.h" | #include "decoders/rawbits.h" | ||||||
| #include "track.h" | #include "track.h" | ||||||
| #include "imagewriter/imagewriter.h" | #include "imagewriter/imagewriter.h" | ||||||
| #include "fmt/format.h" | #include "fmt/format.h" | ||||||
|  | #include <iostream> | ||||||
|  | #include <fstream> | ||||||
|  |  | ||||||
| FlagGroup readerFlags | FlagGroup readerFlags | ||||||
| { | { | ||||||
| @@ -68,6 +69,11 @@ static SettableFlag highDensityFlag( | |||||||
| 	{ "--high-density", "--hd" }, | 	{ "--high-density", "--hd" }, | ||||||
| 	"set the drive to high density mode"); | 	"set the drive to high density mode"); | ||||||
|  |  | ||||||
|  | static StringFlag csvFile( | ||||||
|  | 	{ "--write-csv" }, | ||||||
|  | 	"write a CSV report of the disk state", | ||||||
|  | 	""); | ||||||
|  |  | ||||||
| static std::unique_ptr<FluxSink> outputFluxSink; | static std::unique_ptr<FluxSink> outputFluxSink; | ||||||
|  |  | ||||||
| void setReaderDefaultSource(const std::string& source) | void setReaderDefaultSource(const std::string& source) | ||||||
| @@ -85,6 +91,16 @@ void setReaderRevolutions(int revolutions) | |||||||
| 	setHardwareFluxSourceRevolutions(revolutions); | 	setHardwareFluxSourceRevolutions(revolutions); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | static void writeSectorsToFile(const SectorSet& sectors, const ImageSpec& spec) | ||||||
|  | { | ||||||
|  | 	std::unique_ptr<ImageWriter> writer(ImageWriter::create(sectors, spec)); | ||||||
|  | 	writer->adjustGeometry(); | ||||||
|  | 	writer->printMap(); | ||||||
|  | 	if (!csvFile.get().empty()) | ||||||
|  | 		writer->writeCsv(csvFile.get()); | ||||||
|  | 	writer->writeImage(); | ||||||
|  | } | ||||||
|  |  | ||||||
| void Track::readFluxmap() | void Track::readFluxmap() | ||||||
| { | { | ||||||
| 	std::cout << fmt::format("{0:>3}.{1}: ", physicalTrack, physicalSide) << std::flush; | 	std::cout << fmt::format("{0:>3}.{1}: ", physicalTrack, physicalSide) << std::flush; | ||||||
| @@ -280,7 +296,7 @@ void readDiskCommand(AbstractDecoder& decoder) | |||||||
|  |  | ||||||
| 	if (!visualise.get().empty()) | 	if (!visualise.get().empty()) | ||||||
| 		visualiseSectorsToFile(allSectors, visualise.get()); | 		visualiseSectorsToFile(allSectors, visualise.get()); | ||||||
|  | 	 | ||||||
|     writeSectorsToFile(allSectors, outputSpec); |     writeSectorsToFile(allSectors, outputSpec); | ||||||
| 	if (failures) | 	if (failures) | ||||||
| 		std::cerr << "Warning: some sectors could not be decoded." << std::endl; | 		std::cerr << "Warning: some sectors could not be decoded." << std::endl; | ||||||
|   | |||||||
| @@ -1,5 +1,4 @@ | |||||||
| #include "globals.h" | #include "globals.h" | ||||||
| #include "image.h" |  | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
| #include "sectorset.h" | #include "sectorset.h" | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,6 +1,5 @@ | |||||||
| #define _USE_MATH_DEFINES | #define _USE_MATH_DEFINES | ||||||
| #include "globals.h" | #include "globals.h" | ||||||
| #include "image.h" |  | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
| #include "sectorset.h" | #include "sectorset.h" | ||||||
| #include "visualiser.h" | #include "visualiser.h" | ||||||
|   | |||||||
| @@ -9,9 +9,9 @@ | |||||||
| #include "encoders/encoders.h" | #include "encoders/encoders.h" | ||||||
| #include "fluxsource/fluxsource.h" | #include "fluxsource/fluxsource.h" | ||||||
| #include "fluxsink/fluxsink.h" | #include "fluxsink/fluxsink.h" | ||||||
|  | #include "imagereader/imagereader.h" | ||||||
| #include "fmt/format.h" | #include "fmt/format.h" | ||||||
| #include "record.h" | #include "record.h" | ||||||
| #include "image.h" |  | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
| #include "sectorset.h" | #include "sectorset.h" | ||||||
|  |  | ||||||
| @@ -43,6 +43,11 @@ void setWriterDefaultInput(const std::string& input) | |||||||
|     ::input.set(input); |     ::input.set(input); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | static SectorSet readSectorsFromFile(const ImageSpec& spec) | ||||||
|  | { | ||||||
|  | 	return ImageReader::create(spec)->readImage(); | ||||||
|  | } | ||||||
|  |  | ||||||
| void writeTracks( | void writeTracks( | ||||||
| 	const std::function<std::unique_ptr<Fluxmap>(int track, int side)> producer) | 	const std::function<std::unique_ptr<Fluxmap>(int track, int side)> producer) | ||||||
| { | { | ||||||
|   | |||||||
| @@ -192,7 +192,6 @@ buildlibrary libbackend.a \ | |||||||
|     lib/fluxsource/streamfluxsource.cc \ |     lib/fluxsource/streamfluxsource.cc \ | ||||||
|     lib/globals.cc \ |     lib/globals.cc \ | ||||||
|     lib/hexdump.cc \ |     lib/hexdump.cc \ | ||||||
|     lib/image.cc \ |  | ||||||
|     lib/ldbs.cc \ |     lib/ldbs.cc \ | ||||||
|     lib/reader.cc \ |     lib/reader.cc \ | ||||||
|     lib/sector.cc \ |     lib/sector.cc \ | ||||||
|   | |||||||
| @@ -4,7 +4,6 @@ | |||||||
| #include "fluxmap.h" | #include "fluxmap.h" | ||||||
| #include "decoders/fluxmapreader.h" | #include "decoders/fluxmapreader.h" | ||||||
| #include "decoders/decoders.h" | #include "decoders/decoders.h" | ||||||
| #include "image.h" |  | ||||||
| #include "protocol.h" | #include "protocol.h" | ||||||
| #include "decoders/rawbits.h" | #include "decoders/rawbits.h" | ||||||
| #include "record.h" | #include "record.h" | ||||||
|   | |||||||
| @@ -3,7 +3,6 @@ | |||||||
| #include "reader.h" | #include "reader.h" | ||||||
| #include "fluxmap.h" | #include "fluxmap.h" | ||||||
| #include "decoders/decoders.h" | #include "decoders/decoders.h" | ||||||
| #include "image.h" |  | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
| #include "sectorset.h" | #include "sectorset.h" | ||||||
| #include "record.h" | #include "record.h" | ||||||
|   | |||||||
| @@ -3,7 +3,6 @@ | |||||||
| #include "reader.h" | #include "reader.h" | ||||||
| #include "fluxmap.h" | #include "fluxmap.h" | ||||||
| #include "decoders/decoders.h" | #include "decoders/decoders.h" | ||||||
| #include "image.h" |  | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
| #include "sectorset.h" | #include "sectorset.h" | ||||||
| #include "record.h" | #include "record.h" | ||||||
|   | |||||||
| @@ -6,7 +6,6 @@ | |||||||
| #include "amiga/amiga.h" | #include "amiga/amiga.h" | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
| #include "sectorset.h" | #include "sectorset.h" | ||||||
| #include "image.h" |  | ||||||
| #include "record.h" | #include "record.h" | ||||||
| #include "fmt/format.h" | #include "fmt/format.h" | ||||||
| #include <fstream> | #include <fstream> | ||||||
|   | |||||||
| @@ -3,7 +3,6 @@ | |||||||
| #include "reader.h" | #include "reader.h" | ||||||
| #include "fluxmap.h" | #include "fluxmap.h" | ||||||
| #include "decoders/decoders.h" | #include "decoders/decoders.h" | ||||||
| #include "image.h" |  | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
| #include "sectorset.h" | #include "sectorset.h" | ||||||
| #include "record.h" | #include "record.h" | ||||||
|   | |||||||
| @@ -6,7 +6,6 @@ | |||||||
| #include "apple2/apple2.h" | #include "apple2/apple2.h" | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
| #include "sectorset.h" | #include "sectorset.h" | ||||||
| #include "image.h" |  | ||||||
| #include "record.h" | #include "record.h" | ||||||
| #include "fmt/format.h" | #include "fmt/format.h" | ||||||
| #include <fstream> | #include <fstream> | ||||||
|   | |||||||
| @@ -7,7 +7,6 @@ | |||||||
| #include "brother/brother.h" | #include "brother/brother.h" | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
| #include "sectorset.h" | #include "sectorset.h" | ||||||
| #include "image.h" |  | ||||||
| #include "record.h" | #include "record.h" | ||||||
| #include "fmt/format.h" | #include "fmt/format.h" | ||||||
| #include <fstream> | #include <fstream> | ||||||
|   | |||||||
| @@ -6,7 +6,6 @@ | |||||||
| #include "c64/c64.h" | #include "c64/c64.h" | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
| #include "sectorset.h" | #include "sectorset.h" | ||||||
| #include "image.h" |  | ||||||
| #include "record.h" | #include "record.h" | ||||||
| #include "fmt/format.h" | #include "fmt/format.h" | ||||||
| #include <fstream> | #include <fstream> | ||||||
|   | |||||||
| @@ -3,7 +3,6 @@ | |||||||
| #include "reader.h" | #include "reader.h" | ||||||
| #include "fluxmap.h" | #include "fluxmap.h" | ||||||
| #include "decoders/decoders.h" | #include "decoders/decoders.h" | ||||||
| #include "image.h" |  | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
| #include "sectorset.h" | #include "sectorset.h" | ||||||
| #include "record.h" | #include "record.h" | ||||||
|   | |||||||
| @@ -6,7 +6,6 @@ | |||||||
| #include "f85/f85.h" | #include "f85/f85.h" | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
| #include "sectorset.h" | #include "sectorset.h" | ||||||
| #include "image.h" |  | ||||||
| #include "record.h" | #include "record.h" | ||||||
| #include "fmt/format.h" | #include "fmt/format.h" | ||||||
| #include <fstream> | #include <fstream> | ||||||
|   | |||||||
| @@ -3,7 +3,6 @@ | |||||||
| #include "reader.h" | #include "reader.h" | ||||||
| #include "fluxmap.h" | #include "fluxmap.h" | ||||||
| #include "decoders/decoders.h" | #include "decoders/decoders.h" | ||||||
| #include "image.h" |  | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
| #include "sectorset.h" | #include "sectorset.h" | ||||||
| #include "record.h" | #include "record.h" | ||||||
|   | |||||||
| @@ -3,7 +3,6 @@ | |||||||
| #include "reader.h" | #include "reader.h" | ||||||
| #include "fluxmap.h" | #include "fluxmap.h" | ||||||
| #include "decoders/decoders.h" | #include "decoders/decoders.h" | ||||||
| #include "image.h" |  | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
| #include "sectorset.h" | #include "sectorset.h" | ||||||
| #include "record.h" | #include "record.h" | ||||||
|   | |||||||
| @@ -6,7 +6,6 @@ | |||||||
| #include "macintosh/macintosh.h" | #include "macintosh/macintosh.h" | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
| #include "sectorset.h" | #include "sectorset.h" | ||||||
| #include "image.h" |  | ||||||
| #include "record.h" | #include "record.h" | ||||||
| #include "fmt/format.h" | #include "fmt/format.h" | ||||||
| #include <fstream> | #include <fstream> | ||||||
|   | |||||||
| @@ -4,7 +4,6 @@ | |||||||
| #include "fluxmap.h" | #include "fluxmap.h" | ||||||
| #include "decoders/decoders.h" | #include "decoders/decoders.h" | ||||||
| #include "mx/mx.h" | #include "mx/mx.h" | ||||||
| #include "image.h" |  | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
| #include "sectorset.h" | #include "sectorset.h" | ||||||
| #include "record.h" | #include "record.h" | ||||||
|   | |||||||
| @@ -6,7 +6,6 @@ | |||||||
| #include "victor9k/victor9k.h" | #include "victor9k/victor9k.h" | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
| #include "sectorset.h" | #include "sectorset.h" | ||||||
| #include "image.h" |  | ||||||
| #include "record.h" | #include "record.h" | ||||||
| #include "fmt/format.h" | #include "fmt/format.h" | ||||||
| #include <fstream> | #include <fstream> | ||||||
|   | |||||||
| @@ -3,7 +3,6 @@ | |||||||
| #include "reader.h" | #include "reader.h" | ||||||
| #include "fluxmap.h" | #include "fluxmap.h" | ||||||
| #include "decoders/decoders.h" | #include "decoders/decoders.h" | ||||||
| #include "image.h" |  | ||||||
| #include "sector.h" | #include "sector.h" | ||||||
| #include "sectorset.h" | #include "sectorset.h" | ||||||
| #include "record.h" | #include "record.h" | ||||||
|   | |||||||
| @@ -4,7 +4,6 @@ | |||||||
| #include "amiga/amiga.h" | #include "amiga/amiga.h" | ||||||
| #include "writer.h" | #include "writer.h" | ||||||
| #include "fmt/format.h" | #include "fmt/format.h" | ||||||
| #include "image.h" |  | ||||||
| #include <fstream> | #include <fstream> | ||||||
|  |  | ||||||
| static FlagGroup flags { &writerFlags, &amigaEncoderFlags }; | static FlagGroup flags { &writerFlags, &amigaEncoderFlags }; | ||||||
|   | |||||||
| @@ -5,7 +5,6 @@ | |||||||
| #include "brother/brother.h" | #include "brother/brother.h" | ||||||
| #include "writer.h" | #include "writer.h" | ||||||
| #include "fmt/format.h" | #include "fmt/format.h" | ||||||
| #include "image.h" |  | ||||||
| #include <fstream> | #include <fstream> | ||||||
|  |  | ||||||
| static FlagGroup flags { &writerFlags, &brotherEncoderFlags }; | static FlagGroup flags { &writerFlags, &brotherEncoderFlags }; | ||||||
|   | |||||||
| @@ -5,7 +5,6 @@ | |||||||
| #include "ibm/ibm.h" | #include "ibm/ibm.h" | ||||||
| #include "writer.h" | #include "writer.h" | ||||||
| #include "fmt/format.h" | #include "fmt/format.h" | ||||||
| #include "image.h" |  | ||||||
| #include <fstream> | #include <fstream> | ||||||
|  |  | ||||||
| static FlagGroup flags { &writerFlags }; | static FlagGroup flags { &writerFlags }; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user