mirror of
https://github.com/holub/mame
synced 2025-06-07 21:33:45 +03:00
specpls3, cpc664, cpc6128, et al.: Add IPF floppy format used by a few software list entries
This commit is contained in:
parent
d7ed4e5d86
commit
dbc62842c1
@ -106,6 +106,7 @@ Some bugs left :
|
|||||||
#include "imagedev/cassette.h"
|
#include "imagedev/cassette.h"
|
||||||
#include "formats/tzx_cas.h"
|
#include "formats/tzx_cas.h"
|
||||||
#include "formats/msx_dsk.h"
|
#include "formats/msx_dsk.h"
|
||||||
|
#include "formats/ipf_dsk.h"
|
||||||
|
|
||||||
#include "machine/ram.h"
|
#include "machine/ram.h"
|
||||||
#include "softlist.h"
|
#include "softlist.h"
|
||||||
@ -796,6 +797,12 @@ static void amstrad_floppies(device_slot_interface &device)
|
|||||||
device.option_add("35ssdd", FLOPPY_35_DD);
|
device.option_add("35ssdd", FLOPPY_35_DD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void amstrad_state::amstrad_floppy_formats(format_registration &fr)
|
||||||
|
{
|
||||||
|
fr.add_mfm_containers();
|
||||||
|
fr.add(FLOPPY_IPF_FORMAT);
|
||||||
|
}
|
||||||
|
|
||||||
static void aleste_floppies(device_slot_interface &device)
|
static void aleste_floppies(device_slot_interface &device)
|
||||||
{
|
{
|
||||||
device.option_add("35dd", FLOPPY_35_DD);
|
device.option_add("35dd", FLOPPY_35_DD);
|
||||||
@ -986,8 +993,8 @@ void amstrad_state::cpc664(machine_config &config)
|
|||||||
{
|
{
|
||||||
amstrad_base(config);
|
amstrad_base(config);
|
||||||
UPD765A(config, m_fdc, 16_MHz_XTAL / 4, true, true);
|
UPD765A(config, m_fdc, 16_MHz_XTAL / 4, true, true);
|
||||||
FLOPPY_CONNECTOR(config, "upd765:0", amstrad_floppies, "3ssdd", floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
|
FLOPPY_CONNECTOR(config, "upd765:0", amstrad_floppies, "3ssdd", amstrad_state::amstrad_floppy_formats).enable_sound(true);
|
||||||
FLOPPY_CONNECTOR(config, "upd765:1", amstrad_floppies, "35ssdd", floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
|
FLOPPY_CONNECTOR(config, "upd765:1", amstrad_floppies, "35ssdd", amstrad_state::amstrad_floppy_formats).enable_sound(true);
|
||||||
SOFTWARE_LIST(config, "flop_list").set_original("cpc_flop");
|
SOFTWARE_LIST(config, "flop_list").set_original("cpc_flop");
|
||||||
|
|
||||||
cpc_expansion_slot_device &exp(CPC_EXPANSION_SLOT(config, "exp", 16_MHz_XTAL / 4, cpc_exp_cards, nullptr));
|
cpc_expansion_slot_device &exp(CPC_EXPANSION_SLOT(config, "exp", 16_MHz_XTAL / 4, cpc_exp_cards, nullptr));
|
||||||
@ -1005,8 +1012,8 @@ void amstrad_state::cpc6128(machine_config &config)
|
|||||||
{
|
{
|
||||||
amstrad_base(config);
|
amstrad_base(config);
|
||||||
UPD765A(config, m_fdc, 16_MHz_XTAL / 4, true, true);
|
UPD765A(config, m_fdc, 16_MHz_XTAL / 4, true, true);
|
||||||
FLOPPY_CONNECTOR(config, "upd765:0", amstrad_floppies, "3ssdd", floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
|
FLOPPY_CONNECTOR(config, "upd765:0", amstrad_floppies, "3ssdd", amstrad_state::amstrad_floppy_formats).enable_sound(true);
|
||||||
FLOPPY_CONNECTOR(config, "upd765:1", amstrad_floppies, "35ssdd", floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
|
FLOPPY_CONNECTOR(config, "upd765:1", amstrad_floppies, "35ssdd", amstrad_state::amstrad_floppy_formats).enable_sound(true);
|
||||||
SOFTWARE_LIST(config, "flop_list").set_original("cpc_flop");
|
SOFTWARE_LIST(config, "flop_list").set_original("cpc_flop");
|
||||||
|
|
||||||
cpc_expansion_slot_device &exp(CPC_EXPANSION_SLOT(config, "exp", 16_MHz_XTAL / 4, cpc_exp_cards, nullptr));
|
cpc_expansion_slot_device &exp(CPC_EXPANSION_SLOT(config, "exp", 16_MHz_XTAL / 4, cpc_exp_cards, nullptr));
|
||||||
@ -1092,8 +1099,8 @@ void amstrad_state::cpcplus(machine_config &config)
|
|||||||
|
|
||||||
cpcplus_cartslot(config);
|
cpcplus_cartslot(config);
|
||||||
|
|
||||||
FLOPPY_CONNECTOR(config, "upd765:0", amstrad_floppies, "3ssdd", floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
|
FLOPPY_CONNECTOR(config, "upd765:0", amstrad_floppies, "3ssdd", amstrad_state::amstrad_floppy_formats).enable_sound(true);
|
||||||
FLOPPY_CONNECTOR(config, "upd765:1", amstrad_floppies, "35ssdd", floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
|
FLOPPY_CONNECTOR(config, "upd765:1", amstrad_floppies, "35ssdd", amstrad_state::amstrad_floppy_formats).enable_sound(true);
|
||||||
SOFTWARE_LIST(config, "flop_list").set_original("cpc_flop");
|
SOFTWARE_LIST(config, "flop_list").set_original("cpc_flop");
|
||||||
|
|
||||||
cpc_expansion_slot_device &exp(CPC_EXPANSION_SLOT(config, "exp", 40_MHz_XTAL / 10, cpcplus_exp_cards, nullptr));
|
cpc_expansion_slot_device &exp(CPC_EXPANSION_SLOT(config, "exp", 40_MHz_XTAL / 10, cpcplus_exp_cards, nullptr));
|
||||||
|
@ -154,6 +154,7 @@ http://www.z88forever.org.uk/zxplus3e/
|
|||||||
#include "screen.h"
|
#include "screen.h"
|
||||||
#include "softlist_dev.h"
|
#include "softlist_dev.h"
|
||||||
|
|
||||||
|
#include "formats/ipf_dsk.h"
|
||||||
#include "formats/tzx_cas.h"
|
#include "formats/tzx_cas.h"
|
||||||
|
|
||||||
#define VERBOSE 0
|
#define VERBOSE 0
|
||||||
@ -371,6 +372,12 @@ static void specpls3_floppies(device_slot_interface &device)
|
|||||||
device.option_add("3ssdd", FLOPPY_3_SSDD);
|
device.option_add("3ssdd", FLOPPY_3_SSDD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void specpls3_state::floppy_formats(format_registration &fr)
|
||||||
|
{
|
||||||
|
fr.add_mfm_containers();
|
||||||
|
fr.add(FLOPPY_IPF_FORMAT);
|
||||||
|
}
|
||||||
|
|
||||||
bool specpls3_state::is_contended(offs_t offset)
|
bool specpls3_state::is_contended(offs_t offset)
|
||||||
{
|
{
|
||||||
u8 bank = m_bank_ram[3]->entry();
|
u8 bank = m_bank_ram[3]->entry();
|
||||||
@ -418,8 +425,8 @@ void specpls3_state::spectrum_plus3(machine_config &config)
|
|||||||
|
|
||||||
UPD765A(config, m_upd765, 16_MHz_XTAL / 4, true, false); // clocked through SED9420
|
UPD765A(config, m_upd765, 16_MHz_XTAL / 4, true, false); // clocked through SED9420
|
||||||
m_upd765->us_wr_callback().set(FUNC(specpls3_state::plus3_us_w));
|
m_upd765->us_wr_callback().set(FUNC(specpls3_state::plus3_us_w));
|
||||||
FLOPPY_CONNECTOR(config, "upd765:0", specpls3_floppies, "3ssdd", floppy_image_device::default_mfm_floppy_formats); // internal drive
|
FLOPPY_CONNECTOR(config, "upd765:0", specpls3_floppies, "3ssdd", specpls3_state::floppy_formats); // internal drive
|
||||||
FLOPPY_CONNECTOR(config, "upd765:1", specpls3_floppies, "3ssdd", floppy_image_device::default_mfm_floppy_formats); // external drive
|
FLOPPY_CONNECTOR(config, "upd765:1", specpls3_floppies, "3ssdd", specpls3_state::floppy_formats); // external drive
|
||||||
|
|
||||||
SOFTWARE_LIST(config, "flop_list").set_original("specpls3_flop");
|
SOFTWARE_LIST(config, "flop_list").set_original("specpls3_flop");
|
||||||
}
|
}
|
||||||
|
@ -256,6 +256,7 @@ private:
|
|||||||
DECLARE_WRITE_LINE_MEMBER( cpc_romdis );
|
DECLARE_WRITE_LINE_MEMBER( cpc_romdis );
|
||||||
void rom_select(uint8_t data);
|
void rom_select(uint8_t data);
|
||||||
|
|
||||||
|
static void amstrad_floppy_formats(format_registration &fr);
|
||||||
static void aleste_floppy_formats(format_registration &fr);
|
static void aleste_floppy_formats(format_registration &fr);
|
||||||
|
|
||||||
IRQ_CALLBACK_MEMBER(amstrad_cpu_acknowledge_int);
|
IRQ_CALLBACK_MEMBER(amstrad_cpu_acknowledge_int);
|
||||||
|
@ -49,6 +49,8 @@ private:
|
|||||||
void plus3_io(address_map &map);
|
void plus3_io(address_map &map);
|
||||||
void plus3_mem(address_map &map);
|
void plus3_mem(address_map &map);
|
||||||
|
|
||||||
|
static void floppy_formats(format_registration &fr);
|
||||||
|
|
||||||
optional_device<upd765a_device> m_upd765;
|
optional_device<upd765a_device> m_upd765;
|
||||||
optional_device_array<floppy_connector, 2> m_flop;
|
optional_device_array<floppy_connector, 2> m_flop;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user