From 42fb4dc50afcb7a01f832273c3460039e9da3eb4 Mon Sep 17 00:00:00 2001 From: wilbertpol Date: Sat, 12 Nov 2022 13:30:31 +0000 Subject: msx/msx1.cpp, msx/msx2.cpp: Fixed machine configuration for hb55d and hbf900a. (#10539) --- src/mame/msx/msx.h | 2 +- src/mame/msx/msx1.cpp | 2 +- src/mame/msx/msx2.cpp | 22 +++++++++++++++++++++- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/mame/msx/msx.h b/src/mame/msx/msx.h index adec3a584a5..9aec2683a34 100644 --- a/src/mame/msx/msx.h +++ b/src/mame/msx/msx.h @@ -301,7 +301,6 @@ private: device.set_default_option(deft); device.set_fixed(false); device.irq_handler().set(m_mainirq, FUNC(input_merger_device::in_w)); - m_hw_def.has_cartslot(true); return device; } template @@ -311,6 +310,7 @@ private: "cartslot1", "cartslot2", "cartslot3", "cartslot4" }; static_assert(N >= 1 && N <= 4, "Invalid cartridge slot number"); + m_hw_def.has_cartslot(true); return add_cartridge_slot(config, MSX_SLOT_CARTRIDGE, tags[N-1], prim, expanded, sec, msx_cart, nullptr); } }; diff --git a/src/mame/msx/msx1.cpp b/src/mame/msx/msx1.cpp index f831def4f32..47fe0eeb184 100644 --- a/src/mame/msx/msx1.cpp +++ b/src/mame/msx/msx1.cpp @@ -2594,7 +2594,7 @@ void msx1_state::hb55d(machine_config &config) // 2 Cartridge slots? add_internal_slot(config, MSX_SLOT_ROM, "mainrom", 0, 0, 2, "mainrom"); - add_internal_slot(config, MSX_SLOT_ROM, "firmware", 0, 2, 1, "firmware", 0x8000); + add_internal_slot(config, MSX_SLOT_ROM, "firmware", 0, 2, 1, "firmware"); add_cartridge_slot<1>(config, 1); add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 3, 1); // 16KB RAM add_cartridge_slot<2>(config, 3); diff --git a/src/mame/msx/msx2.cpp b/src/mame/msx/msx2.cpp index 6d7de5ce28e..16cfbed7758 100644 --- a/src/mame/msx/msx2.cpp +++ b/src/mame/msx/msx2.cpp @@ -3000,6 +3000,26 @@ ROM_START(hbf900a) ROM_LOAD("f900kfn.rom", 0, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799)) ROM_END +void msx2_state::hbf900a(machine_config &config) +{ + // YM2149 (in S1985) + // FDC: wd2793, 2 3.5" DSDD drives + // 2 Cartridge slots + // S1985 + + add_internal_slot(config, MSX_SLOT_ROM, "mainrom", 0, 0, 2, "mainrom"); + add_cartridge_slot<1>(config, 1); + add_cartridge_slot<2>(config, 2); + add_internal_slot(config, MSX_SLOT_ROM, "subrom", 3, 0, 0, 1, "subrom"); + add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 1, 0, 4).set_total_size(0x40000).set_ramio_bits(0x80); // 256KB Mapper RAM + add_internal_disk(config, MSX_SLOT_DISK1_WD2793_N_2_DRIVES, "disk", 3, 2, 1, 1, "diskrom"); + add_internal_slot(config, MSX_SLOT_ROM, "firmware", 3, 3, 1, 1, "firmware"); + + MSX_S1985(config, "s1985", 0); + + msx2(SND_YM2149, config); +} + /* MSX2 - Sony HB-F9P */ ROM_START(hbf9p) @@ -4641,7 +4661,7 @@ COMP(1986, hbf700f, hbf700p, 0, hbf700f, msx2fr, msx2_state, empty_ COMP(1986, hbf700p, 0, 0, hbf700p, msx2uk, msx2_state, empty_init, "Sony", "HB-F700P (MSX2, Europe)", 0) COMP(1986, hbf700s, hbf700p, 0, hbf700s, msx2sp, msx2_state, empty_init, "Sony", "HB-F700S (MSX2, Spain)", 0) COMP(1986, hbf900, hbf900a, 0, hbf900, msx2jp, msx2_state, empty_init, "Sony", "HB-F900 (MSX2, Japan)", 0) -COMP(1986, hbf900a, 0, 0, hbf900, msx2jp, msx2_state, empty_init, "Sony", "HB-F900 (alt) (MSX2, Japan)", 0) +COMP(1986, hbf900a, 0, 0, hbf900a, msx2jp, msx2_state, empty_init, "Sony", "HB-F900 (alt) (MSX2, Japan)", 0) COMP(1987, hbg900ap, hbg900p, 0, hbg900ap, msx2uk, msx2_state, empty_init, "Sony", "HB-G900AP (MSX2, Europe)", MACHINE_NOT_WORKING) // rs232 not communicating COMP(1986, hbg900p, 0, 0, hbg900p, msx2uk, msx2_state, empty_init, "Sony", "HB-G900P (MSX2, Europe)", MACHINE_NOT_WORKING) // rs232 not communicating COMP(1987, tpc310, 0, 0, tpc310, msxsp, msx2_state, empty_init, "Talent", "TPC-310 (MSX2, Argentina)", 0) -- cgit v1.2.3