summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/formats/d64_dsk.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/formats/d64_dsk.h')
-rw-r--r--src/lib/formats/d64_dsk.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/formats/d64_dsk.h b/src/lib/formats/d64_dsk.h
index 573bbab4cbc..558d4ebf1c2 100644
--- a/src/lib/formats/d64_dsk.h
+++ b/src/lib/formats/d64_dsk.h
@@ -36,7 +36,8 @@ public:
virtual int identify(io_generic *io, UINT32 form_factor);
virtual bool load(io_generic *io, UINT32 form_factor, floppy_image *image);
- virtual bool supports_save() const;
+ virtual bool save(io_generic *io, floppy_image *image);
+ virtual bool supports_save() const { return true; }
protected:
enum
@@ -63,9 +64,13 @@ protected:
virtual int get_sectors_per_track(const format &f, int track);
virtual int get_disk_id_offset(const format &f);
void get_disk_id(const format &f, io_generic *io, UINT8 &id1, UINT8 &id2);
+ virtual int get_image_offset(const format &f, int head, int track);
+ int compute_track_size(const format &f, int track);
+ virtual int get_gap2(const format &f, int head, int track) { return f.gap_2; }
virtual floppy_image_format_t::desc_e* get_sector_desc(const format &f, int &current_size, int sector_count, UINT8 id1, UINT8 id2, int gap_2);
void build_sector_description(const format &f, UINT8 *sectdata, UINT32 sect_offs, UINT32 error_offs, desc_s *sectors, int sector_count) const;
virtual void fix_end_gap(floppy_image_format_t::desc_e* desc, int remaining_size);
+ void extract_sectors(floppy_image *image, const format &f, desc_s *sdesc, int track, int head, int sector_count);
static const format file_formats[];