mirror of
https://github.com/holub/mame
synced 2025-04-20 23:42:22 +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/pasti_dsk.c 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.h 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>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<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>
|
||||
</part>
|
||||
<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/pasti_dsk.o \
|
||||
$(LIBOBJ)/formats/pc_dsk.o \
|
||||
$(LIBOBJ)/formats/pc98_dsk.o \
|
||||
$(LIBOBJ)/formats/pc98fdi_dsk.o \
|
||||
$(LIBOBJ)/formats/pmd_cas.o \
|
||||
$(LIBOBJ)/formats/primoptp.o \
|
||||
|
@ -411,6 +411,7 @@ Keyboard TX commands:
|
||||
|
||||
#include "machine/ram.h"
|
||||
|
||||
#include "formats/pc98_dsk.h"
|
||||
#include "formats/pc98fdi_dsk.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_PC98_FORMAT,
|
||||
FLOPPY_PC98FDI_FORMAT
|
||||
FLOPPY_FORMATS_END
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user