mirror of
https://github.com/holub/mame
synced 2025-10-06 17:08:28 +03:00
(mess) support raw compis images (nw)
This commit is contained in:
parent
796e4fcf03
commit
f1ab5c69a6
@ -91,3 +91,97 @@ LEGACY_FLOPPY_OPTIONS_START( compis )
|
|||||||
TRACKS(40/[80])
|
TRACKS(40/[80])
|
||||||
SECTORS(8/[9]/15))
|
SECTORS(8/[9]/15))
|
||||||
LEGACY_FLOPPY_OPTIONS_END
|
LEGACY_FLOPPY_OPTIONS_END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
|
||||||
|
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/cpis_dsk.c
|
||||||
|
|
||||||
|
cpis format
|
||||||
|
|
||||||
|
*********************************************************************/
|
||||||
|
|
||||||
|
#include "emu.h"
|
||||||
|
#include "formats/cpis_dsk.h"
|
||||||
|
|
||||||
|
cpis_format::cpis_format() : upd765_format(formats)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *cpis_format::name() const
|
||||||
|
{
|
||||||
|
return "cpis";
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *cpis_format::description() const
|
||||||
|
{
|
||||||
|
return "COMPIS disk image";
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *cpis_format::extensions() const
|
||||||
|
{
|
||||||
|
return "dsk,img";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Unverified gap sizes
|
||||||
|
const cpis_format::format cpis_format::formats[] = {
|
||||||
|
{ /* 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
|
||||||
|
},
|
||||||
|
{ /* 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
|
||||||
|
},
|
||||||
|
{ /* 640K 5 1/4 inch quad density - gaps unverified */
|
||||||
|
floppy_image::FF_525, floppy_image::DSQD, floppy_image::MFM,
|
||||||
|
2000, 8, 80, 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 quad density */
|
||||||
|
floppy_image::FF_525, floppy_image::DSQD, floppy_image::MFM,
|
||||||
|
1200, 15, 80, 2, 512, {}, 1, {}, 80, 50, 22, 84
|
||||||
|
},
|
||||||
|
{}
|
||||||
|
};
|
||||||
|
|
||||||
|
const floppy_format_type FLOPPY_CPIS_FORMAT = &floppy_image_format_creator<cpis_format>;
|
||||||
|
|
||||||
|
@ -16,4 +16,21 @@
|
|||||||
|
|
||||||
LEGACY_FLOPPY_OPTIONS_EXTERN(compis);
|
LEGACY_FLOPPY_OPTIONS_EXTERN(compis);
|
||||||
|
|
||||||
|
|
||||||
|
#include "upd765_dsk.h"
|
||||||
|
|
||||||
|
class cpis_format : public upd765_format {
|
||||||
|
public:
|
||||||
|
cpis_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_CPIS_FORMAT;
|
||||||
|
|
||||||
#endif /* CPIS_DSK_H */
|
#endif /* CPIS_DSK_H */
|
||||||
|
@ -335,6 +335,17 @@ static const mm58274c_interface compis_mm58274c_interface =
|
|||||||
1 /* first day of week */
|
1 /* first day of week */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const floppy_format_type compis_floppy_formats[] = {
|
||||||
|
FLOPPY_D88_FORMAT,
|
||||||
|
FLOPPY_DFI_FORMAT,
|
||||||
|
FLOPPY_IMD_FORMAT,
|
||||||
|
FLOPPY_IPF_FORMAT,
|
||||||
|
FLOPPY_MFI_FORMAT,
|
||||||
|
FLOPPY_MFM_FORMAT,
|
||||||
|
FLOPPY_TD0_FORMAT,
|
||||||
|
FLOPPY_CPIS_FORMAT,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
static SLOT_INTERFACE_START( compis_floppies )
|
static SLOT_INTERFACE_START( compis_floppies )
|
||||||
SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
|
SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
|
||||||
SLOT_INTERFACE_END
|
SLOT_INTERFACE_END
|
||||||
@ -381,8 +392,8 @@ static MACHINE_CONFIG_START( compis, compis_state )
|
|||||||
MCFG_I8251_ADD("uart", compis_usart_interface)
|
MCFG_I8251_ADD("uart", compis_usart_interface)
|
||||||
MCFG_MM58274C_ADD("mm58274c", compis_mm58274c_interface)
|
MCFG_MM58274C_ADD("mm58274c", compis_mm58274c_interface)
|
||||||
MCFG_I8272A_ADD("i8272a", true)
|
MCFG_I8272A_ADD("i8272a", true)
|
||||||
MCFG_FLOPPY_DRIVE_ADD("i8272a:0", compis_floppies, "525qd", floppy_image_device::default_floppy_formats)
|
MCFG_FLOPPY_DRIVE_ADD("i8272a:0", compis_floppies, "525qd", compis_floppy_formats)
|
||||||
MCFG_FLOPPY_DRIVE_ADD("i8272a:1", compis_floppies, "525qd", floppy_image_device::default_floppy_formats)
|
MCFG_FLOPPY_DRIVE_ADD("i8272a:1", compis_floppies, "525qd", compis_floppy_formats)
|
||||||
MCFG_COMPIS_KEYBOARD_ADD(NULL)
|
MCFG_COMPIS_KEYBOARD_ADD(NULL)
|
||||||
|
|
||||||
/* software lists */
|
/* software lists */
|
||||||
@ -422,8 +433,8 @@ static MACHINE_CONFIG_START( compis2, compis_state )
|
|||||||
MCFG_I8251_ADD("uart", compis_usart_interface)
|
MCFG_I8251_ADD("uart", compis_usart_interface)
|
||||||
MCFG_MM58274C_ADD("mm58274c", compis_mm58274c_interface)
|
MCFG_MM58274C_ADD("mm58274c", compis_mm58274c_interface)
|
||||||
MCFG_I8272A_ADD("i8272a", true)
|
MCFG_I8272A_ADD("i8272a", true)
|
||||||
MCFG_FLOPPY_DRIVE_ADD("i8272a:0", compis_floppies, "525qd", floppy_image_device::default_floppy_formats)
|
MCFG_FLOPPY_DRIVE_ADD("i8272a:0", compis_floppies, "525qd", compis_floppy_formats)
|
||||||
MCFG_FLOPPY_DRIVE_ADD("i8272a:1", compis_floppies, "525qd", floppy_image_device::default_floppy_formats)
|
MCFG_FLOPPY_DRIVE_ADD("i8272a:1", compis_floppies, "525qd", compis_floppy_formats)
|
||||||
MCFG_COMPIS_KEYBOARD_ADD(NULL)
|
MCFG_COMPIS_KEYBOARD_ADD(NULL)
|
||||||
|
|
||||||
/* software lists */
|
/* software lists */
|
||||||
|
Loading…
Reference in New Issue
Block a user