summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib
diff options
context:
space:
mode:
author Curt Coder <curtcoder@mail.com>2013-06-06 14:00:58 +0000
committer Curt Coder <curtcoder@mail.com>2013-06-06 14:00:58 +0000
commitd8571d9f57f07faf692beb08ec1edf95124555fa (patch)
tree2c76a067cc15356c7bb739f7f99dc667c488a190 /src/lib
parent61669e5688d46f38d9a480508ba975e141aa30f4 (diff)
(MESS) ep64: Modernized the Enterprise 64/128 driver. [Curt Coder]
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/formats/ep64_dsk.c73
-rw-r--r--src/lib/formats/ep64_dsk.h28
-rw-r--r--src/lib/lib.mak1
3 files changed, 102 insertions, 0 deletions
diff --git a/src/lib/formats/ep64_dsk.c b/src/lib/formats/ep64_dsk.c
new file mode 100644
index 00000000000..f24afe02fc9
--- /dev/null
+++ b/src/lib/formats/ep64_dsk.c
@@ -0,0 +1,73 @@
+/***************************************************************************
+
+ Copyright Olivier Galibert
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name 'MAME' nor the names of its contributors may be
+ used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY AARON GILES ''AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL AARON GILES BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+
+****************************************************************************/
+
+/*********************************************************************
+
+ formats/ep64_dsk.c
+
+ Enterprise Sixty Four disk image format
+
+*********************************************************************/
+
+#include "emu.h"
+#include "formats/ep64_dsk.h"
+
+ep64_format::ep64_format() : wd177x_format(formats)
+{
+}
+
+const char *ep64_format::name() const
+{
+ return "ep64";
+}
+
+const char *ep64_format::description() const
+{
+ return "Enteprise Sixty Four disk image";
+}
+
+const char *ep64_format::extensions() const
+{
+ return "img";
+}
+
+// Unverified gap sizes
+const ep64_format::format ep64_format::formats[] = {
+ { /* 720K 3 1/2 inch double density */
+ floppy_image::FF_35, floppy_image::DSDD, floppy_image::MFM,
+ 2000, 9, 80, 2, 512, {}, 1, {}, 100, 22, 84
+ },
+ {}
+};
+
+const floppy_format_type FLOPPY_EP64_FORMAT = &floppy_image_format_creator<ep64_format>;
diff --git a/src/lib/formats/ep64_dsk.h b/src/lib/formats/ep64_dsk.h
new file mode 100644
index 00000000000..aca14ff6af4
--- /dev/null
+++ b/src/lib/formats/ep64_dsk.h
@@ -0,0 +1,28 @@
+/*********************************************************************
+
+ formats/ep64_dsk.h
+
+ Enterprise Sixty Four disk image format
+
+*********************************************************************/
+
+#ifndef EP64_DSK_H_
+#define EP64_DSK_H_
+
+#include "wd177x_dsk.h"
+
+class ep64_format : public wd177x_format {
+public:
+ ep64_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_EP64_FORMAT;
+
+#endif
diff --git a/src/lib/lib.mak b/src/lib/lib.mak
index 6e4031ea96e..d3ba9168eff 100644
--- a/src/lib/lib.mak
+++ b/src/lib/lib.mak
@@ -129,6 +129,7 @@ FORMATSOBJS = \
$(LIBOBJ)/formats/dfi_dsk.o \
$(LIBOBJ)/formats/dim_dsk.o \
$(LIBOBJ)/formats/dsk_dsk.o \
+ $(LIBOBJ)/formats/ep64_dsk.o \
$(LIBOBJ)/formats/esq8_dsk.o \
$(LIBOBJ)/formats/esq16_dsk.o \
$(LIBOBJ)/formats/fdi_dsk.o \