1 // license:BSD-3-Clause 2 // copyright-holders:Miodrag Milanovic 3 /********************************************************************* 4 5 formats/imd_dsk.h 6 7 IMD disk images 8 9 *********************************************************************/ 10 #ifndef MAME_FORMATS_IMD_DSK_H 11 #define MAME_FORMATS_IMD_DSK_H 12 13 #include "flopimg.h" 14 15 class imd_format : public floppy_image_format_t 16 { 17 public: 18 imd_format(); 19 20 virtual int identify(io_generic *io, uint32_t form_factor) override; 21 virtual bool load(io_generic *io, uint32_t form_factor, floppy_image *image) override; 22 virtual bool save(io_generic* io, floppy_image* image) override; 23 24 virtual const char *name() const override; 25 virtual const char *description() const override; 26 virtual const char *extensions() const override; 27 virtual bool supports_save() const override; 28 29 private: 30 void fixnum(char *start, char *end) const; 31 32 std::vector<uint8_t> m_comment; 33 std::vector<std::vector<uint8_t> > m_snum; 34 std::vector<std::vector<uint8_t> > m_tnum; 35 std::vector<std::vector<uint8_t> > m_hnum; 36 37 std::vector<uint8_t> m_mode; 38 std::vector<uint8_t> m_track; 39 std::vector<uint8_t> m_head; 40 std::vector<uint8_t> m_sector_count; 41 std::vector<uint8_t> m_ssize; 42 }; 43 44 extern const floppy_format_type FLOPPY_IMD_FORMAT; 45 46 #endif // MAME_FORMATS_IMD_DSK_H 47