msx/msx1.cpp, msx/msx2.cpp: Fixed machine configuration for hb55d and hbf900a. (#10539)

This commit is contained in:
wilbertpol 2022-11-12 13:30:31 +00:00 committed by GitHub
parent 0ec162cb1b
commit 42fb4dc50a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 3 deletions

View File

@ -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<N>));
m_hw_def.has_cartslot(true);
return device;
}
template <int N>
@ -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<N>(config, MSX_SLOT_CARTRIDGE, tags[N-1], prim, expanded, sec, msx_cart, nullptr);
}
};

View File

@ -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);

View File

@ -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)