20class D64File :
public AnyFile {
25 static const isize D64_683_SECTORS = 174848;
26 static const isize D64_683_SECTORS_ECC = 175531;
27 static const isize D64_768_SECTORS = 196608;
28 static const isize D64_768_SECTORS_ECC = 197376;
29 static const isize D64_802_SECTORS = 205312;
30 static const isize D64_802_SECTORS_ECC = 206114;
35 static bool isCompatible(
const fs::path &name);
36 static bool isCompatible(std::istream &stream);
44 D64File(isize tracks,
bool ecc);
45 D64File(
const fs::path &path) throws : D64File() { init(path); }
46 D64File(
const u8 *buf, isize len) throws : D64File() { init(buf, len); }
47 D64File(
class FileSystem &fs) throws : D64File() { init(fs); }
52 void init(isize tracks,
bool ecc);
53 void init(FileSystem &fs)
throws;
62 const char *objectName()
const override {
return "D64File"; }
69 bool isCompatiblePath(
const fs::path &path)
override {
return isCompatible(path); }
70 bool isCompatibleStream(std::istream &stream)
override {
return isCompatible(stream); }
71 FileType type()
const override {
return FILETYPE_D64; }
72 PETName<16> getName()
const override;
73 void finalizeRead() throws override;
83 Track numHalftracks() const;
84 Track numTracks()
const {
return numHalftracks() / 2; }
87 u8 getErrorCode(Block b)
const;
92 isize offset(Track track, Sector sector)
const;
102 void dump(Track track, Sector sector)
const;
VirtualC64 project namespace.
Definition CmdQueue.cpp:16