diff options
Diffstat (limited to 'src/lib/formats/fs_hp98x5.h')
-rw-r--r-- | src/lib/formats/fs_hp98x5.h | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/src/lib/formats/fs_hp98x5.h b/src/lib/formats/fs_hp98x5.h new file mode 100644 index 00000000000..e011a5cee48 --- /dev/null +++ b/src/lib/formats/fs_hp98x5.h @@ -0,0 +1,88 @@ +// license:BSD-3-Clause +// copyright-holders: F. Ulivi +/********************************************************************* + + fs_hp98x5.h + + HP 9825, 9831 & 9845 filesystem handling + +*********************************************************************/ + +#ifndef MAME_FORMATS_FS_HP98X5_H +#define MAME_FORMATS_FS_HP98X5_H + +#pragma once + +#include "fsmgr.h" + +namespace fs { + + class hp9825_image : public manager_t { + public: + hp9825_image() : manager_t() {} + + virtual const char *name() const override; + virtual const char *description() const override; + + virtual void enumerate_f(floppy_enumerator &fe) const override; + + virtual bool can_format() const override; + virtual bool can_read() const override; + virtual bool can_write() const override; + virtual bool has_rsrc() const override; + + virtual std::vector<meta_description> volume_meta_description() const override; + virtual std::vector<meta_description> file_meta_description() const override; + + virtual std::unique_ptr<filesystem_t> mount(fsblk_t &blockdev) const override; + + }; + + class hp9831_image : public manager_t { + public: + hp9831_image() : manager_t() {} + + virtual const char *name() const override; + virtual const char *description() const override; + + virtual void enumerate_f(floppy_enumerator &fe) const override; + + virtual bool can_format() const override; + virtual bool can_read() const override; + virtual bool can_write() const override; + virtual bool has_rsrc() const override; + + virtual std::vector<meta_description> volume_meta_description() const override; + virtual std::vector<meta_description> file_meta_description() const override; + + virtual std::unique_ptr<filesystem_t> mount(fsblk_t &blockdev) const override; + + }; + + class hp9845_image : public manager_t { + public: + hp9845_image() : manager_t() {} + + virtual const char *name() const override; + virtual const char *description() const override; + + virtual void enumerate_f(floppy_enumerator &fe) const override; + + virtual bool can_format() const override; + virtual bool can_read() const override; + virtual bool can_write() const override; + virtual bool has_rsrc() const override; + + virtual std::vector<meta_description> volume_meta_description() const override; + virtual std::vector<meta_description> file_meta_description() const override; + + virtual std::unique_ptr<filesystem_t> mount(fsblk_t &blockdev) const override; + + }; + + extern const hp9825_image HP9825; + extern const hp9831_image HP9831; + extern const hp9845_image HP9845; +} // namespace fs + +#endif /* MAME_FORMATS_FS_HP98X5_H */ |