mirror of
https://github.com/holub/mame
synced 2025-06-06 21:03:47 +03:00
Added raw formats for PC-98
This commit is contained in:
parent
075a5d6dba
commit
6f47f6617f
2
.gitattributes
vendored
2
.gitattributes
vendored
@ -2101,6 +2101,8 @@ src/lib/formats/p6001_cas.c svneol=native#text/plain
|
|||||||
src/lib/formats/p6001_cas.h svneol=native#text/plain
|
src/lib/formats/p6001_cas.h svneol=native#text/plain
|
||||||
src/lib/formats/pasti_dsk.c svneol=native#text/plain
|
src/lib/formats/pasti_dsk.c svneol=native#text/plain
|
||||||
src/lib/formats/pasti_dsk.h svneol=native#text/plain
|
src/lib/formats/pasti_dsk.h svneol=native#text/plain
|
||||||
|
src/lib/formats/pc98_dsk.c svneol=native#text/plain
|
||||||
|
src/lib/formats/pc98_dsk.h svneol=native#text/plain
|
||||||
src/lib/formats/pc98fdi_dsk.c svneol=native#text/plain
|
src/lib/formats/pc98fdi_dsk.c svneol=native#text/plain
|
||||||
src/lib/formats/pc98fdi_dsk.h svneol=native#text/plain
|
src/lib/formats/pc98fdi_dsk.h svneol=native#text/plain
|
||||||
src/lib/formats/pc_dsk.c svneol=native#text/plain
|
src/lib/formats/pc_dsk.c svneol=native#text/plain
|
||||||
|
@ -9230,7 +9230,7 @@ How to load this?
|
|||||||
<publisher><unknown></publisher>
|
<publisher><unknown></publisher>
|
||||||
<part name="flop1" interface="floppy_5_25">
|
<part name="flop1" interface="floppy_5_25">
|
||||||
<dataarea name="flop" size="1261568">
|
<dataarea name="flop" size="1261568">
|
||||||
<rom name="ms-dos.fdi" size="1261568" crc="d5e70ca1" sha1="bc5fb43463849b66ded3a568d82d44252759eb80" offset="0" />
|
<rom name="ms-dos.dsk" size="1261568" crc="d5e70ca1" sha1="bc5fb43463849b66ded3a568d82d44252759eb80" offset="0" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
<part name="flop2" interface="floppy_5_25">
|
<part name="flop2" interface="floppy_5_25">
|
||||||
|
87
src/lib/formats/pc98_dsk.c
Normal file
87
src/lib/formats/pc98_dsk.c
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
/*********************************************************************
|
||||||
|
|
||||||
|
formats/pc98_dsk.c
|
||||||
|
|
||||||
|
PC-98 disk images
|
||||||
|
|
||||||
|
*********************************************************************/
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "formats/pc98_dsk.h"
|
||||||
|
|
||||||
|
|
||||||
|
/* ----------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
pc98_format::pc98_format() : upd765_format(formats)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *pc98_format::name() const
|
||||||
|
{
|
||||||
|
return "pc98";
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *pc98_format::description() const
|
||||||
|
{
|
||||||
|
return "PC-98 floppy disk image";
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *pc98_format::extensions() const
|
||||||
|
{
|
||||||
|
return "dsk,ima,img,ufi,360";
|
||||||
|
}
|
||||||
|
|
||||||
|
const pc98_format::format pc98_format::formats[] = {
|
||||||
|
{ /* 160K 5 1/4 inch double density single sided */
|
||||||
|
floppy_image::FF_525, floppy_image::SSDD, floppy_image::MFM,
|
||||||
|
2000, 8, 40, 1, 512, {}, 1, {}, 80, 50, 22, 80
|
||||||
|
},
|
||||||
|
{ /* 320K 5 1/4 inch double density */
|
||||||
|
floppy_image::FF_525, floppy_image::DSDD, floppy_image::MFM,
|
||||||
|
2000, 8, 40, 2, 512, {}, 1, {}, 80, 50, 22, 80
|
||||||
|
},
|
||||||
|
{ /* 180K 5 1/4 inch double density single sided */
|
||||||
|
floppy_image::FF_525, floppy_image::SSDD, floppy_image::MFM,
|
||||||
|
2000, 9, 40, 1, 512, {}, 1, {}, 80, 50, 22, 80
|
||||||
|
},
|
||||||
|
{ /* 360K 5 1/4 inch double density */
|
||||||
|
floppy_image::FF_525, floppy_image::DSDD, floppy_image::MFM,
|
||||||
|
2000, 9, 40, 2, 512, {}, 1, {}, 80, 50, 22, 80
|
||||||
|
},
|
||||||
|
{ /* 400K 5 1/4 inch double density - gaps unverified */
|
||||||
|
floppy_image::FF_525, floppy_image::DSDD, floppy_image::MFM,
|
||||||
|
2000, 10, 40, 2, 512, {}, 1, {}, 80, 50, 22, 80
|
||||||
|
},
|
||||||
|
{ /* 720K 5 1/4 inch quad density - gaps unverified */
|
||||||
|
floppy_image::FF_525, floppy_image::DSQD, floppy_image::MFM,
|
||||||
|
2000, 9, 80, 2, 512, {}, 1, {}, 80, 50, 22, 80
|
||||||
|
},
|
||||||
|
{ /* 1200K 5 1/4 inch high density */
|
||||||
|
floppy_image::FF_525, floppy_image::DSHD, floppy_image::MFM,
|
||||||
|
1200, 15, 40, 2, 512, {}, 1, {}, 80, 50, 22, 84
|
||||||
|
},
|
||||||
|
{ /* 720K 3 1/2 inch double density */
|
||||||
|
floppy_image::FF_35, floppy_image::DSDD, floppy_image::MFM,
|
||||||
|
2000, 9, 80, 2, 512, {}, 1, {}, 80, 50, 22, 80
|
||||||
|
},
|
||||||
|
{ /* 1200K 3 1/2 inch high density (japanese variant) - gaps unverified */
|
||||||
|
floppy_image::FF_35, floppy_image::DSHD, floppy_image::MFM,
|
||||||
|
1200, 15, 40, 2, 512, {}, 1, {}, 80, 50, 22, 84
|
||||||
|
},
|
||||||
|
{ /* 1440K 3 1/2 inch high density */
|
||||||
|
floppy_image::FF_35, floppy_image::DSHD, floppy_image::MFM,
|
||||||
|
1000, 18, 80, 2, 512, {}, 1, {}, 80, 50, 22, 108
|
||||||
|
},
|
||||||
|
{ /* 2880K 3 1/2 inch extended density - gaps unverified */
|
||||||
|
floppy_image::FF_35, floppy_image::DSED, floppy_image::MFM,
|
||||||
|
500, 36, 80, 2, 512, {}, 1, {}, 80, 50, 41, 80
|
||||||
|
},
|
||||||
|
{
|
||||||
|
floppy_image::FF_525, floppy_image::DSHD, floppy_image::MFM,
|
||||||
|
1200, 16, 77, 2, 512, {}, 1, {}, 80, 50, 22, 84
|
||||||
|
},
|
||||||
|
{}
|
||||||
|
};
|
||||||
|
|
||||||
|
const floppy_format_type FLOPPY_PC98_FORMAT = &floppy_image_format_creator<pc98_format>;
|
33
src/lib/formats/pc98_dsk.h
Normal file
33
src/lib/formats/pc98_dsk.h
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/*********************************************************************
|
||||||
|
|
||||||
|
formats/pc98_dsk.h
|
||||||
|
|
||||||
|
PC disk images
|
||||||
|
|
||||||
|
*********************************************************************/
|
||||||
|
|
||||||
|
#ifndef PC98_DSK_H
|
||||||
|
#define PC98_DSK_H
|
||||||
|
|
||||||
|
#include "flopimg.h"
|
||||||
|
#include "upd765_dsk.h"
|
||||||
|
|
||||||
|
/**************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
class pc98_format : public upd765_format
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
pc98_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_PC98_FORMAT;
|
||||||
|
|
||||||
|
#endif /* PC_DSK_H */
|
@ -163,6 +163,7 @@ FORMATSOBJS = \
|
|||||||
$(LIBOBJ)/formats/p6001_cas.o \
|
$(LIBOBJ)/formats/p6001_cas.o \
|
||||||
$(LIBOBJ)/formats/pasti_dsk.o \
|
$(LIBOBJ)/formats/pasti_dsk.o \
|
||||||
$(LIBOBJ)/formats/pc_dsk.o \
|
$(LIBOBJ)/formats/pc_dsk.o \
|
||||||
|
$(LIBOBJ)/formats/pc98_dsk.o \
|
||||||
$(LIBOBJ)/formats/pc98fdi_dsk.o \
|
$(LIBOBJ)/formats/pc98fdi_dsk.o \
|
||||||
$(LIBOBJ)/formats/pmd_cas.o \
|
$(LIBOBJ)/formats/pmd_cas.o \
|
||||||
$(LIBOBJ)/formats/primoptp.o \
|
$(LIBOBJ)/formats/primoptp.o \
|
||||||
|
@ -411,6 +411,7 @@ Keyboard TX commands:
|
|||||||
|
|
||||||
#include "machine/ram.h"
|
#include "machine/ram.h"
|
||||||
|
|
||||||
|
#include "formats/pc98_dsk.h"
|
||||||
#include "formats/pc98fdi_dsk.h"
|
#include "formats/pc98fdi_dsk.h"
|
||||||
|
|
||||||
#include "machine/pc9801_26.h"
|
#include "machine/pc9801_26.h"
|
||||||
@ -3624,6 +3625,7 @@ INTERRUPT_GEN_MEMBER(pc9801_state::pc9801_vrtc_irq)
|
|||||||
|
|
||||||
|
|
||||||
FLOPPY_FORMATS_MEMBER( pc9801_state::floppy_formats )
|
FLOPPY_FORMATS_MEMBER( pc9801_state::floppy_formats )
|
||||||
|
FLOPPY_PC98_FORMAT,
|
||||||
FLOPPY_PC98FDI_FORMAT
|
FLOPPY_PC98FDI_FORMAT
|
||||||
FLOPPY_FORMATS_END
|
FLOPPY_FORMATS_END
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user