summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/formats/bbc_dsk.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/formats/bbc_dsk.h')
-rw-r--r--src/lib/formats/bbc_dsk.h62
1 files changed, 57 insertions, 5 deletions
diff --git a/src/lib/formats/bbc_dsk.h b/src/lib/formats/bbc_dsk.h
index e2520781a15..d757c8a90ac 100644
--- a/src/lib/formats/bbc_dsk.h
+++ b/src/lib/formats/bbc_dsk.h
@@ -1,10 +1,10 @@
// license:GPL-2.0+
-// copyright-holders:Dirk Best
+// copyright-holders:Dirk Best, Nigel Barnes
/***************************************************************************
BBC Micro
- Disk image format
+ Disk image formats
***************************************************************************/
@@ -13,13 +13,21 @@
#ifndef __BBC_DSK_H__
#define __BBC_DSK_H__
+#include "flopimg.h"
#include "wd177x_dsk.h"
-class bbc_format : public wd177x_format
+/**************************************************************************/
+
+LEGACY_FLOPPY_OPTIONS_EXTERN(bbc);
+
+/**************************************************************************/
+
+class bbc_ssd_525_format : public wd177x_format
{
public:
- bbc_format();
+ bbc_ssd_525_format();
+ virtual int find_size(io_generic *io, UINT32 form_factor);
virtual const char *name() const;
virtual const char *description() const;
virtual const char *extensions() const;
@@ -28,6 +36,50 @@ private:
static const format formats[];
};
-extern const floppy_format_type FLOPPY_BBC_FORMAT;
+class bbc_dsd_525_format : public wd177x_format
+{
+public:
+ bbc_dsd_525_format();
+
+ virtual int find_size(io_generic *io, UINT32 form_factor);
+ virtual const char *name() const;
+ virtual const char *description() const;
+ virtual const char *extensions() const;
+
+private:
+ static const format formats[];
+};
+
+class bbc_adf_525_format : public wd177x_format
+{
+public:
+ bbc_adf_525_format();
+
+ virtual const char *name() const;
+ virtual const char *description() const;
+ virtual const char *extensions() const;
+
+private:
+ static const format formats[];
+};
+
+class bbc_adf_35_format : public wd177x_format
+{
+public:
+ bbc_adf_35_format();
+
+ virtual const char *name() const;
+ virtual const char *description() const;
+ virtual const char *extensions() const;
+
+private:
+ static const format formats[];
+};
+
+
+extern const floppy_format_type FLOPPY_BBC_SSD_525_FORMAT;
+extern const floppy_format_type FLOPPY_BBC_DSD_525_FORMAT;
+extern const floppy_format_type FLOPPY_BBC_ADF_525_FORMAT;
+extern const floppy_format_type FLOPPY_BBC_ADF_35_FORMAT;
#endif // __BBC_DSK_H__