Add a read-only MS2000 file system, and a format (with no encoder or decoder).

This commit is contained in:
dg
2023-05-06 00:21:10 +00:00
parent e31e547322
commit 10605b3908
6 changed files with 36 additions and 1 deletions

View File

@@ -79,6 +79,7 @@ LIBFLUXENGINE_SRCS = \
lib/vfs/fatfs.cc \
lib/vfs/lif.cc \
lib/vfs/machfs.cc \
lib/vfs/microdos.cc \
lib/vfs/prodos.cc \
lib/vfs/smaky6fs.cc \
lib/vfs/philefs.cc \

View File

@@ -215,6 +215,9 @@ std::unique_ptr<Filesystem> Filesystem::createFilesystem(
case FilesystemProto::LIF:
return Filesystem::createLifFilesystem(config, image);
case FilesystemProto::MICRODOS:
return Filesystem::createMicrodosFilesystem(config, image);
default:
Error() << "no filesystem configured";
return std::unique_ptr<Filesystem>();

View File

@@ -256,6 +256,8 @@ public:
const FilesystemProto& config, std::shared_ptr<SectorInterface> image);
static std::unique_ptr<Filesystem> createLifFilesystem(
const FilesystemProto& config, std::shared_ptr<SectorInterface> image);
static std::unique_ptr<Filesystem> createMicrodosFilesystem(
const FilesystemProto& config, std::shared_ptr<SectorInterface> image);
static std::unique_ptr<Filesystem> createFilesystem(
const FilesystemProto& config, std::shared_ptr<SectorInterface> image);

View File

@@ -81,7 +81,9 @@ message LifProto
[ default = 256, (help) = "LIF filesystem block size" ];
}
// NEXT_TAG: 15
message MicrodosProto {}
// NEXT_TAG: 16
message FilesystemProto
{
enum FilesystemType
@@ -99,6 +101,7 @@ message FilesystemProto
APPLEDOS = 10;
PHILE = 11;
LIF = 12;
MICRODOS = 13;
}
optional FilesystemType type = 10
@@ -116,6 +119,7 @@ message FilesystemProto
optional Smaky6FsProto smaky6 = 11;
optional PhileProto phile = 13;
optional LifProto lif = 14;
optional MicrodosProto microdos = 15;
optional SectorListProto sector_order = 9
[ (help) = "specify the filesystem order of sectors" ];

View File

@@ -23,6 +23,7 @@ FORMATS = \
icl30 \
mac \
micropolis \
ms2000 \
mx \
n88basic \
northstar \

24
src/formats/ms2000.textpb Normal file
View File

@@ -0,0 +1,24 @@
comment: 'MS2000 Microdisk Development System'
image_writer {
filename: "ms2000.img"
type: IMG
}
layout {
tracks: 70
sides: 1
layoutdata {
sector_size: 512
physical {
start_sector: 1
count: 9
}
}
}
filesystem {
type: MICRODOS
}